PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib64/python2.7/site-packages/mercurial
Viewing File: /usr/lib64/python2.7/site-packages/mercurial/minirst.pyc
� Hq�Qc@sWdZddlZddlZddlZddlmZddlZd�Zd�Zd�Z d�Z d�Z ej d �Z d �Zd �Zej d �Zej d �Zej d�Zej d�Zej d�Zd�ZdZd�Zd�Zd�Zej d�Zd�Zd�Zd�Zd�Zd�Zd�Z ej ddej!�Z"d�Z#i ed �d!6ed"�d#6ed$�d%6ed&�d'6ed(�d)6ed*�d+6ed,�d-6ed.�d/6ed0�d16Z$d2�Z%d3�Z&d4�Z'd5dd6�Z)d7�Z*d8d5dd9d:�Z+d;�Z,d<�Z-d5e.d=�Z/dS(>s�simplified reStructuredText parser. This parser knows just enough about reStructuredText to parse the Mercurial docstrings. It cheats in a major way: nested blocks are not really nested. They are just indented blocks that look like they are nested. This relies on the user to keep the right indentation for the blocks. Remember to update http://mercurial.selenic.com/wiki/HelpStyleGuide when adding support for new constructs. i����N(t_cCsd|dtj|�fS(Ns%s %s s"(tencodingtcolwidth(ts((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytsectionscCsd|dtj|�fS(Ns%s %s t=(RR(R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt subsectionscCsd|dtj|�fS(Ns%s %s t-(RR(R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt subsubsection!scCsd|dtj|�fS(Ns%s %s t.(RR(R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytsubsubsubsection$scCsK|jtj�}x&|D]\}}|j||�}qW|jtj�S(s5 Apply a list of (find, replace) pairs to a text. >>> replace("foo bar", [('f', 'F'), ('b', 'B')]) 'Foo Bar' >>> encoding.encoding = 'latin1' >>> replace('\x81\\', [('\\', '/')]) '\x81/' >>> encoding.encoding = 'shiftjis' >>> replace('\x81\\', [('\\', '/')]) '\x81\\' (tdecodeRtreplacetencode(ttexttsubststutexttftt((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyR 'ss \n(?:\s*\n)+cCs�g}x�tj|jd�j��D]j}|j�}|r%td�|D��}g|D]}||^qZ}|jtd|d|��q%q%W|S(s�Find continuous blocks of lines in text. Returns a list of dictionaries representing the blocks. Each block has an 'indent' field and a 'lines' field. s css+|]!}t|�t|j��VqdS(N(tlentlstrip(t.0tl((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pys <genexpr>Jstindenttlines(t_blockretsplitRtrstript splitlinestmintappendtdict(RtblockstbRRR((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt findblocks@s% #cCs�d}x�|t|�kr�d||d<||ddjd�r�|dt|�kr�||d}||dd|}||ddgkr�||=|d8}nb||ddjd �r�||ddd ||dd<n"||ddd ||dd<tj||dd�}|rO||j�7}||j�8}nxi|dt|�kr�||dd|kr�d ||dd<||ddc|8<|d7}qRWn|d7}q W|S( s�Finds literal blocks and adds a 'type' field to the blocks. Literal blocks are given the type 'literal', all other blocks are given type the 'paragraph'. it paragraphttypeRi����s::iRs ::i����tliteral(Rtendswitht _bulletretmatchtend(R tiRt adjustmenttm((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytfindliteralblocksOs, 1 %"1s((-|[0-9A-Za-z]+\.|\(?[0-9A-Za-z]+\)|\|) s0^(-([a-zA-Z0-9]), )?(--[a-z0-9-]+)((.*) +)(.*)$s:(?![: ])([^:]*)(?<! ):[ ]+(.*)s[^ ]s (=+\s+)*=+c CsOdttfdttfdttfdttfg}d�}d}x|t|�krJ||ddkr=||d }x�|D]�\}}}||d||�r�g}xqt|�D]c\} } ||| ||�r|jt d|d gd ||d ��n|d d j| �q�W||||d +Pq�q�Wn|d 7}qHW|S( sSplit paragraphs into lists.tbullettoptiontfieldt definitioncSs�||}|dt|�kr.||dp1d}|j|�sGtS|rv|dkpu|ddkpu|j|�S|jd�SdS(s�Does itemre match an item at line i? A list item can be followed by an indented line or another list item (but only if singleline is True). itit N(RR(tFalset startswith(RR*titemret singlelinetline1tline2((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyR(�s *)iR$R#RRi����i( R'tTruet _optionret_fieldret _definitionreR4Rt enumerateRR( R t listtypesR(R*RR$R6R7titemstjtline((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytsplitparagraphs�s*     icCs�d}x�|t|�kr�||ddkr?|d7}q n|}x�|t|�kr�||ddkr�tj||dd�}|j�\}}|||dd<|||d<|d7}qHW|d}q W|S(sFind key for field lists.iR$R0iRtkey(RR<R(tgroups(R R*RAR,RDtrest((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytupdatefieldlists�s )c Cs�d}x�|t|�kr�||ddkr?|d7}q nd}|}x-|t|�krz||ddkrztj||dd�}|jd�}|jd�}|dj�}|jd�j�}|jd �j�} |||dd<d } |sd } nd |r!d |p$d d| || ff} | j�} | ||d<t|tj| ��}|d7}qNWx|||!D]} || d<q�W|d}q W|S(NiR$R/iRiiiiR2s s%s%ss-%s s %s--%s %stoptstrt optstrwidth( RR;R(tgrouptstripRtmaxRR( R R*RIRAR,t shortoptiontgroup3t longoptiontdesct longoptionargt noshortoptopttblock((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytupdateoptionlists�s: )   c Cs=g}d}x$|dt|�kr2||ddkr%||ddjd�r%||d}||dd|}||ddd}||k}|r�|j|�n||=|}|d8}x[|t|�kr!||d|kr!|r||=q�||dc|8<|d7}q�Wn|d7}qW||fS( s�Prune unwanted containers. The blocks must have a 'type' field, i.e., they should have been run through findliteralblocks first. iiR$R#Rs.. container::Ri(RR5R( R tkeeptprunedR*RR+t containertypetpruneRA((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytprunecontainers�s*  ) s^([-=`:.'"~^_*+#])\1+$c Cs�x�|D]�}|ddkrt|d�dkrtj|dd�r|dd|ddkrd|d<t|d<|dd}gtt|��D]<}||d kr�|dks�||d d kr�|^q�}g}x�|dd d!D]�}||krt|d<q�ng}|d}x�t|�D]�\} } | d t|�kr�|| d | } tj||| �} |t| �7}|j | j ��q4|j ||j ��q4W|j |�q�W||d<qqW|S( sQFind simple tables Only simple one-line table elements are supported R$R#Riii����ttabletheaderRiR3( Rt_tablereR(R4txrangeR:R>RtgetcolsRRK( R RTtdivtxtcolumnstrowsRtrowtpostntstarttwidthtv((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt findtabless6   <   cCs�x�|D]�}|ddkrt|d�dkrtj|dd�t|dd�krtj|dd�r|ddd|d<d|d<|dd=qqW|S( s�Finds sections. The blocks must have a 'type' field, i.e., they should have been run through findliteralblocks first. R$R#Riiit underlineR(RRRt _sectionreR((R RT((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt findsectionsGs + cCs[dg}xK|D]C}|ddkrg|dD]}t||�^q1|d<qqW|S( Ns``t"R$R#RR(s``Rn(s paragraphssection(R (R RR!R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytinlineliterals]s   1cCs^d d g}xK|D]C}|dd krg|dD]}t||�^q4|d<qqW|S( Ns:hg:`s"hg t`RnR$R#RR(s:hg:`s"hg (RpRn(s paragraphssection(R (R RR!R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pythgroleds   1c Cs�d}x�|t|�kr�||d||ddkr\||dd kr\|d7}q |j|tddgdd dd ��|d 7}q W|S( s�Adds empty blocks for vertical spacing. This groups bullets, options, and definitions together with no vertical space between them, and adds an empty block between all other blocks. iR$R.R/R0RR2Ritmargini(sbulletsoptionsfield(RtinsertR(R R*((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt addmarginsos  (cCs�d}x�|t|�kr�||}|ddkr�|ddjd�s_|ddgkr�||=|t|�kr�||ddkr�||=q�q |d7}q W|S( sRemove comments.iR$R#Rs.. s..Rri(RR5(R R*R!((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt prunecommentss '& sR\.\. (admonition|attention|caution|danger|error|hint|important|note|tip|warning)::tflagscCs�d}x�|t|�kr�tj||dd�}|r�d||d<||ddd|j�d!j�}||dd|j�d}|r�||djdd|�n|||d <||dd=n|d}q W|S( sj Makes the type of the block an admonition block if the first line is an admonition directive iRt admonitionR$iiis tadmonitiontitle(Rt _admonitionreR(R)tlowerRs(R R*R,Rxt firstline((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytfindadmonitions�s) s Attention:t attentionsCaution:tcautions!Danger!tdangersError:terrorsHint:thints Important:t importantsNote:tnotesTip:ttipsWarning!twarningcCs�djttj|d��}tj|d�}|d}|d}d|dd||f}dtj|�d}dtj||d|d |�S( NR3RRHiRIs%s%s s %s t initindentt hangindent(tjointmaptstrRKRRtutiltwrap(RTRhRPRt usablewidththangingR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt formatoption�s  c Cs�|dkrd}nd|d}|ddkr�t|d}t|dd �t|dd j��}||d}djttj|d��}d ||tj|d |d |d |�fS|ddkr�dS|ddkr|d7}|d|j|d�dS|ddkr]t j |dd�|d}d||dd||fS|ddkr�|d}gt |�D].} t g| D]} t j | �^q��^q�} d}t | �t| �d} d|d}dt|�| | d }x�|D]�} g}xEt | | �D]4\}}d|t j |�}|j||�q%Wdj|�}tj|d |d |d |�}| r�|dr�|d|dt|| �d}q ||d7}q W|S|ddkr�||dd}t|dd �t|dd j��}||d}djttj|dd��}d |tj|d |d |d |�fS|}|ddkr�|ddjd�r�|ddd|dd<q�tj|dd�}||j�d}n�|ddkrv|d}|td}t|�dtkrJ|j|�}n|jt�}||dd|dd<n|dd kr�t||�Sdjttj|d��}tj|d |d |d |�dS(!s"Format a block according to width.iiNR3RR$RwRxRi����s%s %s RhR�R�Rrs R%s RRks %s%s %s%s R[R2iR\RR1R.s| iR0RDR/(t_admonitiontitlesRRR�R�R�RKR�R�RRtzipRLtsumRRR5R'R(R)t _fieldwidthtljustR�(RTRhRRwthangt defindentRRkR[tctetwidthstspanRdRtwRitpadttermt subindentR,RD((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt formatblock�s�  ,    A !&,#   cs�g�d}g�d�}��fd�}g|D]}|ddkr4|^q4}xvt|�D]h\}}|d}|d}|d}|dkr�|t|d �} |d jttj|���} �jd | | f�n8|d kr�jd |dj|���n |dkr&n�|dkrU�jd|dj|���n�|dkr�|d} | |kr�|| 7}n|j| �d}�jd|||d�|f�nb|dkrq|d} �jd�x}| D]u} �jd�xH| D]@}�jd��j||���jd��jd�qW�j��jd�q�W�jd�n�|dkr�|d|�||d�}|d jttj|d���} �jd|| f�nG|d krX|dj d d�\}}|d!kr|d"|�n |d#|��jd$|d j|g|d���n�|d%kr�|d|�||d&�}|d jttj|���} �jd|| f�nd|d'kr |d|�||d(�}|d jttj|���}�jd||f�n�rc�d)\}}|t |�dkrj�jd*|��j�q�||d}|d}||ks�||kr�|dd+kr��jd*|��j�q�qcqcWdj��S(,sFormat RST blocks as HTMLR2cSstj|t�S(N(tcgitescapeR:(R((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyR�scsF� s�dd|krB�j||f��jd|�ndS(Ni����is<%s> (R(Rgtlevel(tlistnesttout(s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytopenlistsR$RrRRRwRxR3s<p> <b>%s</b> %s </p> R#s <p> %s </p> s R%s<pre> %s </pre> RRkis<h%d>%s</h%d> iR[s<table> s<tr>s<td>s</td>s</tr> s </table> R1tdls <dt>%s <dd>%s R.Rtultols <li> %s R0RDR/RHi����s</%s> sdefinition bullet field option( R>R�R�R�R�RKRtindextpopRR(R t headernestR�R�R!RetbtypeR�RRwRR*R[RdRiR�R.theadRDRSRPRgtnbtni((R�R�s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt formathtml s� )    ! #  #    '           %   .  !  !    icCs�g}t|�}x|D]}|dc|7<qWt|�}t|�}t||pZg�\}}t|�}t|�}t|�}t|�}t|�}t |�}t |�}t |�}t |�}||fS(s Parse text into a list of blocksR( R"R-RjRZRmRoRqRCRGRURtRuR|(RRRVRWR R!((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytparsees"             cs#dj�fd�|D��}|S(NR2c3s|]}t|��VqdS(N(R�(RR!(Rh(s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pys <genexpr>zs(R�(R RhR((Rhs7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt formatblocksysiPtplaincsvt|||pg�\}}|dkr9t|�}ndj�fd�|D��}|dkrh|S||fSdS(s-Parse and format the text according to width.thtmlR2c3s|]}t|��VqdS(N(R�(RR!(Rh(s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pys <genexpr>�sN(R�R�R�tNone(RRhRRVtstyleR RW((Rhs7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytformat}s  cCs�d}d}g}x�|D]�}|ddkr�|d}||krR||7}n|j|�d}|| }|j|dd||gf�q|s�ddgfg}n|dd j|�qW|S( s=return a list of (section name, nesting level, blocks) tuplesR2iR$RRkiRi����i(R�R(R tnestR�tsecsR!R*((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt getsections�s     $cCsmg}x`t|�D]R}|d}t|d|�}|jg|jt�D]}||f^qL�qW|S(s=generate a list of (section name, line text) pairs for searchii(R�R�RRR:(R RhRRRRR((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pytdecorateblocks�s  3c Csgt|�D]}td�|D��^q }d|}|djd�|D��d}|g}xz|D]r}g}xEt||�D]4\} } d| tj| �} |j| | �q�W|j|dj|�d�qjW|r t|�dkr |jd|�n|j|�|S(sAGenerate an RST table for the given table data as a list of linescss|]}tj|�VqdS(N(RR(RR�((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pys <genexpr>�sR3css|]}d|VqdS(RN((RR�((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pys <genexpr>�ss ii(R�RLR�RRRRRs( tdataRR\R�R�R`R�RdRR�RiR�((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt maketable�s/ !  " (0t__doc__treR�Rti18nRR�RRRR R tcompileRR"R-R'R;R<R=R]RCR�RGRURZRlRjRmRoRqRtRut IGNORECASERyR|R�R�R�R�R�R�R�R�R�R�R4R�(((s7/usr/lib64/python2.7/site-packages/mercurial/minirst.pyt<module>sd         3 *  $ & 2               O [