ó Ú_e[c@sxdZddlZddlZddlZddlZddlZdZdefd„ƒYZdefd„ƒYZ dS(s2 Configuration file (aka ``ssh_config``) support. i˙˙˙˙Nit SSHConfigcBs\eZdZejdƒZd„Zd„Zd„Zd„Z d„Z d„Z d„Z RS( sƒ Representation of config information as stored in the format used by OpenSSH. Queries can be made via `lookup`. The format is described in OpenSSH's ``ssh_config`` man page. This class is provided primarily as a convenience to posix users (since the OpenSSH format is a de-facto standard on posix) but should work fine on Windows too. .. versionadded:: 1.6 s(\w+)(?:\s*=\s*|\s+)(.+)cCs g|_dS(s5 Create a new OpenSSH config object. N(t_config(tself((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyt__init__.scCs˝idgd6id6}x|D]‡}|jƒ}| s|jdƒrLqntj|j|ƒ}|stdj|ƒƒ‚n|jdƒjƒ}|jdƒ}|dkrß|j j |ƒi|j |ƒd6id6}q|dkr|jƒd krd|d|ytj|ƒSWn&tk r9tdj|ƒƒ‚nXdS(s> Return a list of host_names from host value. sUnparsable host {}N(tshlexR=t ValueErrorRR(RR((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyRës ( t__name__t __module__t__doc__RtcompileRRRR'R,R R#R(((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyR!s   / * KR>cBs#eZdZdd„Zd„ZRS(s7 Returns the host's fqdn on request as string. cCsd|_||_||_dS(N(RRGRR(RRR((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyRús  c Cs|jdkr d}|jjddƒjƒ}|dkrĺytj}|dkr^tjntj|j d|tj tj tj ƒ}x?|D]7}|\}}}} } | rd| kr| }PqqWWqĺtj k ráqĺXn|dkrtjƒ}n||_n|jS(Nt addressfamilytanytinetR4(RGRRtgetRR;tAF_INET6tAF_INETt getaddrinfoRt SOCK_DGRAMt IPPROTO_IPt AI_CANONNAMEtgaierrortgetfqdn( RRGtaddress_familytfamilytresultstrestaftsocktypetprotot canonnametsa((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyt__str__˙s4          N(RORPRQRRRh(((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyR>ős ( RQR/R9RRMR;R8tobjectRR>(((s3/tmp/pip-install-KP2Jbq/paramiko/paramiko/config.pyts     Ô