....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 198.54.126.4  /  Your IP : 216.73.216.178
Web Server : Apache
System : Linux host55.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : aeaw ( 7508)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python34/lib64/python3.4/multiprocessing/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python34/lib64/python3.4/multiprocessing/__pycache__/connection.cpython-34.pyo
�
e fz�@sXddddgZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZdd	l
m
Z
mZdd
lmZy2ddlZddlmZmZmZmZWn-ek
r%ejdkr�ndZYnXd
ZdZej�ZdZdgZeed�rrdZedg7Znejdkr�dZedg7Znedd�Zdd�Zdd�Z dd�Z!dd�Z"Gdd�d�Z#erGdd�de#�Z$nGd d!�d!e#�Z%Gd"d�de&�Z'ddd#d�Z(ejdkrgd$d%d�Z)nd$d&d�Z)Gd'd(�d(e&�Z*d)d*�Z+ejdkr�Gd+d,�d,e&�Z,d-d.�Z-nd/Z.d0Z/d1Z0d2Z1d3d4�Z2d5d6�Z3Gd7d8�d8e&�Z4d9d:�Z5d;d<�Z6Gd=d>�d>e'�Z7d?d@�Z8ejdkr�dAdB�Z9ej:ej;hZ<ddCd�Z=n?ddl>Z>ee>dD�r�e>j?Z@n	e>jAZ@ddEd�Z=ejdkr,dFdG�ZBdHdI�ZCejDe%eB�dJdK�ZEdLdM�ZFejDe$eE�n(dNdG�ZBdOdI�ZCejDe%eB�dS)P�Client�Listener�Pipe�wait�N�)�	reduction)�util)�AuthenticationError�BufferTooShort)�ForkingPickler)�
WAIT_OBJECT_0�WAIT_ABANDONED_0�WAIT_TIMEOUT�INFINITE�win32i g4@�AF_INET�AF_UNIX�AF_PIPEcCstj�|S)N)�time)�timeout�r�?/opt/alt/python34/lib64/python3.4/multiprocessing/connection.py�
_init_timeout;srcCstj�|kS)N)r)�trrr�_check_timeout>srcCs�|dkrd
S|dkr8tjdddtj��S|dkrptjdd	tj�tt�fdd
�Std��dS)z?
    Return an arbitrary free address for the given family
    r�	localhostrr�prefixz	listener-�dirrz\\.\pipe\pyc-%d-%d-�zunrecognized familyN)rr)	�tempfileZmktemprZget_temp_dir�os�getpid�next�
_mmap_counter�
ValueError)�familyrrr�arbitrary_addressEs r&cCsrtjdkr.|dkr.td|��ntjdkrn|dkrntt|�sntd|��qnndS)zD
    Checks if the family is valid for the current environment.
    rrzFamily %s is not recognized.rN)�sys�platformr$�hasattr�socket)r%rrr�_validate_familySs
