python2-salt-2018.3.0-29.1<>,9:\Nĸ/=„Bd_ތ* b}N[?Q3['|'|$W89RfK 3oəlUQp %R IŎ_P?VjGrrxIL|_5ePZ-:ǴEHD &t4q6V{ \Δ% 8~? I5_XqmwlOLRullP~)Vu\*j+fd 0?Fy.>zٽQ$1^e][l1+PPqQʣ0R>B?d  6X\hl  E1 E J E c E  E  E E , E] E ERp E    ( 8 9:/ F޴G EH EI@ EXM8YM@\M\ E]~p E^Fb'rc(d(e(f(l(u( EvY w[0 ExD EyX z_gvx|Cpython2-salt2018.3.029.1python2 library for saltPython2 specific files for salt\Ncloud125aopenSUSE Leap 42.3openSUSEApache-2.0http://bugs.opensuse.orgSystem/Managementhttp://saltstack.org/linuxx86_64, S&'5'(la!J T389 8e2^H ? 30#[#z    ` m-&   U/_)F]l{ T  }5 o g x m06xjMoE<a -1C1<%H"\I'*nB1p{ GVH x 2P`5/3MEXp le74l1[* !K=" ple>C*n{j~cx,.E 7bNB}9v="59fwp\#OrG91hP"W=Tւjj?<%Cs?ykqSs G [W*; 71[/JAK,F%h'0<-^\4O3T4 =M9`@,[ {?.<wE*@ D :,  - 1<2i ]:&&R###% $'Bmx  8N' oYJ/:Pq W&mP~ - 4&.J &-;5E.Sq`Si53V-|ZR Z}fvM t C > <W44_  N_'vxY 37{C luhR41vf/';>0WOE&i-Z8xz > 4  ;V% F  -,yQ;Vp] ' ^g?#!CB 6}3M1l`O hS;"$ !%B1G2p _ A9<:8$_QO'!d",88T!qhZO= %!or|-.uyxkq$s4M*7;s?.,C&*]:3K+$9y'>6_VM>7</*.KlhNC4DE}"~xil}cQF Pf{,1QTRm6  3BOsP|j| ,@LLq#y,!H,'8@4!P6+mBhcIB)k,sFjH##Z"!mq\y_2&aqxub%1[.'/^Zkm><-4  # B#\e22$# l:xL HG i ! $" f7WexG|E4E693:'(X6V%d+!%Rܼ[?5qNT@E"z~$^Z4O uX w9(-!^duNmB"[?[)%6 *1  ?H!$GA{I@(?EM5U5JGF$E'  [%,t i!TBoBH!"ghr`H=@͖OAQI:=02~ d][ "tq"~ R:bWf"'c)'';KRZ_f '.5g9123LV37;-.* &"n wv0+R]:4:= w  `-k05n9=l;9>d36I<2DL!)&CDeEX2(,O'(PQA8"c3}:EEoy69T @  FEEhl:,3cqd ?~i{'D$o.* $62oEQO  Kl#jk"ޅ1w8iZO(Rc\$  A1B &%PsEr-w.~Y} %u!"P!"$ - K .i4VB 2 *Qc u)6+?s PPNqO579)%x9LP-P+(*D5D(j(ZSW?8oQ# a *t,JN,%./5p  F 38#RrsxNbQ@ 6,~1B-P`U bm0^?Q1B6IwgWFy>~!#ED. 3O+CR|S"/7Dr H  #$mDpG>%!#*)&+*"'!"Dpmn6*%"C&7lgf-.  +| ..2DzC>13 *!A)@c.)$($b(MlYXvkBFUb_w@=>H@l^k*}wh`*/% <<VMw9+9O%  tgE | F~]9K7: #)"6T 1GE    YRWdm K hURH#\#$ ])` K 262 =>/w mX)X } =0Lz33 A!"#^("!! ! KxES012* y.+l5D?}9S15:X!jP&%1 04?b2x() E f i01 h I46B;O@ ' sHb"$g?c6 g I$(c-t(! Q C2/ x?Q;.o(`"#Z ,LD;J5a$#Y'_vc EKH= %0 3p*-+1 y d" (q8Y \ $"_hC!&;t    $D' c!% ( j  -$2)(]_E8A:]sE" YS+ 1W G(H( EBuoq&M?&>|  zx$'x L H  +&$%$""- Q [sJ,Go?;$=\:}5 >   [ AA b  =  8 Q k l aEn c<'25K#EN0 `1 : L W C & t } 3 -j?"o)*)~  ]{Ï~0%[ +8_.)4&0j#9,+gJ>t#XG&>EK<4+]l9)M{Ri/M)B,n1!&k/)lU4P<% _HzQS$C b"I% :/>+4Y =2gE!aN 9+'veeKa"$]$yC8 jfilJD: Y  V83FN;!#P p Qѭg}Agn G#M XH#{!"R1,D(896H>!G=/'C&R hP Q#6  > '  / @  = :{:.J4"&"!( ~emLTG eB I< +B#Y ppO@  ) Y# R a nQU P OpGUx#  @sw T &B t- _Ih Y   DXeZBf9 8M!B7: M Q U S /$C.O%,?y;\.R2~&/Y&AG:G6))!Jk$%>9#.s-,% 7 ^,g%L / #;M)s6 ^3{c. P`1v}[$U/,@ZuKYH  a &  <)Zz R 6 VM U u# 'sZc0"*oJ~gd8/)-=4{\a {~Q ]C 4 s<.Cj.S!N M9+`  j ,)~ (Y"(0, }O..  L ))p*" * 61c"o\o a^8*5Y'vCu M*%*&-f. )QH71 E j\N 3 J35dH7$0$(Cf'l#m$ `m2I#rO-v'7+=!h]4h(aE=Q gTU 0 Ko,.Z -tJV .@ /6 3/%r@  d/! r keUCZK7R\0H]t~Kr;0 $&M;"#&n) { /(2ɲ5 n q<,Q$$xY Gaa\u M]y 98, O[}v c 2k!(ffY(f)etqc2-$#&, 3C^Z[{k4RW a Z= O [i`q~r *$ Xq^? yyPe}O)_drT(27 6i1T4!Cv| 8 &%CV' ~3+ (U'f j o פH&/ zW q<.  R7<-&6.1vE/8 o^3#<g)HOHX x 9374U$! A< \ rLD|yimR)T(g&Lx Mn2Z|B826 Y dF>W>\TS _C*/}j R v,  5!'r gM*l  H3:sHA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤\N8\N9Z~\N3\N#\N8\N0\N8\N'\N4\N8Z~\N8\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8\N5Z~\N4Z~\N5Z~\N5Z~\N4Z~\N5Z~\N5Z~\N5Z~\N5Z~\N4Z~\N4Z~\N4Z~\N4\N5\N#\N4\N#\N5\N#\N4\N#\N4\N#\N5\NC\N#\N5\N#\N#\N#\N#\N#\N#\N#\N#\N8\N#\N8\N#\N8\N#\N8Z~\N8\N8Z~\N8\N8\N#\N8Z~\N8Z~\N8\N#\N8\N#\N8\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N7Z~\N8\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8\N#\N8\N3Z~\N8Z~\N8\N4\N#\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N8\N4Z~\N4\N4Z~\N4Z~Z~\N4Z~\N4Z~\N4Z~Z~\N4Z~Z~Z~\N4Z~Z~\N4Z~\N4\N#\N4Z~\N4\N4Z~\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N4Z~\N4Z~\N4\N4Z~\N3Z~\N4Z~\N3Z~\N3\N#\N3Z~\N4\N#\N3Z~\N3Z~\N3Z~\N4Z~\N3Z~\N4\N#\N3Z~\N4Z~\N4Z~\N3Z~\N3\N#\N3Z~\N8\N4Z~\N4Z~\N4Z~\N4Z~\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N4\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8\N4Z~\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4\N#\N8\N7Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6\N#\N6\N#\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N7Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N7Z~\N5Z~\N7Z~\N5Z~\N7Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5\N#\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N7Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6\N#\N6\N#\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N6Z~\N7Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6\N#\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N7Z~\N6Z~\N5Z~\N5Z~\N5Z~\N7\N#\N7Z~\N6Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N7Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6\N#\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N7Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N7Z~\N6Z~\N6Z~\N5Z~\N5\N#\N6\N#\N7Z~\N5Z~\N6Z~\N6Z~\N7Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N7Z~\N6Z~\N6Z~\N7\N#\N6Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5\N#\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N5Z~\N7Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5\N#\N6Z~\N7Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5\N#\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N7Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6\N#\N5\N#\N6Z~\N5Z~\N6Z~\N7Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5\N#\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6\N#\N5Z~\N5Z~\N6Z~\N6Z~\N7Z~\N5Z~\N6Z~\N5Z~\N6Z~\N7\N#\N5\N#\N6Z~\N5Z~\N5Z~\N5Z~\N7Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5\N#\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N5Z~\N5Z~\N7Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5\N#\N5Z~\N6\N#\N6Z~\N5Z~\N5Z~\N7Z~\N6Z~\N6Z~\N6Z~\N7Z~\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N5Z~\N6Z~\N5Z~\N5\N#\N5Z~\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N6Z~\N5Z~\N6Z~\N6Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6Z~\N6Z~\N5Z~\N5\N#\N5Z~\N6Z~\N5Z~\N6Z~\N6\N#\N5Z~\N6Z~\N6Z~\N6\N#\N5Z~\N5Z~\N5Z~\N6Z~\N6Z~\N6\N#\N6\N#\N5\N4Z~\N4\N4Z~\N4\N#\N4\N#\N4\N4Z~\N4Z~\N4Z~\N4\N4\N#\N4\N#\N4\N#\N4\N#\N4Z~\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5Z~\N5\N7Z~\N7\NDZ~\N7Z~\N7\NDZ~\N7Z~\N7\N#\N8\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7\N#\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N7Z~\N8Z~\N8\N4Z~\N4\N0Z~Z~Z~Z~Z~Z~Z~\N0Z~Z~\N0Z~\N0Z~Z~Z~Z~Z~Z~Z~\N0Z~Z~Z~\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N#\N8Z~\N8Z~\N8\N#\N8\N4Z~\N4Z~\N4Z~\N4\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8Z~\N8\N3Z~\N3\N#\N3Z~\N3\N#\N3Z~\N3\NDZ~\N3Z~\N3Z~\N3\N#\N3\N#\N3Z~\N3\N4Z~\N4Z~\N4\N#\N4\N#\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N4Z~\N4\NDZ~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4\N4Z~\N4Z~\N4Z~\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4\N#\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4\N#\N4Z~\N4Z~\N4Z~\N7\N4\N#\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4Z~\N4a437785e46e080e08804c749caa503f73d3c3bdcc47ec90121ceca68f79be432e757bb7c2066db664c56d9637709a04f802d8d059168d04534236db348856f005f49f5ab125f67fa27e59b30f5ec8e88fbb2870f41b8dff8a1108773bf965be8c3ae2d4de089df51103c51234234c30eb452583367d8b9b389776298b7715044ca4eb62d5b95423a124d8b7ad3acc71d70e6eb8ec2ce40d6fe1a634e143696bd5dfa676914d64586b9045eecfc756f7a4046a4b9fb801ad13fa95fe0112d47469e9b0b79e046827bf8166819678825417e4f48ba4c9b7388f42ead2296dcc376d30a6268576171b50f2f24fb2f61ddca0d77303f263a23f24734e3d70db470bb85622e3da33f8fe38956c3bea11b5ad72ef6f4b31026a073726e2acc2b1dac137cb8f5fbb4af3dab6837458b3c108bdf19db0a9b851bd048286b60cf75c0edb73341ee71e0a4eabfa3a0a9b6dd70d09cb644e542bd4288e9981d7a8d1076d5782c086d2ccd62cbe2191054e97c1404138e24d1cba0ff0d4047bb42ba6078555605114156f634e3f71d0a54a0559b39b27c140d7ce88b0a59f1eaf7362be34645dd95b1b9053d4d57936b92778d62697bf7ef943d7c0d5f6e721f6ad103551d64d1c0aacb7702733886b85b4d1babc98e335e8396f8a5c81e319f1812afd29f69c98ad16d8107eff52fc4025766fe9f3bcf947d4505797339a2052ca62ea8da1f39e49ec8872593bbf2fd464c95ee76498c7b67dc00a0ae5d87d08125e8492b1899960318da5b2f1a7210aeba708466fa90fc1443583a5c028aed4075264a95a5e33cc07b71d6c2d927a929511f0218c5ec4c0c948efe514da9130b4a986b3abf8782c2c78c7247a1e4699b15e28a7a7c055473491b8bcb1b98f234e69661b04e0e701d9ff6053c51d68563aca0548796dba20fe9f86d6857e5587b86857aec282c25716345da0777efd431cf2784ffac4b9bfcd427c3ce1f109afb6824bfa3886c46d86d58638b7f39c6ff45f449284807525f01ca5039c836a2680cae77b783fe0686d66140916c1a36e19b5f6896a634213c4cc6f96674356c9e27617da16b16028083bbc9abed44180f51fa3b60c36ae4ba074ea0987da817a645e49a01e1e94cc3f2aa6218ac072d4a8067cc53a8f0f2c186a9870ce96ff050c4ce3d16d1aa5e1286ffeda1d01f01bcd7fb66f42bdaf467965cb8db88e11219c62020977e8c182832d36819c3c35e9e0e4538ea8e249dc89004d1e751ed9861a7c8a76caf894e7bcaa97aa50fc03a5a778e811a7fe860e20736eacfba09715b226590adee984fa580f859f101c007243107750190fab38888335038a0410ceef0a5c1844063f5f22b52adb159e27821b597afe0fb150723edc5b3c2e0cca194592800c9b2b3c26e531a2087cd9763b18b6b61d2a6e7644e3b55d56e6d99f38803389f98fcf2580fe2400ee829fc0612e3e47e0676edc765bad0846f33951e65ec74af79b6d06abe42f4beaf8ded64025af834d404ef4f82ca35785025d7c0ad079157ff0067cb296b75d6608d8f0dd6ec3c4ba394df1c6ae50c895e825eca0b967f3674fc5a61a4160b19f6ea8a8523fd31b67681a803ef397d40d80c74a8f2179b6456ca97a6f620639fc552d065910bd57a76f29be91bf8cff48d542d018e428f57ebfbfa34c8019e3ab10e9a86def123a70c46e7e00ab2aa2ebe2e44a41a98b353a4164dd6f4560cfc4ebbf9115dd0d02d08599a51bb5ed10eb20f61e95f3cfb01bfee5f78ca788e2e0654dfdcb333845a9d0efceb226e58382839181f284a053b40859acb5a39bd533a0fe00c6183b5e6e2d7e133edcee025572ee8f18a4006229cfbb3c4c4667283791dfa61a77032321b20939dc778bfbde341261937500ba86e75d663cd642ee783633d80e2b00c95a30027a2b1d27b02edb1b8a3ed609b171c504c7fc1af432e630e202c56d3b7175d19964c4228249466e2d46fb089dc935c2e546cde463c15f503e7032760f94dad1036facf170060d3fff03b8486bafa2591f5de01510c48b170db4df920e8d9178ca7f1d42f0a9f443fbfb545c9639450be8a02e1ca80eccd1b8fc431ac7a04682cd2f231a05cbbfc111a181b27e1b67965a8ccdab1d70ba4cd48e9b45d495b180139d502658c59f442c333e032e4bb58c76ad33c4622c39f242567582e2f957cec64c7de011e2813ebd03148ac8383f396963c954a7713c3e5d4210ac040cf45d9e3c9dcc1e4a4d190574b72d70e65a99d5e385fe6f8d1441fb4b8494af973d5e841527b959be610c1a7fc3d7985a3ae0aeb956a04ed5729a1539f38fcc610239b8a9cbb64f2402485e76a3b1b5f0c9f8caeded6bd74051bbd5eba49da8522fe5e67460f0cea13b8529448d6c3a965bab2b9fd93252afb3eb22f862a5ca5cf044a54f96d119b671eaed3707f850b73bfbb168bc5970cdc2b4bcd0d98003ed3f2e17b7d52cfd6e9dd90a7849ad4fa1805a1cf69089f5b7d5cb2f54707f58ab0452623bc512ba7df48528a62418ad02d628d1151ea47d6de1a451714651ae23fffdc36093b1a22c5f4001e94b924fdbd956785cd3d5816c16f2b540582884237694358ccda01d01ba26d2bbaed3f47e634c5c45263066a929fef2f3ef59e46d961fa767d1902055006fd6b6df2bde7bbd3cdd9e2d2c4bd4b7bbd56e5712d03144dd4142cbd6e28d945915cc1dc9e771f5994ddd7c18d91dd993cc70fb7bb5860241f5a292b030f6d38bedfae1c6f81be9e175b2cdc6c012737d2b72da8181b2cef60c20bb71524837958ec43d72590056ac88fe61abceda00d85ca3c0dc92f87e3f751d73a7d4004dfb10e49476817ca6251707c5e062ee83d2b6968811ac56df7d3d880be362b801a6e95a9936586c396c604a61641d76de08876732acbff2258f9bb4bcdf7ab278b6bddc81f1efdbd459362ed2a99a8d0446cf82fca38964d0b5c8f5397577d40f02fc218628a9565a304b28e8637a8bb1afea4274de01e2cb4cb8824d079f89c8cb634d28ac2dd4d370244ac8f708ce3d03409db00825a2642dc65bedb87d73614ce7b9c2cce55fc68c7fcbcdbc52f664ffd46c995dd1da920ed036a2ccb879b42f97e05029c4b5f94bfe2eb5b37a1e98059f2be015c8ddff2b9a5445b0a8f4deec7646cc402eb45f029fac7079d516b076e09ab678d1864a472e154fc6be280f958be1e385c17136fe0ae45f2c3f311eaa66212999b9f99e5db77b0d58d5828c6e08f35e416520fb0c33dccbc54004748faafefd7b924b23317be2557c328b300fbdd496073af2a8d4ad9c0e09616bdb55fcb9b5e9af71359daddeed0416efa120523f68c2b1adf8509b7c19a30d5cdcef7be1dc88ade78cf42fac50b4ab8431de67809ea75448da3fae4017b72b9532addf33df7933c0b4acd2533a63510aa0045db3c2b229552e4995e26b44ea5b4c424bb4ae9753424a22073c66311115aac40be0ade7d98e1605425a98f2146d496174dd2f0165dda9066030e98390133228f40a6f6597c7d236211aa72a8be7b8fa692944f1d71a1dae654ff8861e0035e5c63f5e6f6a0a63d5a8675c987181ff216b7dc999961d8c10b096d2a675d6d9e3fa631cd4e2dd9f2fec82d6c7663e54edf4d1f67e26bb660356a1add869b1ce511090103b49222c09da26a3f1da8165a1d2b5c0c13fa7fe11950befc1c37ecedb783e57a31bb588317f8f7e7a187aafa9e300db9aa81613428ffccd30ce84eb4a87ea95ab1770c9fc61f4e9e81dfb634839a0d02ad798c6717e0d25435467124d74e740f099a28ee710440fd7d697dbdafb6a66c028e53121c020223327abaec07910558a7431b544d6ac4d6bd278c0bb785fe1a756164d3887b51321d70a2072dfd40e5a8c3d0df622fb7b0ec65ddf134bc79b3e860da02771da5cd110bb0f73807edd5e79c9e0d08f1b214d4dd6b901447fe841856ac644ebe8a6be336bf97c2c2f2d2802981335029c10ee5f9d77124c924f8d4e6abd382cc655ea5341d5d087fe3b22230ca44ef1bb8b7ff08c338cbdcf5081defe2235a9a79ccc9bdf79c6b53a979398712e059d99f2e84f21a1e3dac07e3d3062801575e6f668c2a874673ce071abde7901318a99616fdc42a3af09bace54109ee789b4a9a23e6d40a5837eefbee28608e04410faec2a6f63fc0aa31d0e87b321258a98615b6871815e85fbb0374e4062950840f83c22583eb7493e8421207573333d1df4697b9472e60508b091c83df7f595efedea72e499f78cbd5288698173281710282f5abcbdc4a156bb7252a3b5ded5aabcd606fa7bfaa70184663b371871311f374033174a7c24bc1d6e6313c47aeafbd70e22d6dc68c090434914dbfe616d93781fb78e37f2f9745bef7ecc1c835ccd3258e5892c5813dbba827d5047228a3199fcd253180740949d32d4c4ca9630cad656f9f5f6ebc36eeb3270fa45a4bbb009259ee4d1d1b3fd4b6e5c993482f67289f1920b07a4226f94c15bd418f608390fe9ee9ea4d8205a50518a202b5411b697292bebc8ae9700bb9bc8c39ba6f0f11031e1e5e16901fc1947de0d3c5691d2c14d91237cbc774b0f1aee4539e23a11aae73112a141811e2eb04ebf5dd21a6b7cc21f32bf87f11cf4aab0a7dfe638f5327e8d69ff928b2991e04fb44a11dfff24e800d5a6f2fd8856c531d27a3c963c256a95761bd9e2dc55ee4d0b2d3b1ddb5d1326295fa0c1185cccb8222a559313a598eb07bc4865c9a7ee4f4f18d3351b209e8588957442ebe1db3bfcbb7411d23197d47a26f268c7be1bb2b21fb787af7727a016d86f550d9605832ca9b39a4a5bb5e1729f92db44da8da5841e4f7daf78ad141d59aadc6939320240c8ed6678762accf930445061c0711ac5f71748c02fcb8fddbe7ea71fd2c4f5aabd3d9b084e5ca8d91ddcb0a71c6c3886e18f6a4ac16b3d08632bdf7f7a2097a217ea3163e0228f6e1ada24fd84475887ff997fdc1ea98331483189305b292e37ac1c88e230c1acbabc675e63025e2ed4c5b2d3a7dc74cf74065a4fff0a80f25c3ca3e65fd2c5ffdaac694e1c0075b12f32e7c87e421e168a109079c7e679a0a4a2f252df05e9595f66305ba232c14e4fe7118f10e42d6a881c6d883aae296f26d30946e9e05197c90bef62bee2dbe929f01ad8e94148373f387aff667d009ca414cd56a05847c715aa12a8bb5fc5f74193085cb1ddc1d0a0c0027696898b60a44a1b6f56db7e6850b8f14e9272527b7fe077d26e5b2da8fa65115988aa1d9323e475971d39f3b425afbdc034f913744b4425530f8e38e5f6958a4d56451f286e7428b6d466018b8bfa28694c9db40193f436b70374d39b1466939c1de245e77dd440bc4f892309394d53abbb2226d0448002418f273fd6a7e2eb485d921fe665e1f45c10e5be32984f38c12158d21f33147d1e2d50f41a3556a5692ee0a74d28f263b64f7dc2b2f1ca4a54f9e14f427233d243105c887f4cb75573b980d9a8f206681825d616df81f303ab453ab51b2422937a2de72dfc6772cf3e503d3d9190228394b4f0967e8c87124b0875fc56a09421eb2b32e4826def7ccb25b7930c016d1f94eda164850804edb648d82052a96082cd88665eee08eccf03b9e6db088838ab8555ee8dd7d7bc040f679d83a976ba9a50035c8dcf7781046a68abdaef35c6280e3868de1cc07dc3fc43958f2824eaba88a96b373bf3ae92c78819609dbbc19aa064117d22ad732f6e77ddbc000bd5b4b59e121c6b41cad23a1cf14697ebd0424e7854ee77b53e78d371573366412804c3c192c604a318d32739dee9dbbf7e97ae9892ff7562c8c503197fe6d98b58dfb6fa2d22d400a1e92fcaf364389ae91f04adf64ed1c247c1b9d59dbf73b11a54fd0661f9c886a5a9defe32b5bb8a54130c8e425b9652be8108aa1916fda6d1b406545e3a657bbda23a6d2869f2c4937e29baab4b4fd6653faa3cdd6c933492f5aadaf29653e39d30ca94be17efbe20e67dd7dd7575bdbd8df496b67fcaa07e6185dd837f0b82eb4f0f2f539617c06d82d2bfa00f95d84d1c16c19b655a27751f0764bf9ad9ffa325d46bc8e8c7d248275ae05fa8585739f807745c9ff0f7389f8786601b30d664089fa1dde6e4621dbfcb7eebbf1b0ddedfd61a4201bdcdd49eacb9facce34a3bbe007f265d12f1735708ebaad5fc02c2327d7d46ce70e419a14776704920adec8c62db3793f0ffa5a0d275939e2877354305bcf9cc5024af51c776a64a3480ecbfcad6ea89fa75948c0e0f0d6ee9d1357ed8a909605818adcc03f2098f14800f50f2262821b102a47848c6ab34030f42cb7937320b3a37bf7dc12f934f479d3c678b341a775b8b0b1632551477ba304a0ae92079b70acafe94ab37107e04ea9b03797964ed89f99cba71dfe4601958a5d69087dc8dac1c3fe54ea599182bc143826d73fd9098b016be8fd03a2e05bc9f6548cb8050cefb0e088c3956143227ecef068eeb16c6cb8057c0cd8b768da1c3b264e8e90f86df2342626f82d9e1d3474cf51dc8eebe7f2e0d2937ab9a75314dfeb9ecbbc1c41538f152cb923c00a79384a2362893d8c55921a34b34d84551ef686a5acca772765bb025190650459dbec91e8e8795b77e0a6bc5e537380e7a700bcfbf1366f0bad1438bf0c4341203f0ff9a483edb6fe437db021a15ac9e67b7ca9a56a4490f9289965c6ef0fbc3a86f2960fe92523a4d7078a6ec4ddc376c4e6df9b9a8e4b0dd0edc5bb5fa4fae09ed5e915b654c144593be259d1533a9f7353949460d74e72d20b06c6f4a6f6df235bf238f8068533701cd867cd46005435827457d717a96abef5535a8b83fe54c422772076d5dbceac89c07460e6857c6138e2d1faf63e8997047e6b519e69799a4be137ed881e8e4928fcb79ed16495453023f07c75b4c8cc21fc1cec2313781052975a7b60c18ff09a2c0b0927362eb6d102dff0bc197a1752789e9341640fb2e88ed40b7a83e6dc23fdcc8532886f57749eb83539b94b4350b752549573ab0b11679b9fe1708ff599d7e626a0693b91e726989b2fec0ee0df1b73dbf2dcd36b0fef43dac97f71c6830cc8cfa60a1eab60b3c758c4989c6b476fc0c324d7569925fea2f451cba43104af5d55f2ba83d892b568aea8a31bc39e13095486bb0d959ee3260189a7bff57fb6e9a59281f839d5954e422297eda218fe627a8b934c6ccc6d90fe429295f90912161effd42af2ab5a2aa1f3500b7dca6f72214825571a5caebc545d36e5d28f322500348665d409ab1ef9e88cd63588e8f017efa341f3b4579604caeda41f16217f1a403a482d3b3d63a6f3c6c6912d0917dbe3550defa9048440d8bc08f90717c2f9bf45c5a082a10d91a7cc2cd61dcac6d6be9919ddb9ed89a31547f7f276888a5c7b6f4229d80082b3c1c4d1c1aaf280d0f9e22fdc99161806c397cff23fd47739f9bf3a2fb2821b753260799119a0af200015f89b8651165d6ca2773c596db4f9185ac38aad05fec8be4a3029d059c342555f87f9ccaf7c92968d6303ca7892483fb60c0a35f86b5f55912a51f9072e1ad9ecded5cab4eb19e820802de5618b79d05fc6bca0559cd1d62e0e0bc13863a1c420bdd74f64432807766226758b0c50077e6abaf260118c0f1d3e0427aa02cf67e9eefa157fdcea66c4cdb4aaf5fcc37a4209da41aeefb93ebcaa76b4dd0a4d3a33ce3af490fab94ac5a44046eb9a6e3bab7ee328f0ef2bc34cca2929e62318e8b558cc7063153d021e63c4ef1e0c1337e7e55346ddce845748a7c152997fcfc540b40ebbe195f4475c1fa1330fbf42848d715c63a5a392a0be633ea82f4f1327dae4f2b974d72d424e4958d163c5084aad2b57695e637bd69ca6de60902b3222fd575e2166feeda62708f0b0b3abf26143cef228bca74cfeaa6a38be0ac145b9aa4754d6691db36a52b9d3797aa7133b9dbe90f9a5a8d44cb2925d8e2997a238b10dd259868f086d55bbdf245eccb3da8c39e485c646ef83fe56619e61d14df5220700628d0f10efd1f39df08f95ee4ee0ca8bad7c1c94bd8695e8a17442c813fdce2a840c8a36e24c3caf35d59ec80f15545398651379a4fdfff44f3ce061dbf11174289e4de98d926d27daa31084578cb00e337a71eb67805ec71b9dfa023be38355ea7dd8c02d24aad8a30956975bf780595e8c9ac6063a0f4931609abcd09640852b4bb43a124f93819d3e216a5490e403d1b07235c227e8eb68999c16bec8ea358e5a32800bb7b62e294c0f89304b3089e2a3fed20ce8d85cc1f8db969d67ff8db10df03908c420aea2f351e7a7bd898ea96a801e07bb77ce5be71adc760ab7ec54792a9ef9d7693e78172324688fc979ec29e004fa6c5e00b387297df3882dbc6407b0e67b732e6df3b9ea8c809931e6b5035bcf4fb650e6b4fc0d1a66a9e183e361380f54d27468364d132dccd8739f7b7f60d6c23d0f3bb79999f98d41233aea9cd307c4d2d538c12f9a04e6e68ced6159bd94cf87033462685a512849f444544b83170089c713bbb006e3e9eddbc45905d3c65d61ca5c3bcee166882c248a6d45ed2dcdc91a2240f387e8973739b17a9300cad483501b4a42791ea80036229e65e429b216f6349d753c6a58e988078dfaaabcc0aae5242e00cf8838bd01f7dd4fda11c3529a168467e26dbdd16d7d8b78eacb22a7e3cc732eb9e6d230ee0a25db4b7d2fa4ef9f89af18c9260a49cc4619768832f9d2293e44f738e6134a95a97dbca210f821458ea97f044c06eb5189e5a30f65d5a93bb62948ae6ca9bcfa33533fe68a6f5f34ce90946e084e56517f33f08a2c97ffaf3d00b7e6842ad057d0d7ad42e3769494da052ba9f6ebe29c24fcccffd53eec51b292b69e01fb0ed4542661ddde0bc15014483e063b9dddde9df4039a9c3393c3d915dee0bef251ff707952d145f7e4c9d5660cc92412c7ef9f8d67d91f61f38880a5afd78dac1efc9679217dcac42bdc2add72b1e96bd9a177c2f1e26a4900c22869990df8f86c9ce50cf4b7504d2f95afa7fce40c3c317b5375970f484c2a435e5a9e22adef944fa2343070a85433a798711bdfd5f33dc5355cf043860e2d5c2bef78fccde9b1c07d8f25a759ebb0a2f12a89020a606ce4727ce159f064692958af9a12ace830e872b5deae0d69bca7a172293766aa971f3e16dbb84ef5aaa43a607421c0cc7934e3e872847e47f28bd6c482e11b44b69fd620bf1b9e09406baaea8c5afaad000ec8799d0b22e4b4eb433296826ca59a45f996bf839167515702e94484173817135241af54e6c5c216a0a38a4797488ace707df410b8490e6a595f697308dfb7745f51f5f672b589467ff02795bd8b2b5546cbafe3717c9a0ada102cd7e227c1c52a9b568062f51b36b2a7821d440341373c8672965797f28adb4878ca48371c5a11c25c96773c9aeff2022ed1b1ea4804cb8a451eab6e07290ca4048ee86376cb4269c5da7ab29dbb16f0056361d2c386ff372794a501727b5e8b922faa34cad1961c4e7c28a1d7cc44abc697df9e5f2bcff2ce18e5132ed653b0081c2e8adcc56a76d3486e54824151f5ec49dd90441e988b3303476a344dbd398b1df2ac84bf8b0f33350ac1e6e66d0643c22e54b7cb6e760d20e80734a79c0aff885350fe5f15fe10b78e31342f4c893353e5bfac5aac4efb64062059c1b9f37c5406a4bd2fcfb587883a1d9c4a71bfab788fddf120568b9a9f2be7780313f09004fcb974bb122ef4381a2858e02ce330e9435a885e558106bd0c5b6065452d05a62a161dfd291979d4bc1e898bf482950d44e1d5b6b011457215d7cb7c47018511d5d61b29cea36de0d3bec34764aa82b1df61d54dfe4df38fafdbd30abf872996644664f76c0bef2be80cf50610419ab018057415448b57f93babb419668f945cd68a01664f50fe0d23f31469ef53759f0a8632e53eb60bcd65001f33ed1a0d619ece010f83d00fa75179760be8ffc1ce184b990b3845ac56d1dabd106930f23fd452b1a4a92ed5f8ab621fcf913ae3a8e9f0fdf5de7197dfd50fef1571604ddd195f57eab6e4ea44e6008c689b0f22b087afbd385a12cc0eaec0a3352b5cb01d2b66300e1d9df004defc9050287355b55f1f7998909350ba915f8152e88eb163c77d113d71a87fa4e47bfc2d993c6208a9a3ec8eef5849d79d0c81d04a81461533e51b1665577fba4265146ad5c4b8313478966b06ca3ca65734848b7052633e00d5461cacc11f818e5b32e83f96724797ba8a02dc3674644949c1c27a5de0159f4d10f564d93a96e7c18c33675eea317f921d2b377c16b1aef74f3d32f7e1c2fb5648f38b437f9ae95612cbde5735a8c03920614cd964c22cfe4bb026ba187f122ee4aec3fc4759631940b9c3b2b0f395c6e65961bb709e57b0274bdc83a7bad27e904db1d837fe6119b0a6eed81008f23393ead91e23ee8e39c3995f06658fbcb52a91d0ed2a7fff93d3f247c64597c7df5a8ef5a66b0b4263cbdc86bfe2100988e9b2276734567e9d5ccadf16d64415317eed94e2b9490e57ed0b47baa322c50481a142057ab72e9d169222488c6f4d6577ff4664404d304028dcc6763335fa9b386411bb2f09da62775d91a1857ba701c1e0afa1da5248fd0af4f2683bcc4da377d3bdf80edf85b346def8034374de38f93e7a17decd60d9d4cbb4506e1aeb0bf1df63518ab8433a5aa34d07414f41da89808d7f6abf8ef4fcba7ccb880de2326087ea52ada78f7f1d66f37a28178ea001103bc1a7c2a0180348a22c523b48dcfaebadb012cd4f7a834f9061629e37821dd0ded189b0c4e2e29ea1c34d5fb0dbb32c52ef3aade7823022c15f7c6a9dc2837887eb32b4d7ba40e595a2dbbd3c49bf93aa535ff089e23b4fdd65ccafc16f147b84c48bd648241a0e37e5697118c49ead51df8004b1046a98051388fccd7a4cc947dd30539a4dc7b02d81884f52517edf1620c6d8ba1cc2efabb7a214591c1f89c828c908ae4d9796728ffaf1002d736511c5ff2fa17c4ee724e58174cf31e875c8d2f0f94687bd04aba9166ce00f5bf33e1510e90aba42c29bcec8ec146ffd19ed2c30a46dd1eefdd3919752165740f424bd978220c3a6f6824b57f88cee4b0fb0fc395dc6bb90333e395fd6a481ed379926359c650c75cbf8f12876edb46fe0babc086a525eb34f1568501ca1501687a7cfcf75cd9ec7ebc7583669b32ef80174fabba633a673383f2da45962e2236c6d5b5128fb917077be1ff59bc9df16554f4fa50b5a097af952cc2c268eb9d855bfb46ae94bf473d924e03e630a616b5f66a5372eae8104dca7f903326fbe979a004ad8f14a9a2d77d8c2d341e1fc133034d8d3920c4c6b44587a4ed9b64e9fea643db808d83ea6efcab7095d35a907feb3f9ace8a9132fd5c02df6665714b0541cd90a81e9f74a8030d9aba1bee49502117ee3f00dbca0122f7bbce6fe8c7e0e95617fc4cbd82cf4c1af9f1955feee9f981a9354c453ce0867a82008a754749c59038f2d7ff2586c83f307a084058cd09a97e00d7f8242632e788636493fbd44991f3b0ba40069e7f21fb9c012065f45948b101dbd542f137af33e011c5ee0bd0a105e10cd49a2b687f4c8824efbe2406ebacb4aeaca88e90fb530b6e40e4728e6a2e4efa700e39bb50a35b785befcd47337e0b13be70e45b65be4716e26a65174f5ffc68fd50421b9c60531a3b77e8ed878a9d92e31f53d521504bd7311fd618288dea10e9445693f3b69a8c3ac40a8ef21c974298110c347595065181e1a9d0b3aab8cef8277bd32aafe49b1913cba572e704a37ef7039103e9fa0e222a6ad7808f8dd10befce1366b2a48504dfe9ec9aa4f60b0637c5d0626dbd757971bf971ed067c6a8df2112116c94893303eb782df79daa6e9a6d9a6735e31241348ced1627f0db7eb83fc0f0f48bfd6e9179e3eee5a977849977e2454f459b7c45fe37391f19c113bb502e405257112c11bce0b0a86ce534663f85b2257a801b1121e6855fc32d9530841038f55449ec102208677a3633051dd4ff142c03b643f0d7c623abb1b67c820ac2ec569672467b6a99791394aa0087ef793bfb8e4021904f3b8b9eb3d48efa6416a43d9d01cd3cdabfd179bf3a580a3f8dbbc390422f01f644aa4fe1e7522ce1e3d94883d9b129be249e17bed645c90da35cc74f84bd46f63a637b49e1be257c045be2aa775681d50c9e5795ff15dbefe96a28b73a6b7dd8598dbf98ccb639337b0a0c155595222cfba5983ab9b09d7c6761f36dfa2cfce2a80ae53d07c0d6a5d1d585738fc9984474def22f7bf5b1e68db23b8a167bd134d5dd46cd9f38e132a6f816b8daa7b27ab8a521ebe29b1a195a47d54d53e59f441937fc183bc53f0eb7f1dd91c94cfc514e259aac7708f2be8fc51bd500c917de9e8ffd665e79149163512ff4573f776336c750250cb51b0257b9bee53b72091b88352deb59f346e1ce285cc81b12aa42771dcb15bfffb9cfc2f31e4f23cb0d6843427f2e4eefabcd912e2a878a915f503c11bf7bfbfd06a2704dc1c27d913ec23feac71cae72b6ebfc702fb5e9b1ac8c5b3ba252dab7f5d55a07459f0a542382e4197383ca60046c1d52f8f7f1f3d2bef1a96eb5d3993f96823ccd91695a7869d5349c4c1bc14e435b500ef0a8bded73e46f377e1c21d4752d99098ab3b41de4573c8cae8591813821ba62882a584f7788a56ba42aafd973bb619ea31b5a596d66bc19ee52bd5bdbb5aef992d4be9b8ffddfcfc3b6c810b6dc2fb8861041c1048a5aec8bc2c1d706a04920ee30085e1c9a03a3262f2ec2b96e910c6b713c3f7f4adc38c7278ce86320979e059eba114cf36cae7991b7da9738505e6c75fd5d17de5d1b36b351443d5e2bc7b6ae2bc535f06725a6b20ed17839d24a75d908ba3f2178ae9552eeecf75b6b3c852dacfc134b8fa28a65c90a848b21c73ff587127e7d1346fbe3b74724add2541ea2e69441dcb7dc4b9b3cb7257fb856836202a059679fc7c97f6f49223cc80bd920248a6f7458f448f5dbd2fbea69f346bf6bee713e477a35333cca3df1af41025e282bcd421d4374b2c134bee9bc313d60e8ce887b6188af87719452fd3f0eff700df86470f5e49cd89b40a00128671af1a273de8b399ddfdfa92bfdba6015523d611688529b8d5e5d0a4390cc508eacd7f55aa7dbe97d9a8186395001a7151f437096130e3582b618d5adb132a52eff7ff5d1ca3680d7475180026a3ee480d9d5489af28e2b4d71c1ad7e68b37cbd9fbd8a937ecddcb6f244b1baf809137856d9be90092ce1d981a547d1a817617035c977a19f0a34f4cc89686f103907364c60d61281124457c360357b7975e35fbf7f48b57fc4ebe99968143a23feecca1203af033e7788b20fc4568071f8b4502f002b3afd74536d21c2df6931031bfd582278c98ad4da3abbfa917efa3becfdedf57603aaf46c05ad1bc9da7f9526adbddf304f227bcb4b2c3136e88aed435cadb38d33c4e3fa4f115ef4afa936c1b931b89894f7c8665e44ff35f0e8c7cf1ce5fe44dd2ba36983185c2d8e63a926a2a403547025b588e9b4071e94c63589a7c0f5f56c9ac942fa201067a0ff3ca5606fe8dba1ff45d5cd13c88ad99f35f0b5a1eaebf3618d4aa38e1c227aaed5f5a0a82bc8c8c998ed94adcb4eca683854859b983d733ee67b7ced3ca5151a7a654e50c4562b8632e7181f1fc58555c2fb95223041d509a9fd9372482552e62f0b926151cccd500d4ee50d7d7dc787649bd52424cee54147c2e9d046550e247973ee116018fe430bccfc0188c4ea6674f4a28eee454353e5be4bda40d212326addab844d9d1664de49d6430bfad50ba70466dc9bd0ea56be22ba051f6e273c4e10131fce43ff86f523efac314a595589b4b4dd468525ccc85b4a7eca4bf844d9adbf7d9c69655608aa3c320450395f159c67de8479117d64e150bea829208e74acc06c8e19e335d8155d35738863a256207e7b9d9e1177abb601f8013aa52f836425e7b3efe2d2500c85552469040c3f98abe3987629cf9e9cb47fc9bf720f8e5c48f886abb1b6176c8fd7149de04ecbf191012eaab99b8a273688c640d0a924dff730dcb73cdf5ad1341604df8c5f8b365d4da4aba95a43a3bd746ddacb562132d69905e48fb81cd43b9d9b1585088f459181c49fc6c0f7d45825a9c9cd9f06815bd42f03b975224a9d863dae094cce7b895035078d75d07f5c1e9bb59da441257a291d0f881a3095316126d7fe4b163a0504b381530fa2d0405d3a4f0d62e5c818c63bac75b2665390cb3a36385f14f4a29dcc6cfd215dd24b5d8811bc61d9be004862a3b24fdf8d4d9f1f3794315362e38509a3a64efe329f24f5e91dc354e548b8963cba32f2bcb4eaee1ca65cf2501858c0c329dd88bb5c75c6a63ed62245b8d30fdbaa10cfd2b42cc2e2489e3af824b1d5724d033da7684b98a4a6a09036ac7a8dbe82354ed70266a0c0ac5d25749a84548eb56ba3ffb732b395c0cdb428a9dbfc41c40f60f34a567cdd139cc9faedad98457ebdb09eb2e135ea89a1f2a58d62adefce0635a7fb46baf67afff004a8af4702f794b3bd973377a952246196cfbbe153c8c1d1e8f42876b7562501a1610dd70601165b5377b05d9cebc50a629e08906e1fe0e14d9bbbdf77d020476edf15d4bc934e372b333d923ce8d01de7d9a34f371d75396ec2f875e17adda391636b711f5cf6222ddad696c81ddd61ade9996edc4d68e5b9bd0765987254e07d59d3e395935141a60ca6e13dce70a0188d15595e5e5ada45b92ba076524ff013519e056cefe1a381e2dafebd6567fedfbf5428dabb379db779f2ff716adc5cd8e035638728fa2612191eb3156777c10796b22d9da25c9aaf904bec02bf15c96f928397f46534dd06ecdba69bbb4534f7ab83dee2dce4758bc00a60bcc3cbcc142c0baa5ff7bd60ff58d42ea6f5a4954fa076c27cb09449d853d81e56b3aee28bad804348086c29315b03f74e73bba7e2948ba547ba42fb03e982c59aded4fe548686aa4b70df6aeb11f6f31313b776c99dab5d0e590a8be5e6cde1822d829ba55be39422f3fb3319867c7a7b6a320a4ba3fc71a8609c617dd7d47c6e32c2c310fdced0f2f93d15b748325e0e8800350e8e2a4fd7aa036f0d3726431ce38d44079c21d048b8ea0446946baa3f46897c35edcd556a2297b2f04acdfed9a2f00e4d2c0f5d4dc7da61c55c20ed35b21de978608820997317aa4f8b271c91b6f1a9074bd9f484b79467a4f8f1bea5fee7ecd6c62d4612f13fdae90971b9eff4cb4cb0fc165f02941f04e442d35425f68fa468c85749671d61518c36b3f0deae24235510a56fbfb52ceb18c83024340ea9ea472fe51436def6f40efa9372eeb8e5525c4019d90e07b281ba23379b53345021574cd1fc1334eab87d038c8a57ff093fe3fb2adc7b4fed823e70979b0488c19d9fd44eabac0dab1c353d821b87220d7e0c257e85e84244f1259f4787728aef3e9d6f044383aeae6e8f54caf5793f8e177ac7739eacc48922ef3527729865def88fada36d75f23df88f441df838cfe23e41b4700b3abeebbf9be00faf4de3a09cf203c387e23ff79327da02dcbde7a7982a6ddb5460c6b6e2a28f254836036d7f153c98e247e5e09e9e1e5688eba9131553511c3830963d4fb50ab7a771bedb89b20979a84b787bb5fdd7561bfd18b485e8bbdaaff877790857dbbd0d495fe42ba870cbb1f228e519146d1beee19d8e40547d58eed3156d3bd186a97e1172894eedfb197e3a03c3580422503bf4ad6dfa92ff5c180fbea801a1a040fec6d647ba67e44bc53bd3af381499ee038865d93c03ec8dd0d31b374ec1448b99c947f1f04aae33ad7fbe2782b5de4f47d9edc5dead6fca522b99242eb0415afe42b1c8a243e0098e83088ae27bd446c3f243705ee96c1ea35900ea764d81584507aec9c8616ee3a46d47011fd5edcc5100ffd4b71fbde6ad7184b327bf9dc48a408e73d44ae04115ee8b0d64b792d30dfc72bb6741464e242b4b84455150b8fc0612f5b2876b3f7af374e5aac709990e7f722c3e77c6b24568b57dbde991c3fb70f2c05c74eaff5a7cc2ce3f7a6a20be7ffc16d1b84dba5369e21ec176bc52f65a66920642ed1e0b79e71051226deedcd033047f2b3cbc47ccd9f309f34688df8e348220a1010ddbe90e65b565361429071c6f5e0f02ff5a3ab8f060b5fb8d743f7ecfc61a7a84e12d58d0f5673a3850e928d10a847519debee91344aba1e0d971539d78f265382db2636a20ad3930d3ed14b6849111851aa0e3991adac325ec129f0389d6c90534477bff9844233f65684409a4a0bb10a9c43fc6c30df4097c4deee247637022a9d1a4c320929b4c6109127c08a9b610c58b1ecfa7f0b2a809299cf85e61c996347e5acf9693fb650658c58118eb8322bfb38ea12e6a0a0100073dcb4bf75f5256c859ffdeb305a8b76dfa9f6bf7f78b7a9b5b48fe54c99dfe045c2395c51e8a9012a5ff5a297be90be9da543e447f8a727123d53a927978163abf9c834d0e0264ec8f31f3006a918b303443c9bc112df145b137c921310500a675846da86b0bc54909870b65cf10b7e92922b45ec7628a0a531bc269f790186922f29b3a8685e85d537d38cdf8263006670a03deff6150f1d1457f20b3fb87dfec2dd10db78044b9fafc0c4900aeb852f529c9875c926214503ea256dbc7c603fba6c7c5ce14b073df292eb282158212b2b3516ecf76510efddcc20edcd5c630c9b62656f3a9a09d136554ee68322bf50596ea79dbc14a16ff86985f86a3e87087ea3a6a60ef8109380b4933324fba474545c599842c380729f199f7a107dd12d5d3f57c6d2879370df1004380e92eb4ab5ae1da634ec69d6e6fb8d5fe43ba16a80fa55ab2fc3999da6df55a6464439f68c7ad334e9a823c6a8608a5477f9be2318b322dddc077f4c63e08b6a7b0472ff3341d2ef2804581210606b500f94e57b97d89febf923aad3921c052cdd395be4490dfc4a2974a3074ab167be66022413a088970676e1d6fd02806ce1aaec214d72e955c81c3b1e0f23aad4c1db3ced54ad9adf287fe2288f6f176af0dee58a49c6910b1f0b4134375cde738cfca73ae44b25293db01fcc0b7d8c170a415705c5bc5b0cc559ec6e9017add9d783cf0cf20dc599f7b1dcb76920071063bb4f9ab8f5c743c6f197b87d9f1abaa6474ca74b94f84ee2d1c5fff52b926e6e596abb1963e2204b43fb5e566b8d09399aa16548de6b5bb95bed33fc4306e758b86e76ee8a058c783d6def1beef4105ba6af0340f1d08c447c75a375728dd7f1f3d233f00ccd78c33d51097f0bb6367cc32ea9fce03918819ccc60ef372b5856a58677a09f95fef42c1581ca510ed5021952f8aa75d229776fe01ce804e13f79fbd836d0519376a704132cf8393786ecc1fa4b8ec768528b3a6eefc9e5d58fc155137251b8f377a2a08a5d3fb262974137bf340f8a00d3fb4bae3f92afffec613f0220208bd73dadfc5c6c8826210ff86c244d496c775b3b61f6cf53fd9ae9d39adaebcab4f6da5b8ba243a8f42ec7f1b3ec642dd1d26644dd4aeb7c7c325eb8de133d5c0b3006a608a408241bbb21bca270bfe6859f778cfb2ae472a76f6a720a285129cc8c659d410b3fdf483fffe29849b72df3108bef17e7dc5bcdd4468f78298fa39b3a08d5c09b11a8826609724da770d2ce3b83b0e3823216aa5c75ce6068381f471eecf5e8e0dd2d4391c7dc2cd1979b6157d858d9a78ca667d354b15fb3bfc7748015b80837679bcc48486b3e9e83f7f8c1a4606d8cb3873e6acc3c6ed5028c0f73fc9e15a6d76f76c33acf52fb2efd14d415e08c451336ce55081ac25d7f03f6b8cf1f4401cc33d8140f2aa96193602a4734ae4f092618b41e6af082b3d35a72e1e6e8a05b13860478c9c00132f7e1ae95caa193efe626a2a84333cce4595ac12ae3525c2565af4475cafb26a91504ed3a8beb086a920e2d8beca492bf8b440527840ba358a4fc2435fd425a2aeaadcb7cd0eb45a5d1a95b333eaef6c0e105f435114f51557c0b54afa16020171385fdd30f6a96b95ad2d6a7f582effe28f15f07982b5c44434b3940da612910ca670e4bdb0f49071b4e86a106a72402dd32409307c74029231d3f18b4b435e3b112bf2f844a08ce1cf39537f0df69b41c93944b92e69742860358409d35b7cb202fde8d25a57cac7cce9c20e08de1d551dfb93aa4b624a2a74caa35a656a3addf169f1b711ea4e953ac834d126e035a83a7337e8436f131bb68772bbde01b500c3b3d3c83f415a9acb50846eb04f7b2ed2db5c8f2129852d985719d5df38aaaf9370408766e37be019beabd3b7cae76760f7eb38d602e2475db642e4c0a45554302715b588f43fe3ea76f2fd1a70afb677cf259cee37bb3c0301d95cab3a7f17154648c34656366e2b62d1a474471e2c7fcacab8c223e81f5d4688bd573d917093d7091d58207a43994131c05946b1926027b6d35d2cfee16783a57cae64b79502a92c4a46abf1551d1f06e72bb4a89ee9de976dd22eb776ec9c786175600a6908ad4b8f5659cff8b8c36931937a70a9f5d87935d9935d5de8b55a144ebb2e83b0a1e3f2608dbd6768a863807b75e68a1d85ae6b1410c241fa947fe60340d5eddcba3c2996babbeef764c2ce39dab2243789aae9b7e116c23ff8ad09b66607814100a522938a581ab92471dac46bdd682921f9eafbaa5237fe35a473fe493ead61ed3f4e398ab258c683ef1c2e9fc53e18c74303432b112c696e47692e99629efd7cb0ac5927f8a6b3e7b23eabeae614cd90c51803d5a1a2b64c77fafbcb0c2eaaa9f8b32ed4ee088b6ec84731c76aeebe2020ddfc24a55e356b27537882bd1c2a1d27ffa28600d56efd083abb9e30477ba14f920d40eb00da8653e7895fff0394e2b54b1318c278083715003b01e643c6c9b1bd193cc8547626c86db9943b36eefe9612438ad958f5dc4fee917d817a40bf1748e053501ecc2ea219c8831bda576eb81855e8b9b51428922e9a2a20ae39b2f9c0ca8791008123f267ebcf62a53dce9bc79de24c29c045a5dd43aa1550658681d46f78ab8cc1b8daa4fa28179df2385db5e7794a0dfede9bc54df325dd51b921c6df0301b91f9da4d0169f2da929a57ec28a0f6fefc11fe5846b1985ff8516e596e371bee57b9f89b5e546d7c8530e73246cb860996268e10732ea23a74c8d5cd9dd3498f04055f6ad254500a10fcd2e71cdb535c27df5653b75141013a17172c354ba4739e549c0083c8ab8d40fc7ab9f015d2de66136a1277b13e562582459654eb8a1755af46df4e4981b7bb326b58fcaf74668eb05b48f0bd26b194621dd97b7651c7933ff4585ec99e2596645ce7b4c7a855a195ff5fdddd54110d74778a25eb9db0e07dc825a2ac58ecdc70075183a79946cb088c83f6cd8cf5414340072ebc79c4a2660efbdf0afc6a9fa38e0d6fad3eb15dc8115b2138faef95d47cd5a4957d1afe709f165a2fe728f36666264d0396a7e57830b4b89b948d81557363ae08eab9d41fc6cded0684869b0862163e5f10658456d60e41098451549cce0700bc1d3e83a69404661237d368464be4a56c24d0af9d35326fa719cbd6cdc50d1d2517ea5ffa330f3912ef14baeb085e02f52eefcf97222b9b5531f8a941c5a3d9ab9dfd0f828b4a85334513f6e01babe6b39e893c425176d601f8be05be1c13e340b24ee0beb75a2787dcb29990e7c7a20a9ed5e73fd077ca5de8e5bb9f3c1a864e18cc054a6836398c942fa79679d4ebeb1859c8d5c16c43e21a898d63449febbc823ebb4cbbeeb8f6977b2607cb58af29a78d61f2c7949ebe19f9257d05ec3799798ed3089c5cdf284aca11a36562593c1b68c6d04e729d06547466a49677d5e8b70a56572881156f903db30445a965e8620731f231fd669bed5d42d3649568e08165c1a8ddb6cc4e492ad2487d82a98af97eceaad377ccff74c15ba1e08ba29492e794414e2bf242e738b0fecbf5e5f1cdddec1a9116aeb071bea95aee5143dd294c77869388f92df88c6690ceac69f9b41884188b2cd9afda1b273f821726da79861e56686a97faba519410fe20098d7c1f7a0b3cea2cb3d1778727ef4f43a9b286981c02923fc0ffa24415602cbd3be52641d3e381d7483c6c65d14466c7bac08ee9699ae428ab78efa5f1dad7b2f5b8f08c0b352a44251795915e46e3f0d33149f5655b7cfb506ee12e1d9997738fe10826e17253ab682430f58c70a709642718db3898945046ab54d51eb580772ba8a680f52096029c570138c9ea60d7e5149cf7dbf3177c5a9890ee520483e28fdfc3b25fc705c389f7358f94ca57175b81de341be40f3d087df1ddfa27bddbf20a1daa5fa5495cf9859647897d718f15d7f76919b16e48bfc6ba58211602a172313185d69f8c4e29021b38ea476dbee50d474830d29bd2e129c770803c8b42f8aab78303e68f01fe90b9f48a6737987eb7b6c465e4696a27d40216e219726a6693ee52af511ccee05ab95c2d6a0637a35b557b2a1a8b6bf503484a61239717a51288c85edc67b62f01d91744562a29c74538cb1aa4d77e65123a6d8edab4955e8833270add6bc23d6eaea4a48caec0129292fffc32ffd7dff4e677a1985564c7a2aba2cb8514d1e533872bdde359fbdbf28ccfe25563fde6657538a43ac64b6b30ab8dd4c584570b125a6c27f358773b4096918638a9f7e5d9c88d5dff74cfa86e1068f3f12e043887733f82fedfd817d64435013064210824d4e5c722ffdfa759ce18439f6e28efe850fc37bb8024144d0147cfc002a67c2482a72574625c4b162edc385d629441f3ca9409bd6954df19bd685db2f5dcda06924f6faf1ccaf1c3dbc50ccd78ee26eb8fc20ed4a9453906ab238495a4e65f3d5f00507bda44c35560d69d08bcf3d401e9632959b339a3bfb6bfef5d8111c612a0730a799b1a39df0d0cb7d9c021cc122fc9be9020e10e83747637efe415ebf53ddd51efc3e734f2aea1e5860e12bb94ace651812a59dbda6688a33d722a40eb5c1ac8259b5dff86e7b306ae7fc72f6134f74a45198005758709e5204c5d66b7a90383ae9d0830ae40ef7d2acdd0adf9bc4686cb5158149eb729ef012b5e75b8b32746adbe7a1add2a7d1025cfb8c68dc96295f0584a720b62fd9782a96bcd40f984ef9a5ae5fe45dd20904551bb9e10c02a953848b61b3aa57206be4cef81eb4e086fed3b5f51b52d8dd526a00079e91765d51ccb6288cd7210237aeb0aa0b813dc90cca7bb843916aa1a732929e006dd4b2b2d5d731f3641d388f590b66542f08797b8795a53f75a99eae1d603a3e0c9c33199bf970186a292593efbbaa3bad2e0da6e2986c98b161babddce3a62f127309b2ea91ce780d49da3dc2a3f281a803cd27c832a6cc7feac4cae645c1f04adab5e8ae4c9720333f210b852a448c3c113537973480bc91dfd95fdbb9de4530fd879e7d0ea710e3c35daba8ef35fa14b2c3af7a6e779d561c631ad8461de513919bb6f2af22a6c4930614affadb14d9e202fb308e09fd00a61a0d68ba4c5db77479144998b3e8d3ff18c3ba0630233dbc7671a8a0fe6fb36504ad7db7399783287735ab2a9188ad4cbc67253fc2cef56f59f6144c4687a0cf1b6bcfbf91a9e7f7ea412121a20b757dd16358a2899a98bde32a0119b5efa03e1834052d497489d75a676db06d464e973f84c3183ff4db477fcaa3e439b45d50c3db657a0dbb9d67c94bbd5bb114ee0bea65e8421c090be486767a94fbaf29de5ff2f00a6fe879347561fc8e1093101f1c45afd0ce7f21712149cbb1bd68ba96673f5cee783a331acb482ed333f31c9e038ada37718dfe556d70f13db76a00dbcb2b5107856c0a75d47b23f54c4a6dec4b857c6a4ba365004ddcaea6ce91cf1d587449f8b05a0548b3b314c699b6aed04bc3f5be3a311d9f5adb00c51089ffd2ae844c52f43645b2515ce2f1815a3854ca6b8dbeae2f3d3de47c2552133feb818dc09c54e8d04c6d933737370eb802ff9ad02af061bf35c300255869819669d24e60c0e9dc1c76fb11c84b1cbb150ba6e4bbc616686c192129ea6e7b4dc70ec4a56da7cbe45c86cbb0d92c797c18681bc8af0f68025c0f015b0df91b63780872d3054c9369b3a17e0f0642ac9d9cf678bc4fd33f920a8dd39c232dd9bfe744e3851734160e83eae326bd5663f47bc07b38e656a019b1e22a9769628cca1b53d227f2cf7d671b9533619eac2ee0c34cf8e304486f4ea6a321cae6dd8ac90fe309ccf2918ee14eb5a1aa1a450aa867ba36e3cffe80e67f8da3838222e93f0fa4a0dcaa836f3ac767f59cee037b87f22a599afb562a5b38acb3153ad67716f9afe303d3ff342811c4527dace4e0fd15a3b6536db45703bf5b7e6f98853856efa79545cefa3b8d7a114644d93df0bd3bf8e19d31d1d75bede06ddc233a09ad33898dab7c2a096c1a7cf95bab2e91c7560a33a1ec30865400f247010f24d811d1815f873a39c10f12a1d6f2139dbe43cba3fe33d655ca9572bb5a448724a430f67ddd5ddd10a97c250676680df1eb504aa91f044deb2d6a9286c1a9d190aadea760d3483b13d40cec02a6471a072bf5e8cfbe8d22fc0c7c39eab54902ba86c1a0a0e9c4b661b6b1478fcf8cae16830c1688aec47d1a1fd0523f268db233b2b406605f506aa685cb8a782a6787ea67fd5f5b85fd31d3ee95dea7d5f9e396961a1e2b90edfdb887674525c01288a8bd1c9ad34884a84204552061d2aabb2cc71158804f788785b455ff53b6f62ff3c8a6d23dde4f230b67c3720c88c6c3e6a5363ccc8406e7716691b83f9eee2b3c9ed560a3adbb03fed2b63331a335e6e916f56b20cefc3560799b942832aab66e141a05d751d879afe4a43282e12e2a3ea9886cfac8ddf3ce09b6ef5b5afb29df12ae54c0dadbf7d0c2cda030879015a667adfbd7a0beeec6546b2823e28b6724d4852242abe3dfbc75112b0b59512541e22e0d249212bb94ef274d992f9fd52a200be451dfebca542bed8ef03ba527ea0458f7bf06e93b15b4fac632f5ef98c62e1c83161d3b07eb674fd9c0978dfe02a9c86f88f1190d44f4439a2b3be3d07a1c6bda110cacaafa3f1abaf093bb28777f5cfee0f111b5a42b923a19bfd9bf2c816cef0031cc737fde92443f598120dfda2ca52b2de606331c5af2bba6ca960507709358c705e32f494259d0152a47d13d58c280b928776fdc981846120ac0c3f7b373b31b9774a4fa611ed11222d73a32164dc94d8df214a073d211bf90a2931fb9d30d2cbaa70fe06afbc49539ce35ab4ca7be8166328ee6aa66007d3a52bf32fc574cabaff3594243b4081812bd6db3af4b26c787bf9aa31ab01aa8ee3beca568d89435592562911733ed912bafa749163dad8556e6c412356fd9b4b9705cababb71547cd2e037ab6e7b7bd05de1f240faf50ff3dc91e55a6c99751a06a20e784183609bab7c7d5bcd18837d53a0e309403c9b31f6105c5116b5c06c96ecd829b2b558fcfeae20c1d368b15a8e86dd786afb2652e3c876316d9ba32c5f6fa101feb3c21548b6cc1ea217254baf11e050e290a38903bade598a6288a0b16e4de0bd562789afb85877cca8efae66acab2e7c05ca42ea2162e7bb353794dd34e4d9e7f6014406655ded7460cb0ccbf04734a849bdf75d480566a981e96d10fff9efa9d803f46e966992b957030d192ae945fca248b63cd634eb037787b57c4ae42f38681c2d7fda5ec6b796e68afa838365380f8adfa671c840c7faa3adcf640deb7860cbb4bf134275ac5de3b821ed8ea437546e7ebbb060c548d32be97e648aa6d0a960313f04d6e1717cb74dd3bf4b940dad7d450a340296162ab059d11f2e78e152f86d5c8d7c74a8ecad8d33bbdc9becf8373baf8d6c8ad1393fd69951d32b66130381204d025b3e2c479270d8057fc530d86b9db484f540e8b3e359dc95e729c639faa78133262768216539a7dba4cf1bb3890b49d5bd8c2ffe7c0a4f819dedaed1a25e3d47fe9ddd7379bccd096f7a1481aeacfd849e59c6f12c54e0c2a94ef50566281c5d4ef4efb6898c16579990aec2a7f6e0bb7e706e36789c0e9eb2770a63624ba9bc84e2c50c425308b6f253a52831639591adab6702cb1bcdc2a7041f5e55e3b40541254779856f3d522820d8a915cb6b830e93c8b07748feda3a9cda6ba228046dccb068a9c4db23d1baa497c933459018636dca46ed896542766cf01cfee3b2cc60f058db0531793e71b8cb2a45af50d0f235c73c8084785e44746b2344befac965d8dd994cd15c8e18e2bf6a4aae232b0a7a59d1b61102111c4e7721e1a918cefec56896f292e6af9e735ee8839d461ddbd255c36bb27bb132ed71a44572fe97c76f5f6ed75af995043a3a0c55fce6874360ecacffc8aa0ad74f164c733b533248016e42ce5a7c2e1f79b1da11fb4e1626c6fc1f1358706f0c8fe78b146d590c998b8edf7d5d94edafbaac7ae5ee084ab1794c6f28371eb1d07e60212535ab78b17cda4a87a634c9cfde7ba96d211f6be95516bd3e1231a094c980965ec6fb7d18c49bdbb05421d1066e6905a61f9021348bde946d93e2b118b09ded771521e977f292afb565f0a7f3396a8410831a4abf1e8aad575e671bfed9ede3ea3def238a33018690cb893e7f2468181dfa9fda8d2d1dc316497bd01f561a1c92b9f4eb54575e5309f98978cb66a2c6012159c4e0fd7dc25c6c36f84406bd8715083a9e3afe374619c2ba687bad3c03cbd54d01c917cfa154b92139256a1bf8b1c328d2680d4342c3bbca7404728a08be7692745ee10b3049914b747c5aab2c17f578b9d6d67d711aeee0aa9148bfe0701b22497d931faca810785adc25342d7edb5186ae00d61e959fd7ddb6b0bc3b104e73089acb2f89fd2a28b9131cec7306d73afe270a8da96d3f762fe679a4373eef1a6579af4b0e0d0945946659e2bce6cd3f469cbc5bb27179b2fc430462d5afe357ec48525bacb0625cd2bab6d05cc355b6aa9107bc70ccb0a30defe5b3361778d78298661186ef9b3cc60f66ca0d6379a31df06643e22c572cbf390cc167db449d1397f217ae1d97cebfd598c9989d933408a1d482b5079f6bd21a12863f9c436b99be31b3270f61a5e81a921d9ed3bfcf1d95cd107cecb3a3acb02260156734918a8de59a703afb860dc26e5f6b9b0de7c96a8b5b7c7ae3f99064543272d5aa9302ca5a8cd7d85fb3932f8680611408fd8599df55b2d76759764ce89c9b93efc7c0c37194889de4c4ae10ed585e1e2c79f851fc184d7b4ea7e117d94cbb69302ddd35f5de96941872f81ee61ab73913077a7007d05058dab53ff22fb970cf90f1537f0e72db51f569bf9051cefbcc6cef3242a14f0a21062dffab2d81f681f7f8746b4a9a9e6cefe9954874194f8771d9593e22f11f1220055fbc6d02e605a2cda2751301e303a5ac1242429813744638ee75164de7df7ab74f9c70ea749a0983d088004f911da7e41b7efc603047755e63c3d81f8b7aa5eecbb5af48743b5e6c9b527153da0171c3fe80f7abb200ddcbdaea56182c49e1b9fc22679ab6b3eaefb9e8e663cafc96a1ee3f403cbb1860f614350818b11da2e420e4cd1ebfe165dd25b72e4e5fcd0aa94e9d4f5620a7af1726630009514f8e3f4e2029f0ac055f30277f10d07746059e31786a0a232cdeef463e0f9f648b2e6568d5311ebae1485c96947aa8bda717e1ee61de2b8e1f0ebbd813c740e2821fff227c30cba9dd135345ec60e7f79168f6b434e213c7fc8d953ea3d8e4c40af8ef8920656bcd5186cc204a2b56deedf5e8b4cc9dba9eb4718cb3d9ee3f6e3e215c2f8f6d8e48810b40c3f8d8c319696cf0d021a5fc30415e941af5a94d7bc1152a4f9ee8efe3e5c466333e396b7c2db7b921eec531702822dc86ffb81290f54b08b1beea8991de70426c36fde3d60cbd586dfb85017cf19995e22665c83136791382f1bc1e743514c18736dcf8273407cb639517e0063108461aa2f74faa802b68c44f17828136d9301fe0b307df98f3a3d18bf7c34836c0e364500664bfc8fa3a5f80cfd53ec06ef996765fc61e6d24557c0488d43290e46636c65af9b3aeb82e6e50bc9653e1ea8462beee143f9f29f996c4c99777e233f3be0b0bc5526a294a7c2fd3a06f0ebd3846f76e48331bfdce811ad626cc1b5e76a7c3b73ec07ee564612450b4e03eaf8a442df2bd6ecd1e85a30bc2ed1c4b32059b8cbf6fce476d944647f94f256439326bbf4fd455fb1eb7a2f9c27cb659c16a995f1ae44484ca35e6b9471b8b0c3f7ed9cb848bd6e4784266b0a94e1766a771b517532b1e619e69ab71859f2b4b193601398babf7f17e934e4a5a247b0be4e2496446d0487ad92268e119876ab305005294997dbc3ae86814cfe17d9ce5f73268e77be6a9b5c68b4a4051e92488e0e1a2506ec513c4bf565d2d206c71295c86cd91b09f5e4ca3d1e5441e1fca9ad7595a6941760b8c3c7d11f693efc13fe22116bcb5654b3ae83c652005fc0d0f9ae31d8c6496b4dd4a131a519403b0b7916bf8ebbc760dff11ff1e640aa58d6e64cc0d6d7ded6ae96a117a59f5b98567b8e1ece06593f542c545bad06d8291de96f01bf5f64d87c30439e3f451ed4b02cb1b85a6b48365ab747b485632a04d65b2241ec92697c22132d6fa1d7cefbe1e289501e77284cec5e9804ddf3785e69d3fe3a0fda264dcba9874830238344c36a73bccffdbe88d6707f6d13417447b6690360a499ffb0e9cbdab75cf293816d9d65d154f8f968ff7071ae27e0fc762efe32992155f4cb19d44290c11937b8aff15d5df3965aba1916ae44e0d15a68687be7c2ca9f857bf40005e704fc0540343e971c460b1eec927c5928dea154e1ffc92133b53c2369989cad764b0663d6d51d7d71e5c5c007b80cb4cfbe7e783fe42bb84351da0e2aca43f1f43e73b39756d107d59fdd7d8391aa52449c2ae658514614631072d8ad4753931886fdae6713cc845b66cf20a122b303d90e6c60a285cced53a40929ae0ab50a888f936620a0f8d222082dcaf8b06d78f472c6ae2380307603c97a5c68f3d6b1bedb2597ae4c9fdcf4b853abd148f38fa85a1d352c67eea45464494ceedfc84a357a9f3eeaa1b4525ae48674cfbacd59113eec618b1576800a89539b723e36f1f109fa78a3eb45bf24cef9ce637188ce0e0b49e32a9b26cfae086b27de15cdd3252ff51d44b7e0f968058aed6e6cdc09d465c392866f7d5adeae0804a3d0253009be7d97ac4109d14420753876c918dd97da76a7c9dab4f0729b914c5a64a33ff2e8d325ccd074f4fa8e32bb5516b2a81c9e6bd6edc8adc8063a7318e9d3e0a3b921d72910502fd47b47c123579267de16277edce9923ab67708699b481b62b1c9c5dd2788bf13004018ee729ffb4f9207053c7e7dbf30c46bcaf1c588bd76b09a828cfa845d2b682172b743156d906e83521ae10f3b008e2b1c32e927bdc8cb61fb58ca6359aee706f230da9735288b64d7cfb9ec97588006931370d50aefd8c73cb40150d6471e709e6a731cd2e76269e0dadf354a38c7678ee0f1868f0e770fabd49e663584f6ea1363f71f28aeffbeee6b892c4f4930bc15beabc23b3f09a57a112e0b2f2bb4cf49e848ca0d1dc54c5ee4031830d4b06296d7d6f965f76137e5348bcc7702c43672f1e744896eeb6dc23bb80abb5afe26de2e996f89390315693d6432ff0d6518ba6d55e6dec003991ffe3f941febbd94a0bbcb60d1f5f98fd18bd2671e37904cfd8fbdbc592818ad881491c7b4c5900b8a9d0ceafaddbd265bfae21874dc122fc4e14ecf5626588294bf701e9009b1b5902ed53071d5272a8d308eadf092ff10822ca75e3e2cae50406a38937ffbe164279a0465fef29955ae6d2524cc3249df65e38571dc6fbe49022fb16827efc58c04e2ae5250fd5c108375af41b2429738d2ad2312e7dcecf6107959da33253a1f108b0bbf17780c0dda3e7607a0b79dc408a0e23cacca8280087cf313c3e84cd07d915500b0f17a9776272271830eb0c23950e7ed82a54410e70a038e697ef8e651a5c30d043cb98cd5cdca5d228dbc6aeb26142406a3e2725ec3b598ce71ffcec9d3c93afea3f8cf711f5f5c8d3a303d62a6aff2b2e6bab8891c87849bece847bcff4b033562b6b48395442114c3cc66a68f38641ab6fbb35faf7ec09ad4c29fc4d30e9a0cb973a1b03cf3e59a6ec9684f0da6a862e10a72c707b6ed8d55f027fb38328d833448287791b422f2a13427c09a7364c16b14e9182e03617f54eea17ea00257928bd0a6cf418f38f2e11df4471c006bf671fa5ade288a380e517b2337915f0fcd2a8f6ab7501b86c21712721746669f7e581ba30973237b6f2c1a87f5f3f0bcc404fced28c9851aa2019063c95ee677c3e958b3dddc7ca9bf86e219b3debeade94ee92bc64cd3f185c33f0bae81d23ea4a15f6020fe170cd6952efaed28cfdeced4974e8fd07fa0e5ce02bdf60bfb53a6dd277874e0a764d8f345b54a73e05e3917685907ea730cae54591199eae53abbde1842f7e2fc1c5f0e613904fa4b045044b47d3d03679102471adfe3fde0270404fa998cbf432ebf1597572d09c76eeefa9d2307b9595a874ba65e0e073edb52069cd0a4e06338417c7c9691f2b83ad6d38fdb9c69e258e0eb732ff98be2f0ba97bb378e6b632783ea2f645ba00458c0b3abeacca2c109dfeec3f01e404ad5814f4e4b83a980db2d488207f000cba9c1c3ea58e437a77226896c86744b2c90904297ca04329a05ae098ab49a1399644ff59cde22e176471a85a2ebcda232005a6f3ca67506dffad82577f6533f2e683d2595efb1c4fae0137a93834f2107d9ef3e26e14096b2f5726287029b0db48982398a2ad4bba012c5e278fe986bd3fb837b2e466d55854a6b6b716c10054419411b25d970b052850156a58a601373ff4ba666e2d617b6e76d34469abff6ff7c6a573ee7e7ec3ba3a896bb2959925c90f51ea0b34af6e9e86f23fe62bb2ae784102199668ea1c6e0c0b7ed394e747818b78c8714d0b262ee2f68264d319ad425047cb663302b406dd44fcd8d19c085a9f4a2749fa27a44e071548b0fa183874bc04954a471942a6df9bddece913a5573db7d25113f67a406134f8caed792f06a3172b9b31a554f1c4b8cd69ca4a921cc13bc0fb2d0dc7be5c09e935b4c2b05bd2f9506b7c9040ce9e0de5a9b4f910fabb6234b56a7d5f7b713f72899d050b5757d830fc65cdf9660e584c0f871486d16cc835f8e4dbce4e593e331600933f2c7aa4515d7971857594df416cdad7a89b1a999e8784951462746f3fc7fcc65fdbe42799a3b96e62e9e970a17d587b2fe56b3c0ef94cf53b7e0e82245b70131fb6917be858548da55727a7e5ef5d58f94cb6033e3a46e638b8d2674c8cc4d26cf6ed4027ef92cbd9fe771c9871be51205c0b6437477c20c4ca0cd952151c66728504fee33493173a77c43a61e9c2bc7bf3cd91c4266e43b2088f70ccce37cd6c376e7fe759030c49307b6e858c3ce190ed17217b3d920aec9f4be7d0a15910ed5b52a537d19ddbff46fb72087142440edd067409811cf4d671d9b29848c3b099c9d7042165d93c702be2d6a225092f16dfa78fa62622b9a9e8d7e7dbd92a4594e11b1485b777829b33f456d5a1d17d6ebaf5862db55b3eb3c86ceaf6a4a384c2e454a486ca47a098d3beb0e2665768d75c0e5bb7311628866ad487b6ac8f6d6242a7b1da0ee48be9b02e42e92824ce84aacf6ae3ae7d09d9a52970a360075f8230f8d211919fb902bf19d902fb9bb394fbee2c495cd21df03911489e7213e1af4482e3f2fa3d9c9eac514deeec49a5f35b3dfb2aa59ce4ced4a10f663a89d737d4dcf154e2574529a6faf6190622891d573a79145a579f088082ee5efc02d50a2a3e83e844db6fc052cdf965d214f0554904ece10ef0cd720e66075b75ca9876475a946edf1caed6039cfd1a206c554be7d746881238e0a7708a6fd9d675a840f98e16f010e9e6f1d047add282045428f5ac1b852819f1818a02d7b00a55c329f4b3945c11fba9ee2026e72e02f86fff497e7b90d714ab8c0ca555cf55ea08531cb410766f1dae341eec882949c660d9de60ba209a53096ae8d5d2275481575a1c5d2b4d46cc9e29fe42ee71045628215da66701b3326fde84acdba78d52b5a30d6f5921ae3688aa2914073a24cc8047c1c7a37b4194917b7fac60e3a5e3b80cd93e9ed8bb8726353a86b1f192b0073baaaccdf45524540085234941f0e09d484a1f7e6bf4e24f9787728de970f956bce25117721a8f75a1404d68d756a9d35f54ea081f086061a891459c19fd919a229ce95b24ff2a1de9ae0be7fe24c655f1c05f9e37c22ad96d48cea80f340e7a8c1d76d67fed47bd1452e26a5f344a1c87b0d7ff8802dea182243781fd2565f4aa03851d59470b83cb6fba72f23e21f4c6462b6d168f75240a6480872103142db69507b2a47f9f9d1f714b7e35d38574460118240e8f120ec7e18c7cdd0dd6b6009c3684f3f893e692a0aeba83d8389c8ed732cd08f2e5821ebf8d47af8ca30075aea755725353cd8193ad58e89edea23da6c49c97b5c7c959f4c5c331e0fedb03d680ccfef2909f8d27eeafa9db2749eec131e5680d65fd2fa0f92e33b5bae6a5fa3be9eea15e708feaa85a6f1a2f7288a0d936acf7b60604af9776dfceb66b0eeb2a8a5ec2ee2d17ed9e4ad6294ba2c9b33b4875fbc51201b0706acb875bf0d11d48638303617f7dd3af45b3588c9fc759f3f840c158979587002b8683c869ed4636ca3c8665f5dd9a59d88ed7437dab32698b734637c4a7b5b7853fe3fabf03420d20d8ef2e132bea14d6a89dc198a1e6ab4f42d03ca95e4036e3e1ea6988fa10eaee704bb0dee34006f74be8db5348b71fa64c62b015214cd51c444b12a605b729389f2db9430f94713da11af9337f8a2706a755cf1aea509c20d23a0312847c56b8cc420de9bd43455007f4cc344f91a28e40c5236bfea74dcb4677214b27dbe5932bc97baf75c0f14df40b74a7eba8ac8ad519f5511ad28cfe388c7559355b8bd1212b12d02aa183402d1af40594bf509cdf2445ae7581e53408179408aebfa9f29a96fc0e398edf0aaba30eabe9d759b7bfbf93abcb30c655c4ccfd1d36aaebd1b64d5f54861028c3b79e0acc1fd753b5a7ce4dc3e06c81c7a285244f1b8ca5a401f5ab95fec2f92ba1f50e4c0f486d55d54cd02ba1bdf3922b196938d347e92dada3399992d6fc626600b57b52060716354651bacdef078c458d249e9d1d9efa65c348e1cdc88835dadc08815382bd80b61a372f49e1f0956e10399cf9cfd49ce4f08cc1e41b734115299878150b1ad929cb2b56aa7dce6795f9903c3845a4cedc0e40fd914aa968b87f1f3a72d65170c64ad3077a9b5b5a22656e7ff080647aecc219bf30cc3a121c497c68e389442539b92922bed0e3e83b06d0827409d88cc4f0de141bf0928e4997695003a727bcc6a1d09c3ff11531e149c11079e55a9f9fd1d4056e1886e7b3aa6460fdccfd70b85b7f48ec980822312150018254b05ad7cdd621c55b2266449589f3ec8994d95b36dccd4fd829f2066ece347e5de6e3b78cc51a727d0abadc38b071e1641caaa6734e1707a070f43ce27b5551fee91df187eb9b37ecc7dc4f19a0af1d9f12463c5443c0a4617f13bd234d3ad244832ef9ca31782a5628b5c84774ab45776f959d06bbce2bbad5eb250e9114fe48f83e130bf2d08b93626108323690c0e61b3e969cb192d5bf511a2ac36bec32ed3590635ff1937b61123eabb5207c0d354eb7396e0bf0c07b7b430b3b1ef88df9004181ad2f6340798139af587f21e4e826a9ef1e2bcf731a7bbaa80d16a2a9515be47f7ca033f64a274e5f8defae9b29ad912238d5df34c3ee03cbf67b3b005f339ea501dabe5feb24a91e2320eebd699c254cf4037aada08729997880967cbceca58adf294fd1d0f8182ab944f352473513f35eeb52d6ac891b9aee4ce72f2ccf7709fa7c5247b7124534f0a7dd58bb97ccd3f6d4175b4293889fe4be8a1f6b186208523c21b9156f42e348024142eb32a0799f71446fdffdc6f712e74ccb059bfddea89b5bba1eaf3c2ec460c6df12c93278b4f5c1a25fea656bd8a084b69290e1989fe261deec52e9c8b1b4018b3be7d25ee3f34d3aa94ad43b5a284b1e75db57a4fa984046fcd97a9ebce955ce65b9335a56f0162cd4b055d2cf4a9957ea374343d7eb26b82c3520254ab910b3b2c74b09ec5a15889d4d8c525b5b897e6d0cb1a1eacf4f2eb5d3294bc39ddebea8d4765d48e2d8eb740c0d7f3d4afde3a092311c776f223f9484ff0162a5c19128e37429e1bf2d5c597cf2c3d43050b9144997c64a576954ea54a381838d1bf6d625ce8704443618e8a7b3a6a757e35cfb3d495e0769656a3f4b76a7b68ec6d1f4c254789d005f2e17d4f0d7b15c2babab62ea354aceac9f40c6060855b50ec023bd4e6ccb2e77d7975da7eac94074a07997bc45f0e0753cd0cf0a63a826ae085e84e8fa96bfab3e64485ab77883db00264af775bca151bcf7ac07623fbd3f30430b099914c6682bf96786bd77be3c46d094fb0581bf4876530d97d0609b67e01e433829bd968754b80682888a338cff3939db78f8b20d180ad10dc1cfec6b451e45fecfa25df1f24ef2b52af06511782e9e66807629cbaba9b1d6a4216d4ee0e940053d6f731d632250a317fafb3ea7e108a05ed98c6cb9b8a0bec3abd49e9f7d71ea1b6d06558e78cc937f18c27ad156b0cef7990f38440d8531a8c09b199e06372445e3b2279d33eefb332058f276a535612c8fc840cef086b566decbd21e033bae45d5eaa03a68fc8b7dc4645ddadbd439f37d2dbee8656d97e41e6bbd41c90c77c134f8f6b6968b25de4cf8edfcb9f4a469106c532781616d2b7968efde20a93029ad4fd01f60f8c13c474cfbb0243cd5149a352d06c2d222f104eb268780200015b981e11cbc92a16466d57ee04cc5952523f73eb3e38e29df233246c5de2195ea6aea93a5a740dc24b932c626fa6b5c60167a80ba058124415bc89c44201c9579173d60a6911e8601d21d9b230a6b4be3e85d0de23fd7039ce674569c781997b726543d32d019036966b4f95c6da97aec9a124d6991089cadab92028f55d16874cbdb0107adf2e0d6cbf8086472c3918ac5fc7347b0ff797420ca75eb51de9406562ad546dc24b1f7e8c0071406b3c7f26a1e353648ea7ae12fffc0b2ec0062097a666be1927ef50882daf7cef6e487bb05e4d9768c58dd4902c204118ec00051bd314e8e901afb16f21b05076340999fba853dce1c67da1d97ad132eb347f9c74f1e082789f29924b137f1536514be87c80f59c755524a62a8c998c1a6be0fb0d66d455b8bf214b0917f64995bdf2ab2f57baf16547e0364d254c63d1a6258dd98c53e45dd73ab10f4ef1aae62f75aea8e78f114bc2e87acf27c781059dd50acbd8e50da2f6b22ec2527a7776ded3dc7d9f4b63d61bc06950241e57b93488bb7b9fa2c3c1819bbbc230bcb1d52ccd6e50fc813c76a2d75fe8de28148f1e06b5b1ce2b5d0e9d2e2f35637a34fa1e091b99f29e3742432bdc467c8c4c6d354d372d50543b1b5407f22b432393ba5ce834a14a6433d75d58318e8ac2af82e4cd84a4a13ef3183a31a1815d90005ecec429f73ca115419d3fa8f2cec34c68b9cc89b654265f0e71f860db014cf6d90e7565c4e3590b04c1792a88778daf1f28877793fbeaf0518c2b5d0a204b3459f330e4c2c860ac40a10a4ad963e52e2bdf7ee529136f5870db2434e7b358296f19e47a9e78fb3460711113b6b17edb432c5cbdafb716f2d954201bd6b063fbca6b26acd1955821d48708a247cecc32bc0c9edc028528c791f6636088b42eae05b1f0205a607042233a1636efb81dd9fd7501d84f254fe74a37defae5d6a73cbba6ad5e7182529321863be34939a1beaafdc5ebccfd6b9588d4d413254c299618a3ace4c0317982e23fa44a88eaf407f6eec0fd9ee01e4af4e00faea0b2cd92e4a817656033d903771c4f14e24f1c31198720e588f17e9df546ecfaa17e2f2327dcf4dd2a5afec5a832a945096660946b270befc3bb5131adc3be66f5fc7f113d994ba7cb8d58f4a0b466fcfd2decdc5a011571e65bcf292874ddc6f316b71062a4ed2f8afe75b47ca03207939f4c3c7cf4d1ff53085f26d0626e25b75158dfbe64d32e146576a16ab5241ca9cba7b692d6236834171430c96bcbe11a4f60742666d353b13c4d114265682afa63d8e8bff05ecebe93239dcb353d936f44d067c3038c7b2cded58762107f7f90722a30e86ae89225be61ab8f8a77eff9be077c2403db17b652ba2f1bda0803f1749a87a96a47c380eba6af1b17eb29aba7723600d3f2de532b56dc14dcfca144ecac698977fd5f2b5faf0b689aa69e9ca80753e711d771b2eb1212bb2209b8056ccd2a81f2a987dbb5d5dc97c9c43590d1b71dc0e6646e1df81a7e9f32536c262ec43239ef73025289e29fc6b83285860abcc1558000d7a1969edf0acb707f318b0365d2c101730e55572d94bfcb9f18eae060319ad2250e947114e2f83544e7fc998f26fb35c33089b34805d0b5954941e3200412135fffc5f9eeb7c6b57c0c096f49306377c443005b5bb3bc796d48040c27ef69666decbd0a2460442d2ed081daec5e2f1366e4751eff754100090863afb7849b4f52e47b195b770497bcf294c6abd63449ad5da0868fbbfdcd1ded61c28bdc6dd786a93934c972e5fdd6009c07c8ad92adf3a3b978e56ff3f1fdccc1f3e5c03d2a2f3a8c78cc1cd87fa478bde081cb01cdb021eff7693124837f1e73e2f25a88949b7f0346620792ddd3f43d18224ee64672e328ee70f168e5d686eb3f090943c765787293f9985db69687feb682b4c9756cb92567c3a22de4f5ee91205cedb191e83b4b5e7eb3d07eff7f51aa64e203194fb6bdcf227c5ecd772a4f58698e369b77de53c6876beee72239e077489b7d11f434b948d214b2b7c4e0aa912f673802891e3033dff2fc2857352eae9b3845973d6884d97c5d38db7b6062f340836bec70bf7f88979a55fe0ad3ba1a472a6dfd1d9ae2b6e457cd077239fdca8e44820bb95ada729e206a7b0d210b2e53b1fa2fda6d0ee2ae7f8919bfa0f4a5e05999bf5de479806d32ace78f8c5371af607c1e7a5bc9be36ed2c5eb7c89851a750608dc0bc7f07bd5960b444a2a58e80b6ca3aedfdd0d23747a5fb85f2e06583ce3bee44057ef0772d1e64122a43e6b3dea8c262e43b9ee3c5a4e078c7f0c746a678561719780b1de792146ad9ec5f9f897866b30597aa88b4b9e8f1ba970b53b35685c135b2bd227cfcfb804fda99d100cea037621607eaa8b4a04e1a24735dbfbb45f332b159c65bb0c312779d1b44730334a526936a9de7acdf491c89940ff301a0d7922221293ceb2ed593d194bbc2fb7ec097e486ad26ecb28c50701e63f6ff830c03702ffbc4cd7095c9b6676fa8c6e585d094078e5bc6697a78d2a9c5eba8b198a449d7856b9c80f57b7ae3f703421b2bc1f55c66048dc527c455c1beecd22d707604a8e615c2128063b675905caac619cd9b7e60b86750da8d24f12ccb43d697236050b99509ac60718c24c9e8a651b0c084e06f55d413fb26c6ab4b6efada56e20e283ea2ba4b0ff296f453436b6ebe146c687c9a384aa70b1057e920b74c2d338166bc5a709f953ae58ffaf21bdf44e4dc6a3a6cdcca107a97821d3b5c17c4a3c06577157ef5133fa1837c07add8b7d47387bd53e3fd02b9f56e4b6e914fa49d8485419977469c724e4a8982d3dfb10fea66ed7e3cc6a246e1d6b12c357696a767242f47b14aca9adf52de139a68d260c65d407bd51d5a53fbad02243286787b23349c57aee832d585beb37383ce90819ea9763fc52c9b5b30667c579c229e6dc93c528f02cde0a8198320836bb8b8076e8e9e7cce11f38ed2b977996f481a6fe0ebc658e0017d175273d89dfc783e9edc3fb99b2d14873c5d17f9419489189b21cc00c9e05acdfe6a7e3c330eddb67340555c639095624fc87a99ad15569e0fca1a3a5b6d2cf9514f832d56919135b01b4452ea08093893953f75fc99854fff7940cbab7711dfa22445cf5e24eaab1578da6cf3944970c518262627b05e89b3231efe579bb6ba13dc72f69eba62e7e398781e771a685dc068ab15fbfcb9f81e4f01103dd3dbfa28a04703a7894ee45842ecef825ba654dfe6943cf471c58850d89abfd4f2e2e31c31ccf07a0d2eee61a966348f974a28b406c74ce801c735897db0eebbf2683011f840d2a1bfc0c4a33a64b25a10dc4430f939eecae236616f0e6326837799dbb81c5994242df1160d2298a6347f9030378c677671d4ae4481523524d642680700ade7d41562aecb38a2314ff7516115f41c4b828a179e6f03c41b268b36772ae8d9ef1f6e86392a19f7923b1c14c8f61939c973ab81a8a1ce809689c4f3db123a7d98aead9c4ec3618e1a85aec7d537a40ebc380595cdff14551fd1ef619bb559d62173eb96d0b9cfa6bcc1797b52177ceb024864950e08f74f3106cce75a403f3f120917e51141342c84a65858ae10bf72b71edc1f8666310a5260bd0ee521dd752826b0515e39610a08f5d78a9bad80d1fc7994a542b520d3f638addd0817da07886f3c745119fac82b923746c85c5fb282a477c504973f42ba587914a024939149273553a2b3c3d31f89d18083d9f97c028522e40666a6e404c2ab64b5a757eef39fe7c344fc939093c074bbf912b5e63b588f1e5345febe5d7d50f17630940dcde25b671845dcb8c0995db9a3d4e5dcef65886f2ef1ce22f6a46f2ab60494210d2c35680182d7fbc71d52a593796971e062e28dcf891a37bf06dc59f38b5a1428010bbe9c011ec906d132d9ceb436bebd66b655311dc2a96145bd12d991da328c9167717f9ab04057125d762ef6e702100fd12940e782b710e3c305bb0fff35f9a0495548a490e04530e50d6792a912ac5e69d142aa3bbb27bc635a68ae4ead9d7e3b53ec50e12b5ebdf29dbacd2d464d5bcddaf0ef962fb67a68457d87aeeea189cde3a81d7f9da351e11491183e2ae36d49ccd295e04e72c3302607853a4271b3c3d9bf67cc227071723d47730a0e1103c4467e5bb36a4f8de95dcdcb88334d56a2b70ac1f444a38c00f01d3e311b47209410752bdcb39f57e2c454d4290846617c4267d2a651fd92ce3e476bf7a6c11fe17570ed0125bdbef5ca4b065bf8b491cbe742e77e86c990d49aecc0cbb2fa0a2215bdc6e4c58e08ae595cbf64ad2ce8ddcdc89930e8d879bf3fea6f0918aeb688839554adbb9c1d0a3263296f0198acca062e7181b31e7befe1b1c59f0a1ce1b50c7c6d857f55a7f4bf207a4dd06425839676a85fe661658c748a8a6158b2a9c0838529fc81e0f0c85b11809ed9fc88c459d3d7ead8bbc946a41da20b51c71c3a562a9f5d822561a1a0bfdc6bc1fca20fc607ec5226c0dcfb123b28011f535344f51c484437de0671a4d1ad525b47a5084d562f4e0297e889369890b764ecf1e7be2dc97625503c77de6eaa4479463a11e541875517afd309ef4d6973d6cc947a5c5a86c4a5dfe61a44682e091b9f057d3257d98b831b279b5dd7cda9646eb780bbabea3e0e9852f48bffc14ee8194848d8ef691142dd4501f0128e9fa6e6e0ce6af4b4944a047839d84e43a38e4d522c44f7fc5685cdb9191a2c22f75254ddbaea3ba8a1e5d4a6054a9d72185f3572a5cd9a66178986654d964cc433043f5ec5f3337d9fb7b4d1adb523371358b46393f0f69372d2f7657799d0b33a95ab241ac101e6d49931ab07097ce06bfefe59c2bd228ca3420300816c2aaa494396362d1ac7283465aed87acc96f1413198e94d53cfed1733daf7e0547a7bd04acf70933b9133c99fffca8548c16e8e1b8404313b94f385b519a0850dd516ae8cbd9f339c7ceb560b245a394f9f2e60d42ee740385e69bb05be4b650f733e3438d87152a4c9c2f7ab139366cdcb062ff8458fce1bb09b0fae85e18a52ca47dfd387ca3bea9a1275319839d12b6c7c6e606598adab0626a7d3a069a72b8b29799e3168c9ee39507af9483d05e5cd78683093a368418f3765bc8293a197676c4f271770d61fa3ccb70389fb641fc8c07da0018634beea6afd6bc3e69e02bee061903b07a6d954beeb05c137270c7d9f7bf94d95699cfa862257de5b4c535ae9b54b3299e05918cd9db09b528cc0763bf8e9e2ed686ac53f2c4a69e0b6416c2cf4e15ca21dbdea9485f9586a9a2f23612fde647fe25af653fb5b2545c01d78f55f3bbb6376ee4b5cbf31f638205006be94a6bbca4380c202bf785b7835d226bcd711061e5de6e0b5331c7e3467dc4f42d822ea9eb671b3ee5b2aa68dc713e0445941ca81723c28d857e1005c6a07a8ef3978451240905f277eab3c9b0f806513f097185295fd4582483da88007a2af795994ed9cab03dee67fb8937e0a94dcfb0e25b1e811c5524d0fc68c7857f615a8de81f0ca1056d8cac986002b5bec606af079c313386c53fbad14cee47faee1ea8ba696f8c2dbacc26eab08dff7710f019133259eee21919225c619fe3c31eb88ea557db8212a16be5ce2eb2d83e669deeb2a7a1daaf81da3f865a25df9373253ec74072dbb1a35de12079d91a8e29c500f3853ebd817352b370b4e8265ca26379085a7c7b449fc67027bf84b89fa94e8d57e16d804ec6d3c148012422786192e6068fe544ddc82bde2600db5a45c53006a58e75124b3abfea0bedea3980ad10a3147915731f375fc9b9ea796b4cb0a2ae6b1598e23b28ab9fde658513cfcca37df566ebddb27d855d0aa2a920b71b2e3206fbc5307516b141672d7c07ce0c70b2995e50766321b105aea4748f8063be7f5420dbc64d6f54fb430f16d0463f2b68ba57416f73a47cd2e6829724865e0c87bcb29eac4e438fc7919ab7804b03e0b2de55bf9b085bb6d0498f2e51543b0f896d225518c4a54c9d83bef27d9c56e06a68e2e783e8be41a6ca75e9255866ae8bbdcf684f95fc4990d1db52008cbe10e58c273a484c9ed22179895677d6cb932b06be45ed46d18bc900df512ffdefe9076017d30a4ad44c020e9623257e6261a0338f20aaa62ff4505749aa31cbc9bc61c3dc3d676dbb0b43f34a794c09d2f7f872743ed03997c33d12f7f244b358ff97a5a625d8b92bf1a30890b5cb3988fb43683efee452be4c526c8ce28724915f6e139ad4e36cab21826d75e56f9a9e52642954b57a76a1ebcc9843cce9d172fe4df5efbc30b80365c7d85d465669364cdab2d1a350e6b5b8c2a5fe905ef1f556a9670c87cb227a17850e38d0e3aa36b1450e0ab68695e04d16b939aa45f140531ac9524955a5c67eeef2b01bd17da3e7737edaa9b35fb7dd911d9db1229b2c65e8e16c9161d1d0aee1c57f4fd672b5f47d8223f83a2fe6162f7272591141d4893be4afa3d17e4de997cbf69752a316b3141438c9647bfbf2bd9b7c00c3eb42583b275796bdd807658ace22704f02e94811f42ee3a0f38187d23935a6910d90a9f6f06610d304b44374f3f536d99d9182658050c72c5f93d8dca41a51eda9599227a662141b0afebaf24f1d85007b473d1d8ab1a27280d336ffdc39bd1c309fddcc20de948a97dcecb98432201d2f56cf2ad61554b8bcb74e4ecec2ddc9bfd001279f9154671da97a42e62627b6932291df68ef3c01bcd977011e300b107927f160f51c4f2b6634732fb4f1dc50c5fb919f8d666b893710b0fd63d1df58a3bea9983edf39b0302d1b8698e2767e89ddfa145ef58703e527e0e5f50e5096c582eb58a089e473d667e5e922b6bb69d0e35e68e19ed0fb1dd36285f737c2673b8dd0b50aafcf91e9145b8f1f97fb867f5554bd77f741d39a39e34db86311b9cd6ab9df95a2d77faab2c196f5c0f284ad25a1ec75500f5039d9b2bcf3b1f63648ca0fb40659c5b387929630a47e2e77e5cfa2ce6f36ebaceba34a91e7f9ed5071deca2dcd4c135edae49899a11da40fe49be577ce156d6470c2110d46fa5af29665fe0558a306dcea06e26dd22dda0dd0bbff9868a758c1b40f26275380a31c47f14d9ddf4440ce31f8ab20f825bfc61dd7531c40f24e73657bfd7edb3c7ec6fca3e9b4f006915c072cac32195b045a083ba9bdea32af9d5f2ee821664dc11cb20ac88c7f1b41aa64e392b9205f8228445a6b929a4ed6878865d1da14ff21cc6974ed3dc8444ab94969afb98db021be95af3138c37baa6a0bb772cf70e59c5099a2b63c0293f4124d1f2836ca8fc9adb77a9420ae0a6a493ec84714827277bc85e38c5fa1f00385a659355c44e5a864ac28c933f66738e2a9212eb463218e603edb3e91f836de0b6a322a6686b6d12b47b4eec7d28dc69cb385d3cceb61d16abec5c042f2a50ebf4263efaebde1866a2d2e8e484ac716d838a0702fb924872ca0158a39c0c8405c81da1b2e2a4d0fa94d60be6213bffe2dce79059effbb702935497ea025d39f3bed4ad9bfe7b85b495a90dbfb820c3bb4df57c9f3279c509a41568933b73156b86fc74d041b4a3319d89af848160fb9c3a788088dc8870fbc50e3b5641034d4c193c57f59de07bddb09cbffa06e5962ee57f40812ab477c54c599a53573acfd12c174c51395604cc7d80cf971d985bf700bbedeae58be3a9bceec59c9b29a0a2df7a283460a475f78f56ccad6d76a75ecff9e34ad5db46b89ab0ec754bae4c49427d4577067911fe9485734638ea45c250de999e4811bedccc7f2f02b3b89b9ea827ede303aec5b7a43c4bd030e75bf7fca2c4d34383fd28ea4cf539680881f3e322c2f1a8cd5c4952b5238e482e8f9d07de693cabb1122f2818f2402860284e80c799544804bda7b7940a223a9f1abb914a8c0a2b301b827c092c0c472fc7d1f7bffe4124e74f56f3b3fc80116f0061af16344e81f58e00d84b4dbcfdd9f43a450c018d55bc0ef1c81a319cdfe5a801e5de6fac5fb93f915f7e80f241ba451b0096ca1a1556f69c6242dd590adaab229c200b4f9e6762e993c45c64e38d9e9bdfae792e1d03e3bdda4e92dba19f43b42329dcd681df0d332a01313fe8f6c7a72515c75019e4085674f2de7ca8884912603c2f60c9bba1061542610c4dae3f85efc27572d167065e66cb0def61df9395f04b88343e567247b0d021f31230daf5ddb4032c5e68053e0f3e7246ab932d3368c012f459c33bfd11c83bc8ea01c1f9d8eee07cc474f75a0628842e8ce0b7a16f35cb7ca071913d39c0a8f92ac5fbcd8a20558eb627259831722b51deeaa88f36bb921871f5614542a5d94c7a1a709af5e18e500f040ced2ced71c2bff29aa672f2529561705ba6099c751a52d78d77dc987ff2ac0ecd69021164ed6f7b79b3db85668557bd78721d56dbe1c9a9cbfb6bd303c9116981dc51f4ccb1fde06e46a896fb858bef56b01708493b7baf67f7b5fd6943fc3f5c25080e4b5e11e66491ba25fa24fe2bcc48dbac70ccdd8af0f815189d672dc97f0e388fd95886f8515887a78a6454202dcb8aa63e735de30c1e9b64a9735213c8a84b6923ec1a61883e7b90d88d34a203b29b49cd5393507894b722222937743b5f615dd2c97988191b5e3442f89e9a8d0facf7324ebbdcb95e31d94d274341532454afa2614d28c34019724626ff2080091ceed920182ca06ffddff4a6f343041df0fd610e555efa1b53d2587efacaea32c1b275ef8544bf6c2779b615445f3f5bb1128171337ff5307c0d678356969f4d8aed6ce9586f90cdec89aacbc848002761467592f80b9b398bc818961546bf68ec51b54fd8c6c96e3c0acbb32efc6d8aba2b7a75f9c5421ffb6925ab9cc0a7059ce14e36483b9caf519aebdd9cec4fc978f62a648404f1e8ca54cd3c19b61adcee68c9a3c9f2251cb4be56daa804a9b90d05caaa9cc26b303f88003eb250887b9191d9018162d64bf8dc6fdffb7a0e2645d7b9f0ada8daa3e8aa37c3e7254c41b86d04e51076c18a768446fa73c4f8c30d11df3d6d1412210b5482b95529ae9d644941e1e628ac00f4853962a0a02cb31dc06c7b92d68acb9b121c64d2c1bfb9986dece61661337dd2167235604c62bfa32e79ce5efdc7bd0b90f441a04a827274e7de8668cb6fb99454bdebca2babb23c12136afc399d5991f4d06d3ea87b949bfd248284e61a7e0041972e60630c20d7268d3f88496dd82ba87a552e21cde6d3ca62d5751bf0e27e48cb09602159bc22882c2b888038a3a51861caecb325b34108e98b66bcd6f11d9f78942116796ef8e2a09f697ca943951354cc3f49628314c61f27bd2ff0cbd2a8b8b77b7b871569bd62830f01ab981f6f32f76eeb6aff9a3548a01d586faaba6997d933809b1882618e52d502a9b5bd72366d647f47fb4e96d3c3b67db87e03dd7d58f0045b5f56c6066747b4c0222325cff0e57f4a6cc98327400ba83ace01e43b6decf68f42f29f52fff811f51be952e5a5bbc44154ea04d9f0028b9479d81cd008b6ade6b25fb1f43932808ea12ace3af709c7603f469d730b87294ef644713f6c7706f4209bc12f4a5558d480e79396e7828c10bf301f749c6a9d84b6101164238c40ade09c0fe6f0feb0224d0dc9e567df1d66b7835114be831e39ca4a7d1b3fa1570679de6b97a4a3c5a22bba9fdc5e7a9867f6a72bbb3776c5cb52a238a8e66fef0b8173c8d6df64dec062d5951e6e74a4a842a331b6d6a9a18003068315c836a70e24b5dde1fafe951f501cc3f3e457fc76bc9d22b2896b05baff0401576501461c3984139859057345fae5eac73c2341889537f6b4bf423f3b690bc8e4fdee70a5dd3b30dac00ce866143af5083e7727f1e07e93495bbc886d6111b0ed7eefa39d92a08d77e361832d48e3c1233ebbe35a35c0dc77e926ddb74c38e56d0c86a0be95a455f95d35ce02570b5cc8adacddf4c450bbd27c7614d34c6430f2903758c8a7d63d5045e74d04857f9323d47f726918edd93b9ec571b1f9e71f829aaf5f62415baab99605e5157b2fe1dd14d46258d5b5c0ae3a0e34b88183248927e1156e6c96ed2fb46c69f865042c76580f1311dec26ee045be54269915a73abf1d319de4be1daea15800c969e0705c0c339c8416fdacf006a56591d376bba72bec4bc05d71c5c0e3e0292dab88f55acd5caf85118bb4f4ac5599913f9301787084c5a9f4b7f618d4baad9b17e192db9f8b1b8d761606f86ec24c2d2a99d292d9130952d5904c604f46947ad0ac3da93623fce9b664653433c7dcbe707782c071772f5ec5ac241839c05b5ee89481c287854fe53b5a2fa4d8cb505194feba000a11dfb8b6fe9e1ad56945118a5a6dbe9710c611281bc578113d59ea2ef4d805ea16233c912393a3f785abdcb2960a561b99116ee7fb3f380d80af47ead97bea5fd07c45e3a71df5d10cbdf6137b8c4c7f9758eddd5e2f806b304d8072107f1129d4df83436626d7425b84c99760f57364f0abf9369a9a61ed4fe3adaa385ca35c14a61d6c7a2a1f85bc42c8d94fe4567287aa3d3b810738eca01623f6e8ea1899872b3c469f5ca019f238847f934efd8a459eb1634eb1e4760c7ca7deac36e50a08dded70ed6792869d7d5ac72181a0ac6f20961ed606816b6ecdb4651273f796c997d2569c19efa4754a59d5203900408f234fdaf58825a107c4251e9670824bab323aa5424860c32d33de3a7839a5ae6602437dfcec1d4dac85512259cb23984e5d8a54b4003ba0ae0672e4ad0dad2bd2af0e34b356ad99e3a410c4fe9ef0e5b6400d266d4f6318fd112fdcae8025b1f14185fb102777dc5a7159260ce615c794efe2f1e6f633ada7a93b943a1a07c42f6296693fa47f84f2b782bf4b335e007a7f93c96c632f29f601e63dc52ce47c88ebb2b316166227e10ffeac7d8b3c1420ab86e9ecd62833174b7a1bc18b3a42dc724f8dd8caef12b05fca3e4534267cea54cf8bb50a003dbe93b4ad07d834dd0d9326edaaa46bfd31ed85b64a1f99e6c2aa3d136934df073e86ee311099ebdb80470fa24cb8d11779c3682caed4d7ed052f0d7e33d0dc87eecb27b475063b6086dd053d921c3144fe759128a683920feb2d4c49fdeb11588da4804a6b8a3d33aa5949be07d6a92bf61395478b8d6e20a0830b338949b88a0fff0373c57e9f5aebd9ee913c6fa6e2e884e29bf98c1373cd0acbe785f5c7ae513d24071f6761d93c683f5ed4ad49b13168dee6c0ae90bd0da80f23b4a14be339bf3c883032fc516ea14d00cdb8c11e9d0f5bda050e996f73ee69c3542892cb1dc269f2e821f9bf859a473486c6a47eb2dd9d28b2f32335300eb8f1b8af84ec45affd6566a05b32e24d97e498a8ff44f424e56c93c72ce3ef05bf22f2b8932c8b43de51e9ff666da90ddb5fcbcec2cbb498138e72eeea4861f761beaab3ebabc198fa29e59dc62614ea5c3a56ffa622239374dd8ae069872e08dce982039d96a3e14e220aeabf1c84d11eb59849859ceb8fb68e51303d5647f5c836c6edf4697b9472e60508b091c83df7f595e37d61fbd569a2f674f064136e5ba321d762bb087207977e4aa025f077d63c27cb59560e6fa5f04fe8a779597de6d4a83df4697b9472e60508b091c83df7f595ed9e67cb42cdc39ec8be93efb2ed04c3f83ef4a84add030362885e1443560dabd1ade470f0792a46696706a06a880baee14bd9089ad914f6895566cb14a07144eac22c2911f03890245296432a5c2cfce5c355102f1daa3da7739b19f6308042ef43d942ad87ad87733dfba040832765c7322142739c85652172a65e09fb5a657672d3b8b847434986b4a7ad29857c526b00cb2287509490831eb826101843525e885cd34d3e3532eb4943bab4ddab4ce58b61185e071b3de7f1cc79e6f01aa519180aef7242b05d70299b6fd7b7830a617c161172b116066e4ab39574f023a89a6412e688ac7c7295b93aa20ab597283d96faf117d8cab4261b09f8e40f3812a835caf1ee9e11b516bc75450d67c4768c75f0eaf2cf9d6b282f7f78cc1f36eb8192139596035ed6690079e840363ecb3dc00fe88f2995f0497296827d8700447fd66c3a5c4efbca61e04f31cc4ea2a9667f03fcd1b45b628bba6af7e9e42bfc2a2cf342e59ed8b78ec53ddac98fdc85309c9f08e03f8860cdb47518f6517434118de4563fd2cd2e99d9dc7f4c5e5045d482579de03eec5627abec476ea5933125bf565b56e2d7df3d588afa90bd56f757cb13dff8b7040dbb1c143e456a01d10cbb02636d27ffbfb8729846ccd6c7a9330620ec83c9decec0fc367bfa2957b35878558524b77fda0850672195320de7f3c4e28cce46092a1618fac297d79a8db21113116c7ab64a28fda2eb8450e277bb307b38a51271264fdcc52ce93c7f83a9f2615541bb5ab35155b7dd7623f6bec69d4f87ffe498d244dc906de0523be09ea4dbf77e3e6c4196c01cad0d1ce89d98d69ff446749555656be7d6078a7b1f34f4a07f23770697334e59b7db12b64b0039f8af6e4565d69761c2dc927d05e11655a44e99cd09f246bdd3ecf8c307ad9678a66d30fbeab2d6cb9780cad30a6c09ddd43f4de735185ba8e61b3544c57910cada8049233102791380db8507b5b33d9518dfd2d6e7277002fa0bdc49a82d2b662e67d2a12c30fd69ade6d82f371f1ab9ca13ede0e51e16bac2eecf8918d7b853c926d6096e2aa38ceebc2cc406ff589d115517d3201e29e1fb5c84f87a572c65aed0e75b7ec1fb0d803ca96f8fee3b811e7212c12c6078659f03160e4350ad433d572b035a77d0d9bf697e90410b8c9ca48883e49353d87be7d3e21cd0f50e0fbffd4cedfb3ddce0c9a753407966fbde8f099df6b3722f8f82c06516d131ceb470b2edfb9786910c0d907a4d4d1a4e4c9f2801d40d127ac94913702f35d758ef6aa9d867634fde5836d71cbef1fc70cd39d3a69a02a4576ac8c77de951f59941440a00a0c4a1a0377be6174c69902dfdccb4ae639719c01376dbb2b5a06dcee801e0c04d6de6c1c2b8bb7cab84dc2e41e937cbe8a09d4b36e390ebfbdc2e213c8094abe2ed172cc81721839fd12def86c31a23c2d230f0092906711e17a75292aa5187eed6eef35194b64188e4a32c4261cfdf5a0ded48efe263e2d23729fb76c8fd7a63d4f8a7e391f6521f38e6661fa3b83e5518b59371f67cf4af6a4240ac66cacb0f2d4616b9a83a19358613074534b2d38032e396b19cbf8eeef19a9cda0d92c8282d322167347612bded4d5089809dec8aaa04729437fcd410a0f03e33d4f877e4d529577a46915f9872d5359b02b8e456d44514becd920a9920b4ff4e894f85ec3f469b64e9e12ef907175d30742d6062ae7998d2a07b5b9020f3e8c6e460c8077cb1ef5f44699c258a494cbe68c34aad6ff4ffd84047d0ce84022158ffc145c39ee5574452bc6cb246dd36d67bc8b6d692d41ef19340f6df61dc876203681806b20874f04b06513aeba5f83955e4329bec845979f39be744177275b067527307231fade816ec20d55c19e3e98681a4a968d37a1d58d54ae94fea2ff0d2c839890d3e3b121231e17d0c896d777db62f553829c025a9c4ce667d178eba983fe1ffadeda9f364a66411907440085e70a40fd73d1d4c966d4ac6b805ab66f1784fceda05efa0d84b7111db3f9cf0673930b65f3d7379ea9e149f02c6b9c0155da01d476ea9fb16fe0eaf8ddf941c6e4cbbfa1eeb4518e072e93e8a899c34962893b9b0f5f43790179e2a9dbb371dd2b39da735eb55622695ebb17bdae795610406df2a5bc85786bcab7b86e52c69c848e363e58516a6e07758799960ddb023672efc8f481e97f9483860ecf00dcb61aa4dea9ff4a979d6f1dfe13c6d0821b5b8dba323725493076ff46fdb59a566e917e2a442f604a33524915d80cafdc65c5b98fe9192d5c178529a44ce9c7d1581864c233b8273c6dd13142f72e544d992ad0573670a72db4f2a4e69b308c183e83b9068e0d6e29a8ffc0c25b26810ffb8b9b1023f30703f46cf053d9f13294411941ae14cf88a7cbeba05cc1c85ea7dfa7648c9e3b84c28584e89c2d7969af7f87714413027276b8390cc4850da5b7d5f6a575467ff437ecbccb8d290fc61218abe88a07bae65da353f9729387eed0644b14eac574199b7b47499a1ad1fb8f32193422c66f02faadccba1855df89264c205b4ce78350861ecd40264078cb19a036cad00316a420cfd906a5a31efa628f4640bc6372926b6ecb0c9fe2ed6b87b16b0bb6eb3ca4c1475d75f7f8748287ff14eb8ec48dabf55578c83a6cddacb118ecb6747b509ea22151572d59df03ba8848d59bba3eeb9af4b7909e67e4577fd14e28809ff22def0e66ec8f5b1a946234dca4542c1e4b979b3bba23a4e44f48c804969aa37c40f7b20e5f545dba3afd929ec43d2fd30704d52e342b91ab7695b912222b4a910296478fe3ffaf018e4320869d1ec2fc5f8fbb85ff2a61d35f21159bdddcae9f2c9b04373b99ba0fc366ec27e167751ab35b1db437030890bdb00296087d7ffbce1f6bdb649a46f3ac00513ab7d75e0f305a6183d311d9b2cb7f60e02705c9eb00bc6eb67373fcd0746d2e97089be226d9b2e4c74346b21602bd8c2a6822a36b361a3a7676a7c7490e38686b64f92b3ab216cd03245f242f73213a3b24eba92d016b7f4571629f289349315274a32044a2f4516dbc653f2c4d6589e759eac49157223d0d7767832a03e137056add860ec78dcd285d00d91272b1ecad267654a6e7485a7885b5f0fbbe7d0ace56c16f50fffa3579ece5d9eaceccc348fa3cdabf39d248cfb2ea4678c5babba98307245d9f8440781008669271cf4ed03240d908ce159e67511cfe20d4fefed9f8522110b31decaf9d93f77a646644d5dd4e686755c96049c47edae9a7fd45286fb43b07e88fac1e04d1b7b48729a4b16d35311ee3aab2c448a6677a7be6d93714e50615fc0ddb21902cdecd79f4508542a2b7f968f837a71739fa4fdeccf6579f064122225edac2532cac89d66ec8859a99d11696516789ef13405c17373e0d6941057a3eff49c091d67fe6dc9a689d4fa3385168b5c60e85e91e18fe0f63a5093342c890b028b3c80af7f9485ee2d4d702f11d10650061cdb31c9e36f48caba2a6737ce20fdecd03f2ca510a82e0b19526a0d84b4e341dae3496aecc999d580d053231035d5727497bbf08c7b730081ffeb7ea167919deead2cdb10dd62dd4e35ba595b6c6dfc8e6e0ae27a8a3886e1feb00117d18ad89ceb0ffa3dd5d74b35bb6f7f5ba19043acd30a851f6e88ca202f6fce2e9a5648d4d52ac00aadbbff7f2221bdfb05310a1cde648e15d0feda4f7af64ac4005238e3c47efe4de8070cf85426bf3c5677e47fa25161659e8c4bae18cc3027d6c7a80b524715acfa0495770f9ddce6829fdadfac622e95428df4ae3a6844776ad79ef580685213ea85ace7396e6b54d17059da91ecf6cbcdecd3b0a90babf0f4c7d256bdd27f180b65b49054f508ca6c8784ddd79845f344ccf6b5a02eb67ba99c48d4843b005344ba8e0b30e081e9b380bc5a575139d09cccdc68f94a4e758d7c55f94955c883a2b3a9481d8eba422f07ebcb5d886d8472fe5e864fc6f4a791543cfb5f7cecbcc37537acf29da42e0d83d23e4bc1af42ca208c4c818de0eaa5a258fd4601bd5102bb8b617daba62c9c66722c291425ee9ce6ff5aeeef2c45619f72ec5eeff0c49cb469c7f8773f087f31d80b4e75c95e653d391001b575f0d46f2b2971f65230f14d3e17e03effb8c1690cd75edbb73a85c64af3ddada167bf44a5a6c80253ecc3fbba24cb789306af97f1c1dcf28481bf5583d63763abc2073215e252bb1e5dab157d33fbfe66cbf6d3d08dfedadf85667d26b4604a3ef5d50ad3da2620e32c122d8263b93e8c1bd48be02c4635d845a2797153ce681b37af87ffd2d4183242639c014cdd888f77a95fc35bc6932ef832a08e52ab42cd92c7b73c67877de3bd9279508aea296589474f48e552b210175da2f28f2534782d2d25db7e0c310a4ab80aacbf6eb870ce0a5b190462d596e84f9dbee7ba101f4694533bfdd136f0803e153bac626d86a5027149b9e48bffdb141e05ff6bd9e94ebef39ef4b6df37bf947127ced1876c3b5db5f28e27bc60218271af72710b21d4b3598c19717b9f85c1e471827a7d8eae992090172abe65cf7f2bf98f46ebbe3ba666866c1e890baa325cf61e62c71183e96188084a71012d2f4c87bbedd1b455eff45ff3b8bf8ce61b6c7cd74a4118828fb8456a17fc06def3449a4ace59eb57e394ddac551048a9645157fd57233887c05cf249295b347e4d4dbd6458a1c2d6a5a003505babdd892d09b439d6ab1dc2ac003b43607c8f41d044347ce6fb04e97127db588de90312333e4628b5efcdc3e2b9099609af9727c1323fa8357932441e7554969ccadd7a348202bf211bbdc8a883364cc8273d8eaa62bed135b035fc7b28a9a2f5ee3c730641aa62220100ab980c293809929d856ef30b0e41867a128affc07f521014a066b3aa5b3d9fa0eaee839cd21d33c9a29fc45c794ece6981631150c9c535d8379a60768b7fcff170b7e6b161f5ef31b32e53fc92cc63ec7db00f556544454e12f96351091d50ef4f967fc29d470788b567c0ca3dbd3365b521613ea82daee1c80e7601a054ca07048a180a3d798a00cd0ce778ccaa6438fccee425aa06a8969bfe9de83545845fd4983318f0d446171a6d8bf188c46be2eb06f334b7f31d44fcce290eaa0539a83eca66ec72473c4c9e65e15fa48b47da1ab2dcf6f4f78d4f9ca38d87201fcc1f409e1b294f672ead287ade26ff8d57be289a745964ed83c93433f287cda1b28e9ce3b467fdeb56000bfff37f3d50b1c29341390080dfd5612d4e6e6713cc53e7b7a8b38812c666873633dc91b3843c397b902713edc64d404dae49d6495ce7e1f95d13e8ea5b1bb6d1e75562ccffb9314c39fecd812fd0ca9da6477a2b19c5cc217ce55333f4ef9a7a3f31e7b12bd5815802a90d0e37575825ae56fd5199423582f184f874a1039781bfcb82756b06cd024d2a80156c54e6bef4255788bae1bae9932277680aaa10636dbc49603b1e3ab2ce14081b0719c2761a80b68105d2555835f387028a396096c690cde62547e8668d6d0c37f092e61192f21e53b83c4dd240192614795d059f347184a5be11f3607587aaea6e6ff23578366efd8c3746bdcc57ae6a6f20550016b1ac3e3cc8602a95cfa55a5ab87ca356a1ce603096e3940bb9f7ed87fba6452c2e60d89df3ae2f42b11eebc4f057ecaa36879c7a51f01bb8c74f3428606c1393a1579361ff68e0394054381769a051860178e88a09cc0f61cc3edf4f2a149a9e18d31db17453e709c7d2e51a3bf6f4dcabaa00bdd9b784b999e970bee7cb005bcf37287b0060225903dfd956daff6b4e6dbe099a30ed0417264a2023b953d4e72244ca8b1bea8d7151ab16f624ef196d4eaf142fa2e92f7f2b699fc24254571f9dcd9b0e569dbe28bd6262f14cc2187c0febe38433442a2ca8e57f8eb8bef250ec7d28e3ab3c3be0dac984f31d1825eec18aa7a6bfaa7b06ba9e33c18b678aea36f40c9e2a6af1ae6a9a0eeb31dbe67a13359078b0bbd6aa10bfcbde66489b91b9076b470090abec53fc2cfc07da93c8be9ff73c63252bc2a4297f9de3f9313e69a1c3972f07bbbdfb0864e5e93dfd2577c1e961ae844a5fe4486e66689dc9b9277708619e4e4ee31e05de62dd9b3f102d05d96261c8e82603c23ca59936a93323f1e1b6813957de43be893a63d0fe53d66abca4c35ee5c19b05d1acf6714d987a3b33b284fab2dd1f426d746f9f8094091687978429980f2886e6a11cdea9b72dbdf2c368e5015c7f7c0c4fb192b106ff74f19525883eb6099312b4ab75128bb714352e638871d97dca558fdbe57bd9d6b497477d2c2d3d4be1121040c0990860960f9c2ded4064d21c91d9e8b2ed1dff934cb18613bfec4b9c78c5022038962ed3e58f7b0c82b776cd14459f8db1bed0af467ebb24b2058651b5ff19b605cc53b9e680d84bac5b50ee5b357866ab6e262996b8fd6fb0ff8fbff8efac74da66ec17dbc609e4cc3eb17bcc20a086f96ceb007f6aaae3a73f6b9ad88347243fb928288b409147fe28012e6b53cf7f627106a65d9042b643aaddb38c5d128f19e13dc1e9cdb2ad63b1d4a8cd35effec2e6c22dcb97c94104534128209fb4f6e61a1b05727906fd6ac858e29579388825dfc8e33cd7853798ffdfe4627f5c9a95f90102def9c05400013f6c24e70df5793b316b4546ea7c0b9a642e9202340f2e6ce0c051fb754510befd2ee65f0de8761c4f2785c80d06a0c0827620e57e38118d866ab5336da079f7b066f52eb77cbef6b9baa1ecfda135ee21a616c7980e6410ef50416ebc5e29656782a8742d9f5f884963271077d4e5cbc7231f7582a7037c44a56ebe312f2f904aa40c25102b6868b1b1b3dde25d8497fbb3c1cdb5654e1a413fd422b2f2b2dc3156e6219cb9b6d8ca715d3cb593e1d54a79fd01c8210211a35d63f47d28bf0b26c2a51dac6a8841a3d29ef04da8917d9feed64d79e42b138d2a87e2efe4a7715d90d860b703fa88f1b01067303fed20ffc8cca4da0717494f95b52a6b06f3dad7ee13d3e294860fa1e77f892ab8a812572f9f0bf6976aa74381e8a84eb27c6a612e858682c3cb7c150d35606102b193f8cc7546fd094764c33c5c3bf739e670377cf31a8f300050ea00df6b6694a495cf358675508c6772be447a20b1bf1ec2ae69c085f25773d616c767c1f1b0f2659cce2b2c12fdc5c33713f2cdb0f61e016bc443688da003593570f47adb7529362d621a7d1dec6644c871ab5031483c2947b3695f5ca3ee42674b7642d2d9f21b4f0f9c55861b555c148a58469b67ced638a99b4740e9b2ab779ad2fc1979a033af790388a8dfbdc04c3886242ae95d56071e583d82475159216cfe000a4e00ed04c75b0498bf72a902e82ae0ab3c1ab134aefb924cfc41e264266e6d89a62557f72fc60f875ece96300f614c283087bcf7e0d89307d4b714368bed91f8c52c08ff9c3e9f40dd5f152e3a4cfa5fea78276e95f55d8eb5a048e189b3e49d1137f2e06049bffe81d89cb09a79d690786e7b703689bc79234e3e0add052ba3270384cda9f775ae3292b34eaaa8eed3999efa199d94c84071e8f39ac0efd0fb4f2b87c657a804dc400c14e3b50879a0886874218511c2f0874c4e9556ae3c7111b3b3d730ac83cd50baf177f95e191513ca084740233c39ac5f1a81b66f570e17b507538b7002ca52484c47fbf91c12850925f6066126762939401151b5ea56bde81e7df2ca1176c4183c989bbcb88ad9a732896d55e176b87a7d7088e04fb78d1a049015a974c518c8097c257bfb73886c0f4944d5b70552684072eeb8289c1d5e5b010d20babed1e91f21c82e09f99a0511241eebe998b71ad1e1bc385a3a55b5e4b0bb3fd21da037c9d16618d15929faeb7127e6739b3875ec2403ba001f7f33f70dec7d6e75688f31a7d91ed95aea06440d09eb251d530719629635c18863d0be22e68a12edabc672215b888af97f08ab156900a485aebb641b5e85d26602ba02ed1368641faf698c76a7e37a7309d205afc0b4c86a6496b8e6e6e298027aa22dcca5e4e741d9e240b8114154bfa28d8d401550224a3d97cd9139b0ef5d3d6edf9ce821cce3ece01445dc343c312b3cecfb4dbe94b9be88ceed184cbd7fe9c77170b2a2a001460f5e5ecc643a624f96364198886611a39bee9807fb153b9c9334bf1922d3a6f75f4ab3a918864236ed903637caf8bfbc282f976f953cb2d8489a64db01df447c8ecf646a20c7c52399ac781e87f2df38ee6c8b30a8d7a293d1cc3e0a7b4f24ca8f207895aa424eb8a881b0e34053470b84c08a834d843ed36014020c8715cdc6aeb952b264088eab72131894c73e3c22b3d8bae51c46f17d6cf12da38ed7b5db8241589555592b82c89408a43271f5759a990a49c957d14d337d8cc0b5c3318151be6cc740022083a8e2b1924233c1bdfd9f657e15963ced9d9f54a3a1dad22b994b0055f4f966de24b2ef15e2bb7d896c3ac2dff41b0dc89267e919bfd19f4bec31091cd3ea5c12482c2bf6287c3606c50924863c64d66ebcfbc85cc16566d22a1aaf0a9d6be3c9286e9cc6c5a4aa5f25e0986e28c65316147437d246850acfd0a16f26e10535b51bcd1e299852300bcc85130bfa7cb1d8b2c181be78b2c305083479fff53f8212d8db39da30d65bc6c11216720d9871a24b3ffaa6a90ae033596f8375ce3c2c541d281c6fe75fc4287f1927ecab168678f42679ea6da02e96c4671ae97ac8f365c889db41a18e536e4724c80787e8a96d738db553439e88eed5144da5f3942bea0f61c9f9b8559f5cafb658aa01fda4afa5ac75c51e1f74f1835dfc3048c901bda52599a8cbfef6732d44889aa3ad1ae03f67fcff9f6d9edab56489f6ad4d52b0994d0948f4c36599097d086932c75c8b8fccce726af7cc9ae2a5f09330f174b769cb3aa92cc17ef079ab61618aac6635969dd4164cb8f265103b42b526e1663adf9bd657380ee0de73bd3b532e8a58bd9c7e1d3579627f9cc54aed95790d7fff82bf84172bd5986a0a479c4b534cd28d220b7330069dc6e7d8f847d65493ad3d390feaa5f3fa801ac85c3ea85bac977f026e26324e77eccee80ccd3ac1f603bbca02940e1b15c124d316acf6707f0c45ec181b50ee71c92717c345daabff6753d2e9644c3f1dbd9d4bc4a89896dc641be26ce40c4df592eac4e5d8fa94899b14aec359d45f7772d2d93be2686de06c187d71d52eb9945c2e9118a6ab0d0fbd89ed8451d82eaf34e5b9676f00bf3c07b500d998e3eb26cd29441d10482384407ff9977aeef7bcce2875dde7daaf30df86e2a8660119130de77433cbc9906eb1265c1beec3a47f387cbd8c568d9beaa6e357433b6109ac9c4009bce8a9b2def98ea7845e578a637ef177ad30298d624a6c906a9e45e3e1b145e16cd4e30f47119d7db869e7a4dd484e5390497c97a6bbfa0236c8ff57778d219750b3e8df5cc048d5a9318cee23bdb74680139563e595d93ccfe8a6645e5f2936e4c8d681d50799506e55b209fb183643f9e4404f91d80d256a6395ed5a507b9f66f2680f0ac90efcc8c63554df965e526cb24025d821da73df749d4c8b420d2ccea19e28e7c784f84a2d2b639ee85efb5c391b420119c17ee2387934d1dc9ef43ad77f2659532cce966bbdb9ef837729c16da6a3457682d54bd9368a6d281bb87ba91e38091351475c153d9f667545ebd4e5cb2ba6fa6e511a8437150d674986ed7e106f07f2460c6291f587b8beab38fd56d950385242a98719271a7957539ca32dd16f62f5ca5066e489bda0064707a972ec5963bfd7049579d4188cb55fda9792c9c326c01ee299082dbaf15098ac16a683e5b12bc593de74495dfcf61720df55d93c0fa9645ff7bc0be06644ae3679a58bfbfebfa4dd287f5b3a06e544559fe46d2b8b6b976d8c2673f7fda2ad2123452c65fef17389e57412f68cf079b1a52fd187805ff431010d2ae109c109e1ccfced275267962ec9832fec1e6f168f49a7d8a9d4a7fa8c28c36307ae46478167ced2b02a7cec6692176f1ae720379eca040ac8d47ac26e592eb3a04f9b0d2500cc22f8b376956e892d9dd0bd3cead4913143426c218eaaf092102f3a8fa627bdd3c6280b78ff62e0dd9bd1887d6ab5c10f0c52246243e1dbaa8011bf60563d78e7730a7057f9ef8bae8ad2f07fd6c1e2f6ba013cf17c65516f7f2927435f75e0fb1436938712bba88147a67a420f14e6269d3e1b0e6997202bda0c3a0ef5d6d3877542096003f2d18f760c46b3d0fac7b82fda73dec8c56b1259057e29b3928cc1d7515db92410065a530edb4e077a7ebb0ed883b0874483014227e10945aa9c1a575438b27b036b10a74c34c0d23360e37c4a38be00a843eae0aad9ec522919059a70c4bb982c9a3cd8baec829d46c79056ca955429c48e38037810e1b8c3bc4c8e63696a84d7141b3153cf4ded8e36b9dd72ff1c2222df23fc7e9e03e3ed679dce7103d125d4aa560ee0b400c308f2d1b4e1a54cf74fbd3561aec7a0467e11e370f6641cfb3454a1784316f59d1f43ac2f2e28b06d4b676a36d17db7196c182411e76a1fd83fb1c8de1e19220954056746db800f66d5b9e8ceb832e61645da49d0a4ce5fb838f44723ffbcc899753bccfbb8805af82fb2b2ea48a4cf050e4a57119fbcab416f91b1ec5dafc031a16e7c273a7b3bf497a4981c2fec31400e822db09a3243cf501aa5c6c2bd9de17defd12e55e1a440a0a1b110a1cc161ee6404bbb4c8df0caf7338489b0fc959dcca5ee7ce6cceb3d6ed40887d235a3751265c8636dca0a1574888f1f82fa5f403052c07c444ccde1909c01e57fbf5db076d395af4fdf932ed9442eb50a4b70b28c1de393af265ed3f958f172cf4ba4e0840d4676f4ebf5f97a061f203668ad38a7663bea8d73a965350ed41fa3a44394b9fc54fb2d78ef5e6e9d6d4f6844b3bacb6f18b4651c2ce422b7f1273d19750bdb09d2723fd64da5fbde0b5b0aa0066e3f96e1652850f611a8c63ea285e7d1dfcd99f561f73871cdaeb0de383047f48a798e229ca815d2fae25dcef23a2778209fba697804318a7dd8b4e45d508a136c62fefd0bf13149d325051fb87f5e1fa1b9e8c6a738f692c73e45ec1f75d618031a699491e367c2f6f6d9cd466b333dce8e5ef8d03fdaf071618ad22a73d3315d4709714881e0e647fdda04295fe62dd2af55296fb2ba218acd375af798019f82c0ef331803c69931fc8a9a125d633c29304e14d4e5c0f3ff9e4a4fc3401c3ef14333e791f0ea6e72316e82caa8812e57bc54e34797a6612a55a7101677e095e498022c512597d3c13a6c9a075d4221249ce8e13755c419a8f9371bab168ce15e71ea90cb71b1243f75133144d49b49bdbbb7b4c4d20d193f83130c693081e03fab6d0e9e10631c6ec94b97176a317334c015e7ee09081743b0607790877188aeb6c7609057cbbe8140ffc1d02b98d860c0f29a86ca9d7801a7de251af8c440fd3a5dc2c23914bb7711867f9a2fe85de3075ae0fdad60d433c229f418f224762d0f6d5a17800626b0587effb46e475e60f78e4e57f729d94ff59aeccdb92a25361fe4c9213a3909a12e9d2262ac71ee505e49c7daa0e6479c4445d4a31e0f954babf057a664a6a849c86d8f773e60ef0818985fcd810678db20392721276a9061f57c732c3592422839077c1c5f050420bda786dd8bfd84264f19489356fb3a71350cfc8d40b72ff36a146e7acc017da75f318e8d510c9024de47c597e10210f777fad7f82972750e20ed3a23d3ec82ec78fe4dfd2f06024680ca4e0dc1f71505ffca06539e3b705d674dcda53ec7ba1d5cda7e3617d6ade6476700b1b95c142cf319584b053211cde43005b7c1a79cc4f729969de8146b44cc673c265b028e85b376d2d0891890755c06644e9e89da29e797530b4b2837a59df631fcaa3023651fad36c7f6ff69627e1d1ac06402ad1166706ee35b7a70fab3377a3bf3d5e113797b08b4976e019174811a051058ec61b42d4e719cb7e75556a59463b3621ac74184def179aa6e6a444100b46f347e25086c9c90e3b58ecfbc81fdda97b400335494d7f04045ed2376053d81cd0d59cb2c405ad43fe49849e27467302ce8c8021ae0361f855c3516f1f7d81eadf1bfc24b1503877cc85dfbfaf49fe67ebe544354a428a44bbdb4c3454405a1a888700a7f524f9372cbb461662797aced379e738dea9cea22c6cfaa99435ab80bff61cae0b8292dc9deefa7dfd88d7299f71733ffacb7d1ae0748b9af57e61694a9a442da6281a3848fdf5fc43dc2a7f1ed4d0ef6716f790d10525716d740b4e690c284c54338e91d967a1ff9e91ce8c48abbb5cdef63d53677c464cbb762c8b00836df6e434fd9fc1359e206b000fe0bfde9ac2a76f609a9254e2fb61fc498c20d754765e7c450fe7a478814e26e2d773786442f7b3919bc769cda6c931d46a64ef388e3a7ab4131fb8fb3418ab392a2281468eae6cc172eca8f1c7b643c9f22cd5518d352a5a389d1f877374e3dd40d471a6f753518a1593389676bccce01184107a9be167b00179f48c21e736e73688d18374082f30ed586d25c3800867d37b630456a7c898a0e13f8ef031b1b7e533460d01d6137e50b38a1550289d7bb818cfc4c98acf684a917d29465cca0bcdb78063aeef47f0b899cb8404b88e9b7ef02599ecabfb6037edcaa4c959c545ca6e90847a4f69aaae6e8ed24338b80c3a4cf376536ec2bd7ec02e4a69c2220cf66f987c55f264cc74b81602c85a79e877c6193fcfcb8961dc5cf6abee70044492136933cd989f242b7f00eadad361e6c923d8d46c01d6a01d26268a1cba1a5623e8da2ce666aee236e29fc3a11a665c1cccdb6ac715ee77f8bfce444e5a3ceb057586e73fe09d35c493a6e72b9c4972dee78c338dd3232fb167d3a4a2ea09cae645a10e85e231a83310f29c6b08e0926d5e6a4e655625793d8f4a31c2825019594d90630f60982b6b1006d74b8f45f65d8f33901def69f2d7d388d6c23bba8fbf8ca5706a7b5afddba3ad15229f9872af2849301ff23037cdf71c6cfca34e60b124c029a73c4a8e9f7170568f266dc3e46c784f3ae0714011f50251cc0188381b922cbf9e2788c687e64db73c6e42b7c5650fcd686be16f6efa630eaac935b070f2ec2762ae028922f768931570407ce2090663eb04005c098144924c8eeca8ab6c85d4febe49fff65d3ae91f2f83cf20e2c8d16c0cbbf67d99a8008b9d15647a50f5b552ef9e9397efdf8338a9e2b81e978749cc4b7973634a9f2157589520cc9b4f6ea7037b6d2d411f92afd52b4c816224ef8795b90806f17893233ecc7e615fa78c0699bdbec6461b0e89d68389852ea705a6a6b6539f147c4141dd313ddd213138d6da84cc80a12dca93c437f5a4b4c337753bbf50a778ede970f969d2b12a84d632b8e9dab834a456f2bed006f4e118d9265c5b742e533eb4d34753c63507e996b6bde568c41ef043e26bec95fc50454ade71a3e2114f18af831f8b22e8480ce750569f8112b27ce2af0290d6c82cef785837d58d5cc974b01ba5d8de171c0a428d8e31427957b8820b15518ec86c484cd3ef6fbaf2084f7ddbfd0e62887b95d4770be52a3729ed78c83265973f461d46bbc20122827dfbcd9f7aa2dbeef85300bbbb48c50a9495bfd8d93ea5c32589b52f7d4bbd98fbf2be0c94235e56343a44609ac9ce8ae0d9f7126696dc7a529520083cc50ec06ddd8a8224e22d1aced956657221226087f90c03c41d9effb2f4aca637edf39c4b7376eda6a2c3dcea9f17204956fa533d09b2545aa1201744445216dfbfbab03b2d6e5bcd0d25915e7973b224f554947b152cd939a3b646fc8939d40a9e9a917fae840983de977e93b596ba8d5b7d6ced391a8448d9c648bd7bb38e75887aebd75af05308be716b94f41f01c2f3a7dd5ae01383384e6e4368582720caad83c63c1e5bb6a7109b417e51741fbe27887ba56d36c2d50967ce83246888f4a4aa6cfafd30bfbf91bba2af20ec9660df7503d9e60b9282e1f4f604491b4649f80ee34c2c81ac315482505074ee1793c048be49a0125ccc9ce3580a04cdfe57550b904c09b57fdeecf2b61c1ad4e0e664b0d0060dc9b60de028a64d6641f0d110f781511d9dddf55cd34f5b44649a9530e0bbc95fc5cd8393a23ec75db77733e8a045216147925bda81fb856208f0d5d023dfe4972207309f91405b870655f47fdb91c97bcaeeb948349a9ca20aa1a4b0ff150603f912ffb25e9759aa9bdbf8db419b55fc8cbd182631e225f1718e22555bf375c6deadf8b41190c3c08cfc99b7f1e620704dfcf8159d47973bbd1fe3cfc1f952d779acad0cc4caad0a001735d4914d5421870fd535ede922f70c389a0c92012fe4b7cf0ac4d2283c27e69669ba0b09a1f8409af1917e6d562e73012a1cca5d44338adbe19db634c28f818f2f5431ac0ed8a34c1216457420b45f5db52402ae0577fbcff7cd2880940974b22094d553d4ef75834e14c860cd3a5e08733ee7cd6cf9adaf188b3d4495a29cb14d2d7c550dfe6b28a1c8637b9f650ceb0f855ad146db9ba7c158d7f8eaa942dbdade19c624b1a2ff941c18c3a631a6eb03e7b85b6d1670e840d0012928c118d60e44e119f7854df552da9902b7f291b2a3ab623f5416997452916da046fdafa6c765a9c9737c983155a8b30e1e4e8d02d88e7c4a404cefd8e08e63427d70456a788029a738da2088ed597e2bee8afcde3a02e52adb30cb1e69254df248d2cb5bb74672b0af1e6a2ce3418b1b90f2fa6eac1ac6089a7a39e1ba957a4255a82410932a3ddb141a7c2661f558d7989302d3a1eb5bfc5b8fcfe6be131a8a96c7a80c56b119c245eaaa1c7a62be327d3ccaa00f060c9bab9adf6b66ff93fd37dfcd71f94a6fcbdd0fd7f66e305302707b23b48e1321bba4f2e3a18ec00c535d6376de7e668864f3201e9dcc66e8a9a86591e4108a286da6c1c889db8120a29cbce688b7fcbe8fd97022476f9b84710a053ff831d98bbf191b0c7368612f1aea05bd385bb4a61a34cef216be98f32d09bc0dcb41f13c62e3991f4dbe380d77923285660c98cdcaada9a3e73136dd1302779a6967337054fbcfd1f20d86e3ba04d587d40481a3930c2bcce1615ae1bda881110f910fb87c773c512c8ae32837fefc2483a14e09e07b4e202b0d3969d250c9c53e5986f7b4b410acd806f8923895133b4f5718359b844d4e564d00558ae35708449c025b212c1e7ae83fa40ef6e633aa69f2b5ea84710b3e0f951261d5e4d0bdb3a43096e0b7848a01281a8401dd2ebcd2b1173c8d6c6ff5dee319bff23b1432501eb37f761576d135049bc52575a0269eba05f9eaea80945b4200d1bbec06b562af169fac06059eae54eb9f47d487e7073c2d24e19a81b202cc974b86d0fd1277bd36f285630ae45b09821a04b156a055fa200f20d179d17391ae3f5c969eecfa3b854564c4cbb576cedc9d5c6ae24ddcbc31ca82143bab0b0aa5dc01a9aa880d1ea526c4ba18ed9450b11f589355bbdd948b5594da1a239ed1904049cf5491ceae060b7d09d0e15a103a1d67e7dcb053beb1b3b71ef9709631b6d8cf8460e91bd49d8c528e7c2499e1fba2116680ca1486cf10fc4400fd51a10a6fbce8e563b44f863ff9a4c4210c6bc33edd84e1f83842b33497560130bf065316cc8fb946471b05cd6e2f620f71adc288dcd220dd965633afcc65b19ed3da94d55651eaef5b3511fd3dce12f998948b401b505bfd495e866450726072fff850c0665b47270fe650e11615f38e1dda9726d0f17c2a0206e982f17651cafea52bd1ca872d0710dd67d0d59095ea1f6c7e5c76b88f54ca62347d655c6a30f5e718deb07e5bcb7a4d601d7bf7f8d540108d509fd7994aac95fb5f5a017ce2df94bab0a0b928c605cbf978025d2039422bd651afd5664ba8a0451dc0ca8bfcae2e7b556ec5a88f3eb428e4b890ff270d85ff3ff1e79db3e2d97f6c4d99e680867fe1d046351928fdbff04aac37171f4b153ccb073e94a5df05501e3c25cdf06d8ee796523cc526abd8bb0fbe5d6aff9d77082771c553483999e04b3e1dfb270f34f9f94049ad90c8eba8a6eefe197be18a55d7eb2def0b0d0cee149878bf10ddca1914749405a84b9664a8a0c2716e36fe1c5b9f24584557c9664fe23c73c2c4b299fcb7f0c7077fb9d639958f2b620ea3c1754d7a226ac117584336830102f7655f29c4393552c536d9ff13ac9caaff61fbecfa6d49d3624f97a4e5b37f45cfa1e28f44e5df3fafd6fe5b96b33fd94223a265e3a8e7dd96dba50e5a6991700b54a20d4cea2291a30c161994a714b2981e3b144eb7fe340a46606de72da21fc344b7884b3fa231a2442ac7ac5b7960b64d50ad473f4d0814ceb5ea2fa1444ecef648e6b3ad0fe22e43b1d136d678ed0888ca779d4cce9b841ea19ad4e4bd14019efd22ec94e4a6e0d4eed1d64bf4018cc2f78bccc166301f6ade7360106a7b16a8300e09c8a1043be7469bc0d832902477d9a29318afe8d40fe488dfe4f42062a61a44511398b1ff28ad99f65d187e46e33dc13ed396953548a55036a42c53a8e8fa3d7c3ec2d453b60b7dc50ddd859a760086598a0e879f466335ccfa67be4a96e8c5cfb93975d01598f3e11a454329ddc01cbaa710d24d1a1e9901ec6ff84645fa89d601502046b55cafa58eb32165e3d08f424ee44d73dc05d0ff6eefb00e789f8588f81ac27fb1e72ceb25e9f05e7ba9e8a6e218efa53ff3200e4c1f9fe4dce4068a05ad32e75941cbc5f70dc656851cfd8edffbdadfc37b44aac240bb2a897fbe7ef3b1734b6ff4b13503c8fb39014fb83ade0074f53cc0bad7c9a6c2ed5d21ca81bc523102cb32f1f8c76f1cd879029f7101aae3c94360f49cf45a7fcaef37f21ba1b495ef6eb820d24d01dbd03340c9494ae42909ef502879afa7dcb4a8c953c82939ea19e3ece8b22d251245ef48313c4934fa65d1471c7341d54835d348906ee2f685cc12da41728004a1e119dce984705dc19f1d6e5af30208d7f3690187df7252e0bf39df4697b9472e60508b091c83df7f595e909e7409a89a8fe80a4670e1f1eba80883487c677d2c367cf9e96761a6e3c325394730cfbba9ea2a66d0f192f1175f4e85db7f11eea3b834211ac081b0b2121d0c21723456f6f122bb847b6710cab0efc8eaba58cf3c07da57843e5b25f49f436039674b17ca8a8d063d269602f6c0144af0899c1ab06e7fa03026a8b8dfa912d00ee3e034a54a3af23e49d29732e97d56228396565d6300d0d9364a387a8c6ba906784fbd0f3cf283e8d7b3cbb01df03a5335234c924d5bb817902549557dfca430c51c4ab24e70232a983ddc56f60b87e70f4e182ee670477f4532145ee70f1b6f56a499603823e8186e6f4940b5fc9bc43f64eff789207251782cdcc4691d24f6d60d407dad0aa18518d2600bb1503081ab19c7d01a9fecf82069c906e78b129766bca8a990451337fef9c8ed30e8ee378615e962574ec2cc5bf6ca42fd0503652c4db19c1f0221783cd808229fcd2592d64e9d344eb7348fa2bc04a248aeb3e34180eb8e32836e5908c3bb7a2dee588b2a21b94f8c45ddd57b5e8ec9e3662282085624448661de31fe0a6c4ca9f0299f602e21403e95cca66a3989daed61d21636a2c1c979475ac24f250d186d7800fc95c481f53bb813c241bffc203ee02307ed8c36899c51dd78ec3290259cad7a0184ba85877489b819cd81cc8955e9285a9237028058ae57355e0328c4eb3904f0ad1b94a4964fa9cb61ca71b8165ed933a17f8a874040101517fd1c92674898eab1b0110ef4d053449229a06bf15d7ce931750aab94976dc32dfaf95cbe7862a6ad6304c6b39ce0f6b9ff66383b2629f6ad454c268d323200bcdfc8c9a66974aafe380322ba2b28d43f73b5a3442b8b22cf56a08c1e20991c5e4d4a6dbf937df9c1bfc63f794e5041da37ff8f79bb93a593b984d848308e25cc66ce8a11a80b7c8740f25f52773c3a91f62bb53e1c72a6c72583e4d51a89fc3bce62fde991d1da0c41f1b93a164bcbd66da5eabfe90202783245c461a793b35f901fd66f2bc1aa6e1bf3b309a83fe04f887ecc40b173b775fb57b668acf697f54ba3605acad5876083bfb9b3627273b69fa9ad0168d945340e32d50272a2b124c1ddac6b67e3540536dc9a869233cb34f23afd1e0d8b196bd30503c80b7de759265662eeeeaabf4f54f11c68d3b4c82b51c2ce40e78ec62dc66700c3640f699d3615549c2f942558d9d96b0e7f14c01482aa54f0c176b02a85d7139a9815a408716f2e190f4ced0dbec897b5378a3f2c07a71f298cebeea0e0749c9de0763cb546b3f0486c2e659de96bb09f78b9e8c1ebbc78ce47af63b8d6098ae8769eaabd4da6701c7b0d7b2677f8d0c07c0cb62b55617c2a70d1bc0a97c79dcc273b69f1d0bf87de2d236bd36eff4fcd157fae3f2a36072b3c1a01d04bd07bc392d57e48fa2561f95d5dc9cb100ca5873668ba6b99f406562d18e5609e590c199b93c57ad89d8b7ac43cae3df547e040c2276dc72b518b18e0d11fbbcc22204798ee88c55f9a0691ad0a0047c9a0f09309a018b19c7fb648ab945178a49e93f03bd85593f0683f39c2266ef4a9434117629bd22cd5929c9a2bd7380f61debd7996856c16a68239bd24a92b39d0b5106bc0cd9591696fe4d65039f0398e807d8bf554db5b91f866e12bdf4697b9472e60508b091c83df7f595ef8d35977b749efaf486a516df19a59f0c9d39c57a87aeaeccc3811d60ae8f413f4456293346250370e96f00dcf5855738038c7b482c473414c9b08750935f2670e919282a699d5a24269a0f3f7bf07258b7a21b5c60edd24898d621e64df13c24b0f8d2c7199dd9c69e1ce6db9fcccc973f6e88833caeb6362a8e643538da92806c5488520e0fb894f7f0681f49528f5d2a3bc3b10815f37a1819d80ffcec7e821110af32f3a2916de80894c67628051be18c56843fcf9e8d4995ded908c6d3c3a1ca90c908b41a1c6e9188c3cad847dd1c62ab41563360ebb63051dcb047584a9d86d995fd4b33a8ee9ab2faf10b4006028b5e14f5370812b7d409c55356bcea12a948f6ff9240504f9604ae52fb87c901fbd67889c35d6703dd1d1a6b3450539443ebffc6d2fbe2a9ca19fd35a17351018397424b34e883ff330ff6f985e2a9fba56bb38381f8003941e0121e087b56f788571df65c2fdba4a03d033b206e9720c05090169c033664bd0da8711ccc78560dd645669e5904504acb15e9376f57106690a7284df22c8e884c8c09c664a2dcdfbf1095681963874f951d47bcf0b9a17d120b10af65d55331e581cdb0a2394135fecc2370ffea637d2705941c102cf496648e61823852b43894395f06cc4b5865dda6a94f5cb1a83247424fccc9384df81f168a72678bc03ffce6592b773720d7b8a081594c4e2db2884227fab7b73cdc3391e2e474d911a630df74bdcad78b5aeed403215d0618d1a3e71c2c98f3ecccdf66c426e6f3ae576de04b590220848f57bb3f7d7f750311bb664de67c991c5757d845985aa6d1f0ecbfcc999b077acec905146b4735fffd4ddaddc80fa29f5cac1c135054cfb48552c42ac08978b316341febd34860a06de2c7fedf4f0854fcb84db0ce5ce2877da296fab575cb915d894024e2c9f3755f94e3d14c8adc6e8a327032c9a03f65687e5e511267eb3dfe2c993377d29358aa6d1733279fecaebd0666e0c9d265f45de8f4565ed7a7e5861d5fc424ee70cf6d7ddd13480d351c005fe65dc05473e19c492d0a2064b72e04c37e2f62dacf44b2361429906fbfa14bb1e8a42cb8187b70bdd8c4f32647771319e7203c891f6b8778262c0ca86b76aaab39b7e44d13469a8326c8e0fb8b2962a694cdf2025f5373983994a370ffc93c82eaa3a387b14e454b750aa9d0ea0ff1afe1b6cd9665bc3e3c0af1801ca239ce70aefe9f00695b05d092d40be4d5061993e393cef47b1a94b77adde5998708424e5cfe97356fb3f9bd542921018469730d0cf847f32d05bbb780fd09d53fc02e1d85feaab122f336f2b13d8135bda8e133b35e6675a7aa66f3aaa6e05be903260800b8130f8fa57476dbc1501917e6bccc300a1275df7043125ec9ad437e6caed260b945989b2fac9b20fe6447c5af110563d9159d5ee8da34f850d40139a131f0c0c8bb3b964fe075339464054c45413197b9839811c18ca3bfe9d753772394bab181538f8ccb5a43fb22ef5b43bbe78d2d0b8bf4cc49e72d47cdb4b340338d67167f72aaffbf641f7077988a3ac9264a3e0fbe982ee9eaae2b45f9e31639f8c3ae370125d3f4db72a036437147eba0b1cccf1c3c0152d50f82c03f30b3f797c3d090e17c8b3c1b82c397d39ef9a3bbd8765655b32435db5abaaa569cbe8dabfa9c464193f00dee2c6eb30db8f172fe053a4a0f0b2305eeb91a395f6a1c7d7c0a16ca5e7f6b19f8d5d52f2b3ac71fbc7caf25defb88197b3b949177ae66e1b26c0d3b8defb64ea9a6efec8ea42c6906d6d15dcc25165afdf6551362bcb5ddc7fb1323bde81a9ad809b35dbc8e7962de9630952c79b0c3e923d042d3cdfe003f537836941cfc743c384c15f636c41b0319b136007dd74195b0e9f724a9110e2649340ef43484c5d93c0c0ba82198c0abacd04f180fbc99cd3ee7f46c9298b0435a0aee21b39cd1ac0ae22cd0d3861d18640c4b7110855408505b3b10ba9b0390e1ed56a793de0b7be68ed1c30df228a7ea7459a867fd863b62c3e5144815e1f52a64ee6ac1dbaf19c5528364c1259901ce7197f3a2ad235ec216c21a64f0b03980ac1490c3f3e295f93d77606b430a2f65443e0d186f5201fcbb6d0ca98efd82af79c8295694060539fc5d6b578c41ae0aa69e6c2395765c52d01ced0f36e0517cb11fe55147d8a213f3773a9947a3c7d9ddefb247e9b0130ed912b450a689667268bbf205b8bdd83df2b9adf5309d38d44e774e539ec88066d029020af8878e856541e25ac4528b11c207d881bdb7e2d6860f695fb0cfa8fc09e852b50bd94207c20f9f5649ab4d0146c4cb66af59d190792a2b8fdb8717f5cfd0bafa2d110d7c4ac31a6744f25df95edfc7ee8752a4864e1391d1a745684894e1a5830d5f58ce029dff02364f46a9b00912360d0171942c9a38e78755ceac0c09cccb5c45afcabef697675e55de5901fcf477052604f9b81f5268aaebdf594ec67c4bf45cae77bef83184db9917894e875a8ac1ba06832e5adf9c29437d20f9c0a25ef510b6fc512033f105f334478e475352784389c7ee62fa6c4de74158d43a1fbecaab852cc61da3cbdfc95cdcb5ba936715df3cffd35da7d64663c54e66cf6bc5c4e0d21647ddc5ed20cd400a98c55494519a0dd955d33d960a1ae169fb933582fc75b51740be67f2a78397f6304aac9a93bfab86a1a76871bbe120c9e0c2d8dccbad6b0234ddb137221bd1c5777f50267caa45414291857796f008fd77d0806463e0597e57797de5761cf6ca76a15a5c240474d5ee212026aa2f1c91ee89c94e520841eeb16dae625ea5511c191a1897e2a9d263efa2a534e276186b6bb7f5325a1b3faa1e82ec35d2b2730aca6f7aedcae02484cb949c5308d2d0b0280c48ef14b0777b4349e93cd6cfdefcbb8cd7765ecc1e319e84e4a2654bf2e5406e4eaa942cf4b8f061068cb136d29e42a0b18e1bfa444b001be0bbc2e09bb4a1d571de8c9094732cb8609e586101b7d03ad554bc3e494cf3b9667482cfd4459c68b98da1223b252e8fd0767a0702efa4fa92ea3df4ccb9811850efdf797ca6980563aa9e45fe31c7cf5f32d2d5b1291e30bafaa7d4d0a665d1525ca619791ecd1078d4be4e32490fdabe0b89532e383912bd2c4f42e3459e1d83eb8d1a718688d601dc7c475fb6460122dbdf1d2862299bd10ce5b5f5165f0c5800fd4f500f6716ca4e755d4558d6241712cda82fc896cc3f43ee993a920770cc23212c28d68374ad6fea6504383552649172aa67c9247d36a8f3122552599f9b057e87d1e01157a2176d55ce0b4e75e9f2cada3f44bfd86b639c0c8d373fa062c20df019199985acf230a1c6b73856d596f1cd07634e12551581aaefe8bb9fcb43f4a6918544aa96cb1b3802ed0ba61fbd7cc39ec8231d80060e294a9b1ca95fe2262247eadc6de96497319aeda589427c403dd9231d574dfd65073854078362b7b9288fdaa45a827c5eb0f48f050d0c68dc6d52502588e1c59f0688d09d56f1b6efe75b4f78176696e65e2d93978a73db35494d2fbe7c5738d9933d54d81024f62aa238a9bd73dc44b186d74e77e7c31e9eb03f0116e5c154eb3a1d4d1e68905e8090ea3067a3b6b0b535fadb18ebf54a90a7f1f069e37e733ddf260a715aeece5e8fd0c07570ef157e34262958bd51becc34a2407288af727d3802df89d4eeaea7a395972eb0b0da29ec5efb3b7dcee0177110a495601369b7d547c08b1d55e5c958ad0cc093f266ec69048e26f55bf14dd635e2ce3944275ac990bf31a46b3f55dc5eec9ae9c12f35ec6e1c22e87b4f9ab3e1aaeed1ab4a0ea12ba677c35b90fb15ac0993d314b6fbd892b8d3ff6b860ff33b62a1a4571673cf8e70d032585e5f90074539504e438deb6fd7d8b120ab083ab3bb5b3cffa277b2f0e40566edb3b63a3f45d233766de0b90c6f5829a958e6a8980b3ef3bbcc319e55a3bed9d7a7fcd5aaeecca48e86eed81a5688a8d6834d5411dbc6b5962b6b3e4b1c9602ac75566f02068d5fed97a6d7bc512775feead83ca8e68865f673665f88d18fa1b89b94bf70fe8aa2c2972016cead8872da20d981a1e9a44349efeeef943a01abf30543f97c394c356b7f26b722bde8fc98cacd33492c0298c8bb35f16c8b257c46cb87fcfc4ffc450da54d524a68468825ae194eb63b2567671a084cafb0c7148585ce6f6e91670be645c43bdac1b5d9e763ce6294c3dc93b2c4df4caefddebd1022f3e88bcc361b28634733bf1cc76861e6711c4362fe9a1b69dc3a744004a52a0deecd467edaa6e9cfb49fe95e82e32b2f9dd69a7d46600d35a89817661aa944efc35ab547e1278f7cf2e7397d244ba32a92c91d5290e5b161ea143a6828c7c93d4fd1cba9fb3d47cce2682e8f5b6bfcc99c9cfb8956d2ffa1450569cd8317a17db184469660efda0a90ce32cb47b90669ff848ec4cd81a230cc7b8e421613c32eb7d2ced4247c4f083a2dd1033e16891f19746ec02f10789521e37fe2725e5424874a41ddba722cae093ee27bf14c0c69d61ae74d47b7ddd62517e20d47b4cfdfe0dcfaba22961bc6a6a79812801706fa42508c8f178816942781887093caf2f957698a7afa154040175a1eed6ab51beddf4f9d0ccbc048a911c47d55c25b30580bc1ccc13218630bc1b0eb2f782701dd9265f0a214f0f7391287f8096503f885f52a13b27ec4ab73f6986045b91df4d1e34d556ae24035b12ec8f2fdf741f522d689644490076c57a9cd4acca1845486345702837e75da85a2fbdfb2ddebaa5ea2a5b3da60cd123e2c35845d72b93b8cb66a1e10b5d55553ab82eeb73d272693b3952aeac01de013b2a0ee98eede0a3a27d867eb377384ba209e1b9d3e6fbf16d56cf42896822470b8efb91e9341ebb6ac378f8ae82e176ab92dd01c5f2257fab11e1dca228e782db104e8e6294d26d6a49b9f96cd6dee8f4fbfe7b4afa075e9788d016192f463b54adef9b38c1f5ed1cf68fbd06c491c36f2e3b9d9eabfc60b26fd9ed44304f4379e439ac8ffb087bc415ab2ce767b08848eef416cdf09d7d2b2b054b1c5b6e2706b8c3fc81e30cc43df00189fc9e778c45e88244d756ee33adfad05dc5bff24af2f6e4e6b0526513d973e57d1487ebf4fa8b33a0656f6b6d9a0dae15cded8fd920436c790a294e105845f49c42af21be5b7167d4bc00b07e54529ac37e5dbaa55292aaa31ad305fcf654b0b4945073db7e1ec16cd3b13b8b957cf1d6308ef154a1680445658e011a8c606bb28729f4a0f838b2191bebf660e0eab8f1057c527f1081688668c86efa9645cd0ba7b25cf46e76355e368c89fbc7fe4d431344d8804befacfbd94f77ec5c8577ec158d1b87fcd8fcbade037103da922d31e31dad9ac31a25e40ac0b673ea51426c9a3590b123401966cccc4d30b47f372f4e0842f625bbdc27809de3eb5a55401c825beab9bafd075e62d553e2238d15d3523d711268532d13b368a71c5e4c334cfe0a47915f944edad5dc98b8552129128960841fef6462cd2f1543f1e244cc9da8b16b9ec3db34b10ff4b59f63b4f1c14b156641652702d0165609689361867855f2a85548628c92be9d3ded554fd924a47965b20f54e44e2daa37a0f913a7443ae199493f34af5d632ea0b19a956cfd30c6255973bc68ebca0332e0f116de56b8a81365be7d755085cbdd8d717ad5177a08b8500b9468a99215c6339304150195682dfa21eb1a6c66d30cf3741c140d781bf7b90422630779432903c232bd967f9ce924deb903e46b82e66bdbb7128895576526afdee0ce0f011d6a66748efe2fb674e5ebb2740a806bc25cb7d9c1594136d22a8c8706f197a24d60a1f598e7b403dffe43f7c9b4aefdf575c5332e20b8187f0ce7c0defa78f0d564756a9294b30c940fd87d38e5658f1805fef9cf790fbf088812c2ad5ea6eccb117e7eb8c5771bdaba610b2b5c3b802cf45a7f94f62dc3227b65d4709c1730fb5e2628063cdf204f18d8d601092d7130c82c2c3d57a032371190d198c218b59e8ee75897212d60c81f68rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-2018.3.0-29.1.src.rpmpython2-saltpython2-salt(x86-64) @@ @      /bin/sh/bin/sh/usr/bin/envlibzypp(plugin:system)pythonpython(abi)python-Jinja2python-MarkupSafepython-PyYAMLpython-futurespython-msgpack-pythonpython-psutilpython-pycryptopython-pyzmqpython-requestspython-tornadopython-xmlrpm-pythonrpmlib(CompressedFileNames)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)saltzypp-plugin-pythonrpmlib(PayloadIsLzma)02.72.72.00.32.6.12.2.01.0.04.2.13.0.4-14.0.4-14.0-12018.3.0-29.14.4.6-14.11.2\k\eX@\R@\P@@\J@\HW@\=@\8@\73\73\/J\-@\-@\@\l@\&@\&@[@[@[[%@[[ٙ@[G[Ѱ@[u[$@[$@[[[;@[[[F[R@[R@[][[[@[[:@[[@[[Q@[[{[z@[i[i[`O@[[ @[Xf@[W[U@[U@[U@[0@[0@[,[+@[*A["X["X["X[[W[@[Z@ZZ4@ZZ@Z@ZmZy@Z@Z3@Z3@ZZZ̧@ZUZa@ZZľ@ZZZ2@Z@Z@ZZZZZ@ZkZZw@Z%Z@V>@VIV@VU@VVVŲ@V`VwVwV&@V@V@V@V_V@VvVvV@V<@VwVrVpVhV]V]V\:@VV@VUVO @VEV@VVVVVVV@V@V@V@V@V @V @V @VVVf@V@V @V }@V@VBVBU@U@UUUp=U`kUUUJ@U3U:TܕTTWn@T?@T7@T=@SSSSuSہ@S@S@SϣS]S@S.SDS@Sg}@SO@S)S@R@R@RR R@Ru@RsRrF@Re@Ra"R_@RM\@RIgRFR:@R+@RQQ@QY@QY@Qֵ@QQőQbQ3Q@QQJQJQ@Q>@Q@QvwQj@Qj@QfQM@QHS@Q@j@Q+R@QtQQ @Qh@Q@P@P@Jochen Breuer Jochen Breuer Jochen Breuer mdinca bo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.commdinca bo@suse.debo@suse.debo@suse.debo@suse.demdinca psuarezhernandez@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.deJochen Breuer psuarezhernandez@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.comjbreuer@suse.depsuarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.demdinca@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commc@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.depablo.suarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depsuarezhernandez@suse.commalbu@suse.demc@suse.dejbreuer@suse.depsuarezhernandez@suse.comjbreuer@suse.demdinca@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.debo@suse.dejbreuer@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.depsuarezhernandez@suse.commc@suse.demichele.bologna@suse.commdinca@suse.demdinca@suse.demc@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.dejbreuer@suse.dejbreuer@suse.demdinca@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjrenner@suse.comjbreuer@suse.demichele.bologna@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comdimstar@opensuse.orgmihai.dinca@suse.commihai.dinca@suse.commdinca@suse.dejbreuer@suse.debmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejrenner@suse.combrejoc@gmail.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commalbu@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commoio@suse.combmaryniuk@suse.compkazmierczak@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commalbu@suse.commc@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comkkaempf@suse.comkkaempf@suse.commc@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commc@suse.commc@suse.demihai.dinca@suse.comMichele.Bologna@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commc@suse.demihai.dinca@suse.combmaryniuk@suse.commihai.dinca@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.dedmacvicar@suse.debmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.detserong@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comtserong@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.debmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.comkkaempf@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.combmaryniuk@suse.comkkaempf@suse.comtampakrap@opensuse.orgmc@suse.demc@suse.debmaryniuk@suse.commc@suse.demc@suse.demc@suse.demc@suse.demc@suse.demc@suse.deaboe76@gmail.combmaryniuk@suse.combmaryniuk@suse.comdmacvicar@suse.dekkaempf@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comkkaempf@suse.comdmacvicar@suse.dedmacvicar@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comaboe76@gmail.combmaryniuk@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deaboe76@gmail.commrueckert@suse.detampakrap@opensuse.orgtoddrme2178@gmail.comdmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.detampakrap@opensuse.orgtampakrap@opensuse.orginfroma@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comaboe76@gmail.cominfroma@gmail.cominfroma@gmail.comtampakrap@opensuse.orgaboe76@gmail.combwiedemann@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comtserong@suse.comtserong@suse.comtserong@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comtserong@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comspeilicke@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comp.drouand@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comtoddrme2178@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.com- Include aliases in FQDNS grain - Added: * include-aliases-in-the-fqdns-grains.patch- Prevents error when there is no job entry in filesystem cache due to race condition in minion onboarding (bsc#1122663) - Added: * prevents-crash-when-there-is-no-job-entry.patch- Don't call zypper with more than one --no-refresh parameter (bsc#1123865) - Added: * don-t-call-zypper-with-more-than-one-no-refresh.patch- Remove zypper-add-root-configuration-parameter.patch (bsc#1123512) - Removed: * zypper-add-root-configuration-parameter.patch- Remove MSI Azure cloud module authentication patch (bsc#1123044) - Don't encode response string from role API - Added: * don-t-encode-response-string-from-role-api.patch - Removed: * integration-of-msi-authentication-with-azurearm-clou.patch- Add root parameter to Zypper module - Added: * zypper-add-root-configuration-parameter.patch- Fix integration tests in state compiler (U#2068) - Added: * fix-issue-2068-test.patch- Fix "pkg.list_pkgs" output when using "attr" to take the arch into account (bsc#1114029) - Added: * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch - Removed: * strip-architecture-from-package-name-in-aptpkg-modul.patch- Fix powerpc null server_id_arch (bsc#1117995) - Added: * return-the-expected-powerpc-os-arch-bsc-1117995.patch- Fix module 'azure.storage' has no attribute '__version__' (bsc#1121091) - Added: * azurefs-gracefully-handle-attributeerror.patch- Add supportconfig module and states for minions and SaltSSH - Added: * add-supportconfig-module-for-remote-calls-and-saltss.patch- Fix FIPS enabled RES clients (bsc#1099887) - Added: * retire-md5-checksum-for-pkg-mgmt-plugins.patch- Add hold/unhold functions. Fix Debian repo "signed-by". - Added: * decide-if-the-source-should-be-actually-skipped.patch * add-hold-unhold-functions.patch- Strip architecture from debian package names - Added: * strip-architecture-from-package-name-in-aptpkg-modul.patch- Fix latin1 encoding problems on file module (bsc#1116837) - Added: * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch- Don't error on retcode 0 in libcrypto.OPENSSL_init_crypto - Added: * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch- Handle anycast IPv6 addresses on network.routes (bsc#1114474) - Added: * handle-anycast-ipv6-addresses.patch- Debian info_installed compatibility (U#50453) - Added: * debian-info_installed-compatibility-50453.patch- Add compatibility with other package modules for "list_repos" function - Added: * make-aptpkg.list_repos-compatible-on-enabled-disable.patch- Crontab module fix: file attributes option missing (bsc#1114824) - Added: * fix-crontab-module-file-attributes-option-missing-bs.patch- Fix git_pillar merging across multiple __env__ repositories (bsc#1112874) - Added: * fix-git_pillar-merging-across-multiple-__env__-repos.patch- Bugfix: unable to detect os arch when RPM is not installed (bsc#1114197) - Added: * get-os_arch-also-without-rpm-package-installed.patch- Fix LDAP authentication issue when a valid token is generated by the salt-api even when invalid user credentials are passed. (U#48901) - Added: * fixing-issue-when-a-valid-token-is-generated-even-wh.patch- Improved handling of LDAP group id. gid is no longer treated as a string, which could have lead to faulty group creations. (bsc#1113784) - Added: * improved-handling-of-ldap-group-id.patch- Fix remote command execution and incorrect access control when using salt-api. (bsc#1113699) (CVE-2018-15751) - Fix Directory traversal vulnerability when using salt-api. Allows an attacker to determine what files exist on a server when querying /run or /events. (bsc#1113698) (CVE-2018-15750) - Added: * fixes-cve-2018-15750-cve-2018-15751.patch- Add multi-file support and globbing to the filetree (U#50018) - Added: * add-multi-file-support-and-globbing-to-the-filetree-.patch- Bugfix: supportconfig non-root permission issues (U#50095) - Added: * support-config-non-root-permission-issues-fixes-u-50.patch- Open profiles permissions to everyone for read-only- Preserving signature in "module.run" state (U#50049) - Added: * preserving-signature-in-module.run-state-u-50049.patch- Install default salt-support profiles- Remove unit test, came from a wrong branch. Fix merging failure. - Added: * fix-unit-test-for-grains-core.patch- Add CPE_NAME for osversion* grain parsing - Get os_family for RPM distros from the RPM macros - Added: * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch- Install support profiles - Added: * make-profiles-a-package.patch- Fix async call to process manager (bsc#1110938) - Added: * fix-async-call-to-process-manager.patch- Salt-based supportconfig implementation (technology preview) - Added: * early-feature-support-config.patch- Bugfix: any unicode string of length 16 will raise TypeError - Added: * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch- Fix IPv6 scope (bsc#1108557) - Added: * fix-ipv6-scope-bsc-1108557.patch- Handle zypper ZYPPER_EXIT_NO_REPOS exit code (bsc#1108834, bsc#1109893) - Added: * update-error-list-for-zypper.patch- Bugfix for pkg_resources crash (bsc#1104491) - Added: * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch- Fix loosen azure sdk dependencies in azurearm cloud driver (bsc#1107333) - Added: * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch- Fix broken "resolve_capabilities" on Python 3 (bsc#1108995) - Added: * fix-index-error-when-running-on-python-3.patch- Allow empty service_account_private_key in GCE driver (bsc#1108969) - Added: * support-use-of-gce-instance-credentials-109.patch- Properly handle colons in inline dicts with yamlloader (bsc#1095651) - Added: * yamlloader-properly-handle-colons-in-inline-dicts.patch- Fix wrong recurse behavior on for linux_acl.present (bsc#1106164) - Added: * fix-wrong-recurse-behavior-on-for-linux_acl.present-.patch- Add additional x509 fixes - Added: * x509-fixes-111.patch- Fix for StringIO import in Python2 - Integration of MSI authentication for azurearm - Fix for Compound list targeting with "not" - Fixes 509x remote signing - Adds fix for SUSE Expanded Support os grain detection - Added: * x509-fixes-for-remote-signing-106.patch * no-longer-passes-missing-in-list-compound-engine-bsc.patch * change-stringio-import-in-python2-to-import-the-clas.patch * integration-of-msi-authentication-with-azurearm-clou.patch * fix-for-suse-expanded-support-detection.patch- Prepend current directory when path is just filename (bsc#1095942) - Added: * prepend-current-directory-when-path-is-just-filename.patch- Only do reverse DNS lookup on IPs for salt-ssh (bsc#1104154) - Added: * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch- Add support for Python 3.7 and Tornado 5.0 - Added: * python-3.7-support.patch- Fix license macro to build on SLE12SP2- Decode file contents for python2 (bsc#1102013, bsc#1103530) - Added: * decode-file-contents-for-python2-bsc-1102013.patch- Fix mine.get not returning data - workaround for #48020 (bsc#1100142) - Added: * fix-mine.get-not-returning-data-workaround-for-48020.patch- Check dmidecoder executable on each "smbios" call to avoid race condition (bsc#1101880) - Add API log rotation on SUSE package (bsc#1102218) - Added: * avoid-incomprehensive-message-if-crashes.patch * add-api-log-rotation-on-suse-package.patch- Add missing dateutils import (bsc#1099945) - Backport the new libvirt_events engine from upstream - Added: * add-missing-dateutils-import-bsc-1099945-96.patch * add-engine-relaying-libvirt-events.patch- Fix file.blockreplace to avoid throwing IndexError (bsc#1101812) - Added: * fix-46492-file.blockreplace-throws-indexerror.patch- Fix pkg.upgrade reports when dealing with multiversion packages (bsc#1102265) - Added: * remove-old-hack-when-reporting-multiversion-packages.patch- Fix UnicodeDecodeError using is_binary check (bsc#1100225) - Added: * use-salt.utils.stringutils.is_binary-to-check-if-con.patch- Fix corrupt public key with m2crypto python3 (bsc#1099323) - Prevent payload crash on decoding binary data (bsc#1100697) - Accounting for when files in an archive contain non-ascii characters (bsc#1099460) - Added: * clean-up-bad-public-key-headers.patch * prevent-payload-crash-on-decoding-binary-data-99.patch * accounting-for-when-files-in-an-archive-contain-non-.patch- Handle packages with multiple version properly with zypper (bsc#1096514) - Added: * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch - Modified: * add-custom-suse-capabilities-as-grains.patch- Fix file.get_diff regression on 2018.3 (bsc#1098394) - Added: * fix-unboundlocalerror-in-file.get_diff.patch- Provide python version mismatch solutions (bsc#1072599) - Added: * show-recommendations-for-salt-ssh-cross-version-pyth.patch- Add custom SUSE capabilities as Grains (bsc#1089526) - Fix file.managed binary file utf8 error (bsc#1098394) - Added: * add-custom-suse-capabilities-as-grains.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch- Multiversion patch plus upstream fix and patch reordering - Added: * switching-looseversion-import-to-salt.utils.versions.patch- Add environment variable to know if yum is invoked from Salt (bsc#1057635) - Added: * add-environment-variable-to-know-if-yum-is-invoked-f.patch- Prevent deprecation warning with salt-ssh (bsc#1095507) - Added: * fix-deprecation-warning-bsc-1095507.patch- Fix for sorting of multi-version packages (bsc#1097174 and bsc#1097413) - Added: * fix-for-sorting-of-multi-version-packages-bsc-109717.patch- Align SUSE salt-master.service 'LimitNOFILES' limit with upstream Salt - Added: * align-suse-salt-master.service-limitnofiles-limit-wi.patch- Add 'other' attribute to GECOS fields to avoid inconsistencies with chfn - Added: * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch- Prevent zypper from parsing repo configuration from not .repo files (bsc#1094055) - Added: * prevent-zypper-from-parsing-repo-configuration-from-.patch- Collect all versions of installed packages on SUSE and RHEL systems (bsc#1089526) - Added: * add-all_versions-parameter-to-include-all-installed-.patch- Documentation refresh to 2018.3.0- No more AWS EC2 rate limitations in salt-cloud (bsc#1088888) - MySQL returner now also allows to use Unix sockets (bsc#1091371) - Added: * fix-for-ec2-rate-limit-failures.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch- Do not override jid on returners, only sending back to master (bsc#1092373) - Added: * do-not-override-jid-on-returners-only-sending-back-t.patch- Fixes for salt-ssh: - Option --extra-filerefs doesn't add all files to the state archive - Pillar completely overwritten (not merged) when doing module.run + state.apply with pillar in kwargs - Added: * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch- remove minion/thin/version if exists to force thin regeneration (bsc#1092161)- Fixed Python 3 issue with CIDR addresses. - Added: * fixed-usage-of-ipaddress.patch- Fix minion scheduler to return a 'retcode' attribute (bsc#1089112) - Added: * initialize-__context__-retcode-for-functions-handled.patch- Fix for logging during network interface querying (bsc#1087581) - Modified: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Fix rhel packages requires both net-tools and iproute (bsc#1087055)- Fix patchinstall on yum module. Bad comparison (bsc#1087278) - Added: * provide-kwargs-to-pkg_resource.parse_targets-require.patch- Strip trailing commas on Linux user's GECOS fields (bsc#1089362) - Added: * strip-trailing-commas-on-linux-user-gecos-fields.patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Fallback to PyMySQL (bsc#1087891) - Added: * fall-back-to-pymysql.patch- Improved test for fqdns - Modified: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Update SaltSSH patch (use code checksum instead version on thin update) - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Fix for [Errno 0] Resolver Error 0 (no error) (bsc#1087581) - Added: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Update to 2018.3.0 - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add python-2.6 support to salt-ssh - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update salt-ssh multiversion patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch - Removed: * require-same-major-version-while-minor-is-allowed-to.patch- Add iprout/net-tools dependency- salt-ssh: require same major version while minor is allowed to be - Added: * require-same-major-version-while-minor-is-allowed-to.patch - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add SaltSSH multi-version support across Python interpeters. - Added: * add-saltssh-multi-version-support-across-python-inte.patch- Fix zypper.info_installed 'ascii' issue - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update openscap push patch to include the test fixes - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch- Explore 'module.run' state module output in depth to catch "result" properly - Added: * explore-module.run-response-to-catch-the-result-in-d.patch- make it possible to use docker login, pull and push from module.run and detect errors - Added: * make-it-possible-to-use-login-pull-and-push-from-mod.patch- Fix logging with FQDNs - Added: * fix-decrease-loglevel-when-unable-to-resolve-addr.patch- Update patches - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch - Removed: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- Update cp.push patch - Modified: * fix-cp.push-empty-file.patch * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- force re-generate a new thin.tgz when an update gets installed- fix salt-ssh with a different patch - remove: dumps-should-return-unicode-also-with-py2-to-prevent.patch - added: salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Added: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Removed: * dumps-should-return-unicode-also-with-py2-to-prevent.patch- Fix unicode decode error with salt-ssh - Added: * dumps-should-return-unicode-also-with-py2-to-prevent.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Fix cp.push empty file (bsc#1075950) - salt-ssh - move log_file option to changeable defaults - Added: * fix-cp.push-empty-file.patch * move-log_file-option-to-changeable-defaults.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Daily update - Added: * fix-openscap-push.patch - Removed: * fix-grains-with-n.patch- Fix grains containing trailing "\n" - Added: * fix-grains-with-n.patch- Remove salt-minion python2 requirement when python3 is default (bsc#1081592)- Remove-obsolete-unicode-handling-in-pkg.info_installed - Added: * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update to salt-2018.1.99 - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * list_pkgs-add-parameter-for-returned-attribute-selec.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch - Deleted: * python3-compatibility-fix-got-bytes-instead-of-strin.patch * enable-with-salt-version-parameter-for-setup.py-scri.patch * catching-error-when-pidfile-cannot-be-deleted.patch * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * bugfix-the-logic-according-to-the-exact-described-pu.patch * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-salt-master-for-old-psutil.patch * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * older-logrotate-need-su-directive.patch * return-error-when-gid_from_name-and-group-does-not-e.patch * set-shell-environment-variable-64.patch * split-only-strings-if-they-are-such.patch * use-home-to-get-the-user-home-directory-instead-usin.patch * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Fix-epoch-handling-for-Rhel-6-and-7 - Modified: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Restoring-installation-of-packages-for-Rhel-6-7 Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Prevent queryformat pattern from expanding (bsc#1079048)- Fix epoch handling for Rhel 6 and 7 (bsc#1068566) - Reverting to current API for split_input - Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Fix for wrong version processing during yum pkg install (bsc#1068566) - Feat: add grain for all FQDNs (bsc#1063419) - Added: * fix-for-wrong-version-processing.patch * feat-add-grain-for-all-fqdns.patch- Fix the usage of custom macros on the spec file.- Fix RES7: different dependency names for python-PyYAML and python-MarkupSafe- Build both python2 and python3 binaries together.- Bugfix: errors in external pillar causes crash instead of report of them (bsc#1068446) - Fix 'user.present' when 'gid_from_name' is set but group does not exist. - Added: * bugfix-the-logic-according-to-the-exact-described-pu.patch * return-error-when-gid_from_name-and-group-does-not-e.patch- Fix "No service execution module loaded" issue (bsc#1065792) - Set SHELL environment variable Added: * fix-bsc-1065792.patch * set-shell-environment-variable-64.patch- Removed unnecessary logging on shutdown (bsc#1050003) - Renamed patch that adds grain fqdns Changed: * catching-error-when-pidfile-cannot-be-deleted Removed: * fix-for-pidfile-removal-logging Renamed: * add-fqdns-grains -> feat-add-grain-for-all-fqdns- Add fqdns to grains (bsc#1063419) Added: * add-fqdns-grains.patch- Fixing cherrypy websocket with python3 Added: * python3-compatibility-fix-got-bytes-instead-of-strin.patch- Various-bug-fixes - Python3 bugfix for cherrypy read() - Fix for logging on salt-master exit in rare cases (pid-file removal) - Added: * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-pidfile-removal-logging.patch * split-only-strings-if-they-are-such.patch- Fix salt-master for old psutil version - Added: * fix-salt-master-for-old-psutil.patch- Put back accidentally removed patches - Added: * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * catching-error-when-pidfile-cannot-be-deleted.patch- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Older logrotate need su directive (bsc#1071322) * Added: older-logrotate-need-su-directive.patch- Fix bsc#1041993 already included in 2017.7.2 - Removed: * removes-beacon-configuration-deprecation-warning-48.patch- Fixed beacons failure when pillar-based suppressing config-based. (bsc#1060230) - Added: * activate-all-beacons-sources-config-pillar-grains.patch- Escape the usage of %{VERSION} when calling out to rpm. RPM 4.14 has %{VERSION} defined as 'the main packages version'.- Fix wrong version reported by Salt (bsc#1061407) - Fix CVE-2017-14696 (bsc#1062464) already included in 2017.7.2- Run salt master as dedicated salt user - Run salt-api as user salt (bsc#1064520) - Added: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch- Update to 2017.7.2 See https://docs.saltstack.com/en/latest/topics/releases/2017.7.2.html - Added: * enable-with-salt-version-parameter-for-setup.py-scri.patch - Removed: * add-a-salt-minion-service-control-file.patch * add-clean_id-function-to-salt.utils.verify.py.patch * add-options-for-dockerng.patch * add-ssh-option-to-salt-ssh.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-yum-plugin.patch * add-zypp-notify-plugin.patch * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * adding-support-for-installing-patches-in-yum-dnf-exe.patch * avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch * bugfix-unable-to-use-127-as-hostname.patch * catching-error-when-pidfile-cannot-be-deleted.patch * change-travis-configuration-file-to-use-salt-toaster.patch * check-if-byte-strings-are-properly-encoded-in-utf-8.patch * clean-up-change-attribute-from-interface-dict.patch * do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch * escape-the-os.sep.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-format-error-bsc-1043111.patch * fix-grain-for-os_family-on-suse-series.patch * fix-os_family-case-in-unittest.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * fix-setting-language-on-suse-systems.patch * fixed-issue-with-parsing-of-master-minion-returns-wh.patch * fixing-beacons.list-integration-test-failure.patch * introducing-the-kubernetes-module.patch * notify-systemd-synchronously-bsc-1053376.patch * rest_cherrypy-remove-sleep-call.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch * run-salt-api-as-user-salt-bsc-990029.patch * run-salt-master-as-dedicated-salt-user.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * security-fixes-cve-2017-14695-and-cve-2017-14696.patch * setting-up-os-grains-for-sles-expanded-support-suse-.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch * tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * use-correct-grain-constants-for-timezone.patch- Re-added previously removed unit-test for bsc#1050003 - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch- Fixes for CVE-2017-14695 and CVE-2017-14696 (bsc#1062462) - Added: * security-fixes-cve-2017-14695-and-cve-2017-14696.patch- Add missing follow-up for CVE-2017-12791 (bsc#1053955) - Fixed salt target-type field returns "String" for existing jids but an empty "Array" for non existing jids. (issue#1711) - Added: * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * escape-the-os.sep.patch- Fixed minion resource exhaustion when many functions are being executed in parallel (bsc#1059758) - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch - Added: * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch - Removed: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Remove 'TasksTask' attribute from salt-master.service in older versions of systemd (bsc#985112)- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Catching error when PIDfile cannot be deleted (bsc#1050003) - Added: * catching-error-when-pidfile-cannot-be-deleted.patch- Use $HOME to get the user home directory instead using '~' char (bsc#1042749) - Added: * use-home-to-get-the-user-home-directory-instead-usin.patch- Fixed patches for Kubernetes and YUM modules - Updated: * list_pkgs-add-parameter-for-returned-attribute-selec.patch * introducing-the-kubernetes-module.patch- Add patches to salt to support SUSE Manager scalability features (bsc#1052264) - Added: * list_pkgs-add-parameter-for-returned-attribute-selec.patch- Introducing the kubernetes module (bsc#1051948) - Added: * introducing-the-kubernetes-module.patch- Revert "We don't have python-systemd, so notify can't work" - Added: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Notify systemd synchronously via NOTIFY_SOCKET (bsc#1053376) - Added: * notify-systemd-synchronously-bsc-1053376.patch- Add clean_id function to salt.utils.verify.py (CVE-2017-12791, bsc#1053955) - Added: * add-clean_id-function-to-salt.utils.verify.py.patch- Added bugfix when jobs scheduled to run at a future time stay pending for Salt minions (bsc#1036125) - Added: * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch- Adding procps as dependency. This provides "ps" and "pgrep" utils which are called from different Salt modules and also from new salt-minion watchdog.- Adding a salt-minion watchdog for RHEL6 and SLES11 systems (sysV) to restart salt-minion in case of crashes during upgrade. - Added: * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch- fix format error (bsc#1043111)- fix ownership for whole master cache directory (bsc#1035914)- Bugfix: clean up `change` attribute from interface dict (upstream) Issue: https://github.com/saltstack/salt/issues/41461 PR: 1. https://github.com/saltstack/salt/pull/41487 2. https://github.com/saltstack/salt/pull/41533 Added: * clean-up-change-attribute-from-interface-dict.patch- Disable 3rd party runtime packages to be explicitly recommended. (bsc#1040886)- Bugfix: orchestrate and batches returns false failed information https://github.com/saltstack/salt/issues/40635 Added: * fixed-issue-with-parsing-of-master-minion-returns-wh.patch- speed-up cherrypy by removing sleep call- wrong os_family grains on SUSE - fix unittests (bsc#1038855)- fix setting the language on SUSE systems (bsc#1038855)- Documentation refresh to 2016.11.4- Update to 2016.11.4 See https://docs.saltstack.com/en/develop/topics/releases/2016.11.4.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.3.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.2.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.1.html for full changelog - Use SUSE specific salt-api.service (bsc#1039370) - Bugfix: wrong os_family grains on SUSE (bsc#1038855) - Bugfix: unable to use hostname for minion ID as '127' (upstream) - Fix core grains constants for timezone (bsc#1032931) - Add unit test for a skip false values from preferred IPs upstream patch - Adding "yum-plugin-security" as required for RHEL 6 - Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - raet protocol is no longer supported (bsc#1020831) - Fix: move SSH data to the new home (bsc#1027722) - Fix: /var/log/salt/minion fails logrotate (bsc#1030009) - Fix: Result of master_tops extension is mutually overwritten (bsc#1030073) - Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Use salt's ordereddict for comparison (fixes failing tests) - add special salt-minion.service file for RES7 - fix scripts for salt-proxy - define with systemd for fedora and rhel >= 7 (bsc#1027240) - add openscap module - file.get_managed regression fix (upstream issues #39762) - fix translate variable arguments if they contain hidden keywords (bsc#1025896) - fix service handling for openSUSE - added unit test for dockerng.sls_build dryrun - added dryrun to dockerng.sls_build - update dockerng minimal version requirements - fix format error in error parsing - keep fix for migrating salt home directory (bsc#1022562) - Fix salt pkg.latest raises exception if package is not available (bsc#1012999) - Fix timezone: should be always in UTC (bsc#1017078) - Fix timezone handling for rpm installtime (bsc#1017078) - Increasing timeouts for running integrations tests - Add buildargs option to dockerng.build module - Disable custom rosters for Salt SSH via Salt API (bsc#1011800) More: https://github.com/saltstack/salt/pull/38596 - Fix error when missing ssh-option parameter - readd yum notify plugin - all kwargs to dockerng.create to provide all features to sls_build as well - rename patches to get rid of the prefix numbers - Added: * bugfix-unable-to-use-127-as-hostname.patch * fix-grain-for-os_family-on-suse-series.patch * use-correct-grain-constants-for-timezone.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-a-salt-minion-service-control-file.patch * add-options-for-dockerng.patch * add-zypp-notify-plugin.patch * fixing-beacons.list-integration-test-failure.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch - Renamed: * 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch => tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * 0002-Run-salt-master-as-dedicated-salt-user.patch => run-salt-master-as-dedicated-salt-user.patch * 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch => check-if-byte-strings-are-properly-encoded-in-utf-8.patch * 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch => do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * 0009-Add-YUM-plugin.patch 0027-Add-YUM-plugin.patch => add-yum-plugin.patch * 0012-Run-salt-api-as-user-salt-bsc-990029.patch => run-salt-api-as-user-salt-bsc-990029.patch * 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch => setting-up-os-grains-for-sles-expanded-support-suse-.patch * 0022-Change-travis-configuration-file-to-use-salt-toaster.patch => change-travis-configuration-file-to-use-salt-toaster.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch => avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * 0042-Salt-ssh-ssh-option-param.patch => add-ssh-option-to-salt-ssh.patch * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch => adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0005-Use-SHA256-hash-type-by-default.patch * 0006-Create-salt-proxy-instantiated-service-file.patch * 0007-Add-SUSE-Manager-plugin.patch * 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch * 0009-Rewrite-minion-ID-generator-bsc-967803.patch * 0010-snapper-execution-module.patch * 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch * 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch * 0014-Fix-some-unittests.patch * 0015-Check-for-single-quote-before-splitting-on-single-qu.patch * 0016-Unit-test-fixes-for-2015.8.7.patch * 0017-Fix-snapper_test-for-python26.patch * 0018-Integration-tests-fixes-for-2015.8.7.patch * 0019-Generate-Salt-Thin-with-configured-extra-modules.patch * 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch * 0023-Adding-dist-upgrade-support-to-zypper-module.patch * 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch * 0025-Including-resolver-params-for-Zypper-debug-solver.patch * 0026-fix-status-handling-in-sysv-init-scripts.patch * 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch * 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch * 0030-Extract-archive-into-existing-directory-add-overwrit.patch * 0031-Port-rsync-state-from-2016.3.patch * 0032-Support-remote-port-forwarding-with-salt-ssh.patch * 0033-Add-master_tops-support-in-salt-ssh.patch * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0037-salt-minion-service-back-to-type-simple.patch * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch * 0046-Snapper-module-improvements.patch * 0047-Fix-issue-with-cp.push-36136.patch * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch * 0049-OpenSCAP-module.patch * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch * 0053-fix-race-condition-on-cache-directory-creation.patch * 0054-Merge-output-from-master_tops.patch * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Bugfix: datetime should be returned always in UTC - Added: * 0063-Bugfix-datetime-should-be-returned-always-in-UTC.patch- Bugfix: scheduled state may cause crash while deserialising data on infinite recursion. (bsc#1036125) - Added: * 0062-Bugfix-deserialising-crashes-in-the-recursive-loop-b.patch- Enable yum to handle errata on RHEL 6: require yum-plugin-security- Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - Added: * 0061-Search-the-entire-CACHE_DIR-because-storage-paths-ch.patch - Modified: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch- Refactoring on Zypper and Yum execution and state modules to allow installation of patches/errata. - Added: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix log rotation permission issue (bsc#1030009) - Use pkg/suse/salt-api.service by this package - Removed: * 0059-Set-salt-api-shell-env.patch - Added: * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Patch to set SHELL env variable for the salt-api.service. Needed for salt-ssh ProxyCommand to work properly. - Added: * 0059-Set-salt-api-shell-env.patch- Fixes 'timeout' and 'gather_job_timeout' kwargs parameters for 'local_batch' client - Added: * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch- Add missing bootstrap script for Salt Cloud (bsc#1032452)- Fix: add missing /var/cache/salt/cloud directory (bsc#1032213)- Added test case for race conditions on cache directory creation - Modified: * 0053-fix-race-condition-on-cache-directory-creation.patch- Adding "pkg.install downloadonly=True" support to yum/dnf execution module - Makes sure "gather_job_timeout" is an Integer - Adding "pkg.downloaded" state and support for installing patches/erratas - Added: * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix: merge master_tops output- Fix: race condition on cache directory creation - Added: * 0053-fix-race-condition-on-cache-directory-creation.patch- Cleanup salt user environment preparation (bsc#1027722)- Don't send passwords after shim delimiter is found (bsc#1019386) - Add: * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch- Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Add: * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch- Update systemd module unit tests (Update patch 0050)- define with system for fedora and rhel 7 (bsc#1027240)- Fix service state returning stacktrace (bsc#1027044) - Add: * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch- Update OpenSCAP Module patch- OpenSCAP Module - Added: * 0049-OpenSCAP-module.patch- Prevents 'OSError' exception in case certain job cache path doesn't exist (bsc#1023535) - Added: * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch- Backport: Fix issue with cp.push (#36136) - Add: * 0047-Fix-issue-with-cp.push-36136.patch- Fix salt-minion update on RHEL (bsc#1022841)- Adding new functions to Snapper execution module. - Added: * snapper-module-improvements.patch- Fix invalid chars allowed for data IDs (bsc#1011304) Fix timezone: should be always in UTC (bsc#1017078) Add: * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch- Fixes wrong "enabled" opts for yumnotify plugin Add: * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch- ssh-option parameter for salt-ssh command. Added: * 0042-Salt-ssh-ssh-option-param.patch- minion should pre-require salt - do not restart salt-minion in the salt package - add try-restart to sys-v init scripts Add: * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch- Adding "Restart=on-failure" for salt-minion systemd service Add: * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch- Re-introducing "KillMode=process" for salt-minion systemd service Add: * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch- Successfully exit of salt-api child processes when SIGTERM is received Add: * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch- Add new patches: * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch * 0037-salt-minion-service-back-to-type-simple.patch- Update to 2015.8.12 - Fix possible information leak due to revoked keys still being used. (bsc#1012398, CVE-2016-9639) - inherited patches 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch 0002-Run-salt-master-as-dedicated-salt-user.patch 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - renamed patches 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch - > 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch 0036-Use-SHA256-hash-type-by-default.patch - > 0005-Use-SHA256-hash-type-by-default.patch 0046-Add-SUSE-Manager-plugin.patch - > 0007-Add-SUSE-Manager-plugin.patch 0048-Create-salt-proxy-instantiated-service-file.patch - > 0006-Create-salt-proxy-instantiated-service-file.patch 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch - > 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch 0059-Rewrite-minion-ID-generator-bsc-967803.patch - > 0009-Rewrite-minion-ID-generator-bsc-967803.patch 0061-snapper-execution-module.patch - > 0010-snapper-execution-module.patch 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch - > 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch 0064-Run-salt-api-as-user-salt-bsc-990029.patch - > 0012-Run-salt-api-as-user-salt-bsc-990029.patch 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch - > 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch 0070-Fix-some-unittests.patch - > 0014-Fix-some-unittests.patch 0071-Check-for-single-quote-before-splitting-on-single-qu.patch - > 0015-Check-for-single-quote-before-splitting-on-single-qu.patch 0072-Unit-test-fixes-for-2015.8.7.patch - > 0016-Unit-test-fixes-for-2015.8.7.patch 0073-Fix-snapper_test-for-python26.patch - > 0017-Fix-snapper_test-for-python26.patch 0074-Integration-tests-fixes-for-2015.8.7.patch - > 0018-Integration-tests-fixes-for-2015.8.7.patch 0075-Generate-Salt-Thin-with-configured-extra-modules.patch - > 0019-Generate-Salt-Thin-with-configured-extra-modules.patch 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch - > 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch - > 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch 0078-Change-travis-configuration-file-to-use-salt-toaster.patch - > 0022-Change-travis-configuration-file-to-use-salt-toaster.patch 0079-Adding-dist-upgrade-support-to-zypper-module.patch - > 0023-Adding-dist-upgrade-support-to-zypper-module.patch 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch - > 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch 0081-Including-resolver-params-for-Zypper-debug-solver.patch - > 0025-Including-resolver-params-for-Zypper-debug-solver.patch 0082-fix-status-handling-in-sysv-init-scripts.patch - > 0026-fix-status-handling-in-sysv-init-scripts.patch - new patches from upstream 0027-Add-YUM-plugin.patch 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch (bsc#1008933) 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch 0030-Extract-archive-into-existing-directory-add-overwrit.patch 0031-Port-rsync-state-from-2016.3.patch 0032-Support-remote-port-forwarding-with-salt-ssh.patch 0033-Add-master_tops-support-in-salt-ssh.patch - upstreamed patches 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch 0005-Fix-package-status-filtering-on-latest-version-and-i.patch 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch 0009-The-functions-in-the-state-module-that-return-a-retc.patch 0010-add-handling-for-OEM-products.patch 0011-improve-doc-for-list_pkgs.patch 0012-implement-version_cmp-for-zypper.patch 0013-pylint-changes.patch 0014-Check-if-rpm-python-can-be-imported.patch 0015-call-zypper-with-option-non-interactive-everywhere.patch 0016-write-a-zypper-command-builder-function.patch 0017-Fix-crash-with-scheduler-and-runners-31106.patch 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch 0022-fix-argument-handling-for-pkg.download.patch 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch 0025-adapt-tests-to-new-zypper_check_result-output.patch 0027-make-suse-check-consistent-with-rh_service.patch 0028-fix-numerical-check-of-osrelease.patch 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch 0034-Fix-git_pillar-race-condition.patch 0035-Fix-the-always-false-behavior-on-checking-state.patch 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch 0039-Prevent-metadata-download-when-getting-installed-pro.patch 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch 0044-Unblock-Zypper.-Modify-environment.patch 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch 0049-Prevent-several-minion-processes-on-the-same-machine.patch 0050-checksum-validation-when-zypper-pkg.download.patch 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch 0054-fix-groupadd-module-for-sles11-systems.patch 0055-Backport-31164-and-31364-32474.patch 0056-Move-log-message-from-INFO-to-DEBUG.patch 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch 0065-fix-beacon-list-to-include-all-beacons-being-process.patch 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Splitted non-Linux and other external platform modules to 'salt-other' sub-package.- Switch package group from System/Monitoring to System/Management- fix exist codes of sysv init script (bsc#999852) Add: * 0082-fix-status-handling-in-sysv-init-scripts.patch- Including resolution parameters in the Zypper debug-solver call during a dry-run dist-upgrade. Add: * 0081-Including-resolver-params-for-Zypper-debug-solver.patch- Fix Salt API crash via salt-ssh on empty roster (bsc#1004723) Add: * 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch- Adding 'dist-upgrade' support to zypper module (FATE#320559) Add: * 0079-Adding-dist-upgrade-support-to-zypper-module.patch- Copy .travis.yml from git commit ea63e793567ba777e47dc766a4f88edfb037a02f Add: * travis.yml - Change travis configuration file to use salt-toaster Add: * travis.yml * 0078-Change-travis-configuration-file-to-use-salt-toaster.patch- acl.delfacl: fix position of -X option to setfacl (bsc#1004260) Add: * 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch- fix generated shebang in scripts on SLES-ES 7 (bsc#1004047)- add update-documentation.sh to specfile- Setting up OS grains for SLES-ES (SLES Expanded Support platform) Add: * 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch- Move salt home directory to /var/lib/salt (bsc#1002529) - Adjust permissions on home directory - Adjust pre-install script to correctly move existing salt users' home directory salt user cannot write in his own home directory (/srv/salt) because it is owned by user `root`. This prevents salt from correctly save ssh known hosts in ~/.ssh/ and breaks salt-ssh bootstrapping.- Updated html.tar.bz2 documentation tarball. - Generate Salt Thin with configured extra modules (bsc#990439) Add: * 0075-Generate-Salt-Thin-with-configured-extra-modules.patch- Unit and integration tests fixes for 2015.8.7 Add: * 0072-Unit-test-fixes-for-2015.8.7.patch * 0073-Fix-snapper_test-for-python26.patch * 0074-Integration-tests-fixes-for-2015.8.7.patch- Prevent pkg.install failure for expired keys (bsc#996455) Add: * 0071-Check-for-single-quote-before-splitting-on-single-qu.patch- Required D-Bus and generating machine ID- add a macro to check if the docs should be build or the static tarball should be used- Fix a couple of failing unittests * 0070-Fix-some-unittests.patch- Helper script for updating documentation tarball. Added: * update-documentation.sh- Fix python-jinja2 requirements in rhel- Fix pkg.installed refresh repo failure (bsc#993549) Fix salt.states.pkgrepo.management no change failure (bsc#990440) Add: * 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch * 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Prevent snapper module crash on load if no DBus is available in the system (bsc#993039) Add: * 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch- Prevent continuous restart, if a dependency wasn't installed (bsc#991048) Add: * 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch- Fix beacon list to include all beacons being process Add: * 0065-fix-beacon-list-to-include-all-beacons-being-process.patch- Run salt-api as user salt like the master (bsc#990029) Add: * 0064-Run-salt-api-as-user-salt-bsc-990029.patch- Revert patch Minion ID generation (bsc#967803) Removes: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Fix broken inspector due to accidentally missed commit (bsc#989798) Add: * 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch- Set always build salt-doc package.- Bugfix: lvm.vg_present does not recognize PV with certain LVM filter settings (bsc#988506) Add: * 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch- Backport: Snapper module for Salt. Add: * 0061-snapper-execution-module.patch- Bugfix: pkg.list_products on "registerrelease" and "productline" returns boolean.False if empty (bsc#989193, bsc#986019) Add: * 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch- Rewrite Minion ID generation (bsc#967803) Add: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Bugfix: Fixed behavior for SUSE OS grains (bsc#970669) Bugfix: Salt os_family does not detect SLES for SAP (bsc#983017) Add: * 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch- Move log message from INFO to DEBUG (bsc#985661) Add: 0056-Move-log-message-from-INFO-to-DEBUG.patch - fix salt --summary to count not responding minions correctly (bsc#972311) Add: * 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch- Fix memory leak on custom execution module sheduled jobs (bsc#983512) Add: * 0055-Backport-31164-and-31364-32474.patch- fix groupadd module for sles11 systems (bsc#978150) Add: * 0054-fix-groupadd-module-for-sles11-systems.patch- Fix pkgrepo.managed gpgkey argument doesn't work (bsc#979448) Add: * 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch- Package checksum validation for zypper pkg.download Add: * 0050-checksum-validation-when-zypper-pkg.download.patch * 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch - Check if a job has executed and returned successfully Add: * 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch- Remove option -f from startproc (bsc#975733) Add: * 0049-Prevent-several-minion-processes-on-the-same-machine.patch- Changed Zypper's plugin. Added Unit test and related to that data (bsc#980313). Update: * 0046-Add-SUSE-Manager-plugin.patch Delete (not needed anymore): * 0049-Alter-the-event-name.patch- Zypper plugin: alter the generated event name on package set change. Add: * 0049-Alter-the-event-name.patch- Fix file ownership on master keys and cache directories during upgrade (handles upgrading from salt 2014, where the daemon ran as root, to 2015 where it runs as the salt user, bsc#979676).- salt-proxy .service file created (bsc#975306) Add: * 0048-Create-salt-proxy-instantiated-service-file.patch- Prevent salt-proxy test.ping crash (bsc#975303) Add: * 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch- Fix shared directories ownership issues.- Add Zypper plugin to generate an event, once Zypper is used outside the Salt infrastructure demand (bsc#971372). Add: * 0046-Add-SUSE-Manager-plugin.patch- Restore boolean values from the repo configuration Fix priority attribute (bsc#978833) Add: * 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch- Unblock-Zypper. (bsc#976148) Modify-environment. (bsc#971372) Add: * 0044-Unblock-Zypper.-Modify-environment.patch- Prevent crash if pygit2 package is requesting re-compilation. Add: * 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch- align OS grains from older SLES with current one (bsc#975757) Add: * 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch- Bugfix: salt-key crashes if tries to generate keys to the directory w/o write access (bsc#969320) Add: * 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch- Check if EOL is available in a particular product (bsc#975093) Add: * 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch- fix building with docs on SLE11- Prevent metadata download when getting installed products Add: * 0039-Prevent-metadata-download-when-getting-installed-pro.patch- Add statically built docs.- fix sorting by latest package Add: * 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch- ensure pkg.info_installed report latest package version (bsc#972490) Add: * 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch- Use SHA256 by default in master, minion and proxy (bsc#955373) Add: * 0036-Use-SHA256-hash-type-by-default.patch- Fix state structure compilation Add: * 0035-Fix-the-always-false-behavior-on-checking-state.patch - Fix git_pillar race condition Add: * 0034-Fix-git_pillar-race-condition.patch- fix detection of base products in SLE11 * 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch - fix rpm info for SLE11 * 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch * 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch - fix init system detection for SLE11 * 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch- Re-add corrected patch: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Make checksum configurable (upstream still wants md5, we suggest sha256). bsc#955373 Add: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Fix the service state / module on SLE11. Add: * 0027-make-suse-check-consistent-with-rh_service.patch * 0028-fix-numerical-check-of-osrelease.patch- Prevent rebuilds in OBS by not generating a date as a comment in a source file Add: 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch- Add better checking for zypper exit codes and simplify evaluation of the zypper error messages. Add: 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch - Adapt unit tests Add: 0025-adapt-tests-to-new-zypper_check_result-output.patch- Add initial pack of Zypper's Unit tests. Use XML output in list_upgrades. Bugfix: upgrade_available crashes when only one package specified Purge is not using "-u" anymore Add: * 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch- fix argument handling of pkg.download Add: 0022-fix-argument-handling-for-pkg.download.patch- unify behavior of zypper refresh in salt Add: 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch- Fix crash with scheduler and runners Add: 0017-Fix-crash-with-scheduler-and-runners-31106.patch- Call zypper always with --non-interactive Add: * 0015-call-zypper-with-option-non-interactive-everywhere.patch * 0016-write-a-zypper-command-builder-function.patch- require rpm-python on SUSE for zypper support- fix state return code Add: 0009-The-functions-in-the-state-module-that-return-a-retc.patch - add handling of OEM products to pkg.list_products Add: 0010-add-handling-for-OEM-products.patch - improve doc for list_pkgs Add: 0011-improve-doc-for-list_pkgs.patch - implement pkg.version_cmp in zypper.py Add: * 0012-implement-version_cmp-for-zypper.patch * 0013-pylint-changes.patch * 0014-Check-if-rpm-python-can-be-imported.patch- Update to 2015.8.7 this is a small update to fix some regressions see https://docs.saltstack.com/en/latest/topics/releases/2015.8.7.html- Booleans should not be strings from XML, add Unix ticks time and format result in a list of maps. Add: * 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch- Stop salt-api daemon faster (bsc#963322) Add: * 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch- Do not crash on salt-key reject/delete consecutive calls. Add: * 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch- Update to 2015.8.5 Security fixes: * CVE-2016-1866: Improper handling of clear messages on the minion remote code execution (boo#965403) See https://docs.saltstack.com/en/latest/topics/releases/2015.8.5.html Dropped patches (all upstream): * 0003-List-products-consistently-across-all-SLES-systems.patch * 0004-Add-missing-return-data-to-scheduled-jobs.patch * 0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * 0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch Renamed patches: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - > 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch - > 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch - > 0005-Fix-package-status-filtering-on-latest-version-and-i.patch - Update to 2015.8.4 See https://docs.saltstack.com/en/latest/topics/releases/2015.8.4.html- Fix latest version available comparison and implement epoch support in Zypper module. Add: * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch- Update patch from opensuse to upstream version. Update: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Fix dependencies to Salt subpackages requiring release along the version.- Fix pkg.latest crash. - Fix pkg.latest SLS ID bug, when pkgs empty list is passed, but SLS ID still treated as a package name. Add: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Drop: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0005-Add-missing-return-data-to-scheduled-jobs.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch +0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * -0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch +0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch - Add: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch- Rename use-forking-daemon.patch to 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch - Rename use-salt-user-for-master.patch to 0002-Run-salt-master-as-dedicated-salt-user.patch - Rename 1efe484309a5c776974e723f3da0f5181f4bdb86.patch to 0003-List-products-consistently-across-all-SLES-systems.patch - Rename zypper-utf-8.patch to 0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename salt-2015.8-schedule-ret.patch to 0005-Add-missing-return-data-to-scheduled-jobs.patch - Rename salt-2015.8-pkg-zypper-attr-filtering.patch to 0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch - Rename salt-2015.8-zypper-info.patch to 0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch- Fix zypper module info_available on SLE-11 * add salt-2015.8-zypper-info.patch * https://github.com/saltstack/salt/pull/30384 - zypper/pkg: add package attributes filtering * add salt-2015.8-pkg-zypper-attr-filtering.patch * https://github.com/saltstack/salt/pull/30267 - Remove obsoleted patches and fixes: * 0001-Add-rpm.minimal_info-fix-rpm.info.patch * 0002-Reduce-information-returned-from-pkg.info_installed.patch * Remove require on glibc-locale (bsc#959572)- Add missing return data to scheduled jobs * add salt-2015.8-schedule-ret.patch for * https://github.com/saltstack/salt/pull/30246- Update zypper-utf-8.patch for Python 2.6- require glibc-locale (bsc#959572)- Report epoch and architecture of installed packages 0001-Add-rpm.minimal_info-fix-rpm.info.patch - pkg.info_installed exceeds the maximum event size, reduce the information to what's actually needed 0002-Reduce-information-returned-from-pkg.info_installed.patch- Filter out bad UTF-8 strings in package data (bsc#958350) zypper-utf-8.patch- Updated to salt 2015.8.3 bugfix release - remove the following patches because upstream merged them: - 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch - os_grain.patch - zypper_pkgrepo.patch - more details at: https://docs.saltstack.com/en/latest/topics/releases/2015.8.3.html- added 1efe484309a5c776974e723f3da0f5181f4bdb86.patch: reimplements pkg.list_products that potentially may be broken in a future releases of SLES.- added 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch: fixes a regression introduced in 2015.8.2, which was actually holding back the release. Downgrade is not an option as we need the leap fixes.- it shouldnt be >= 1110 but just > 1110- require pmtools on sle11 to get dmidecode- update use-salt-user-for-master.patch: First step to make the syndic also run as salt user.- Updated to bugfix release 2015.8.2 - os_grain.patch fix the "os" grain on SLES11SP4 - zypper_pkgrepo.patch fix the priority and humanname pkgrepo args for the zypper backend for more details: https://docs.saltstack.com/en/2015.8/topics/releases/2015.8.2.html- update to 2015.8.1 - Add support for ``spm.d/*.conf`` configuration of SPM (:issue:`27010`) - Fix ``proxy`` grains breakage for non-proxy minions (:issue:`27039`) - Fix global key management for git state - Fix passing http auth to ``util.http`` from ``state.file`` (:issue:`21917`) - Fix ``multiprocessing: True`` in windows (on by default`) - Add ``pkg.info`` to pkg modules - Fix name of ``serial`` grain (this was accidentally renamed in 2015.8.0`) - Merge config values from ``master.d``/``minion.d`` conf files (rather than flat update`) - Clean grains cache on grains sync (:issue:`19853`) - Remove streamed response for fileclient to avoid HTTP redirection problems (:issue:`27093`) - Fixed incorrect warning about ``osrelease`` grain (:issue:`27065`) - Fix authentication via Salt-API with tokens (:issue:`27270`) - Fix winrepo downloads from https locations (:issue:`27081`) - Fix potential error with salt-call as non-root user (:issue:`26889`) - Fix global minion provider overrides (:issue:`27209`) - Fix backward compatibility issues for pecl modules - Fix Windows uninstaller to only remove ``./bin``, ``salt*``, ``nssm.exe``, ``uninst.exe`` (:issue:`27383`) - Fix misc issues with mongo returner. - Add sudo option to cloud config files (:issue:`27398`) - Fix regression in RunnerClient argument handling (:issue:`25107`) - Fix ``dockerng.running`` replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Fix dockerng.running replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Increased performance on boto asg/elb states due to ``__states__`` integration - Windows minion no longer requires powershell to restart (:issue:`26629`) - Fix x509 module to support recent versions of OpenSSL (:issue:`27326`) - Some issues with proxy minions were corrected. - drop salt-2015.8-backports-susemanager.diff: included in update - guard raet buildrequires with bcond_with raet and comment out the recommends for salt-raet.- remove pygit2 global recommends, it is only needed in the master - remove git-core, pygit2 should pull it as a dependency - add a (currently disabled) %check- Add salt-2015.8-backports-susemanager.diff Returns detailed information about a package- ifdef Recommends to build on RHEL based distros - use _initddir instead of _sysconfdir/init.d as it works on both platforms.- allow to disable docs in preparation for building on other platforms without all dependencies.- python-libnacl, python-ioflo are _not_ required to build the package. They are anyways requires of python-raet, which is also not required to build the package.- merge (build)requires/recommends with requirements/*txt and setup.py- add raet subpackage which will pull all requires for it and provides config snippets to enable it for the minion and master.- add tmpfiles.d file- Remove requires on python-ioflo and python-libnacl they will be pulled by python-raet, which is optional.- python-raet is optional, so make it a Recommends- update backports patch from 2015.8 branch- update use-forking-daemon.patch: the original intention was to get rid of the python systemd dependency. for this we do not have daemonize the whole process. just switching to simple mode is enough.- drop fdupes: 1. it broke python byte code handling 2. the only part of the package which would really benefit from it would be the doc package. but given we only install the files via %doc, we can not use it for that either. - reenable completions on distros newer than sle11 - do not use _datarootdir, use _datadir instead.- package all directories in /var/cache/salt and /etc/salt and have permissions set for non root salt master - update use-salt-user-for-master.patch: - also patch the logrotate file to include the su option- remove duplicated recommends - never require pygit2 and git. the master can run fine without. always use recommends- cleanup dependencies: - remove a lot of unneeded buildrequires - fdupes not present on SLE10 - python-certifi needed on SLE11 - python-zypp not needed any more - python-pygit2 is not a global requirement - convert python-pysqlite to recommends as it is not available on python <=2.7 - sles_version -> suse_version - %exclude the cloud/deploy/*.sh scripts to fix build issue on SLE11- Remove python-PyYAML from the dependencies list, as python-yaml is the same - Build the -completion subpackages in SLE11 as well - Add salt-proxy (by dmacvicar@suse.de) - Create salt user/group only in the -master subpkg- Fix typo in use-forking-daemon.patch, that prevented daemon loading- Fix typo in Requires- Cleanup requirements- New Major release 2015.8.0 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.8.0.html - Cleaned the spec file with spec-cleaner - Added the use-salt-user-for-master.patch see README.SUSE - Updated the files ownership with salt user - removed m2crypto depency- Removed fish dependency for fish completions.- Added fish completions.- Support SLE11SP{3,4}, where the M2Crypto package is named python-m2crypto- Updated to Bugfix release 2015.5 for more details: https://github.com/saltstack/salt/blob/develop/doc/topics/releases/2015.5.5.rst - Add prereq, for user creation. - Add creation of salt user in preparation of running the salt-master daemon as non-root user salt. https://bugzilla.opensuse.org/show_bug.cgi?id=939831 - Add README.SUSE with explanation and how to.- only require git-core to not pull in git-web and gitk- New Bugfix release 2015.5.3 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.3.html- New Bugfix release 2015.5.2 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.2.html- New Bugfix release 2015.5.1 salt.runners.cloud.action() has changed the fun keyword argument to func. Please update any calls to this function in the cloud runner. for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.1.html- Removed python-pssh depency not needed anymore.- Major release 2015.5.0 Lithium - update to 2015.5.0 The 2015.5.0 feature release of Salt is focused on hardening Salt and mostly on improving existing systems. A few major additions are present, primarily the new Beacon system. Most enhancements have been focused around improving existing features and interfaces. As usual the release notes are not exhaustive and primarily include the most notable additions and improvements. Hundreds of bugs have been fixed and many modules have been substantially updated and added. See especially the warning right on the top regarding python_shell=False. For all details see http://docs.saltstack.com/en/latest/topics/releases/2015.5.0.html - RPM Package changes: - add some versions to the buildrequires to match the 2 requirements files from the tarball - Moved the depencencies to main salt package except where they are specific for the package - Changed python-request dependency,only needed on salt-cloud - Added python-tornado dependency for http.py - Fixed zsh_completion in tarball. - Fixed salt-api requirements to require python-cherrypy - Fixed salt-cloud requiments to require salt-master- New Bugfix release 2014.7.5 Changes: + Fixed a key error bug in salt-cloud + Updated man pages to better match documentation + Fixed bug concerning high CPU usage with salt-ssh + Fixed bugs with remounting cvfs and fuse filesystems + Fixed bug with alowing requisite tracking of entire sls files + Fixed bug with aptpkg.mod_repo returning OK even if apt-add-repository fails + Increased frequency of ssh terminal output checking + Fixed malformed locale string in localmod module + Fixed checking of available version of package when accept_keywords were changed + Fixed bug to make git.latest work with empty repositories + Added **kwargs to service.mod_watch which removes warnings about enable and __reqs__ not being supported by the function + Improved state comments to not grow so quickly on failed requisites + Added force argument to service to trigger force_reload + Fixed bug to andle pkgrepo keyids that have been converted to int + Fixed module.portage_config bug with appending accept_keywords + Fixed bug to correctly report disk usage on windows minion + Added the ability to specify key prefix for S3 ext_pillar + Fixed issues with batch mode operating on the incorrect number of minions + Fixed a bug with the proxmox cloud provider stacktracing on disk definition + Fixed a bug with the changes dictionary in the file state + Fixed the TCP keep alive settings to work better with SREQ caching + Fixed many bugs within the iptables state and module + Fixed bug with states by adding fun, state, and unless to the state runtime internal keywords listing + Added ability to eAuth against Active Directory + Fixed some salt-ssh issues when running on Fedora 21 + Fixed grains.get_or_set_hash to work with multiple entries under same key + Added better explanations and more examples of how the Reactor calls functions to docs + Fixed bug to not pass ex_config_drive to libcloud unless it's explicitly enabled + Fixed bug with pip.install on windows + Fixed bug where puppet.run always returns a 0 retcode + Fixed race condition bug with minion scheduling via pillar + Made efficiency improvements and bug fixes to the windows installer + Updated environment variables to fix bug with pygit2 when running salt as non-root user + Fixed cas behavior on data module -- data.cas was not saving changes + Fixed GPG rendering error + Fixed strace error in virt.query + Fixed stacktrace when running chef-solo command + Fixed possible bug wherein uncaught exceptions seem to make zmq3 tip over when threading is involved + Fixed argument passing to the reactor + Fixed glibc caching to prevent bug where salt-minion getaddrinfo in dns_check() never got updated nameservers Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix Release 2014.7.4 - Updated patch use-forking-daemon.patch - fix salt-zsh-completion conflicts + Multi-master minions mode no longer route fileclient operations asymetrically. This fixes the source of many multi-master bugs where the minion would become unrepsonsive from one or more masters. + Fix bug wherein network.iface could produce stack traces. + net.arp will no longer be made available unless arp is installed on the system. + Major performance improvements to Saltnado + Allow KVM module to operate under KVM itself or VMWare Fusion + Various fixes to the Windows installation scripts + Fix issue where the syndic would not correctly propogate loads to the master job cache. + Improve error handling on invalid /etc/network/interfaces file in salt networking modules + Fix bug where a reponse status was not checked for in fileclient.get_url + Enable eauth when running salt in batch mode + Increase timeout in Boto Route53 module + Fix bugs with Salt's 'tar' module option parsing + Fix parsing of NTP servers on Windows + Fix issue with blockdev tuning not reporting changes correctly + Update to the latest Salt bootstrap script + Update Linode salt-cloud driver to use either linode-python or apache-libcloud + Fix for s3.query function to return correct headers + Fix for s3.head returning None for files that exist + Fix the disable function in win_service module so that the service is disabled correctly + Fix race condition between master and minion when making a directory when both daemons are on the same host + Fix an issue where file.recurse would fail at the root of an svn repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an hgfs repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an gitfs repo when the repo has a mountpoint + Add status.master capability for Windows. + Various fixes to ssh_known_hosts + Various fixes to states.network bonding for Debian + The debian_ip.get_interfaces module no longer removes nameservers. + Better integration between grains.virtual and systemd-detect-virt and virt-what + Fix traceback in sysctl.present state output + Fix for issue where mount.mounted would fail when superopts were not a part of mount.active (extended=True). Also mount.mounted various fixes for Solaris and FreeBSD. + Fix error where datetimes were not correctly safeguarded before being passed into msgpack. + Fix file.replace regressions. If the pattern is not found, and if dry run is False, and if `backup` is False, and if a pre-existing file exists with extension `.bak`, then that backup file will be overwritten. This backup behavior is a result of how `fileinput` works. Fixing it requires either passing through the file twice (the first time only to search for content and set a flag), or rewriting `file.replace` so it doesn't use `fileinput` + VCS filreserver fixes/optimizations + Catch fileserver configuration errors on master start + Raise errors on invalid gitfs configurations + set_locale when locale file does not exist (Redhat family) + Fix to correctly count active devices when created mdadm array with spares + Fix to correctly target minions in batch mode + Support ssh:// urls using the gitfs dulwhich backend + New fileserver runner + Fix various bugs with argument parsing to the publish module. + Fix disk.usage for Synology OS + Fix issue with tags occurring twice with docker.pulled + Fix incorrect key error in SMTP returner + Fix condition which would remount loopback filesystems on every state run + Remove requsites from listens after they are called in the state system + Make system implementation of service.running aware of legacy service calls + Fix issue where publish.publish would not handle duplicate responses gracefully. + Accept Kali Linux for aptpkg salt execution module + Fix bug where cmd.which could not handle a dirname as an argument + Fix issue in ps.pgrep where exceptions were thrown on Windows. - Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix release 2014.7.2: - fix package bug with fdupes. - keep sle 11 sp3 support. + Fix erroneous warnings for systemd service enabled check (issue 19606) + Fix FreeBSD kernel module loading, listing, and persistence kmod (issue 197151, issue 19682) + Allow case-sensitive npm package names in the npm state. This may break behavior for people expecting the state to lowercase their npm package names for them. The npm module was never affected by mandatory lowercasing. (issue 20329) + Deprecate the activate parameter for pip.install for both the module and the state. If bin_env is given and points to a virtualenv, there is no need to activate that virtualenv in a shell for pip to install to the virtualenv. + Fix a file-locking bug in gitfs (issue 18839)- New Bugfix release 2014.7.1: + Fixed gitfs serving symlinks in file.recurse states (issue 17700) + Fixed holding of multiple packages (YUM) when combined with version pinning (issue 18468) + Fixed use of Jinja templates in masterless mode with non-roots fileserver backend (issue 17963) + Re-enabled pillar and compound matching for mine and publish calls. Note that pillar globbing is still disabled for those modes, for security reasons. (issue 17194) + Fix for tty: True in salt-ssh (issue 16847) - Needed to provide zsh completion because of the tarball missing the zsh completion script. - Removed man salt.1.gz file from salt-master because upstream removed it. - Added man salt.7.gz to salt-master package- Updated to Major Release 2014.7.0 - added python-zipp as depency - added recommend python-pygit2, this is the preferred gitfs backend of saltstack - added zsh-completion package - Removed Patch fix-service-py-version-parsing-sles.patch already fixed in this package - Removed Patch pass-all-systemd-list-units.patch already fixed in this package - Removed Patch disable-service-py-for-suse-family.patch already fixed in this package - Removed Patch allow-systemd-units-no-unit-files.patch already fixed in this package - Removed Patch allow-systemd-parameterized-services.patch already fixed in this package - More information at: http://docs.saltstack.com/en/latest/topics/releases/2014.7.0.html - SALT SSH ENHANCEMENTS: + Support for Fileserver Backends + Support for Saltfile + Ext Pillar + No more sshpass needed + Pure Python Shim + Custom Module Delivery + CP module Support + More Thin Directory Options - Salt State System enhancements: + New Imperative State Keyword "Listen" + New Mod Aggregate Runtime Manipulator + New Requisites: onchanges and onfail + New Global onlyif and unless + Use names to expand and override values - Salt Major Features: + Improved Scheduler Additions + Red Hat 7 Support + Fileserver Backends in Salt-call + Amazon Execution Modules in salt-cloud + LXC Runner Enhancements + Next Gen Docker Management + Peer System Performance Improvements + SDB Encryption at rest for configs + GPG Renderer encrypted pillar at rest + OpenStack Expansions + Queues System external queue systems into Salt events + Multi Master Failover Additions + Chef Execution Module - salt-api Project Merge + Synchronous and Asynchronous Execution of Runner and Wheel Modules + rest_cherrypy Additions + Web Hooks - Fileserver Backend Enhancements: + New gitfs Features + Pygit2 and Dulwich support + Mountpoints support + New hgfs Features + mountpoints support + New svnfs Features: + mountpoints + minionfs Featuressupport + mountpoints - New Salt Modules: + Oracle + Random + Redis + Amazon Simple Queue Service + Block Device Management + CoreOS etcd + Genesis + InfluxDB + Server Density + Twilio Notifications + Varnish + ZNC IRC Bouncer + SMTP - NEW RUNNERS: + Map/Reduce Style + Queue - NEW EXTERNAL PILLARS: + CoreOS etcd - NEW SALT-CLOUD PROVIDERS: + Aliyun ECS Cloud + LXC Containers + Proxmox (OpenVZ containers & KVM) - DEPRECATIONS: + Salt.modules.virtualenv_mod- Updated to 2014.1.13 a bugfix release on 2014.1.12 + fix module run exit code (issue 16420) + salt cloud Check the exit status code of scp before assuming it has failed. (issue 16599)ff - Updated to 2014.1.12 a bugfix release on 2014.1.11 + Fix scp_file always failing (which broke salt-cloud) (issue 16437) + Fix regression in pillar in masterless (issue 16210, issue 16416, issue 16428)- Updated to 2014.1.11 is another bugfix release for 2014.1.0. Changes include: + Fix for minion_id with byte-order mark (BOM) (issue 12296) + Fix runas deprecation in at module + Fix trailing slash befhavior for file.makedirs_ (issue 14019) + Fix chocolatey path (issue 13870) + Fix git_pillar infinite loop issues (issue 14671) + Fix json outputter null case + Fix for minion error if one of multiple masters are down (issue 14099) + Updated the use-forking-daemon.patch with the right version- Fix service.py version parsing for SLE 11 + Added fix-service-py-version-parsing-sles.patch- Remove salt-master's hard requirement for git and python-GitPython on SLE 12- Ensure salt uses systemd for services on SLES + Added disable-service-py-for-suse-family.patch- RPM spec update + added service_add_pre function- Updated to 2014.1.10: + Version 2014.1.9 contained a regression which caused inaccurate Salt version detection, and thus was never packaged for general release. This version contains the version detection fix, but is otherwise identical to 2014.1.9. + Version 2014.1.8 contained a regression which caused inaccurate Salt version detection, and thus was never packaged for general release. This version contains the version detection fix, but is otherwise identical to 2014.1.8.- Updated to 2014.1.8: + Ensure salt-ssh will not continue if permissions on a temporary directory are not correct. + Use the bootstrap script distributed with Salt instead of relying on an external resource + Remove unused testing code + Ensure salt states are placed into the .salt directory in salt-ssh + Use a randomized path for temporary files in a salt-cloud deployment + Clean any stale directories to ensure a fresh copy of salt-ssh during a deployment- Allow salt to correctly detect services provided by init scripts + Added allow-systemd-units-no-unit-files.patch + Added allow-systemd-parameterized-services.patch + Added pass-all-systemd-list-units.patch - Move systemd service file fix to patch, add PIDFile parameter (this fix is applicable for all SUSE versions, not just 12.3) + Added use-forking-daemon.patch- Improve systemd service file fix for 12.3 Use forking instead of Simple and daemonize salt-master process- Fixed bug in opensuse 12.3 systemd file systemd 198 doesn't have python-systemd binding. - Disabled testing on SLES- Update to 2014.7 This release was a hotfix release for the regression listed above which was present in the 2014.1.6 - Fix batch mode regression (issue 14046)- Updated to 2014.1.6 - Fix extra iptables --help output (Sorry!) (issue 13648, issue 13507, issue 13527, issue 13607) - Fix mount.active for Solaris - Fix support for allow-hotplug statement in debian_ip network module - Add sqlite3 to esky builds - Fix jobs.active output (issue 9526) - Fix the virtual grain for Xen (issue 13534) - Fix eauth for batch mode (issue 9605) - Fix force-related issues with tomcat support (issue 12889) - Fix KeyError when cloud mapping - Fix salt-minion restart loop in Windows (issue 12086) - Fix detection of service virtual module on Fedora minions - Fix traceback with missing ipv4 grain (issue 13838) - Fix issue in roots backend with invalid data in mtime_map (issue 13836) - Fix traceback in jobs.active (issue 11151)- Updated to 2014.1.5 - Add function for finding cached job on the minion - Fix for minion caching jobs when master is down - Bump default `syndic_wait` to 5 to fix syndic-related problems (issue 12262) - Fix false positive error in logs for `makeconf` state (issue 9762) - Fix for extra blank lines in `file.blockreplace` (issue 12422) - Use system locale for ports package installations - Fix for `cmd_iter`/`cmd_iter_no_block` blocking issues (issue 12617) - Fix traceback when syncing custom types (issue 12883) - Fix cleaning directory symlinks in `file.directory` - Add performance optimizations for `saltutil.sync_all` and `state.highstate` - Fix possible error in `saltutil.running` - Fix for kmod modules with dashes (issue 13239) - Fix possible race condition for Windows minions in state module reloading (issue 12370) - Fix bug with roster for `passwd`s that are loaded as non-string objects (issue 13249) - Keep duplicate version numbers from showing up in `pkg.list_pkgs` output - Fixes for Jinja renderer, timezone mod`module `/mod`state ` (issue 12724) - Fix timedatectl parsing for systemd>=210 (issue 12728) - Removed the deprecated external nodes classifier (originally accessible by setting a value for external_nodes in the master configuration file). Note that this functionality has been marked deprecated for some time and was replaced by the more general doc`master tops ` system. - More robust escaping of ldap filter strings. - Fix trailing slash in conf_master`gitfs_root` causing files not to be available (issue 13185)- added bash completion package- Updated to 2014.1.4 - Fix setup.py dependency issue (issue 12031) - Fix handling for IOErrors under certain circumstances (issue 11783 and issue 11853) - Fix fatal exception when `/proc/1/cgroup` is not readable (issue 11619) - Fix os grains for OpenSolaris (issue 11907) - Fix `lvs.zero` module argument pass-through (issue 9001) - Fix bug in `debian_ip` interaction with `network.system` state (issue 11164) - Remove bad binary package verification code (issue 12177) - Fix traceback in solaris package installation (issue 12237) - Fix `file.directory` state symlink handling (issue 12209) - Remove `external_ip` grain - Fix `file.managed` makedirs issues (issue 10446) - Fix hang on non-existent Windows drive letter for `file` module (issue 9880) - Fix salt minion caching all users on the server (issue 9743)- Updated to 2014.1.3 - Fix username detection when su'ed to root on FreeBSD (issue 11628) - Fix minionfs backend for file.recurse states - Fix 32-bit packages of different arches than the CPU arch, on 32-bit RHEL/CentOS (issue 11822) - Fix bug with specifying alternate home dir on user creation (FreeBSD) (issue 11790) - Don’t reload site module on module refresh for MacOS - Fix regression with running execution functions in Pillar SLS (issue 11453) - Fix some modules missing from Windows installer - Don’t log an error for yum commands that return nonzero exit status on non-failure (issue 11645) - Fix bug in rabbitmq state (issue 8703) - Fix missing ssh config options (issue 10604) - Fix top.sls ordering (issue 10810 and issue 11691) - Fix salt-key --list all (issue 10982) - Fix win_servermanager install/remove function (issue 11038) - Fix interaction with tokens when running commands as root (issue 11223) - Fix overstate bug with find_job and **kwargs (issue 10503) - Fix saltenv for aptpkg.mod_repo from pkgrepo state - Fix environment issue causing file caching problems (issue 11189) - Fix bug in __parse_key in registry state (issue 11408) - Add minion auth retry on rejection (issue 10763) - Fix publish_session updating the encryption key (issue 11493) - Fix for bad AssertionError raised by GitPython (issue 11473) - Fix debian_ip to allow disabling and enabling networking on Ubuntu (issue 11164) - Fix potential memory leak caused by saved (and unused) events (issue 11582) - Fix exception handling in the MySQL module (issue 11616) - Fix environment-related error (issue 11534) - Include psutil on Windows - Add file.replace and file.search to Windows (issue 11471) - Add additional file module helpers to Windows (issue 11235) - Add pid to netstat output on Windows (issue 10782) - Fix Windows not caching new versions of installers in winrepo (issue 10597) - Fix hardcoded md5 hashing - Fix kwargs in salt-ssh (issue 11609) - Fix file backup timestamps (issue 11745) - Fix stacktrace on sys.doc with invalid eauth (issue 11293) - Fix git.latest with test=True (issue 11595) - Fix file.check_perms hardcoded follow_symlinks (issue 11387) - Fix certain pkg states for RHEL5/Cent5 machines (issue 11719) - Packaging: - python-psutil depencies (more functional modules out of the box) - python-yaml depencies (more functional modules out of the box) - python-requests depencies (salt-cloud)- Updated to 2014.1.1 Bug Fix release - temporarily disabled integration check after consult with Upstream- Updated to 2014.1.0 Major Release - features: - 2014.1.0 is the first release to follow the new date-based release naming system. - Salt Cloud Merged into Salt - Google Compute Engine support is added to salt-cloud. - Salt Virt released - Docker Integration - IPv6 Support for iptables State/Module - GitFS Improvements - MinionFS - saltenv - Grains Caching - Improved Command Logging Control - PagerDuty Support - Virtual Terminal - Proxy Minions - bugfixes: - Fix mount.mounted leaving conflicting entries in fstab (:issue:`7079`) - Fix mysql returner serialization to use json (:issue:`9590`) - Fix ZMQError: Operation cannot be accomplished in current state errors (:issue:`6306`) - Rbenv and ruby improvements - Fix quoting issues with mysql port (:issue:`9568`) - Update mount module/state to support multiple swap partitions (:issue:`9520`) - Fix archive state to work with bsdtar - Clarify logs for minion ID caching - Add numeric revision support to git state (:issue:`9718`) - Update master_uri with master_ip (:issue:`9694`) - Add comment to Debian mod_repo (:issue:`9923`) - Fix potential undefined loop variable in rabbitmq state (:issue:`8703`) - Fix for salt-virt runner to delete key on VM deletion - Fix for salt-run -d to limit results to specific runner or function (:issue:`9975`) - Add tracebacks to jinja renderer when applicable (:issue:`10010`) - Fix parsing in monit module (:issue:`10041`) - Fix highstate output from syndic minions (:issue:`9732`) - Quiet logging when dealing with passwords/hashes (:issue:`10000`) - Fix for multiple remotes in git_pillar (:issue:`9932`) - Fix npm installed command (:issue:`10109`) - Add safeguards for utf8 errors in zcbuildout module - Fix compound commands (:issue:`9746`) - Add systemd notification when master is started - Many doc improvements - packaging: - source tarball includes all packaging files in pkg folder. - fixed rpmlint errors about duplicates. - fixed rpmlint errors about non executables scripts.- Updated to 0.17.5 a bugfix release for 0.17.0:- Updated to 0.17.4 which is another bugfix release for 0.17.0: - Fix some jinja render errors (issue 8418) - Fix file.replace state changing file ownership (issue 8399) - Fix state ordering with the PyDSL renderer (issue 8446) - Fix for new npm version (issue 8517) - Fix for pip state requiring name even with requirements file (issue 8519) - Add sane maxrunning defaults for scheduler (issue 8563) - Fix states duplicate key detection (issue 8053) - Fix SUSE patch level reporting (issue 8428) - Fix managed file creation umask (issue 8590) - Fix logstash exception (issue 8635) - Improve argument exception handling for salt command (issue 8016) - Fix pecl success reporting (issue 8750) - Fix launchctl module exceptions (issue 8759) - Fix argument order in pw_user module - Add warnings for failing grains (issue 8690) - Fix hgfs problems caused by connections left open (issue 8811 and issue 8810) - Fix installation of packages with dots in pkg name (issue 8614) - Fix noarch package installation on CentOS 6 (issue 8945) - Fix portage_config.enforce_nice_config (issue 8252) - Fix salt.util.copyfile umask usage (issue 8590) - Fix rescheduling of failed jobs (issue 8941) - Fix conflicting options in postgres module (issue 8717) - Fix ps modules for psutil >= 0.3.0 (issue 7432) - Fix postgres module to return False on failure (issue 8778) - Fix argument passing for args with pound signs (issue 8585) - Fix pid of salt CLi command showing in status.pid output (issue 8720) - Fix rvm to run gem as the correct user (issue 8951) - Fix namespace issue in win_file module (issue 9060) - Fix masterless state paths on windows (issue 9021) - Fix timeout option in master config (issue 9040)- Add bugzilla for solved issues- dropped python-urllib3 depency not in factory yet. only needed with saltstack helium and higher- Updated to salt 0.17.2 Bugfix Release: - Add ability to delete key with grains.delval (issue 7872) - Fix possible state compiler stack trace (issue 5767) - Fix grains targeting for new grains (issue 5737) - Fix bug with merging in git_pillar (issue 6992) - Fix print_jobs duplicate results - Fix possible KeyError from ext_job_cache missing option - Fix auto_order for - names states (issue 7649) - Fix regression in new gitfs installs (directory not found error) - Fix fileclient in case of master restart (issue 7987) - Try to output warning if CLI command malformed (issue 6538) - Fix --out=quiet to actually be quiet (issue 8000) - Fix for state.sls in salt-ssh (issue 7991) - Fix for MySQL grants ordering issue (issue 5817) - Fix traceback for certain missing CLI args (issue 8016) - Add ability to disable lspci queries on master (issue 4906) - Fail if sls defined in topfile does not exist (issue 5998) - Add ability to downgrade MySQL grants (issue 6606) - Fix ssh_auth.absent traceback (issue 8043) - Fix ID-related issues (issue 8052, issue 8050, and others) - Fix for jinja rendering issues (issue 8066 and issue 8079) - Fix argument parsing in salt-ssh (issue 7928) - Fix some GPU detection instances (issue 6945) - Fix bug preventing includes from other environments in SLS files - Fix for kwargs with dashes (issue 8102) - Fix apache.adduser without apachectl (issue 8123) - Fix issue with evaluating test kwarg in states (issue 7788) - Fix regression in salt.client.Caller() (issue 8078) - Fix bug where cmd.script would try to run even if caching failed (issue 7601) - Fix for mine data not being updated (issue 8144) - Fix a Xen detection edge case (issue 7839) - Fix version generation for when it's part of another git repo (issue 8090) - Fix _handle_iorder stacktrace so that the real syntax error is shown (issue 8114 and issue 7905) - Fix git.latest state when a commit SHA is used (issue 8163) - Fix for specifying identify file in git.latest (issue 8094) - Fix for --output-file CLI arg (issue 8205) - Add ability to specify shutdown time for system.shutdown (issue 7833) - Fix for salt version using non-salt git repo info (issue 8266) - Add additional hints at impact of pkgrepo states when test=True (issue 8247) - Fix for salt-ssh files not being owned by root (issue 8216) - Fix retry logic and error handling in fileserver (related to issue 7755) - Fix file.replace with test=True (issue 8279) - Add flag for limiting file traversal in fileserver (issue 6928) - Fix for extra mine processes (issue 5729) - Fix for unloading custom modules (issue 7691) - Fix for salt-ssh opts (issue 8005 and issue 8271) - Fix compound matcher for grains (issue 7944) - Add dir_mode to file.managed (issue 7860) - Improve traceroute support for FreeBSD and OS X (issue 4927) - Fix for matching minions under syndics (issue 7671) - Improve exception handling for missing ID (issue 8259) - Add configuration option for minion_id_caching - Fix open mode auth errors (issue 8402)- In preparation of salt Helium all requirements of salt-cloud absorbed in salt- Added salt-doc package with html documentation of salt- Disabled salt unit test, new test assert value not in 0.17.1- Updated requirements python-markupsafe required for salt-ssh- Don't support sysvinit and systemd for the same system; add conditionnal macros to use systemd only on systems which support it and sysvinit on other systems- Updated to salt 0.17.1 bugfix release (bnc#849205, bnc#849204, bnc#849184): - Fix symbolic links in thin.tgz (:issue:`7482`) - Pass env through to file.patch state (:issue:`7452`) - Service provider fixes and reporting improvements (:issue:`7361`) - Add --priv option for specifying salt-ssh private key - Fix salt-thin's salt-call on setuptools installations (:issue:`7516`) - Fix salt-ssh to support passwords with spaces (:issue:`7480`) - Fix regression in wildcard includes (:issue:`7455`) - Fix salt-call outputter regression (:issue:`7456`) - Fix custom returner support for startup states (:issue:`7540`) - Fix value handling in augeas (:issue:`7605`) - Fix regression in apt (:issue:`7624`) - Fix minion ID guessing to use socket.getfqdn() first (:issue:`7558`) - Add minion ID caching (:issue:`7558`) - Fix salt-key race condition (:issue:`7304`) - Add --include-all flag to salt-key (:issue:`7399`) - Fix custom grains in pillar (part of :issue:`5716`, :issue:`6083`) - Fix race condition in salt-key (:issue:`7304`) - Fix regression in minion ID guessing, prioritize socket.getfqdn() (:issue:`7558`) - Cache minion ID on first guess (:issue:`7558`) - Allow trailing slash in file.directory state - Fix reporting of file_roots in pillar return (:issue:`5449` and :issue:`5951`) - Remove pillar matching for mine.get (:issue:`7197`) - Sanitize args for multiple execution modules - Fix yumpkag mod_repo functions to filter hidden args (:issue:`7656`) - Fix conflicting IDs in state includes (:issue:`7526`) - Fix mysql_grants.absent string formatting issue (:issue:`7827`) - Fix postgres.version so it won't return None (:issue:`7695`) - Fix for trailing slashes in mount.mounted state - Fix rogue AttributErrors in the outputter system (:issue:`7845`) - Fix for incorrect ssh key encodings resulting in incorrect key added (:issue:`7718`) - Fix for pillar/grains naming regression in python renderer (:issue:`7693`) - Fix args/kwargs handling in the scheduler (:issue:`7422`) - Fix logfile handling for file://, tcp:// and udp:// (:issue:`7754`) - Fix error handling in config file parsing (:issue:`6714`) - Fix RVM using sudo when running as non-root user (:issue:`2193`) - Fix client ACL and underlying logging bugs (:issue:`7706`) - Fix scheduler bug with returner (:issue:`7367`) - Fix user management bug related to default groups (:issue:`7690`) - Fix various salt-ssh bugs (:issue:`7528`) - Many various documentation fixes- Updated init files to be inline with fedora/rhel packaging upstream- Cleaned up spec file: - Unit testing can be done on all distributions- Updated package following salt package guidelins: https://github.com/saltstack/salt/blob/develop/doc/topics/conventions/packaging.rst - activated salt-testing for unit testing salt before releasing rpm - updated docs - added python-xml as dependency- Updated 0.17.0 Feature Release Major features: - halite (web Gui) - salt ssh (remote execution/states over ssh) with its own package - Rosters (list system targets not know to master) - State Auto Order (state evaluation and execute in order of define) - state.sls Runner (system orchestration from within states via master) - Mercurial Fileserver Backend - External Logging Handlers (sentry and logstash support) - Jenkins Testing - Salt Testing Project (testing libraries for salt) - StormPath External Authentication support - LXC Support (lxc support for salt-virt) - Package dependencies reordering: * salt-master requires python-pyzmq, and recommends python-halite * salt-minion requires python-pyzmq * salt-ssh requires sshpass * salt-syndic requires salt-master Minor features: - 0.17.0 release wil be last release for 0.XX.X numbering system Next release will be ..- Update 0.16.4 bugfix release: - Multiple documentation improvements/additions - Added the osfinger and osarch grains - Fix bug in :mod:`hg.latest ` state that would erroneously delete directories (:issue:`6661`) - Fix bug related to pid not existing for :mod:`ps.top ` (:issue:`6679`) - Fix regression in :mod:`MySQL returner ` (:issue:`6695`) - Fix IP addresses grains (ipv4 and ipv6) to include all addresses (:issue:`6656`) - Fix regression preventing authenticated FTP (:issue:`6733`) - Fix :mod:`file.contains ` on values YAML parses as non-string (:issue:`6817`) - Fix :mod:`file.get_gid `, :mod:`file.get_uid `, and :mod:`file.chown ` for broken symlinks (:issue:`6826`) - Fix comment for service reloads in service state (:issue:`6851`)- Update 0.16.3 bugfix release: - Fixed scheduler config in pillar - Fixed default value for file_recv master config option - Fixed missing master configuration file parameters - Fixed regression in binary package installation on 64-bit systems - Fixed stackgrace when commenting a section in top.sls - Fixed state declarations not formed as a list message. - Fixed infinite loop on minion - Fixed stacktrace in watch when state is 'prereq' - Feature: function filter_by to grains module - Feature: add new "osfinger" grain- Fixed regression bug in salt 0.16.2 - Newly installed salt-minion doesn't create /var/cache/salt/minion/proc - fix let package create this directory next version of Salt doesn't need this.- Updated to salt 0.16.2 - gracefully handle lsb_release data when it is enclosed in quotes - fixed pillar load from master config - pillar function pillar.item and pillar.items instead of pillar.data - fixed traceback when pillar sls is malformed - gracefully handle quoted publish commands - publich function publish.item and publish.items instead of publish.data - salt-key usage in minionswarm script fixed - minion random reauth_delay added to stagger re-auth attempts. - improved user and group management - improved file management - improved package management - service management custom initscripts support - module networking hwaddr renamed to be in line with other modules - fixed traceback in bridge.show - fixed ssh know_hosts and auth.present output. for more information: http://docs.saltstack.com/topics/releases/0.16.2.html- removed not needed requirements: Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/userdel- Updated to salt 0.16.1 - Bugfix release - postgresql module Fixes #6352. - returner fixes Fixes issue #5518 - http authentication issues fixed #6356 - warning of deprecation runas in favor of user - more information at https://github.com/saltstack/salt/commits/v0.16.1- Updated init files, rc_status instead of rc status.- Update to salt 0.16.0 final - Multi-Master capability - Prereq, the new requisite - Peer system improvement - Relative Includes - More state Output Options - Improved Windows Support - Multi Targets for pkg.removed, pgk.purged States - Random Times in cron states - Confirmation Prompt on Key acceptance on master - full changelog details: http://docs.saltstack.com/topics/releases/0.16.0.html- Updated to salt 0.16.0RC - New Features in 0.16.0: - Multi-Master capability - Prereq, the new requisite - Peer system improvement - Relative Includes - More state Output Options - Improved Windows Support - Multi Targets for pkg.removed, pgk.purged States - Random Times in cron states - Confirmation Prompt on Key acceptance on master - full changelog details: http://docs.saltstack.com/topics/releases/0.16.0.html- Updated init files from upstream, so init files are the same for fedora/redhat/centos/debian/suse - Removed salt user and daemon.conf file, so package is in line with upstream packages fedora/centos/debian.- minor permission fix on salt config files to fix external auth- Service release 0.15.3 showstoppers from 0.15.2: - mine fix cross validity. - redhat package issue - pillar refresh fix- Service release 0.15.2 xinetd service name not appended virt-module uses qemu-img publish.publish returns same info as salt-master updated gitfs module- Fixed salt-master config file not readable by user 'salt'- Updated package spec: security enhancement. added system user salt to run salt-master under privileged user 'salt' added config dirs, master.d/minion.d/syndic.d to add config files. added salt-daemon.conf were salt user is specified under salt-master.- Updated package spec, for systemd unit files according to how systemd files needs to be packaged - added logrotate on salt log files - fixed rpmlint complain about reload function in init files- Updated to salt 0.15.1 - bugfix release. - fixes suse service check- Updated to salt 0.15.0 Major update: - salt mine function - ipv6 support - copy files from minions to master - better template debugging - state event firing - major syndic updates - peer system updates - minion key revokation - function return codes - functions in overstate - Pillar error reporting - Cached State Data - Monitoring states - Read http://docs.saltstack.com/topics/releases/0.15.0.html for more information - improved init files overwrite with /etc/default/salt- Updated init files: - removed probe/reload/force reload this isn't supported- Updated init files- Updated to 0.14.1 bugfix release: - some major fixes for the syndic system, - fixes to file.recurse and external auth and - fixes for windows- Updated salt init files with option -d to really daemonize it- Updated to 0.14.0 MAJOR FEATURES: - Salt - As a Cloud Controller - Libvirt State - New get Functions- Updated to 0.13.3 Last Bugfixes release before 0.14.0- Updated 0.13.2 Bugfixes release (not specified)- Updated spec file, postun removal of init.d files- Updated to Salt 0.13.1 bugfixes: - Fix #3693 (variable ref'ed before assignment) - Fix stack trace introduced with - Updated limit to be escaped like before and after. - Import install command from setuptools if we use them. - Fix user info not displayed correctly when group doesn't map cleanly - fix bug: Client.cache_dir() - Fix #3717 - Fix #3716 - Fix cmdmod.py daemon error - Updated test to properly determine homebrew user - Fixed whitespace issue- Updated to salt 0.13.0- Updated Suse Copyright in Spec-file- Cleanup spec file- split syndic from master in separate package- updated to salt 0.12.1 bugfix release- uploaded to salt 1.12.0cloud125 1552633540  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     ;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q2018.3.0-29.12018.3.0-29.1    !!!!!!!""""!! ######## $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''(((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))******************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------...////.00001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222333333324425266666662778888888888888888888888999999::::::::::::::;;;;;;;;;;;<<<<;;;;;;;;=========================================>>>>>>>>>>===========???@@@@@@@@=====================================================================================AAAAAAABBBBBBAA===========CCCCCCCC=========================================================================DDDDDDDD================================================EEEEEEEEEEEEEEsaltsalt-2018.3.0-py2.7.egg-info__init__.py__init__.pyc_compat.py_compat.pyc_syspaths.py_syspaths.pyc_version.py_version.pycacl__init__.py__init__.pycauth__init__.py__init__.pycauto.pyauto.pycdjango.pydjango.pycfile.pyfile.pyckeystone.pykeystone.pycldap.pyldap.pycmysql.pymysql.pycpam.pypam.pycpki.pypki.pycrest.pyrest.pycsharedsecret.pysharedsecret.pycyubico.pyyubico.pycbeacons__init__.py__init__.pycadb.pyadb.pycaix_account.pyaix_account.pycavahi_announce.pyavahi_announce.pycbonjour_announce.pybonjour_announce.pycbtmp.pybtmp.pycdiskusage.pydiskusage.pycglxinfo.pyglxinfo.pychaproxy.pyhaproxy.pycinotify.pyinotify.pycjournald.pyjournald.pycload.pyload.pyclog.pylog.pycmemusage.pymemusage.pycnapalm_beacon.pynapalm_beacon.pycnetwork_info.pynetwork_info.pycnetwork_settings.pynetwork_settings.pycpkg.pypkg.pycproxy_example.pyproxy_example.pycps.pyps.pycsalt_proxy.pysalt_proxy.pycsensehat.pysensehat.pycservice.pyservice.pycsh.pysh.pycstatus.pystatus.pyctelegram_bot_msg.pytelegram_bot_msg.pyctwilio_txt_msg.pytwilio_txt_msg.pycwtmp.pywtmp.pyccache__init__.py__init__.pycconsul.pyconsul.pycetcd_cache.pyetcd_cache.pyclocalfs.pylocalfs.pycmysql_cache.pymysql_cache.pycredis_cache.pyredis_cache.pyccli__init__.py__init__.pycapi.pyapi.pycbatch.pybatch.pyccall.pycall.pyccaller.pycaller.pyccp.pycp.pycdaemons.pydaemons.pyckey.pykey.pycrun.pyrun.pycsalt.pysalt.pycspm.pyspm.pycssh.pyssh.pycsupport__init__.py__init__.pyccollector.pycollector.pycconsole.pyconsole.pycintfunc.pyintfunc.pyclocalrunner.pylocalrunner.pycprofiles__init__.py__init__.pycdefault.ymljobs-active.ymljobs-last.ymljobs-trace.ymlnetwork.ymlpostgres.ymlsalt.ymlusers.ymlclient__init__.py__init__.pycapi.pyapi.pycmixins.pymixins.pycnetapi.pynetapi.pycraet__init__.py__init__.pycssh__init__.py__init__.pycclient.pyclient.pycshell.pyshell.pycssh_py_shim.pyssh_py_shim.pycstate.pystate.pycwrapper__init__.py__init__.pycconfig.pyconfig.pyccp.pycp.pycgrains.pygrains.pycmine.pymine.pycpillar.pypillar.pycpublish.pypublish.pycstate.pystate.pyccloud__init__.py__init__.pyccli.pycli.pycclouds__init__.py__init__.pycaliyun.pyaliyun.pycazurearm.pyazurearm.pycclc.pyclc.pyccloudstack.pycloudstack.pycdigitalocean.pydigitalocean.pycdimensiondata.pydimensiondata.pycec2.pyec2.pycgce.pygce.pycgogrid.pygogrid.pycjoyent.pyjoyent.pyclibvirt.pylibvirt.pyclinode.pylinode.pyclxc.pylxc.pycmsazure.pymsazure.pycnova.pynova.pyconeandone.pyoneandone.pycopennebula.pyopennebula.pycopenstack.pyopenstack.pycpacket.pypacket.pycparallels.pyparallels.pycprofitbricks.pyprofitbricks.pycproxmox.pyproxmox.pycpyrax.pypyrax.pycqingcloud.pyqingcloud.pycsaltify.pysaltify.pycscaleway.pyscaleway.pycsoftlayer.pysoftlayer.pycsoftlayer_hw.pysoftlayer_hw.pycvagrant.pyvagrant.pycvirtualbox.pyvirtualbox.pycvmware.pyvmware.pycvultrpy.pyvultrpy.pycxen.pyxen.pycdeployexceptions.pyexceptions.pyclibcloudfuncs.pylibcloudfuncs.pycconfig__init__.py__init__.pycschemas__init__.py__init__.pyccommon.pycommon.pycesxcluster.pyesxcluster.pycesxdatacenter.pyesxdatacenter.pycesxi.pyesxi.pycesxvm.pyesxvm.pycminion.pyminion.pycssh.pyssh.pycvcenter.pyvcenter.pyccrypt.pycrypt.pycdaemons__init__.py__init__.pycflo__init__.py__init__.pyccaller.flocore.pycore.pycdummy.pydummy.pycjobber.pyjobber.pycmaint.flomaint.pymaint.pycmaster.flominion.floreactor.pyreactor.pycworker.floworker.pyworker.pyczero.pyzero.pycmasterapi.pymasterapi.pycsalting.pysalting.pyctest__init__.py__init__.pycplan__init__.py__init__.pycactors.pyactors.pyctest_master.pytest_master.pyctest_minion.pytest_minion.pyctest_multimaster.pytest_multimaster.pyctest_plans.pytest_plans.pyctest_presence.pytest_presence.pyctest_raetkey.pytest_raetkey.pyctest_saltkeep.pytest_saltkeep.pyctest_stats.pytest_stats.pycdefaults__init__.py__init__.pycexitcodes.pyexitcodes.pycengines__init__.py__init__.pycdocker_events.pydocker_events.pychipchat.pyhipchat.pychttp_logstash.pyhttp_logstash.pycircbot.pyircbot.pycjunos_syslog.pyjunos_syslog.pyclibvirt_events.pylibvirt_events.pyclogentries.pylogentries.pyclogstash.pylogstash.pycnapalm_syslog.pynapalm_syslog.pycreactor.pyreactor.pycredis_sentinel.pyredis_sentinel.pycslack.pyslack.pycsqs_events.pysqs_events.pycstalekey.pystalekey.pyctest.pytest.pycthorium.pythorium.pycwebhook.pywebhook.pycexceptions.pyexceptions.pycexecutors__init__.py__init__.pycdirect_call.pydirect_call.pycsplay.pysplay.pycsudo.pysudo.pycext__init__.py__init__.pycbackports_abc.pybackports_abc.pycipaddress.pyipaddress.pycsix.pysix.pycssl_match_hostname.pyssl_match_hostname.pycvsan__init__.py__init__.pycvsanapiutils.pyvsanapiutils.pycvsanmgmtObjects.pyvsanmgmtObjects.pycwin_inet_pton.pywin_inet_pton.pycfileclient.pyfileclient.pycfileserver__init__.py__init__.pycazurefs.pyazurefs.pycgitfs.pygitfs.pychgfs.pyhgfs.pycminionfs.pyminionfs.pycroots.pyroots.pycs3fs.pys3fs.pycsvnfs.pysvnfs.pycgrains__init__.py__init__.pycchronos.pychronos.pyccimc.pycimc.pyccore.pycore.pycdisks.pydisks.pycesxi.pyesxi.pycextra.pyextra.pycfibre_channel.pyfibre_channel.pycfx2.pyfx2.pyciscsi.pyiscsi.pycjunos.pyjunos.pycmarathon.pymarathon.pycmdadm.pymdadm.pycmdata.pymdata.pycmetadata.pymetadata.pycminion_process.pyminion_process.pycnapalm.pynapalm.pycnxos.pynxos.pycopts.pyopts.pycpanos.pypanos.pycphilips_hue.pyphilips_hue.pycrest_sample.pyrest_sample.pycsmartos.pysmartos.pycssh_sample.pyssh_sample.pyczfs.pyzfs.pyckey.pykey.pycloader.pyloader.pyclog__init__.py__init__.pychandlers__init__.py__init__.pycfluent_mod.pyfluent_mod.pyclog4mongo_mod.pylog4mongo_mod.pyclogstash_mod.pylogstash_mod.pycsentry_mod.pysentry_mod.pycmixins.pymixins.pycsetup.pysetup.pycmaster.pymaster.pycminion.pyminion.pycmodules__init__.py__init__.pycacme.pyacme.pycaix_group.pyaix_group.pycaix_shadow.pyaix_shadow.pycaliases.pyaliases.pycalternatives.pyalternatives.pycansiblegate.pyansiblegate.pycapache.pyapache.pycapcups.pyapcups.pycapf.pyapf.pycapk.pyapk.pycaptly.pyaptly.pycaptpkg.pyaptpkg.pycarchive.pyarchive.pycartifactory.pyartifactory.pycat.pyat.pycat_solaris.pyat_solaris.pycaugeas_cfg.pyaugeas_cfg.pycaws_sqs.pyaws_sqs.pycbamboohr.pybamboohr.pycbcache.pybcache.pycbeacons.pybeacons.pycbigip.pybigip.pycbluez.pybluez.pycboto3_elasticache.pyboto3_elasticache.pycboto3_route53.pyboto3_route53.pycboto3_sns.pyboto3_sns.pycboto_apigateway.pyboto_apigateway.pycboto_asg.pyboto_asg.pycboto_cfn.pyboto_cfn.pycboto_cloudfront.pyboto_cloudfront.pycboto_cloudtrail.pyboto_cloudtrail.pycboto_cloudwatch.pyboto_cloudwatch.pycboto_cloudwatch_event.pyboto_cloudwatch_event.pycboto_cognitoidentity.pyboto_cognitoidentity.pycboto_datapipeline.pyboto_datapipeline.pycboto_dynamodb.pyboto_dynamodb.pycboto_ec2.pyboto_ec2.pycboto_efs.pyboto_efs.pycboto_elasticache.pyboto_elasticache.pycboto_elasticsearch_domain.pyboto_elasticsearch_domain.pycboto_elb.pyboto_elb.pycboto_elbv2.pyboto_elbv2.pycboto_iam.pyboto_iam.pycboto_iot.pyboto_iot.pycboto_kinesis.pyboto_kinesis.pycboto_kms.pyboto_kms.pycboto_lambda.pyboto_lambda.pycboto_rds.pyboto_rds.pycboto_route53.pyboto_route53.pycboto_s3.pyboto_s3.pycboto_s3_bucket.pyboto_s3_bucket.pycboto_secgroup.pyboto_secgroup.pycboto_sns.pyboto_sns.pycboto_sqs.pyboto_sqs.pycboto_vpc.pyboto_vpc.pycbower.pybower.pycbridge.pybridge.pycbsd_shadow.pybsd_shadow.pycbtrfs.pybtrfs.pyccabal.pycabal.pyccapirca_acl.pycapirca_acl.pyccassandra.pycassandra.pyccassandra_cql.pycassandra_cql.pyccelery.pycelery.pycceph.pyceph.pycchassis.pychassis.pycchef.pychef.pycchocolatey.pychocolatey.pycchronos.pychronos.pyccimc.pycimc.pyccisconso.pycisconso.pyccloud.pycloud.pyccmdmod.pycmdmod.pyccomposer.pycomposer.pycconfig.pyconfig.pycconsul.pyconsul.pyccontainer_resource.pycontainer_resource.pyccp.pycp.pyccpan.pycpan.pyccron.pycron.pyccryptdev.pycryptdev.pyccsf.pycsf.pyccyg.pycyg.pycdaemontools.pydaemontools.pycdata.pydata.pycdatadog_api.pydatadog_api.pycddns.pyddns.pycdeb_apache.pydeb_apache.pycdeb_postgres.pydeb_postgres.pycdebbuild.pydebbuild.pycdebconfmod.pydebconfmod.pycdebian_ip.pydebian_ip.pycdebian_service.pydebian_service.pycdefaults.pydefaults.pycdevmap.pydevmap.pycdig.pydig.pycdisk.pydisk.pycdjangomod.pydjangomod.pycdnsmasq.pydnsmasq.pycdnsutil.pydnsutil.pycdockercompose.pydockercompose.pycdockermod.pydockermod.pycdpkg.pydpkg.pycdrac.pydrac.pycdracr.pydracr.pycdrbd.pydrbd.pycdummyproxy_package.pydummyproxy_package.pycdummyproxy_service.pydummyproxy_service.pycebuild.pyebuild.pyceix.pyeix.pycelasticsearch.pyelasticsearch.pycenviron.pyenviron.pyceselect.pyeselect.pycesxcluster.pyesxcluster.pycesxdatacenter.pyesxdatacenter.pycesxi.pyesxi.pycesxvm.pyesxvm.pycetcd_mod.pyetcd_mod.pycethtool.pyethtool.pycevent.pyevent.pycextfs.pyextfs.pycfile.pyfile.pycfirewalld.pyfirewalld.pycfreebsd_sysctl.pyfreebsd_sysctl.pycfreebsd_update.pyfreebsd_update.pycfreebsdjail.pyfreebsdjail.pycfreebsdkmod.pyfreebsdkmod.pycfreebsdpkg.pyfreebsdpkg.pycfreebsdports.pyfreebsdports.pycfreebsdservice.pyfreebsdservice.pycgcp_addon.pygcp_addon.pycgem.pygem.pycgenesis.pygenesis.pycgentoo_service.pygentoo_service.pycgentoolkitmod.pygentoolkitmod.pycgit.pygit.pycgithub.pygithub.pycglance.pyglance.pycglanceng.pyglanceng.pycglassfish.pyglassfish.pycglusterfs.pyglusterfs.pycgnomedesktop.pygnomedesktop.pycgpg.pygpg.pycgrafana4.pygrafana4.pycgrains.pygrains.pycgroupadd.pygroupadd.pycgrub_legacy.pygrub_legacy.pycguestfs.pyguestfs.pychadoop.pyhadoop.pychaproxyconn.pyhaproxyconn.pychashutil.pyhashutil.pycheat.pyheat.pychg.pyhg.pychighstate_doc.pyhighstate_doc.pychipchat.pyhipchat.pychosts.pyhosts.pychtpasswd.pyhtpasswd.pychttp.pyhttp.pycicinga2.pyicinga2.pycifttt.pyifttt.pycilo.pyilo.pycincron.pyincron.pycinflux.pyinflux.pycinflux08.pyinflux08.pycinfoblox.pyinfoblox.pycini_manage.pyini_manage.pycinspectlib__init__.py__init__.pyccollector.pycollector.pycdbhandle.pydbhandle.pycentities.pyentities.pycexceptions.pyexceptions.pycfsdb.pyfsdb.pyckiwiproc.pykiwiproc.pycquery.pyquery.pycinspector.pyinspector.pycintrospect.pyintrospect.pycipmi.pyipmi.pycipset.pyipset.pyciptables.pyiptables.pyciwtools.pyiwtools.pycjboss7.pyjboss7.pycjboss7_cli.pyjboss7_cli.pycjenkins.pyjenkins.pycjunos.pyjunos.pyck8s.pyk8s.pyckapacitor.pykapacitor.pyckerberos.pykerberos.pyckernelpkg_linux_apt.pykernelpkg_linux_apt.pyckernelpkg_linux_yum.pykernelpkg_linux_yum.pyckey.pykey.pyckeyboard.pykeyboard.pyckeystone.pykeystone.pyckeystoneng.pykeystoneng.pyckmod.pykmod.pyckubernetes.pykubernetes.pyclaunchctl.pylaunchctl.pyclayman.pylayman.pycldap3.pyldap3.pycldapmod.pyldapmod.pyclibcloud_compute.pylibcloud_compute.pyclibcloud_dns.pylibcloud_dns.pyclibcloud_loadbalancer.pylibcloud_loadbalancer.pyclibcloud_storage.pylibcloud_storage.pyclinux_acl.pylinux_acl.pyclinux_ip.pylinux_ip.pyclinux_lvm.pylinux_lvm.pyclinux_sysctl.pylinux_sysctl.pyclocalemod.pylocalemod.pyclocate.pylocate.pyclogadm.pylogadm.pyclogmod.pylogmod.pyclogrotate.pylogrotate.pyclvs.pylvs.pyclxc.pylxc.pycmac_assistive.pymac_assistive.pycmac_brew.pymac_brew.pycmac_defaults.pymac_defaults.pycmac_desktop.pymac_desktop.pycmac_group.pymac_group.pycmac_keychain.pymac_keychain.pycmac_package.pymac_package.pycmac_pkgutil.pymac_pkgutil.pycmac_ports.pymac_ports.pycmac_power.pymac_power.pycmac_service.pymac_service.pycmac_shadow.pymac_shadow.pycmac_softwareupdate.pymac_softwareupdate.pycmac_sysctl.pymac_sysctl.pycmac_system.pymac_system.pycmac_timezone.pymac_timezone.pycmac_user.pymac_user.pycmac_xattr.pymac_xattr.pycmakeconf.pymakeconf.pycmandrill.pymandrill.pycmarathon.pymarathon.pycmatch.pymatch.pycmattermost.pymattermost.pycmdadm.pymdadm.pycmdata.pymdata.pycmemcached.pymemcached.pycmine.pymine.pycminion.pyminion.pycmod_random.pymod_random.pycmodjk.pymodjk.pycmongodb.pymongodb.pycmonit.pymonit.pycmoosefs.pymoosefs.pycmount.pymount.pycmssql.pymssql.pycmsteams.pymsteams.pycmunin.pymunin.pycmysql.pymysql.pycnacl.pynacl.pycnagios.pynagios.pycnagios_rpc.pynagios_rpc.pycnamecheap_dns.pynamecheap_dns.pycnamecheap_domains.pynamecheap_domains.pycnamecheap_ns.pynamecheap_ns.pycnamecheap_ssl.pynamecheap_ssl.pycnamecheap_users.pynamecheap_users.pycnapalm.pynapalm.pycnapalm_acl.pynapalm_acl.pycnapalm_bgp.pynapalm_bgp.pycnapalm_network.pynapalm_network.pycnapalm_ntp.pynapalm_ntp.pycnapalm_probes.pynapalm_probes.pycnapalm_route.pynapalm_route.pycnapalm_snmp.pynapalm_snmp.pycnapalm_users.pynapalm_users.pycnapalm_yang_mod.pynapalm_yang_mod.pycnetaddress.pynetaddress.pycnetbox.pynetbox.pycnetbsd_sysctl.pynetbsd_sysctl.pycnetbsdservice.pynetbsdservice.pycnetscaler.pynetscaler.pycnetwork.pynetwork.pycneutron.pyneutron.pycneutronng.pyneutronng.pycnexus.pynexus.pycnfs3.pynfs3.pycnftables.pynftables.pycnginx.pynginx.pycnilrt_ip.pynilrt_ip.pycnix.pynix.pycnova.pynova.pycnpm.pynpm.pycnspawn.pynspawn.pycnxos.pynxos.pycomapi.pyomapi.pycopenbsd_sysctl.pyopenbsd_sysctl.pycopenbsdpkg.pyopenbsdpkg.pycopenbsdrcctl.pyopenbsdrcctl.pycopenbsdservice.pyopenbsdservice.pycopenscap.pyopenscap.pycopenstack_config.pyopenstack_config.pycopenstack_mng.pyopenstack_mng.pycopenvswitch.pyopenvswitch.pycopkg.pyopkg.pycopsgenie.pyopsgenie.pycoracle.pyoracle.pycosquery.pyosquery.pycout.pyout.pycpacman.pypacman.pycpagerduty.pypagerduty.pycpagerduty_util.pypagerduty_util.pycpam.pypam.pycpanos.pypanos.pycparallels.pyparallels.pycparted.pyparted.pycpcs.pypcs.pycpdbedit.pypdbedit.pycpecl.pypecl.pycphilips_hue.pyphilips_hue.pycpillar.pypillar.pycpip.pypip.pycpkg_resource.pypkg_resource.pycpkgin.pypkgin.pycpkgng.pypkgng.pycpkgutil.pypkgutil.pycportage_config.pyportage_config.pycpostfix.pypostfix.pycpostgres.pypostgres.pycpoudriere.pypoudriere.pycpowerpath.pypowerpath.pycproxy.pyproxy.pycps.pyps.pycpublish.pypublish.pycpuppet.pypuppet.pycpurefa.pypurefa.pycpushbullet.pypushbullet.pycpushover_notify.pypushover_notify.pycpw_group.pypw_group.pycpw_user.pypw_user.pycpyenv.pypyenv.pycqemu_img.pyqemu_img.pycqemu_nbd.pyqemu_nbd.pycquota.pyquota.pycrabbitmq.pyrabbitmq.pycraet_publish.pyraet_publish.pycrallydev.pyrallydev.pycrandom_org.pyrandom_org.pycrbac_solaris.pyrbac_solaris.pycrbenv.pyrbenv.pycrdp.pyrdp.pycredismod.pyredismod.pycreg.pyreg.pycrest_package.pyrest_package.pycrest_sample_utils.pyrest_sample_utils.pycrest_service.pyrest_service.pycrestartcheck.pyrestartcheck.pycret.pyret.pycrh_ip.pyrh_ip.pycrh_service.pyrh_service.pycriak.pyriak.pycrpm.pyrpm.pycrpmbuild.pyrpmbuild.pycrsync.pyrsync.pycrunit.pyrunit.pycrvm.pyrvm.pycs3.pys3.pycs6.pys6.pycsalt_proxy.pysalt_proxy.pycsaltcheck.pysaltcheck.pycsaltcloudmod.pysaltcloudmod.pycsaltsupport.pysaltsupport.pycsaltutil.pysaltutil.pycschedule.pyschedule.pycscsi.pyscsi.pycsdb.pysdb.pycseed.pyseed.pycselinux.pyselinux.pycsensehat.pysensehat.pycsensors.pysensors.pycserverdensity_device.pyserverdensity_device.pycservice.pyservice.pycservicenow.pyservicenow.pycshadow.pyshadow.pycslack_notify.pyslack_notify.pycslsutil.pyslsutil.pycsmartos_imgadm.pysmartos_imgadm.pycsmartos_nictagadm.pysmartos_nictagadm.pycsmartos_virt.pysmartos_virt.pycsmartos_vmadm.pysmartos_vmadm.pycsmbios.pysmbios.pycsmf.pysmf.pycsmtp.pysmtp.pycsnapper.pysnapper.pycsolaris_fmadm.pysolaris_fmadm.pycsolaris_group.pysolaris_group.pycsolaris_shadow.pysolaris_shadow.pycsolaris_system.pysolaris_system.pycsolaris_user.pysolaris_user.pycsolarisips.pysolarisips.pycsolarispkg.pysolarispkg.pycsolr.pysolr.pycsolrcloud.pysolrcloud.pycsplunk.pysplunk.pycsplunk_search.pysplunk_search.pycsqlite3.pysqlite3.pycssh.pyssh.pycssh_package.pyssh_package.pycssh_service.pyssh_service.pycstate.pystate.pycstatus.pystatus.pycstatuspage.pystatuspage.pycsupervisord.pysupervisord.pycsuse_apache.pysuse_apache.pycsvn.pysvn.pycswarm.pyswarm.pycswift.pyswift.pycsysbench.pysysbench.pycsysfs.pysysfs.pycsyslog_ng.pysyslog_ng.pycsysmod.pysysmod.pycsysrc.pysysrc.pycsystem.pysystem.pycsystem_profiler.pysystem_profiler.pycsystemd.pysystemd.pyctelegram.pytelegram.pyctelemetry.pytelemetry.pyctemp.pytemp.pyctest.pytest.pyctest_virtual.pytest_virtual.pyctestinframod.pytestinframod.pyctextfsm_mod.pytextfsm_mod.pyctimezone.pytimezone.pyctls.pytls.pyctomcat.pytomcat.pyctrafficserver.pytrafficserver.pyctravisci.pytravisci.pyctuned.pytuned.pyctwilio_notify.pytwilio_notify.pycudev.pyudev.pycupstart.pyupstart.pycuptime.pyuptime.pycuseradd.pyuseradd.pycuwsgi.pyuwsgi.pycvagrant.pyvagrant.pycvarnish.pyvarnish.pycvault.pyvault.pycvbox_guest.pyvbox_guest.pycvboxmanage.pyvboxmanage.pycvcenter.pyvcenter.pycvictorops.pyvictorops.pycvirt.pyvirt.pycvirtualenv_mod.pyvirtualenv_mod.pycvsphere.pyvsphere.pycwin_autoruns.pywin_autoruns.pycwin_certutil.pywin_certutil.pycwin_dacl.pywin_dacl.pycwin_disk.pywin_disk.pycwin_dism.pywin_dism.pycwin_dns_client.pywin_dns_client.pycwin_dsc.pywin_dsc.pycwin_file.pywin_file.pycwin_firewall.pywin_firewall.pycwin_groupadd.pywin_groupadd.pycwin_iis.pywin_iis.pycwin_ip.pywin_ip.pycwin_lgpo.pywin_lgpo.pycwin_license.pywin_license.pycwin_network.pywin_network.pycwin_ntp.pywin_ntp.pycwin_path.pywin_path.pycwin_pkg.pywin_pkg.pycwin_pki.pywin_pki.pycwin_powercfg.pywin_powercfg.pycwin_psget.pywin_psget.pycwin_repo.pywin_repo.pycwin_servermanager.pywin_servermanager.pycwin_service.pywin_service.pycwin_shadow.pywin_shadow.pycwin_smtp_server.pywin_smtp_server.pycwin_snmp.pywin_snmp.pycwin_status.pywin_status.pycwin_system.pywin_system.pycwin_task.pywin_task.pycwin_timezone.pywin_timezone.pycwin_update.pywin_update.pycwin_useradd.pywin_useradd.pycwin_wua.pywin_wua.pycwordpress.pywordpress.pycx509.pyx509.pycxapi.pyxapi.pycxbpspkg.pyxbpspkg.pycxfs.pyxfs.pycxmpp.pyxmpp.pycyumpkg.pyyumpkg.pyczabbix.pyzabbix.pyczcbuildout.pyzcbuildout.pyczenoss.pyzenoss.pyczfs.pyzfs.pyczk_concurrency.pyzk_concurrency.pycznc.pyznc.pyczoneadm.pyzoneadm.pyczonecfg.pyzonecfg.pyczookeeper.pyzookeeper.pyczpool.pyzpool.pyczypper.pyzypper.pycnetapi__init__.py__init__.pycrest_cherrypy__init__.py__init__.pycapp.pyapp.pycevent_processor.pyevent_processor.pyctools__init__.py__init__.pycwebsockets.pywebsockets.pycwsgi.pywsgi.pycrest_tornado__init__.py__init__.pycevent_processor.pyevent_processor.pycsaltnado.pysaltnado.pycsaltnado_websockets.pysaltnado_websockets.pycrest_wsgi.pyrest_wsgi.pycoutput__init__.py__init__.pychighstate.pyhighstate.pycjson_out.pyjson_out.pyckey.pykey.pycnested.pynested.pycnewline_values_only.pynewline_values_only.pycno_out.pyno_out.pycno_return.pyno_return.pycoverstatestage.pyoverstatestage.pycpony.pypony.pycpprint_out.pypprint_out.pycprofile.pyprofile.pycprogress.pyprogress.pycraw.pyraw.pyctable_out.pytable_out.pyctxt.pytxt.pycvirt_query.pyvirt_query.pycyaml_out.pyyaml_out.pycpayload.pypayload.pycpillar__init__.py__init__.pyccmd_json.pycmd_json.pyccmd_yaml.pycmd_yaml.pyccmd_yamlex.pycmd_yamlex.pyccobbler.pycobbler.pycconfidant.pyconfidant.pycconsul_pillar.pyconsul_pillar.pyccsvpillar.pycsvpillar.pycdigicert.pydigicert.pycdjango_orm.pydjango_orm.pycec2_pillar.pyec2_pillar.pycetcd_pillar.pyetcd_pillar.pycextra_minion_data_in_pillar.pyextra_minion_data_in_pillar.pycfile_tree.pyfile_tree.pycforeman.pyforeman.pycgit_pillar.pygit_pillar.pycgpg.pygpg.pychg_pillar.pyhg_pillar.pychiera.pyhiera.pychttp_json.pyhttp_json.pychttp_yaml.pyhttp_yaml.pyclibvirt.pylibvirt.pycmakostack.pymakostack.pycmongo.pymongo.pycmysql.pymysql.pycnacl.pynacl.pycneutron.pyneutron.pycnodegroups.pynodegroups.pycpepa.pypepa.pycpillar_ldap.pypillar_ldap.pycpostgres.pypostgres.pycpuppet.pypuppet.pycreclass_adapter.pyreclass_adapter.pycredismod.pyredismod.pycrethinkdb_pillar.pyrethinkdb_pillar.pycs3.pys3.pycsaltclass.pysaltclass.pycsql_base.pysql_base.pycsqlcipher.pysqlcipher.pycsqlite3.pysqlite3.pycstack.pystack.pycsvn_pillar.pysvn_pillar.pycvarstack_pillar.pyvarstack_pillar.pycvault.pyvault.pycvenafi.pyvenafi.pycvirtkey.pyvirtkey.pycvmware_pillar.pyvmware_pillar.pycproxy__init__.py__init__.pycchronos.pychronos.pyccimc.pycimc.pyccisconso.pycisconso.pycdummy.pydummy.pycesxcluster.pyesxcluster.pycesxdatacenter.pyesxdatacenter.pycesxi.pyesxi.pycesxvm.pyesxvm.pycfx2.pyfx2.pycjunos.pyjunos.pycmarathon.pymarathon.pycnapalm.pynapalm.pycnxos.pynxos.pycpanos.pypanos.pycphilips_hue.pyphilips_hue.pycrest_sample.pyrest_sample.pycssh_sample.pyssh_sample.pycvcenter.pyvcenter.pycqueues__init__.py__init__.pycpgjsonb_queue.pypgjsonb_queue.pycsqlite_queue.pysqlite_queue.pycrenderers__init__.py__init__.pyccheetah.pycheetah.pycdson.pydson.pycgenshi.pygenshi.pycgpg.pygpg.pychjson.pyhjson.pycjinja.pyjinja.pycjson.pyjson.pycjson5.pyjson5.pycmako.pymako.pycmsgpack.pymsgpack.pycnacl.pynacl.pycpass.pypass.pycpy.pypy.pycpydsl.pypydsl.pycpyobjects.pypyobjects.pycstateconf.pystateconf.pycwempy.pywempy.pycyaml.pyyaml.pycyamlex.pyyamlex.pycreturners__init__.py__init__.pyccarbon_return.pycarbon_return.pyccassandra_cql_return.pycassandra_cql_return.pyccassandra_return.pycassandra_return.pyccouchbase_return.pycouchbase_return.pyccouchdb_return.pycouchdb_return.pycdjango_return.pydjango_return.pycelasticsearch_return.pyelasticsearch_return.pycetcd_return.pyetcd_return.pychighstate_return.pyhighstate_return.pychipchat_return.pyhipchat_return.pycinfluxdb_return.pyinfluxdb_return.pyckafka_return.pykafka_return.pyclibrato_return.pylibrato_return.pyclocal.pylocal.pyclocal_cache.pylocal_cache.pycmattermost_returner.pymattermost_returner.pycmemcache_return.pymemcache_return.pycmongo_future_return.pymongo_future_return.pycmongo_return.pymongo_return.pycmulti_returner.pymulti_returner.pycmysql.pymysql.pycnagios_return.pynagios_return.pycodbc.pyodbc.pycpgjsonb.pypgjsonb.pycpostgres.pypostgres.pycpostgres_local_cache.pypostgres_local_cache.pycpushover_returner.pypushover_returner.pycrawfile_json.pyrawfile_json.pycredis_return.pyredis_return.pycsentry_return.pysentry_return.pycslack_returner.pyslack_returner.pycsms_return.pysms_return.pycsmtp_return.pysmtp_return.pycsplunk.pysplunk.pycsqlite3_return.pysqlite3_return.pycsyslog_return.pysyslog_return.pyctelegram_return.pytelegram_return.pycxmpp_return.pyxmpp_return.pyczabbix_return.pyzabbix_return.pycroster__init__.py__init__.pycansible.pyansible.pyccache.pycache.pyccloud.pycloud.pycclustershell.pyclustershell.pycflat.pyflat.pycrange.pyrange.pycscan.pyscan.pycsshconfig.pysshconfig.pycrunner.pyrunner.pycrunners__init__.py__init__.pycasam.pyasam.pycauth.pyauth.pycbgp.pybgp.pyccache.pycache.pyccloud.pycloud.pycconfig.pyconfig.pycddns.pyddns.pycdigicertapi.pydigicertapi.pycdoc.pydoc.pycdrac.pydrac.pycerror.pyerror.pycevent.pyevent.pycf5.pyf5.pycfileserver.pyfileserver.pycgit_pillar.pygit_pillar.pychttp.pyhttp.pycjobs.pyjobs.pyclaunchd.pylaunchd.pyclxc.pylxc.pycmanage.pymanage.pycmattermost.pymattermost.pycmine.pymine.pycnacl.pynacl.pycnet.pynet.pycnetwork.pynetwork.pycpagerduty.pypagerduty.pycpillar.pypillar.pycpkg.pypkg.pycqueue.pyqueue.pycreactor.pyreactor.pycsalt.pysalt.pycsaltutil.pysaltutil.pycsdb.pysdb.pycsmartos_vmadm.pysmartos_vmadm.pycspacewalk.pyspacewalk.pycssh.pyssh.pycstate.pystate.pycsurvey.pysurvey.pyctest.pytest.pycthin.pythin.pycvault.pyvault.pycvenafiapi.pyvenafiapi.pycvirt.pyvirt.pycvistara.pyvistara.pycwinrepo.pywinrepo.pycscripts.pyscripts.pycsdb__init__.py__init__.pyccache.pycache.pycconfidant.pyconfidant.pycconsul.pyconsul.pyccouchdb.pycouchdb.pycenv.pyenv.pycetcd_db.pyetcd_db.pyckeyring_db.pykeyring_db.pycmemcached.pymemcached.pycrest.pyrest.pycsqlite3.pysqlite3.pyctism.pytism.pycvault.pyvault.pycyaml.pyyaml.pycserializers__init__.py__init__.pycconfigparser.pyconfigparser.pycjson.pyjson.pycmsgpack.pymsgpack.pycpython.pypython.pyctoml.pytoml.pycyaml.pyyaml.pycyamlex.pyyamlex.pycspm__init__.py__init__.pycpkgdb__init__.py__init__.pycsqlite3.pysqlite3.pycpkgfiles__init__.py__init__.pyclocal.pylocal.pycstate.pystate.pycstates__init__.py__init__.pycacme.pyacme.pycalias.pyalias.pycalternatives.pyalternatives.pycansiblegate.pyansiblegate.pycapache.pyapache.pycapache_conf.pyapache_conf.pycapache_module.pyapache_module.pycapache_site.pyapache_site.pycaptpkg.pyaptpkg.pycarchive.pyarchive.pycartifactory.pyartifactory.pycat.pyat.pycaugeas.pyaugeas.pycaws_sqs.pyaws_sqs.pycbeacon.pybeacon.pycbigip.pybigip.pycblockdev.pyblockdev.pycboto3_elasticache.pyboto3_elasticache.pycboto3_route53.pyboto3_route53.pycboto3_sns.pyboto3_sns.pycboto_apigateway.pyboto_apigateway.pycboto_asg.pyboto_asg.pycboto_cfn.pyboto_cfn.pycboto_cloudfront.pyboto_cloudfront.pycboto_cloudtrail.pyboto_cloudtrail.pycboto_cloudwatch_alarm.pyboto_cloudwatch_alarm.pycboto_cloudwatch_event.pyboto_cloudwatch_event.pycboto_cognitoidentity.pyboto_cognitoidentity.pycboto_datapipeline.pyboto_datapipeline.pycboto_dynamodb.pyboto_dynamodb.pycboto_ec2.pyboto_ec2.pycboto_elasticache.pyboto_elasticache.pycboto_elasticsearch_domain.pyboto_elasticsearch_domain.pycboto_elb.pyboto_elb.pycboto_elbv2.pyboto_elbv2.pycboto_iam.pyboto_iam.pycboto_iam_role.pyboto_iam_role.pycboto_iot.pyboto_iot.pycboto_kinesis.pyboto_kinesis.pycboto_kms.pyboto_kms.pycboto_lambda.pyboto_lambda.pycboto_lc.pyboto_lc.pycboto_rds.pyboto_rds.pycboto_route53.pyboto_route53.pycboto_s3.pyboto_s3.pycboto_s3_bucket.pyboto_s3_bucket.pycboto_secgroup.pyboto_secgroup.pycboto_sns.pyboto_sns.pycboto_sqs.pyboto_sqs.pycboto_vpc.pyboto_vpc.pycbower.pybower.pyccabal.pycabal.pycceph.pyceph.pycchef.pychef.pycchocolatey.pychocolatey.pycchronos_job.pychronos_job.pyccimc.pycimc.pyccisconso.pycisconso.pyccloud.pycloud.pyccmd.pycmd.pyccomposer.pycomposer.pyccron.pycron.pyccryptdev.pycryptdev.pyccsf.pycsf.pyccyg.pycyg.pycddns.pyddns.pycdebconfmod.pydebconfmod.pycdellchassis.pydellchassis.pycdisk.pydisk.pycdocker.pydocker.pycdocker_container.pydocker_container.pycdocker_image.pydocker_image.pycdocker_network.pydocker_network.pycdocker_volume.pydocker_volume.pycdrac.pydrac.pycdvs.pydvs.pycelasticsearch.pyelasticsearch.pycelasticsearch_index.pyelasticsearch_index.pycelasticsearch_index_template.pyelasticsearch_index_template.pycenviron.pyenviron.pyceselect.pyeselect.pycesxcluster.pyesxcluster.pycesxdatacenter.pyesxdatacenter.pycesxi.pyesxi.pycesxvm.pyesxvm.pycetcd_mod.pyetcd_mod.pycethtool.pyethtool.pycevent.pyevent.pycfile.pyfile.pycfirewall.pyfirewall.pycfirewalld.pyfirewalld.pycgem.pygem.pycgit.pygit.pycgithub.pygithub.pycglance.pyglance.pycglance_image.pyglance_image.pycglassfish.pyglassfish.pycglusterfs.pyglusterfs.pycgnomedesktop.pygnomedesktop.pycgpg.pygpg.pycgrafana.pygrafana.pycgrafana4_dashboard.pygrafana4_dashboard.pycgrafana4_datasource.pygrafana4_datasource.pycgrafana4_org.pygrafana4_org.pycgrafana4_user.pygrafana4_user.pycgrafana_dashboard.pygrafana_dashboard.pycgrafana_datasource.pygrafana_datasource.pycgrains.pygrains.pycgroup.pygroup.pycheat.pyheat.pychg.pyhg.pychighstate_doc.pyhighstate_doc.pychipchat.pyhipchat.pychost.pyhost.pychtpasswd.pyhtpasswd.pychttp.pyhttp.pycicinga2.pyicinga2.pycifttt.pyifttt.pycincron.pyincron.pycinfluxdb08_database.pyinfluxdb08_database.pycinfluxdb08_user.pyinfluxdb08_user.pycinfluxdb_continuous_query.pyinfluxdb_continuous_query.pycinfluxdb_database.pyinfluxdb_database.pycinfluxdb_retention_policy.pyinfluxdb_retention_policy.pycinfluxdb_user.pyinfluxdb_user.pycinfoblox_a.pyinfoblox_a.pycinfoblox_cname.pyinfoblox_cname.pycinfoblox_host_record.pyinfoblox_host_record.pycinfoblox_range.pyinfoblox_range.pycini_manage.pyini_manage.pycipmi.pyipmi.pycipset.pyipset.pyciptables.pyiptables.pycjboss7.pyjboss7.pycjenkins.pyjenkins.pycjunos.pyjunos.pyck8s.pyk8s.pyckapacitor.pykapacitor.pyckernelpkg.pykernelpkg.pyckeyboard.pykeyboard.pyckeystone.pykeystone.pyckeystone_domain.pykeystone_domain.pyckeystone_endpoint.pykeystone_endpoint.pyckeystone_group.pykeystone_group.pyckeystone_project.pykeystone_project.pyckeystone_role.pykeystone_role.pyckeystone_role_grant.pykeystone_role_grant.pyckeystone_service.pykeystone_service.pyckeystone_user.pykeystone_user.pyckmod.pykmod.pyckubernetes.pykubernetes.pyclayman.pylayman.pycldap.pyldap.pyclibcloud_dns.pylibcloud_dns.pyclibcloud_loadbalancer.pylibcloud_loadbalancer.pyclibcloud_storage.pylibcloud_storage.pyclinux_acl.pylinux_acl.pyclocale.pylocale.pyclogadm.pylogadm.pyclogrotate.pylogrotate.pycloop.pyloop.pyclvm.pylvm.pyclvs_server.pylvs_server.pyclvs_service.pylvs_service.pyclxc.pylxc.pycmac_assistive.pymac_assistive.pycmac_defaults.pymac_defaults.pycmac_keychain.pymac_keychain.pycmac_package.pymac_package.pycmac_xattr.pymac_xattr.pycmakeconf.pymakeconf.pycmarathon_app.pymarathon_app.pycmdadm.pymdadm.pycmemcached.pymemcached.pycmodjk.pymodjk.pycmodjk_worker.pymodjk_worker.pycmodule.pymodule.pycmongodb_database.pymongodb_database.pycmongodb_user.pymongodb_user.pycmonit.pymonit.pycmount.pymount.pycmssql_database.pymssql_database.pycmssql_login.pymssql_login.pycmssql_role.pymssql_role.pycmssql_user.pymssql_user.pycmsteams.pymsteams.pycmysql_database.pymysql_database.pycmysql_grants.pymysql_grants.pycmysql_query.pymysql_query.pycmysql_user.pymysql_user.pycnetacl.pynetacl.pycnetconfig.pynetconfig.pycnetntp.pynetntp.pycnetsnmp.pynetsnmp.pycnetusers.pynetusers.pycnetwork.pynetwork.pycnetyang.pynetyang.pycneutron_network.pyneutron_network.pycneutron_secgroup.pyneutron_secgroup.pycneutron_secgroup_rule.pyneutron_secgroup_rule.pycneutron_subnet.pyneutron_subnet.pycnexus.pynexus.pycnfs_export.pynfs_export.pycnftables.pynftables.pycnpm.pynpm.pycntp.pyntp.pycnxos.pynxos.pycopenstack_config.pyopenstack_config.pycopenvswitch_bridge.pyopenvswitch_bridge.pycopenvswitch_port.pyopenvswitch_port.pycopsgenie.pyopsgenie.pycpagerduty.pypagerduty.pycpagerduty_escalation_policy.pypagerduty_escalation_policy.pycpagerduty_schedule.pypagerduty_schedule.pycpagerduty_service.pypagerduty_service.pycpagerduty_user.pypagerduty_user.pycpanos.pypanos.pycpbm.pypbm.pycpcs.pypcs.pycpdbedit.pypdbedit.pycpecl.pypecl.pycpip_state.pypip_state.pycpkg.pypkg.pycpkgbuild.pypkgbuild.pycpkgng.pypkgng.pycpkgrepo.pypkgrepo.pycportage_config.pyportage_config.pycports.pyports.pycpostgres_cluster.pypostgres_cluster.pycpostgres_database.pypostgres_database.pycpostgres_extension.pypostgres_extension.pycpostgres_group.pypostgres_group.pycpostgres_initdb.pypostgres_initdb.pycpostgres_language.pypostgres_language.pycpostgres_privileges.pypostgres_privileges.pycpostgres_schema.pypostgres_schema.pycpostgres_tablespace.pypostgres_tablespace.pycpostgres_user.pypostgres_user.pycpowerpath.pypowerpath.pycprobes.pyprobes.pycprocess.pyprocess.pycproxy.pyproxy.pycpushover.pypushover.pycpyenv.pypyenv.pycpyrax_queues.pypyrax_queues.pycquota.pyquota.pycrabbitmq_cluster.pyrabbitmq_cluster.pycrabbitmq_plugin.pyrabbitmq_plugin.pycrabbitmq_policy.pyrabbitmq_policy.pycrabbitmq_user.pyrabbitmq_user.pycrabbitmq_vhost.pyrabbitmq_vhost.pycrbac_solaris.pyrbac_solaris.pycrbenv.pyrbenv.pycrdp.pyrdp.pycredismod.pyredismod.pycreg.pyreg.pycrsync.pyrsync.pycrvm.pyrvm.pycsalt_proxy.pysalt_proxy.pycsaltmod.pysaltmod.pycsaltsupport.pysaltsupport.pycschedule.pyschedule.pycselinux.pyselinux.pycserverdensity_device.pyserverdensity_device.pycservice.pyservice.pycslack.pyslack.pycsmartos.pysmartos.pycsmtp.pysmtp.pycsnapper.pysnapper.pycsolrcloud.pysolrcloud.pycsplunk.pysplunk.pycsplunk_search.pysplunk_search.pycsqlite3.pysqlite3.pycssh_auth.pyssh_auth.pycssh_known_hosts.pyssh_known_hosts.pycstateconf.pystateconf.pycstatus.pystatus.pycstatuspage.pystatuspage.pycsupervisord.pysupervisord.pycsvn.pysvn.pycsysctl.pysysctl.pycsyslog_ng.pysyslog_ng.pycsysrc.pysysrc.pyctelemetry_alert.pytelemetry_alert.pyctest.pytest.pyctestinframod.pytestinframod.pyctimezone.pytimezone.pyctls.pytls.pyctomcat.pytomcat.pyctrafficserver.pytrafficserver.pyctuned.pytuned.pycuptime.pyuptime.pycuser.pyuser.pycvagrant.pyvagrant.pycvault.pyvault.pycvbox_guest.pyvbox_guest.pycvictorops.pyvictorops.pycvirt.pyvirt.pycvirtualenv_mod.pyvirtualenv_mod.pycwin_certutil.pywin_certutil.pycwin_dacl.pywin_dacl.pycwin_dism.pywin_dism.pycwin_dns_client.pywin_dns_client.pycwin_firewall.pywin_firewall.pycwin_iis.pywin_iis.pycwin_lgpo.pywin_lgpo.pycwin_license.pywin_license.pycwin_network.pywin_network.pycwin_path.pywin_path.pycwin_pki.pywin_pki.pycwin_powercfg.pywin_powercfg.pycwin_servermanager.pywin_servermanager.pycwin_smtp_server.pywin_smtp_server.pycwin_snmp.pywin_snmp.pycwin_system.pywin_system.pycwin_update.pywin_update.pycwin_wua.pywin_wua.pycwinrepo.pywinrepo.pycwordpress.pywordpress.pycx509.pyx509.pycxmpp.pyxmpp.pyczabbix_host.pyzabbix_host.pyczabbix_hostgroup.pyzabbix_hostgroup.pyczabbix_mediatype.pyzabbix_mediatype.pyczabbix_user.pyzabbix_user.pyczabbix_usergroup.pyzabbix_usergroup.pyczabbix_usermacro.pyzabbix_usermacro.pyczcbuildout.pyzcbuildout.pyczenoss.pyzenoss.pyczfs.pyzfs.pyczk_concurrency.pyzk_concurrency.pyczone.pyzone.pyczookeeper.pyzookeeper.pyczpool.pyzpool.pycsyspaths.pysyspaths.pyctemplate.pytemplate.pyctemplates__init__.py__init__.pycdebian_ipconf.jinjadebian_eth.jinjadebian_ppp_eth.jinjadebian_source.jinjadisplay-network.jinjanetwork.jinjaroute_eth.jinjagitssh-id-wrapperssh-id-wrapper.batlxcsalt_tarballrh_ipconf.jinjanetwork.jinjarh5_eth.jinjarh6_eth.jinjarh6_route_eth.jinjarh7_eth.jinjaroute_eth.jinjavirtlibvirt_domain.jinjalibvirt_volume.jinjatextformat.pytextformat.pycthorium__init__.py__init__.pyccalc.pycalc.pyccheck.pycheck.pycfile.pyfile.pyckey.pykey.pyclocal.pylocal.pycreg.pyreg.pycrunner.pyrunner.pycstatus.pystatus.pyctimer.pytimer.pycwheel.pywheel.pyctokens__init__.py__init__.pyclocalfs.pylocalfs.pycrediscluster.pyrediscluster.pyctops__init__.py__init__.pyccobbler.pycobbler.pycext_nodes.pyext_nodes.pycmongo.pymongo.pycreclass_adapter.pyreclass_adapter.pycsaltclass.pysaltclass.pycvarstack.pyvarstack.pyctransport__init__.py__init__.pycclient.pyclient.pycframe.pyframe.pycipc.pyipc.pyclocal.pylocal.pycmixins__init__.py__init__.pycauth.pyauth.pycraet.pyraet.pycserver.pyserver.pyctcp.pytcp.pyczeromq.pyzeromq.pycutils__init__.py__init__.pycaggregation.pyaggregation.pycargs.pyargs.pycasynchronous.pyasynchronous.pycatomicfile.pyatomicfile.pycaws.pyaws.pycboto.pyboto.pycboto3.pyboto3.pycboto_elb_tag.pyboto_elb_tag.pyccache.pycache.pyccloud.pycloud.pyccolor.pycolor.pyccompat.pycompat.pycconfigcomparer.pyconfigcomparer.pycconfigparser.pyconfigparser.pyccontext.pycontext.pyccrypt.pycrypt.pycdata.pydata.pycdateutils.pydateutils.pycdebug.pydebug.pycdecorators__init__.py__init__.pycjinja.pyjinja.pycpath.pypath.pycsignature.pysignature.pycstate.pystate.pycdictdiffer.pydictdiffer.pycdicttrim.pydicttrim.pycdictupdate.pydictupdate.pycdns.pydns.pycdoc.pydoc.pycdocker__init__.py__init__.pyctranslate__init__.py__init__.pyccontainer.pycontainer.pychelpers.pyhelpers.pycnetwork.pynetwork.pycerror.pyerror.pycetcd_util.pyetcd_util.pycevent.pyevent.pycextend.pyextend.pycextmods.pyextmods.pycfilebuffer.pyfilebuffer.pycfiles.pyfiles.pycfind.pyfind.pycfsutils.pyfsutils.pycfunctools.pyfunctools.pycgitfs.pygitfs.pycgithub.pygithub.pycgzip_util.pygzip_util.pychashutils.pyhashutils.pychttp.pyhttp.pyciam.pyiam.pycimmutabletypes.pyimmutabletypes.pycitertools.pyitertools.pycjid.pyjid.pycjinja.pyjinja.pycjob.pyjob.pycjson.pyjson.pyckickstart.pykickstart.pyckinds.pykinds.pyclazy.pylazy.pyclistdiffer.pylistdiffer.pyclocales.pylocales.pycmac_utils.pymac_utils.pycmako.pymako.pycmaster.pymaster.pycmattermost.pymattermost.pycmemcached.pymemcached.pycmigrations.pymigrations.pycminion.pyminion.pycminions.pyminions.pycmount.pymount.pycmsazure.pymsazure.pycnamecheap.pynamecheap.pycnapalm.pynapalm.pycnb_popen.pynb_popen.pycnetwork.pynetwork.pycodict.pyodict.pycopenstack__init__.py__init__.pycneutron.pyneutron.pycnova.pynova.pycpyrax__init__.py__init__.pycauthenticate.pyauthenticate.pycqueues.pyqueues.pycswift.pyswift.pycoset.pyoset.pycpagerduty.pypagerduty.pycparsers.pyparsers.pycpath.pypath.pycpbm.pypbm.pycpkg__init__.py__init__.pycdeb.pydeb.pycrpm.pyrpm.pycwin.pywin.pycplatform.pyplatform.pycpowershell.pypowershell.pycpreseed.pypreseed.pycprocess.pyprocess.pycprofile.pyprofile.pycpsutil_compat.pypsutil_compat.pycpushover.pypushover.pycpycrypto.pypycrypto.pycpydsl.pypydsl.pycpyobjects.pypyobjects.pycraetevent.pyraetevent.pycraetlane.pyraetlane.pycreactor.pyreactor.pycreclass.pyreclass.pycrsax931.pyrsax931.pycs3.pys3.pycsaltclass.pysaltclass.pycsanitizers.pysanitizers.pycschedule.pyschedule.pycschema.pyschema.pycsdb.pysdb.pycslack.pyslack.pycsmb.pysmb.pycsmtp.pysmtp.pycssdp.pyssdp.pycssh.pyssh.pycstate.pystate.pycstringio.pystringio.pycstringutils.pystringutils.pycsystemd.pysystemd.pyctemplates.pytemplates.pycthin.pythin.pyctimed_subprocess.pytimed_subprocess.pyctimeout.pytimeout.pycurl.pyurl.pycuser.pyuser.pycvalidate__init__.py__init__.pycnet.pynet.pycpath.pypath.pycuser.pyuser.pycvalue.pyvalue.pycvault.pyvault.pycverify.pyverify.pycversions.pyversions.pycvirt.pyvirt.pycvirtualbox.pyvirtualbox.pycvmware.pyvmware.pycvsan.pyvsan.pycvt.pyvt.pycvt_helper.pyvt_helper.pycwin_dacl.pywin_dacl.pycwin_functions.pywin_functions.pycwin_osinfo.pywin_osinfo.pycwin_runas.pywin_runas.pycwin_update.pywin_update.pycwinapi.pywinapi.pycxdg.pyxdg.pycxmlutil.pyxmlutil.pycyaml.pyyaml.pycyamldumper.pyyamldumper.pycyamlencoding.pyyamlencoding.pycyamlloader.pyyamlloader.pycyast.pyyast.pyczeromq.pyzeromq.pycversion.pyversion.pycwheel__init__.py__init__.pycconfig.pyconfig.pycerror.pyerror.pycfile_roots.pyfile_roots.pyckey.pykey.pycminions.pyminions.pycpillar_roots.pypillar_roots.pyc/usr/lib/python2.7/site-packages//usr/lib/python2.7/site-packages/salt//usr/lib/python2.7/site-packages/salt/acl//usr/lib/python2.7/site-packages/salt/auth//usr/lib/python2.7/site-packages/salt/beacons//usr/lib/python2.7/site-packages/salt/cache//usr/lib/python2.7/site-packages/salt/cli//usr/lib/python2.7/site-packages/salt/cli/support//usr/lib/python2.7/site-packages/salt/cli/support/profiles//usr/lib/python2.7/site-packages/salt/client//usr/lib/python2.7/site-packages/salt/client/raet//usr/lib/python2.7/site-packages/salt/client/ssh//usr/lib/python2.7/site-packages/salt/client/ssh/wrapper//usr/lib/python2.7/site-packages/salt/cloud//usr/lib/python2.7/site-packages/salt/cloud/clouds//usr/lib/python2.7/site-packages/salt/config//usr/lib/python2.7/site-packages/salt/config/schemas//usr/lib/python2.7/site-packages/salt/daemons//usr/lib/python2.7/site-packages/salt/daemons/flo//usr/lib/python2.7/site-packages/salt/daemons/test//usr/lib/python2.7/site-packages/salt/daemons/test/plan//usr/lib/python2.7/site-packages/salt/defaults//usr/lib/python2.7/site-packages/salt/engines//usr/lib/python2.7/site-packages/salt/executors//usr/lib/python2.7/site-packages/salt/ext//usr/lib/python2.7/site-packages/salt/ext/vsan//usr/lib/python2.7/site-packages/salt/fileserver//usr/lib/python2.7/site-packages/salt/grains//usr/lib/python2.7/site-packages/salt/log//usr/lib/python2.7/site-packages/salt/log/handlers//usr/lib/python2.7/site-packages/salt/modules//usr/lib/python2.7/site-packages/salt/modules/inspectlib//usr/lib/python2.7/site-packages/salt/netapi//usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy//usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/tools//usr/lib/python2.7/site-packages/salt/netapi/rest_tornado//usr/lib/python2.7/site-packages/salt/output//usr/lib/python2.7/site-packages/salt/pillar//usr/lib/python2.7/site-packages/salt/proxy//usr/lib/python2.7/site-packages/salt/queues//usr/lib/python2.7/site-packages/salt/renderers//usr/lib/python2.7/site-packages/salt/returners//usr/lib/python2.7/site-packages/salt/roster//usr/lib/python2.7/site-packages/salt/runners//usr/lib/python2.7/site-packages/salt/sdb//usr/lib/python2.7/site-packages/salt/serializers//usr/lib/python2.7/site-packages/salt/spm//usr/lib/python2.7/site-packages/salt/spm/pkgdb//usr/lib/python2.7/site-packages/salt/spm/pkgfiles//usr/lib/python2.7/site-packages/salt/states//usr/lib/python2.7/site-packages/salt/templates//usr/lib/python2.7/site-packages/salt/templates/debian_ip//usr/lib/python2.7/site-packages/salt/templates/git//usr/lib/python2.7/site-packages/salt/templates/lxc//usr/lib/python2.7/site-packages/salt/templates/rh_ip//usr/lib/python2.7/site-packages/salt/templates/virt//usr/lib/python2.7/site-packages/salt/thorium//usr/lib/python2.7/site-packages/salt/tokens//usr/lib/python2.7/site-packages/salt/tops//usr/lib/python2.7/site-packages/salt/transport//usr/lib/python2.7/site-packages/salt/transport/mixins//usr/lib/python2.7/site-packages/salt/utils//usr/lib/python2.7/site-packages/salt/utils/decorators//usr/lib/python2.7/site-packages/salt/utils/docker//usr/lib/python2.7/site-packages/salt/utils/docker/translate//usr/lib/python2.7/site-packages/salt/utils/openstack//usr/lib/python2.7/site-packages/salt/utils/openstack/pyrax//usr/lib/python2.7/site-packages/salt/utils/pkg//usr/lib/python2.7/site-packages/salt/utils/validate//usr/lib/python2.7/site-packages/salt/wheel/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:9822/openSUSE_Leap_42.3_Update/b487da1873f5f2441e6c455a22a4321c-salt.openSUSE_Leap_42.3_Updatedrpmlzma5x86_64-suse-linux directoryASCII textPython script, UTF-8 Unicode text executablepython 2.7 byte-compiledPython script, ASCII text executableC++ source, ASCII textPython script, ASCII text executable, with very long linesUTF-8 Unicode textPOSIX shell script, ASCII text executablea /usr/bin/env sh script, ASCII text executableDOS batch file, ASCII text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRM!ث0~C# force re-generate a new thin.tgz rm -f /var/cache/salt/master/thin/version rm -f /var/cache/salt/minion/thin/version/bin/shpython-netaddrpython-timelibpython-gnupgpython-Mako?]"k%w#) H_iۊ.B=l;]t_?҇K' Rui W>[A1D.!6H1@ mw#$IW BY7ظ0gBkkW`MD(.9͖HgX_gTS?ɟD~9$o[r|wAQEGFJnE9qt#aXÈ\+QSQDjK[S"Щ|b5ɱ`Z<3eY&ciG&_Z{h`|- aī6z`8[XEh<#'ӥRWY^APAH62J)LrR+:aY(ޝޗAZ:i U=#ƚ%̞ %$Vo&si@\p BLb|n+U9?q'@$lmuj}*0,v Yc2hI[ͽ}!+1Z&Js>+%c<͉QC(Eh'qG&E2f/2Y5*>u-j{6 s9ʹhKk vGjhKoiԎ͙PR2'T%t}Ap4kgEچA/VzRR =jeѨrĵ&ޒd#@i3TJ⧔GH"jQ5"d-ԺXlv ^εR#F#v+Rq喬OΏ.(Y?|5":Îk%^bf7V/̬Pt!=a17{'hӧִ3j)J4XNDdGޕ}JOE 5Ew``m7Ck#Ae~}SE̹IIxKm2H|Y:{&рV:ŝyGSLZPY5OG:߬ΎÐE,oB m PD'ܴ˸|u&\أ)d>8Nlؓ9(0hrA˷n_] 6 ]r1.h)PyKM[ߐ_d1 /jY\{= LS篌ڎo&7|6vTpZSPeY(.YzYuE YV%# 4.[|X'ݼJ;~WԳ`#[Zr > 3_HRO =mF +v@@SS\şr*"w Ife< }oJ3c,5p"fZE&p0<;Ib^\8ˮ H3UX[JҔ,3`A>+ Bh_R'<~Ocz4TWOHFpM0Hnnܝ Z6 ",^mâAQ{ x@`&B LdaBd"!F'RCO9)0-K۠,L c Iwx*DV5=𱒯/P9܄G {g|ӽ%y}cn95w.SA԰ڻY8fd]<.PǪ'e;H3O1缿vtfu"KcwB(ڲ(3(]·jD>q _?h0/n9gbyĠ)!iiMt:/ʰJܤ Po'YѐQ,*5=%N])>%0sPޜˈ6쐸iR͍E-B  ,YH ]hYA]zf1Ƀ|A#M1C@D)R&^=K}Ň>_dRAWz{*^PW228ugk؂VR/ vJ05t=HA`=vm-3 * 0EOu;l5f[8і.R?|o'[nĐ)P7#D:#wR@8ANWZ*.YcF #<5טGˋۖx*.PIFV;G|<%GrZg62Ch]s8 趾`QY Jv.4B U!G.@On7?dS2EW1fJ= Sމ ڽ%v eh 3Q#…Ǹӟ7iQ o7(H1Wo9GPQӴ#ywås){8jJމ76_<> ?P0^l*7MkrI^+,^]_eP0˱ʛØzU~q r"Th m>7շ\_YtZJq:-(%Jc31*41V̔Ǒ0ӈPr<}hX= ,vX#LYj7Ơ72i>H-F JT ܀Ƿpž ZWOj%(ԉ)W?ԅ>#@' m2?@5%NߞgMbT4pt4>t3%GB:7@l.< i홉`xɭ8T8a-f61אMF̖NgR叕0[z2z"2QH 0C1u,Âm65 ~q֤ DM.7*I߷[ny1p3Le›5rad篿)=8eCR8,5gN 5'\pGVE&֭F#邠3!H25ڙP+{^a{0Xx&GTe7+Ə7e"G0)u|d搔 ^QhC"lIE&Ye4aƎ0jwkR?10R=W3i <=*iD1LB&'v z5l*]昛RXw K#(wh'=2/Yk ^z/h`_"uHC;=~Bw=i7־ӋH8MEeGgb"8r"ݠ  U2ЄF,V+/.Vp3gPrj}2.ezhgB4لmuX;3s`L0`Ri{qH`< ъި<Ł qҞ.O.)gZ3F^\Xw? "~yi> XE@ {m'f KT`oJj"vwp6[mMydC3ԉ T䦈޺iq=7(U4GƋ_Z&grqXoEUCMۊUu5 ~2[]Rm|;~0u,L mbj:&gJâ}]zG:~LmKi38z lDV=܎Qqsi `RA49daJK39y(_' g׽z//z[ ,rjfQh ~mmA2 k=A)++aL},ZΌPY-LCr*x>b4 )10ϘZ5ւ*"0(|U뉃$Lu 6p-Y< ٰ荸J3V>a7eAY%>>7$mdMF5+&1픯U\s̆?ABĻ. L3&O:^͝0]خgND9`Џ+ͱ^z yfE_.wƛ*]ϲ0 D}ͩOfgZ"EʢOeQl:}3Bm![ichrams9]^ ,\nJ6fܖ:?X*5i9M;>\$tYpS1tqOwV))]6zËkfWdф$8ӪsuY}#7ẌY-0֟PʳDxAls\G|Cw j=Jty }~O0ثv8fjhCVU1^A-ZRhRFg)B<_DjBG@329M$*G|h{̹4SW>ter䗧UY=5}AyڂP2A]'pό}WXZӦ`= d$Dj0߀%YP^X>!~Ze 7?A{)#2ߵ}aqEQ=xNΰh~\ f (_~oKxlD.ͧ> &;"72B.U#r:GOݹ (Bc7> ; ZBܦ呤.+L>vl$T+ì0Oag52/Ia Å"2– ْjέhNWcK s-ܯogpeZ>k)gʖ{` ]Ǡy$7+tU%`P?xZhH5Δ'Kh YIeHC[h%%A{<nO}5?0~ԝ<\ğ7e#:v[lI5V;+^LcLQW\x&4:4sc1{a j,up"ܩ::"Y<2O*Ĺ/T|'u4W=s:A]g->K ѿxZMr&žMͶ"ih*pm`lԝ6Vr6 s&+F]c50 >뢌vĿʆ2G(~W4_]f5GOܺs#%M @uCD-rIyز<-^XGliQed}L\-9pH3 :.hpPScQ`=|]&#Bzd/x}@yLJ휌ܓżӸRWH]Sk]"0`b^"|e۩ 1cZŭ ͵1|JqxO4cٷq*V{C?1  Dgq|2:.P JZ=-[p0XIMkJZy7IipK޸r@kY #Ft7uzwŢ6 Ba;dc!6^#` *PSB~2&KO,?EtZBO;r /xaI+SG"v}y@̲J_8X_~LhPWԳ r?]DOiUߴq4F#ԒY8`X o-<~gK-˶,RC%UՅ h2׭TT8p0En6xRɀ`c\b&PA󻅿%sY2pQKSg3]=yP]8¥p#'E9|jfA&$B,ڈ~-AíP[|]_VϼPgαDh`qf,djeh_鷞iPiNle NB[Xm " UOVj:. 2jŲQ;}e]ntukFoeyA4SMǮ*/Z1oOf+0ĠW*< qPtaX-kT_mmãwRsc1 L'@aG˙('g&&aA9P 9S;_k4?e,SP$/Q/vWxlؤ~yâV#.t6TMm__&M',%E+y"JS8܃`A3ĐlRWU Wb{Z`Nf]C&/F>ߩaiL}6pmչ\WV%uK` mq@KL]/ +.*ȋKD yTjM1`Kf9^菌  qg\bȲ NZs2xنWga{"o|ъ~L_`*v"N|)4 t8D_ivDd]nqsL`X 涥D@"JhǮ 4jSB!@~5Cy/hhTu!H*fq$>LOw/4` &""6pW-g}}>O̼\w3L?EL!Łq\}.ȘgH7 ![;01yۇ[g__r ou'9Z' 9(gTV:}#=׺;ў]9sov^rjÐ àHsޡ'=BlzS6^}q^A rUجbH%B(ݸԊ7Oab6Pq_S~b$ Eb'rr3^ վQiEm;FhR BJ/q-*!Ti7o(A6N@ }4xi{S߬ %&8x߁WP,LR^h/Q \~8OdXFa̍ p57omw0ʒ֚sD,YoHߧVAqGͻ%)R!N eQQ3G`3_U{}H^Ms">5E6T"^mVnD1W?(pKBgvˁc=go: h`B 1D!eVHٜ< *9gz2: wӼhU?INۖTU`@R+wӶ={JҪA|D-ؿr14c|DG5F^KFNv3cLHnGV|.VJ^ >0"$h)}ד>ڮWQ@V٨Xj]ym DZ_shMC209rեzs#}h=_dt߄J3ij3{RQ $/-d!Ce&&F#9VKy9/8TXK}9iMsQJ nb٠?FM$؄?=.?mX%i(#* VX|Hk;+Bopachҏ͓μ3'{(Fw]a0?9 8L@+»upW{2ע8|+O,ږq kOw(Zm&ѝilBiluNN|ᮏssʛ8 lC3xN rMy(8g|9 K]4H NGt[sX^`-35&xV?Qjz`z[.>%k8ػzgI.QڧfQ.#$')0֌ee/ںx+QԥZA! DmW##8`4q o KS~IrxJmGVdL%T9k|\cF8ϴN PJFyw./56O)t4̊4+4 44 s _6'~QEB_61 ȇ]^zT6Ãzp$qý1ߊ^FB?G#gmsno~z9As_ht fOU+*ҏ4`1;?M0PaqE?ʀURwN.*3,?R-(y:T'6w4hڗrmάXYr]@?Rp1܏4EeXu SU` ѩ+U3,'G2E\8--ѨvQ0F.x ,kVaDs&JĆѝMb ƗnjtՎ"u.o2u# #fAg᾿؍^}JoH,7TCYCRTj܆9,^ :[j X∏ V.#~͡VUs _¢@z6kFOW+{%oϲMY( 30W N)3M" MBnha&GiiE7ܽZiIԥT,%=fsä:Cs1?d$Tm2kzq])Fh5!*ܖ1.e%Rق"_0x>ɇ(h7DDZ&~ML L}>4xRmMX;KFvUW1ܢ#1e6i'mSkINO"as8_f8 zIFl;oMgopK0vMɩn(5&jj-4m'?(3NR Τ䏻U6S rԚ3ꁩٙc`Ž)ޯ|q?܃ fhxilvKWQ"m{Z wQ#٬"F9tΪ2[*POVS*WlVB-ᱛvVXDFx>gT4:WI-tOge ѓpYD\^{~3ҞP{BqI64C^ Ğc2V87"Ƈ? 26 1Q a[5 X8D#aox'fB4GR7du"& SI6ymO.Zm+~Q~)P٪C8L$j01LlB̔il1_nX7GC GU ~J"0Jrv^ɃQ ~!vh^J݊u)T2&BOO~}'݆DP2:PN^OJryDU]#wWڍP!*(53䱓T9K{U/tlcdG6؇PJVw!dOMt9ek'Ε%5H!?8uN;I?NLs܈l7mS!I(KQ︒xdQƩwb q3x2),LPmt^ \=B{vAuu " ,w+XAT#X(1[Um3Ko:}nb\T~| r!Aۉ >(ǹ R,舶N\egmG`=>S'l0"&jjcMl>Yl>?U틑m.cR+)FmMtD1 CL-{D_8m"C9jy$;{}@3R?960?)T\LE`prXXa⬷5螬Q敵DM7_7|^ƕRaosCBVKj. ' Ox 1O ajL)C LzDɒ䅪pа2& 5oZhL%uywiYv996tXhgFtƘwM('Hߏ&H"yulcEL/v/&ͿWztI7/: M떽efqB]!ASAB 4OuA6!O>`ɨ2b.LmQI)P V Wt1(&O2I}]G }z!Pg*]n~}3gqQ%G/S„l٪fawwLs>qumٔ3i7~QlO DžׅQ3ma/d aMl475}x`ܡlYP\+#v{8) S|ܙhQ3?LqlI)U2chz %yuQqOsyËf9dP[l&C&M%WC¿( ަk68)0k]`:(3%R("+ɾZC1Шx daJl.o>JG >c z4b 1>Cj.r~~)CYS$)Glu[LnكԻ\9{ % pB#nFQJZ mP B2>R- ,|YaOZ#[?6&\/>E}anl4⌈E5)O6c*4h0ʵnUї񰂫kM|U='l͠ol8xmWv ҳ} N1 GRF_1).I5&6 ~:_>?G{ (6=GPAPzjף WwUhtk¶jdj>jig|*60K}nP>/h8 hcNÀq)E;)J0?s7jQ}S:Z: 6ĪVs6 I\y,j[6ץ+Fb'jz05hIx \U8`{=/zhwPq xtud,$̌(vh$i1ZO#7:2} Ud JSb)Eg!"6kR̫#e`'^ ~$=B=xhFl.;[]Kx ops!a/e3zv*7+tۓW +|V8oe٥a5|o3XjLNyt_,-+Z#յQ)C ׄ٪Q^T0TU(f7jj1 ]D/A&*{:T W@-[0xi٬>.@}jW]((BV{A\N<_KoAy9 N>0E>N 4/*nHi?U?~q2WR`E*q(`.3'53@f l#0\V!Ng" ʘ U2Eyq[l B#WP@>,GX#/4jj-W~aF c?z]ϕkY][]v&^\$ !BH¯v]w_ G 31ׅR.E >Pf. X$J݁j ~nY$˛ Č@jMLv{ c)qdPoPogL-"q*d G#φuyz#NSmI lS)\bXBiGA#eJ!4gP{wO7 o39`u7S6:4FEiac_"8_H4iWϟC6 m=Cf"\=Iv3%l) * yǤ>)[m:]%N$ ?U1!ͮ"[A˚SI@/A^W̺`$>UM_̍4lhҗ}ZRcu]){K~J̵~c[3&˳*s2hC-,;g2J Zm!qYkC){_ N0Dh _?Z)HDh)?~LUȣ 4a#zȁ/iQ<<z> )vb8 N_DxdeHV>J${TLDw CE52e h7E5ֺIM^-滼A%f ,g ?4^(_:w؊12H7#AXcs4bR*ZE&sH@d %#i}N|mnQTtz;f@Ce-, =?Q=@{︄q-݌ ]_K֛p;X"z4F)YaLn%A!#iA;G˄C)Jto/Wǫoa!  qs2_#G3 _4;7H IҎ#\ЪN ;H)V7h*_%*f-Nz@dIݼ7VCPc:TPA+n'x╾$j/QdvS|[{GC7X},lH޼}C4< `ޓ#GRY*L(pYN9y TV@GnjfGxﻎ !z#/9l Zê3Ź.,RKi ynLJYY|Y_u="[YqCmlYYn'c$bWDE}xGwu'!l?b*ǟ1 Fy0m7V -wpO]=05WR(֦XBHА5[yiֲ!5Խkͫ4|dk+ۇF11n&"He$BU#P^—ѿɆӍl˾oXE6|Sc!]OU-#+jKo=W\xQ\djUm+Y|Q |Dz9x!kÈY RO#cd~3Jf-cX?D+hF=,/j8;4 fgQX-\P1 (M|THŵ|߲5og A;*'J8pIFO85!1RbP|[%F#L^YqA$ O($[L L{!8R QF)~uk%qv 8>ֺבfgP3/m-:g2h׻G1A9-9ߦЄr}T A_@2Zb8j (t,᫢C3*(=RSJ]}m,7ы0c qKSףM9r (lI3=ggONdxt.$%(t-0Cͥ#Jlj_:?e3$y*ê3"e0.C'yS hCEDx23rZ=)^ _5AdxPI=s#S3 Zuxe֢}2Ӣ8=cBAK{VceD]Dqzw0 hJ%@Z4Zs;"%ѡt wj'? u&K=%9Ӡe]4ŴA=s@P{ҢA 221MA <2Fc}T]]4[sv:Qpoxd?&^K2v>Њ t+lNL)5絷oz‚AvQ \WtC  &mZvzS!EbΏ3n[6ÿ́tުG(B+s8p