+
    Dfj                     "    R t R R ltR R ltR# )z
Shared interface to IDNA encoding and decoding, using the C{idna} PyPI package
if available, otherwise the stdlib implementation.
c                0    V ^8  d   QhR\         R\        /# )   textreturn)strbytes)formats   "8/usr/lib/python3/dist-packages/twisted/internet/_idna.py__annotate__r
      s     ! !S !U !    c                r     ^ RI pVP                  V 4      #   \         d    T P                  R4      u # i ; i)a  
Convert some text typed by a human into some ASCII bytes.

This is provided to allow us to use the U{partially-broken IDNA
implementation in the standard library <http://bugs.python.org/issue17305>}
if the more-correct U{idna <https://pypi.python.org/pypi/idna>} package is
not available; C{service_identity} is somewhat stricter about this.

@param text: A domain name, hopefully.
@type text: L{unicode}

@return: The domain name's IDNA representation, encoded as bytes.
@rtype: L{bytes}
Nidna)r   encodeImportError)r   r   s   & r	   
_idnaBytesr      s;    ! {{4    #{{6""#    66c                0    V ^8  d   QhR\         R\        /# )r   octetsr   )r   r   )r   s   "r	   r
   r
   "   s     # #e # #r   c                r     ^ RI pVP                  V 4      #   \         d    T P                  R4      u # i ; i)z
Convert some IDNA-encoded octets into some human-readable text.

Currently only used by the tests.

@param octets: Some bytes representing a hostname.
@type octets: L{bytes}

@return: A human-readable domain name.
@rtype: L{unicode}
Nr   )r   decoder   )r   r   s   & r	   	_idnaTextr   "   s;    # {{6""  %}}V$$%r   N)__doc__r   r    r   r	   <module>r      s   
!.#r   