r+cCset|�tkrdSt|�tkr;|jd�r;dSt|�tkrQdStd|��dS)z]
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    rz\\rrzaddress type of %r unrecognizedN)�type�tuple�str�
startswithr$)�addressrrr�address_type_s!r1c@s!eZdZdZdddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Ze
dd��Ze
dd��Z
dd�Zdd�Zdddd�Zdd�Zddd�Zdd d!�Zd"d#�Zd$d%d&�Zd'd(�Zd)d*�ZdS)+�_ConnectionBaseNTcCsc|j�}|dkr'td��n|rD|rDtd��n||_||_||_dS)Nrzinvalid handlez6at least one of `readable` and `writable` must be True)�	__index__r$�_handle�	_readable�	_writable)�self�handle�readable�writablerrr�__init__us		z_ConnectionBase.__init__cCs |jdk	r|j�ndS)N)r4�_close)r7rrr�__del__�sz_ConnectionBase.__del__cCs"|jdkrtd��ndS)Nzhandle is closed)r4�OSError)r7rrr�
_check_closed�sz_ConnectionBase._check_closedcCs|jstd��ndS)Nzconnection is write-only)r5r>)r7rrr�_check_readable�s	z_ConnectionBase._check_readablecCs|jstd��ndS)Nzconnection is read-only)r6r>)r7rrr�_check_writable�s	z_ConnectionBase._check_writablecCs/|jrd|_n
|j�td��dS)NFzbad message length)r6r5�closer>)r7rrr�_bad_message_length�s	
z#_ConnectionBase._bad_message_lengthcCs
|jdkS)z True if the connection is closedN)r4)r7rrr�closed�sz_ConnectionBase.closedcCs|jS)z"True if the connection is readable)r5)r7rrrr9�sz_ConnectionBase.readablecCs|jS)z"True if the connection is writable)r6)r7rrrr:�sz_ConnectionBase.writablecCs|j�|jS)z+File descriptor or handle of the connection)r?r4)r7rrr�fileno�s
z_ConnectionBase.filenocCs1|jdk	r-z|j�Wdd|_XndS)zClose the connectionN)r4r<)r7rrrrB�sz_ConnectionBase.closercCs�|j�|j�t|�}|jdkrDtt|��}nt|�}|dkrktd��n||kr�td��n|dkr�||}n:|dkr�td��n|||kr�td��n|j||||��dS)z,Send the bytes data from a bytes-like objectrrzoffset is negativezbuffer length < offsetNzsize is negativezbuffer length < offset + size)r?rA�
memoryview�itemsize�bytes�lenr$�_send_bytes)r7�buf�offset�size�m�nrrr�
send_bytes�s"


z_ConnectionBase.send_bytescCs.|j�|j�|jtj|��dS)zSend a (picklable) objectN)r?rArJr�dumps)r7�objrrr�send�s

z_ConnectionBase.sendcCsm|j�|j�|dk	r;|dkr;td��n|j|�}|dkrc|j�n|j�S)z7
        Receive bytes data as a bytes object.
        Nrznegative maxlength)r?r@r$�_recv_bytesrC�getvalue)r7Z	maxlengthrKrrr�
recv_bytes�s


z_ConnectionBase.recv_bytescCs�|j�|j�t|���}|j}|t|�}|dkrWtd��n||krrtd��n|j�}|j�}|||kr�t|j	���n|j
d�|j||||||��|SWdQXdS)zq
        Receive bytes data into a writeable bytes-like object.
        Return the number of bytes read.
        rznegative offsetzoffset too largeN)r?r@rFrGrIr$rT�tellr
rU�seek�readinto)r7rKrLrNrGZbytesize�resultrMrrr�recv_bytes_into�s"

	
z_ConnectionBase.recv_bytes_intocCs3|j�|j�|j�}tj|j��S)zReceive a (picklable) object)r?r@rTr�loads�	getbuffer)r7rKrrr�recv�s

z_ConnectionBase.recvgcCs!|j�|j�|j|�S)z/Whether there is any input available to be read)r?r@�_poll)r7rrrr�poll�s

