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`  [/\c@s7ddlmZddlmZddlmZddlZddlZddlZddlZddl Z ddl Z de fdYZ dZ dZd Zd Zd Zd Zd ZddZdZdedddZddddZdZdZed\ZZeZdS(i(tprint_function(tunicode_literals(tunicodeNt UnicodeStreamcBs#eZdZdZdZRS(cCs||_||_dS(N(tstreamtencoding(tselfRR((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyt__init__$s cCst|tsHtjjr0|j|jdn|j|jd}ny|jj |Wnyt k r|j|jjd}t |jdr|jj j |q|j|jjd}|jj |nXdS(Nureplaceubackslashreplaceubufferuignore( t isinstancetstrtdnftpycomptPY3tdecodeRtencodeRtwritetUnicodeEncodeErrorthasattrtbuffer(Rtsts_bytes((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyR(s! cCst|j|S(N(tgetattrR(Rtname((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyt __getattr__7s(t__name__t __module__RRR(((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyR#s  cCsB|dkrtS|j}|jds:|jdr>tStS(uReturn true if encoding can express any Unicode character. Even if an encoding can express all accented letters in the given language, we can't generally settle for it in DNF since sometimes we output special characters like the registered trademark symbol (U+00AE) and surprisingly many national non-unicode encodings, including e.g. ASCII and ISO-8859-2, don't contain it. uutf-uutf_N(tNonetFalsetlowert startswithtTrue(RR((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyt_full_ucd_support:s  cCs&tjt}|jdr"dS|S(u= Take the best shot at the current system's string encoding. uANSIuutf-8(tlocaletgetpreferredencodingRR(R((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyt_guess_encodingKscCsmytjjtjdWnLtjk rh}tddtjdt j d "%s" % (chop_str(msg, 10)) iuN(Rt exact_widthRA(tmsgtchoptwidtht chopped_msgtchart char_width((s,/usr/lib/python2.7/site-packages/dnf/i18n.pytchop_strs    cCstd|DS(uQ Calculates width of char at terminal screen (Asian char counts for two) css|]}t|VqdS(N(RA(t.0tc((s,/usr/lib/python2.7/site-packages/dnf/i18n.pys s(tsum(RC((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyRBsucCst||\}}||krK|s-|rdj|||g}qnMd||}|r}dj||||g}ndj||||g}|S(u Expand a msg to a specified "width" or chop to same. Expansion can be left or right. This is what you want to use instead of %*.*s, as it does the "right" thing with regard to different Unicode character width. prefix and suffix should be used for "invisible" bytes, like highlighting. Examples: ``"%-*.*s" % (10, 20, msg)`` becomes ``"%s" % (fill_exact_width(msg, 10, 20))``. ``"%20.10s" % (msg)`` becomes ``"%s" % (fill_exact_width(msg, 20, 10, left=False))``. ``"%s%.10s%s" % (pre, msg, suf)`` becomes ``"%s" % (fill_exact_width(msg, 0, 10, prefix=pre, suffix=suf))``. uu (RItjoin(RCtfillRDtlefttprefixtsuffixREtextra((s,/usr/lib/python2.7/site-packages/dnf/i18n.pytfill_exact_widths  iFc sfd|jd}|jdd jd}g}|}t}d}d} x|D]} | jd} || } } | \}} t} |r| rt} n|r|t| krt} n|r| r|dkr|| krt} qn| r*|j|jd|}t}n|t| krEd} n|rc| jd} | } nt|| |krt}|j|| |}q^nt}| jd}|} | }| r|dkr|}nxw|D]o}|t| |kr;t| t|kr;|j| jd|d|} n| |7} | d7} qW| jdd}q^W|r|j|jdndj |S( uq Works like we want textwrap.wrap() to work, uses Unicode strings and doesn't screw up lists/blocks/etc. csd}d}x(|D] }|dkr)Pn|d7}qW|d krM|dfSt||dd}|dkr||t|}|dp|d}|r||d|fSn|dfS(NiuXu iu-u*u.uouâu•u‣u∘(u-u*u.uouâ(u-u*u.uou•u‣u∘(RItlen(tlinetcounttbytetlist_chrtnxt(t_indent_at_beg(s,/usr/lib/python2.7/site-packages/dnf/i18n.pyRZs      u u u iiiuu ( trstriptreplacetsplitRRRTtappendtlstripRBRM(ttextREtinitial_indenttsubsequent_indenttlinestrettindentt wrap_lasttcsabt cspc_indentRUtlsabt lspc_indenttforce_nltwordstspcstword((RZs,/usr/lib/python2.7/site-packages/dnf/i18n.pyt textwrap_fillsf             cCsDtd}tjjj|dt}t|tjj|S(u< Easy gettext translations setup based on given domain name cs fdS(Ncst|S(N(R=(tw(tfnc(s,/usr/lib/python2.7/site-packages/dnf/i18n.pyt(s((Rq((Rqs,/usr/lib/python2.7/site-packages/dnf/i18n.pyt ucd_wrapper'stfallback(R-R R tgettextt translationRtmapt gettext_setup(RRstt((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyRv"s cCs2t|td|}d|kr*|S|SdS(Niu(t_tchr(tcontexttmessagetresult((s,/usr/lib/python2.7/site-packages/dnf/i18n.pytpgettext-s udnf(t __future__RRt dnf.pycompRR R R*R0R(R>tobjectRRR"R-R4R8R=RARRIRBRRSRoRvRRztP_tC_(((s,/usr/lib/python2.7/site-packages/dnf/i18n.pyts0             "O