Ë
    oj¢  ã                   óŒ   — d Z ddlZddlmZ ddlmZ ddlmZ g d¢Zd„ Z	dd„Z
d	„ Zdd
„Zd„ Z e edddd«      «      d„ «       Zy)z@
Common functions for the SSH classes.

Maintainer: Paul Swartz
é    N)Úint_to_bytes)Ú
deprecated)ÚVersion)ÚNSÚgetNSÚMPÚgetMPÚffsc                 óˆ   — t        | t        «      r| j                  d«      } t        j                  dt        | «      «      | z   S )z
    net string
    zutf-8ú!L)Ú
isinstanceÚstrÚencodeÚstructÚpackÚlen)Úts    ú:/usr/lib/python3/dist-packages/twisted/conch/ssh/common.pyr   r      s6   € ô �!”SÔØ�H‰H�WÓˆÜ�;‰;�tœS ›VÓ$ qÑ(Ð(ó    c                 óÔ   — g }d}t        |«      D ]E  }t        j                  d| ||dz    «      \  }|j                  | |dz   d|z   |z    «       |d|z   z  }ŒG t	        |«      | |d fz   S )z
    get net string
    r   r   é   N)Úranger   ÚunpackÚappendÚtuple)ÚsÚcountÚnsÚcÚiÚls         r   r   r      s‚   € ð 
€BØ	€AÜ�5‹\ò ˆÜ�}‰}˜T 1 Q¨¨Q© <Ó0‰ˆØ
�	‰	�!�A˜‘E˜A ™E A™IÐ&Ô'Ø	ˆQ�‰U‰
‰ðô �‹9˜˜!˜"˜�xÑÐr   c                 ó¢   — | dk(  ry| dkD  sJ ‚t        | «      }t        |dd «      dz  rd|z   }t        j                  dt	        |«      «      |z   S )Nr   s       é   é€   ó    ú>L)r   Úordr   r   r   )ÚnumberÚbns     r   r   r   ,   sW   € Ø�‚{ØØ�AŠ:Ðˆ:Ü	�fÓ	€BÜ
ˆ2ˆa�ˆ7ƒ|�cÒØ�r‰\ˆÜ�;‰;�tœS ›WÓ%¨Ñ*Ð*r   c           	      óü   — g }d}t        |«      D ]Y  }t        j                  d| ||dz    «      \  }|j                  t        j                  | |dz   |dz   |z    d«      «       |d|z   z  }Œ[ t        |«      | |d fz   S )a=  
    Get multiple precision integer out of the string.  A multiple precision
    integer is stored as a 4-byte length followed by length bytes of the
    integer.  If count is specified, get count integers out of the string.
    The return value is a tuple of count integers followed by the rest of
    the data.
    r   r&   r   ÚbigN)r   r   r   r   ÚintÚ
from_bytesr   )Údatar   Úmpr   r    Úlengths         r   r	   r	   6   s�   € ð 
€BØ	€AÜ�5‹\ò ˆÜ—M‘M $¨¨Q°°Q±¨Ó8‰	ˆØ
�	‰	”#—.‘.  a¨!¡e¨a°!©e°f©nÐ!=¸uÓEÔFØ	ˆQ�‰Z‰‰ðô �‹9˜˜Q˜R˜�{Ñ"Ð"r   c                 ó"   — | D ]
  }||v sŒ|c S  y)zs
    first from second
    goes through the first list, looking for items in the second, returns the first one
    N© )r   r   r    s      r   r
   r
   G   s   € ð
 ò ˆØ�Š6ØŠHñr   ÚTwistedé   é   c                   ó   — y )Nr2   r2   r   r   Úinstallr7   Q   s   € ð 	r   )r#   )Ú__doc__r   Úcryptography.utilsr   Útwisted.python.deprecater   Útwisted.python.versionsr   Ú__all__r   r   r   r	   r
   r7   r2   r   r   ú<module>r=      sZ   ðñ
ó å +å /Ý +â
/€ò)ó
 ò+ó#ò"ñ ‰G�I˜r 1 aÓ(Ó)ñ	ó *ñ	r   