MINI MINI MANI MO
ó
ß8Yc @ sG d d l Z d Z d Z d Z d Z d d d YZ d S( i˙˙˙˙Nc C s' t } | j | d | j | S( Nt r( t SHVFilet opent parse( t filenamet shv( ( s /usr/share/authconfig/shvfile.pyt read s
c C s' t } | j | d | j | S( Ns r+( R R R ( R R ( ( s /usr/share/authconfig/shvfile.pyt rcreate s
c C sċ | s
| St | } | d d k s6 | d d k rb | d | | d k rb | d | d !} n d } xv t rà | j d | } | d k r Pn | d t | k rş | d | !} Pn | d | !| | d } | d 7} qk W| S( Ni s "t 'i s \( t lent Truet find( t st slent i( ( s /usr/share/authconfig/shvfile.pyt unescape' s 8
c C sĞ | j d d } | j d d } | j d d } | j d d } | j d d
} | j d d } | j d
d k s | j d d k r§ d | d } n | S( Ns \s \\s "s \"R s \'t $s \\$t ~s \\~t `s \\`t i s ( t replaceR ( R ( ( s /usr/share/authconfig/shvfile.pyt escape: s *R c B sY e Z d Z d Z d Z d Z d Z d Z d Z d Z d Z
RS( c C s d | _ d | _ i | _ d S( Nt ( R t Nonet ft variables( t self( ( s /usr/share/authconfig/shvfile.pyt __init__F s c C sX | | _ | d k r* t | | | _ n* y t | | | _ Wn t k
rS n Xd S( NR ( R R R t IOError( R R t mode( ( s /usr/share/authconfig/shvfile.pyR K s
c C sp | j s
d Sx\ | j D]Q } | j j d d } t | d k rM q n t | d | j | d <q Wd S( Nt =i i i ( R t rstript splitR R R ( R t linet vs( ( s /usr/share/authconfig/shvfile.pyR V s c C s6 | j s y&