z_ConnectionBase.pollcCs|S)Nr)r7rrr�	__enter__sz_ConnectionBase.__enter__cCs|j�dS)N)rB)r7�exc_type�	exc_value�exc_tbrrr�__exit__sz_ConnectionBase.__exit__)�__name__�
__module__�__qualname__r4r;r=r?r@rArC�propertyrDr9r:rErBrPrSrVr[r^r`rarerrrrr2rs(

r2c@saeZdZdZdZejdd�Zdd�Zddd	�Z	d
d�Z
dd
�ZdS)�PipeConnectionz�
        Connection class based on a Windows named pipe.
        Overlapped I/O is used, so the handles must have been created
        with FILE_FLAG_OVERLAPPED.
        FcCs||j�dS)N)r4)r7Z_CloseHandlerrrr<szPipeConnection._closecCs�tj|j|dd�\}}zMy1|tjkrTtj|jgdt�}nWn|j��YnXWd|jd�\}}XdS)N�
overlappedTF)	�_winapiZ	WriteFiler4�ERROR_IO_PENDING�WaitForMultipleObjects�eventr�cancel�GetOverlappedResult)r7rK�ov�err�waitresZnwrittenrrrrJs!
zPipeConnection._send_bytesNc	Csl|jrd|_tj�S|dkr.dnt|d�}y�tj|j|dd�\}}zMy1|tjkr�tj|j	gdt
�}nWn|j��YnXWd|jd�\}}|dkr�tj�}|j
|j��|S|tjkr|j||�SXWnCtk
r[}z#|jtjkrFt�n�WYdd}~XnXtd��dS)NF�rkTrz.shouldn't get here; expected KeyboardInterrupt)�_got_empty_message�io�BytesIO�minrl�ReadFiler4rmrnrorrprq�writer]ZERROR_MORE_DATA�_get_more_datar>�winerror�ERROR_BROKEN_PIPE�EOFError�RuntimeError)	r7�maxsizeZbsizerrrsrtZnread�f�errrrT&s6		
!
	zPipeConnection._recv_bytescCs?|js%tj|j�ddkr)dStt|g|��S)NrT)rvrl�
PeekNamedPiper4�boolr)r7rrrrr_Fs	zPipeConnection._pollcCs�|j�}tj�}|j|�tj|j�d}|dk	rjt|�||krj|j�ntj	|j|dd�\}}|j
d�\}}|j|j��|S)NrrkT)r]rwrxr{rlr�r4rIrCrzrq)r7rrr�rKr��leftrsZrbytesrrrr|Ls
"
!zPipeConnection._get_more_data)rfrgrh�__doc__rvrl�CloseHandler<rJrTr_r|rrrrrjs rjc@s�eZdZdZer?ejdd�ZejZ	ej
Zn$ej
dd�ZejZ	ejZe	dd�Zedd�Zd	d
�Zddd
�Zdd�ZdS)�
Connectionzo
    Connection class based on an arbitrary file descriptor (Unix only), or
    a socket handle (Windows).
    cCs||j�dS)N)r4)r7r<rrrr<cszConnection._closecCs||j�dS)N)r4)r7r<rrrr<hscCsot|�}x\y||j|�}Wntk
r<wYnX||8}|dkrWPn||d�}qWdS)Nr)rIr4�InterruptedError)r7rKr{�	remainingrOrrr�_sendms

zConnection._sendcCs�tj�}|j}|}x�|dkr�y|||�}Wntk
rTwYnXt|�}|dkr�||kr�t�q�td��n|j|�||8}qW|S)Nrzgot end of file during message)rwrxr4r�rIrr>r{)r7rM�readrKr8r��chunkrOrrr�_recvys 	
	
zConnection._recvcCs�t|�}tjd|�}|dkr9||g}n%|dkrU||g}n	|g}x|D]}|j|�qeWdS)Nz!ii@r)rI�structZpackr�)r7rKrO�headerZchunksr�rrrrJ�s	
zConnection._send_bytesNcCsS|jd�}tjd|j��\}|dk	rF||krFdS|j|�S)N�z!i)r�r�ZunpackrU)r7r�rKrMrrrrT�s
zConnection._recv_bytescCst|g|�}t|�S)N)rr�)r7r�rrrrr_�szConnection._poll)rfrgrhr�rl�_multiprocessingZclosesocketr<rSZ_writer^Z_readr rBr{r�r�r�rJrTr_rrrrr�\s			r�c@s�eZdZdZdddddd�Zdd�Zdd	�Zed
d��Zedd��Z	d
d�Z
dd�ZdS)rz�
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    NrcCs�|p|rt|�pt}|p-t|�}t|�|dkr[t||�|_nt|||�|_|dk	r�t|t�r�t	d��n||_
dS)Nrzauthkey should be a byte string)r1�default_familyr&r+�PipeListener�	_listener�SocketListener�
isinstancerH�	TypeError�_authkey)r7r0r%�backlog�authkeyrrrr;�s
zListener.__init__cCs]|jdkrtd��n|jj�}|jrYt||j�t||j�n|S)zz
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        Nzlistener is closed)r�r>�acceptr��deliver_challenge�answer_challenge)r7�crrrr��s	zListener.acceptcCs/|j}|dk	r+d|_|j�ndS)zA
        Close the bound socket or named pipe of `self`.
        N)r�rB)r7ZlistenerrrrrB�s		zListener.closecCs
|jjS)N)r��_address)r7rrr�<lambda>�szListener.<lambda>cCs
|jjS)N)r��_last_accepted)r7rrrr��scCs|S)Nr)r7rrrra�szListener.__enter__cCs|j�dS)N)rB)r7rbrcrdrrrre�szListener.__exit__)rfrgrhr�r;r�rBrir0Z
last_acceptedrarerrrrr�s	cCs�|pt|�}t|�|dkr7t|�}nt|�}|dk	rnt|t�rntd��n|dk	r�t||�t||�n|S)z=
    Returns a connection to the address of a `Listener`
    rNzauthkey should be a byte string)	r1r+�
PipeClient�SocketClientr�rHr�r�r�)r0r%r�r�rrrr�s

TcCs�|rYtj�\}}|jd�|jd�t|j��}t|j��}n6tj�\}}t|dd�}t|dd�}||fS)zL
        Returns pair of connection objects at either end of a pipe
        Tr:Fr9)r*Z
socketpair�setblockingr��detachr �pipe)�duplex�s1�s2�c1�c2Zfd1Zfd2rrrr�s

c
	CsAtd�}|r;tj}tjtjB}tt}}ntj}tj}dt}}tj||tjBtj	Btj
tjBtjBd||tj
tj�}tj||dtjtjtjtj�}tj|tjdd�tj|dd�}|jd�\}	}
t|d|�}t|d|�}||fS)	zL
        Returns pair of connection objects at either end of a pipe
        rrrNrkTr:r9)r&rl�PIPE_ACCESS_DUPLEX�GENERIC_READ�
GENERIC_WRITE�BUFSIZEZPIPE_ACCESS_INBOUND�CreateNamedPipe�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE�	PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL�
CreateFile�
OPEN_EXISTING�SetNamedPipeHandleState�ConnectNamedPiperqrj)
r�r0Zopenmode�accessZobsizeZibsizeZh1Zh2rk�_rsr�r�rrrrs2			


c@s=eZdZdZddd�Zdd�Zdd�Zd	S)
r�zO
    Representation of a socket which is bound to an address and listening
    rcCs	tjtt|��|_yttjdkrL|jjtjtjd�n|jjd�|jj	|�|jj
|�|jj�|_Wn"t
k
r�|jj��YnX||_d|_|dkr�tj|tjd|fdd�|_n	d|_dS)N�posixrTr�args�exitpriorityr)r*�getattr�_socketr �nameZ
setsockoptZ
SOL_SOCKETZSO_REUSEADDRr�ZbindZlistenZgetsocknamer�r>rBZ_familyr�r�Finalize�unlink�_unlink)r7r0r%r�rrrr;As$

		$zSocketListener.__init__cCsVx6y|jj�\}|_Wntk
r3YqXPqW|jd�t|j��S)NT)r�r�r�r�r�r�r�)r7�srrrr�Ys

zSocketListener.acceptcCsAz|jj�Wd|j}|dk	r<d|_|�nXdS)N)r�rBr�)r7r�rrrrBds		zSocketListener.closeN)rfrgrhr�r;r�rBrrrrr�=sr�c	Cs[t|�}tjtt|���1}|jd�|j|�t|j��SWdQXdS)zO
    Return a connection object connected to the socket given by `address`
    TN)r1r*r�r�Zconnectr�r�)r0r%r�rrrr�ns


r�c@sReZdZdZddd�Zddd�Zdd	�Zed
d��ZdS)r�z0
        Representation of a named pipe
        NcCsq||_|jdd�g|_d|_tjd|j�tj|tjd|j|jfdd�|_	dS)N�firstTz listener created with address=%rr�r�r)
r��_new_handle�
_handle_queuer�r�	sub_debugr�r��_finalize_pipe_listenerrB)r7r0r�rrrr;�s		zPipeListener.__init__Fc	CsetjtjB}|r&|tjO}ntj|j|tjtjBtjBtj	t
t
tjtj�S)N)
rlr�r�r�r�r�r�r�r�ZPIPE_UNLIMITED_INSTANCESr�r�r�)r7r��flagsrrrr��s	
zPipeListener._new_handlecCs�|jj|j��|jjd�}ytj|dd�}Wn=tk
r�}z|jtjkrn�nWYdd}~XnbXzHytj	|j
gdt�}Wn"|j�tj
|��YnXWd|jd�\}}Xt|�S)NrrkTF)r��appendr��poprlr�r>r}Z
ERROR_NO_DATArnrorrpr�rqrj)r7r8rrr��resr�rsrrrr��s"

zPipeListener.acceptcCs2tjd|�x|D]}tj|�qWdS)Nz closing listener with address=%r)rr�rlr�)Zqueuer0r8rrrr��s
z$PipeListener._finalize_pipe_listener)	rfrgrhr�r;r�r��staticmethodr�rrrrr�~s
r�cCs�t�}x�yKtj|d�tj|tjtjBdtjtjtjtj�}WnRt	k
r�}z2|j
tjtjfks�t
|�r��nWYdd}~XqXPqW�tj|tjdd�t|�S)zU
        Return a connection object connected to the pipe given by `address`
        i�rN)rrlZ
WaitNamedPiper�r�r�r�r�r�r>r}ZERROR_SEM_TIMEOUTZERROR_PIPE_BUSYrr�r�rj)r0r�hr�rrrr��s"	r��s#CHALLENGE#s	#WELCOME#s	#FAILURE#cCs�ddl}tjt�}|jt|�|j||d�j�}|jd�}||krr|jt	�n|jt
�td��dS)Nr�md5�zdigest received was wrong)�hmacr �urandom�MESSAGE_LENGTHrP�	CHALLENGE�new�digestrV�WELCOME�FAILUREr	)�
connectionr�r��messager��responserrrr��s
r�cCs�ddl}|jd�}|tt�d�}|j||d�j�}|j|�|jd�}|tkr�td��ndS)Nrr�r�zdigest sent was rejected)	r�rVrIr�r�r�rPr�r	)r�r�r�r�r�r�rrrr��s
r�c@s4eZdZdd�Zdd�Zdd�ZdS)�ConnectionWrappercCsO||_||_||_x-dD]%}t||�}t|||�q"WdS)NrErBr`rVrP)zfilenozclosezpollz
recv_bytesz
send_bytes)�_conn�_dumps�_loadsr��setattr)r7�connrQr\�attrrRrrrr;�s			
zConnectionWrapper.__init__cCs#|j|�}|jj|�dS)N)r�r�rP)r7rRr�rrrrSszConnectionWrapper.sendcCs|jj�}|j|�S)N)r�rVr�)r7r�rrrr^szConnectionWrapper.recvN)rfrgrhr;rSr^rrrrr��sr�cCs%tj|fdddd�jd�S)Nrzutf-8)�	xmlrpclibrQ�encode)rRrrr�
_xml_dumpssr�cCs%tj|jd��\\}}|S)Nzutf-8)r�r\�decode)r�rR�methodrrr�
_xml_loads
s!r�c@seZdZdd�ZdS)�XmlListenercCs.ddljatj|�}t|tt�S)Nr)�
xmlrpc.client�clientr�rr�r�r�r�)r7rRrrrr�szXmlListener.acceptN)rfrgrhr�rrrrr�sr�cOs(ddljatt||�tt�S)Nr)r�r�r�r�rr�r�)r��kwdsrrr�	XmlClientsr�cCs�t|�}g}x�|r�tj|d|�}|tkr@Pnrt|koatt|�knrs|t8}n?t|ko�tt|�knr�|t8}ntd��|j||�||dd�}d}qW|S)NFzShould not get hererr)	�listrlrnrrrIr
r�r�)Zhandlesr�L�readyr�rrr�_exhaustive_wait s	&
&

