asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T ELF>M@t@8 @xRxR YY!Y!h hYhY!hY!888$$XRXRXR StdXRXRXR Ptd;;;<<QtdRtdYY!Y!GNUe8G|4!! @ BE(A|qX5 ~ lz7GR,lw`CI- G6 iW(.xJ N :m@~ #=H1Iv}3@oe O'Zj&liXS2, F"n)6 xk!. B$ k! xk!__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizelibpthread.so.0libc.so.6_Py_TrueStruct_Py_FalseStructPyExc_OSErrorPyErr_SetString_PyArg_ParseTuple_SizeTPyLong_FromSize_tPyExc_OverflowError__stack_chk_failPyErr_FormatPyErr_SetFromErrnoPyLong_AsUnsignedLongPyErr_Occurredif_indextonamePyUnicode_DecodeFSDefault_PyTime_FromSeconds_Py_NoneStruct_PyTime_FromSecondsObjectPyExc_ValueError_PyTime_AsSecondsDoublePyFloat_FromDoublePyLong_FromUnsignedLongPyExc_TypeErrorinet_ntopPyUnicode_FromString__sprintf_chkPyBuffer_Releaseinet_ptonPyBytes_FromStringAndSizeinet_ntoainet_atonPyEval_SaveThreadclosePyEval_RestoreThread__errno_locationPyLong_AsLongPyLong_FromLong_Py_dupgetprotobynamePySys_AuditgetservbyportgetservbynamegethostnamePyErr_FetchPyErr_ResourceWarningPyExc_WarningPyErr_ExceptionMatchesPyErr_WriteUnraisablePyErr_RestoregetsockoptPyLong_FromSsize_tsendmsgsscanfrecvmsg_PyBytes_Resize_PyLong_AsIntshutdownsetsockoptPyErr_Clearsendtosendrecvfromrecvlistenacceptaccept4PyUnicode_FromFormatPyObject_CallFinalizerFromDeallocPyMem_Free_Py_DeallocPyCapsule_GetPointerPyUnicode_FSConverterif_nametoindexPyList_Newif_nameindexPyList_Append_Py_BuildValue_SizeTif_freenameindexPyObject_GetBuffersethostnameioctlstrnlengai_strerrorPyErr_SetObject__memset_chkgetpeernamegetsocknamePyOS_snprintfgetaddrinfogetnameinfofreeaddrinfo_PyArg_ParseTupleAndKeywords_SizeTPyUnicode_AsEncodedStringPyBytes_AsStringPyLong_TypePyUnicode_AsUTF8_PyArg_UnpackKeywords_Py_set_inheritablestrcmpstrchr_PyTime_AsMillisecondspoll_PyDeadline_Get_PyDeadline_InitPyErr_CheckSignalsPyExc_TimeoutErrorPyTuple_PackPyMem_MallocPyErr_NoMemoryPyExc_RuntimeWarningPyErr_WarnExPySequence_Fast_PyArg_Parse_SizeTPyExc_RuntimeErrorconnectPyBytes_SizePyByteArray_TypePyType_IsSubtypePyByteArray_AsStringPyByteArray_Size_PyUnicode_ReadyPyUnicode_EncodeFSDefaultstrncpyPyTuple_Sizebind__h_errno_locationhstrerrorgethostbyname_rgethostbyaddr_rPyType_GenericNewsocketpairPyInit__socketPyType_TypePyModule_Create2PyModule_AddObjectPyErr_NewExceptionPyModule_AddObjectRefPyCapsule_NewPyModule_AddIntConstantPyModule_AddStringConstantPyObject_GenericGetAttrPyType_GenericAllocPyObject_Free_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4GLIBC_2.10GLIBC_2.4U ui ) eti 5 A ii L ui ) Y!Y!P Y! Y!@Y!HY!PY!XY! `!(`!8`!&@`!H`!X`!%``!h`!Xx`!`%`!v`!`!$`!d`!`!@$`!`!YY`!`#`! `!LY`!#a!a!ma!`" a!(a!Gn8a!@!@a!$Ha!cXa!@ `a!ha!bxa!a!a!,a!a!ta!a!@a!ea!{a!a!Pa!+a! b!Eb!db!@ b!(b!Q8b!@@b!Hb!eXb!`b!(hb!lxb!b!4b! Nb!@b!@b!klb! b!Kb!&Rb!`b! b!_b!@c!Vc!L_c! c!(c!8c! @c!Hc!Xc!`c!&hc!xc!@c!c!Uc!c!c!_c!d!qd!0d!`d!hd!&Rxd!d!(d![|d!:d!d!9d!:e!e!Te! 9 e!(e!#\8e!8@e!He!fXe!8`e!ghe!K[xe!7e!+e!WZe!6e!e!Ye!`6e!e!Xe!5e!e!oYe!4f!f!Rf!3 f!(f!T8f!@3@f!Hf!RXf!2`f!xhf!!Txf!2f!f!JRf! 2f!f!Wf!@1f!f!^Wf!0f!f!xVf! 0g!g!]Ug!/ g!(g!q8g!/@g!Hg!oXg!.`g!hg!Qxg!-g!g!Qg!,g!g!eg!@,g!?g!Neg!+g!g!wPg!@+h!h!Oh!@) h!(h!\O8h!'h!h!`;h!d!h!*h!h!h! i! i!(i!0i!@i!Hi!Pi!hi!@Y!pi!3i!&i!4i!i!i!i!i!+j!kc8j!Kcj!@j! `!j!c!j!`d!k!{uk!Qhk!\X_! `_!h_! p_!#x_!$_!+_!-_!H_!J_!K_!N_!P_!R_!Y_!d_!m_!n_!{_!_!pj!Ok!^ k!;p[!x[![![![![![![![! [! [! [! [![![![![![!\!\!\!\! \!(\!0\!8\!@\!H\!P\!X\!!`\!"h\!%p\!&x\!'\!(\!)\!*\!,\!.\!/\!0\!1\!2\!3\!4\!5\!6\!7\!8\!9]!:]!<]!=]!> ]!?(]!@0]!A8]!B@]!CH]!DP]!EX]!F`]!Gh]!Ip]!Lx]!M]!Q]!S]!T]!U]!V]!W]!X]!Z]![]!\]!]]!_]!`]!a]!b]!c^!e^!f^!g^!h ^!i(^!j0^!k8^!l@^!nH^!oP^!pX^!q`^!rh^!sp^!tx^!u^!v^!w^!x^!y^!z^!|^!}^!~^!^!^!^!^!^!^!^!_!_!_!_! _!(_!0_!8_!@_!H_!P_!HH!!HtH5Z!%[!hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!DHtQLO MtHIM)IwHv&HL)H9rHH)H9wH:1H H(t H!HHq!HQ8 tatwt]tltHtC(t9*t$&Xn xt*u9^tu" G?2Ha!H5H81HG!H5xH:1ZHHH5udH%(HD$1H1t1`uH=!H5|H?1DD$uH, uHH ^!H5H91HL$(dH3 %(thH0[UHH5eSHhdH%(HD$X1HH1tGH|$t"H !H5m|H9MH%1H$Hߋ(\HHL$XdH3 %(tHh[]SHH5؈H dH%(HD$1HT$;1t=H\$ H|$HtHH7!H5{H81HL$dH3 %(tAH [ATUSot;GH,ILy8ht HC []A\H!H[]A\USWHRHtHHy,Ht1&)8htH]!H8Y[]H{!HZ[]HcGGHcUHSQHtdŃu Ht1HcHHuHZ[]UHH5S1HdH%(HD$1HqtEH<$HHHHuHu!H5چH8 Hc{HHL$dH3 %(HtpH[]UHH5SH(dH%(HD$1HL$HT$ HD$t"T$ vH!H5yH:G1oHL$1H5VH=R)x|$ Ht$HfHHHuH!H5"H8 H;HHL$dH3 %(Ht|H([]UHH5SH(dH%(HD$1HL$HT$HD$u1uHL$HT$1H51H=RxH|$Ht$HHHHuH!H5H8{fOHHT$dH3%(HtH([]AT1H=[USHdH%(H$11xGpHHILyH!H80HƄ$H$dH3 %(tH[]A\USHH(dH%(HD$1HHt$H|${tY1HHH߾tHY!H8YtH-kCHtHA}HLC# u-8&Љ = tCZ[]A\A]OW1HcwDGH=2quSHxHCH[H@[R*RRUSHHH5_~H8dH%(HD$(1Hl$HL$D$HT$ID$et$Cup(T$t$LD$ {u2HL$ D$ HD$ BH|$ HL$D$ Hc|$(uH= H5?pH?g1xVvH H5BpH9B1S17HD$ Ht{T$HH It$yH|$ HuSS t$H|$ `HD$ H\$(dH3%(tH8[]HHtHHuHSHH5|HH dH%(HD$1H1tDH$Hx KH<$HuHuH H5|H9@1HHT$dH3%(tH[AV1AUATUSHHE1L-Z|kHHuFH l H9H u}HHHgItoHIuLAIcHH0At:t6HHHQ L1_IHuH uHH1HHHIuL[H]A\A]A^ATUSHH5{HHpdH%(HD$h1Hl$HMu0HH1H= H5J{$u 11HT$1H54{H=1{xLd$H|$1LŅuMH|$Ht$ @LFtH|$HutH H8H HuHL$hdH3 %(tHp[]A\AUATUSHHdH%(HD$81HuH HH6Afw6f wft|ftTffff&wffAf(tmf*tN0HIHd[HH{Ht{u %SsH=y1SsH=y1HIHCKLH=dyDC1h tt H{%IHSH{ IHtqSLH=x13I $!LHD$|HD$ sH=x1H{Lv H5xI81stLl$t$ 1LQLtH5~xSK W1DK DCH=\xAQLK wAXAYfKu'KS1DKDC H=%xD7u&KS1DKH=wA u&KSE1DKH=w1H=r H5wH?1CtHl$D$ 1HMHtHzwAH5| uKDC H={w1}sH=pw1mcLc@HkLHILHMRSH=3wRDKH1#Y^HSH=w1HL$8dH3 %(tHH[]A\A]USHHt$ ;HT$ !TH1|$ 1ۉD$ 1PHAtH6 H:^H[]SHHdH%(HD$1Hy1#H4$H{Hs(H?\tH HHT$dH3%(tH[USHHQYHHt'HOH{HC(u Ht1 H HZ[]ÃuHR H8zSH=uH1HHtH= HH uH1[AUHwATUSHHdH%(H$1Ld$ Lg1tUT$ Hl$1H{LHIvLAEyS KT$ H{H$dH3 %(tHĨ[]A\A]AUHwATUSHHdH%(H$1Ld$ L1tUT$ Hl$1H){LHIxLAEyS KT$ H{H$dH3 %(tHĨ[]A\A]AVHH5sAUATUSHdH%(H$1HL$HT$(HD$(HD$D$D$ D$t(H|$(HGuH H5eH:f11HL$HT$ LL$LD$ H5etӁ|$ vH= H5e1H?HT$(1H5rH= sxHl$`L$ 1HpHH\$01H|$4 D$0D$8}H|$ HHHL$ILAEtHD$D1Ht$H^(HtH- H5d1H}FVt u?LVD\$ Dt$AEZEr$LD$(IxtL H5"rI9{HL$L$IILA HyqPD$PZLYA@Et D'LIHHtHHH=q1mHH|$HtH$dH3 %(HtHĐ[]A\A]A^AWHHAVAUATUSHdH%(H$1HD$HD$(HD$ HD$D$D$ D$D$P1HT$RHqHL$ QH U H\$,SLL$8LD$@pH tfH|$ L-L L9t\HwHs1H5pHL` Hu6(s _1I"H= H5 cH?21y1E1H|$LGL; u>OIHt L|$`L1HMpL^HMAs3IHu3AL r#E1L9tL, H5oI:PD\$H5o1H=oASDL$ DD$$HL$(HT$0WZY1H|$@fnT$ fn\$Ll$0fnL$fnD$fbfbfl)D$0LHL$(LLIL|tHD$( 1HHLd$(L-nMAT$It$L$ IHMD$ AL$ IH=oAT$At$MMD1MIIuLMtaLHItHIuGLv=HIuLdMd$(VHt H uHHH|$(HtI*Ht H uH HD[]A\A]A^A_AWAVAUIATUS1HdH%(H$1H$A}&HHD$8HD$0HD$(HD$ HD$D$tH H5FE1H9=WIHL H L1E1HT$RHRLD$(APAQUL\$HASLD$X蛸H0Ld$`LH|$ Hu H5F9覺D$ xH|$HtA菺Aǃu.蒷HHH5lRL 1E1I9N-yAH$AtH$LN IMq(AtIL8HHu [E11HLL$H$H|$(HuL$Iw'2HL$0IT$E1It$LD$8u~L$MuL H5EE1I8tSDD$ H$HIISECHt_I'v MIuL= H5wEE1I?H$I{,IMs HA AK(HHICMAtpMLHڃHIv%L$M)L9wI)M9w IIMuL- H5EE1I}至iIIMYEyLd$@Dd$E1E1HL$@LE1Dd$HHHPAu(ZYxH|$PFI1E1HıH$tHH|$p1襱H|$0H9l$8~HkPHH躱胱H$dH3%(LtxH[]A\A]A^A_AVAAUATIUSHHdH%(HD$1J{LDIILAEu1蝰IƋD$u*蚶H{(uT$tzAS oH{(~suHS(t)AQAE11RHjHAZA[2VAH1RHBLL$c_AXQT$HL$dH3 %(tOH[]A\A]A^ATUHSHuHAhHHHtHPHHE褲IH5 H9t蛵AąuHCu!HjHHEI{ y C @u+H߮u tHsH@tHs0HuLCa1H5KHHuH= H5MH?耰HP HEL@HUH HP1H5BH9 TH}H1AIIIM9t4H}HtHEHu`L H5AE1I:D[]A\AWIAVAUATIULSHHDdH%(H$1AI:A {AtpA AQA% AAA A(A*WA& L^AtHtIHu HHl$0L1LT$HH5+L<$uI ` LE1S HL$@Ht$0Ht0>u4Hlv%L=3 H5KLT$I?E1茮LT$-QA$Hkw̍AD A$EmHfDkHHLT$+LD$I L腭 LNAuIILH5$@FHL$(HT$0L1H5A@TADžx fFL~Au IWH5I@nHL$(HT$0L1H5 K ADž0 f*D\$0AD[DT$(DSA$  W)HVu$HRH5@L 1E1I: HL$0HT$(L1H5J腯ADž EMD\$0ADt$(fD D[DsA$| MJW)T$0Au'IIHH5?LJ 1E1I;u? Ll$0LD$(L1LHH5?ADžH|$8HLAEL$(fAfKA$HNWD$)L$0D$ uHILH5T?&Lt$0AQLH\LH5l?HD$$P1LL$0LD$8AZA[ADžu0H[ H;#'H;HH5H1GH|$8 HLAET$(v HH5H|$ v$HH5?L% 1E1I<$ԯAmDD$A{f+DCfSA$pDA EtfAAteQHrDHfH1HT$0H5HLH|$0HsA$AfHJL1HT$0H5G蓬ADžtMH|$0HsE1FA$ AfLHR1H5DFADžu Lh HH5XG1I8脮NA$A;HFfH5&GLHsIz E1觿A$AHH5g=Lt$01HvLD$MD$uHNLH5K=EHL$ HT$(VLAVH5g=1LL$,LD$(F_AXu6L5 I>PADžTI>HH5p=1E1n8Ht$(H$A}3Ƅ$H1yAU LE1DHt$0Ht.H|$@~&Hƿ H5=E1H;4L L$ v,L%Ŀ HH5E1I<$迬LE1Ԧ~l$DD$fD$@k DkfDCfKHtLL$@H{ LDK C A$LAsHND$uHILH5{<HL$(HT$0PLH5<HD$ P1LL$,LD$0蚩ZYADžDD$DL$0H{1fDCDKAuT$(Dl$ t$SDks RAuDT$(Dt$ DSDs8AuD\$(D|$ D[D{H7 H5zAE1H;蝦'A$AW~LNAuIILH5;}H 1HL$0LH5;艨Ht$0L^Mu DŽ$CIH H$FA}3Ƅ$H1[D$fD{1HL$0LL$ LH LD$(H5r@ Ht$0LVMu DŽ$rIw;H H$解A}3Ƅ$H1輥y7AU L5 H5:I> H|$0HIE1Ht$(Hl$ fD$sDkk H|$0A$AHC9HH5:LrE1VLDf&HvuHNLH5:HL$(HT$0L1LKLCH5:蟦ADžHt$0HDHHHHH vL% H5AE1I<$LHHt$(H1HIIII?vHB H5AE1H;谣=H{@AA$XHH5lAH- 1H}4E1H$dH3%(DtHĸ[]A\A]A^A_AWAVAUATIHH5MM9tI~IXYLHtHMuH謝H|$p1H|$0H9l$8~HkPHHޜ E11E1/H$(dH3%(LtĝH8[]A\A]A^A_ATLI<IUSHHdH%(H$1Hl$HL$ Hu1<1LH5M<HH=<莠x݋T$ 1HHxHc轞H$dH3%(tHĠ[]A\ATL;IUSHHdH%(H$1Hl$HL$ Hu1A1LH5;HH=Y;x݋T$ HH'xH HH$dH3%(tgHĠ[]A\UHSHHH(dH%(H$1$HtHt#E1HL$HT$@HH5:蝞uH?1HHT$@HLD$H5:yu$H= H1H5x3H?踠1H$Ht$HL$HLq:HuH|$@蟚1HL$1HH5W:H=5:蛞xHD$@HT$PE1E1 $t$Hl$(HHD$HT$HL$ HL$t$$Ps(ZYyH|$@H|$0NH$dH3%(t֚H([]ATL9IUSHHdH%(H$1Hl$HL$ Hu1S1LH5g9HH=P9訝xo{T$ HI轝LyS H3 HH$dH3%(tHĠ[]A\AWAVAUATUSHHH4$T$dH%(HD$81HuV<(SH=5H1IH|H=m HeI $cLE1 HD$9Gt" LC E1aI:b1薗IH1胗HHfLmMtDI}Ht;IHFHLIAuL艘EILuLl$IH|$t |$ tHL$8dH3 %(Lt薗HH[]A\A]A^A_USL$HH $L9uHH21dH%(H$@1HHL$H5)6HΙ1HH5U9H=t3Ny1kH\$@H|$HxH|$Ht$ H$LL$ LD$?H訖H耕T$@H|$HHH|$聕H$@dH3 %(HtvH@[]AVAUATUSL$HH $L9uHH11dH%(H$@1HHL$H55H識1HH548H= 5-xCH\$@H|$1ɺH}x&T$@ft f t&H H51H91iALc ALc蔙HL$ LIHD$ A?PHt$VDL$腙XLZH|$Hމ0HH|$H$@dH3 %(HtH@[]A\A]A^AVAH= AUA1ATAU1SaHt`HDpHrDh% DcCHS s HC(.H HK(Hx1H{ոuH uH 1H[]A\A]A^ATHH53USH dH%(HD$1HL$HT$ D$LD$D$D$ 輖uE1c=D Hl$T$Iċt$|$ tUH = uFx  6P8u,T$t$H |$ ݕ HѕLWyHL H8tI|$1H 誒xg|$1H 蔒xQL$T$t$ |$'HHt4L$T$t$ |$ HHt"HH1脘I"|$1|$ۓHE11HMuHOHt H uH=HL$dH3 %(Lt蕒H []A\I,$uL H+t>E1 H+uHE1H,H+uHΑjHE1辑ZfSHH?H/ޭH{H/H{H/̭H[ڐf.H= H H9tH^ Ht H=a H5Z H)HHH?HHtH HtfD= u+UH= Ht H= ɖd ]wPH5+ZHfDAVH H= AUATUSH EHUL% H50HHI$H˔I4$1H=/iHR HHHH5/H蓔I4$1H=/1H" HHHH5/HL-Y TL5 H5 BHIKLHH5i/H& !LH5bBHH `Hا H5//HHݓ#HH8I$IHH5*H L(HHPH\HHHIHHH5)Hq1H5.HI赍H5.H衍H5.H荍H5.HyH5~.HeH5q.HQH5j.H=H5`.H)H5V.H&H5L.H H5?.H H52.Hٌ H5'.HŌ H5.H豌 H5.H蝌H5.H艌H5.HuH5-Ha1H5-HPH5-H<H5-H(H5-HH5-H H5-HH5-H؋H5-Hċ*H5-H谋(H5-H蜋1H5-H苋H5-HwH5-HcH5-HOH5-H;H5-H'H5-HH5o$HH5-HH5-H׊H5-HÊH5-H诊H5-H蛊H5|-H臊H5p-HsH5e-H_H5\-HKH5O-H71H5K-H&H5E-H1H5@-HH54-HH5+-HىH5&-HʼnH5-H豉H-H5*-HH&-H51-HH5*-HqH5"-H]H5-HIH5-H5H5,H!H5,H H5,H1H5,HH5,HԈH5,HH5,H謈H5,H蘈H5,H脈H5,HpH5,H\H5,HHH5,H4H5,H H5,H H5,HH5,HH5,HЇH5,H輇H5,H訇H5,H蔇H5,H耇1H5,HoH5,H[H5,HGH5,H3H5,HH5,H H5,HHH5,HH5,HІH5,H輆H5,H訆1H5,H藆H5},H胆H5v,HoH5n,H[H5e,HGH5\,H3H5^,HH5`,H 1H5^,HH5Y,HH5T,H҅H5L,H辅H5F,H誅H5>,H薅H55,H肅H5*,HnH5%,HZH5,HFH5,H2H5 ,HH5,H H5+H1H5+H H5+H΄H5+H躄H5+H覄 H5+H蒄 H5+H~H5+HjH5+HVH5+HBH5+H.H5+HH5+HH5+HH5+HރH5+HʃH5y+H趃H5q+H袃"H5i+H莃H5`+HzH5W+Hf H5S+HR$H5K+H>'H5?+H*&H55+HH5-+HH5#+HH5+HڂH5+HƂH5 +H貂H5*H螂@H5*H节H5*Hv H5*HbH5*HNH5*H:@H5*H&@H5*H H5*HH5*HH5*Hց H5*HH5*H讁1H5*H蝁H5*H艁H5*HudH5u*HaeH5n*HMH5^*H9H5R*H%@H5K*H H5D*HH5=*HH56*HՀH5/*HH5(*H譀H5*H虀H5*H腀H5*HqH5*H]H5*HIH5*H5H5 *H!H5*H H5*HH5*HH5)HH5)HH5)HH5)H H5)H H5)Hm H5)HY H5)HEH5)H1H5)HH5)H H5)H~H5)H~ H5)H~@H5)H~H5)H~H5)H~H5)H}~H5)Hi~H5*HU~H5*HA~H5)H-~1H5)H~1H5)H ~H5)H}H5)H})H5)H}H5)H}H5)H}H5)H} H5)H}H5)Hk}H5)HW} H5)HC} H5)H/}H5)H}H5)H}+H5)H|,H5)H|.H5)H|/H5)H|2H5y)H|3H5q)H|:H5h)H{|;H5c)Hg|<H5\)HS|gH5X)H?|H5P)H+|H5I)H|H5C)H|H5;)H{H57)H{1H5:)H{H51)H{H5.)H{H5*)H{H5*)Hz{H5,)Hf{H5/)HR{H5')H>{H5)H*{H5)H{H5)H{H5(HzH5(Hz H5(HzH5(Hz H5(Hz!H5(Hz"H5(Hvz#H5(Hbz$H5(HNzH5(H:zH5(H&zH5(HzH5(HyH5(HyH5(HyH5(HyH5(HyH5(HyH5(HyH5(HryH5(H^yH5(HJy>H5(H6y;H5(H"y4H5(Hy6H5(Hx H5(Hx=H5(Hx2H5(Hx:H5(Hx3H5(Hx5H5(Hx1H5(Hnx8H5(HZxBH5(HFx9H5}(H2x7H5t(Hx1H5u(H x<H5s(HwCH5p(HwH5h(HwH5`(HwH5W(HwH5L(HwH5E(HwH5?(HmwH57(HYwH5.(HEw H5&(H1w H5#(Hw H5 (H w H5(HvH5(Hv H5(HvH5(HvH5'HvHH5'HvHH5'HyvHH5'HfvHH5'HPvHH5'H:vHH5'H$vHH5'HvHH5'HuHH5'HuHH5'HuHH5'HuHH5'HuH5'HuH5{'HxuH5t'HduH5o'HPuH5j'Hgetsockopt string buffer not allowedgetsockopt buflen out of rangegetnameinfo() argument 1 must be a tuplesi|II;getnameinfo(): illegal sockaddr argumentgetnameinfo(): flowinfo must be 0-1048575.sockaddr resolved to multiple addressesgetaddrinfo() argument 1 must be string or Nonewildcard resolved to multiple addressnegative buffersize in recvfrom_intonbytes is greater than the length of the buffernegative buffersize in recvfromnegative buffersize in recv_intobuffer too small for requested bytesinvalid ancillary data buffer lengthreceived malformed or improperly-truncated ancillary datanegative buffer size in recvmsg()recvmsg_into() argument 1 must be an iterablerecvmsg_into() argument 1 is too longw*;recvmsg_into() argument 1 must be an iterable of single-segment read-write bufferssendmsg() argument 1 must be an iterablesendmsg() argument 1 is too longy*;sendmsg() argument 1 must be an iterable of bytes-like objectsalgset is only supported for AF_ALGInvalid or missing argument 'op'unexpected NULL result from CMSG_FIRSTHDRunexpected NULL result from CMSG_NXTHDR(iv)unexpected NULL result from CMSG_NXTHDR(assoc)str, bytes or bytearray expected, not %shost name must not contain null character%s(): AF_NETLINK address must be tuple, not %.500sII;AF_NETLINK address must be a pair (pid, groups)getsockaddrarg: AF_QIPCRTR address must be tuple, not %.500sgetsockaddrarg: AF_VSOCK address must be tuple, not %.500s%s(): AF_INET address must be tuple, not %.500sO&i;AF_INET address must be a pair (host, port)%s(): AF_INET6 address must be tuple, not %.500sO&i|II;AF_INET6 address must be a tuple (host, port[, flowinfo[, scopeid]])%s(): flowinfo must be 0-1048575.%s(): unknown Bluetooth protocol%s(): AF_PACKET address must be tuple, not %.500ssi|iiy*;AF_PACKET address must be a tuple of two to five elements%s(): address argument out of rangeHardware address must be 8 bytes or less%s(): AF_TIPC address must be tuple, not %.500sIIII|I;AF_TIPC address must be a tuple (addr_type, v1, v2, v3[, scope])%s(): AF_CAN address must be tuple, not %.500sO&;AF_CAN address must be a tuple (interface, )AF_CAN interface name too long%s(): unsupported CAN protocol%s(): AF_ALG address must be tuple, not %.500sss|HH;AF_ALG address must be a tuple (type, name[, feat[, mask]])sendmsg() argument 2 must be an iterable(iiy*):[sendmsg() ancillary data items]unexpected NULL result from %s()ancillary data does not fit in calculated spaceitem size out of range for CMSG_LEN()sendto() takes 2 or 3 arguments (%zd given)IOCTL_VM_SOCKETS_GET_LOCAL_CIDgetsockaddrlen: bad familyn:CMSG_SPACEn:CMSG_LENindex is too largeTimeout value out of rangeint larger than 32 bitsexpected int, %s found%02X:%02X:%02X:%02X:%02X:%02Xi:htonsi:ntohsiy*:inet_ntopunknown address family %dis:inet_ptonunknown address familyy*:inet_ntoas:inet_atons:getprotobynameprotocol not foundi|s:getservbyportissocket.getservbyportport/proto not founds|s:getservbynamesocket.getservbynameservice/proto not foundsocket.gethostnameunclosed %R%X:%X:%X:%X:%X:%X%cbad bluetooth addressiiK:setsockoptiii:setsockoptiiO!I:setsockoptiiy*:setsockopt|i:listenii|i:getsockopt_socket.CAPIO&:if_nametoindexno interface with this nameIO&S:sethostnameO&:sethostname(O)socket.sethostnameOiOiIIUnknown Bluetooth protocolshbhy#IIIIIInvalid address typeO&kk(O&)s#s#HHiy#(is)Oi:getnameinfosocket.getnameinfoIPv4 sockaddr must be 2 tupleNsOO|iiii:getaddrinfoidna%ldInt or String expectedOOiiisocket.getaddrinfoiiisOsocket.__new__negative file descriptorunsupported address family255.255.255.255address family mismatchedet:gethostbynamesocket.gethostbynametimed outy*|i:sendw*|ni:recvfrom_intonNn|i:recvfromw*|ni:recv_inton|i:recvnegative buffersize in recvy*|i:sendallNOiNcontrol message too longiiNn|ni:recvmsgO|ni:recvmsg_into|O$O!y*O!i:sendmsg_afalgassoclen must be positiveencoding of hostname failedy*AF_UNIX path too longII:getsockaddrarg%s(): port must be 0-65535.si%s(): wrong format%s(): proto must be 0-65535.AF_ALG type too long.AF_ALG name too long.%s(): bad familyCMSG_FIRSTHDRCMSG_NXTHDRO|OiO:sendmsgsocket.sendmsgancillary data item too largetoo much ancillary dataconnect_exsocket.connecty*O:sendtoy*iO:sendtosocket.sendtosocket.bindNOOet:gethostbyname_exet:gethostbyaddrsocket.gethostbyaddr|iii:socketpairsocket.herrorsocket.gaierrorSocketTypehas_ipv6AF_UNSPECAF_INETAF_UNIXAF_AX25AF_IPXAF_APPLETALKAF_NETROMAF_BRIDGEAF_ATMPVCAF_ALGAF_X25AF_INET6AF_ROSEAF_DECnetAF_NETBEUIAF_SECURITYAF_KEYAF_NETLINKNETLINK_ROUTENETLINK_USERSOCKNETLINK_FIREWALLNETLINK_NFLOGNETLINK_XFRMNETLINK_IP6_FWNETLINK_DNRTMSGNETLINK_CRYPTOAF_QIPCRTRAF_VSOCKSO_VM_SOCKETS_BUFFER_SIZESO_VM_SOCKETS_BUFFER_MIN_SIZESO_VM_SOCKETS_BUFFER_MAX_SIZEVMADDR_CID_ANYVMADDR_PORT_ANYVMADDR_CID_HOSTVM_SOCKETS_INVALID_VERSIONAF_ROUTEAF_ASHAF_ECONETAF_ATMSVCAF_SNAAF_IRDAAF_PPPOXAF_WANPIPEAF_LLCAF_BLUETOOTHBTPROTO_L2CAPBTPROTO_HCISOL_HCIHCI_FILTERHCI_TIME_STAMPHCI_DATA_DIRBTPROTO_RFCOMM00:00:00:00:00:00BDADDR_ANY00:00:00:FF:FF:FFBDADDR_LOCALBTPROTO_SCOAF_CANPF_CANAF_RDSPF_RDSAF_PACKETPF_PACKETPACKET_HOSTPACKET_BROADCASTPACKET_MULTICASTPACKET_OTHERHOSTPACKET_OUTGOINGPACKET_LOOPBACKPACKET_FASTROUTEAF_TIPCTIPC_ADDR_NAMESEQTIPC_ADDR_NAMETIPC_ADDR_IDTIPC_ZONE_SCOPETIPC_CLUSTER_SCOPETIPC_NODE_SCOPESOL_TIPCTIPC_IMPORTANCETIPC_SRC_DROPPABLETIPC_DEST_DROPPABLETIPC_CONN_TIMEOUTTIPC_LOW_IMPORTANCETIPC_MEDIUM_IMPORTANCETIPC_HIGH_IMPORTANCETIPC_CRITICAL_IMPORTANCETIPC_SUB_PORTSTIPC_SUB_SERVICETIPC_SUB_CANCELTIPC_WAIT_FOREVERTIPC_PUBLISHEDTIPC_WITHDRAWNTIPC_SUBSCR_TIMEOUTTIPC_CFG_SRVTIPC_TOP_SRVALG_SET_KEYALG_SET_IVALG_SET_OPALG_SET_AEAD_ASSOCLENALG_SET_AEAD_AUTHSIZEALG_SET_PUBKEYALG_OP_DECRYPTALG_OP_ENCRYPTALG_OP_SIGNALG_OP_VERIFYSOCK_STREAMSOCK_DGRAMSOCK_RAWSOCK_SEQPACKETSOCK_RDMSOCK_CLOEXECSOCK_NONBLOCKSO_DEBUGSO_ACCEPTCONNSO_REUSEADDRSO_INCOMING_CPUSO_KEEPALIVESO_DONTROUTESO_BROADCASTSO_LINGERSO_OOBINLINESO_REUSEPORTSO_SNDBUFSO_RCVBUFSO_SNDLOWATSO_RCVLOWATSO_SNDTIMEOSO_RCVTIMEOSO_ERRORSO_TYPESO_PASSCREDSO_PEERCREDSO_PASSSECSO_PEERSECSO_BINDTODEVICESO_PRIORITYSO_MARKSO_DOMAINSO_PROTOCOLSOMAXCONNSCM_RIGHTSSCM_CREDENTIALSMSG_OOBMSG_PEEKMSG_DONTROUTEMSG_DONTWAITMSG_EORMSG_TRUNCMSG_CTRUNCMSG_WAITALLMSG_NOSIGNALMSG_CMSG_CLOEXECMSG_ERRQUEUEMSG_CONFIRMMSG_MOREMSG_FASTOPENSOL_SOCKETSOL_IPSOL_TCPSOL_UDPSOL_CAN_BASESOL_CAN_RAWCAN_EFF_FLAGCAN_RTR_FLAGCAN_ERR_FLAGCAN_SFF_MASKCAN_EFF_MASKCAN_ERR_MASKCAN_ISOTPCAN_RAW_FILTERCAN_RAW_LOOPBACKCAN_RAW_RECV_OWN_MSGSCAN_RAW_FD_FRAMESCAN_RAW_JOIN_FILTERSCAN_BCMCAN_BCM_TX_SETUPCAN_BCM_TX_DELETECAN_BCM_TX_READCAN_BCM_TX_SENDCAN_BCM_RX_SETUPCAN_BCM_RX_DELETECAN_BCM_RX_READCAN_BCM_TX_STATUSCAN_BCM_TX_EXPIREDCAN_BCM_RX_STATUSCAN_BCM_RX_TIMEOUTCAN_BCM_RX_CHANGEDCAN_BCM_SETTIMERCAN_BCM_STARTTIMERCAN_BCM_TX_COUNTEVTCAN_BCM_TX_ANNOUNCECAN_BCM_TX_CP_CAN_IDCAN_BCM_RX_FILTER_IDCAN_BCM_RX_CHECK_DLCCAN_BCM_RX_NO_AUTOTIMERCAN_BCM_RX_ANNOUNCE_RESUMECAN_BCM_TX_RESET_MULTI_IDXCAN_BCM_RX_RTR_FRAMECAN_BCM_CAN_FD_FRAMESOL_RDSSOL_ALGIPPROTO_IPIPPROTO_HOPOPTSIPPROTO_ICMPIPPROTO_IGMPIPPROTO_IPV6IPPROTO_IPIPIPPROTO_TCPIPPROTO_EGPIPPROTO_PUPIPPROTO_UDPIPPROTO_UDPLITEUDPLITE_SEND_CSCOVUDPLITE_RECV_CSCOVIPPROTO_IDPIPPROTO_TPIPPROTO_ROUTINGIPPROTO_FRAGMENTIPPROTO_RSVPIPPROTO_GREIPPROTO_ESPIPPROTO_AHIPPROTO_ICMPV6IPPROTO_NONEIPPROTO_DSTOPTSIPPROTO_PIMIPPROTO_SCTPIPPROTO_MPTCPIPPROTO_RAWIPPORT_RESERVEDIPPORT_USERRESERVEDINADDR_ANYINADDR_BROADCASTINADDR_LOOPBACKINADDR_UNSPEC_GROUPINADDR_ALLHOSTS_GROUPINADDR_MAX_LOCAL_GROUPINADDR_NONEIP_OPTIONSIP_HDRINCLIP_TOSIP_TTLIP_RECVOPTSIP_RECVRETOPTSIP_RECVTOSIP_RETOPTSIP_MULTICAST_IFIP_MULTICAST_TTLIP_MULTICAST_LOOPIP_ADD_MEMBERSHIPIP_DROP_MEMBERSHIPIP_DEFAULT_MULTICAST_TTLIP_DEFAULT_MULTICAST_LOOPIP_MAX_MEMBERSHIPSIP_TRANSPARENTIP_BIND_ADDRESS_NO_PORTIPV6_JOIN_GROUPIPV6_LEAVE_GROUPIPV6_MULTICAST_HOPSIPV6_MULTICAST_IFIPV6_MULTICAST_LOOPIPV6_UNICAST_HOPSIPV6_V6ONLYIPV6_CHECKSUMIPV6_DONTFRAGIPV6_DSTOPTSIPV6_HOPLIMITIPV6_HOPOPTSIPV6_NEXTHOPIPV6_PATHMTUIPV6_PKTINFOIPV6_RECVDSTOPTSIPV6_RECVHOPLIMITIPV6_RECVHOPOPTSIPV6_RECVPKTINFOIPV6_RECVRTHDRIPV6_RECVTCLASSIPV6_RTHDRIPV6_RTHDRDSTOPTSIPV6_RTHDR_TYPE_0IPV6_RECVPATHMTUIPV6_TCLASSTCP_NODELAYTCP_MAXSEGTCP_CORKTCP_KEEPIDLETCP_KEEPINTVLTCP_KEEPCNTTCP_SYNCNTTCP_LINGER2TCP_DEFER_ACCEPTTCP_WINDOW_CLAMPTCP_INFOTCP_QUICKACKTCP_FASTOPENTCP_CONGESTIONTCP_USER_TIMEOUTTCP_NOTSENT_LOWATEAI_ADDRFAMILYEAI_AGAINEAI_BADFLAGSEAI_FAILEAI_FAMILYEAI_MEMORYEAI_NODATAEAI_NONAMEEAI_OVERFLOWEAI_SERVICEEAI_SOCKTYPEEAI_SYSTEMAI_PASSIVEAI_CANONNAMEAI_NUMERICHOSTAI_NUMERICSERVAI_ALLAI_ADDRCONFIGAI_V4MAPPEDNI_MAXHOSTNI_MAXSERVNI_NOFQDNNI_NUMERICHOSTNI_NAMEREQDNI_NUMERICSERVNI_DGRAMSHUT_RDSHUT_WRSHUT_RDWR_acceptclosedetachfilenogetpeernamegetsocknamesetblockinggetblockingsettimeoutgettimeoutshutdownthe socket familythe socket typeprotothe socket protocolthe socket timeoutdupntohlhtonlgetdefaulttimeoutsetdefaulttimeoutif_nameindexif_indextoname_socketivassoclenflagsbuffernbyteshost_socket.socketsocket(family=AF_INET, type=SOCK_STREAM, proto=0) -> socket object socket(family=-1, type=-1, proto=-1, fileno=None) -> socket object Open a socket of the given type. The family argument specifies the address family; it defaults to AF_INET. The type argument specifies whether this is a stream (SOCK_STREAM, this is the default) or datagram (SOCK_DGRAM) socket. The protocol argument defaults to 0, specifying the default protocol. Keyword arguments are accepted. The socket is created as non-inheritable. When a fileno is passed in, family, type and proto are auto-detected, unless they are explicitly set. A socket object represents one endpoint of a network connection. Methods of socket objects (keyword arguments not allowed): _accept() -- accept connection, returning new socket fd and client address bind(addr) -- bind the socket to a local address close() -- close the socket connect(addr) -- connect the socket to a remote address connect_ex(addr) -- connect, return an error code instead of an exception dup() -- return a new socket fd duplicated from fileno() fileno() -- return underlying file descriptor getpeername() -- return remote address [*] getsockname() -- return local address getsockopt(level, optname[, buflen]) -- get socket options gettimeout() -- return timeout or None listen([n]) -- start listening for incoming connections recv(buflen[, flags]) -- receive data recv_into(buffer[, nbytes[, flags]]) -- receive data (into a buffer) recvfrom(buflen[, flags]) -- receive data and sender's address recvfrom_into(buffer[, nbytes, [, flags]) -- receive data and sender's address (into a buffer) sendall(data[, flags]) -- send all data send(data[, flags]) -- send data, may not send all of it sendto(data[, flags], addr) -- send data to a given address setblocking(bool) -- set or clear the blocking I/O flag getblocking() -- return True if socket is blocking, False if non-blocking setsockopt(level, optname, value[, optlen]) -- set socket options settimeout(None | float) -- set or clear the timeout shutdown(how) -- shut down traffic in one or both directions [*] not available on all platforms!sendmsg_afalg([msg], *, op[, iv[, assoclen[, flags=MSG_MORE]]]) Set operation mode, IV and length of associated data for an AF_ALG operation socket.sendmsg(buffers[, ancdata[, flags[, address]]]) -> count Send normal and ancillary data to the socket, gathering the non-ancillary data from a series of buffers and concatenating it into a single message. The buffers argument specifies the non-ancillary data as an iterable of bytes-like objects (e.g. bytes objects). The ancdata argument specifies the ancillary data (control messages) as an iterable of zero or more tuples (cmsg_level, cmsg_type, cmsg_data), where cmsg_level and cmsg_type are integers specifying the protocol level and protocol-specific type respectively, and cmsg_data is a bytes-like object holding the associated data. The flags argument defaults to 0 and has the same meaning as for send(). If address is supplied and not None, it sets a destination address for the message. The return value is the number of bytes of non-ancillary data sent.recvmsg_into(buffers[, ancbufsize[, flags]]) -> (nbytes, ancdata, msg_flags, address) Receive normal data and ancillary data from the socket, scattering the non-ancillary data into a series of buffers. The buffers argument must be an iterable of objects that export writable buffers (e.g. bytearray objects); these will be filled with successive chunks of the non-ancillary data until it has all been written or there are no more buffers. The ancbufsize argument sets the size in bytes of the internal buffer used to receive the ancillary data; it defaults to 0, meaning that no ancillary data will be received. Appropriate buffer sizes for ancillary data can be calculated using CMSG_SPACE() or CMSG_LEN(), and items which do not fit into the buffer might be truncated or discarded. The flags argument defaults to 0 and has the same meaning as for recv(). The return value is a 4-tuple: (nbytes, ancdata, msg_flags, address). The nbytes item is the total number of bytes of non-ancillary data written into the buffers. The ancdata item is a list of zero or more tuples (cmsg_level, cmsg_type, cmsg_data) representing the ancillary data (control messages) received: cmsg_level and cmsg_type are integers specifying the protocol level and protocol-specific type respectively, and cmsg_data is a bytes object holding the associated data. The msg_flags item is the bitwise OR of various flags indicating conditions on the received message; see your system documentation for details. If the receiving socket is unconnected, address is the address of the sending socket, if available; otherwise, its value is unspecified. If recvmsg_into() raises an exception after the system call returns, it will first attempt to close any file descriptors received via the SCM_RIGHTS mechanism.recvmsg(bufsize[, ancbufsize[, flags]]) -> (data, ancdata, msg_flags, address) Receive normal data (up to bufsize bytes) and ancillary data from the socket. The ancbufsize argument sets the size in bytes of the internal buffer used to receive the ancillary data; it defaults to 0, meaning that no ancillary data will be received. Appropriate buffer sizes for ancillary data can be calculated using CMSG_SPACE() or CMSG_LEN(), and items which do not fit into the buffer might be truncated or discarded. The flags argument defaults to 0 and has the same meaning as for recv(). The return value is a 4-tuple: (data, ancdata, msg_flags, address). The data item is a bytes object holding the non-ancillary data received. The ancdata item is a list of zero or more tuples (cmsg_level, cmsg_type, cmsg_data) representing the ancillary data (control messages) received: cmsg_level and cmsg_type are integers specifying the protocol level and protocol-specific type respectively, and cmsg_data is a bytes object holding the associated data. The msg_flags item is the bitwise OR of various flags indicating conditions on the received message; see your system documentation for details. If the receiving socket is unconnected, address is the address of the sending socket, if available; otherwise, its value is unspecified. If recvmsg() raises an exception after the system call returns, it will first attempt to close any file descriptors received via the SCM_RIGHTS mechanism.shutdown(flag) Shut down the reading side of the socket (flag == SHUT_RD), the writing side of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).setsockopt(level, option, value: int) setsockopt(level, option, value: buffer) setsockopt(level, option, None, optlen: int) Set a socket option. See the Unix manual for level and option. The value argument can either be an integer, a string buffer, or None, optlen.gettimeout() -> timeout Returns the timeout in seconds (float) associated with socket operations. A timeout of None indicates that timeouts on socket operations are disabled.settimeout(timeout) Set a timeout on socket operations. 'timeout' can be a float, giving in seconds, or None. Setting a timeout of None disables the timeout feature and is equivalent to setblocking(1). Setting a timeout of zero is the same as setblocking(0).getblocking() Returns True if socket is in blocking mode, or False if it is in non-blocking mode.setblocking(flag) Set the socket to blocking (flag is true) or non-blocking (false). setblocking(True) is equivalent to settimeout(None); setblocking(False) is equivalent to settimeout(0.0).sendto(data[, flags], address) -> count Like send(data, flags) but allows specifying the destination address. For IP sockets, the address is a pair (hostaddr, port).sendall(data[, flags]) Send a data string to the socket. For the optional flags argument, see the Unix manual. This calls send() repeatedly until all data is sent. If an error occurs, it's impossible to tell how much data has been sent.send(data[, flags]) -> count Send a data string to the socket. For the optional flags argument, see the Unix manual. Return the number of bytes sent; this may be less than len(data) if the network is busy.recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info) Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.recvfrom(buffersize[, flags]) -> (data, address info) Like recv(buffersize, flags) but also return the sender's address info.recv_into(buffer, [nbytes[, flags]]) -> nbytes_read A version of recv() that stores its data into a buffer rather than creating a new string. Receive up to buffersize bytes from the socket. If buffersize is not specified (or 0), receive up to the size available in the given buffer. See recv() for documentation about the flags.recv(buffersize[, flags]) -> data Receive up to buffersize bytes from the socket. For the optional flags argument, see the Unix manual. When no data is available, block until at least one byte is available or until the remote end is closed. When the remote end is closed and all data is read, return the empty string.listen([backlog]) Enable a server to accept connections. If backlog is specified, it must be at least 0 (if it is lower, it is set to 0); it specifies the number of unaccepted connections that the system will allow before refusing new connections. If not specified, a default reasonable value is chosen.getsockopt(level, option[, buffersize]) -> value Get a socket option. See the Unix manual for level and option. If a nonzero buffersize argument is given, the return value is a string of that length; otherwise it is an integer.getsockname() -> address info Return the address of the local endpoint. The format depends on the address family. For IPv4 sockets, the address info is a pair (hostaddr, port). For IPv6 sockets, the address info is a 4-tuple (hostaddr, port, flowinfo, scope_id).getpeername() -> address info Return the address of the remote endpoint. For IP sockets, the address info is a pair (hostaddr, port).fileno() -> integer Return the integer file descriptor of the socket.detach() Close the socket object without closing the underlying file descriptor. The object cannot be used after this call, but the file descriptor can be reused for other purposes. The file descriptor is returned.connect_ex(address) -> errno This is like connect(address), but returns an error code (the errno value) instead of raising an exception when an error occurs.connect(address) Connect the socket to a remote address. For IP sockets, the address is a pair (host, port).close() Close the socket. It cannot be used after this call.bind(address) Bind the socket to a local address. For IP sockets, the address is a pair (host, port); the host must refer to the local host. For raw packet sockets the address is a tuple (ifname, proto [,pkttype [,hatype [,addr]]])_accept() -> (integer, address info) Wait for an incoming connection. Return a new socket file descriptor representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port).CMSG_SPACE(length) -> buffer size Return the buffer size needed for recvmsg() to receive an ancillary data item with associated data of the given length, along with any trailing padding. The buffer space needed to receive multiple items is the sum of the CMSG_SPACE() values for their associated data lengths. Raises OverflowError if length is outside the permissible range of values.CMSG_LEN(length) -> control message length Return the total length, without trailing padding, of an ancillary data item with associated data of the given length. This value can often be used as the buffer size for recvmsg() to receive a single item of ancillary data, but RFC 3542 requires portable applications to use CMSG_SPACE() and thus include space for padding, even when the item will be the last in the buffer. Raises OverflowError if length is outside the permissible range of values.if_indextoname(if_index) Returns the interface name corresponding to the interface index if_index.if_nametoindex(if_name) Returns the interface index corresponding to the interface name if_name.if_nameindex() Returns a list of network interface information (index, name) tuples.setdefaulttimeout(timeout) Set the default timeout in seconds (float) for new socket objects. A value of None indicates that new socket objects have no timeout. When the socket module is first imported, the default is None.getdefaulttimeout() -> timeout Returns the default timeout in seconds (float) for new socket objects. A value of None indicates that new socket objects have no timeout. When the socket module is first imported, the default is None.getnameinfo(sockaddr, flags) --> (host, port) Get host and port for a sockaddr.getaddrinfo(host, port [, family, type, proto, flags]) -> list of (family, type, proto, canonname, sockaddr) Resolve host and port into addrinfo struct.inet_ntop(af, packed_ip) -> string formatted IP address Convert a packed IP address of the given family to string format.inet_pton(af, ip) -> packed IP address string Convert an IP address from string format to a packed string suitable for use with low-level network functions.inet_ntoa(packed_ip) -> ip_address_string Convert an IP address from 32-bit packed binary format to string formatinet_aton(string) -> bytes giving packed 32-bit IP representation Convert an IP address in string format (123.45.67.89) to the 32-bit packed binary format used in low-level network functions.htonl(integer) -> integer Convert a 32-bit integer from host to network byte order.htons(integer) -> integer Convert a 16-bit unsigned integer from host to network byte order.ntohl(integer) -> integer Convert a 32-bit integer from network to host byte order.ntohs(integer) -> integer Convert a 16-bit unsigned integer from network to host byte order.socketpair([family[, type [, proto]]]) -> (socket object, socket object) Create a pair of socket objects from the sockets returned by the platform socketpair() function. The arguments are the same as for socket() except the default family is AF_UNIX if defined on the platform; otherwise, the default is AF_INET.dup(integer) -> integer Duplicate an integer socket file descriptor. This is like os.dup(), but for sockets; on some platforms os.dup() won't work for socket file descriptors.close(integer) -> None Close an integer socket file descriptor. This is like os.close(), but for sockets; on some platforms os.close() won't work for socket file descriptors.getprotobyname(name) -> integer Return the protocol number for the named protocol. (Rarely used.)getservbyport(port[, protocolname]) -> string Return the service name from a port number and protocol name. The optional protocol name, if given, should be 'tcp' or 'udp', otherwise any protocol will match.getservbyname(servicename[, protocolname]) -> integer Return a port number from a service name and protocol name. The optional protocol name, if given, should be 'tcp' or 'udp', otherwise any protocol will match.sethostname(name) Sets the hostname to name.gethostname() -> string Return the current host name.gethostbyaddr(host) -> (name, aliaslist, addresslist) Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number.gethostbyname_ex(host) -> (name, aliaslist, addresslist) Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number.gethostbyname(host) -> address Return the IP address (a string of the form '255.255.255.255') for a host.Implementation module for socket operations. See the socket module for documentation.;<fHX( Rs,  fHdGn(Pi@(H' ,Tk |!!G"P"s"0H#`k#|##%$ %@ %\ 4&x [& & ' ' 'h '| y) ) /* %+0 :,d P0 0 1 z1, 1H 2 M3 6 9 = @4UA\AC}DsEpFGYHtI0KJPKMPQTPR8TU$YZY\ iVnn0od >0>@>P>`>p>>>>>>>>>?? ?0?@?P?`?p?????????@@ @0@@@P@`@p@@@@@@@@@AA A0A@APA`ApAAAAAAAAABB B0B@BPB`BpBBBBBBBBBCC C0C@CPC`CpCCCCCCCCCDD D0D@DPD`DpDDDDDDDDDEE E0E@EPE`EpEEEEEEE6e&%X`%v$d@$YY`# LY#m`"Gn@!$c@ b,t@e{P+ Ed@Q@e(l4 N@@kl K&R` _@VL_ &@U_q&R([|:9:T 9#\8f8gK[7+WZ6Y`6X5oY4R3T@3R2x!T2JR 2W@1^W0xV 0]U/q/o.Q-Q,e@,?Ne+wP@+O@)\O'`;d!* @Y!3&4+0kcKc@ `!c!`d!{uQ\GA$3a1=_socket.cpython-311-x86_64-linux-gnu.so-3.11.13-2.el8_10.x86_64.debug 7zXZִF!t/>]?Eh=ڊ2Ne {]vcpal%"Z٤ĔM gJ;WPBrT>XDT*Ѹ҄32MRLH E-xKHWll[v}zmΪ;L]#|Y,9pQNB`* 8D%GEÒ,EBGi{Fijȉ[{ NCK.bJ)hCcm((GZ}NT7K*`-:7壘RUࣸtm8m6#+l蓽'WEM &Ɏ .CY {p3,tp%ܖJAI<S\R4DAQFbJu\D_9-O1R1rE0w^& mUº_;7L=Q2[ssG$JpTO)|3׳G[-1+%{{/99asSANz`'`:Tugw;rfy}`0{_|I7# ,A@|4%WhzF^ 5.o ܘp0ތzBt/WZ'ILZ9 [~染ZApMY2>' cayGlM#[ʨ%Z e:o:O Í# nV;wӒ#LU0-Fڣi]))TSNKpc^M,+O|mCBiB9D ڻ>ԙZSY漢.$zb|c$Cf\^|V΁&i3¿-J n?[AnF#0BDR`+I >[BFp6Ͳ7UJ^UoeQo u(縆= "[ :8<89j$W,Ň.:z^c棩'aLN Ւ^Y 'dĆďMTbtNU24(U_lvxXojton J݉Lil7(o%.5_k>AM]qged2ufD}߻P T&=m Ix 2CYfITF(AMFa &~=FſAM $0XcNXK=*w[c?o ay9oՔyPHJ~iIgJh<OH3.I `n.mūjXB9JZ8·e̹g_C܋5!HZHlJOEpl`1~ȉCK M/&a܅.Ԣ;TO/߂ВNaڨ'R~, tҔM{$;98?gYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata 88$o``4( (0V 8o.EoHHpTh^B 2 2 h==c>>nEEwMMR}  i ;;<>>`XRXR Y!YY!Y Y! YH hY!hYX[!X[`!`x xk!xkkaxk$ kLkhs(