PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  0p^c@sddlZddlZddlZddlZddlZddlZedZdefdYZ de fdYZ dS(iNcCsd}tj}|r%|tjB}ny,tj|||}tj|tjWnetk r}|j\}}|dkrytj |Wqtk rqXnt ||nXtj |dS(Nisr+( tostO_RDWRtO_CREATtopentfcntltlockftLOCK_EXtOSErrortargstclosetIOErrortfdopen(tfilenametpermstcreatetfdtflagsterrterrnotstrerr((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt openLockeds    t IPAChangeConfcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZedZddZdZedZddZdZdZdZdZdZdZRS(cCs|||_d |_d |_|jd|_d|_|jd|_d|_|jd|_d|_d|_ d |_ dS(Nts = t=it#s t[t]t{t}s.ipabkp(RRR(s = R(R(s (RR(RR( tprognametindenttassigntdassigntcommenttdcommentteoltdeolt sectnamdelt subsectdelt backup_suffix(tselftname((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt__init__8s       cCs ||_dS(N(R(R(R)((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt setProgNameEscCsOt|tkr||_n-t|tkr?|f|_n tddS(Ns Indent must be a list of strings(ttypettupleRtstrt ValueError(R(R((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt setIndentHs  cCs>t|tkr||_n |f|_|jd|_dS(Ni(R,R-RR (R(R((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytsetOptionAssignmentPs  cCs>t|tkr||_n |f|_|jd|_dS(Ni(R,R-R!R"(R(R!((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytsetCommentPrefixWs  cCs>t|tkr||_n |f|_|jd|_dS(Ni(R,R-R#R$(R(R#((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt setEndLine^s  cCs ||_dS(N(R%(R(tdelims((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytsetSectionNameDelimitersescCs ||_dS(N(R&(R(R4((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytsetSubSectionDelimitershscCsAx:|jD]/}|jj|r |jt|Sq WtS(N(R!tlstript startswithtlentFalse(R(tlinetv((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt matchCommentkscCs|jdkrtStS(NR(tstriptTrueR:(R(R;((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt matchEmptyqscCsdj|jj}t|jdkr4tS|j|jdsNtS|j|jdshtS|t|jdt|jd !S(NRiii(tjoinR>tsplitR9R%R:R8tendswith(R(R;tcl((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt matchSectionvscCsm|j|rtS|j|jd}t|dkr>tS|dj|jdkri|djStS(Niii(R=R:RBR R9R>R&(R(R;tparts((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytmatchSubSectionscCs4|j|rtS|j|jdkr0tStS(Ni(R=R:R>R&R?(R(R;((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytmatchSubSectionEnds cCs:t|jdkr|S|jd||jd|jS(Niii(R9R%R$(R(tsection((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytgetSectionLinescCs|dkrt|}n|S(Ni(thex(tvalue((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt_get_debug_level_vals icCsd}|t|jkr1t|jd}nx|D]}|ddkr||jd|d|jd|j7}||j|d|d7}q8n|ddkr&||j||d|j|jd|j7}||j|d|d7}||j||jd|j7}q8n|dd krk||j||d|j|d|j7}q8n|dd kr||j|d|j7}q8n|dd kr||j7}q8ntd |dd q8W|S(NRiR,RIiR)RLt subsectiontoptionR!temptysUnknown type: [R( R9RR%R$tdumpR R&R"t SyntaxError(R(toptionstleveltoutputto((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyRQs0 +2#/ cCs|j|r!idd6dd6S|j|}|rUidd6dd6|jd6S|j|jd}t|dkrtdni|d jd6d d6|djd6S( NRPR)R,R!RLiis!Syntax Error: Unknown line formatiRO(R@R=trstripRBR R9RRR>(R(R;RLRF((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt parseLinescCsd}xr|D]j}|d|kr=|d|kr=||fS|rm|ddksc|ddkrm|dfS|d7}q W|dfS(NiR,R)RIRNi(tNone(R(toptsR,R)texclude_sectionstnumRV((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytfindOptss   & cCs}g}|t|jkr1t|jd}nxE|D]=}|ddkr|j|d|d}|j|jd|d|jd}|jidd6dd6|d6x|D]}|j|qWq8n|ddkr|j|d|d}|j||d|j|jd}|jidd6dd6|d6x|D]}|j|qOW|j||jd}|jidd6dd6|d6q8n|dd kr|j||d|j|d}|jidd6dd6|d6q8n|ddkr%|j|q8n|dd kr]|jidd6dd6d d6q8ntd |dd q8W|S(NiR,RIRLiR)R!RNRORPRsUnknown type: [R( R9Rt commentOptsR"R%tappendR R&RR(R(tinoptsRTRZRVtnotvaltn((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyR^s@ '" '" "$" "c Csg}x|D]}|ddks3|ddkrA|j||d|d\}}|so|j|q n|ddkr|j|d|d}|ji|dd6|dd6|d6q n|ddkr|j|d}x|D]} |j| qWq n|dd kr&q ntd |dd n|ddksa|dd krt|j|q n|dd kr|j|d |dt\}}|s|j|q n|ddks|dd krk|ddkr|d|dkr|j|q n|ddkr |jidd6dd6|j|d|j|dd6q q n|ddkr|j|q ntd |dd ntd|dd q W|S(NR,RIRNR)tactiontsetRLR!tremovesUnknown action: [RRPROsUnknown type: [( R]R_tmergeOldR^RRR?RYR"R ( R(toldoptstnewoptsRZRVR\Ratmotcotc((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyRgsR  # *   "  $ ( cCsd}x|D]}}|ddks3|ddkr|j||d|d\}}|s|ddkr |j|q q n|ddkr|j|d|dq n|d }q n|dd kr2|j||d|dt\}}|s"|ddkr |j|q q n|d }q n|dd ksR|dd krr|j|||d 7}q ntd |ddq WdS(NiR,RIRNR)RdReRLiROR!RPsUnknown type: [R(R]R_tmergeNewR?tinsertRR(R(RZRitclineRaR\RV((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyRm/s4  # &   cCs&|j||}|j|||S(N(RgRm(R(RhRiRZ((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytmergeRs c Csg}g}d}g}d}|}|}x4|D],} |j| } | r|dk r}|ji|d6dd6|d6ng}|}|}| }q1n|j| } | r|dk rtdng}|}| }q1n|j| } | rG|dkrtdn|ji|d6dd6|d6d}|}q1n|j|j| q1W|r|ji|d6dd6|d6n|S(NR)RIR,RLs(nested subsections are not supported yets)Unmatched end subsection terminator foundRN(RYRER_RGRRRHRX( R(tfRZtsectoptsRIt subsectoptsRNtcuroptst fatheroptsR;RL((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytparse`sJ  %  "%c Cst}d}t}d}d}ztj|||jt|d}|j|}|j||} |j| }|j d|j d|j |Wdy|r|j nWnt k rnXXtS(NRii(R:RYtshutiltcopy2R'RRvRpRQtseekttruncatetwriteR R R?( R(tfileRit autosectiont savedsectiontdoneRURqRhRS((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyt changeConfs(   c Cst}d}t}d}d}zytj|||jWn%tk rc}|jdkrdqdnXt|d}|jd|j d|j |}|j |Wdy|r|j nWntk rnXXt S(NRiii(R:RYRwRxR'R RRRyRzRQR{R R?( R(R|RSR}R~RRURqR((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pytnewConfs,   (t__name__t __module__R*R+R0R1R2R3R5R6R=R@RERGRHRJt staticmethodRMRQRXR:R]R^RgRmRpRvRR(((s</usr/lib/python2.7/site-packages/SSSDConfig/ipachangeconf.pyR6s2             & 1 #  9 #tSSSDChangeConfcBseZejdZdZdZdZdZdZ dZ ddZ d Z d Z d Zd Zed ZedZdZdZddZRS(s.(?P