r�c
.s|dkrt}n)|dkr*d}nt|dd�}t|�}i�g}t��t�}z�x�|D]z}yt|d�}Wn"tk
r�|�|j�<YqrXy"tj|�dd�\}}WnGt	k
r}z'd|j
}}|tkr	�nWYdd}~XnX|tjkrH|j
|�|�|j<qr|r�tj�dd�dkr�y|jd	�\}	}Wn.t	k
r�}z|j
}WYdd}~XnX|r�t|d
�r�d|_q�n�j|�d}qrWt�j�|�}Wdx|D]}|j�qWx�|D]�}y|jd�\}	}Wn@t	k
r�}z |j
}|tkrz�nWYdd}~XnX|tjkr+�|j}�j|�|dkr�t|d
�r�d|_q�q�q+q+WX�j�fdd�|D���fd
d�|D�S)z�
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        Nri�g�?rET��Frvc3s|]}�|VqdS)Nr)�.0r�)�waithandle_to_objrr�	<genexpr>�szwait.<locals>.<genexpr>cs"g|]}|�kr|�qSrr)r��o)�
ready_objectsrr�
<listcomp>�s	zwait.<locals>.<listcomp>)r�r�)r�intr��setr��AttributeErrorr3rlrzr>r}�
_ready_errorsrmr�ror'Zgetwindowsversionrqr)rv�addr��keysrpZERROR_OPERATION_ABORTED�update)
�object_listrZov_listZ
ready_handlesr�rErrrsr�r�r)rr�rr6sh				

