Ë
    x[h¤
  ã                   ó0   — d dl mZ d dlmZ  G d„ d«      Zy)é    )ÚStringIO)Úchop_commentc                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Ú	HostsConfc                 ó    — || _         d | _        y ©N)Ú_textÚ	_contents)ÚselfÚtexts     úA/usr/lib/python3/dist-packages/cloudinit/distros/parsers/hosts.pyÚ__init__zHostsConf.__init__   s   € ØˆŒ
Øˆ�ó    c                 ó^   — | j                   €!| j                  | j                  «      | _         y y r   )r
   Ú_parser	   )r   s    r   ÚparsezHostsConf.parse   s%   € Ø�>‰>Ð!Ø!Ÿ[™[¨¯©Ó4ˆD�Nð "r   c                 óº   — | j                  «        g }| j                  D ]9  \  }}|dk(  sŒ|\  }}t        |«      sŒ|d   |k(  sŒ&|j                  |dd  «       Œ; |S )NÚoptionr   é   )r   r
   ÚlenÚappend)r   ÚipÚoptionsÚ	line_typeÚ
componentsÚpiecesÚ_tails          r   Ú	get_entryzHostsConf.get_entry   sc   € Ø�
‰
ŒØˆØ%)§^¡^ò 	/Ñ!ˆI�zØ˜HÓ$Ø",‘�˜Ü�v•; 6¨!¡9°£?Ø—N‘N 6¨!¨" :Õ.ð		/ð
 ˆr   c                 ó  — | j                  «        g }| j                  D ]_  \  }}|dk7  r|j                  ||f«       Œ|\  }}t        |«      r	|d   |k(  rŒ8t        |«      sŒD|j                  |t	        |«      f«       Œa || _        y )Nr   r   )r   r
   r   r   Úlist)r   r   Ú	n_entriesr   r   r   r   s          r   Údel_entrieszHostsConf.del_entries"   s�   € Ø�
‰
ŒØˆ	Ø%)§^¡^ò 		DÑ!ˆI�zØ˜HÒ$Ø× Ñ  )¨ZÐ!8Ô9Øà",‘�˜Ü�v”; 6¨!¡9°¢?ØÜ˜•[Ø×$Ñ$ i´°jÓ1AÐ%BÕCð		Dð #ˆ�r   c                 ó~   — | j                  «        | j                  j                  d||gt        |«      z   dff«       y )Nr   Ú )r   r
   r   r    )r   r   Úcanonical_hostnameÚaliasess       r   Ú	add_entryzHostsConf.add_entry1   s9   € Ø�
‰
ŒØ�‰×ÑØ˜Ð/Ð0´4¸³=Ñ@À"ÐEÐFõ	
r   c                 óR  — g }|j                  «       D ]‘  }t        |j                  «       «      s|j                  d|gf«       Œ1t	        |j                  «       d«      \  }}t        |«      s|j                  d|gf«       Œn|j                  d|j                  d «      |gf«       Œ“ |S )NÚblankú#Úall_commentr   )Ú
splitlinesr   Ústripr   r   Úsplit)r   ÚcontentsÚentriesÚlineÚheadÚtails         r   r   zHostsConf._parse7   sž   € ØˆØ×'Ñ'Ó)ò 	AˆDÜ�t—z‘z“|Ô$Ø—‘ ¨$¨Ð0Ô1ØÜ'¨¯
©
«°cÓ:‰LˆT�4Ü�t”9Ø—‘ °¨vÐ6Ô7ØØ�N‰N˜H t§z¡z°$Ó'7¸Ð&>Ð?Õ@ð	Að ˆr   c                 ó�  — | j                  «        t        «       }| j                  D ]‰  \  }}|dk(  r|j                  d|d   z  «       Œ#|dk(  r|j                  d|d   z  «       Œ@|dk(  sŒF|\  }}|D �cg c]  }t	        |«      ‘Œ }}dj                  |«      }|j                  |›|›d�«       Œ‹ |j                  «       S c c}w )Nr)   z%s
r   r+   r   ú	ú
)r   r   r
   ÚwriteÚstrÚjoinÚgetvalue)r   r/   r   r   r   r3   Úps          r   Ú__str__zHostsConf.__str__D   sÁ   € Ø�
‰
ŒÜ“:ˆØ%)§^¡^ò 		:Ñ!ˆI�zØ˜GÒ#Ø—‘˜v¨°A©Ñ7Õ8Ø˜mÒ+Ø—‘˜v¨°A©Ñ7Õ8Ø˜hÓ&Ø!+‘�˜Ø*0Ö1 Qœ#˜a�&Ð1�Ð1ØŸ™ 6Ó*�Ø—‘©6²4Ð8Õ9ð		:ð × Ñ Ó"Ð"ùò 2s   Á6CN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   r'   r   r<   © r   r   r   r      s%   „ òò5òò#ò
òó#r   r   N)Úior   Úcloudinit.distros.parsersr   r   r@   r   r   ú<module>rC      s   ðõ å 2÷B#ò B#r   