"
"



	

 �PollSelectorcCs�t���}x!|D]}|j|tj�qW|dk	rOtj�|}nxY|j|�}|rxdd�|D�S|dk	rR|tj�}|dkr�|SqRqRWWdQXdS)z�
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        NcSsg|]\}}|j�qSr)Zfileobj)r��keyZeventsrrrr�s	zwait.<locals>.<listcomp>r)�
_WaitSelector�register�	selectorsZ
EVENT_READrZselect)r	rZselectorrRZdeadliner�rrrr�s
cCsl|j�}tj|tjtj��?}ddlm}|j|�}t||j	|j
ffSWdQXdS)Nr)�resource_sharer)rEr*ZfromfdrZSOCK_STREAMrrZ	DupSocket�rebuild_connectionr9r:)r�r8r�r�dsrrr�reduce_connection�s
rcCs"|j�}t|j�||�S)N)r�r�)rr9r:Zsockrrrr�srcCs_|jrtjnd|jr'tjndB}tj|j�|�}t||j|jffS)Nr)	r9rlZFILE_GENERIC_READr:ZFILE_GENERIC_WRITErZ	DupHandlerE�rebuild_pipe_connection)r�r��dhrrr�reduce_pipe_connection�srcCs|j�}t|||�S)N)r�rj)rr9r:r8rrrr�srcCs.tj|j��}t||j|jffS)N)rZDupFdrErr9r:)r��dfrrrr�scCs|j�}t|||�S)N)r�r�)rr9r:�fdrrrr�s)G�__all__rwr r'r*r�rr�	itertoolsr�rrrr	r
rrlrr
rr�ImportErrorr(r�ZCONNECTION_TIMEOUT�countr#r�Zfamiliesr)rrr&r+r1r2rjr��objectrrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r~ZERROR_NETNAME_DELETEDrrrr
rZSelectSelectorrrr
rrrrrr�<module>
s�&
	�PS8,18
	P	

Youez - 2016 - github.com/yon3zu
LinuXploit