petsc-doc-3.12.2-lp152.2.3.1<>, _"j/=„!4!dR8OZ5ȸ" /{PyҖr7M؉s`s0\V!P !dK]ZS kу/6l8ǃ |(䚢h>_pT>K^:#-BQo6 2kX7lOUP7gmK!D}9 $U:j4[sYpC/@n&8ԱAsfG #h?0/USlA>)nƕo>; *? *xd   7lpx| cZc Rc c  c Gc Ȭc"8c'c8c[[[\C(\_8\h&9]&:`I&FvtGvcHcI )cX @Y @\ @c] c^ k+b 5c d qe vf yl {u ϐcv ) z * *( *, *2 *tCpetsc-doc3.12.2lp152.2.3.1Documentation for petscThis package contains the documentation for petsc._"jbuild81^LopenSUSE Leap 15.2openSUSEBSD-2-Clausehttp://bugs.opensuse.orgDocumentation/HTMLhttps://www.mcs.anl.gov/petsc/linuxnoarch ~-=,))>Yk2T8BG 4 <&-P$+0*C92t6$(#./)H yMf|Y`B B J } R " gN C ~ s>2     D L1l  )  I    o 1 % 0J V 1     G^Z 5 ' I p d )a 7 MR/] & 9  y7   ) 2  s *9 [ p t W T y S k  F 2   !  7  m  &   g TX ^ F {"  :  ( ' 3  -  5 r 2 p  } 0/ i ; g :  e Y f F |   R p K }q 9   ( H  ` 7 3 2  3 u ~ } Z n b iS b z-a s  > ; 4,v H_~ { 7jK cj p %"( P . Q ; T [ '   !HP  1 hQ S V W . 8 l 9 U ' \7  V   i4 - # ~  0 7 F R 2 l `S<M  &',)& r 1 + $ y (# B   u - wh ) +  9 /  x 9  G  S}  [ K BT   P ,  " T O j Q  ($L  t G  = t 1 a  u jN  SA# k a { _ W s   ; Znm  7 #,l  & B n  % ~  U   7 4 * !Tq  * Y #   LT b   v * OR n7  k e   {   m  ` b f , Q  Z| E = = D 7 L d [ X  p P  g ,  B   r O O A k "   Wt  D t 8   w #  c h  H v Iv G <   I A 6o '    q c L e K "  - S , F V g J; : X b 1 X f 9xgh  H y &  m.g[i  0S = #   M @ } s _  Q +] o &7 b # ]d&D[  N % 8  .:  J : . U M2e' ,  Y y *   ] 0 W4$s1 .. Z | 2  c U g2,3"D 1+,. _ 40%g V 2V 4 3<2$ 8!    j & O  K B  [  k %:    ki   vs " ] % C t c Z #  5 a @ ) 6 =m$ G1 U 2  / | mL  @    w ,! F     R  Sp ] Qn G  E  5=N =.l3$3 O D p MX   t | l ] B  u K * W   n F  K v ; LK  q [/#  F8Z@ .   f f ! 6 ] / B0 Et[g S C j~5 > J 7 `  vu  MFG - j n 0 e $B   N T;L c U 3 R \ "   U :  o S  ~8 ` A  !  T * a )T ~ zd ;` BG   o  H M p 0 Y *  > u /  c ; s }j [ P ` F|V %d   - 0  2  L G3!s`: j y  S \ + CR  JC J % 7  _ 5 0 _U  ^   9u r I %& Ep T _ " 3 G P  vs  T ]l s i d K ` S  ] ~F f  <K   M   I7 <   /  Ix B 0 # $9 { O c J G % #    3  l s J L  2 o s b  U  % a  M(  S ! / yx uUt  /,  j# p  I z @ &"% 1 ? D = L D :Q= aA( Sh =>^   < 0 s X  I B lu  o\   0  R;^f l  b  Na  4% .l  K 9 W0V * { e!-  t 2 ` 0 } , # 2G/26"% v1 8 3 Xh  3 v S #,{ JF V Qj 5 )*P" H d U E    { ;k (  u!s    A B  !  _  '  u Q Y Ba T! w #4   V P M     N B =  vh   : * u  E  " <  L: >  % f # d 3 3 Z w n ?x/7Rx  aa f   C  4 + %b N nZ !<e 6N ( z6  =o0U  *"v < S ! t f u  ' H . B"  b 2 v Xe$)4  K (    M!  o p c   ~X / / 1 ~ x Gs " kPB   A  ; X(}{6:% !D ": 3  B * dE  J )  R v  " 8  @ jUYrjAG =d 5 | ^ 4<  {} ( rm _ d q   * 9H ?   Y L   % ] l   o f %  X  D  `    4$J 0  + Y j F  /0 `GU ) l @(2  #h( | R Y  G  ' a vo  , V + 3 C  !) K G o g $U w ~ +  *r* H  M d   X  :_ : 0 ]  1-  v  3e ]   ;2 j [> . 2 \ / G > 9 ;  T 4? q c (Y z6  d RW  . z  [ j 4  e F % p t A Bp z N/ j $ Y O }  w g  B  ! FN  7 P  i ~  fC q  oy?  :  |i!z  7  K ? 1 w: P - /%"g w )" +%P] T Z ! 8- ;#&WJ   ( v!5 x E  }> c3 oP    L x , 8 U  O   _C  6 Ay 4 US  i Q   \ D m L      S   D v H Y " b D y w ] \      = 7 { u _ Z k \ 1  s  D  + } & ~$&"'=%r " F U'< Z Xr#  |.3 )   & ` n {P h < ; ?W f   Q r ([ 8 F j} 6 i = 'OU # @FD 5G   ' =   f  H [ Z - Z U h ] M F N A +:  * de ;b oz a O k "  t EK _'  g" *  p \ P y w  :   Q , @ Q H   < nt}  =V R 5 ` p* % #  \v  B  u U  Y~   1 ^ n  T~ _ " b _ .'V   C I `  ,VL Z / 5 f  - p7 6 s   &[ $ zo & l S 4 O   2  6| 8 V 'y-F 8  q   , 5 -l  Q 9 ]  R ! m 9  98) ^ = C p [ Y5VmpZghag ) 3   `   On   2 % @&OY @ > | H n h M  3 { | _ o v b / F_[ *  E z &C7 8 8 8 8 V V V V 1 w  8  nQ ycHp=V ( . 73 bT(   F z 0  i n>G | 2u P  ^  ! |9 c  p  h] ? S j O/ {dM  6G v  U g 2 p ; .   -    m mW x  y y  1 ' 6? R [F  |~ C F \    Qo0 `  Z Y  i   {B8 g r w *Gv 3 S fd Ydl  01/dv dN " 'a ?A 9Q ]  v= (? , R e   p <r  " ?l Y<  P e [  x ; Q   6 f ; ?L 2 _ lK C R } l  , Y h  P ) zT  m ~ r .h c [ -r r 0 H :   # O   >b  P Z   L  !3 2 ,> qc?~e  =N @ >D w b ~ )_Ms jI >= ;n qZU  7h l  O e  & 8 $ yc\  Z  }  Y |    a V (w >  ) I W 8 _  U h b C { V   Tq   a y ?=_  ' 0 XVVM ( 7 z g0[p 5 = 9- ^e '   EY,qT`eS 3 >  c ? ? | W ] } - } ~ _I eT O Nhf^Kx'qn!   , ] * :  ]  3  g   %     .>C a } D     T  iQ     N?b - ` /m  Jt: A: s2  /  8 ~ t  < O 1 B 2 a 1V 4 6 2  n q | R$ ] 5+Uk?K?K[ ( M *i } X : $   c ]  =  6X @  &A 8d  j 1  q  ` ! u  :8:``l \})* D g W e N-l 5a ^ ( p   r,Bu 5,! % 6 0 :H SX | + !yk sey w N } |Vz / f  ^A +   2` (   { a wMQ c " v  $b|U 1 nmax 0 h  5 x ' 7_ H $  e ! @Z% { | : L j f ) d :  LmZT 8   p  R -   At 0  AI* _)N sc$N { z+ 1 W  r   I w N T:G9P D- M $  lwO = n> V / # Z  $ A` u0C z D    |n   E3  n O Z'  0Qr65eE 3 F C . o : ) [D .  * #!  ZN @ D T U &$ *h4  F  k j  3 < 3[i  ~ t S1=6B [  \ V % Q! 2d >  : M 6   & uD  p | ] p  hx-v - (t * w9<M L P ! {; u  r{ 8 C  -  2 V # q Jx $ $   r ;u 1 xa 4 P 5 6u ?  y  # 5 { F >  > Ni  D d ZI , S  6N  a  < \ ` 8 @ Z k ( D#O Q    C)   8  2 T W 8 J Cu re >  P hu P{%( ,9T   = E < k ?b9:  s LVmxWA3IQ 3<IoP,SiBN QpDWXzyy Ptq {A큤A큤AA큤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큤_"Z]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]/]B=]B=]B=]/]B=]B=]/]BQ]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]BJ]BI]BI]BI]BI]BI]BI]BH]BJ]BI]BI]BI]BI]BI]BI]BI]BH]BI]BI]BI]BI]BI]BI]BJ]BI]BJ]BI]BI]BJ]BI]BI]BH]BJ]BI]BI]BI]BI]BI]BJ]BI]BJ]BI]BI]BI]BI]BI]BJ]BI]BI]BI]BI]BI]BI]BI]BJ]BI]BI]BI]BJ]BI]BJ]BI]BI]BI]BI]BI]BI]BI]BI]BI]BH]BH]BI]BI]BJ]BI]BI]BJ]BH]BI]BI]BI]BJ]BI]BI]BI]BI]BH]BI]BI]BJ]BI]BI]BI]BI]BI]BI]BI]BJ]BI]BI]BI]BJ]BI]BI]BI]BI]BI]BJ]BJ]BI]BI]BI]BH]BH]BJ]BJ]BI]BI]BJ]BI]BJ]BH]BI]BI]BI]BJ]BI]BH]BJ]BI]BI]BH]BI]BI]BJ]BI]BI]BI]BI]BH]BI]BJ]BI]BI]BJ]BJ]BJ]BJ]BJ]BI]BI]BI]BI]BI]BJ]BH]BI]BI]BI]BH]BI]BI]BI]BJ]BJ]BI]BI]BI]BI]BI]BI]BI]BH]BI]BI]BI]BJ]BJ]BI]BI]BI]BH]BI]BI]BI]BI]BJ]BJ]BJ]BI]BI]BI]BH]BI]BI]BI]BI]BI]BI]BI]BJ]BJ]BI]BJ]BI]BI]BJ]BJ]BI]BI]BI]BJ]BI]BI]BI]BH]BJ]BI]BI]BJ]BI]BI]BI]BI]BH]BI]BJ]BI]BI]BI]BH]BI]BI]BI]BJ]BI]BI]BI]BI]BJ]BH]BJ]BI]BI]BI]BI]BI]BI]BI]BI]BI]BI]BJ]BI]BI]BJ]BJ]BH]BI]BI]BI]BI]BH]BI]BI]BI]BI]BI]BJ]BI]BI]BI]BI]BJ]BI]BI]BI]BI]BI]BJ]BI]BI]BJ]BJ]BI]BI]BI]BI]BI]BH]BI]BI]BH]BJ]BJ]BI]BI]BH]BI]BI]BI]BI]BI]BI]BI]BI]BI]BI]BJ]BI]BJ]BI]BH]BI]BI]BI]BI]BI]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B?]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BG]BG]BG]BT]BS]BS]BS]BT]BS]BT]BS]BS]BS]BT]BS]BS]BT]BS]BT]BT]BT]BS]BT]BS]BS]BS]BS]BS]BS]BT]BS]BT]BT]BS]BT]BS]BT]BT]BT]BS]BS]BS]BS]BS]BS]BT]BS]BS]BS]BT]BT]BT]BT]BS]BS]BS]BS]BT]BS]BT]BS]BS]BS]BS]BS]BT]BS]BT]BT]BT]BS]BS]BS]BT]BS]BS]BS]BS]BT]BS]BT]BS]BT]BS]BT]BS]BS]BS]BS]BT]BS]BS]BS]BT]BT]BS]BS]BS]BT]BS]BS]BS]BT]BT]BS]BS]BS]BS]BS]BS]BS]BS]BS]BT]BT]BS]BS]BS]BS]BS]BS]BS]BT]BS]BS]BT]BT]BS]BS]BS]BS]BS]BS]BT]BS]BT]BT]BT]BS]BS]BT]BT]BT]BT]BS]BS]BT]BS]BS]BT]BS]BS]BT]BS]BS]BS]BT]BT]BS]BT]BT]BS]BT]BS]BS]BS]BT]BS]BT]BT]BT]BS]BT]BT]BS]BS]BT]BS]BS]BT]BS]BS]BT]BS]BS]BS]BS]BS]BS]BS]BS]BS]BT]BS]BT]BS]BS]BS]BT]BS]BT]BS]BT]BS]BS]BT]BT]BS]BS]BS]BS]BS]BS]BS]BT]BS]BS]BS]BT]BT]BS]BS]BS]BS]BS]BS]BT]BT]BS]BS]BT]BT]BS]BS]BS]BT]BS]BS]BS]BT]BS]BS]BT]BT]BT]BS]BS]BS]BT]BS]BT]BS]BS]BS]BT]BS]BS]BS]BS]BS]BT]BS]BS]BT]BS]BT]BS]BS]BS]BS]BS]BT]BS]BS]B>]B>]B>]B>]B>]B>]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]BN]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]BQ]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]BU]BU]BT]BU]BU]BU]BU]BU]BT]BU]BU]BT]BU]BU]BT]BU]BU]BU]BT]BU]BU]BU]BT]BU]BT]BU]BU]BT]BT]BU]BU]BU]BU]BU]BU]BU]BT]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BU]BT]BU]BT]BU]BU]BT]BU]BU]BT]BU]BT]BU]BT]BT]BU]BT]BT]BT]BT]BT]BU]BU]BU]BU]BU]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BU]BU]BU]BT]BU]BU]BT]BT]BU]BU]BU]BT]BU]BU]BU]BT]BU]BU]BU]BU]BT]BT]BT]BT]BU]BU]BU]BU]BT]BU]BU]BT]BT]BU]BT]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BT]BU]BU]BU]BU]BU]BU]BU]BU]BT]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BG]BG]BF]BF]BF]BF]BF]BG]BF]BF]BF]BG]BF]BF]BG]BF]BF]BF]BG]BF]BF]BG]BF]BG]BG]BG]BG]BF]BF]BG]BF]BF]BF]BF]BF]BF]BF]BF]BF]BG]BF]BF]BF]BF]BF]BF]BF]BF]BG]BF]BF]BF]BF]BF]BF]BF]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]B?]B?]B?]B?]B>]B>]B?]B>]B>]B>]B?]B?]B?]B?]B?]B?]B?]B?]B>]B?]B>]B?]B?]B>]B?]B?]B?]B?]B>]B?]B?]B?]B?]B?]B>]B?]B?]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B?]B>]B>]B?]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B>]B?]B?]B>]B?]B>]B?]B?]B>]B?]B?]B?]B?]B?]B>]B?]B>]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B>]B?]B>]B>]B?]B?]B>]B?]B>]B?]B>]B?]B?]B?]B?]B?]B?]B?]B?]B>]B>]B?]B?]B>]B?]B?]B?]B?]B?]B?]B?]B?]B?]B?]B?]B?]B>]B?]B>]B>]B?]B?]B?]B>]B?]B?]B?]B?]B>]B>]B?]B?]B?]B?]B?]B>]B?]B?]B?]B?]B>]B>]B>]B?]B?]B?]B?]B?]B?]B?]B>]B?]B>]B>]B>]B>]B>]B>]B>]B?]B?]B?]B?]B>]B>]B>]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B?]B?]B?]B>]B?]B?]B>]B?]B?]B>]B>]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B>]B?]B?]B?]B?]B>]B?]B>]B?]B?]B?]B>]B>]B?]B?]B?]B?]B>]B?]B>]B>]B?]B>]B>]B?]B>]B?]B?]B?]B?]B>]B?]B>]B?]B>]B>]B?]B>]B?]B>]B?]B?]B?]B>]B?]B?]B?]B>]B>]B>]B?]B?]B?]B?]B?]B>]B>]B?]B?]B>]B>]B?]B?]B>]B?]B?]B>]B?]B>]B>]B?]B>]B>]B?]B?]B?]B?]B?]B?]B>]B?]B>]B>]B?]B?]B?]B>]B?]B?]B?]B>]B?]B>]B>]B?]B>]B?]B?]B?]B?]B?]B?]B?]B?]B?]B?]B>]B?]B?]B?]B?]B?]B?]B?]B>]BM]BK]BL]BM]BK]BM]BM]BK]BK]BL]BL]BM]BL]BK]BL]BM]BL]BL]BL]BM]BM]BL]BM]BM]BM]BK]BM]BL]BM]BM]BL]BM]BL]BM]BL]BK]BM]BK]BM]BM]BK]BM]BL]BL]BM]BL]BM]BL]BL]BM]BL]BL]BL]BM]BM]BL]BK]BM]BL]BL]BL]BM]BL]BL]BM]BM]BK]BL]BM]BL]BL]BL]BK]BM]BL]BK]BM]BK]BL]BL]BK]BL]BL]BK]BM]BL]BK]BM]BM]BL]BK]BL]BM]BM]BL]BL]BK]BL]BL]BL]BM]BK]BM]BM]BL]BM]BL]BL]BL]BM]BM]BL]BL]BM]BM]BM]BL]BL]BK]BM]BL]BK]BM]BM]BM]BM]BK]BM]BM]BM]BK]BK]BM]BK]BL]BM]BK]BK]BL]BM]BL]BK]BL]BM]BL]BM]BK]BL]BL]BM]BL]BM]BM]BK]BM]BL]BK]BL]BK]BL]BL]BL]BL]BL]BM]BM]BL]BK]BM]BL]BL]BK]BM]BL]BM]BL]BL]BM]BL]BK]BM]BM]BL]BL]BL]BM]BL]BL]BM]BM]BL]BL]BK]BM]BK]BK]BL]BM]BL]BL]BK]BL]BL]BL]BM]BL]BM]BM]BM]BK]BL]BL]BK]BL]BK]BL]BM]BK]BM]BL]BL]BM]BM]BM]BK]BM]BM]BK]BK]BM]BM]BM]BK]BL]BM]BM]BL]BL]BL]BL]BL]BL]BL]BM]BM]BM]BK]BM]BM]BL]BL]BL]BL]BM]BL]BM]BL]BM]BM]BK]BK]BM]BL]BK]BM]BM]BL]BL]BK]BM]BL]BM]BL]BK]BK]BM]BM]BM]BM]BM]BM]BL]BM]BM]BK]BL]BL]BM]BK]BL]BK]BL]BK]BL]BM]BK]BM]BL]BK]BM]BM]BM]BL]BL]BL]BL]BK]BL]BM]BL]BL]BL]BM]BM]BM]BL]BL]BL]BM]BM]BL]BL]BL]BM]BK]BL]BM]BL]BM]BK]BM]BK]BM]BK]BL]BM]BL]BL]BK]BL]BM]BK]BM]BL]BM]BK]BM]BK]BK]BL]BK]BK]BK]BL]BM]BK]BL]BK]BM]BM]BK]BM]BL]BM]BM]BM]BM]BK]BL]BL]BK]BK]BL]BK]BM]BM]BL]BM]BL]BK]BM]BK]BL]BL]BM]BL]BM]BK]BK]BK]BL]BM]BK]BM]BL]BL]BK]BL]BK]BK]BL]BL]BK]BL]BK]BL]BM]BL]BM]BM]BL]BL]BK]BL]BK]BM]BM]BL]BM]BM]BM]BL]BK]BM]BK]BL]BM]BK]BL]BL]BL]BL]BL]BL]BK]BM]BM]BL]BM]BK]BK]BM]BM]BL]BM]BK]BM]BK]BM]BK]BK]BL]BM]BK]BK]BM]BM]BK]BL]BM]BK]BK]BM]BL]BL]BL]BK]BM]BK]BM]BM]BK]BL]BM]BM]BK]BL]BK]BL]BK]BK]BK]BL]BL]BK]BM]BK]BL]BL]BL]BK]BL]BK]BK]BL]BM]BL]BK]BK]BM]BK]BK]BM]BM]BL]BL]BL]BL]BL]BL]BM]BL]BK]BK]BM]BL]BK]BM]BL]BM]BL]BL]BL]BL]BL]BL]BM]BL]BL]BK]BK]BM]BL]BK]BK]BL]BK]BM]BL]BL]BK]BK]BK]BL]BK]BM]BM]BM]BL]BL]BL]BL]BM]BL]BM]BL]BK]BM]BL]BK]BK]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BS]BS]BQ]BR]BQ]BR]BR]BQ]BQ]BQ]BQ]BS]BR]BQ]BR]BR]BS]BR]BR]BR]BR]BR]BR]BQ]BR]BR]BQ]BR]BR]BR]BQ]BR]BQ]BR]BQ]BR]BQ]BS]BS]BS]BR]BQ]BR]BQ]BR]BQ]BQ]BR]BQ]BQ]BR]BR]BQ]BR]BR]BR]BR]BR]BQ]BQ]BQ]BR]BQ]BQ]BR]BR]BR]BR]BR]BQ]BS]BS]BR]BR]BR]BS]BQ]BQ]BR]BR]BR]BR]BR]BQ]BR]BR]BR]BQ]BQ]BR]BQ]BQ]BR]BQ]BR]BR]BR]BR]BR]BR]BR]BR]BQ]BR]BQ]BR]BR]BR]BR]BQ]BR]BS]BR]BR]BS]BR]BQ]BR]BR]BR]BR]BQ]BR]BQ]BR]BQ]BQ]BR]BS]BQ]BR]BR]BQ]BR]BR]BQ]BQ]BR]BR]BR]BR]BR]BR]BQ]BS]BR]BR]BR]BQ]BR]BR]BQ]BR]BR]BR]BQ]BQ]BR]BR]BQ]BR]BR]BR]BR]BR]BR]BR]BR]BQ]BR]BQ]BS]BR]BR]BR]BR]BS]BR]BQ]BS]BQ]BQ]BR]BQ]BR]BR]BQ]BR]BQ]BR]BQ]BR]BQ]BQ]BR]BQ]BR]BS]BS]BR]BR]BS]BR]BS]BR]BR]BR]BS]BR]BS]BR]BR]BQ]BR]BR]BR]BR]BS]BQ]BR]BQ]BR]BQ]BR]BS]BR]BQ]BS]BR]BR]BQ]BR]BS]BR]BQ]BR]BQ]BR]BQ]BS]BR]BS]BQ]BS]BR]BQ]BR]BR]BR]BR]BR]BR]BR]BS]BQ]BR]BR]BR]BR]BR]BQ]BR]BQ]BR]BR]BQ]BQ]BQ]BS]BQ]BR]BQ]BQ]BQ]BR]BR]BR]BR]BQ]BS]BR]BR]BQ]BR]BQ]BR]BR]BR]BR]BR]BR]BR]BR]BR]BR]BR]BR]BQ]BR]BR]BR]BR]BQ]BQ]BR]BQ]BQ]BR]BR]BR]BR]BQ]BR]BQ]BS]BS]BQ]BR]BS]BR]BR]BR]BQ]BR]BQ]BQ]BR]BR]BR]BS]BQ]BQ]BR]BR]BR]BR]BR]BR]BR]BQ]BR]BR]BR]BS]BR]BS]BR]BR]BR]BR]BR]BR]BR]BS]BR]BQ]BQ]BQ]BR]BR]BS]BS]BQ]BR]BR]BQ]BR]BS]BR]BR]BQ]BR]BQ]BQ]BS]BQ]BR]BS]BS]BR]BR]BQ]BQ]BR]BR]BR]BS]BR]BQ]BS]BR]BQ]BR]BR]BR]BQ]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BT]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]BB]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B>]B>]B>]B>]B=]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B=]B=]B>]B>]B>]B>]B>]B>]B>]B=]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B>]B=]B=]B>]B>]B>]B>]B>]B=]B>]B>]B>]B>]B>]B>]B=]B>]B>]B>]B>]B>]B>]B>]B>]B=]B>]B>]B>]BD]BD]BC]BD]BD]BD]BC]BD]BD]BC]BB]BC]BC]BD]BC]BD]BC]BD]BC]BC]BC]BC]BC]BC]BD]BC]BD]BC]BD]BC]BC]BC]BC]BC]BC]BC]BB]BC]BC]BD]BC]BD]BC]BC]BD]BC]BD]BD]BD]BD]BC]BC]BC]BC]BC]BC]BC]BC]BC]BD]BC]BD]BC]BD]BC]BC]BC]BC]BC]BD]BC]BD]BC]BC]BD]BC]BC]BC]BD]BC]BC]BC]BD]BD]BC]BC]BC]BC]BC]BD]BD]BC]BD]BD]BD]BC]BC]BC]BC]BC]BD]BC]BB]BC]BC]BD]BD]BD]BC]BC]BD]BD]BC]BC]BD]BD]BD]BC]BC]BD]BC]BC]BC]BD]BC]BD]BC]BC]BC]BC]BC]BC]BC]BC]BC]BD]BD]BD]BC]BC]BC]BC]BD]BC]BC]BC]BD]BC]BC]BD]BD]BC]BD]BC]BC]BD]BC]BC]BC]BC]BC]BD]BD]BC]BC]BD]BD]BD]BC]BD]BC]BC]BC]BC]BC]BC]BC]BC]BC]BC]BC]BC]BD]BC]BC]BD]BD]BC]BC]BC]BC]BC]BC]BD]BC]BC]BC]BD]BC]BD]BC]BC]BC]BD]BD]BC]BC]BD]BD]BC]BD]BC]BD]BC]BD]BD]BD]BD]BC]BD]BD]BD]BC]BC]BD]BC]BD]BC]BD]BC]BC]BC]BD]BC]BD]BC]BD]BC]BD]BD]BD]BD]BC]BC]BC]BC]BC]BC]BC]BC]BC]BC]BD]BC]BC]BC]BC]BD]BC]BC]BC]BD]BC]BC]BC]BD]BD]BC]BC]BC]BD]BC]BD]BC]BC]BD]BD]BD]BC]BD]BD]BC]BC]BD]BC]BD]BD]BD]BC]BC]BC]BC]BD]BD]BC]BC]BC]BC]BD]BD]BC]BD]BC]BC]BC]BC]BD]BD]BD]BD]BD]BC]BC]BC]BC]BC]BC]BC]BD]BC]BD]BD]BD]BD]BC]BC]BB]BD]BD]BD]BD]BC]BD]BC]BC]BD]BD]BC]BD]BC]BC]BD]BD]BB]BD]BD]BC]BC]BC]BC]BD]BC]BC]BD]BC]BC]BC]BC]BD]BD]BC]BC]BC]BC]BC]BC]BD]BC]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]B=]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]BG]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]B@]BQ]BO]BO]BP]BP]BP]BP]BQ]BQ]BP]BO]BN]BP]BN]BP]BP]BO]BN]BP]BQ]BO]BP]BP]BN]BO]BN]BP]BO]BO]BO]BO]BO]BN]BP]BP]BN]BP]BP]BO]BP]BO]BO]BP]BP]BN]BP]BO]BN]BP]BP]BO]BO]BO]BO]BO]BO]BO]BN]BO]BN]BP]BO]BP]BN]BO]BN]BO]BP]BN]BP]BO]BP]BN]BN]BO]BO]BP]BO]BP]BN]BP]BN]BO]BP]BN]BO]BO]BP]BN]BO]BN]BN]BN]BO]BP]BO]BO]BO]BP]BP]BP]BP]BO]BO]BP]BP]BN]BN]BO]BO]BO]BP]BO]BP]BP]BO]BP]BP]BP]BO]BN]BN]BO]BO]BO]BN]BN]BN]BP]BO]BP]BN]BN]BO]BO]BP]BQ]BN]BO]BO]BO]BN]BO]BN]BN]BO]BP]BO]BN]BO]BN]BO]BO]BP]BP]BO]BQ]BP]BP]BP]BO]BP]BO]BP]BO]BP]BP]BN]BN]BN]BP]BO]BN]BO]BN]BN]BP]BO]BN]BP]BO]BP]BO]BN]BO]BP]BN]BO]BN]BP]BO]BO]BN]BP]BN]BN]BO]BO]BO]BO]BP]BP]BP]BO]BO]BN]BN]BP]BP]BO]BO]BP]BP]BP]BP]BO]BP]BP]BP]BN]BN]BO]BO]BO]BO]BO]BO]BO]BP]BN]BO]BP]BO]BP]BN]BO]BP]BP]BO]BN]BP]BN]BP]BO]BO]BN]BO]BP]BN]BP]BO]BN]BN]BO]BN]BP]BN]BP]BO]BP]BP]BN]BO]BN]BO]BP]BN]BP]BO]BO]BN]BO]BO]BO]BP]BO]BO]BP]BO]BO]BP]BP]BP]BO]BO]BP]BN]BN]BP]BN]BQ]BO]BP]BP]BN]BQ]BO]BO]BP]BP]BP]BO]BP]BO]BP]BP]BP]BN]BP]BN]BO]BP]BP]BN]BQ]BQ]BO]BN]BN]BP]BP]BN]BP]BO]BP]BO]BO]BO]BN]BO]BO]BO]BP]BN]BP]BP]BO]BN]BN]BO]BP]BO]BO]BN]BQ]BP]BO]BN]BP]BO]BP]BO]BN]BQ]BO]BN]BQ]BN]BP]BP]BP]BP]BP]BP]BP]BO]BP]BO]BP]BP]BN]BO]BN]BP]BP]BO]BP]BP]BP]BO]BQ]BP]BP]BO]BQ]BN]BO]BO]BN]BN]BO]BO]BN]BQ]BO]BN]BN]BO]BP]BN]BP]BP]BO]BN]BO]BP]BP]BN]BN]BN]BN]BN]BO]BO]BP]BP]BP]BP]BN]BN]BP]BP]BP]BP]BO]BP]BO]BO]BP]BP]BO]BO]BO]BN]BO]BP]BN]BN]BO]BQ]BO]BN]BO]BN]BO]BN]BP]BO]BQ]BO]BO]BP]BP]BP]BO]BP]BO]BN]BN]BO]BP]BP]BP]BO]BO]BO]BO]BP]BO]BO]BP]BP]BO]BO]BP]BP]BN]BN]BN]BP]BO]BN]BO]BP]BN]BN]BN]BN]BO]BN]BP]BQ]BP]BP]BO]BO]BO]BN]BN]BP]BP]BP]BP]BN]BO]BN]BN]BP]BN]BP]BN]BO]BO]BQ]BO]BQ]BN]BP]BO]BN]BN]BP]BN]BP]BN]BN]BP]BP]BN]BN]BP]BP]BN]BP]BP]BP]BN]BP]BN]BO]BO]BP]BN]BO]BO]BP]BP]BO]BP]BP]BP]BN]BP]BN]BQ]BN]BO]BN]BQ]BP]BN]BN]BN]BO]BO]BO]BO]BN]BP]BO]BO]BP]BN]BO]BO]BP]BO]BN]BP]BN]BO]BP]BO]BP]BP]BN]BO]BN]BN]BN]BO]BN]BO]BP]BO]BO]BO]BO]BN]BN]BP]BN]BN]BP]BP]BN]BP]BO]BP]BP]BO]BO]BP]BO]BO]BO]BO]BP]BP]BO]BO]BN]BQ]BN]BO]BN]BO]BQ]BP]BO]BN]BO]BO]BN]BO]BP]BO]BP]BP]BO]BO]BO]BO]BP]BP]BN]BN]BP]BN]BP]BO]BP]BP]BP]BN]BO]BO]BP]BP]BN]BN]BN]BO]BO]BN]BF]BE]BF]BD]BD]BD]BF]BF]BE]BF]BD]BE]BF]BF]BF]BD]BF]BF]BD]BD]BE]BF]BD]BE]BE]BE]BE]BF]BD]BE]BF]BF]BE]BF]BE]BD]BF]BD]BD]BE]BF]BE]BE]BE]BE]BF]BF]BF]BE]BE]BF]BE]BD]BE]BE]BF]BE]BE]BE]BE]BF]BF]BD]BF]BF]BE]BF]BE]BD]BE]BE]BF]BE]BE]BE]BE]BE]BE]BF]BF]BE]BE]BE]BF]BD]BD]BF]BD]BD]BE]BD]BE]BE]BF]BE]BD]BD]BD]BE]BD]BE]BE]BE]BF]BE]BD]BF]BE]BD]BE]BE]BF]BF]BD]BE]BE]BE]BD]BE]BE]BE]BE]BE]BD]BE]BE]BF]BE]BE]BE]BE]BF]BF]BD]BE]BE]BD]BD]BE]BF]BE]BE]BF]BE]BF]BE]BD]BD]BF]BF]BE]BE]BE]BE]BE]BF]BF]BF]BF]BE]BF]BD]BF]BF]BE]BF]BE]BE]BF]BE]BE]BE]BE]BF]BE]BE]BF]BE]BE]BE]BD]BE]BD]BF]BE]BD]BD]BF]BF]BD]BD]BE]BD]BF]BE]BE]BD]BE]BE]BF]BD]BE]BD]BE]BE]BE]BF]BD]BD]BD]BF]BE]BD]BE]BE]BE]BE]BE]BE]BF]BE]BE]BF]BF]BE]BD]BD]BE]BE]BD]BE]BE]BF]BE]BD]BE]BF]BF]BF]BE]BE]BD]BE]BE]BE]BE]BF]BF]BE]BF]BD]BE]BF]BF]BF]BE]BD]BE]BD]BF]BE]BD]BE]BF]BE]BF]BF]BF]BE]BF]BD]BF]BE]BE]BF]BF]BD]BF]BE]BF]BD]BF]BE]BF]BF]BF]BD]BF]BF]BE]BF]BE]BF]BF]BE]BE]BE]BF]BD]BF]BF]BF]BE]BE]BF]BF]BF]BE]BF]BE]BE]BD]BD]BD]BD]BD]BE]BE]BE]BF]BE]BE]BE]BE]BF]BF]BF]BE]BF]BE]BE]BE]BF]BF]BD]BE]BD]BF]BE]BF]BF]BE]BE]BD]BD]BD]BD]BF]BE]BF]BF]BE]BD]BE]BF]BF]BE]BF]BE]BF]BE]BF]BE]BE]BE]BF]BD]BF]BE]BE]BD]BF]BD]BF]BD]BE]BE]BE]BE]BE]BF]BE]BE]BE]BE]BE]BE]BE]BE]BF]BE]BE]BE]BF]BF]BE]BF]BF]BF]BE]BE]BD]BE]BE]BF]BE]BE]BF]BF]BF]BD]BE]BE]BD]BE]BD]BE]BE]BE]BD]BF]BF]BD]BE]BE]BE]BF]BE]BE]BD]BF]BE]BE]BF]BE]BE]BD]BD]BE]BE]BE]BF]BF]BE]BD]BD]BE]BF]BE]BF]BE]BE]BE]BF]BE]BD]BE]BD]BE]BF]BD]BE]BE]BF]BE]BD]BD]BE]BE]BE]BE]BE]BE]BE]BF]BF]BF]BD]BD]BE]BE]BD]BF]BD]BD]BF]BE]BE]BD]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BG]BH]BG]BG]BG]BG]BH]BH]BG]BH]BH]BH]BG]BH]BG]BH]BH]BH]BG]BG]BH]BH]BH]BH]BH]BH]BH]BG]BG]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BG]BH]BH]BG]BG]BH]BH]BG]BH]BH]BG]BH]BH]BH]BH]BG]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BH]BG]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BF]BB]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BA]BA]BB]BB]BA]BB]BA]BA]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]B@]BA]BA]BB]BA]BA]BA]BA]BA]BA]B@]BA]BA]BA]BA]BA]BA]BB]BA]BB]BB]BA]BB]BA]BA]BB]BA]BA]BA]BA]BA]BA]BB]BA]BA]BB]BA]B@]BA]BA]BA]BB]BB]BA]BA]BA]BB]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BB]BA]BB]BA]BA]BA]BB]BA]BB]BA]BA]BA]BB]BB]BA]BB]BA]BA]B@]BA]BB]BA]BB]BB]BA]BA]BB]B@]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]BA]BB]BA]BB]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BB]BB]BA]BA]BB]BA]BA]BB]BB]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BB]BA]BA]BA]BA]BB]BA]BA]BB]BB]BA]BB]BA]BA]BB]BB]BA]BB]B@]BA]BA]BA]BA]BA]B@]BA]B@]BA]BB]BA]BA]BA]BA]B@]BA]BA]BB]BA]BA]BA]BB]BB]BB]BA]BB]BA]BB]BB]BA]BB]BA]BA]BA]BA]BA]BA]BA]B@]BA]BA]BA]BB]BA]BB]BB]BA]BA]BA]BA]B@]BA]BB]BB]BB]BB]BA]BA]BA]BB]BA]BA]BA]BA]B@]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BB]BA]BA]BA]BA]BA]BA]BA]BA]BA]BA]BB]BA]BA]BK]BJ]BJ]BK]BJ]BK]BK]BK]BK]BJ]BJ]BJ]BK]BJ]BJ]BK]BJ]BJ]BK]BJ]BJ]BK]BJ]BJ]BJ]BJ]BK]BJ]BK]BJ]BJ]BK]BK]BJ]BJ]BK]BK]BJ]BJ]BJ]BJ]BK]BK]BK]BJ]BK]BJ]BJ]BJ]BK]BJ]BK]BJ]BK]BJ]BJ]BJ]BJ]BJ]BJ]BK]BK]BJ]BJ]BK]BK]BK]BK]BJ]BK]BK]BK]BK]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BK]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BK]BK]BK]BJ]BK]BJ]BK]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BK]BK]BK]BJ]BJ]BJ]BJ]BK]BJ]BK]BK]BJ]BJ]BK]BJ]BK]BK]BK]BJ]BK]BJ]BK]BK]BK]BK]BJ]BJ]BJ]BJ]BK]BJ]BK]BK]BK]BK]BK]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BJ]BK]BK]BJ]BJ]BK]BK]BJ]BK]BJ]BK]BK]BJ]BJ]BJ]BK]BK]BJ]BJ]BJ]BJ]BK]BJ]BJ]BK]BK]BK]BK]BJ]BK]BJ]BJ]BJ]BJ]BJ]BJ]BK]BJ]BK]BJ]BK]BK]BJ]BK]BJ]BK]BJ]BN]BM]BM]BN]BM]BN]BM]BM]BM]BM]BM]BN]BN]BM]BM]BM]BM]BM]BM]BM]BM]BM]BN]BM]BM]BM]BN]BM]BN]BM]BM]BM]BM]BM]BN]BM]BM]BN]BM]BM]BM]BM]BN]BM]BM]BM]BM]BM]BN]BM]BN]BM]BQ]/U]BB]B=]/fb0063421c2b9580a3d5a8bbf347cd9fbd57b38e298bd354dfb6b7e46afb5a832ba781d900281c33c967713f751a3b2c4d3175c9081a8082b1ab38ea335fb17f45fd79bbf4bfe36136db90fe09775271eea1a84c277e595e56adc441f6e75f8a411451b4fa1d0c3ff139511e9b55b111ff528a08944112752f44fc16875aa6d2aede149cf816264d5ee46743ebad50eb401a8f64d9b38e19cbac975eee9f03815d4a46b9f88864f48271d85a4571b002feb20c43ef1f5f2065119a4580ae287e927fa0f302eb4d0d0f74b76b6499d840797c3046a86a66fa5f6485f3f1880f89d568663812aa0578988ae67cfabd41e7bceff6f32a458fa8cd93cfd612111f885498ef61cf64fb7dd33b92f493728234081ef218f5f0874c7f69044fdc7c1b4a75a7666c13a9e8dca8ca8ba4fe38199f59388737913cf592634ed94cd932881dc16fc67cbb31ad466aa04aa9cc56b1e04b648f4c1c712b45d6ee98641c17d32fc2c8093bd28eab5cf91992da6c55ecd2d92105cbc65df79fd0365533a12473e867aa7c6b8b52d7a5471480fdd472ce50cdf137fa3ddeaa34e9ba9b1f2c97a2fda9d602302a302c7cfd7b430b23edc97afc5f0fce930e7b550932f5ec7c28c6e16d647ee6a3ed15fb1c33ed5afbea171fd05e42838dc06b840835a3b944f21b7d6f5995cd4688973aa05df8d5391e26ee0b39f1bf0e54cf70391c0288120d08b75dc66a92528c43b7838e569ea05dfaa4e259c6dad1a1959d083924f398ff2daf25df69033b0c9f1f5a1d64aeeaf78852ce35bb889985559f53d34a9b6bb3e00590d05bfebb3b98db5b03e0abfef7376610c0ae2b29d85fc78bdd6570aafe2c106475858ba0213ff6ae2ea125d4890908b3bdaec7296bb2765c8c12c8707a1f755e806d25947a8395b81c72b711a56eb635d851079939be8712b170b841e007cea5e1bdbaf1c8243a1b541e49f396a918331c800b1408b87992a67bcee30872e86f08d93e6feb6f8b4188a1b6ae89255800a56db8c7872bcf0c92df5720ab190bbc8cf7d8164335021d69a9ec58f7481c478627368e8917a843817f5d12783b92d0028f6bb78a9aa6a2d5ab987216f7866771b18227bd058a3e1ec8c1328432f09379ab44ddd082b10d4f151f59a33d205367affa8682ea403e88ca2928c5e9c8f3aa73f1afd50d200b45cb9058619e54e89ece3494bb52b7009c42bdc42c5b2bb54e840973cde3eb08412a99f490915d54b54ddca3fca30b679100683c0cc108ba9ab9fd184abe814b252055aca18414ef6255b11c1f80074425d244396e137be614ac6629197b25d625026a2c5de62c96af02651a6464b48ddd4cc31cbd17a88351b3359c14f1ede7eda2e71de72ac4641e84bb30bae3c277a72e59da342cd002b35dc31081cfc6b8fd281ddf0fd84c228600352420cf372b7834edcd2c685be10fd4a1a29d6c17877e811c37e246852626b4102a2938ea6c41a823a656fe5a85c4f2c1c7c7fccaef4182199d8c7cbc2dae0b6e3807edb173cb2f43dcd6a0252b0cadcdb71766231c7905e45e291b8610cd04a1b2e3bce7792ae80e5a746d017bc89f6a88481dcf22c458194de848e6699730769384c4008cef1fc7fb4acb64d34a3fcec749725036e4b0fe36653e5d690af553cf25585911ec0c6b8b48be3c7249947c20e16e3ed40665384ce4b90c21bc94c215c57e471e09e32276b5f5b0a7365abf33c4ff55ee08cca894c2bfb89cf7494c0eaadc1644c4451fba83651a15736971e703256efdcb7cc96fb026f383c43505379a891edf9684d69a1307b5fa695ab9493091d77a1f8bbceb72bc9199b24b99b03df39f0e6adebf66b8776c484bb6403559af2083e5a6d8e19c65d42aadc2cfa8c871e9cbc647388e29611c87731ee04f9a5f840ebe818bc752dd61d33e7b0b01e0862f97d60f467d264dbe377ca260edabdb8b68fc54f35232bb28ab2bd6ac612568c3d74bce4d028c0ea7fc02e7554444256638c51b82a2e9fb9d3189da670e64f7e7af97debeaa801a0a731e05f2dc639f2cc0867449a00de93c0f9ab00911f7d3fe7b92f1733e2a4b9d416af9f7e451116ab159013c326c1e2c1b68449ad6fd735bc881501bb9878ff331e75a4fa53cdb7f9a6d5379ed1e63986ff648df40fbd64a854b613d4d54b33ad86baf33eaa0975ed8189b4687d10c07da1e527885a1aacb91275ca556a0ba1a481ce5bb494e94052d729cf87bd49263b9f0f1c6a6db831aad3924523923c4d888501bb6cfa9c9937143a382707926c1f86f672448a96e779f5822236bc04d374d7c27a81f2f734a5a53e0a55d9088fe6d1a2f607170507f8694072ed6b3dff198e87a706c00b605bacd173d44b9f19f3eb01868cb5da849af79b3563d69e52abc018247d4a8c8e3b9f5fb06f056f973ae2e261c7c7978898d53c8c960b09ec215b7015296e7c28443f88bd1b12bac52c7b3bf1ac4a43646495bcbdfd9dffaade1d3841048e042c6bc56a7e22e9bcb15966c6bf39dd1e295541548b86b5daf74a29703d5fe4d0d90c567e69f4ec5c9e8d8a7b19124b1da0bee0f40bb48c5850a20168e2e6e6b0cac37e50dd2ad2cf489c36fe52a743338a929b968da58684c73ef53dc8f196b4272e3c41b415c99bd277f02e111d214b1cafb28fab2e3c8d6dc61f295886926198babdfbada2fb7bf367c4ef970d28216636bdd7679d3da8f470728b61996eb66b82a682ef6a72e00a6100fe1b3e837854d07e07b46d14f810287f50dc08f040a0763577002a326f1fe35c026301ffc762f378a737aa7f97bb5c5d401aa2bf5dd2bd89bbb2ea8029e401d9c04fc86f5cf75ca3f98fd9c92c3e411a6c42241cd57dbff64e7fdf002712f0436f67342585e9881083bae0c68942692a9b26edf1f4505e65c7f6333b2f3d4045a79e794aa379bdca864c91ad5fefa89121de4b9fcde712028254a4357fc3f3e1adecaaa6d4f8a6bfea861e2bad079c87e9be31ff4b03f221b8760331c268b55b945087c4d1f01192afa7e265358ebff12656ef13dddcad9d8969e569d9baddc9555d09cbc8abadbb253664556589b402cd74a5127b04a14c0ac403ec766d53204f6f125bad0bce491041b70f9add53cd83d0ed36b0f751bd2f305c7d6d583d331829907fc0766a5d8cecf648157b24594a88e3f438beb8a8547f92355556af1e4a62c28feef829ed7c0c381f4cad377d9f9e41f2e350bf9563404c93a586c4c7b6bad65ec06721a7da77b41177cdafef134eaa6c4e0cdc345128cf28564c8e7bd727b8e690207dccca02c3d49c462e06e272776eff67b2f5c758e4871696aec3a8914f989b9213d4dc7ea78e8bd94e2f2996a75416d9dab88ff83dd8c75497b85f686290ba0f4fc2126cf44da64c4504ec851988ded2b8a08c6236bad3a68419a28f96863817813909e345d2d6c0c14327b801a3d34862bbf4269c60bdb62f18e154e50d5a30ff92704e43b293522c541205226166621469a4c1731eca17b012d679fed6507b77773159a8c2c7fdb1a985547fc4e19879da523b28e4eaffb5b15eeed0bc55db6685fc4a13fda2879995bacd9bd578de70bd26b6793fdda98bd881186819ccaa8826bf60b1dcdfa89b833b4fee809d905d63865b75ae9894ba935d52fae066d43b33b0606dc20793faf0718ce53d5a50e8d3271cdc375d3ac4d8215e661e4bbf45eca2a7af6bafca4e45778f1fefa42c4b3b21e2eeba53435b42eace96b8c1343347e8fafa5785dd336491799551e404ae81c0cc52cba941337fc31820f3689891cd19f2993ba4533022bb8dc9ab2b396bb6d3eee5e974344b0ada2590b90820f03850ba11588073d91e8bc56fa188bb117f0ed17a32e2a46ac6883f59ecb2e9c49768bb8a8a99e9bee118a160f305d842ebfba040347ff22435419bbabffcfffbff166366368a4c95722bf8e069271294a99c2e2794e689e39d950c2e24b141eee0e047ed07dd1735e78b672e727c45f8ae6b27901ac0233a7e8f9132add8912996cf62c85acff05546c1be3ee77cd836f570346aee0548d728140bd7870572c2522a3bc874cfc2ce31f0829d8ba2658a1056def274e4f6837dc891ca1e6b379462029b954acb81d55a769aa18ba2843fd4eac3137d231769a793838492db4b9a770996d3fd93ce2fb0419b41070dd5126dd68cb7114d5fe213aaaa21649c6647443ae822855b368cf93668760db12264a1ef8f308c65328b1b42943365e2966071dc235254f7a64385c1d4ad11066098effede749bb85ab810f84a88611f553bc4b511dc2ab01fde8a5dfe1a5a04c142a62766afd2b164aaa5b4dd9b0692ef5b10bc98b54aeeca876334608cc29a9ad459c8ad7a71e76dbe7ca8cb23aaa62162bae7d1511af86bf10e0a75327147ebb0c9ffeae32d678f1839be2f9ab9e7c06493b927163afc8da1b65c1ac6637cf1669b7ff1d2f7e16fa8ed0858287bc41cb55a688fe88dfba006de8298cbe72df5761586475816ea3c1b462d99064eee6734aa2a2283a3eea42b5485682246870fdf77f821cc1aaf8716aa96eaeb8abb31d6727bc41ebd5ae4c66087cf581abb80ecf9ebc3c3822f93e195bb2633585078e0b55db775373dfba856c42778853faf333d9ae97fd5bc87bcd4bef53ac586f343ace6a2842839c514b8169ecc7de75d053bc41e7c5b85cbc6aaef3f7482658cc7f71b360e241f88141d00802bae4c7191e145836e14e98943323d1a9f690572cbe9c202b9c1f084f714f6d5cc3461b0576515a73834036c8312463c77d4d3398f16f60126655e3f0f09572de3abe3e99ddb7480cc83ee8fbe0854d5c36d6f235faa28de3fe281f10253c8e78d41ad1486942631ad709c43570fbb0bbd832cc7d95cca41a606b23ba62d3a9ac9c753ff467bfa857e3ed9f94cf4c55da88d3e6002fb895e6f18ed1fbacb25b4f3dc6f1ff441f10fe980110243df3e4ab63b53e6913bcabd264ea1ba7894f8711b14d43fe6c5d8791ac8dd626a329cc0fc5f971353396369b09581071b6187a87ebbca8b2efbcc100c761f0c4289fc7c40c57d14138803cb1ddca97c917042745536aad6501cce7fdf0b3521573d7f5168d2dce0b7cca5f84807104e65781b28b50bbd8d0276c35092ee14027b561b0f03fa17f7e321831b4125119e0737ffceeb8fe5eba518592adecb401cb9533ff10003c982ee1caebf251b85e9468800bd2127eb14275d433ed7db21d2ba9a9be2a9e7d48922dd4bba7f1811ad6d706b339b62daea6d3778ff75ec78447e32ae0ab1dc6372c02eb70b1dcb000c00cff690a0d11cc9ad4f97920c7e92ca27b68b3b5bdb658fed0f08e7835dacb488b815838aa2b84fc5c0d029f9269431e7f7f8259790034fcdc65b842fdc90cb8a387d4ced0a389db40fb8e7032e86552e5a82148abdb972171f5f7b9a54c6f77ce39c6b46709c34fc32d67f7b69aca9303530f1a8e01d88c57df908f6c61e43e03b9f813a75829ea1c436ee7f65a414ca537b39a52afe19d8d0103687a0842a8eb9ce17252388fd4ea4788fe3d9be34663e6f6f82ed41edd9748b41482a0df0d8dcaaaebe070110658e8611702decf542c686df741c82340f58d0d70167bdfc39c8067d32d65fb71b630c6573b2f387b8a86a29b681b971375c712a1e649e6f00816cf80856a619455a62ff05103200a9821c9324880dff71a5c377fbf5e5d175ef027675cca12c7d8950d0b0be50735da96da378f0b1cb0f0e5b1d48b259f862bcf0f89519b486a5f324bf9c39e62af1cee89c743f6c4e08a4034040e58bbb68e3e5c905f38133e6d46bc777f58798c74f9bbfd7df1cb0c12e5c3c15c4b9a3bcee6003945f7d041ad10e2218fc4ea74748372184459ffe0bc7f2f29043cefae1fa1785e76b38acf69672037b1bfc8cbf1b1e7772a01801dd420968cac205b3e07cfab0d6ae96f396b23f64c949f485508b54202444a0077296409ae66c7153f8f1baacbe856e531c91f6d49516ecddb2bb568320135b01b8b8edbdd448a2bad9307a2d0bc53681937c9717fa6714ed5bb1fdadadc8d663e91e074eee08e0c3ddf8988539b7159c099dccf3b3ce865d25fee1ac54b26ce4a01c6f04fb8a98b3c614d7a4aae8db39f4d796838519d249fac73706498b214aaea44688ca0345c38fd88b3b5b138b9ddfeab2f0a1df7028dd216906a07e14adeec7b86afe7415ba043af8b582b647081defd0131838611caacf9293259e450e2c15a3caec446a25149dbf737c11f195ca260096784a859c39167af0f725ba3e0f97003c8cbb7c0ca86254dfc59c290ce51963bb24c037d0f7db96328fa68044c3774f3ecceb8c61ba9530ac31357027aed95200ee2a30bef38d872a9ff2cf432dee6d773d58bd11561cdd7d3e433c547c25fdbee315e5619c3113457c1f1d29a25a160b58372ef1507ab19e73129fe6a2be7405629ed280a2b39589d14182546385099f91ffa700957ef708d0fa9bbe5264f5aba7f6ca9c15c6ab147e79247710dbce6178bfe4fb5ab04deae0434759050041f1dd609995c1a662f0ba7932a9eb4f8d7d30871949c565c700fd3ea36a1d5ac3e902fe9cd5ca0156c3967d9dbca7784c1a95554d819064894de973b4921165f4de67965d219a3757a0f45b61ee75aa872d986909d0a249596be8c6cb0c74d344ba9ec83ad0c753dfbf8a9970df4970a86dbb0dc3353b6ab244a9bd1efceb7f345e7d4fd164069b257a95f41e4cecbbb446950019f45d070a09b2576da3cfbe7a0df26474e06a11ccb4907a941ac57776f9e8a17169c3fd7320ae21befa5116eaefaa0e4b0b01dbed34a9e70d97aa45a6ae53f581e1531f115597aefca8e7d90c5484d0f6901ad476d5c9c4ee28c8ec127092aeb581083b29dcc6fac8a4cb4654faabe94d728de7680f5c113d3dbedcaa5fabb1137f785ae64324094b6edc3a936d7226e1d1109fe1ce40ea723bf59a9f7075ffdf91f6923e3064489d1d12e0828799f6d619572f22856fe18e9b65a728f31708eab4fa174cf279d2a1f1333a594f7dc3c0a1eef8df943697790750c608115ae9f5926780f2a8d819912ec933c35a7bcb0b8cea64b01128fe1bc6b38aa6eed61e7c6f63624604bb31e8154716a38e21e96007311d109b598e6dc1e56af7ba7640e511cdf1397cad9c665b48445657ccaa17c02ff37c62163a3c02f7ebd12c6841ab1ea564f9f17c9ec37078240208f20feacd6f562ac924d05d5f896df7828954f07081bed796b75e5e36c1603167a1449e2f16f9a057c975ae0994939e1f5734a304315373d5b62d8e8cd3b371ecc5aff05e272ceb5988f55266398a0ad8d0b70296872c93ce2f6fe57bc1c069c339aee6c51d27d6fcd65c6c96545dc1e91a256e0384a251fbf5a2ecc8c5de120e453d9b3133210781df4091990d8b95d62c746dd800afb803ba6058fa0192cc33e5192fb045318cf7b64e8aeca55de9768a7a4281f3431543fb24999b1749210093493550e8e91776d8688af35e20e20b9224bd7520ffdfb930bcd7810ac4e82052265338baaffa9149de80d948759245c8180925df8f408c8c537c1cb115eec462bcade649f76e32e4b51b7f69a888f4f213bbd88a4592a2a6a9bfabc3bbf884bd0007384ee8f4b97daeaf10994dbe64a014726a27c3bfb1020a2fe3354cfe059b5acec46e12e42429ab82e8afc74249df8e020a2c3ea5d22621603b2585ea2d3b786a697f89a40e6fa55edc1c0ea883c073fcc118ecf70c31150195585c3e227bffd0737746e9a60db6c787b21f91a142394eaf9081d8c816708f8c70f5fa80860d8ec24e38aae26423806f454894bf131b536c8e32b6a5927da876f49eaa20b2f7b3ea61371fe5f3a11b7be3f1121a62978bfa3c19015ea5d648d45eac70244e3bbf0972fefe1d210d4d8d0e06ba64dc9dfc47cc557250024f91e458f5a0cc7c8cba3cea1b2e2d2f845aa90d046ab0e695a6577b0c2bb886f4dcc42c62659a01a024e878b84b7bf6209c32da26a2eb63f36c62854d24b87d417c3dfc2a73e6affff81e1f4c02de222c74323d3d95628b5728b30a8dbaf71d534a15b3a91a30e041a8cbf2ee784fd0822a68dd37d0a40843dfe506ec3f8ff89b58a3f40c415ae43ee490f7f07b841a573b6aed4692ee9090c585b645225166d2d005e923940138add78fbe1917f08944bf6b9e920c931f213a24c1eff28dea506e23cda29c15e0f58a6022f1cae2c6fe32b5abb01f157324b130e915dce10e432956cf0ab49d42f65d866717af3d57ec9e999318c6b845ed715cae4514011b069ee432888179e0ca2f865d3489591001459be51c6c3157674b9538133fa9d17cc340e864485a72a21c49f6730f763cfeb37f8b533a7ba7e2cfe0a5babd5d013158556d839700b6f075d449f2a1a3ec4d70467b3bd1c424deaed8ff3ccf1c0a5d91eba8181cd4adcbf3e4fef3bf429085d5351fe90f1a8e4502feb217bfa3365e4cdf08c41e47528d0f88512acd7f100a5c7e910e850418fba206f0e5d36a5f9ca7ae65d3e3b4dda0582536b34d983cb8f7509e1c603c8cbd72ab9b090bd5b6b0f4ad5869a5466e8e7013b8240b1ac1d76bfe2be5a361e44d1bbabfe3ea23e987004faef9a26629446486071aa39f8dabc3cada7a43c0d942cc8d6e8b8a2de760fa5e130d119c40feb1401ebae971b5e097e30f31ca40efae2a8a73df28d8718a5b8adcd9962211c04b35fe4d35fd83daff15968a0b9d7468f49911bb346c3b9ab58ba246538403efcfeff627e64883225c6a4f5953e3f127f7f4c2d179d4d2d9f51a2be10a6598edf949c2e98e37c49e2a7141b62e6239d143e61dad686498dce98d08c1ff6cb92bec74f3b695cb8b3044e3fed2c039f2673b6dd4edf759af3be66b26d10c0394fc2242756de7cb3b99d377567bf9e4e315665f508ba71232897c59ce8ca8748f9c05f01246a8e60592cbf50dc336272c70aff5414721282b0fc5067b98f658639e5c70c6187f01da8ab6e31881e7422536b4862334ee584514a946238aeab4a836b6da761e3579c989fc79c86d817eabd5b1f4c5e8dcc1929a5a1d89b84c750ce76bc2d492683753f002a2e13ca526f2f54a62c58f79d3f9014e04a22fcf77337a87af649bab5ba8c5a8148bca37f9fd9ad57ab96ecf755c1e779896025e4413849d2ceb5afc8a65ff5ad7f3cab5eadb7baeb4705b5c78cd6f28963db915bad62535867246c6f2c14b3058dd4b05848401baba05108eaf01a20ec78b009ed44ab0f7e6941774b904f92b69adb7541a6076b62d19269df0999b07d6fb8e8903bbf801eb81a24feb82b29cc566d8e421fa682497084b5c31fdc62faed2e4531e8bf237e6c4ed450bc72786101753121182c9930f6bffd3e1343466e11223c48bba7658b72133db204decbc038138038f19e0ff992f806c8d448bd1e56f6a00d48f6c24d6de6668531121695d9b6b5ecab96d0a7d6f65d7f6fa3fd098a5fe7dccff27f58f5686eb66c6f208e67651a9051c39e92df9c459a5fa1afcf670cb2f387b521f1f829e5693d122f66fbfe29849289f5fb2fa9cdce541daeab0c6956fba137c2b00850052a0ce536bd964197b875f14f30be6778f2d7b6851ebdaf195cd5c9d8b8772ca73e0f3c829075fbaeccd8c83e8d94109890aee6c6c4d5df0701236c76dfb79b8fd55f1664aab1c8da9d7bc01f010963ec27869cce073af0b6a34fa52ef3aa474d9c08895a182365a5defd84d4d2ebb0b2c9143020f5faa878c06f38037b8b2a6db7c97205827d1537da773162a9742641d7e65b4b686135369df9b89dc912f8afaf773a059bbb4819367f62ace75fb68d30e784cde38feb1faaa103c83065dceeb5737c8eaa0680b7522d909e61d4fbe24753bf2db0166455500bd229049495b565ef27e204064fea86967f3547c6b9f950563aa99beda056c98ccac39bcdfd3d44500ce5dc0660fb28788eb8af77035058a2cea988911a44ecd38de49f4b3bdcf2e30d702786f65fe42066895ad69a07a6ed8b67095c9e76042879560c2879442c5ecd3c51b5dc73ed84247140b6040029414ed17d3f8612902ea08cf972b0f5b78138cd1b31e607f8f26266d5d0eb57779dfa56f9dde86c8da386803974f6ed28239aac65d122d24948b03b9344d651293944df77dab5cc2cf5dfca689c6b33dd1e9d6f4d5e45825aaf7638ab268dd08f15711fa72a37f28dc5809987eef4a021abd872c1e1c1652f5b4067740a8d9e8c9040a1138731cbc6a2402e66323d78500e32b02bc745702e01310e1558ae51df1c4c969955f893de58a5b53a92b335e06fc451575e2d6429dc90befd08b40fd638da3e8231c1d8486593d1e5d0ecadf35951e6020ed5254fae7e6ef24cb86c3d8affac55d0952ce137bca5feb9e247a7ea585de96c5ccf70c7933758b8da044bf224cf6873eb5e13c2af8497654bc5a5de713ba68e9c986c9d305429624004bb39081af3e863536482e1a0441b0bebdf5fce94b09eaad60f237678d8945125b2d9b600d531e5cbdf0c77f16bf324a264877f14e89465fd2c73511867bdc131e4e324c177f8748fc73ddff75d1de388f03b011c74e1ddd364d7c76e89af44b0536f42f36d79702f1cf68f7dc8b14c9b96f8fae413ee988f8b19b322319bff37c67c1608652340995ec5b9946c7c4c1536ae9c22958774706152502038d5f0f670c99e171bed189457e30b1592ab697a4152774104f0c7cc36d4c44e0ab5c6e10bb514e62d7489eb47b53d2f3c844f2b54dacefbf37cf516471d701e2846670c34ad4adc2352cb2dfc8951cf7f8071c7c89502995f1ac463a16cfc499e74158c8f0b2193d160880c4418b4c70c2a447074852cca4a2a0f593658371b8e8f964ada1c751108a6e8237e016bbcb4f9c43e4e2da9b00dbb2d59adabb019927ea0c8479c78803e9dee47cada7165d00f95ef3a2accb8c2e35c8c6c0681f7f5a62479aa023c0b9707ed5592a84e7fd568f5f204ba9cb4f769a56cb68ce3d99da5b620dc44f67c3392de14b52a2a3fbfee1b364e25078e2a94d10c8df6716f03d2a5e0b72b165cbff66a10e91b343b11681c9e78706628492573968e88d3c148a3dd75810dbd5b881d6a6b4fb6fd4e9e1b17c257ce6ff0ba8e5d9cd703af9a2f0f90dcc64fd26814633f8fcbad34b8154032f7b920a70b5955019f6480ab5ec256cc9a2945e6e88eae75e555ff553f7e8a9e49d493fcff7c10ec8379193472a3e1bee48410583f27cf9e0bff25b97b037f9bcb80b232f594779cad36fcd1c218bfef815ab4898a8216dcdade5159150f45a653216998dd6d90c6995db523a97fe750151dba15c2dd52cecfecdd49a88d419203116ed3d8c879611ed0458c925d19962fd021e6aaf59d6bd3b2b05e79527a503e49abf9b7da70f090c3b528ea4b2b989039151cbe2ee3e0f51c6248133b0277a1986d8024027726e3ed1fb4fb9e596b282a83b404cf36916a58fcab215255891d7adea47f6055a1b3aa94ff4ac84937cbc17549ec0ab4477e37dd226e346387c3eae00223d3c9d66b309b132f2fabc4faf3b8bb6dba078038774e4cf4ab25e5d482dc667446eb4ec5e41654db42cd39e9f55d9889bdd06e33556c8b3f44a8d4508fc8899b3f76b0a1036f163423a9d9fd1049fe89a8b30fd2b5178f929438bdf2e498bd133516b92b131e2dea1892083dd1a7a5b2c13809f81b5f8b55c82819ceff81dc1b7794713b765c76e281680df9f922581c3b15f90d0ce245790208bac2982816dd4d6cf67b498951c70317844f6cf12f1731511a54df0a24c6358fea51928ec769b4346863c97f0771efcd619520ae5f11198ed6c5f9ee571d1fd48af248184d36fa6d3f111d6f1881d9900ba24adf143aaf184cacdeed029cc6364e9f39456b92ddb6c57c79260c0fda633d8b228c2bc6c10924f0f915d5e6f239be2d9462f1b362f14f342b433c05560aa5a745418f65820dbab4aec274d7bd4ed9ba0ee4d382488cf67d268916281585b4a7b12169c5089412c1057af2c94f9293a2f6f848ea039502af333ddf8169bebfd90f311abb12f2133162281bddf78eabc6a52d6bb41f2c7a077040bf037ac2fdf5c967536d688d1a363dcae0f11266464e7ad69b211fd61f8eedc49da1c3587eca8f61b96b0d997119c8acb0a1de8f695d2702b4c13d7ed4aefe7dcd7e231d774ec63fec65957d70d50ecf06990dc6fffdfc43a9527125919688445226e97748617c2c472e7d053a90c6a6a29b4f987f881555df1f8cf624d8ea88790e1a82ae5bb6e422f2a78e9fc588e91fcb7d83780c9204319aa871aea37476974144c9266698009aa9e7523d4400ff5e220ee24fd9a57fb43a69441e0060ee6b950fc10562d0ee76c1eeb636108704b71ac69c7c524407c554d928750c9102af2b667555ab3c74fa50f423abfa81be96184bacff231e1cce87e007752739276a14f7c27eab576cfb4eeb71454e0d2c11cda214484d24ec31ff86acea960ef6912ebadb8fe624d0c8018542d30a477ba37af4acded8d85cecd9df255ff7f0578b5788aec802745059285e859882242ca501c21b8476f72efab84fc41ee670dca89f075c5dacae4462b0e69b078735a8e06701a7b6ef66e93379cfe61fd3043849464f30962b2e438122e688bfc540a360f6cab9f56aec0d7531868efc68112e2f4285ed76de462c1069aab7e95e049e61aabc725d69a427847ad6bae9e29541294a03bd208125cb2ada6b0a200476e1763d0b24d1f4d7caafca2ce6531882a871eaf50b62f0e9ec9a267edca372c9a2d97fbc5d3c5191d2c388b43603e9b0fee1eea47227eeb9f57d43a467d3db4280e92eb090b862eccb28a1bc75f76f59a161e1900641a5bf2a5a764cdc8e3d477300877f60b6dfbf2cc39bddd4cd7377e4ed0192cf793a101d24dff45a620f9004c41353498c02b499bac431b6161b923c28f593cd2005c4d50464ca7b2ecfeabf163a3f0787e6bf6b39065e211cb6c341af18f44767045ac7bfc0b9b15024e4ac5d2e8f3c7bd5df9e92c9a3907907ef8e995e1f7a63562fc1329ed3befcbb41c5514bb16625b42430fae6e515593fd037466ba8951f11f487ea7c150087e0dd96ab9abe3ef15357c04edff06c6df68caefb7d889a4901b39364ecb0d9934b5a3ce04b3ec76da6260352f759dc7d5504126e1358fe1d380e9988c850926e1ae56b5b163a1d89b15f6bec5f31b92730698965e50900245ffc47569142ae6fe06a63b8ef4e21792812633a9da52d55f2aa047f4bc544882bc156c786a445c97a297cd979fad0113c9bbaa7a4b0fc40037f64e287c9a07f1f0ed8c9eb4c465b5cf61f8ffb3b4d3bdbded3ef7925319e58385f5aeaee5d0bca228d727eeee2883bd840157cdfb1193c67ddf9e8b15244399714ce6132003d3735bf0d437ce81351fe8c68965cab4c6c9dd1c5f38d05b3e216ed2215d66a457da983a72ae212426abb139e5ac2d1d961c40cf7d65cf7b3a50861e028fc0674cb84f15b1968b090258aa147240bb8c6df3499cd13169f9401c86afc12dba23bc3be3d724a2c94cac41f93ea9ad9fc019afdea686d821cdb7c1181dd71e7983746a855376b3a990508c894cdb9760032bb8ad3401bd6721a12150842f96dacae3efc4fa53b9b8349d7799192ea6886b9b0406a665890a3bf3cba06dff6594e77a8556a15a3a4bc94834e1b1f76434da86c8f2dfe3ec051ee8daca316456bf9297524e992826aa7b0e16724e7a958deac868da580c8df863e3a24cb6e32036abc707c28ff6ab2a2819c6c0d9b449e71b0b531b6a5e9fb0149e754ffab6245831afc1530e6f71d932350e3aef22e87c7c5bf2ed6ee53dda8453133200dc0b6081f4f2d85d3d1992fe87350640b4dcfae406ef20f1ae1db74ab37597348c3c93b492126beed1eeab896c9ebe18939f4f3abd1d9348ec848d71a94d21cfd4abf2d1f361d5d243919f3188dfaf7a51f39e24009d8697088c34546c6f123271114491c668a1d94ae1b6ab7ca5656880b1d2b0cc1b158ab50b48d2ecf49bf83a33f8fb401c05bae0e4c2729aa48b9f1f7d774e7e1078150f46299161942d6a56fa97a96f717256eefcdd1ef1db4bace806f7e83e7392c3e52c6afcb32acc64877a1f086f97470b2fc6fb8ed51bfea51307b35d4d9ea190dc2d3176de05391f806fe42b62e8828d8e3217561992375ef7df8cff3b0f13fa2b7cbddd77850f2fcf405adaccada960d1a6f024081ec0b56883cc50c8fad4061e29bb4be4c3b4100f2570f7428281d7162ad9ba4ae89cb853fe22a2045cdb896e9964a6eb4cf2158089e4805f56ec596f7cf4c4cc8f0907ec3aa4f2f0e6ef215e9826977c47629a63a630ceacb721fafd8abd9fbab113c62a9f66592ded83ac4e926a12cb394f56255cf58898f154358e550ce35f6ffeb782ebb956bbd624337bf243b361c8ad10f9f9842f290b28167eff54ef9081fdf163195b43efc5d7518a641d1ea97b5626f955d53a51185451403a4ee51e158f98013a4bf3801db6949cb01d4cbcd440ba3e3e2483f5a33c4fd2c3ed7a2b52fc263cc42ee1caa7e05627e814f29ad8217f37b8c3c553b7c7e14c27af449b1806f97e6c5991b1e974f53f77df013c2028b3701f0c78aa7b86f3e07611b4f5334d0accc74f64fbdbf4e2c957272a328cab6669761472e7dcaf72fdfe5fc21009b5e954742deb6520614ffe13a126fdcec4e65b167bd2cb7392316a6d71c5f51b96d86ba08ee6f3e5e90cdf88527fc251573b2fc0225f58be6cc4a712d7a81d934cc1f60a696e3d5650c4f5b0eac4d6f77dd0d105faa59c4051e453c93295dca568055f7044194d1d521fc6530b4d98a35ab7e6221bd6ea74d73296a71aa747bddd7d79e7e51b99dadf629e4d2c227e4056a1201c41546ef1740dd3f87675362d8e893fc8768e06f343df6e2fe9c1898061cc25c113b32f3849bebe6e4283aada64ba15d8f63cd094463cf167ea8e55fb77cd9a8966b219ba86fada5b579fd3e46c7ae4bc22b885d2a9c54c6195f6964278cecc969be75fe67633be70f32726c1497c010e930b6a7f7bb4b18321a7130d6c02fd3ba76b8fd2b0de63d009eb9585fa1208639e8ecceac8b7d2e6417bd7029d212ae23d74ecfff0697a78db6b67e3872cf900fc7d660b42aa18e452765f1f8f545d7ba8d752f1cafc9c7d8876ee7f14d45f1c35727778307525648cfb5eeb00e196a537e36548d83a76a3cb08678444244a030f253076e31c40994386bcbf9337b4013141f3796f59196c6578d264e6fc93bf845caf9390b5e9e968667e80e2d3cd53d2c622153514f0e65a87d68c9a13c936a59f290b29dc701bf9b62c1b3b193511e94bf9f7c7b43b433d6ced6727d13007f747bbe873e81ecf46317301489f2180bdb5a66073504df8f858924ab5ed7e523f032360a217492016c17a4c2d8fad7acff68751a3a522b923234ecfd414e09797e2bcae5b8cdf50db6a273f8946296a7e7b95a3b2c0f941b97bc0675943192e4a82aa3d6e441f924fd91dee4e74843cfa4604006443d71a74b6b6c8fe24953b87fb58ca9d43adcadc53e3af308414c2ae6277dc262889c5d71da4e7770fd1344cc8627de2843d11c9d2373b0ad5c2c38d2a12d3d225fda2be2e18f657372f73d6bc52f15b047999f9fe84836bd972a5d2751a75068cf5a1370343814e4c42673ad5e7a373a5a5af661f285195563f436b6f4f8f4b570cc556b9f57011ff178ae6b86ebb3cc8faf76f33748189df4bce450dbb4f2ccff2c37e21c623fc153d672d8b3b9396172a12a3aaaedb0dab12dd3f5a159bda422c42d1d021d090e2037b1322a0a8176ad39f27512867cef9cbd6138a5412a0f8d3eceefd09ad5797148c5ac93e700d1fab39404a8a6cfea99ad03b2ebb647c8ec4fe107bab17eb8a759c6b80338b484c9ad4396cc6704724a4e504bd053249067a7173fb4c960479341c3a33e52ba18a80ed59d21e957e46f06a07dccf32afb2b0762611a4f15b035f9dd78f79238a8dab54d744e8216128e5be2323b2030e086eb24aedae02cfea799ee982ecd4270e2a8afb30ac199e5e3a55e912103cba5a1c068ca77b0464df2ad81941e439158b86e3957983a77385f75a19a6a5ed316a3427b222474b9c218f70942ec12f6666b7dcf31abf79f6035cd79e56b00782a2514a848dc0e00dc7da9d74f2f250fa92976368aaa46c79ed74ea05c125c8d40d29be34ff121c3418881715fa0a23a06f01212bad0a93614728f742670461c49f6a22538160b9306a2a722e3b1d7527179c99c139b1554c5a8631f714eab68acfb0399d9621b30f0d1c6a0138701c6fd69f9a9c3ec23e8ef54e34615056b2510deb47796d3313a6c5000baf21b45df515e8038b4c1e779ccf07bdfdbc8aa3a4da8d36d7d32897f5b15ab47ab5253fcaf896ae3676622bebcedd194c2fd0e2259ce572e06333e8ce50f3a0e01da81f476d6e781820a19736f548962f17cbe04e8b840fe84f0bbaaf7c48c1cffdfa1895d08e3311309c355d94408df691806b000686f918dc47ab9d212187d3b94799dd14d9ab21f1b475c0d704219c6a5873938a7d241e621027d98fd62ce0409956365e0c6b45522c528f27f717a156eda6a5ed0aa0583e92fb245db223f8d372fa6a896a85cd5b6b243e0767a7899c7ec5cd420b2e3bfe265a78ecc77613a64e3e2edba2c7ae1e478906f08c6ef581b35f228fb2d2d44ac4c76d1501aa53951f0be13186641f42acf98bca7418c20506563da44fe4ba85afb795dc776a08ae4c05dcc285d8c5041b5ed3103f9a773bd37f6daceeef7b0b14831c728629b37014c62cdda1871c798c885503e7e47f4cce2c6599dce759c47542dd5787745da57b4af0e026eb5ce68569be38120beccc7f98dfc7a0cf011753e0a5b0205f230322b20aac62b3cdc86a9d95724658452a22107caea8c73259fe3dc7f672dbe8e9d3b10f195cde2b24ec17837cdacdfd8d6d388c0cba95d648483a95d54cad11e79d9899ab3fe4c67ad3ef79007f98ef2e01c74f733ada5f0ef2a69f92468f8c28e3f6907b8ca2164845e795ebc436c3af96c0b4835187cbcedd0cd98b74c6b31653fdc2bb88587934dda90fd70fe89f4359fda2474d8f0459b2d8bca79bfd575651f86e2a51bf429fe607caafd75d2d94cb3544c0458f457961ff9ec192a1aa2d76e4a412de35274583232cb44382ff8eff55caa7c527ea1e74bbd18e3cfbb7ff5d6d6d263c375a4a58546f2ccd26d9cd53821d1294cb2e7877b1f12ca3cfcad401df4d18d2ba60561c3f40314b047c4fdfb4aa9972d36cfd0e9422dda31374add8926b0e5a16cf1c89e0a2cfd73877f9c8d20bddcc79879be69b53ce0a0d2ed5a7269f55e6ce1ed849ba3f8ccb4cad58fc943c285b5e2783dd848ecbbeddebcb08fffdca664ca6b4e1897f92714dd9f6347e6ed624412bb7ba4c06d7d68b2c2ebf2ee05471d3bc1990bad63be9968d2caa0d79f2382daac0cc35eb59f59318feda07df8b26fdd9c8e6f7765986eba9bfc14a3c7d64385c9db68015e95757ff54889119e9d0f01281baab24c82c0015c58c993959c78a2012900d14550d49777751d63b146b0c5af3973d94e5dd5266055d03f940cf14f31f8633685e6c912cd583dcacbfc11d2d9e6577e3e959010e6a3210a97458d514852a75908ac2a667708af2ec89c640a068e897e792f8876e4e70e8610c8eaa5ec17aa844ca2347e16113fd31c71f2c84cea198935ebb2ad6f13a561e2135de7e52802534078ad602040d478d3e90c660fdca3d64a70553cd14a6c620f35bd9107937d3c293898a195ce07983ce5b4eb4a1bfc3b991279662aada6a50c46f8d2ad0470ac9eff8a54782cfa95fab7523af4b76303a9d487821d576e08d7daf2ea3e845170183493b6e000759f13f27d43e1047f0774ca75818cbf25fa9ebc48f6a204d2eee4c8dad785be10748427596a0c1399c34e32d37d6942d226a568bb4bc5d0e357d7c216452d6e171574c887bc8f6562f20083b668c3ece3d0ad5ca82fd1b7752fec0bc18a854144fbc33c756291ecaf3e206bfe321d7ea47f608fd23e70e91c84da7d20ccccdf69d74877f5f8decca04a5631c28c065bdb69ae69a32c9e8f2a6557d41a5fbe7698dfe0ac44a7a66b2d8fcf6518cc56e8b707d0b5faa10f82b012a61e84048801463052f1a77fe10e93d01b9f8716d5a521b561f948362c927f12f74cb77d23fa9705c0f3509720ea8fcb5e413a85b542376b473ab8ecf74d22d7dc2faf910754dbac087faa5dfcc6839ce92bfc3e0db3da29779e367df8290d73ba48731b3f1e219ac30f698f60393a6d19c7de86d3ec946f82ce667c6a5fb7837d303c37eaaec6360c836204b0f2ffb93e14c30aa013f95460bbe6e947ca8cc70e130b91f8d573b1d91f5099acfe8051e0ec00e52b3b6d610d7b5fd073d01371a6f572b3bc4606ede35321485f5959ec2774a54d48ba768420c8b52141c43129428830973007cb4de822213a23062c929e0cd69bd678cd51078fb432f98ea480d320e5ce68df12289bd3124c4479ade265953c5f8a8eedd6b4d2cfd6027302fb988bde1779878d6cf2936ae8a7b5cb8c10e3024a5e857fb06ff0732b1f3b62c5b88748d4cdf8fdae0d8ba3116d992922672fe549f349755f939d7c5e59abc26b0def98958e760ade0ee3365bf45ac9a467bb88984de9459fc24142ae5eb42198dcfcf79c7d644f7ffff114882074f39adc403d1fb19bbf2b0f72f1192db672e8bfee188d3319752af60fcdb5042b961127214de0d0ff37f44341671a00ae5f2684d91882278f554eed663776614c80f20049b6812d1ecb2e20fccbff46ecf972a7cd327e44c324368c9ab36156ec4fe6ce67f5a1b1d4705ffe78e144b1edfb5e282ce43943bec60bc036b0777e4ca9788333f01a1ff42e007626f40be5a998db9aaf47e9fd965bb180097454409959072668bbf7c40f8625408ba64cfeda5aafa98d91e61a10a9afed8806f640f108c2eac2c62ed063d64c5b23144c4590032c11d2f339710d60982df282b03e91bd875d4a9d94e8bf3c0eebc9eb871c77fe218b93fdfaeaa5d5f686b7d801800ddb5b1cc7eaa45e8be63805e144a6dbec800f7373d1b1e011b647a4e60f13a59be9d0f36674f8e2a1c2c47ea92a3da2be9d19c48616ee99f5b1f7404eb22449563d872ce98e96b5689f5069366ef71d8d782740f64b05e3847d338650e249fdbfc956ec0d34a35daa40f8ed94f8f278ce14ada621c4fc6b54aa5f3f061686ac83c42d2f663e44a4bc016734f1f868b99737b66385f6512772fbc247dcfcecffaafd7dc5120fa455c36e5021f58e2f7eedeccfa5739e787d9782f8b09d45a39a02a66707a6f70ed74e20b68a00295d613548c144e02db774b1cda106aa996ea04fa003f565b4d59f3a47333c100b645761c057c36664a93921e99b595f76c6895ddb349d433186f432df778c53268912da01d09a7155702bb10e3166ad1ec596d24909ab0f5f470e23ddb597cd504deb3ebe8a7febf524898e2dc7f1af0a0cbee6377f62abaf80b8985ae8c46111d41ad7cb6d62920caa064e881a0111ea0db15ddda2e8d3653f160142e38c5a88f9a8d6da701d0d5adfe962663b4de4e3365801d1b9819a0b8447ff806bfe086de7e871eced0f2740b510dca5232787de26cbf38b7eb49bbb32786463200da5284e55d9365dc50668278e9bc055a03c33ccac9a2bb9aef4c372ee81555e273bf170627ed2412f4a41809bf1c22bad8487f5f18d25d3093eeba0048eb86adc77e779ead5a73bb0daf6b91ca02206990f4c63a533cda9be5255ffa11f9878dd2f83cfd7893e4ea639cfa91febc2dca60bd6f71714db9ca83c7c6f108b753fb75d7474ace28ba5478540c8984f511e664d2f5e64bbc557f7377ca6c34b218092ca8a4cb7c5922a1778c3537a399799b4d8d995d6fac792645993ecc792a8806ea7cceee68b2e61aaaf0ac70f26db0f12c865cac0cf072cbbd126a8a9064159734e762675106843f8738e0f613dfa19297705d2f7966fc83b5b2ee29747d98b36f6c71f5d5f40d82e5a2613d2fa3a596aa6a1c4de393b6c1807d51e3099e9a42a6676fc3319f2f5f5f547c2630fdafba01b169573817eab172ef4f591e857d435feb01aeabf908587298d740ebf2e680926699adfa1723bd25759f18c061515f449e29797facf08618d68d857ee25a7b84125dcdc7effce25513a715723079ee3b9caa88d844d55ec85ed2021bbe918ba27dc66681118f808b7808c7745d6d20b55bf0f379198eed8d4a48b0e9e345c2f1d724d9d3ab628aff026f04627ccecf65f937dacec5d9dd1ab5fd5a2c63bd21804c0b4f40e1257b96774c434cc0c8d909cd7d15af9f4b955c20ade31b0d400b01edc5bc26114b4ce83c3e6b04bf00283217ca31e6d894045f18fb6c981d31a5b60eaf6be591674acf268e6785f1411de0da190d6f6cf853380d12a0587bb47e1a5db7ee37405e918e96636be527d51a1b4247760958bf7a48711cc94e28642db1bcabb195b57c3ae1865c465022c340935a5a7a310d05b06b33fe85017dd10e75c055835a71f234b54bc3e6965261ad5706f36cfe93dd974881eaa0ca647d4c002443ab04837dc86118a41a4fc9def42123a9fb79c93115bc346d6861ebd0f9ac52214e3a356d52cb2c0f39b490f8998f1f4dd6f4addcf6d099249e1e63295ef687fc3d7330a227280decbbad713c53707c949efff82dca06e0038fa96defe30aa9ba89aceae0da3bbd927f09623f0eed467a193257f3013717549725649e42fceda1da059f69c1fcc52ac3604449bdb6a4e6a239cac3e78c31d3b8598a40beeffb0eab6169cf01520ee265517d180f463d6895d459b12a84db5947dd3f9a89171e89cdb2c39ff89da2f3084ec8646b38be537efaed800f6168c33192faf4c461e6aee56aadbb51e29ffd94818f4ebea9efb482003f27c83d7ffb0a0d38ba4d24d239a3711d01128fcbb78508efae65998ddca99914579b673a491bf55f6350e5c7a13716718e560b8d29b5263443282bac7016415e381d33368b68eb42a4275e0630fae9df71e86b9eb1bd51c66ef24da2ad2cc8130234ae7ff0538d40bb8559bfa83d5f6b583b804407353c0c834236779b815dee3dfdfe53476d42dfd81ef62ba078dee16f19d4ae2f39889de6cbfc1165a4fbb80569a8c642a74d5cc7dfd2687097d4e9a7f34df3e5d77d2adbd673227a17b563db82de2c6d3d779ac1771b1243af8ac429a0d32a133c46c9c6186b0b4c490894f24c40ef53c47e7a250b90e54acd781d5b2613b085dac4c55475f90f33745351858b3fe443b38939e21ed5a8a283db8729289a322cabbcd1cfe09d9bdf8759275050e8053a2ceb487bfffb7b478516f34e6765bcd7a5a3fa4a1376b31152dcff2ebdb28ba2620fc6df089a6c388abdaca61ec107006fce2caf837d8afe9838bba9f750b6f3360b617308aa83c1d596d4768e9bb0b6b56deca802a9f9073097271c87421b3dcc9f454628512fc2a6fd84c8c27701e6a7285f38f7b2fa1e1745da9953cfd507781cfdc9c88b7940ed6b4730f5e1e018b103d6a3d0ee8e60a21496f4e6700ea9a54405e15ac2f21e92c61779334826f757317379f8877a394075ca39648f7a7013013bd42d5d8dc9f90159f9d1b29d85e9e8bc65ddc14a10868e5be446d10b29433a81bb981109ca092228fa7306a54574b7c7e95ee6defa4bb591e90be6262113c9d53885aa3123e9ae1a244255ee156e4e1ea2ef61f29f793dc8537a9775087e9be2bc94d9f4006894f729030d4d555b976369d71e01d67639cb9a61e2fb93c5adba6c60dfa772c6a8736e5cfe296f36fe1c0b7c855f6f1851da203e26897398488250c5d95e84fecdc6d8dd57d6469ef78b9e6f39cd1ff6655956fbbaaa3bfe030d2bb363f8337764fbb688fa960049b53db030b2c4a23f0961a1f70eac7ad8d5f49109b220df0975a06c64f9a6bcdb2dbfb64ebd49acb5393ad610df502114e17d39e972107add11093d8edc3b496be990a3c3ac9126e3a9f5312d5d8166b2c5f7d051007b07bcfdea6742ef7324910ea108ab69435d6da7bedeaf3e135187a4380e7e753fc7f920781313c76286cd95bcd741ddfd7f4e30e580c761c078ba78dfde22082913a8a916ff73750c7dc307024702c651bc35c930928b0ba1dba748d3d6ff0edbba664c54dfd568a3db46e139e41a984a5d438920bacc69ccdbc11ae7dc0896b84bc0b646fb74f7dd4035b5e12aaccf3a6fc825d91456f7d71d0f3dcd887ef9ed2c7703a14f24501ae516cc3938431b3c6c861d2a18a20d4bc632639d76dde0b82e71d83e94ae67fc9ee84449220bcd1de67512ff6921308e49cea85b6f003f873b59f5964811a4e139208b095cf729b3f43f60046090c76b7bd82a35b18e2da83d8b8698f4466c5fedfa6530113baed1b138f0c3243d381b270186dc6908de39d1262883047a8dbc041b3d208b1ce8f0c46f57e25852b0c7457368677fb51a31502ad89f1154e9f1e7f2ea5be6cc8903fea92273b442e79309f1a62344df88df0f8774badfceac70b399ee2250cd5f5d6d66f20df30a585b20d7bd454899498e5ac716ff983fbab3af21394a16f70c1ae5284cc7ad372cd756c269855fa05999eb2f69d0b79954fa998d4896d3d2143f9f2e4276f59ad8d230a258a1070f77a95cad93e2cf7bdb69557127ad0a0f43d8e47cc3e6d63d214b4887b2f756d6bee3538b741b2186377f3c4f993bc3207c6c01dd9f39d9e161ff3d254a94ec79c68baa3da57a1f7b4066f66409aa5f158d5d4c1fd6bee2b5dac78b818bd50193b40cab7a828c1d34f8146a2044e969638a50d21b44ccb7dfc45c2bde359e6aa12ec2ad2bd5307eda39b473dbe67bb171cff3cb3d54c352a0cc0bb153ee8434be1c479334823bb27adf33066b70c3ddd44eda47fd69eb265296f8a8b5362d25ae094f6d9139ae51ac453e375a7d8bfff4f8f6829fb128104eac546d20e6564dc70815acfccaacacafc641e653174ef0ec9cf54f66fb5114ab8ec26d691e43ef34c599128ffb65357c9e79412033d999202cdcabd8e09ad047dedc543f3e06fed769fba13f5a7308da57d07f87677d6a58529bd75d8f3d7def6847e75efbc783c1cfbf15d43d8a7e343bd66bb9edd0c39f3036b0d73be464a29d082498086db7e5d880a082585188be3fee86024c859cfbe4a236e25f861e55e0c90c60c64307ce560a2a6791fd84f36bf9dd122aefbbe320d59a57e2e49b02eb7ac6ad7e46602c383a3ea2defbca9dd1e27b9a44f664819ff304dc04416e37aa4324fbd26648d444491a45dc03318831fa0d43d570878a64d6474a912df334070e691aa5d0693508282f60d50617c0df7a7539d4086f297f45f976a54377ddc61c53f373da8ff6e09cd151f7747187fadb0d33c7afa4dddf1eab9ecd574d3f624d87b65da490c66a6b929b84d5a8ae2bef5eb06e6d4f26c14b3e83aa2ad3389ae93f57a9a1b3418308004262072e266f78b82f169e32062475c281e65fc5ffe0b896487fdcb404072f1ef099cbacbb66f78a269d564a89368001c1cbb0d9f197aefad107da9a147811d5e7f8f92a5238b2ae28329585a735d7962a7d568cedafe49113bc7d06d5e6bf478d39deafe63c83bbd86059ab451249188d312a850762d5f7b848c2c29d550b7e859a810725816b2734dba87ef512ee5a35bf9498376674f36d63c29c279968166d0f97974fc1dcdfb6a88d8c119ef6a298b59c3beb700bba790189079523030f60e4ec4ae6fc0d8fb9bda68de21e2868a8da9e0c39349b2b53c6a5f57cef86335684b08bd9dae4238a3dc142d24332fff07310746276cdcd59f3d001345e26dd91a9611b64069a58bf0439d54dd73de1e9917c610123f0feee6aec7809168f50fbe1700e87d3a4a2a50a0be02d53dbed0f88f0259f9679ff9398943115ac772837d8ebc8f0a7f5c17c5af604bd640752ab80cf507e377d2d295ae3e497a2ac20b4e883b477a45d74649b0111fb9d29539fd77055ae180af7a7ee1562c2e5f607cd8a0becbc04e13325f1bfcd81ec479eeaa5fb501084aa095a6518da3a4d28e265da0c2596cf800f120a58ffee4e3bddcaca458b8438f219d7ae9ca4200c356980dc9786d58c36033e0bd6b634908007d81a9e230916fe104afa423b62f23341a5aa1e3d4600552aaafc3ee6f02952719c9cd750c1f0b2732d19720b17f0deabbbb0e9c2b12e08e3dddd96be6c84aa2b03541fba393155278b8eaf72c6afd79aa7cf2ce1b6ba2ff94171c16a69daa38c0c66fd91c8831ee6c36e162ce5cb6b345cdc790deadd4d0a3560a1ff84e700d47bdf4883e7fc2b46b05d7bff7d234b1d28472c03a7f7f9477dbfa89e8871ebedaddad1b9be4d9ae5d16c98e83f6edab6a66b1f96d72cffd1c81b2e9b229ff1bd88012970ffa0cdf17cbe619a982385c38ff4b848b77a568a89fb9c8232767b8bd78f1180c37cff6184202fbeee73fbf7721f08d5b60bb1a91b50d9fd935a2e8525cbdab27f550b82291e4f93dd0e7ce946c7b7832ac56272771362cc35b85d361756a1e589dfe4d33d2a78b6d9f871d8f236873419783dffef59face907ff0e3b24320467e0e74d13d71043bdaad54238dd88d3a28cbd14bfd53cee86367b1f2873786d74ca3bd85f5472cbeaa21d602c60a326050fca36365c40ab84ba124ff34138b68487ee9130a3e0bbf27c4ab72e126b0a634f7b81f1c038addd5d0a09d43c079cbaa003a042aad09f877c114bc0bc8e6ecfa2adf78b6e5dfa93dd1099138c80188a6a8df3f045f3eb3a0fd957c7771ce67eb31d89ba7fd5656d70fb82f8a505f77e2466bdd0b45c0ae8f408fa38c41e6e9febfc5ae112f892355cc156a9c46eef3e7e8531e8db832b3abaf926636714b45669c393dbb02b6a57e4be3aa92f962b65ea81d8adae696745931e0da2cef79b0a40439e1ef5e24b36190174610f82d95c8a8d38f72ad26255bb0092578a4ba181071eb6b4b061505e1944aff8c2732a8e7e5c902f695ec424c5f5e761562c06e0f37c7590e546916c515502f76a569e0b05b5a11bb36038d51c0dd57c1525194b3f79ec29e6e51c615ffa8ec32538ef9ed58981a4c476fffe903383ece0464c1941d4217ca9931e1b3b70c68849d550a3bf2e859e7aee849fdb2dbc2f5f71f8c7a9ce5f8afd7cd3f648cb80643685c825c7f4dc22c1fb19a16a36bd7c9f224c338cd6b838aef6e13728c5e5e4e10159bea3a9a66e962251681d7005f50c87492a3ec4a175b80019b72ae20acb51ef43e1bd25a1bad3968b4e71d3412105f62dd4e6c0b84c54c28595515519ed55fcc347b2d5fb727a4dd0cbdd5aa78fc973c54d2e80209a0a2fcb05bd6b7bc17ad521846d2de742e4b9cde1a31440ab66273bbb855b6f6f23c7603a1f9ab25205064b6fd9705644033da4668e974a046d79bb0629db1458ad23ff7770363ddcf65ee903b3036667060b18c8e17e5d90fae1fa2d85257c89f4cb69733b1614279f22226439b55ec952a2d5b5eda40fd44ece8722a7610b3ce54ecd3f3f9bb19382b62acc547e7c7fd3c519220e1757d0d4a36d5039f46a12c48e8bc10f7989adaf90de85136f3b81375105fa9fc23bb1d34314b85c3dd2d4e6e38a63d67c79d46c2a21d2e669bbad5a8b111252a2654a46bbb4e33f65d661fad1b600a06889b119b441ffb4cdac8584af5275580941419e6d9c8783bb03e2b8aceef0357300713e003e603c2f174d8bd687e42f7b6df840037971a22a858e333b8c32b5235a520e47306d7b931723f86a53eb19dc822a4e6617aecc31176a03a71fa51dfd04880d99a3a63e522671ea89f08aed7fa3ab9f9de1425121ca69d068291712eaf84063224314e5ea68653110e63572c9ea1d0c3f6fd7854addffbd0b342b668f9dc64c7fd8a8767a831d91e2b3b86a00dcb3392d840ef24e923dd24225095a90e7f678caef2ee5086b700706b0fbededdbcc5941f078576bdea22db2303d9e8d3ebc844ade7f143fab9e5635dd316db77b2f67ee2bc1d4d407f5cd01647fcdfac7047715bd8f5b5c7e0d114625f2ba1b5ded6b1382fb38a47f65369e37f442efa0f6ad89a50a1efe283b85ec426b2d15ffab665fb35cde74abed08ad9565cc9a56907c2d2eaf509b87ac52a90d575f6968288e0feef79c6cc677757fc7cf946ac578021090af31bb101fa5cecbb40934ae824aa0d6e251491168d80671914dcd8f92e47b5b1f580dd94447ba37aca52d6997336df880f15fd6c2d6faf3463cf050e4c01e3ffe644f1f7b8f4e40fd27b845fdcc5b030a0defa4e526ada27ffdc3a23b9f473913d7b707263fd43b301f38c7365d8aa50e5de172ef1172db1a464bd05edbd4aa1581134fd906e92751db39d2e49943b7a59db16997959c7699bd4813d006903499bfab711eec076363e26ff5aa7d86ed7187f91a3c7dba6f0fe732abc2f98eceeb173722525a8ca7cddb545cd749f46bd11ef86f97634459a1d36358108e0be2739064e1c299cdb76631a6dd9c1a6025d267e62729979462328fb46256b3d758de1bcf3288816c16c9a45f1f39d0635f4fac4a409dee4c21cab551bde21331872436e7fb2f31c67c03832fadec5eecf1954b733a4c6b82fbe8e08b65bbb42dfe2ff0fdadc96411b3cf227e13cb1cf96fbe8b0811dab3327e49e5ad38138a068960a97a7520ef856e1de6f09e7afc876994a9825551d32109b49095fc4a5e314d35db01c38b686853c20b72dfff34e7f6a6b500196d3166636e6f8c308d69c0ff363bd03f1ea2e79eb9130d1ed6d6ed6b9f3873ece0a9e8f6f1936f464018bfc9f8bbcab11cc0170406a9ade16c7386273c9f5c0833f11344e07d48162dae07cf5edd558dcaacc02ba1891319da639b6dfd5fc14ac686ea4b5917d07689259934d1eb949309f09ed02a085cfa203a4f85ce3fba37d2df8888e80f208b1d7e76b0dc53c3a63987ca60f04a8b5a76c0ecde7a029fd2240a94e437e24ac68309a8def85e26fd38a90ab76fce6a9514781c0c71386c56c61c21dc9498d8bd3bd1c6e189c70650eef82052d49260d7705c5fb29c4a69a77936473b9de73332a3c9f61afdbb22dd4364e6f3afea55621914cadc9e7ae14bba0b382c2756c743b9e868522824296f19b59ff14b466528cec3e6c4de64b980576d9eabb4fa78fb4873a25377dd681050515a333bf60d2b84fc0204d3693305b29ff578ca2216b37a5590dbd91fc8713577c7d303fbfe115cd8a4e2697d2f0b740f284cec8f452712fbac3116b0347e5f0771aac2ff8ac15bf299d3b8a09dc4509bd657bb6a7de1eb9390e66b12fcf3bd37348c652539a31510c75044ad183441ec7580971a16b5a5d127c4e67afcfa0d586e53eafbab1c419985f50ade0235c4feb044cd5d6c0beaafda1ed67282284dfe6a6309f69e83acc798e6c4ebe497a7c2a77123e08d2b8d5c2f6b9a744ce8dd3faf5d8e1c994a5f92be61555d8e57b22b05f76cc2f5a6e3d7736b3e6d2b9cb3a472c291b09f6c1c04f57d2cb1d7576404284e9a24cff12503160f1d874a6d16b6948d2bd1770ac55bea56991d543e906f8ac48d5e221caa5eb709307a4a61011c3b62afd1d67470705ca760236e0c1f3235723411cecb0ed8c28b504ffcc0f2e3ac9fe522dda0a88eb47e94afa1106866df263a277dc9f73068c035b95f726a4f6205d819399a5565e59629ba6b87a12299579f6c3a2e5286814a3a2a26d4602da06e0f15ebcc3ad8218ef0995fa0588659e4d5981d02ed743d07714a2691237f0b3fa6e38aef12965bdd458abe0fadd211be4b9252891cedfe21dc37fd935cfdb02c05bca8c8229ba2d83879cb9a8ae99bae9e08e81ce1b4e70d0f4f382aa1bf3b90d2b5e04bca402b82d05a6b47c5f57d0d6a58b3b80beca41d85adda3935a0083805fb9e9119bfcf92637b1d3d819ccbd6e17ea0d3e3cf220d5b52d7996da9ed071c4ea22c8a63f3037fe2f2c84e24a0b968cc8445ef12abd92178279e33736364c70d84a441f859fce1a67e62c795fcde9695e8f379fce47b549a04c13580a1b4a51e35c598ace9405014ddcdaaea91b3008a65dc2e0ed759f7bf059398e6bb3ba0e10c4d18753fa766fc4ad3ed89b9fa7c86d14dc19dfb4c13c2f767e989ed890d4bc77f431e27aa3467b0e05741c4cd161d5a102829bee59ebefbe1cded5249dc40ecf91f13e800f3013567cf0299313d3012d7174ca0d101d6e49f24642f0ab187862a116c68a1a23f532cffa8bf284bfadcf9ef84d4be48c81d6e275ce2c8d06104d4c71e0f4f7b8ab1da93f15f72c40ce3b443654df592e1ac85798d9818d80e3762fd313bbb09b20fe6c7177379b920a5f94c5241cb44074db7317fb038237a098d157f09d2326e61eacc3fbbad25ab4ccc737bb4e885076fefc689985ff292c52afa55d36605fb7dda123dd69a6c2e6f721082eea4f28d263758216e8ef93e0fda640177dde3a7ff8c4b4801aa59deb0b30c63c2dfdc3b7241bbe8d7f5cf97d478c884b7df98021d019d2f8abdb108fef5c63491085ca20d8a7894cd987f96c9a9aa0fa174d40c2920f20aa686ba6901367261d6e18ec240fbf0809ff0606123c3916e02c75aa1e31c769cc6b3ba0428c75e9a0f99733c3982823e9aa43fbbb64efcd98672484dd43cea16b2917fdf303a60d49eaf433ec106890432243505b4df2668ff7f1f190749be4bdaa8020c7d047314c5087d9bc8591d2325d8c271a92d630a82371da0c1a55e3bedc6136e3e4c8e3c54be4c75ef07e721c36ec312d03139e72b2c3aed464a7bf73f0c7d8033a007d339dc0af0b434e576910d53c04f4fd8a3e44d6425430ea1161b26479d3bb65c292ebd9d2b22b6959557933bce275e3a56341eab350995bafb97262ace824c2791851d7508c163a514c4ffde86821ef22780562ebf884a6a8d90d29774ac1adc2270f2720e1fc2ff777efdc088b8060006266fe484ef3108304910321d15ccb47bae66df9608a330630886cf9073abbf1a94be6ff4207f5348b5f9f91cbc0dad7157ee38b97d9e8cf3056bd2beb591b69178da9397ef338e89fb60cbe4342248a8d909f773c307966701dd5b3847eeb2a7ea6a0b549790f15b79f77a9d3e3bb654b0b44bd7caa857b1851b46633c7d906f6897ed48fba956df6b6475e151c0e2cd08e541adc4a464582ddfd0d1755054643f2be9d1a71dbab7a8d498918963c7192e375df6d496a33c2319e7d79ef46da6bede957a2a79af7f52bd017e6d0d66a99b6909921f5f658ca01a1e44a37216fb4a77b00c08febc6588a155705f5e700b60eb8cdddf05bb1f39fe5dd00ffa03dc517e2959fc87dfdb6b32180e81f5e84d9bdd5ee2c4b5e5865e5a14d7ee650094af8bba4143e9aa27dd66c300acd7379da063ab53b0f45628ca0a3acd36aa578ca3a5062cbdf3fb399a2dffe62bb90c9ff770d0183ea3bd24f91058c4adf4ea8f105c855fcf87d688e7229a7515f85efd246fa2730414b11b5536e0689fdfd2e8624f37a2460133e676eba1f5cde82b51fd79937e40302d9503c800b509e367c4adcdf418ae150c8d3a243de9f9891a0d77998a36b4d66a38428996f1d995e87ab242a976cf8380d13ac1208636a101fe323a7d633b7178dcb65d8246963a30a6867775130f5539a3f6fa7c17186e9ca64a5d5614d7bf6a3815799389e65cc81d63df659af75b460b66e2496daf5acb710609bc1d6e345d25486e439e1b7be7e884a47a5cd2b34bb749c7ec142a53dff236ac0e48a33b272c3a55bb777ee9673cba110351631f812914aaaa435453cfbe30a8d736162dcdf4f34eca08c92755468404d7bd0b105ee3a4c3777b9b0591fca8f2164bf7e8c27be31a7f1109a284725e51dc3b7f74d07563dabe2fcc3d8b4f05d5642b0a35e0947820fd8683e3ad7dc67504c6075552585bc39c65f108eade63cd9cdddc174dbfe5bdd579125b38a73ea53e3762c0c1780b7e51dc6b27f0b33d9a7a171dc0e537a70db80d3f1c67803cbadbe7e260921f6fb8a98a88f03ca57fc72fba382ab14578c200fcf55a6d64901dd756b0b893c2deff23044f300d668a1aab0ecba0950c40ff481dea45d0a3cf07adbeedeed57c8c4aa0f12d68b7b49f2c7f5f162a14221c65fc40dabfd433f9011bdaccc76dd5e1d5826508b618325945de66698d5e8dc3514dd5c1f73434b3b52c0889e223e587d8bcda429c25991d9413b0b4fd0bb86170e6f8925a36ef29fcbf3473cef381af84ae641cba1b2d7c1dd0abc54303770ca0332118358fa79b2ab2df432928674e589f1cb595b2371284fc635c6a66fb313d0a1009a73da89f2ebe3fe29769fbed5dab7a589ccb53f735f9d5ef8751d4c2dafb1865e10691298170796960323804c29033663424399a37deee9752bf837213b90a281192353f21304a1567a44df3a18469413b68332bf1ef591b9599a04b741040cba2dd45f132eac070475e10b3d7ed18e280a33647450d5853ba48ac19d7b8fc1b8e930fcaa3bf394012092ccf6ac8ab25c708500113f885b1c4508dae34b286995b014e1489756ac3c5d888cf5ffdcc69d8c1dc0e62f6885ebfe2f72f9c3f5495cc8970c4ab3c5a0e51a0f71a114b0b2a7a51235a7544b44cf041f65059b71834d29736cac1d65b0456f200aeda7d607c161f7862ce951b28804769119860d6883e5642a3fb450724f22dc24b3a01a66aa1e5c0b185f1fe2103fe82af808fddceccca158b32e822c719f19a08988c6d9fc37a3fc35ae3570074ba80763967c26c7995f0155c5627c8ce234986777a65d51a14009aca38ad04ced71416e61c70b0aed123c43669806b5608f6be5c9d918630030db6cb97760497b13a1b33ac7a22cc8864985444c0cf8617e7d562246a17fee3ae58d6531790629bb72380aee5d0bac87358dc930cc312d3be9c107627ba20e9a94e0194314ef0749b50ba86195b80d5c4658747d1deb5fe18b7ad1900307855aa8bbfecc52f5c7db4bd39fa8f1abee84ae1f34b06622d4153677a7d7cec5f9dfbba7a0fd0e97944556fcc83253a09e2d5369cfca20dffc98016210dfd99e769e80443b7f6f746cd7dc8621382082b646efbd03dbd90977465231ded511003cb64ecd3a4d71df822e3b8afc558581713d72db8151c6d2325f6114310e925140bd21086c83ffba7f44b74ec08c96d0b3853e6ecbe0a7973f4bcea8f1f5dc104821a55304920e74969b2d39245b64052d798c12cb24308430a80d18dfd09211503b4d7225e8d65e069a2651f8b0295701c827e9b4c66352a04e67828b39f459c3bb511cdf363d98affbe9df31065248ac4895c570413e2a380c78ae64c09d4f687af48eee4afcc46ce5460c946009f2839d7027a9f713bbab3d40073663220d8787a336ec3ac6204ddf4f8bcd3057b47a1c4dd4859390a54f72360e827f25cfd87f8259dff688d89d8f891a089641857126bdb2168c8966b20798872cef00fd6ad3b6780caa222605a413d6199556c004d0169bde3890d0962f998ea203aa701683eb55a0ede638419c3f90f3f55a340a649df27a118fcb3fd9af9e68c82e6f0451989573f4765b74244083cef982f4f100fcbc196f51c6f381e935ab351b69cfc0ee978a908a85fdd0261ef766c4c168de215770f77a3ccc85a57c031b244203fa39700af0fa49fcbe95febb961e6f5469ab80f60c5db780cd77704461638a9ba6ab6be807c7f8bbc5a01c1f9cd7ad85b5b6ed786b84b5470a26921a69b485b05557f7fe06b46bea3a3c10a2efaeed26be9fcebfc38f67d4b76a796d83a5f8ec609ccebc8bcbf211260b8828bd3b7222525eb2247f27f2c15ee8d1ddc0cb072c325ed0c248a08ca46e61c8a97668c7538cf4fba391df123563ab27d782e793d342307bf1b9908d050ccc38bd1edde277e8ffe2f64ff52e18a9cecadf76302671c0b86ef6f0e91897fe436e3ebddcc0073c2afa2c8c13904cf35ed7f21c8efa5650a635f7eb67180415f208f61df532dd970c3fea50cd28d6546e203286914add4bf85dd06ea6ce9ff0a798ae5e2a89cdd82d89cd17b5509322e86e260a60750c370a2721dfb267c4ea407c21673818cd2aeb6a96fafdda26081231620c1ad75a3231ab6ee0e865a766a0bc1e5598a9edac0cb1431ba09ae0a4fcae10c7db1e89e31757020cff573c493d4d99f7abaa4d1680bc32617a9fd74fc4bf2bda9233c11d1b19aa1556d0fa436b3eb92bd07df7412f554a8bcd6d0560ba40ae1ac89231c1ab28f901d919669ab336b1bef6d6c7f1a3ed3c9f966dd702f2528e058a14b98681bc8bbecd53a8f19ccceabfaea5f7ebbfc117c10715dbaabeede7809425e3c38fd7ca343697a3bded2969615cbbda11ea19c45f6326fbb0e4bc9c80d91ef3e0d0f7b58923191ec422879b2579e94b7306e9de5b9559bcf7f4e1a75a2cd9e7e97a210395481fa7cc55945ba05ca39d2c80d29515c90cbbb65508b6fb5b73782431e34acdfe910f3140fdaac89bb3fb59652ace0c8b6fadc8e2d17ec2b93afc6a6389ab8d8c98f8359096f8d60b6eabc17aeb1a313508db86c1ace3d690e441b1e36d8eff7668bbc0820e7fb7870a04fe3abb95f9aa32c67217c807892a6afde1cb2a0359bf077c6eb442c09ffd9f1f1fb5e1e3b5fa42e5d5e9973088b8127ef8eb314b5851cfd9500c89a45fbbd3010a7f2feed514d95b54d8f23e10111208b78900534ecd9a6112f837de15a924d5ccd6c9d2ecac4d8cb610316cc9ac6a8e26755a9ff1eac9119d1f9bc570e75751c75b631d02d6b116980bfedab691c49e288307f0f7ec1dd86c6c722a962a0de81eece46a7b14bcd5e2b74b69bdd2c9f94628ec438f466d6964542a95a27f928f9bf05dec9a3fbaaf83796b774c373aebba91a0f17cf7685d0b966473aef322c89e705f44f7ef5aa2d79dff9c6767827b0eac7d0b98379f08d4743e75ec86c0e78eac0e248bbba08c7da8dfe89125cebf9101097aed79933950a5a31c71cf6c6ac8fa6c6bb4429ea5ab96c250d11687b05b6cea905e93d076659d36af748db0b8c689c35ba22402e922bc46d4b09eb5662daf63a22cf05f3dbdb4ee43a7d3c4547f5483e2ba1c6f53d103918a77da4d36461079a12485f5577fd82b649067961c164b69f45aca474488d0a2f99f83e6ad4a021b8b020a6b30f5555fb5f5e355a5662256bc29abb118d506d8dede0b0e5d89465432abb556c2e80d1d7a921d0be2c1ca79d4b8135ed3eb4eaf67aec1f84bdd421383481bd55486f7f16ec526d20b0e45e46adae90584b38408dbf76d1549de9b65cf4f0dde1ce9d35095e080e8fbbb15870fd4917f8c105c42bc6428394108adc86d41f1f922eefd0ecbbbf3c3ee3b79388334726fa2ef0891bfc8f380970fa99449b4bf62592a8aeeec40a3c6ddf3fe30c5a50f06e649c75a261de0bbd2d2dadeb3c31e0ae3970cbc56e3d673d4619009747042b3cb28637ea2fe9e9680355c1586c830db7c5e1022098fa5eae208969733411ce8acb6f5878f9ca18aad2a84ea8f3823dee3255e0951cb6879f48992ce9796b85fd6f0dd0c485752cf029b1770e0ebc84d4f42fd22731687a9d7e944ce4a1cf61e206a8c105cd71c26546b0f7e11293ea1352129068a9d8ed184f819862361a023de3f89f1a47be09d13f4f604e7b90b4ef92160595f43f6a359d663a0ce87e272b5aec6e764fe364173b06279a2492d2351d4d251c16544d2270dfe008633f1f2087f71d2ec84ce28f915296a32acb41f5f1678c971d78a50bb4f64eed3652ab60895b644e77b8457faf676de30f0434fed8bd12adad1fc8b484018da90b0b9477f707c63aaa7b4e6a43624edd6bb5a7c8fca6c1fcfd0394a95309bf1dac9cf933b4ff0a4a3141f42abf3ca1a0b70e05c4a5e34cb09fa4bd121b353c721d9e1f0482b3b181b69f1964913d2202b77274cd2fdca6ee1c570a0080a1ce1c62a79ee1f5bb42535c53c8c0b195eeb88a6d6ab68aca83febbf6567b47e67bf48464d5925f7fed2f202b43a1ff8f261fac7a7d4497e2fd05fe87163730b2d2db119380cc1529e29d8785ccb82d731b609d4d23863bd718e90b824b5478875c9dda7a075b8b7672614ba2f730a59f610418541f13a32d50db4a8d5b164c3f21eb1dfffca48f7dded62e3dbd3f4cec090f1a5779a3522f0b6378a7bec3f8fca1dc4ff0826b89dbf3767dacade1e4e84b0f10288de61e9357178f99b04f9a40c4c07b6a87412f737443288c273e5d2d37a53026d1ee6ff1e3278a2c0602b0d4c9d20d521c5534d679098bdaf6d9575e1daf8900da2475a191d5878fc337030fbeff6d1642ad120c1a2126cead681d790d42427deacb6caaca46493c82893cacee50e21c669c4725bffff580776407a9bcabe618863e0a4c7d4b132b29c81460d9e8f18e3fee829389429350e94baa93ef73bfa0b19a4c8eee6bdba93a0644477c47aa775133e471f612896ef5320ca1491c0323b01daa0d259b92c3a43155d80c3f0559b2af9b8e78877a30a2173c9aa17c3cea3783ffa611f589fdb5d9cf52e00e5ecb445efae3dfcc64eee6239360f306c2bccb7ab98bfedb1ecfa1833212d81d59eab991689ea7b4041b17d2d278915f79c2391ab48493808d0864a36eaeea5943d406b43615155fdc8b6278d6c06bdd4ce7dc5a87d2b1e9e4d5d39f1558213b71c3146631f1fff238bcf3e34391a235355fdaecea9709c8684d96084b5d400c1f70aed8e8803b94671b84d8766f517fbd7e9c9273c12adf463eba7d6f3f445628334f21d4b148ea30286c5550cbdb702e47fe45f97409f5eadd8c0ba7504c819f6a464c81a3c9ba872a3184b7262198fd453b94d542aabc28d68dc611647c74fe4c536b0615d26f6a7a550e8726f58053fc1f2aeaedf1fe31ff25745e622c077c64e62aa82a526df6673aa82b1a951e7d706c71f0b945d3d44b7f6e2f549467571b744052fcc739cff6df811bf21f0d47711f428e6cfa5e628a6d2e7ac64f99afc4e1ce049681b14422aa34ae980d6092334ac7cf34940880623ea37eb280bfecc1b029b3be4e08b71e605c4a7975dfc2369142e8469bc33393dec60bb98f8e351b1c043e3ff4db208be35ee0e73c7752ed7eb00664f48b7b287fb1fa6c934b2c569b0f3a4372667cf7cc0f4b0c4acaf9e31a1574199c898fcf1791a925f52b67690dc338e8e22bd8d71f48110a4efd37ab7aa043f0aa011686a0ce59249f09fada676c3a76bde00270fbeda03e13f0b6fe81805951f02ebfc428bee3ee8af12ffbafcb1f44dc6ccf144bc2c44317621149b8dfc65fedca7d131cab9ab28d624ec810c1269d9794c1a6e9118a1b608dae6817cf2ab23fd50e0dc73764432b9239cd07dbe744f325d6521b37af790e78d2279cfbb6f347173eb61ce0be083af76fff5b7ee1db2196500ae6e91ac83f0e8875f4377424df0bdf948b19e3be9df2199879682c432624716e3e03d6c37b0757719f86e582f874ce06862007170ef708b99c4950f2c8fd03e6f939d996b6c88509422fa848a9756757d61663f6374ecf9962dd1915e556a9a31222653d62e62e4e30d0f618d3bda4cb58a4d8a51b52a178b31e09c2f6a62dea35b1aabae9b0af0ac2126b044a4b2b5684ddc91fc81580bfee78eed1a44af867720758d1e47d3df6de84999bdd5faef866e4e3914c75626f25b6d33107503c5f3e5bebf438a3e99782f2f0354e3557b939619d9b45e7afc1385b4ec0edaf14e6cf9ac7bbb4bf177d3e469bd0421e369c4a4d605795588530be5733b3ab8b845e81858d9a0a5496bf6a7ad74fcf259fb1213fcb839711d0eebb47e5fbb308b8707f39e65e73f00039811ae6819d4d1bb7547dde95d9969ede536fc776acda0b58eb86526accb8ab91e2292a6f7d6650b50c934c0c838a7cca54044bc4f77aa2767732ce7354a284724b94dceb567aab80eac584caedd1162d643b520c8138d54a1fef66b83db3ef1e8b6b1074c7fa67fbd8b1e82d38323f80b7f737df71e5bb1874d1f172ac64add68d8b414b7f00654d7033919a329aedaaf7eaa7088f4e52b300cd7da99d1c99a6e437d11aa4a2cee439eb3d567593a66e4ff9e56596e61a71f3ab6b906db9831d59a30b24a63d967d65d65fedaf1e76676e4b8fce8af4d8cfbf4891b849c061eb239d53503afcb26167d3cdcbfd35bef956749e43536a372102905e446c6530a09f151e278e91334d31ee34dddf28c78cb0e2618e541b45e1e1eabd96f1a7e0c2c94145f09d928456c41a27068d1624852e486956c2670e8b8e0038791c4c11dafa40e56e734a6e9209ab42fc7e6d93984c22dd6cc8e7ee08b13631206e065c8632473a036797a96533f62c2a0e35ecb3c30814c951aaddca08a57facef344786e00e891d4b81d13fc245c405ff673c8d2111d8e9f31edbf7999c093f2b2a314e58ba0a8ba5dc334ec017a009beb6ef3c4c052196b4f01b3e6e6a29e07505853ec33af4214660ea91b9b0512c4e38d21362422d4d509682886baff5e9ce468d994cf06ca4dc7f2a37d0272605dbbd2b203c564e101e12e3b28641637eeeef9288325492e95c8eeecdacf4ad9949f452a66c44400ff7701db2d9149875bdf520a8ac5422e245b2484381ade177d33792171962ddf8b79af2e1e372f339312a536fc72af4f5950d07e385da7adcb592b22c2bbe5bb82fe98718a3f122d74db9504a48a104a3c2e9264021754be463e909b5c580d9003eddb41b5f1d8cc6700ff65b90da8308ba1421c8fb288fc9e549826e624229cd4a038ea71073e8f00badcf7867b325b8c38ca6d6cb79b671aadf9aa92aba758a7ca3a82b6629f94a4b5c74e19a7b0b27b1befac8ae43cabc2dd76fef1871266831dc1955015a2ec78c9eb3cd68172a53b6f47565e169a11389365ee326330c8cc974a74ff29e285694fc123f9f1b3def9a6044ce817021b6d87744549144322ad6d64d7bae3cc83e2a92a72cb256f1429ff8603f5a8f95e38ff80e10b5fc2f85b9d8b30ccc2ec24129453fb35ae0ca674e9d3a340d02c07db5a58beb918eaa19df3f239791f856f4def15fddd0b5f502eaf6e820db501764ce732a427d77bad11bbc4b0cfd4acb8935e692b0687f996d49fb6003d22249ce906d970e8d9e2a5b8601ad98366ad42a3889ec0fe499a148b6261152726715127c89db49dd7c1e499907a66f7b60aa74991b199636f9705f6565caac5472ec75d21052b0f84be6432b6fd394032b62c1605de4f9392f400e5c0ad34949f8da7c4e198513850932ac4845ff4def3a7bfa9545d5768057439fd9ae97f0ae6c1b7b369ba3facdb4d81e08953ff0acb5afa5c11e76f59c8490badd7f930b37337e8e899a57f6fbd24b30b5dc7d2f6fbf8292e245e77cd654cb2f5f95d218a8b74da7ecedc11a8bb12f6ba5c39ad22d59aaec3ef6f4357cf9782fa230e2fc0dcd9ad25100987ac8c2be6f8296d35d3166512103f61c13d6101305cb97cb311c5a9661032bbbd17e96c30e1bc68bda4dfc17baad4b0ad5902462708167067eb3e8ea8324219e6058b61ffbdf5981c6717bc5a60a99c76b672b5aae76b791876c852cf6dbcd9cdd70771b60811ac55502e4708e033eae10492d3251fc53f725655f0d0dbde89b830db1b6c48d49f805dce4167c1160e39688dfc4dab53b6b1ab326a5e0c790cbe470dd11046b0e7c8b444a5036d34fa30f715cf955781d43da59d90d2a8afd3c078914dd01b96589ccbb69ec9a1fd179bca39adf4f97fab4f80138d10db2a037b936b24505db949406d64f668a2daf08ac6a30e7d992a9351c4dff65602f102a39f2e644f27d42b70f740c19f08c7330014042f03e6c33de54851259c0615079d446e823693acd3cd9c263c8da8936588c4fb698fa8654fd70d7d3b8e9f4597ad7217baa365bcf49253a77bac91fd321ca603f3c08e5ebcaad28eb766ce2d54dccbbfdaa7062235324551fdb8f9e85f7968cbb1a02da5519f0b6ed938700fbcd4a3f7b926802114c142f20ec4ae1568ab5e59dccfdd0bacbc94aa5a722f1a3b07c470f80966476bee74048928410e15e06f52156a4cbcb37181d4bf21fc8feda9824e77517ded29f825d43c9c336ab8329555bebc11061b3185c4c00cf149b0aee050f0d36b52e51153a61ec63cb5d5e9a26b6e6c5482a677bea18d08f280eb65fc3a992ce2ed5ba1da3c41143f85cea2ecf05f2f7d686c118880fb411497270f194a7fe4fa2b3b0306f133978eae384403ad8421303c6fe4229fdeb63085198419e75867441ee1e060b4e52ba3d5f1eec1452924fc58297450482fe04b8064387c05ea1b02fb0664b02c42d2f19e2a277fe8aaca55242783a2aebba914aa054fb809f461e9a9a810f5871af072c23e8bb8c3899573861d71eb7c59161cce377af2da12c3e3f7a8e2f4dc60b99fb7a4835d4b3a7a3fdd8406138cd88bab7d576d0e1f441d665523ac9dde7b596cb21d6b4a04c61435068373a18fa2955fc29c68967971b9a922ce33b97a149d87f8297dfa8984429cae5ad29dece0b4c71231872024adaa89bde92e45d6adccfe844c2206233264c5437635edf13c8a735b7c4a1a9994278e92bee68731d1fea696c59ebc2eb83e3401f7a92b17ec9be20199419033ae854043e2beb00164c49e9f80fd059535af0f24793b163cf182c715106b11afaaf61d01b467415bf379d1df900eb0994eb124346289a9a7c4e9944e8b6767a64231f73c09204b05eaa500ded65fd534852132dc1b940e9687184a956173ef9d9a1cd7ed8993c17fb12766b66047b66a1b223d1a668a4a5bdd3f8e2c63cc46f67ec8ba2b084f2fb1522faf1b95c33b8f7e8537584e314c085bb42ffc77918d7ea8ff74b12ef55d4105823b65a7e6a45b833d6c9be31dc9fc3b6aca390e22ce84f7bb8a207410e57259268aecb28a2cf76a8dbb9523a7b997d8c26fca2090f1a5fe602a775aaaf9cd1af9b7941b9753bfaf97cba73af983161463c19a95caabc999201becf35a729f3592d3e90126cfc89f13bf643d559a4246fd3d9780751c5c16e849286308174e5a36036151fe2fcb47931df23cce16b16ddb78a0cf5bc0cd88645577fff09b9731c6c49a8b2e9eb69fedb11575d5326acbbfa2cd963040c0380a3df7a589e1b01f0184e3e0a4515a6c0d06775c9203398d76064a08537392f3d95d32f6cfa7faa44f4c190a012fcdf60f6e1999a587a5e154579bf1bf1213dddf6e6568907de0e2347a1731ffbd03a61a2bed17a760c4ac36c2a3741753d30c60749e98c6ef395baf94c23f12b497b2f70dc1db5129367ee1d5c7baea891337336eb96c1e7b16af6721a455f441ac97aa19bfd50360c7bc328d826388f56c343244e239572de1ccf1fd0179f9e1c2bc900ea55e1f1518432f5b8c106dc913fc1413762430e06c096fd53e274a3723d416c58a870d38dc9ad9d57cb19b49e2963408a61e644c46c735c562762cbee4f844925ee9232d27643ef043040b3d6675ac727a7d270bc2fa5430c22951c48d9dcabec919ea836784302554bec3ea7a2fd29e0128de76d67fa672b63e1efccb0fe0eef7fd205513b34a29d5b1e5485e0808f53c6dfcd00a8803af29f2b01d7e9ab904dea32d50f5aa711a9922b3c812ce8ccd2f74a2e79b7da42ee1c42472161dd3d460bcca2432a3af29783f175be83fcf066f19bc8dd1c70220e4de679fa889f64866c82d7152f08f85f5e4113c0763835fa60782ab1c40289e74d14a0ee42637bdc50236b33e1eabf7e18ac3f475b3fb32034f12afc6ea37514a3b180f3cdafd8e67e1e7519a2894178deec55ac1003df7c0c755bcae1816e80f1d4c5954f0ac9559f15be63a5b22cb6302af0e360bc4866de3ca2dd553a494dc12dc703df10823243c90b7f25b4bd55d4cb76698d995bd6fb0f53b0e1af7cf672b2673ad797c56e3683cf621ddc4ae1a1dc990157c91445c0519a4a9329af89886ba32a32f38872216f30000e76d56d67730dc2aad3af89ff4da64ff8d85e60ab6d1aa5669984b59a2c8bc98fafb4950dd673944d74fecc5ab63b8c55a58e8a8d9cdafe138dd8893411fe7d6c61add296fb25be2bc610b320681e68eb48bd7abb0c639bb9c0172eb29ee164763ea074157be36ad9ff3805fc895a4ade0c344992facfae77bfec952329ab69e19cd4101dcf869aa5431a03267a9d069eab58a615c207a53bb1e2522f425e2e99a3d7a96379bf974c3340868082c4aa5f909a4cd2d0686b56d71d5154f89999c1a41c0c234e5675390a31e5538f6c9573b7e2f9e084d387df35b9082c645a4e563bac94d42a62a6351447fb428259c51a8ebfe11826e01ceea278e4a3e85362a514915afba90046b23848c285a46204d45f1fce0d1d48881b8d51338fd0a3624987937058315a211e9be4ca336a97ce80df36a0515972d67264d7c06a3fc75c32f8f8b3d279fe8ccbec6dcec361ab8ce2850a17affa1a918c1edd07c09cd2787c3a2a4d726df9e71216c51a339a46d9f6e2dc889fd86a6e39299c4264b85410254a0f331f822ac3dc602f003bd77629d0cbab295fe8de4bffc63362eec49ea1c798b98e4c5e9da151fc38e5833ec4e4f323a0853b51cdeaa8137ad01930037ce0ac0aff1843d251aba9cd39c4a67fca8817167f3b2414bfcd9a4acee853a141add63db15ac3a7ee967dd4e8bfff4a5ea64fbcb434f2574174ce31856dda65a068adf01756f25838d01142763b8e86a66a013a3ebf5806710945b7d9477b765c5b4d11402f4240a48580a4d020e086a1bddaa701d77e71254b800d5cf8a62fa2940f381ce7c8093e4e0d11a9ee432fc6784d1916640734e1a5126981ef3b3b78cdfc85eb62976935bcabdc8e863c3515b997b6fc546ab66e2d54396ddc1cd03087729c7d34edfda224b17b0970b2ae28834335e9f7faa1748b5c41f98088f104b6330088940b5cf3b3c98b5d3c151fbee15d5a70815c13a50db069a2313d038aca278ceb3fe8d3113a61add3f08c61d6158ad00294865527d5b64820462bcc7e4ea57e71db89392f374df0941ba672f0d63ac76c28b70f770751ac6ec01d3b2262a22ab993f586505ae481ccb85ed218bc54d7e8f72263470e113d4ae3d8df071ffdf25e651123176af343d87aff3ab68aab1eaaaef0c190e63074c36d3e5d75a451cba8f9632cfb3207b6ddec22fcdbd7bc84a7e6750d3dc4429247afeaf3431a3e86701a7a28da3d9546878b370b0ab1c13f7988d8f1e8c0d589e3dfe122a8d254abbf97ed2bd5c6768e26572993b07b9a53f68e45d16cb909590d042742fe2e7d9ef4d65ac7ddae980781c2f075870b36352136f30adf0c8cf5f6ecec52ffc3ed69031bfbcc57cba8f084c3b739f6be45f8fb0367930ec2be979c5310e5a225c851be57e596e1f97079fa4ec260e350ca91070f656d040c7b441b10094cdb426316c820547f0c30366aefbd831bb9b6f67281aa64c52a261b006f31b879fa0ef0bb14a5bcede6cd0caf2e332d6d2308bf777c222ed54850be4866f79145b96745bff2b15c085e8f3b4d582dd0b8fc5ef855c0c5cd9e9da649c246ac365e2ca1d3d19cb034a900b01aa898edb3d0aa2b64bd6e91a660f479a3e52ab8d4e082e304c05740925aaf8a57b9a6f1f11e271ecf09bccfb2ec5167d0044a9143a7bb5f4350b3146e8644528a25693a2c1efb7c58054d9dfc4e6f5e0296f4886cb9a2c40b5ca997bd11efde34c11aa5f7037f2713fd4ccef03126430dfb72455b3df7358b35c0d193f2d05a76a2dae103226af8d9b30409363d62273e38fff740ea0a66c364035d66520fc2b2a329aea5283671b4decd2a852399c40148a84b8c71a046d438321851a33d32363fafb10cfe807804e0dad57137bbbf404f0faffe4a9218bbb8a22dafa67b29d9df94faba1bbace2bd81cb3820689aab9df57220b9af43b5a8b5a8a2fbac81d8e1d342f3270e5ffaf359b2e441fb97e1cd0dcdb9de843abf999894f99b3c304a21986665cec186b6214102dc8f80fd66b9704dc8da8fc7d7021640b48b1d7463250ba7b23137b2c60a220d186a43b7e1932d5333865997cf30f88073f4212abf2d8690faf5cabf06786fa359ad8d936c9128f576e17e6d2390da12b036014baab0656cf26f958eee40b2ff8716a6c66896d5612a567b386ae00a7689119afb055ffd17d3bd7325e9b612b0c97f221e42bc4408c777cf776ef335dcd7be0bab608c92038b67e3c28cc75314574cf52821965c67a145621c83a4af7022d586799d94cb29231fd72246eda3b7a700b7dab276623909bc086756febfb2e9da0259a0fe299e245a0191a6ac018573adb39db9e0d3332726c148a8af53ce419bfea2f22ec8fda688f15e9f6af3bcc7295330056ba6fddc4675864aad5aa53d15ec03fc092e2a32716215ae291f813cc5b0d7475c3bfbc93c3b54fceb694acba97900f45376d1529c58cc4dc9f92e41bc410688c3915e46a5613815bc1286af223bb4c731db48b0a6bb2d7c372dd82dde4a2dfcbd935bc83ef55efbef8b748a6267d1b350335ec8415dc5e41a9938911465f81779616639a729dd3bd7f7dc4cf385ed4fd653cd199dc79757a17a5734c3959e92f18250b44906f1d9dd49f0a2d31fa9824c039f38a78dd62f93703d644d49debe18607a026e4d52d54681b25efc8175704e35c5312deea2d3e55cf84b969e49eeda08de1566594a68c6ff3f5924a1f43f87868a099a44903cbe8e246a056841552ac2f99c5800d6e8744498c13c3594f8260437a2776aab1dace94071ab6874903419e2c14edcb555770e196b84d9caec695c85225d287482b215983953907ffa8eeb7facffc859f6e5ef9150a0205af9387b53cd0e6b33e4cc73f993e5634886b341f94ce064f960bd2fc01bb8647c7cbc7341a347708c37c203e8ed3ef0738a883f03123477a61b05df92e05d1011897c6a115caf74d14efe40fd8f69d83ac7c7f9c217fdf439991b10f072440740bd133387824d722fee8a73ed4e4c19fdde121fbe5ebf9cdf53b87a1aa06caee09c231774291c6f6706d184771a11c57b5694386050a95b6b3f952d7ce9b2ba17b3a7d19860b897d6839636b3ec5be9fef9954a89fa3bb979ab01a6a72f36263e5cee20d87893fb66b4092601d7e99322912c6040a48cd77fcc5304a15dca8743b8f60a48dd6120a689083f6cdcbcf9a4e40818b8c2470066dd409957769e61722e90bd3526424623b1bff0cd479e0c90a76bfbd755c1cf0456849d12983c504dc39c89711f29df614045666b221b76d035c0a06dd094299245219db9d67116e93246405916889d38a91c7e95bdc25ecef75339a3c063c4ce8698d92dc092ec0b926355bad866919e0577c5ca4d8cb0cf3230d9c39e302d4ddd90091f7d5347f34a0601f15229e58c7052cc6cc1578f680c27d705c3e61ecb0e1fb7506da45e451a1d5649cd3e3b6c50a45c36bedeb339435ee98b151fdc034c0f29036403d68644a976f47a065d105dc280811a552bc51887f6d0dc8ab7f993ebc94e0fb4c9b917dac42e6cfbbc0698980d8ad71543ab0a8fe8a6b543d5f9633623296485ed085d37d8d449fa457b4d65ca5a6e6ec904627a4ff68d59198daa761a2c9daee3eb71e9ecba0fc6e40fb28b2da26264cee4d0cae01153b56f03213526b935acf649b07a7763d3a8226d488c1e4a563ed6448ae2233b1ce9315b60c91bdbdeb8a5d0d08c35451bcf2b5a4fd626df46e6e99d6b1c925792f7ecc603ce9abf5f853e6f7429a083b85f44d3ac5cf5fe26e1a2cb420efd780c6ed25b8ff08222778fa5ee937014715ac3ed89219fe2605330b8ba6c097c8d6dd9c6ff4bc31534c6a13fa03700e312b8a408b84399e99b69a76fb6299d56d38fd5c994c709eabc169e7db3cc3cbd6fb40fbf5a952d6bad5a5089e8eaf865f14ff7fc8ff627ba6d1f67449f7bc3011c394f7e2896c41363421555d4f9b579077c65ff691839dd8fd87fc41678856c5dcd4a1f29036d8ff8ee7dae80344bf71bcac7749cb77693f1c588201d351056eec12d9c6b471e317db02d228bb406be256fea42d8dde8fd728b8c1f500d6ddfabb702f46e9099207ff7c1648480683cfadcd7860dd48c94733b4586660219eec2a1877bc67350fa7b43db6ddf2b41f02cd6712fc334055c038e4da93f43c153c9324945d871429eea77d4d04393c8937db6c6a3229e36b303263f737a37deaf17180e6be8c87be6e231580f7e5aab5fc5a9119af42da99cdb771f66d5c4e41b3f576c0a9aaece012680adebe80cc8135f2cace2c97f1a2a77377fcb9d3b70f8bef6082dd29ffa2acdce2c123462e31513cb67733ba24ea7aae769dfab74c17eae80ce1c34cfd5e38a78b727badbcb2140f541f8ea19a3668d6be3b3338c1f2927c2cf10b7a6d3636bd10d04bb9e494ed1746c8d7f611fbe8840cb55bab23d3734b8d66cadce9b3e16218f2a02bd068f155c8646ae048e187ca85dc34a716b652ba656af6dd1d7762e26317f37dccfffd9fe77d12361564c734732a6db12fdc3b35c985ec39694728274b01f7e3ce899f55a9caa1d6ae3fc1393294838b6e5cffbe4252bb70f5abca0dd3ee0394ea0d2ade7abcd1cce73550f052df4442f9ad26d1e932e2c6773fff7f096d99aed0ada794b032aa2bf718ecf84add3f42b5185530a78bc861e05b24f799843e8ed1f21fc6597602f21ab44a2ed683d2d4e0331fa1cc12aaf59229bcdfb20d1f3026ea32f08be63525fe12a03198fd50df722a6e759559bea6754d28201b4c0d35cafa4ad13cdac25e7a2bb9d2420e38bdc3fe0c476f9b34e692d8cf2b7215ba32868aa8d50f072baa77c836c87247556beb8cfffbad1071479c386133828d1e3f7af7e6ddaa190b21787a79f897d154e5a6ee5e3dad4a7ab2bd4e79a555221cc1ab8b14db302f94f4dae7ea9742a820b468705b269745d803bbe16e42ca997c33cbd4b12ac0947c47f8a644a7947ffef86be14142d3494c16625dc09c87f55010b8c00ed56fc4d293924dcb429d4d15a50cb0a288e499cd6c9d2d1c619d8987c7671093bd4d73a00a6206a7b5b32a6aaba6ba9c7cf0eeccc32ec424f0d0dff6b98f9ed6763ece4c3e100beb44fbccb61d30098091138b4c4ed80bc78641819994a0a91f34fdd508ef52f72a30e2907337fbd37785bbee1745fc70eb69e976ddfcd2e01fcc5c11314449cf745eed6fc6474385959a00e38ada695289c56468cdc5aebd4ee9dc8448817c6aa65c6d0a3c2ae8e9f0380cbf535b57971fa7db51d050194f08cc043b299953b6994933fc555dff2b9084f9ce7da6402daeeb749eb3dd82427d5c36b31e89f7522589c61c8388d67e568f23572ff9ac529c84579bec5ae102968171ed5e8ec166d4c09af5e5dee14bf5d75ac17626143c541b73b3f73ff69d2a3bb143472222968fa07cadea7b3905b281938b3e16079c4e5492e9e17a1f5e33e6edb75de673be343f35027c1121781ab8e66269d475605e2d55582f57822ccebaf9aea3224bec5e3b617fcd67501e40a7493ba7062b2b75bbad2325d4c5d4a7715eb978b9d9da54ce26478c2d965e735eb229cc00c4aad735fb3e014f3a33c8d3a0335f1d2bfe01005385bca8ae9bea721373b82bfab0529ac1e4dbccbe69d255569701eddb9c4616a23049aafa4ec8c77b65aec906a57dc8ab28bdc884d3bd2e93453276834c9f01cbe781239353c973f3d867cd748cf8d688f23e1e34e1802da4a2176f24d1fe5f9a28bda972de1705e1428dc17cb1017fafa6e1ef43e129007b77e714ce0598fd214b475afc40cfa622b0d60c7d865bca3bc5a687df00ce53881e84ff93e75dafc7a7f8b98cdf0a0093c2d46e4d7d9faa50b585b9a0f8bfcee2a25cfc2133311533732400cc7a896d643851030ecd45214c2dd68eff4bfe26307d195ba231ac2c414353f23377f1d226321d8f858a7a31d32203dce6744fa440d3b0e0b40f41b069180b83a3b2207fbc40443045ebcd1be11d1e3f4c239893c8e6d6f27b3a3947ed31fb336a0587d45dca083795a6675f29be34272fe35fa70be21a27fdc315935d1dd0db279cf178141172ce4f50652118749c733a88469d3ef0c48e56206bbcb73f0c57038f11a341066ed6e843f760b523f1536b531004be23a7a8418e833dbcf3be56c9ef363cc7f3fe7f24ebcfebf90c75c8962f930dd9a449ab190b31b97418be855a1cc06713fedb1325d7e0df696ad90781c85f20735edb88a6a00d150ca1e39911cb523818b89952ac10d7d296be4a83721367eaeafaf5ed3301d16c4d462b3b6b781fd4000a3a0744e10f5cdc7096908e73fa26c28431d547aa349900535645c1df7f893aa2a7a9d1becda5a434d67bd11396cfec8de7d39cde746e7d1c022b4ab2288806accea26042724885e9bc386a993e466edb1ba79c2782498959a9dc22ecb92c145a6d22461a6eaa4cf7aca4877fb818c554caa683e87cec6b0ffd65f0dcdbd14e5e8b01038cdfffaa5c5d66ebb2494f4e6b9c487a3c1fc86112e26e2bb5d229d3853fddda40dd61f7473cc3cd6dce79f3b7fa2a615bfa7ca5c1454c1c6efa1b76faa680559cd258a3df3df2655cc15aac5ba69cc92701dbab3bd089351f0467cedb5ee5446d55afd5c0a856e1656441117fa5f77073c1d9c356e29d720bcda2a3d1c2bac4ce95c8f1223e99c0f105badfa73118531aafd0c365da1edeb33ad0016cfff4d1316470a4f6d59db98529c6963dd68d4c89b365e15760847e86670ba1fe29d6c91c31e96531b86bb30bee3191167e35fb98a4361016898e2721836b1ee64e65a3428b054f9c7d436be3155fd6e41907a12abfaa0bf58dba332e06e4379c1bebe0d1a8c08de6de4462a1753f80fd2b07011e1304270255df86e1fb575180fa5a577d62ffa41ccf6bdb43f29796d90598b4f8a07e48c14305108a48ca5a96c67e87640432b8da984c0e31863141ad1153f176bef2e4d7c259cbd3cfc90d3555e6950e8880a26ab9c463d621ea11524c50925b376a2ca98e1deb98f65d839844da19b45c21ef923d06236e610066f269d3e8a8e30274f4d984772c2ce5c00acf35be7576373b0f1085fd4ac20b72fff61c92bde1a75f79f7c50a94490929138c1e273b01e6d1b2d8f577d4a48098ac1561839f82a1eca28b9e25b5b80124b9542ab5db3daf980e51271a0428ae81c33d835dcf1f1b19a5e28517e38f9b27b506d91202e1023dd15e1b2efbcfebc41787a3f62f894e2c947efbefbe0e0b325979f867ff7dc32df6eb57cc156af334767c9bf956c7de313e404e2c8f174b3e916ed2b916176dad3a30094408c0e1dfc2db098578909e99b9127d82758eb4196064c7a7e82305ab48d5c54f87149e8a7f2821c4e10a478351565607ae76418ca832d6ca516e234960c0efc0b7e725d0c5df174c55398808092268b8a41c78f3a93f69acd9d2991e90cb4d7779c8471a55c1c439bb94ae5f1ada2b4c2d44714993f5f15779aab438e79c23f2ef4378ebde5f56bc0ab7786ed03136e157632200db77074a4f76e8336b9a734f6d6ebb10eb8c27a07bd542851fed820a2a3e941b78d09359ac955657d7cc4e6758a9c6dcf91cb582d80e3f9358e1e8d59a17014f1b304e1b494e495ba969d4f7592dde7e5d504d8fa82a14992c0d1bda05ee401b0e5b9ee3b12cc8e413fcdde3f43897ab54037de003d9b1d25b9098743ac4fcfb5b79de70a56232d79f9ed93e42a1adcec170cd89e852bed6b76e4c9137efbb454d4bc281d0dc1aabacf36288d5c4582ed73fad53d174c848dce9fcdd71ad12c754d71b51a56e2f31fb5dd12a1d316a40461194f9413071e6367173ca1528bc2a7d767fa48efed8c931f64eb6224b798d60458bb78c3b0d95be86c57d68728f80404f1a6fd63fc3b1c7be2673ec9875250ef2a0908b445661bc41b200f89698574812e59d067791c6514d1cf8a26fa486dad3a936e0c1755e195c2a707fee8950313a59741cf889ec8f83aef81497628d3f926c23f2b7f614ebe314e2e440aa32e2fd48270326439f85e5ddd292dbe5f98f02da0bebb228ae4ebe805b0925969ef91698839b4bab1f2d476f718009c17631f5a9675b44f2cdc6f538452f61de338f35803459592a58b860cc3837ca9c9b47c78ba168d8b2747bf8a2b838efb43cfbc009053f2f4702a53267762976e4245ab0873ef765edd500d51376073b784c55116af752d3f9714bbfb28351bc58a6e41abf0bada3415860995dba798009614ca5efd462584e90c5ac36d16e7ab6064afa5aa82a762d9fe1c2d38397c5daacb4af94832d040a37d02f159c7ac1412c90825dddd9078f3ecf81d26057af90607e68f8b98425593134817b83d2731c214bf50ce56a84b4192d95787de2a2d40052f407f7a9e39f7d8941c0abf2d0adba99ec5113a362f626616a002f5c8cedba1b9cbbba2603e5028e20db4831fa8d8941a2ef2cbdc24ebeecd6bdb8aa19e51a0bb64cf42b093e74773e1428b28d46abdb891f1b1ae9dbc60c1dbaed3abda0186e4361ac92c5301c1aa549f3323fd9f5538b429cd9c85d6106be019cbeb945978fd1c54221a3ff8eae9b03b22afa3a71a26876416e1181d838272253a0df11f47cad0cc906708e380a650a4756bc2edd43a0bc0f7e4e453df6b63902b6fe9183fb87c5125928d864c500baaddb2db9ca478a23c735320a0b02d4f39dc89ebb90d6f69e01796d83b9fb17206f96a6a933dd05fc0c03129fe749db34074579c2c0d037d34abd71a83b6b6f44795a0ccf12e60bef70d793b54a962d1f59a92b6ee62db59f1720a2d9438e9e2ba5f2408855303e128c36f4062e3aec39f317b2dec617e1885f261f2e47d9e02c2f75c230a6b1f30eec4f0c822b541ba1d178ef03ea2c08f4316ae9699a0a15a7e43dbefafb9bf780d0d559724fd9a71e6a0f50f7207172a85f2fd5c131654eaf846608abec16be05804b785f9da52096846e1dcdd42b1e9c5b20a4350d1f98389ae79da8ffc6591d461d2a2b112685ba826cc12e7037ee8545e06310b76b098921168066aef70e5d19849bfbb19214106c4c8cd0690e05d9aa2c774ca68d026f93d7675541b2e92c14d21c476778f4918984d04f35bfde85a99edbaf2cd0d3dbc3128c5859136d633835cb4c830563f1aeed0f43f2866f57d6cb70ee15098f5686050b9c8e76dcd1fb6a3bf2674ea0fca7cdaa2c639b7f699b334fdeb10627f0f0f5b1c4e0ed20b24c13e40c920743a2a4cd8b87d3c275bff4b941df15a01d61787eeea03e1d7884fa6625f5b303fe7484c8ab5c824acd0c9a3c8037102523f8856584f7aaafe37d192e59408d81d89ec481e7132283b1a7060d585e1608f4a31717a32cc39c0ab745f2d2c0215504953c00b2cd2b56213486f011a0cc70d24d2265f82421af4bce6b0ab02258dc4cf7064b22d96a43fbce4916593ab3bf193fe379019d47a8da180cddb1605f9ad38a7372fc1cdf1476a1ebf8f8e9e995bd77e9930570ec6358dc0b8dd1921e98dc1f5fa891ef15857bbdba3108f2073613b405fa719faa9db9f4efbdcd2b2ca29ffa82ad0037eb4531a79cc4d789b6f2ee2d031a92e80498c31e3cbec753c0ae042291ef26aa1abd60063c7eed8f55337552a4f9a41d75406ac780c5c51163f2f902a56ddb0f0209a979fd509a6139bf3b49b52ae5fe148c8cfeb144bdb9a7f9775f2b930683bf85a3d5173cc9426ca640ad3ec6e121b11b13312af58aafbe47a291def7423c0ae8eae6de3ab277f36598fa7630ac94608dd7f9ba9c7c0acce9d4822d79fdfe981329220b4c4c42f85abbcb91513c096f7b501587609df126a25c5e27732f2f045ab14246edc8cccee086e828bfe36a1d7ce5b495c8d6c3022df6426134488527ecb58ff7fced7519d36bb1d893468dbbbd02422035fc0b9c114d9a50790e991845222a1ee84166c946f427a8f39df05f165d29298533095cf2a622bc8e667be37095597ee390acc65568086a45c2a00e1cfdb1ddace4bd4ee079a3948e62ad161ee11d1b515c8a542175d239caa4ff643e6a69ebaca12296eb8eaafeb9a07cf87f47819c047ffeca893c96ec8e539f221ec7a3314d981ea85ed71d57e4dc303aa92e19b5b94359e6be6b2815f410ac2cf992290ba5af5463288d92d73920ec20314dc705a26144022625fddc2703a5b4e913bd5336259f334664ff024d810f09016c28f13cde908a71b28a7e2dcd1295baec1126cd3e28e4d60efa0afc7e42059e02b86a49eb50be8c5a07d8e3036612085c2590833babfaecbe77c783fe22f88d40a7d9b53f819228f0dc2c1e751cf90c5803af8cb526154fbbf6b35b0c9c36b9fba31c0f646ef585b1c79edda6eecea7783d4ae867ffb5bc5e71840a5015311f6233bb12697978bfea01928a76fdaa01242863f0708a850d8ff5bb4f45847f31f120d1a37937eab5ccddd25279e9ad6e4ca875c7e70228f8419423c100dd2e579082b24b25e1fd732532956c7403ee3c60ddb0f7601c3b02a99ee6d19c44d23dcc0cbb1746b1080b0c569bd6b640f2c9e2581d850c5f1d1b89c70452339a419e10bdfc3f1d7f5d76e8d128ed321d165d56cc764b07727175e05a614f4cd14d853799b77aa5bd0926082b9e4a40c7f6d44fae454b5270d641fb6c7f0f48c14298a06284f79a79c9bf0c7d93fb71fa09b7ee75ead1138d1a07181e0c7344daadbd10a92920ea58c88ea6c69b143a3d1b66cef6f55cc3a75c23eb89e6365d72c1844f757bec80265b1338918e1280a631989cf1707bda1dd01c531e9cac14fe52b4d25b0485b88b211c3f3d30755f068aad13d8b7e2facce8e82187d6563d8d6e2a18236f6c741a2af3c4c0eb5cd80d711fb42e6bdfa32eec3d016b30d0bcbc5145027c6339f0574d518fe5b74d230c8869300c07b09070ad5ac6a98ca8e902186c1373a239841cda3fc17cedf5fbc67f81ab0802ba8ec1f94481ace44e72839fd69972c66fc0d4c1e67f103bb9d4feb0abd35d9a5bed2081ba7e8f1231e125a235c4a50171a29efbf49015c7f9d1411b30f84072dee80dcfa8d2d989722e398c39fb2153455041f1c31e2050b0dc89c01316d36dc19dddcfe9b28a27c4b474d301bf1e5b9b9890baa625c537dc612139eda9e048568d94e5b9b7f09a84e8d6d3f8cef50011cca10b11d9d5cd7150a899482cb015d869614201a77c62adb5f229af7983dc3570ec41190465dcef4f30b0da244bf17c6226b243af1ef20e4aab82759dbedcd5fd55358f9a9ba427af28724ba051bd129240e93fef517c22e39f95f780c4f5ce1606d2b598365327fe7aa46284731543c19d141bf7469309bb81eb3454e87fe59aa01e45bf2cbd6977ac1378650d893d98985e3ab95d51956be02f554067c6d0957204ce573b9984a2e90af961137e999ff0c96c7ecea826421d4a995cc69dfba9a1cf80ba839cad677c25183e3b164ef9313e6d8597ea369643a7660f8919b9cc7b610a203fb14ce090c5eb7accae47a7ecb73909e7695271b49e8ee3f0f9f9d9490b8e881ea6e94ac867b95794ed964c8aac7ff758b647895d21ec063d8382a5b6a24b8cc0cc2831166032fc84fe974aa6219c0685008c1401cf591b4f90ddd4720e537dc30b0be407f2b3a1e4066966218dfefb2c80e907a874ca7f5279394c51a97631f5044efa0640e57169f60567dbc42751d0fa7bdacb1f19bed4f798a684b89e73ce1282fa6af38deffb93bff90846443ea30a250d10b4e1232da2a90c8b1bc399781786f96c632aa6c2e3196606465b00ee9861f11a004d9571a6e4513cc3e716b1cf6ca4937cc55075e6f7b655c60366b11b6d27601a3edecc9b715fcce343f3d7b79d0018e6f69fe9870f256292d5ca9a989fa2be5928504808183fd55b38e9d1e91e0cfbff66059ded21e81d5f3097be4ff98c0c7be0bf73233f9739f628aa2d12b495da0b093ce6e718724001fbb51587c161a6a53ca3427a53b7fd49c869d013d271f00af79d06a370af29ea063658b0a525d2a2151aea6a2213600d2a6f58da44f3d0cc90ae452f58f93cb22c6bbb7bcb0976388fd5f0565e12cbc01b2a80be438bede080c181bcb9b6d0db4743c0c8f8150e16767c30f60928cf69741256d24216c54d3d0bc73c4d7626c6011191c61d50011f9536c8760d937f4cfc107433962cad62521483fd81ae7f358e343e6c4f7d804fa2be8dcebe33ce81ef30d8b3117d9a58b21dfdb5c0b60ec0dd1174fe5dba06071c5bea219128135bd3e056488ed3374d8dcdd7861b832bc6489953f7d6c35f0a9e2f2a396d90e5affd0c37d306f1af05b75db42e347f6fc193b4b056d2cd66a23d25f2b3da81a7d61bb7383b094177be3650052b331c9af1cd38f1f1b9cb6988a0f917d959fc83c6f67e10b350576c8c4d9a11dbbf974000f363b5b0c6aca9b233f00158d9bf1659afdb0edfaaf618fbc929c19f1e31ac03a4862e9fe540e6c04a9e0fec6fea7e08903d87187b1f6cf055e5c81d0725b9abeb4903e730852be5280d23cf3f8f6057ebfa016ebad91af2c4b044d463ef2b12abb3d0613d352bf7fbaf74d86cb62bbc074222e8b1dcb4da9e1e83add4583e8e1766f540fb17f73b9fd616b752d6607378de3e937edc6399c345954a70e48f168c8d2614ef3f52e0d4259cda968788162c36ffa682f2177bcdbd0144c8ef6e41168fe1e03849ce02379a409596758ff6c3eee4558d45ecdac1084f0aa163a3490646e2e8a9dca101b10c0a2b1ec492f440f63e4264247489e7a16f1fd96f8a1c6819ce4bae43990de064e4dc546956093d7cb07a5fc4677776cea9f1396e22d57250ea1913c5a118861fce9709d114932a096259b211c6bd1007f100df77088d5169b4671b68a3bbb6a313de4f8ec6277e06a5ff0f19233e2676ca62c8fff5c355f0136ae7019ec02c62935e13c17d82d59599dbc1076167662d1b2985c655ec3c2a48827120a1e9f1271ac2f5db6f58006442b7a89031bf2b4433d9ca4545bbe75d6329a42a34b65e3886ba14f7e2992c239abaf1a931a9cf2ffb02a9510c5152eebf5f9f1b41f8d7247ac9c723b346fb95a7ab2df692bb371e60bcc952c520de53cddbe7103d09421db093df3fd42c68bf00f78c308c2d46c7c9c535b04f2a7d4a0f6e124659395286970f9098db1931e2a5611883e7e4adca518d1cd28f6dcc1b22656fa556c65457e66b0d0bacb3b67928117b811fb5fc39b9ac0af1a021d248f566a94c89ace4e2ab82260942b52053e92b432ab913a825a782cc7a079dc9e8e5070111b6820a917075bcad14dc85d665cf115231140943733e8967c721cb92e88de68a3394dc844c203ee3bc35875dfb1c54e1846985e81c5142808be99b360399d7d4ca264189fb322f6fe7926e0998156ee880f3d1f589935e0cf54a0d9839ad3545b40b5495172dbab192dbb62a5bf8f02dd29ecf73f50f8280c9f9b72fb615159d60c59df6cb146cd1b7ebb4810901faea23e9e01e0faf58f1e9b881f9599ca35ddd74039af47469460421843c9566bd59b17ccb416695a0ecc64a04120f47ea1923d88dafe2e67473dd266c7c520432b57a6e5c57d4b1735bc276bc1f63ed4463060534348692670396d0e4f0810a1ed3c1285ffcb60d94f0ec6a9a41b7c0e29e599a5540f80bf2d270b46078bbe35bdf73d206d85dab547b0a140e8d2f64279207cd3d6dc706dbadbd902e4e0f786534821d04546cf30fd53240fbc29116de3d5dbdd4eca11435731a1ef6d110d67f3a30aeeb3315ed878e582ed2e05f0f6991bdc47e24e6897e2452f8e829b8b289211155ee893c5586abee8cd46415539e67babc67a6bd4ae7d50eece4a651b2aa3fe1207cdd01b57cf50827aab10191aa203681dd6e2042dca271eccbf586df639cce10660142418dc4109377e65522e692a4c04507483980e1b47cd2252c95f21ae7212f3c6cf5bdd6d8acc3dc6ea66d1dabb56fda0eabe7cdeef4447e46ae11a98894a7aea2e13b1c6649422e8d2246602011810f0f7a0a1d76e89ded2b1dc20f31a9689f91eed75fd1483df4eac7cfb32dfb351073ab302e98123e39bcce10238afcd091ebed17a856a51deb7add76cc47746865e343f5f13d38aa33cfe71c205104e10d354fb07220d9c18323e10a670bdb69276ff0884a062e7b45066119e10d95549bc6c749929da6ff90ca8be166588e08cc45b8ea1fdb37326f0af826c8d1c87592d370e0db00ea6de81a69b062a31c1328de8138aaec4bad13346bc10d57cea3d3ade6098880d8bdbaf4e6446a2605816b680d6c5827da94c301e5faa5e56bc6934979c5dabaf740eeb9a11e95719b42a087d0ec8357bb2e2605185182b35ebfae43ccae247b02ba9b6b700ccdb8a6def8ed697729ab1fee21062d493fd92df82aae3bee6b75d77d54996ff256cd145b3c65fe0209af85bdd404a35a91220da3cbf8365465514685a34e98510603857fc3d3736a9d71494a3be31c6e3fdd4aaea551e042839f0ac98a8c81b4b433484bbb21fdd46a6cf67d15c12233ff633371103d3c91856e9163ed78cc2ae4e7d0e262a389c9e5fd8663e0c55ebb355c9cac78c9e644ecc5a05f66a2f3daef5d4adee132361c234c1f601fa5ef840bf424b9a2dd8b721586db0c1d9467d31fdc289e1a9eff01bbd3d08a4a99736e734784ba73897f237f12d9d5a50188a6a797dde5c385387cccec16feb3dedea0215e3002c102b1b8920c7d864a2f5496ebce1404e0567a9ba07617d8311cca2f662546f7c32f3576db6bf21eb26836182db3261bdd5dd5ded79e26f6a179eb86e3ef9b1f59ba39da007a3129882380f0e1676a3d6b2028c803248865170fddfc06f50d8bfae66ef9b994907f2d79f877e7defd604e3925f8a4d3130e85f56c47a2512b16aaa37f3676c3934c79773e6f358cb5070e3201817f04997f07eb4fd0aab0acb32a7d933acc76e6a7cda5b73ef06f1b35db2f93337f73e37943909cbebf3d459a42e93166fb50a7c262db0e8fe266c6313882ec96a3eecbbeaea46237e3cd596a9e48f5e988a54380a3c719fd9db2bcdb8244073946e6003cf02ffd30619c26147b600994739a39f36320557a397fdb68d5fd140865005d565dfb85510b2e25a5442afc923c97094364e84a696aee82aad0db164cd27f9d87285a4e6a3f5de4315952dfe46deab7126dc1a1ee8601ce4cd2c32b4a024a6fa5971750e813f82282e8b0460ec694fe764de84436ecf12c68ba9905d47bb39dc25333c3a3c4f5090e2d8a0a1d54408b15fa0d42d14a522e6c8583e55ff601516380a5493ae1dcc7a609bae0c63424fb6b7609b62a202be9a8dc3580ad90b7b765fb091338ed5fe03a2b28c43d618e57a0544e1680d3cfbd7f721d66a3246a19be63274920cddf03c9125a9e451365770174362d689970851d432e0db8509ebc0a7ba8fa024f2d3053dead2f5ec3f4c5b7ea68db7d17d9d5c2586d77cd18c1a16f0404b2f121a13e653011ef976e3454c3f33ab336289bf3e88d059d84f4931cd4bc47991a84d7c4651ef0244a5c1371c21330d2a2f19743c5daa92aed8847630bec5f7721259c5f3ffe34699a88a1151a9d03bc7ebf4075f3fb9eb67379080b675a963d1e4961f0e6d306e3defa017cb2e95d0357f7469a95bcca9c30d98e8ed35748df5ffbb40059cdece4bc1cdde3a9c104302f48732dd69bd453d0e7c4154a20e47b6200fd8931ea476518185be882d39638229eed3617fbe459361b64799c5f2093392d9b7f0f5d92a8798c6a2c3da300db96d18f4ecdd49e87bace9b799cab04d3c821c16d3ca91e627da103b5e44d4fe379efd39cef520ca2b1b9d7fd831c1d339ec25c4727ae24f0bceaade202f1e8814bb1d541375102c386ff28c98089297e5f04cc7a2e587a1d4d03efe07ab9bbbf92d3e2384387c1701f0f308cd44f873ea9d311a86d3c08ad5774471c62ff1eb6f2e1498ac5df57cc203cb3d9452ca8aa130e4ef4e7e8a5b28e1b6cc6edf932c4e8e73ed77802962e86ba3b924e57ab7e4aafbdad784a3ba64e5e1ec3b8e1163d3c7ecd893893b76678e19a173168a5463a735d370528963a4869376df11831af73844676b84532d922cde5fa3d7ac9e94c167fd80f2fa61f851f859c6e4f8ec61f815424d01ec17577e01be2980cca424f0a1e33d681ac54ebd23e392eeac44f2841dee1f3ec2d299ef8a129727f911e3f186348909a8449a904b07f81b64e824a37f699b59d43a65f2affbbdb3cd1d60e51ccb3f601031fb1af7ffb7fef08112200d59f318280a27168d65b11b94cbfa68704cf6745eb31f1cca65fcacab43d88b749504fa6e439e3ad4937576fbb3c1a1707d537907f91f7c2d50e24eadeefcdffb9673765eaac5a5b120b60c12815360eeb275af390e2449e3c13841cf4d5a8c9c2061659df72af32c264cd65e803fc7b8920f170330ce1bc4b30f840efbc5a470c54dadfe1991089ac9f37836338bf8cea7dcdf56a29580d22d7605fdb8331c82e74ec6a74d69b9fc0920277cb95bbf7700e8cacc2bd1b4ac0bd2b55797858ef85ffd2c808a30166822f62f7a33e6e5a701ac605e56be02dab9b767d0b93ad4932ff72c6dc6bee1bfe5c148d38d61648520aab77f327b3e85448904fcb168ad050c1491d2c2ab7b626b53fc9ad356e054b64676c7d4c637e9b51f87b5b8009339972e8886b39317fc02180b5cb1a41cd468643a3810f5ec9e985857705034cecadc5fe558e1ac28dfa649048a2066af07c7bd6b8efcadb567f0e7929bfae31283a4a5f7b23efd84add2500bf27d78c01352fa9eaa22b28cefe077ef0046b7385b6c92e43600c3e7e70eeaf1714f935af992655a0ccc73abe992090a04252a1ab45121ee57ff086ec467ab407517997291909ee2ea01269710de3b508e09b1bdcae0ae9fdff436e8825564ed2bebf622a1f0e11fb51352bb5c0b1509b9b1735cbaee9026bdfb02d2b53df42b97a1d005eacc61e99f7eae4c07fd4b444dd17eed2f10aa13c71eb7b0709f75f63be1df60a16458ef3b97d10b0b1b77313e17d46d76d22b6e8406c3130e02cbdca82081f2a4822991e95e38ffaeb1f9b99384990bb8c473d51b3674042a0accfacb2b2a12f5c8184cfe0832c10257b1902d64addd311d1e1f10f8da3c968934b9019ba76bfefc84f532c1b197a714f0d6d3e723ffc74990bbbdeaff1c8e8fb9afbd98768bb222a1c8abc1830588069a5290393ae288ca6a914e20e6618db7689ee4263644265a6086ce576f5b0afebc83aed6803c10ee217946fe2898dc71d2630b55d40a1491a776d5c19f2ca81a8acc20afa6efa2f84512c96cdd6cf3b6daf40b2ca0f6c6c94e697afad7760551aedb048b5e769c62a4c7f88ae5bdcccc6caa9ef8d43ee10c8bab2896370155a6412d6e1d7176d6c960e2e5e8b40ae879d9537da04a39c968bc9cbf858351424ced330522ab06667c4648a16033d73bdeacf461ed747dac78b964455830121aae32bc991d0b6cacda00222a8c8beb746d3d7aebecf882a9a4d3b1f4f6e3f7879204c47908680c7f43563d3c4250df79fc60604321364541c1238a34ba78b9a02273b5c8f2ae76e7eee6209803c2acefe977fa32ff4f99b7b74203149f87f882eca0554703bde436a82b147acd51377826cf721d9491b2d6d7d6297c0edb8f7874208ac4f25e22ce436677cb166f7097c5da3daf7f157bcb3d00d806da4d7312c4ff1fa3c436dffd8b32c17713b4eb0d55d7433ffadd3d3e08d839d84569fb491a6e907b120a33dc7833156937e700ec069f24515093abac9867bd38ef5b9f4efb36491fff65bb510cd6c447c4235a787844ef9ca486c3bba85354d22ad2b1de12cb09cbf36167b9492206703aa514264c9b3a66d96b6e482139a822b128a61399b41fa1b20bf7a4053993a326896dc92fa2ac341f858e55ddd623d8c0e42cf38600cc919e8a5ea83996160a5dbce6a69e9f72155479ddf3ecbdbe6dff4c49d8b19c8dd6f4fd0d312e190ea2b728641a9c207bc886298a2e9b48d8e202f5a043bca03ddd0698e83e46afd6b3ca2e2d58275d2c27d80979a0d8da042904dc63b76f91b21bd9715715654de994c8c515dbe631395d89584e6ce30be6169c75b69cb224eba768106f8298a233ecec7987d88cf1572211cecf41d0760ea88526e18aa6c70e6c75b443bd60b526ee2b3f65fbac327df9c6032178d8d035864ddeb0c7f4402a25c2a00b966d0831691c14cd6192ed6bfd63e0643975f27bcd9a25a44cc165cb3b5996cb54b085b9589400429ccc77e3b18812341bb32705a79070d91b2e989f2d18edc81bbe584366a04f641dbc08facd1e99b5618d1605e0220e6ad954e28e7e832544fc17e8bc0e183bad7de0289ccec2496055b8199fc48c135ae7acbb90dd8745cb73381882fcc9f40202b28c5bdc5e6547245547e528ccaf21942bb76d5660f49504e1c9c698b3fa00c7bc9ef09c67226ca92b37be64b6b59abaed7b9b83d2a9ccbf58bbad63c22f435a3fb752bc28e2e523be605b9416372b7a2c152383823eb5e8651fddbef7f050c634726d0c7c3ded188d35f78bd1e34e26ddffcd69ebb00025ca2cca0f035c97eb106e9a96bd2e055407cce6a2db2ece8cfeffad64f535348dfc7c4a6b24ae918dae0417300cd5f8109e53f706db8888edd9f712999f4a7c454515a2151957cdee1f72be27f05225a107d89080bc80261513e3dd6b33cbb2720e32415c4bca6e0bf019980640d1d4a80ce56c992eb1c5bbba92909e9504bce4bd1f035a6603a2d22817bfaccfa694c28a19169735b9c039d3a672c680bd609c191b666188d6151c25d28fc69e0ebee4ad0a5523e2b51090d69ace3e5e5a55e999867628a586c180146fea53891cc28e0bb845932da50501a8c52696948a99c5b6cc796e2a94b0719be78e41535318c747a8b083157cf998f44fcc2beec80f3b66d0cd83552039b7825327f83c07b16a1d71b510212bb9ec7ea2a2de920f225f06a16944e5c96714a1ce4ad8079f6dcec4c3e2490177ef7bd23c6c98ede36d05330a58ce2e5866b0e109c1ddb8a118b13df8b3a62fa576b11a268951aabe25420b0d854ff58ba5fa4b54bf512ca6bbac21bff2ba98ada9c9f9962dddf16ae8c27d44d762f62c1e7d27d5f2dbcfcb25ba29e617b14700ff971f30553e1545b9c0fedd558c595100b7a78aaf72068d26c6064564c37bc339d6fc536518f526a91b38be1f8d3bcb643bb98643fc6fa2d44b40a03d63a2205a22a810a78834e97245d2a8b4d26e7997ead878104339c9fce77562fb5cbfa8ddc801de1d54259a4d482a071c72f93e835466e879084ad8e41db409fb05db38fe067a2864018e09562df30156c99302bce7752b505145b551e561690e74aa1bb8f77e94143ec137b15689b44ebbecc41c38af87947e136ff232c89fcdb89092bb784d9506c9973deb997888f975d49de0a55b816bf167e6ae5449a9106543d9c9c1198c54b93a13633ca5935241d46cfeb5120e648251cd98b527e03f0b138fe3befa2633218cee4aa283fdaf5f7ff723f1d4596bbf5a7273e59adde04d0903bdaaa291265a2a03eea3c3ab245702a1f674f96320a87562dc4ff4bc17cb160779d0076531022a3906d3ce9eaa471528db83f8b62a35f9b914f14a3cd308fd4c315bc4184507e6f1e4229e98f34de7a6626ff7159343ee3b8acbdb921cfa441fce133738eba2d9e5663e56b75a7fac099e7381031a569976e697d347dcc0de5b23d42650617dab75e172f0af012c76d4ccdd19e34c492a26d4ca00360bf84fddd9f24e0b8d0f2b9e74df0a8dc15394605c6e67f2e968895b6d7df02bb29e031df85f12aa8be8e46824081c6c337f3c2d677fc181b6d3dddf06dc94ebf5c50e48ae604d45b663306325f5a2ef76cafc117e04df1e16a6a4a204f452ecdcb69c32c91a48ea9d7b875d6e2955e66ee973ebca46e6b21fa9b55339009ae37d58d3eb0ce226a087177d0890cef75df58dda7c2660ca6e7c9ea9ccde9184019f124eed67c6e23f9b3a7276dd38bb867b677de6df0e1475de7b2dea53968e145454c849f3133c99c5ecba559a2a15114e634800a9f2bfaa48ee81e4aece371ed515170b0ee941e1f362a070dfeb4c541453598942eaeb732cf897a1b5d0b3daee885981fe50bc98cafa0846c06e8fb6ba0c00236eb4dbed393fa3bf17fe792ddf5558289d10821c094601c14e8b606ae34e83d30289bd36e5110331ccddb50f0c1db37f45195762257b7012ab2c704565706aec95453c4fd21ee7fbb7a140e52e81516942b6b171fc2ba7fce28f7e94fffc026d40441e6ece1efa0994d28b8ac4a2ef45ae371161ce6008b3d7fe00b3c03595ccf9775b43bf178547e34dbc4b96b9767a53034c06c7a20d967d74ca17bf9ca897e5b57fd375feeae39dfb647ec0deb44858a41ca8ce82b356b8ef648e722a50b4575eb1ad28b4e24271e856041bdabed4ed92f2c50b3273633b9fc5d9298dca6d2c7a11ac75f5786fea12ed5cc5400bf44bbd01cef94ae08c02117c5bfab0e2a46bfce49e58e56933f971aae348fd81473f19f332403c5c9b0b87b8f71cf2d7fa171c05c30a574c3d522df46ac16f8edc1aee688e2c15fd436b82d037de8ab31a22aeaf0f472c1f5be9759d0217a17fbf7ff5263179dd627113a4b81bcf7c466eee37c3a88d2e189bd7fe560f9cb2be1b13be0ba9dfe558bece6dfcdbac0bbab12466ca475357f0581729211d399dab688887fee6eb5304971a5f0a40e71b26e8f8d16f7763f344f6c411481a2f939798ce4407f9a7abf74807641b156c48430ec99948612b63922ac4fedf0667475ca27073c0d7d4062bdc54d44c15819df87e6917800017b00d6867e4df1beb5fd9a0efadca1b291ad9bc747d1111dc8ca24bc3ce3acdb164aa95ad7cbfb3c4a3d2e7cc0f88cf6f89c9bda207d1c1f6ddc65690d613756e9c358113cb906b90669c2c7cf64bb6f4455b8a931a019c98de68f57b1c2b5948089373ad465059913122328ba61875758f924ec3f590eb07d6c59461cf87ee4a2b2f8ffc914d70df225a86e5eff7ea3976e7f84e00cd00cae0fd0eca581241ba216ba7de7babd117d89cc41910145cba4c3b979c8d1817422039ccfee513ad1db4948087fb6d2328835d1adebea0eb236253c058ab918d621e38cd9b948b8b86528376bfac75dc34c7fba495f91e7d6e83cd4ee9f78deeeb83d8a9ab0ce9e9e502b3b3902cdce9593820982dca11ba014c4df23236bdeb14f1fbb012b7bb7f63bb2254f3f8f6056da5fa495cee9186030ace8d998b130c50726db8715101fb70fe17df15cc8f45deb31d50fbe820aef11a952aa327159f7b7391c8f972386954b142f2569536b32673d783e5e54cf04a684b4f05314544315377272bb92f905920cbc81e61a8adc3a1a61c26e9c16afbfb44bca03c2e41bac320d7cc4e3493b67a4520b6c80fd5666fbab6613ea57266918373b5c7377fc2914cfd6db88069e3b3bb566e42ee3212e4cd27ecf1876335ca5da76346d7d65ad85f94eb06ad20351425f20f2d59c65940ec679a81f501fcb3cdf6a168ca01fffa1e9804564b5d09c16e37df6948ff425472c6b5bd054c7111a6842d811233d4cec006660843770d0317e1c30f5209e6152931f9683a433bf1329a25cd7c7140200cb8f18c16696beb7c731cb34d0c53913ff1bc31af0d29b3a746b62915c488a9166a2ffc73b65db28ef71918c2e33d1113b711a39adfd6cf74c3819210e0cef5dfba2287cef1629b844ca53087b0f2a72a62137a795364185befcb36efedd6af8cb8afcdc2252a7eaac748e72016555eeca0a3219890a5d837c5c1f5f7ca2f321e584558776594c33d3a5b5bda4fea7db81e2fd2164d92d8a111bbfbd4266fb4b30ad389f8c2078abf513f7edfdb4f97a5ba5a0c317c31ea6df0e7409ff21e2c31f34b95889118163bf224cd57ed2f2a3cbbdcecbe96655664ab241192b70764a0850981d52283bd0a3827ebe206f25fa81c1e255937cf820b43e6578ff8ce842e44899cb468b77dc5cc5a885afbd28df649e9c8f6d151f83635e5f0055d3756f7803bfc81bd47544b641a14bbffdabc4a7af874b0e2c38bbd3950b4ea663c73fe5badd7bfe071c4f2ae340ef90ea25875b75399757e027fd1f3ce2aa374e9dd48a73a2d03b475dfdc9f9227178d788ae71ec1917c7321c1eaadf2088780ecdb33e112305b81b4ce278aadd7579d9da750a73808d10b0b3af8693684944d899bc6c7074c2e2bf8c74ac473ab1f41220e43ab9d1e544903f9e4d68cc167af34a70e125e838498fcefae0bf33a58aec2c058a9363c004ae03bfe7c952de2cddf15ac7e123a3662d74aad64873c6c05a9e5dbcd9033c2b8a3ca06fe693d28e8e4c555383a665c0add6a1ac10a5c91ca44f49a49c65a8f39770e8052e8adeb01adb3d7d4c61e0842d8845ee7c9e5d5a0684fb7a12d1997417c5c4d90bfd768dd3b0cf5adf0378fbfdec436346ed1b9d0b3833baec874db613ccc335a49bd2b2267aa258f3d58adb4e0f9c0519995e864d8f8d1bf9d25f9f01c7a5fcf242215cca133bbe7caccb24c800489783a56f6be3f6c89ead8983a3cb4bdb7236e15a58ed2013892d1eee45fa944d6cdda2244aa5477eb866c5c12c809d87098cbafaa38b39a4d817394839d6bb274d37bd758c861fd317833540af07e8077929da6436283147ebe7d665f16f642ca6fdaf2ff508b8f5317dbd75ba630162a6a0179ffecfff2b1a80a61a742e735a87766f3f5ce4682d59101c8336b11ff147f54646610c05aedd973ee5df03bd4f81e0cb76f2178fe0b58dfd90b492d5933845aafdfb2235e6925fbf77d75baed45dc4aaddaebb64e642200f21bdcedb61073fe1d90adfd73e53c10f5049e4cc193c3258c183cd5360fb8033110639f91abb34744379e7b48bca6e40cba33655b80ea3a95be8b30e243e6c4f05ba42c5b068aebee754c0e9450221ee9aa2a13326fb6a2fb36d50ecddfc05f0535586d811ae248d0fab16531eb166b9427d93ca73df5800d647f9b15b34639eeda284955ac2def5a0a96e48e90615218a6618797928ee47f31cf9560ccd69ad0772f737ed2bb1ec93c87fcc1ea97eebe193a84f0df1e1e2e53d0bce6eca0c7c2b2e5275b5287b84150c244cb70a6ab3cbe7be513d698eec80d2f2c54d5681254092cc4a501e0754d6226c5db3496e6a7d3b67510ae372bc38af602a8cf1981e264057c73de957e98a30a1a3830742a5a7487f18abe2e1c3c36d853fae656da471d0e08bdfc1ad934f4cfa790633ec261a690f73f06c564a6e2d1959946930918d984a426a906a57b5cedf67d1c09d265b33dd296e8cf6dd9afeea7e72ad72dfdc65bcd03eb8640d78cb19e29b99578ba1b9ee4c6f047c7ef7994c942c9be93f0edcc660eaadf8e4a1532cf1d71098729f61fa6ae2d9076cb61cf28379bab36f094a7615a3a0d24152986e5bef1a7a020e32f05b78b84914833a3e0bfef1b705ea0fafb6aaeaceb2404e6fc85be876e180e222bbaedcd227d1a2e88fc2840bfb6d4b9123adf8af6c728fe3c60f86237231ba4c8b545b073fb6f9f0a71ded7734400e36b14518cfb1400ae250b2f40186ef5068b69c3ee12980f27dff187b7899e9a7c1d365d539934974a4262bb7225374bdae7c3ac018e977f05d73620345f21e45773da2646433c9405cdef0612d69ff962472fcb14808cb6bdd533ae5c5853d09e95c15e60201a93cc78122961d33aa8f4f14c5a216d4f86a35b343a01eb3ef3c82191a58648d94f13489a052505420e8416bf0179c7bd7050f775ac3355c548339a292ab5394c1711e15e3284ee8d9964c23f3d2f839a444e3ad41a6e62569db6f856be41e5f1a6f82e91407c32c2e2dfae05a77a87abb60abb844650aef029624021531333249c5e1e225948a27334624f25aaccbde78cb91089f48145eb64bad19fbb658ef156322ded34c835319dfb8104b2740896824be1387074b8b1b59b533724cf4ff8f0917392f18f9260546f6d695c4bec643c02dd099ead49c89fd905f43facfcc481ae66ecc556925b1495fda0082d106d63d3be7935643f845bdcb88536f8a5215e49e2fd0b17f24551a10538ef66427a4b9a529d940c0352ef575b00cd73c9df63fe23e1d54b9d10ac92564cc89dc2f24b530b0307f2ef4ddcbab19b6fe0d69cb61ee97fef6ddabedbb2978357ac5c2f94a2fbd2138336817f9fad69db6286c197cdcc6c866d416090088a298d09e2d64b5c4666c25aa05fb151b555e46577373efb5c5c00fb143241cb233e0bac458f8e29f8d6eea8abbf17e95ac08456b3dba5dc7751c2753d0b3f85e76bb47c6009e3575833fdc6c619fa19c20353527f89019215a44d107b9a66c634831b0a1de46e5063aacdbd8d0c423374cc0c5f3fec9749172ae4013ad886e773c5bc0ea7e8f802fa7826d04b62ff4e39edf5fb745260888cec9a97c982fa956228d4b41b6a5e378328fd64644d36b6d0320bee9ea0d3f33f5b6fbbd44a234866e966f9b774f0d8fed9c17ae4e3b84f124759520bd9c93e3a2f4a482df6c50241835ad47fcde5734825fb243451e1e255960c2b2b18cbdc12ad51d37dac6735c2927368bacd4a78904c837049fff0e445359fb0a1df5fd9c260c02b55a316fc284f3537c89e704525ab332ed0a72cda5c4c56090e64da75bef09d024fb61887a97e36976411dfe09452bc51d6f989d1366d54daa7a2949abee01eff15b4f8ebce2d876f0735e47db9a49096e6cfca54ef977660ab23bb79a46fdc20c38978d9ac75887ecb5c2f4154ea2c6165af005c91b7f6ca64af56e2342b428a6a2bea74bb89b05f37022181b69c4f51aa5f963571c9d602ca1541696124606c7df44666cfd73c4e501fda3887138eddcc41896e83c2b16e939b6b243b4344b170a1fd41032e56d22f32da8e4d85d2d2c643447ac73822af024f0729e6ee1dd2c34d383bb224742b62eeee2af07ea1cc0b38764d4ef5841a9cbd51bd20d477f5ef64ca0364cdfca56d748e1670c923bf6b8a6a71191feb69ad36aa452ab0a7091f986daef1a34ecefb56c5fa38b3f264fdc82e18cccafff7609ba01cddf2c848ada4d38c8cd35242d23585a9225adfd42148d3ef154644a97d8fe1ea0ecf3977e1d18ada2ffcef0a664eb0bf03fb5b9469a3304b8b6b6c66bce324246b8691c62ef8147357812b8b515dd8a1924d0d7b7fa9b77ab9417b66ee8ab906c1f4fb13b4c650a16428ebfc4ba50d86c30a9c8db3d2ac6bc9571b81378a5a08c945f5d1b4c4cc874a1b7eac50ad8ed6f9947123192566fc8cb75321d5b9e03f0aa0ed3b95569d47101cdeae0d29ba99df07a6080f54b1a27c9c358b0a98ff83d77e208c10091376b09a815884bc6f80c6ac920cd666a4be100df6dce30cd8f6aab29e6b0cbd9eb4b7079452c87c6e9d1171552cc6eab6335e255f89f2b73803a871c453ac8a4af484f4d18f7519d2087f743a352032f368e58c5695b570b83314f1ee7b19081163d5ab5fcf53ea0c003d72189b25f243c701caa26f81bb6324eb9c4948f1734ae6802976bfa9358a500423451ccc50ca5655081cbe80db85747d66d047499b9d34d21e35600ed174df10f00974f789abe396c2d6ef0e54d3448bbf43256c895b8ae210784eea700066f1dc84d6f20ee767e9aa7cc33515eb36ac9ea41680bbb1c1367fa497869bcb21e37520dea209ecfd4db250972fd9923930ce065e4d3901847349d5ab54f16caed8edbf9b10bb4c68ec8b8aa328a227a3cfe07186f11799c74abedd4232bb0c153de4ae47d5c2810fffd1696f031e7b872bf85af4617d3d9c8170f2e71133f347ec2d29cf9e1f5614a265b4de252337ac5b2d80913e1c61e81daa9fa28dfc98c9b1acc466986c2e9743a498fd7f061cba45ed56cd2396ae4e8e39f6033324d4f1cf69b9a2790564fc3dba3f23a87abfd8182314d9f1b5c385bff41f94278806559c5718ab9d5ed4fe2378d0a45bb4914aba9f08443faf6bc070bcc7852c66648923e2a81e905091f5d705511ffa5a472b3f8b8ca4c27d4f9ddee1e5e0d6bc818260b744573e49c06a8dfdafffdf1a9e187de545b09904cc513c3885e9b54d94053b1960c30ba573ee85831108f0a64285c274ffef6816c6772a5c1b08bf086ef92adf9ce612b9d17c3b07e0866c4e3a1847d8e958de3f929ac08024cc4b1f77ae7c77b77ae0b7640be69dbeffc3e411c03a1910668508138cdf8a1d02f6d487741b86c499d7ac52894f169f4419455718e3e7e2baf640f67286ad62eac00ffe7f215d2642988d360c8f94d208596023c6754e27e3f284429c46d9c917a5dd1e0b17741ce10e3bd5d023a3ce158a19ec529f4f6f65fbe3fdb92e468f8fa1ed98a5acf2189ae7a86403b80c691a0b55e65941f938c3e2283315fb9549dd25fa7132a378b41912c039e33d02f218d4ec747f2f7a4da8883408b6cad24d04d0f8def7e849e8f7481daca5c9df5835c3cb1930b9085e9601fbd5b4950c2ad3b459ad24e9a168656489c50dacf73fdd46cc60e7c2a91541c40fa7c2cf5128880fd0f8c44db5d6fd382be44532362d6738ce3984ac6e9fc70f6934ecd4162e048f5c25038aeb55938cd92f6c09052c7e4c3a34d983c9767ef122e06c95fbc04ea2d572c1d92fc4d8ae8defd7cdbc65371617b4539f21602d2945351a2aa7cf53d32db06f79f0e9ac1fb0a7130f2e72348fa357a83c4e6ca62ba33d048867385c0981adf2e6bb4f2c0de9be4afcd320a79174c5ca82ad354ddfd1061f885159d7efa423edd7650e9b06104435a43ce24fc53efc95866393dbe5d74e2bfaca792defafca1d1c540896ba0551df2228e97166e0f11c940112545a6cd2e46eab032d83584ea550c60246277f5a3ef9e517282e439f6b12b694bebadc41706f54ec1df3334bc87a3c07c050878a6f537c32100d7f009f11d5430f724b9f13cf05b764dea61260e896757f691b5fb155e4e4b35401834bd010de900b144432a91942ed017f885ea1d87257a472f853017c4c2ddead63dcb953ec4fd5f8726a582f6c78c1c0417e582e1d6e0d75d2fbd5cf7a62134154b7fa9f797a93e3e358484b41b4a03e3b51728af9d473774cfbe7a92ae601ec7599dfa0e0050fb413cc9b174ede0922974a70b510bd856a3ba1934fefc42f36c8a299b2c2d13995cd22eb96194b42e5d6bb946789a726ab973b1f61cebf54fd7175e40d1867aaa8439d2d9ab83b7203d863f940c7cc1e1e8051ce37e63269ac634bcf34721612fb38fca83270b1f768dd15214319d630bc27ea78c82787642e710e1ef6598dc18563241d37d26a63f9f7e29ebc3702e116f6b13782ffd780b0a3b74bd567b49282ad19ecaee6389fbece4aaf4f36ee759d9cc106a2e1f0502365e998237de6b519688f96283c313cb109a61f9c6d2d7ec3650951811f30531e24942fe70fb2bd1f55e91be8f247409bcf81f667c6fb2dc632e3009cd19bd357e3e8bfe97d663615a2f9e64229162c3ac3f575bc8f5b0fdde6ed319e1bcb3c761b3d547f9864a8cc02c55c0e3cc8a8e2d5844928aa114761ddbff42918342335e9be1c7e6044db7cbd8b8521648a6e44358ec538e10607d8e3262e54c4c1b959385a66bc87f5da5454129b43a13f60dbebb62484d1c153643e2c98a38c68a9023e72106c3ce31080ed9a17c23b64e2f3e4cb5322ec935c94f2b92de2f083bd26ae773489995a35962ae3a1ddba29b0a16865a2acf203d4a7887e3a46db8641e52ae84a084dc13592d6562092712d39d859a86a18711897e8726d1936ff41a3d88ccd5447de73855a88657e3f2d242f9d2814d1307b4cf1a1cabe52770b0e22a92f33de5ad15903cf43f3a473063d90a6d9b515f1eca6f1717db9ac90e947cb6576e147bef8480ad858e38926c75bd599745c1bff43842dc479a976bd8c3620181ce943fee97f2c0e91b3d6346438e99ae94a4aa358182529c193fae20a0c3b47bb0c472446840c85ed212a9c9526fffec75674040c6ae9f3bfe87cbe12d38326cfbb803cfdb09e7fbe69b2eacc201673b5c81e8fb3628925fefed3d854f0088931385e3db819435686072b52604e4de3a105f1e778a9ff4cd83ef90364f2923ae219777f349d4e30caa497113c3a9f6326d2345f4d9ab38b812c05a3c02e1fdf51ee1aea980d98c7587b67cd2a93b71c10a6b546fbeb8adc6d6fded7c0e5d30a8265fca5f566366a86a4255e63c41a6385be95992b0c40a578ffcf6161ee71e68ec84144d07bebc07f44e852c254bba0bc33e5ba15b9801062f1b176cc6e442755d5c7bdf64cf3363c098bd8f65fc9ef58c0b8b75ec7b61b3d7691bdcfa308be143f30fbf962761554d23198cadf7f627c4b4e3469380ef47199d156a5373f8dce59c2b99624a8260fd98baecf8b3d663c884547c87c7524516644a8258fadae76ba8a5aa8830cb3be1da81af4f68b7b53605751db29e7ddbf1b4efdb34ba4e111a85011360131aa5cb6682f0cc5385d2b48487f679c13f9252cd02c9b37def77b23f5c202f15c30d1a3a7de803d44d5ff0fddcd11f52a19928cc2cf1ca5ebe3fbd029a3da39522913728d25dce0e198858df1837c8a42f862c14ce547e70872acfd03b462befb57a882be8c196a98ba34f69d7664f5f0dfbb4060f9ba738de30d3e16d5f9568563fcf39ddc53c0f86efddcfda568edde42d42515e5e1e0e3e43649c6aacd248a0f2b2d48edae80b954860b9d5808f50c0ef4c3772cca19a6b557bd46b3b28cfa8674abe2d155c9ea8cee26514be838da8e80e6e4b0dcfae37585c54ea76641d5e559655d17428ccbea9a519926d3abf7aa4260a43a590404325785c39a396c0cf263f37f9bc0f819a4d2791ed0bf349fe28056313818988e55113ffb7371684e8248a3b3d31385b3ae6bc2bf6f7d3b94f8438986e0cfdb8670381a65716acf90c25f1c08ec3875911d15d899ea5a891d7cac5031a65aa80a33a60821b619b604a863a3180a31d30e1681220806b0ca4b0dc5ecc06332f1ea2a1b7c6dcf617624c6150a8cc1e558465c5566a423a1287190076df7602c6e9c73cea52e70e0b759e74a3a7eda2d27a3e73bbf5750988d47f68c89c2dc6af83aac2d5b614c8e6b4e5a36fc1b7ce7d0abd76792a61b2e983dda5ace6e784d702b51e3cb87aaa4d9dde1ed0dec5b36567d0824a1343fc08bcbf4e665b36f1fbb1d4ee16f524e0b9376bf6b46eee0a261af513e89b2eb353ab4426b861791a5cb97eed4cc6ac8f3603e6c80621de07c7b676e965a4ed4d378e7197df623576024b2c6a00e98e7a9319d33ef196da25d21d94da2f59828495b875ae6e73050c1cdda86de84d31e780bd42361b14d12832899a9e136e9de4f9f48afe6352bfecd355f26834bf30f57aab352cbe988b0f3da7c32808f7293ee57a90f71aff7b15358c057b006db062f3dba9c59ac21848cc2463ed7a12ed174c13b6548e060789705b1ed661cac49822291ea68445e0233f88b84d4303c979ef75e30553cd0607070b6bfb683bbc9a6a2e407d74dffebd5ff711373e8d1aebd21884a7dbb4bb6808ed2df02515ccec721ba51f22b907d5d6a7d2d7d1980049dd85f10a0341e930af26680ab131f2670a78437571df9e23e17df67f1c2fd5191cbc393379d880d24de37152a9524d72414cc420bab80bab061675a3b96c7356d6301c0d962f8c2fc5d95681ea43c32dde42226c19f536efd3b5a1950b02d1e661ba7dbe060f23f3f6c420a9cef4e1906f197223ad2465ca61b3ab08d619dabc5c0a9a67c6b270b171363b2966ccc1cc79ef6ec4ac97bf55e1dda327ffda9ad1e3efbc0e8a7519c48a458075a2eeccf1b9112a08120523aea8e59b178940736ac0d96ae72715ff0f3ab5ea0bdadc64c13274ba12dc575e9a472422d28dd97df1d34c098e5364b59793b66b05666be38b3b4b1717daf467cb4ad5d43f313afb44d019ecfaebbedf3b1b64a76a2dbb9bf63f965d7f3bfb844946926d3912c054cb107e614c31068316c9a60b3e5de13c5f17cb670c87327126aa7df13481cae8a0795de3ef14a89e5b1b98aa0796bd6a3c8c41a561f860378d9228b462ebf9edfadaba9e01c53c6fcf8ad870f84889cb4974b75f1c363f3d8dabe653c48dff1709bcf7a12e340bf60dc5cbdd9e02a8161faabc0dbcad5f8fae98e6bbd8ea475bcb29812281ff60641f62963228d1781abbd2e6f5e45768c60e23b4812dfa9111a2633e07a21fbf53b0396f4893d81268be20dcf27885cf77643f5906473e5392c2b20d6787e77ac1e03477a75b57c90daa75d1c123cb7849fd0f258cc832dff4ec5fca2d6306a9e5912cc03bdd3addd4e31c5a0c2e61ef2d3a74f0ca4e211465b3f62b7ef287ca74c7543327e651651ff775444b525ed37ffd5236107ff7ea73d2f5fe108d313e9eca12d1fbef8d8639095353e909096e20c57834ed30f5718fa39a447da88772c308dced7fb1e1ebfa7a52f8ffba8949aeab40a4d3f72d3e39952cc9bd3fac81a11d526b6ad996b82bfa57756bcee7063fdc42efa39ac2bf4f905086db0541e40ea891ed14b94d87c3093ecb46fc2c4763fd420fefedde74d40c7131e9f3c95db8bd0a6e9e3b8c21668727f5fdf65154e5816f273d73dc8002458aac0d6eb1cbeb44cc04f6a7a6b3228ee68162be00e781342a0ed27dac1fed760dd8a038ec938120bf9b8ffee53d3916b8a2ebdb33a9ba33c9ab5f632a2a5a5395d859bbc71c342d6c2c3679e0d4928d2859286dbc26ce490da04e217f824de54c1521927315dcabc174dd7d4cd738cb43a43eee08a31d3aa7f7a5e93ef3e6fd872de1489291386f113c5d0202574169912590474f693ae92ee39e7ec7545e28f8d37ab829d1792703308bea4f59f57b482b6f416f1500f74d686f76ae5dd2be4a142fe5182b08e0efbcb95a3f2d55397ec9372cfab64b2a8761da5d7f1635f393317c14f228a1cf977aa0e466e4ab1a630f85283970aecc930dd8038633a99657d34a1b0667fd487363731266765838bb8e2d860ff30fe6512436eae70b78d99d8886c5d9b76cca7cd1eaf918e1e6a3104f3096916d86bae6a8101e3b58a34c46c2e07a017d5e9ae6d14fa29a34a6c0bcb5abceffeb3bd090f43133c7edb80ae934fa9ae65b64056c46c5274285971ff6694aaf5d7a7757312cc58077eda7ea38cb5acc7b8a0dd6a234274da030f290e084312b52bcc3fc21060b2bd619779d4c9eb8cf2f7540b3762bd6d5ee1fc33ce13f6427490a445a0c422ddc4912d89889349707f8220002bb1da23b063c20ffe9b0e1d814d2daa851ad51cffd24b5171261232e3c3d93e560474779bd14f0008ee8df89f26412d98ff561a8b1b37bf0816b873418d8e116659f571ced47add69e160a6e0bc32a42fc84dc117ca6e6e527018a30dafa2fcc6c212f5bf3f3d38529dc865a094fd5819162071523e31fafb9e261280cd63b68b07a428f8af192518c3d2d83f5eb6e3698cd0cff4090b99b8a0296302987548ee7b5d955943d22947725d63f4e953167931d62b4c358a60d3d110ee514ee90dd665c833bc9e23a4f4007f094daafa83c43d91b106bdc8d6b9bf6788b13026652fb67750a8ee5773d92b5d4e07fc01fec19cd5a850083878e85321e66adb1cbe384d6762a080bdc9f29423dbc6fd24e367f5762ed7dd379513ece9ed4d41cf50f5ba68de8583ae3931c26ff27eeeb374e4e18805dc3a468ad79279a9b5831af76141f15bae8a9ab716f84b33cfcb91e75767360b40d0aaaf8c05baa5249b0fa87bd83cdf575d2ec60fe7fbc93c1bfb9dd41f977aea2ea7be8a85ae1a8d65bf6805e2eec8f185fb03504955173add9f363dc301bf827ac697c68664d4c6ba87bc81ed0e650bf6fbfab927f90eefcd63bd99ad592aca6c3ceb5dda5ee78bb0b88a419bfe3123aeea4144c58fef6013896f9c2816374bc84d10f4c8fe5220ef83d0017a3e0b3143624f5f3a3546ce84ef8bbfc8bb0e4d83c5ab2c4b1d1bd7ebd15274ceb76fe0f7d4d6adcb286cfe895c2e65bf0a14d0a9898769f1db86cfef84464856fd32fb21352cf0ee478597e1895f6827add986d860db2abd7bebea0af67e82d97e3316d8998e1bc7333a1b88d8f239f77933a14f275dee466bdea998836b86fe672104ec600d847b8dfc5857dfc971c658c73f54dfc1c5e938befe8c4cd8a4b60e90d5674ab7cca2c8f861b372a2e8d2feae79f4c4381185e7368719c4b0eec7f1ebfd6db45aa64d74965efcb559eaaa64aa5690a4ea92aef26748ca9a8d351d90b8c43e82eb2c50f688512ed068a57f256ad210f3ee3a614e7471f44cffab0d9df30b77e6ce22abccc417344d5d21970957e6c175c7ed6a48ad3e19c98546e2fdb3d1a0b775176d9d760869a262f83a2849ea87e749e23b8a76ca168097bd909e8782048141de1bfc469937883866e9418dfcc70e9bb51d5dcbf149f8d4546ce434f570b0aa62f97780a74f50dc7034b24639900571c4095dc8231621f54edb7ea6d3ea2b975a826540fd3873818c38d99960fe8f816f45cd3248f5ee3572a1ebc74f647a275530ccb37a73a214a3a57a4dc19dc2e671df78efdd1f1d5b2ac4ca779ee4d526469038e486e92671861743d4b6af13a69ab64eaffd96cc70f2e2fa6a226d909cd2c7f742d0044ebd743695c27b9f30eeb3fa3f170631a9a4d49dca58a07fdf190cad6fce34ed8e2f37b1080828a19139103715a9b087ed46feb63c18b70ca2c68f2943989b84b87e9411ce6964a5761778de1171b1b48dae328554781573e818b2acde9953b9e22b15b98ad581868df11a0db4f2bc9f0e3d44240b7b6034f412cc95d22db32275ac55c8b202ae68589731d3bdd539e96070731f64ea9c476506c421248cd0e657aa5efbec496e4bc61fe5abecde8dbd601f8b1f3277cbf41800fdcb511772572321878fb6569e66d6580e78a9ac6ee7896411ccc2d8c2426054868b8e4d71d4c261ead641d01957876f2e8df75cca6c5385c08dd5755cb801e56f576270b89121e7e100a2463a58b93e09c5564def4e51aedb10310e696c106d411b5b7d41ff56bf2fa138cf72baafab1e06bde0fc08a03dca19f94b6cb6b1c98d9d9fa45452701f130dcf1aa5f058ee24023ac7033f3fae5e18199a1705046b4a1b7574ca4475a4bbf34c9eca8f2d2f6bc5aecc20d9bd5c09d7f80aa73bb352aeda7055b5bb39eeecd66e7646b61d27daa5cd82d282d4621d3195a66b0d58abba224f17a93209b3305761c8b154a3ef5dabae4fdd688f4bf470dd0f164f2c48649883756a544888c891d11ceece2226a004689a56e31d7530523796699f2d67da22bf71fecb105fe82b2684f624b179c91681b845ea344673945131339f65abf44b876cd5c9f0485ccd0620ec50bae0d6fa4d92c156fbe9b3309d5951287b8a95b4448592cfaba532bdbf84f6725d66ac7dac755100697ce647a435bc2732d435ddf4d846e5ca9659e1239fccc92318a7b2bb8cbde69893cd9a23a3aaea676a4c7d5c4a378f23843195d0216b32d42e9550df511e98452b4e22177919ce4329c01b336d56c9ba33318af791ca0bedb964c1c6cdc3be8496df6e3e2365ce7e9bbbc60e40ed5287b13ea86b8725fd895517a9aa98c0c0bbe2179c0fc84bbe499f3181894e6fc87677bec9158100c97f750f4004b06a9ebad097c7b32ffa4e9ef7e2a2e601fc339ef73fcec8bd30b9a5fe12abc502b1c4b3a68996c6612d4f2a1a24668920a809dbd925364b4dc4f5f09a8345266c94ba0f9ae27f9113ee73b6a784abb2fbeb0664db3716080ab21454837161fa634a4bf3b0d0fd511ecd64b8a533471eb8e8de6b29d4032cfa62e34abd7e652f43f991717faf645997750cddc4b803a33b5ac31b19b5be8e06fd89bf754670537714679fcb34b42e29c669016f555a7762a930a8a73d4302cc99fe73ba180364114390b66f471b4e0505621ef37e8a42dd64ba88dd1d1677b82908d0f1a91d3dcc69cabcd74c921bb4639541aedfb94f31898e2ab63d05ecece6a2612cb3a73392862e840257abf3df48294272beec1cb8bc73c779b6e170dbfa82d1039c9800d4a2fb5b59aa3c47d902c5cbc211bd6b05ce9018efeb0b10f4fb33af70f69714857402a373c387af238ada033c309c1e0c018acd5c74ece9e9cec83d0d85437d5ff4ef70f624dc3e7d7d7b80134d2f0a4d04cdb711a555d0654bd2d61c2e68b3c0339593a99c53fed805c6eed4de3f91301ddc31a4fe9c42dcb9e5660e7ae0a5179c3094d1db7b695c2b82367c142a14f7074952896b331e2ce8e82ed5de299a9a935dca5aad6f6aaec68fa7d803b10581b2f713fad28bf5b4b65eebb42ec21a3c3a9afd92769abbe613b718860a2e05ec53a37c9b38ccc3d9699d067bab78a966a44069059688de45d4e18632eff427800c4b19a319b49e88b032d2d4c6de51fe9f77935db9af28a533094017595cf819266f8647fbab993fd28f5c88289f639f3fb6e537aaa19d0552347a3f37821e928e301f2962e7ac1f9b663324ffb9a9a7b88daee912cb1e9b72cc3b66c68aff4113e04bd89ff6836f92e25dc3bf4ad915dc9a878e92d158e967b2f9947a157b4c12c73af9f426cf5f71f315ffc361ace7a08a1b0461af8d945193ee683e91adc1609e125d15e1fc7617717f40dac6a1c7bda78ef080ab14fa8f80a67a9f3763e0c4b8ade18528a002208836f3016b456a9e77e9d2d8b7f84cec8db1b66b87d03ad6f76d068b6941ec5b8f6c0fdf457f1dacc73b6cd05f314608b9b8f9afc54e19a07668fe7ef16c5b705e0dbef1deb3627526e5de3a71b0c3538dfb7a3576caed4585bbcb26593c8843a31a3f851172f18e3b57689f1dd97c45883fa0f1b86d50c5193ef13fcb8734c343961d96fe35608a8c5f508a8eb70872a07df1f70b67b00f376afc9103165d9496464186c644f453058d643907add6f90243ae8570897aec7ab182a13d82ef37485c7e09f014c0e79dc54dcaafda0d46e8e785dc060cdbf40a93988d513bede0e4b3e99381b50ed913cd1f980c74d624e33d491160ccc03addab7e89776f16717bc0bc7642cd80f03173f9f40c2785b571d608b57434fd8c1d9fd175d6a5b8b62720afe44fd4b996a2709387775f2b9d571fa8b820de72a14564fca8a2fe0187da55bfac78cb4d5438a65a9c921996b1049fca922906026ed5b086e5b019ec506ce8ae4388e8dc6ae700c17e91f53a2b8864922d6d33401a7a74a4569a02961e877f2cb889f2b1fc8bc9b6caffd348341631713dfa81fd3d6b346418b8ea2c141abafccc0bdd23f3f98f4d8000f92ca9bf4b1178326ec926f438af8aaa0c16df5247d35de0df02c0b9a1f3c1f3242d2a4085124258b2137dd0779e5f437a11568537b923f3e5a78015ea845f8dd0f1fd1cd80b2f818c5fc74854e2ae35224b1cddc074f8fddb28ba93f8a299713a524bb94bdbb9c306443b4e6ed066e647cbc2b74abe6f0290fc1f7d117f5b5770772351762e566e4eaa4e89456bf110030b1eca07ac3f0d73ccbf15b0a6bd35982e941688255559e224151dcfb90a839ffc7563931c98e99edcef0df8f7c54a785b83c4a2b78a2c057031a1d0c856680a91a8907ac3065be1b5831a1e461af1f9b50da254c5e6e2dc612107640846d83e997d043bd51f46366f0734be2a9f83a381b06883d910513cfb7ebc799fc28b2bc6dac2fb31c77914db5d01ec48b671f7150749d77af36b41971d5de0632bc9b076c5f05e1dc14c5f85bb353f03d1f779cc679eb3340021efe46e3a76e9957219fd729fef9dd55adc7727410e8c230d4303aa6ce63dc1c0f80f59d2adbc595fbc4165898de83d29167631ec093f7c74fede710658fc381abaf0da278a7a6c3f0138c8b87d6e056b11b1ca9525c5d764382c6bca5b81dd61cc03faad1209f3bdc621473b2baf4122885218d505979896fecf9fdba56642f7194a95e7fa0c9fb6f473e2f8c05faa1ce1042e7747f4eaafb9e39770755b7ebc7ade9b7fabb377255a2b99feeea456211b2636577a740e32f02e5ff62ac99eaf9f96a450fdb1a98a88c8e81ecfa1c25fa5ff00b3f1e5bebe0208946842435938463a96126d35491735caf657a04f58512831eda40ac6b6d43ddb7653e261c4fa9683ecd924ead67c216a54cf71f57f0d1b49c45a02b960613b0a9bab66c632b2684896a1231b8073180bb5cff9110c3c408bbd3e90fe5d07793e9bbbd4172f4fc261551440399a7797682d920131468c8cbdfdbe52bd522c64d4c328f2c8a3e64120b38e3c85cf481341d9d8c7488c360a54577c74d85912cb5734603ebd96afd2df00c96bdfb81d8ff25bd5faa66edfa3b2d5d3f2c7495b92b76157c763ac72604878434eb3a71ec2ed754b7a4be339d972268cb01e3f1eafa5b5d0aaf4ee3f47c0b521e5f2a0664691522b9ca64c351283b31bd5c100898d1be01a66cff8e4b882035fcd53a061da5c1eb62cbff614f106b8f4a23e574d14e638443849c4ad4f5268f56f2db473fb02fad7cc6f05787fc5f46acba502aa3e02bd8561048c41037abd0572a8f22e5bbc9ed3af86db9e74ca09f5da52b0d8ef10f3b108ef67a5160eee85dad932fbc3eeeb90aa7b2015e303a8465a47eb007313743018af36aae95bc424a88cf9dee14e0998f208168af5c1f812dfb6e0888e2a9699436da9004c0cabe715e461cbd1fe890104dc94854aa2702a1bab2914eb4f4b9c9e3d1c27c6a9621a50a3d6c348d574100c29e3b6e344ea41d4cc10f53c78f9ca32609292dc984722296004b6db85c63bd5ecb68c97704067430966d02f84d50675c8061efe31348aa3e62004ef1c74c0fc3860fc2905b7e2640e46aa059b29fe4dcc220c918b086062b22a08ef7703c8206a07f6e454f2677180ccfdccf79fcfc5d5028012e858e76ce64a2a3a2e77308be0c5d84e1ae9a596c429dc656e9e19b444a61df29cdfe983ed1dd3722a099efafbf9b32ba9abb86f0ecf684d207cc104b71c35d6e2fd7c47f23b453e69c6d86a11811729e6091b99c1b70ae7916e08fb96e35212af86ecca8dac1313f369863f2ee478bf01dde61a580249366c4b2ea2f4163621bd3e30a6cb62bd9076f51770b3bd3bd3ef1d3d2727ce405a4a807048077fdc6a586e1b621363aaf2bf6bdf2561998e905309d557325d2de65bbc4559f18bca1564d532bcecf64642ca2cc2cb3aa6470d00de9878866ac77ffbba8c3b95388c523790c009a65abd8c5d331915c8de3d51aee32ccfe45dcb3ac355fdad3aa46b4e0b7b326ea3ca60a805fa42892473bef0a07a356b97b6ac97fbde410245955fe2da79981249396f6b8b0e9e05e9f66acb39d3ae4ab45028a9d14b4022037679b56f2267d6e0956d5f529cea39e056af1f164a11f5f493709be286e497e7643d6ea142174c5a4e6dc2c9509aa91b95778ae2a561620ec62f34ad31b20340d5ea30699596296b1556f7a2dc62e7a4e1004597fc1a57e2297d6ae0a1ea7f71692ff45c17690bbf5f5741dd0d6b0dc85eb8938be4e62cba4d68e73eeb350cfacc812c698e2ebf8a095f1cfbeed33fa5692867e3e4f4d8a6468758085bd6cc2c4173c3991c861d2cd4ab15381a3ae4a73c6157a5767d967b51340e5ada9fb219c312114c1ab702a2f1e8e182aeff6de8a3ec2b0cd54d8d1ecd3f12667ba2a1651bd04b84cd294b577fb359493285ef24c5ec5dc90ab3c6ff2764f4203fae71145a9186b2c65111592348bad23fb10f0dbaa8f9672182d494da1ce0a0ad8422cc0c6dbf3e9aefa95e5b4b2b1a03c3714df720d0808fab5ca9aef8035561225b2bead90e411c7a0d4add7af85d64688c3c525a827cdaa4a579158c70f760be0db56a9b7cec67fc823f05b9f9bb3c20a7b1b51286eb9a0dac2aba589f2785fb3ce36fb6b6d2a8e7a7ece2d019b531b7b0be8aa0db4a88e1e917040ce9555080c9c9f1874b10ea31204c82d11b7bdc33ddc71f6ca980939d614a1a62c5827ac4707ca402c6636cb5d73b267b32708b56e8056577245fee4276477a218c8ca9aac7633511d65ce8663ebcfec6f8114234359f5c3e8ea548666a2dfee8413348cef43a5c74aa3b97c146794dc2f0cbb55a32685ffc61ab4c2a0b43afa0155793f16c2cf2d91df755b4cbf5a7371d92c220d78935c1e276b8441fe6975257b54c91cc4b9f97e8c237a9640e65873d0cfaf99435aefcc4c84ba82f23414911611c46d7ce6219674c6ac97af35c86b8e2b7a4584f65966d7a5fce7e462732f47ab8374aaf1ee407ed28732e7bf2798e9982293708f8b718589e813116b2ea6a77922513c3a2741ed3ececce4d72a9a0c55ec2aecc8798eadb29c0558b37482fc52994d10195833a38a77e92696d184b07267fc635f22f97f0967a0b702129133f9e355f020566e6889f092163f76700b01a569c31cf3de388d20e70d2edf2a81152ee718f10535a66417c72f1b77598d010f7249bef86fab2dc58788c82a3e6894866aca413f3b31ce843e2b6dded001396d6678959322f19ec22f03eacbc24f4b9a562276a273d6a9dae48bd69618ff94ab39b3435374d9ea134bd5d66da067ed8d1ad185553e745eed40d62a6e9a327b28141c05ed43e130489b8fb7542ab967210c07c30a198ed38374454733f091780c20b31315b272b8eec5bfd7113eef45839e1667cc481d897280bbb33e234cfa33f32a7a63ffeda87ff5648066777e9805c65c4bdc6229eb094d1da365e3442edd1af96c7c275b496fd60a8468ea9230853de627fcdb9068fc29451b9282b91d482579de51d20e9a8d4edce000cb285911e251f930441b95073066619fe3860243f211f12248b9b267fc9866a6b771114ef3a994cd60b8f568fd011531aba8fea5215a8f3e86d183e58386f8a32cc51a0b7ce24eac67acd3213450386e665f2243eed5ecbb005fca4fcae3c36b78de05391bec08efc3251b7f3b34be4135842f63d2edf2b6646fad3cb82399969665f3883f626cb30d7f94f974f0e1394d36873b7ebb20d0f1c146bd262ad9f500e3e7bc07c5e785215cb2448c40d9c2353ac8dd8db03ddf85f1c7f2b0b5acd8d53add76d61e8758aa1625c968c588e73ac162547384b13d6ff3d18c92eb98f25d7c29930fe6e1d2af6a0a986f5172ab5f7b7862c41821630df76b443a0dfcfc3101294df9ed02fec2b579181f3c95a5d8ef36c12039f3346d641dd89da28eb8e0f782630f2ba598508b532e25730d9fb6bc8b30e9ffb4a4889117f6d664b00661789270f89b3f5a1cd8685bbf65c028d1a9f5080fc08116ddf68a3ed6797293a4321fdbae949a46b9763b497d03961ab7cd92ab92dcf446a43edc937240960d5994deb9d8970af60be0f786c4f920575e3f58e0115868f4f465fb6cb92bcd3d24ead34a3b847288aed8ced27a12bb17acb5b3c79b1079f6c501600d837b5e6e0ce73d3d0c5978340fc7395526c4c8524ea944c337e4f7799d7970e76b2c96b5be6b36bfe6f1ae465f39563c97bb2075ce5e78ca520b9a24fc2feb1c83c0b1584ede95c9f351282fb634cef1a39520e847614b671b864b52ce147e235e3316baa5859bc24df6be1871a14d06b2b8ffff0915761586518ab514fc257a0d8f9d45389bad90a4c9585634a2fe5fd9213cac51dbe101588e325034f58d7167a4ce777f11b32a0c704c232ee6a0f9b13173177dc942c29ff86340a5d40004da846c66e2b474698a97b30cb303374d5a2486516661dfcf4d574fc427a3a9c8c585b34c1a59a76a795c944313a96318f84439a7927ce35a93b13705ad19bc38f8d17a0a3b47fac7ef37c89390953ecd7afb9d4b420c0695078bcacd8456300655c3153dbf1afe811019222b25956ff9ab2aa0c98200aa6656c2c812ccda21f1c2d05634e801ba3200884ed000139bb62941f338e164c46f42fb7430e818dfd7bd6718cbfa895afe6ec8a05cfb207bcf6da9eed64c6e40b59fc1f1a0230fe761a2de00bd227531498b1445b51ca7dcfa2d5436469d4713aa04dd447594e372f91efcd911de7932d0f8cf3fe2c366a58ae88a91f856bb0add8b10750e6a7351884090c0b51c33c5f20ed9927ea3f3c6e83f97ad2fdd519f9ad61e85be59ee365053e713d60e5a315b151b80ecf5f623f815494fd6d4d97d991045b73389716a7c27be8d3941778585ede91c1a3f92cac3a4334ba73ee75ea8a822d71ce63b2e1aaadd1cf4ef6a91f088a18a2f776b6b3acdcd50b62f3d1a4f991307135aa63480f37b4d5d65e0e7864b0375c3de3bd057a1a36362306b6ecb659f6dde13404b3b4afdb97e7e6314d2c6e167925d8e90f5991bff15ad43cf1893dac8a9707a05cf0932ea9863357fea194dd500509ec6255eb02b8ad95e5d4033627b1536822f505de46458fb9114669d40de946d45b86cde7697466cc4dd6a63d4810f22b4b6e3344d6f567b8967d6ad3e1e988f232a358a9a67c49950a43129f82c50192db232f97a9ef0c67167b7f38ecaf8df5618c6ce6bbc52053e7e990e8e6503181aa13203392e09e419b1db22a70887adad6964954d15c7ef9230bb8073cb111b88f397efc0571a763f34fb7455f295beee14777007a64e59fdf7697790e6258fb367ef1e81d1e696ee3c3aa7d8fc0e70309412ab0ffe6e4e19c7b08143a1a6297f90eebf949f50a1f98e3499d92d1af92a216ef2d7baac8af05124c1f17998bf90e28b51ca3cd2dd9ecb6280d7c9cbc6b9c5982947ffed7e3ae767b6763e0740f188777d5f46066bf6502b3331d8d8ac96d3aecfbf9ba77e693f89fc81dac02b31b8a46ee76a7d8ab2eee8fb5e85acc93507e4392f8869da794f12bcfaf33f258e65e50addc4aea80f6dedc536f85deee30d6215093629c3ffc6897a81350a8e892ba69246022483fa2c6200c4552747005486cbd2e4fa1e092c06348e52ab23b1324ebb903b478c532d83c3f5b7aa6a8b248d9ab110854b8b252d0521d4d7a1329ec2e95c0f1a8d11a552b2452e22705217a94b5ab27b778e4cf34d9adbb4f5d0c26b3ea6cc87e95f0e0f257d8055cf8bf22eb29147c68fb9fbab6638739b62b3deccff3c23854e02d35f316dfc12ff3541105f068ba59b038ffe545630a9dc4095f0ef9dd96928d9174e0e396fee8cab44b97b860807254a702322dd9d927ab05e717f8c6fc75ffc863439d3fe9020a35dc04e7a5c2faeb00b8f199760f31f0e6b5b47c1dce0f4f90991549a2d8584539bfeb3aa05efa539c9a119aac1b72135df2307a8074c179ffc79b46608904d4b2a290c588cafdd9c3b1daf4892a32e1c754ff3f9da6640e35381c75c9b50fd25cdc46f26a5c2aaae374747374a849b9b3f2016a75490b0cb3f163c0b8148b0e7bc10ab50b1d52135d114a4115cf5df1dc0957afaa26901d5bb443248963ce6c1e368f52f9f62efbee699cb8167988b866599421d0656cee2f2e1759146000c7eb0ca0e4dec9e0aef9705510edd158ce681900f54814371edbfa6ea49f153175f622601948bc07314e6703ac44948318f2a326b33ca1aaa864670ba29c23bfe738b402a5cea71d9dddda8371fee21f997de71660915cec0acd52783d2e704602d7255671c9ff30c116c3a1ae89572f7b82f4352602ba475b09eb5f3718e6322ef7c31c33f564d6034034cda9d7805e44200879a4068317655a394cfb06b8bb5a72629ab312e1e82249053a64688bcfd8aa22017e4ac50578eb1e378be849293dc2810fe69b918d1a17bb57584061764dc2b295c8ea17a04f0c890d324b3fd39924a13bb4df52c88a64b732edef439e24b8c454af35c119ca5873f5f427efbf4a82dc8e0fa7714ee93637a0806f2cfeda27e92b61457515428b68aebbb80e06634ec2d640027d9969fd7867f389884f503534dc7c6e366eed8efb01d2dd61413f9ab11c81cda3e9bdb46b6a8c221e9cb1fe9ed869e7a5865249fd2d566c2d0b86cc64c408e1487906a4eb0ffd0f29d13ecbd22260336d7713221c61f5f00874e7720f1949980e0f6d6f2eaf02acf03cfdbbb1a9ee3e98b3e7e1754e4de9fece85fb3f3ff49e721a085111ccfa0bea4d89ddba9d687bec76525b4338618a421ee801f1a205a7f48954d5a8f261c54b33d4c1ed2e98fd6772921c3d522206c68392a90dd2bf05c4253b3dbbf0b5570265fca415a75224d4812f0a519cc86e3bb49b8f60403207686f9bb5089765d7a90ff8ae05fa80df245093bf3ae566297a0beeb11a29c2da43f5ec23dd64c1b0fc49b5bcc4f263be5a38bdfd63b3dab8296daf838d6ae45d6841a3392cad8df4a018cae4bfe822bcde2de14e4cda89ad75655a579362524792f312b8fbd105e00ea295fbc1f97943389ddeabcf837e142f6de55ab12b0237b392f6823e5191ee7d21a6a01ecb7765eb59ac7657523bb4cbe0ed848693b04df1069ef722b2ade32d3edfd0c61174b897e64dc90449cb6b3a44e65e05dfd182750d2068c42dfa9762a3fd5976d0c1df3c5a97757b3a08a6bce58c830595ed6c189e0a93ce90099e9c01a33b2e6279378bd6f01217a12a645316b4d1bee858e85f318f83c16d5cdd754d75be27fda0e8813a057d99fd2ef20614adcdc454809a3e6669d4c435573927b5beb174b8f75e779a0f57c6e72895762f7b43f3baf28a3b480297e01a14e00ef039656b4d2a47c8a23c7db79989476e1df1b7c038a3e0375e631bf0c50acceb243e6ed2f319dcc41d0393d68980d57cbc3945e42ddcc76c4c4d976f07dab12993b607085b93d739be9af17af4fbd049e6de8ccf20ffe0c65a37c826697bbdd818a01faf3b50913e79c121db37fd839e82de821b77492dd7e49582ffbc9c8f330253a8a6d0874b426cb4c867936b77033e905c6e0d1765c04128ddb60fe1b4acbd41aa431ee07fc222e26be2c50d2f02bb0f75f228e7ebb1233d8067d8a68de565a51d89397ebaea89ac745fc90fd915423ceb3e9c0fee6f137ad912cae45675ad7eb7c2534447f54c42a662cba2a87d30a370687e2b1c63c017e75eb1d12305b45045457e4f14230d83b7b93ae58b9382841f30a24c3ddc8f9f606ae5cdc2c6291dabd0808576c507f484b9cbec7e8b321c215c4c1d74789fc124be2945e6d7ece8cb9e7294e13ebc44927bfd0271ef0ca4685a2736b11cccec39d644dd04c70c7510530112b366aa875aa24ae253832696e47e614cd31c4cc7123b8777052fbd0396f3eb2aaa61bef234976f186beb47c3c46301759ae12c8d432aee87b15a96eb44e7e33f972eaae6d79f7c4a13dbc89568598e3d840bfb61155d5645ed264b5c0edd41ee56bfafb21f48c39200cd9d442d3151fd93127e1e3c447b43615e40203eff6a2b2ebb25c9772b5ca69868ac73d5c0eb9b33e9ec0d8b34aabeb84acda2dfdfd9d527492a30286b070529a6268f52ea191a1711dae177a524aa50dfafeef387e70750f57a8a4e3af5a476dba7d1fc67dea1874c2c2fe6671ad1883748ad13045518de9ddace52c6ed53acf125945d616cde40ae35e3dcf178d84eaf1f52a171d0fdcd9627f0429c86d3f53f9faf119cddd223895029f0f08dd505dde7bc7b7a9389c030bbab18ad883d8484daccff48c2e23a78c61cdbc2df8ac3e126e8446f2dce820a54d8404a302752df8d898642bb3f6eb03c5604faf664aa6cde507e5cd9d8d1c060a032f2fe7ca1b8dd4aa013cb648cf95ba21f3afa4c18475fab8b2b1651c9be9e1ed44c9656ccc9328c81dae7e3b3f218915e0758c6f282ffc367c6c2f5199bd1ee2d673d0b96fd902d0469bcbc3eff88150717c9c9fe38342b3120c8ce76ecba40f214e2848222057679c6427a5929014e1d74d3dc58e4e5a79dbffd02762a47a5da3038a704071a175b9728fd4c94648639e90e67c994a329c9f0e328ecceabeeab13c1906f743ed876eecd9e36d3ed9dd7bc219c2efd83cb69b0755b6de180a6c8018970210c90b3c207fbb0970e3cb8c5d35afe3011e318d070f5dade547bcc13f63175515029e7cd08a64859accf2c5a1d75d1c93d5f36ea6eb93c2badc602511261c741cf3d818a2c25846a1e0c1211d1ae75bf95619162cca90da16ac7d850de30677d41313c66b291a2dad036499a69b45148d8e8f54010957c70ab7a4762714560c65139357c98d030327fa0ed625dd52659fa79141f89ecca03e930a1ad2097eb3b1fce6a0c4f7ce6f9e2992e324614a353bbecbbb221461d4993277ca7cb057788f968c5609f885348372e4d37062a37dc01507f2d4982644c4de0eecccef62cb26b6aaaefcc1166782bf87b0d2fb9370121e1ca7c53d8b1b5670da35d1065162c18344cc69524170e7a3d97e9d65866d8219a58e5e9d74306ca50f3f2cbef041d2f1ac3836cc2303cca62d06e9d98c57606cd6ede031701cd75e4d8d512e3c613206578b00f63da40b3ed09314557f72370953bbf8481e250472c9f71f140fdaaed021b6f6ffd84cca2a11175abcf073dd29d9ac62dd8060d36121bb79ba42d418aad54c8f73fc24e0c9f6edfacae80c596fbb6421ec1f903e60be90034e4d2e8dce7d06f3b88be5e7f47372eb1ad7e9f9ce8aa2298dd9bd0585f93004c641404eba32c01bc37fe40cb584301acc42e4b133ae3b3c76b6a379f98ec6da853d316438cf09cf62a7a65fd049ab11bbaf72a0ccb0ac6276d6ed5bbd945a889e098b3970601c3cc5c93b98ba1c2cd835af9ccbf6f3bedcb380e971e311186f3d6ad6f3bb0ffadab9c79ecf7d9e45d48707de7a6b86f35b9c1836171369d66bc96efb3b44b3499ec3d1c401b258ac197971fac58a96260edabf01ced26606c1387417c773a8689cb0e145b14bfde070e7af43f9c2a069ee717dc35d7eb179a98deb52305a716240fa639bb3d6a780d49acca4ac2738263fb5af9edd931ba667e816452af79cec9e580a83bf203741476aae1275e99d6350133b4dbd7701aaa0a9cc042f5ab96ba90dfef94189da5bf139abb0bf290e5046cbd88948eb483dbf357736425342ab2f33055d369a2de9b9d643e485fc1d59ac2662bd4dc0d1ff911fee8500d249c477d0bc8a2e65273b32582bacd1a9c7bbe2bfa16a669410c3cdc31d60ea40b5aea3c1d93d502bec6afaeafab298f6b7787a6f8045da7a28b33bd29d16cd63467fbc738b67bf6298d92ce4d17742d88d40210e6847bae481df969cfe3da5e6731c598c7d98dd70c4b206d06fbae67c067602841bd5e43672b9a4cc60cf514a6594f7c7a6b799057053a88b8148666a4824726528336711c6ac130b4ff51b28c77caa6258170d5f6b1cdcdec8284506ec2e9acb4cd3b95921c39db9bc09e3a10aab280270d2aa0c57fb8db41464da7d9a23a70606b0439fc945c3145d0b2b35f43512605aa578b73cd099d98d7a1235a9f754e5bc005f31c9e19b560334c8219f69bef0d4d3f0a445a7a3eb75efa92c72e040cce1d491131902b7ed28efa4d2d3f9d16bedc6ad6eea969584fc65b71981cfa2e7c5e2aa8ea7db960423e396499703a498d88bb0351a33c5c5cd2c7dd7b9e2d490476d0460b261528a432a7ae8c6f40e5c6f2aa821d70ac936f214c4f26086f0843ad45d8b9bcb03a25d74be28346141629eec179d3ea6f527ddbbb243d39a2611a4af234f61faa06f40505163d3aba93a3f7a0c54c8fd55575a4979292c84acd9b14fbdd0c5010c9caa57055d3e14b9c9e67499c229606fff3a3c8ec511ee6d8d442407bf841eaa2ed6c821e135f64ee2dcffba20adec2eaaa4f42fa1c15a5619c8333ae8cde76f08057da23a32e2130cf2ddf2cf5c1d2a1d9cf3420ed2694f0428fbc093c9d721c975d0ad25b6f9057937eb013fa333c2ce53ead78a7df328ebb6a4f42a62ecc4c4400675d29f6847ae308b2e9fcfed26a68cc0c56e9a5548d45ccec5a1fe0afb7dd4d200b3021af555dc0a23463f656df410410866a7d68086feced862454625c3e76cae54a39032af12e403e9df6fa2af6c51d8a23abd3a621c23abb22402c643d2944d5ddb404b69cbc0197d8dca1af3977740ca46c00324a0ae7ccf8fd8d3610e335a5490359fcddeb3e60d81dfd116379950202c1a8a735edf2f00364bdd0dfa0febf53319439560a39b5053f24e19066cc5d1100991e34f0e73c503be32ee8d64d689cc2b5e6416e59f0b1ca67715bf3934d86dff6d4bab5eccb8161b2690b68cb6c34d0046a046fc3cf921aee105f75da5ee15f80a040734a2fa24d6a3e85e36810ddaa4633ae17b115783f607820182357ee92269f517ec2fcf8c5b17dc13665352a467948b0f9d2b49450efc77d3bd801da9955c6b96502817487cb091f80f944065cffbd869ede218e70f1a45d8d9a0ff49055e0f6500aa5ec646ce710f7f6577f69c6648adf6f540238f98c2f7baa4f4acbbf174032257192322c79815f735867d2db7f49fb7d21e0096e77d3da5654661ba3fad4c69195a394884ba2f89b23b8ab684ab1db596af6732a8e5865951f1374f9853c1eeff878d7aaed5492dfe4fee5e7153b57815bf6c50923b956e3037af6a9d74046544c7889c3fa047f6ffba1716fdcc33e2edfea6508b5a4ad4722bc315dbe5e293025db136a8fe2418e73fe5d20ea0abee4858aebc297479257639c807ff5b632bbb6f0ab05d7ed9eeb0a14968554b29cda88800cb0c81192929f45fe4e21bd2827186c79de437091e853ffe686d4e927fa8bedb274d584cbe27323539cf7e23ca0f654dc749d32c3adfbd21b03a4421207ef1bd284f92efb463187bbac854d657bfd09f465a8a9456fd3c4976ee8cf60236d7cfbf159fc1a199976b727aaabbf6ed31502150d79c9ab4aa2928ce51e350c600c3fbab17024acb6551a7bf4250230295ad22f0abd9f72a43d43497eea82e5d718e5a6fe3b9ed986875e3af34dffeca143b580fb2b7c62e55d3486683f2f2d921d6c755c0fd1a8a41b3b35a821f85f19030803df4393cd9e8476ee8af6c9665d8f7cf072893183f91d85ded7f17c6c3fe1a19d87b830af0a4181a5a0bc4a8caedab4cde7305b864e153c23ccd21ea54a07847d10ac86e487ee7a7ec50a6703d993c6afef62495eb3749eadbd823a12f97a0227ae0bea2f6add86fe48a38c71151d89c9e6d79548b675932c1f46c5a6a8a0490d9c2c4f5047b3aa1c9ef5a3290c3543640d01913962a59bcf8b7a1d73bd1d9ecce9b0174d3963cf2ab5fb5e820b22c2fc4a66d7f55ec2911ae41a829db560a9562cfb1fa83dce737285c99b9ff7964c7fe81f48ab9b72087d638797819d8a243b629837ed56cd0c6ecbf424ba28427f26fe11461c0352fb36e407583c04b1c5a303f3913d2357c8b6d1b93a3a33be611ef91c821cd5299790695ee1127d29bc28fec99a13b7bb066d1f63e15352a567cd14c427c547444faf354a77ec3fe635a1c92f3097eb224efff422b93639a8f621cce4bb50f9526e8597eeb535d834472a24447da52d04a4d1e390903bb629a623380a7def143934dd77578168f679ede0e4b97f79d3ceac76b9e62766c34a31a2049133b13d7abcc1c63cbc2c40f916f1cf678c9017faa5939a9b4cb5aca11e8441a89ca0b9eda58e4d1865f10438d97c89ddb8ed471ca2833ce2d565ea49e3f74a65be57aefa5f9e81a05a43de4785e63ecfe1d927ac2f03703860673e4b8170cd115de8b95ee2d7c3ac3902e09a22e44d2329cb6fe57531523b4ac51de1f0ea62e39647998e90b6c7bd051a72885290d1297969962b59c097e761472480551ac8660d07b80ecd5f3c5b68b398b1aa36b0f280ad474ca63f32d431ed3339537d8d08efc3bee5893a88b3aef9ed2ba1362e40cbd071703479413abf1902476d628a490863c9fba52b36921e90a8d45614e840915651899bd9acc7182c105970f141d7c2914e3fff493db4509de50c70ef782e899f76110235d4475ecd1f8af8a148f420807b84d996af47107a48badec5ac673e20ac5cb66839898e9dc712f87920b71e924a278c19d8953b3b3b2f9df0cd58f30fff0a08653061c0c1858cd08b710e8e2c759aac182837164755ba9ba95e9fcf59920857c9824034c843da7357f045b051706b39b9353e6f70671618b18d0c60d51d54bb899cb9d1aac577e838422f2cc0bdd15f0e9c9e41536d6317f0ab161e54433b8690ae64328488a490c005b5a9193b348d16691c54f208c78cdbc541c59d0411e0bdbbe7d3006181539ff3e2af9326446a9237eb07f6db480b88561dd1941f62ad440a5cc8d702b79c1658decfe3a6c97e5c0fd984fae95982ab607d0d7366565759e83d22df2f32859ea8fc12caaa2b8624684d2a0065191675ec9a06df8dc6c125363139f53097a5633f60b126b282da1cebfdefd6bae5ac5c394e64dfeb6f07191ecd959e51f26600561ced934da9f0120edf032a8d4c0d5bdce0439d920349a95eb264d8e7e5c7ce46caa710fd2ea942e603ccc1ae656a02cd426501f80453ac20b211aab0da31066e31ff2bf4f8860e5e7a2094c54dba462e7f0c53defa5edef5d93faab52a8256ec9df9ad7e1cd82bc36bbb5d2e5a62477171401071f8c023cd2e0795bb06912f6880a5edb1821af19ab1bcb226854d42af25573aac634f62edd6041993ea11f08759776860366d5569402b37e4b3bbdc8e184b5b022db4de10b6e86323f6d702c22e23477912e987dcd46f82612479211afd8c6768857e62c14709130277a3272be733e5a557b85cf00d0dfbdce6a7d0aac941bce150f6fce10910e7be590a23c62412173f5cee2521065a08f5f3bbf3935044133608c1111f6afc0e5f0a0d511039d118c576aa417a2913eaedc0e99529e3e0bf3fd2f8ed3a7ffbe7ad5bfd8d12a39a0c8eab4484f2459e905c5761cd77ba11a21b245976f82cc7f6a2dd7c6c8f50f4e0a8fed819eba4cb887d95ccf996dc49390b3b680269bd0c01ffdc4c479bae9da2ddf50a00d1ab6edffa0140215416a36a09298cce1921db15aacb913d56c690868673b5cde748ad0ad69053df8f2bcbac16b79fcab6498498168bcd6563f9b4856f454a82b1134c35c5bda00e3c808df3ae12279fface0a2ec85db5058add54e3ae01bef0093eeed2061688ac666ca56671b17284c67f15bd8614c389131ae07c1e7d3fe478e6dad1101a151412ba2426093c41aa9e8671433fce13de1464c439bc3190c1cb90d020f7c27a387a39754b591c0bdae736d865fa7e8dd1b6eae77b3cbabc3939b473d7da22b6823000ededbb383776053b63f48779bae521578f3dbb0d369c450719f333f3cdc5380c0cd6b8d72fffe8f232686975fdc5b7c2e92f79de15b138baf103f7e7d272940c795bfcea42b29f8ede3225a564111e025721283f4c905efa5c91eacd2d15c96597c52a52b12cbda5dbab476dc5068fefd627b241abc64223ea9b3f44c5cc9046d2cba4340dbaaaeac0d8fbaffb4609cf2c2f37e87314951c3c70f7398d1b455361d08079ca4ab89492596e80e05ccfd198a6ebd228e595202dd3c8b7d178139ea47bdf5c85e7bac9f8a0c03e0b29e6f9ac4823ac76c20c9dce2edcc3df1dbe760c38586773ab3050d29faab91bec99cf799d371aa4ad64e6109e1dfc54f889bfcad70ff93b74bee9b4fe39e4265f4d746e6d7fca069ddba93b9e14a2040b0a22d93b48fcb996ecda82dc009a81073cf0bc4751e9f0e826b841d7a456699ab2fae14d2849a689fc6038bf2bd06965451bc2576e97773f907f8d52ca1bf7e94ceca972b7a74a66ce4f33cdb6f1bed81f2a632cba14aa78c104464eaa33e876a89b5173246a1fb5067845b9d3929eec12ce3bd4118fd786bfea52fb5946a2b64118dffe413c574ba230f843c51db04a325cef33a20883d4fdfb877b3046852be5d93e6b4ac4fb5b764510ff870e8523d94e60738802830656c6e614a3714e3c2301fe82fd744c4f88961e76e7a9256d081aca2e329fc005af6d386ea4c06b66db469663f17285e4d3660c2c27ea769cf4d28f35c1d52e35ff38d2bfd2eaf16fd04cd7926a61b24bfbf4e3e86a195efbd905b6c947782d3e240079448fcbe6c5d433ae063c24593f2ff281064a078320c8a045f539c2d3d1e32890ecb471a31ce0bfa7cb63b12b3638ab58b7b4f8e2b00e79f4d541b1021e45783ad544acf64581cc450a3b7e13ac6ae87ed5e8dc44c7f1f861adfb4e41a5cfe0dee6b642b345cd4c5fd61bbdc99d9989c0cef6ebd7e13e09b26a8ac6134f4de750f115fc4fc54d58afa5da8358154317d105215801816ce7f571652ab01922cff30719842415affa6c04f140abe0f74bf11caa4b29e72c54216f7e7378d0f6ddf3a9e06b8b869e7dfa891bb03ed3b411ac0d387645401dd448efbafa70bceb062ab2ca34a99dd22bf23ab329eb33e5ae5bb22723dfaed92014127e1291790b922b28636101076345ba734eef67af33043e11a8e6197bb6319d8cde4636c5da5b8c9e66f0ed5543df6a97351a57dd7f3354a276ae8c2fefa50e7ffa9640260fd887ade0de9be2de37c29a6090e16b6f420b11dd17a3763e2258361169212315f144923349d0b1edb25600a9a77102971f9940716f2fa33507117008b33c29b7e6afe941c94455be0a260f66982b741a1e5d84770325f77c484aa9c9b3657e935c80bcfbe1c5c4b7207305ee3955c9d641b484ca8b8ebcd29692c7eae5af1984d391b3b58411d38db13439aadba2857b4af0255b19395206f89931600a593eaa3c054f82cb2b86d3f95f8ae5dd5a61318782c6c418bd91392de9e52d6f7b9d9d3ff34515f8f3dbca7720aaef479afa2123960bca3ced56da9eb997b3f36b9b259772005bb6f6c06e58aa475223209232c1e683a33cac1d6abf2107e40433be3cbb1b5363ad31d9d5ab58eecb2310ddf32c1a338ceb088e37e64e6b80e6a9132ad0d9b7d46bfc90ea4124c42fc94fd8004d1f7bbf87d22ca93b97a86f631d0b29bdcccd930f5b06b90da32fdefa00adaafff25fdd059a4ae4cf0a397af26f454daa6566960f7751d033bdde08acfc1cc806e9e1ed1b714510b77208eea8235a4804df01f7dc806f7061fadcf7dc441898cd53baee1a949f6ac713a5ab11667f93a22673bd289fd4c488cd1c732c2f6176a95088cead06f87be1ae1877a31100e54301a9b28d41baf1643afc8054116c62c94a36080f69100d2c52870348e14d093a97f65dd7bc3b6cb4891f184b99444eed76e1e14f564e6999a6cfaceab5e7cf27059572d9021d25b974311f3514df05b8fa0743ff7f02feed7868afe5a904acd1d2ca79291457809b68840f0dd06293829f67b204f70b28f0cacebd314c9f385c36a7bf8cb4fbe6d2624e5f9a54e80fd1415151fc1ae0401ec0b8e3c10a1cb1e7e4c5d62707f7352221c2e6bfe6ec44a309c3f0c25706f2ac4b511ea4852d4f999e0cf9184cb0cb87d05ffdf922b0a21a787aa8f06308a3b54eb2516f626e3e6d2935e8d73b2af0e94b9df0a71c88dd6aa5383200be207e2d47be93653174dd372ffc0b44a35ec50b18702d562d065eb4f3f1a6b8bc49a061fb68343d8748a380926393cd46a18159fdacd585ec3b0f50708fadc63ea67bcf45e1d4c827c1f6faf2dbb678ba21c212f44ff659525ea6386be616f864941ff42100e98f4c0eb7b5b0acfb8dd20f6f25237051c8f2be8176cd8845e9863e4bd9c32b4ea7ef581fd874053603577e066b751961d9400fa13d42982c0021809b8140bd350b88714bc23127e4fa476485d3866cdab79de1b2150858a1a9372d36549e961411cc516e2ba8f50ae883f5ad2a3ac45cf899f578d7df83aba664ee387f126996e403b48204e66bc1a68e1d9ee7f32891572929090fdc5f2799bf32fce39eca943f9df4f66e2adfa8349867040f99e5458e8fd04a121bc2041ae697e48358ef005ab3587bb6172bbe5f9f4369afa3d852a7095de0cd36fd3695a19b23823c853254501a8c6105242830be1775ab8974ca128ddec7897f71487a36bfbf2ac8686a2bed52244c72c088bee2253fddb3906b2a11f52f82997fbb99049a936f628c327170832496a3fa65937a4ee3b6a6e159a2d874d03a03973bf501934088c7dfdd0b5758f6d8d044205ce4b281636564eafa13c2e6bf9473bd89d2814d59e53f4405597edc590eb9d254b56c6b469934113d19014a4aa117444d0bb7cfccaff1280c5f00c3179ca7849804a16e9d78e7c048a35ae2c065db964c0bf4925ee78952c2298bd17a5881c117ddf80df0e905a1112f70e6ce51440e0d47030cb2756fe7886fdc398e511c56d21c4c609e4e691fecd16bd5107ffecadfae033c1f35f260860d84c881d4ef003628663db5bec1d34a7a9b216a9d7bfe51e185fad95642d0a0f5d6e04844e81efea362d9dd75e4533a86dbc70734ae24403bea017848cef86d006f48150058e92e39181174bee290c42d71730b29e5e198c70d8670d75b8accbeaf83587d8c34b456a29738cc0a52f9ccb0d3bcfa82c813da9979865dfeb94219f0ead370e94f0e8944531159d0ff20879e3b64b9c44256a89ad8b5784003de4b8c6cb4710eb18cb825f4f6cd1832021129ddc05e8b6627bf06565c28502033d15990a46792fa73ed2e299b66263c237ea1849915000bbe2b94b56fa9ca34b792cde0f32cbf9ddc986113d6c894bcec91f7a7ce06053e9e00b67d53591ac0e37b9832927e52dc495370258da2b1b6766a8ac5ec0d80e57f9d971ee6c8836a61087fb64a803d0d2df1ebbeea489567a81d8a397be0fa30623c799b4b16c83051bb3cfb1377d8e30912c909598db3d0d622c8ad24b33209c7a8d9ab93279440b180448352ca559149b19bea9de220adce538f2fdf3bb078165b5b45048a26f63168783b0f501dab8708c2e4fdf0561ac442ae744f368f5992f4177b80cf891564e70473f999f125707c9de7c50b6d5b395fea2d694cae0236ca42b6c3bec4da477d8194237cb55805bb89e76609c1568ebcf184a0daa07980bcc18d7f4f63c34d71642a508ad8d40831011566cdb4efeb0b04b7964f658a27ebdf9a986f6811e6806da528b9b6193165b1d610787f5c34c89e5a91d74df8ac96f611a1ff78f1429c14a1600194ddebf398908660b36f03df7e5deb9cfea2be833ecfdee23aa55bccbb5c67d6b76d47c95f3926c0afa9554a9f77f5a71689806d556f69e5d4fef06e26ea2b0b11248f26544686906d6f0166cac7a125dea47e0263087a2c8439f139feb456457142dbaffd5d7e8a6accab09d96c34774403722a6677d6acf4535b86ee40e257e33907223748e93cbf5b2e4cef974c92918fbce50d90c6758dbabfef5d8e1c62e661987a70a07dce7fbe9413edbe2acb3a2d308e0d6c8041eaca3a51d454973ccc517926c2493dff2306e4906060a6d9b3230dcc5ea236c8a67950ce9f3d71292100c4c9aec12c7221a134503324a0c4fb48cc0d670616d14d323c63d1712b08742a24101999028d05d91018f88016d132741634149b31b7713f6f4359db58de80207a176d57969d24d40ed5663f659c93fe083de82341a9bf1ffc9576b320bd80b2c1045b3e73bf9247ad2bc239f84abab60af29efc368dd7b90e4b205c484e7911963014d5cb21ce9e1e6f2249bf67a0d03fe0555f185fc7393c14cef950bf8d82ec20d74369d4f2e3c32e8d72ccaa9f257252646506d9c35012542e9fc4c87bad356ce858edf0dec94d11b8224413340fb80a7b4065b1a7535b96affe13e7cece711be34d696442e075ead7ce8a0ca761dc4676d58f892cac10fd9e0d0f4522876292d9bec4c470a9b844dda8896939489ee00fd01699ff0210d66b60cd6ac012f0e28014ee58f5d7c1d53bc9e453a4bb2008f9b45c3c68868ac0c81d0dc4220836da86fcb2b4be7b91b679ac5440a2184ed41f3a8a0ced410a511483b6e5e65682b5762e9adf3b8c10c1f2ca6c972f832547ad1e242cc0175c425749b1c9fb8b8cb153bd8cb9ef96ee320fd697d370eddbe2a6eb07203f87f9d823d268a477cbbc054f6c6459bff67d817dadf8f356f3a72861eb6ef05424e7e26803c6828a5bbc5d7ff958a623347939c77decbd8a7b62121a04cc7df6d562c330714d0c4db4806468e289388bc59e6597daf549ebffd01ebfaf8e84553d45d2048562baa9226a18578897021cfa200a3eefe38d4daef71eb43d22080d9218537f92b6c8685e698aa7655e512c5b0edcb2e7047d4ec499e49407f93de99d467b1f0d2038ee15ae2ed4330a21972e9861fcb4023ddddc54297128161bf32902714d4dcc0c0ceb2ea016c4f1fa9cd6aa85588681104d3ad43ead6413f75e07984cf1f3ab37aab9177e90e1e69a96de2214d80b723012686b5e9e119e644f2b3aa0c766ab641365716b8924c94d69f0f07bab1e157034a1aaa535cc46f436329dd55f6910abfb26c6399b88a086e10c004e46a5f4f690b95d8705ef90423c81112b8e6614312b66428e31dfbf579cdb5dda8bb2cf406f79740899fcfdb08e5e0bbd674d764b6c5366e60fd17f7a2868cbb9091d9e117d1ff9f1e0bbfd74e448aa879d9790fb265566c8d044bc7318931da43f38bbfb1fc81f7653066369a54b6b03e204cc55c7c9f60a7a1f6e10da17d3b9bac1c84d2c840c1003c8871c32095a8dd3a93033498b77aa37dae41802a1fbd75880a6afd8f86fb5348d2211a60dc86f42c73499824103813241fdd88bf4c5f60c99d3f0cead8a7ba39bee02935cb9ef669ac813132ef030f3bed8e7400aba50ecc05a54286c4f4b1b260d954d76126611c31607a7fd9aa956a7ca211a59f8da359f701f35683e22a74d24bb5fa0a8e16ec967f5153f37ab4ac9c3f5985e54d113bde6c44d6d4376b4545b321c1d79f07949502d06229296f0762996e2bf6f0ef4e2a70cf4bcf4608b46db27564f547ec4f170fe8efa69b5aaf765757e5a64949e5f7ee91413560c859e72c077f89d984fc531f5db4ab8f796885b20e00613460ab50434fd79bd7d3eabf5c3c69bb242b8214fb4b7726cbee1a439f60630a5f7b4339fadd37d685c1bc172cdb3a78a244835345dcf59f0f2707ec5592645bb562b1f5e2927dc67fef667e7d6fe87cba5a989267af66cfe952b298989da7e3d5d5067f571c8ba3af2a5f0b032acb959e06caae78df30b250ecee9ac241af964f28b43c4c543b873b485e717c96e37ac60b280a7a7432bd2a95188ee5a000dfd195c7099514c353fb2c662d6f541ffa50568392901848198f2ae306637156fdf00d0516aa3408aedcd6fa1cb660b236c5dabed4c072746857d5e0e110170b44b4a81e747653da529da60aa1eab9f53ec330b01717b17a9e68a517d38a2c3053a5cdb278d1e238222d48b05bbdeef7b8e994c9012a7fe9b9567dfd728c46a4c0c6584a6c9a1a065e32b064cbdc869f77c0905519bdc302e01efabc75e3675d039d72811edf66443717a10e6bd9f4f9e305d6677e2738cec4658a2e6c120431fb4b6e85169c4d59b90a680d4e3ff6a147c0722ffcdc4835e152a04d56d973f6cb23032291ef32378a8304b4be4cf789d4dd72d9875dce402fd157b041f1b757a67e3022b5ab1f697b7f2da62da11264e44e79c13682e14cecbe8a917f9e05c74502f96ab614ad6395c40fb62b86fa6340ccfd4bb2616031bd7ce3bb0df3dd972f624e3c64d5bf87a65fa6a2c40be61a7744c149c3392ae068ecfcc034998b95d97292d1921ca37b7d2b0b1ce2d389ce76055f2c573be2f0c22f7223c9bc89e87488e7af7aef92762118304cc3bcb7093a2b39268605b3ea734f13834497484d258104911d3285208373c61f5818721b417b209469c98715e73ce2c2faea3643bbb8a9c8c05264e72403ca8308296d3fbdc188002022689a11e78cc17eaa624327ae66ad7a56edd1efef9dc6539c01307cff5cfd1c17b86a2b1c25446abc7774863dfec204051ff4518f4b709500969d8b68f662500df42a9626f9d558a9d80451c420916a37e326aeb1933505c25804984655412e95b992109de929ed4d4189ac196bb11a04cc93e85119cebf5f4eb49990a030912d6710092cffa13194fff428b7c983ab1c4f1a7f1edb6edd0315f906873267e5c7a8aeefff54491e1106916ffd72e59d34fa03f86d4be4274a1901f7e232e865e0a3e52251b6bd429a8c4d279f2245253ba45edf6c836f06d1c76ed5ffd3f74d95e0d8db22805197a71f967f1658d0478ff1234ae48c423d36788cabe0146b208ea1ab7e8afbe5407e2f092080e36cf1bb7c1f2f86e5fa13838a0841c192d53fe58641f570741c4b74096ebc54065ee6fdc1ca1f2a1b098352e8cb8ed8ad26475b5faa2f2e3fe10ea3fc78fd84f454066ae88d9685e9c5bc817cd6364fea1396dd7029d90d6bd5fb590e720e44ab360c4f3118a1596019a36b590f1f79d5b492a8e9d434bf7f0ea91a5ee66f5165eae7f0fc2e41c6d24a31c4b6c524870342571de0bae5446f2f9c40c429d7529f52523e9446c3cead674b7cb09746516df804ffe9a23123c5a7ca6bf1668000ccb1cb347255ec46d892632b8691583e5c28790ff266a0ee2195afe7a6a5bf2c429b40eeeb8ff9d4e80e1b5bd91a3348aa4af5190baea3be78195de74cca4a7d11168a2e5c471c8e900d52186fb8758be55bd9d6d6950f4127c86ec2564a7f7ffef8481e4dd456529e6f617ef045254a8e78b838c04bbcd8fc4660184b76ab43f225af581b2e41bad31c0d0a81c2a6ba0ca43b7f958b568d0437106d488e91df06b5fa6722d93062d2e6884ca2671b27317fbf4548a7b28b7961610498fbdacc2bfe82183e50fa2d858b435fc3e2ed03c21e3775c26feefb57bdeb57cc6f234e0f5d293135d516c4ca907f436b3ee7690becd69aad4074925f285db95957198dc99fff4e8b4a4cb3a18707bee2d1fac491a709eb18bb8c2f224a1f056f6f659900f6337a3fb182fe4d7c1dbe7e617c3a2fab77927c7e5bb6148780ff7393ea6a864aabd1893755b5aa9cecd0a45885554d24e69c132020d8e3d530fdc00b81513fa70a1ae367008a192c56a78d1293065c5ae63c794ba7ca2f963f257c0faef4d40d38fbcf9eecabd30cd52ae6b5365d918db7991f5d77e5ab80fe6a231af52d8d7404ffb98159840de29c675921f55592229e92053e54908d2fa4667f5871744daac4fc0e89a0dc81b7de835e2557fe163a034d5fb462f6238505fddca033c4091b2d9cacc665c2f272bc6d2e8a8c1953c3d7356d2907dfb1a43a6346b2a542ef59ac5523e3db80bf77abbfd0972b8830161d0a2bff2f3a4deec129f02a88f3a259ced02631b8dbedaefd14124cb19207fb4605d93b986bc52821f147c37850784ba833c592288dad022f626d5ea170895f1ee1f7881c78c91f074e20c1cdee17340e9b7c830b5d22d3c42c7a5d9a57d0fad1b651c32156787184dba97f8985ddb7cb4ea9f826f0b47b1922dcbfee53949a986b405aa253f9e51c63433af88a9de57aa1a81a6ce099ebe213b7fd80f3d0e63c7d8e9d20dbd2266eaff187983ead4478b0a0a9cf71d3d1b803c8f5872281afc37ca45a82128150055a24caa5c30998f45c637fd00fda560bb37ce5dc9087e4a75ce817a0c026d820435010a900a3aad288031e001a20db0525e1c826e412adaa323b54f56eaedf7e2c43e97099e6cba0a26d4004d51060cfef97257807778d97fd3e9165b701ba1d2135089984369aacead1e5fc0dddadd15385658f2018117010abe871224a6e9ef89bf8d22c8fc4cd532fbeff076cdfc5f7db4a4fe387017b9acae1948bee0ed7522476b152fe07ea4f0addd3a3a7ce8e9c48444731d943452c2179cd6d8337a7c316eb79ee10236ad680bcfb782cf4043e1b647bae9494e2443b58e7164000aa0f2761285f381b476bd338f1a411da6448ce7a466b8d1071f790bd0f57ffbdc1f569a55fb43481fdffca29b208879aff3c1d2e785ca5cddce4e03d69cc51c08fffd46a16b812b815532060463c538cd0e2c1856d4f6e694bdfda03cb7ed7cfbe8ecdecb2bb4e2539f8f88694c630ad76786863ef6c2401ef851d524079f442bc49ea18453c4cf55af33b733f4f2056870db35bbaf98e656295bbf17b6f135b15f2c8496cc2e4aad5399bc01063ea75ed5c910d1dad954c994d487849297ad6a019584c2a71c6c760a8140039ec8cf018e1addbfb1bfa30e104ceb2cfe88b94d4196c888d0054e215bd017372b80d18f380e648ac0706b19de49669ade5a3bd98d733f1161143deb4971bf1de9ca014f64d674fe737cc9e5ed5c7920f0384a117f29269f83b51a607ae41c7291db85f2552c36effa409967f699515f5bfe606321fadbe7cfe01204916c9299c65d21fd47cc18af21326842499825e7224ef22026636650efd23720c25072db732a3b3b8dd0cc7458a6740c18cd3e9bdf808732f57d7e72870122ea62a25f2641897b53d5235af2e1a82c06a1dfbb3d321a23f9f0c8a1c5b05b42c29b52d08f6bfad44beade11ebdb98beb1d101c89201d81b763610cfabdb6d9589c34cebb0f0574241e450cb924a5f0c95cedbe529a2dee1cbecb7c46f12f22211aafd55a89db181b8cfdd3aae9a0a001ea8e5fab60aef2dc393205b7413cf483610a784009256547c47c97d78360851f4bf2457d7657dff857be0b56cc65ac8c91d6045167071a7999698ab3079512af275e1d96a4545b14afb34a36db8b3c36e2175c87783f4968cadabcb198cfef71a9d163b2129813bb6848c8467f0b2e9b6294900bbdea0fa10ccd32b84d51d3a6f7b09799508852878231c9a323bda4c07671b2b71cdf780ab65ae571cfef69f6c320e895517a44384af4d7b86a7e43a8c8da677f4f375269dac5db79f72cfdab5ae4b1e8c7d677fa3e10b778b459f1152c3903c1b480ced49fba602e298dae2583828ad376e3ca9ce2923f69de1df15dbc695595d7a42ca48960fa8b20cd494cb5544e1abfbdedf53fef4f1c60b3d98d4c230dbab6215f44dc2265964c37de73c2f137090a66789f280f830fcfac8b348c44552b3f1761cf7b3953871f5083340da2802d5e5deb3956622c0084774d98222a9497d0847d3d34a6fc6dc120c7e46f5768f5680b7c238e8a7b3f94a7f9f092c6e06c5b2b8e5e3e40f3c7e6c4af714d9b530afc1e2924d7ae28dbb1cf52677857c54301be21490ca43323bbc4856cd2e5fcfd184508fe364e5bc1ef7f1a3e52ba7301709a80e572943f68e0122e0b92e242558e29513efde65ccd5e4ed591043815b0f70fc0727afc43ee44e53789d3ec7d2eaf073a8deb46b5237bee10959bdaa97bd23ce94f18b79cc2c73a4ff74dd08b3876287c720aa5e578eed750dc189ef4ac6ae64ab7bc0130d8c8dddfcf46cc30169181b382dc9b82fe31531916f68fb49bc2406c2881becf7f1e9dae6cc00a3fdb952dd473c607049ce8163bc482f86df871b4095cfd308a8e23ceb2dd646e2525ef176f521006c96eb9c53ad638d9f208aa6da1da2a0e632e9d0e561ae1c4a36de16bd80600954cae8d6e9757433d60ce55913025b4376d9c7110d2f323ca2040b5455c4090878382e1430416884de609b96150fea99328e2159f17366e6e9081343b3b6bdc045a7b26dbdcc578a1589bfc024eedf6fc805dfaa9157abb37a9ed6c886a8c2497e3e80903536d5aac69ccf9362a155dd0f715f42b973ec18696a3c08764e88060a3fbd4a79b79c29f926f2d4ac589635a9e2c030a1dd9bb05d82ccdead2db674ed1d0e49ae50f060c5dd7345187fe64cf7f20b3fa7b818695254a866cb8ee2dfffa9c03dc60756d66838bddada85e1f70243518900bac3763e0d84cc9c08b165aaf81886530af2c3ec2153930c1fd0428a246d77c14534faf94c82050b1e3e8c8c3f4847175a6f3a883d4f0bf61c9269bf8c2c543b516edca23f4be22321e7d2ddce9e1f30b31c35085db52dff382648ccf4ca8ff3a15c0d19f02ed01c37fd0f6c2c2ce709e65249a0c9bd3e3bb3afeea49c08b2afcde96cf3f477a1f70359cac666658dc1c2c6dcbec3e736805388d12fbdff8573a2bec90c494e17eccc21d7cc152321d36d8b3bb0c88f6e894a0009d4e93482104dbaee115c4767301301eaaa13014b0fcbe1495e5b4f0a541ea6407a5e1334339b29a8a322e7d64f2cfdf51bd4134474f2e744beef011f2866c9fdee2866c35347c94d96e7585db4ffb48dcb7413f12b9bda3ac0a131bdc74f87583f8a56263d1713287dc8f97d18895e7609772733e4115c61df9e5ad4ce03899fe4a37874daeba4a58919adb4272970195af052e7feee9fc911e6a2581d61ac813bf2bb3e989ac57487fd55eb19e5a8e6154db4f5d79f7ac49fad5d5693c169ec6853b423ca60e7985da0f4563310c8f9e4c5ea2c282801bce3961c1ba7dbd9ae5af9d9803c9000fd9358be24dcd8c6306ba7e23a389c36018090ace0ae0ca18eff72fd58eb865c57cacf95f77f6136ca6896fb25641710df4f864e98d3342c9e03719112f2113423c12a1d289395042529b93d7837505b83981504041dbf401151d8c42e839383d6b89ea8e75125b0adca15ba2e425f4e7e4eb982ef9b9b571eae997563c69e75ad67246aaa17faca3d30b01a7ef02cff232d3695a9ddc66c2cbb1bbc93e91e3986bce0a95b0faef04886794bf01e44565e54d71b9c43c2e2222e91664c38a0927b3810bdafa57ba82473295c83cd80954a297fafe574d9e42f194d93038e33f10eecc7a5206d89591182dbfbb91cab718b1de38297f3e06fbfc897b21f2b7a9da0af82caafed15e6b4a1a2fa0c1292fd938fe530343c76846c685cae746d003014da6e77e78a7fd26873d0d7ecc1a7a4ca6ec672a02c6253536f88e16a55377542ce137f5b3234c01384cc98075810e27157a4d00d8329de67322db84284c1512a3dc20b397eee7e0b583b71b312c6e23a68ba45369ee56df3faa7f4e1103808eb308f1f89c99793734371539ccaa51012430a40d72127552a3db32fa1c892fa7faba25df861a288f719b35b48a5551c96452a874caa825c00b149587754887471e6e24c1a94ebe85b3ba90fbca8495d4b9af50a907e9027b3e2cec120e9341fbc1ec53d9469e113a65609aba3ede3384b798d3848f6ea94f358cf546178f6adfe30f047b1216d9ddcff15d7c786f3c3e684f5bddd03dfbb7ab940b09386155af8ad1bf2756d106f3e8fe85f0cd56ab7ba61f8b1871f80e80f955d30a326cd98b33975f2e276d1721b3fdaca87396d273a98b48094b5964137d210e5259ec20651f5c6a46e4e6958fa7ce6226bb834ab771ffd0df6818d4491da34f54a088c831a144f0c281d0b2aa2f0eab7617432a193ff7f2924798d645a48334fb0290c45dd9a7942d240cd436f36245598590aefdd36bc98195fcc58ae168c8f47f86360ce904cdc373694ead49ee968d6ba80ef792cb0490a2e38f41f0b98aab44ebd6a6a24f0889061a126674b1b57d8118f356faa02b54c92667569a664f4557bcbac0691c62ee08ba23bc3157988381abca1a8d6490cd9363651e7f898bdd6f52e643fc0292926ed3a84497c3151ec02f44bb2ca7832fa12b21ef3cb668eb2f55cb35287832c6f692da33f5364badf52301c0df4b9c33777959c9a90c50f517cb4c112b0f5d053c22829d01c1e10456f3204b74e47389ab5af030556311cafeee3f17957e8b24bc92ad0c458e1d081a99bca0c4e057b8ea7bcf0f35bdff3714c76509dece59b74a09daf887e2ee85b57ad9c959daf1d27b513001198f4a00dc89a00b80eeef5d4df3d74c132342089bdb0c95ae11d26d8a38dc38f871f0bebe916ee2d3f0a8e29c59af1e43851190e4735bc42698f21e27fb3137dd762b5166ad02851a9976778ae1d1ac1ec6e082c783cd23e6443d47bf53c501d0a9ad8d2de046b5fb54b568052fa404676e8697123c56e93f52dd8d3e2357dc6e6d3f6ac991c240f6171716b8eda918930cc83d41fcf8f69cd393cba5f7dadd2b98ff18e787910b53353a20a2fd552b28921b380119fcb041cf757dacd15faac05007c79a0eae70cbddf160b66190e7ea2567942e88e9b9587b603f991c270ab196b4400721167542f2d247b9142552ea3ef70f148ef13c4f101a16f1a50fe4485383bc98cf07153a1b55766d7536b423965a9c90ac5bc22408718abaf42bcd4583cc83ccdc8aaab2a08929ff286cae82c86210c1791fe8cc0b27864d314f26e347164d200c89c3c340a33dd79e42e31cd89880c98b3ae6abbc9da47792b56074053808ad4b06be6eb11f023902b006c745063389bed37e2ed6a1ddb56d315340b4ff97057d1c737a8f29ce8cbe2f96f537adb8bc64921db03f3ddce18183ba5d311c3533de486fdca9c3697a2da834ab04dd64226d3015606a18cb1ad1910578aab0e058cf7ba730c814ca80c60a5d7b29e5a23a74f7d38dd6974de813f0e4ef56828982fa208a0deddcc5c588bce5e880874cf0db911dbc6ed627b9ada4e1908a44b82a118b13dd128fb625238726f9000aa0b2526d5f6794cdfff7ce4314e413fe8c970fbaabb4a2aab9c3df03783357f6277e8f5a045433a11e8c4f88522f60115640d288d61dfb9981a90d6eb75754fbcd9f49cd68ecc5f0e99dc4b61aa15579b0ea23e159e975e710fd94b65e912e3f8b58fc5eafc1a8d92986652e6d438623c38ef03aaa07af562bd4d437ae34abeba32acf21771d74527872d09d967eaaed5d4132c5a191c08491e462bad62e5d247df81c446de2bb8ac91a39d6d335c4dca7c3e398cb46f7d456accf28f261b183b8fb39efe009b2dca089584c171fd9e69815426086473cb113ef82effe15fdd04eab2aeb253c93007a3e21e41856ae48425f587b36cd57dec1e75f8f2d3698eae516b477c745483e6ff9bcd432e296ca78feabe3cd1e6c53108c2372f6f887f5186d4e32b20aa9f63c3b1f04a3e65587397f7aa9558a57aa75a6e91ffc2a778f91376e496817c09021d71f4c7524bdc077c1da20ad3f6875115f6257bd3a6da2e6daf1ce4cf0deab726b7d5d1645f1b5b757d9e379fe6e3b2f01dd699d147a84d86bccd5ceb9c717cb25699b24c468fd996adf1cdd8d2d8e74ecae98e671e870d2af939c1e2a9dde0fe81370a0246a078e2ac33e9c8a5a42634bdf27ef286f8e7b10cfeb191930301f7d164a6d9f9a78b16e78b05d58158e4f589c7cb703ffc953c2e56a6fa87fe39bc7dc524491633173c2f15bf831322d7b1bf38ddf84997630efe77ba95b2dd71a73bb4967f68c3ae58397d343509661f7bf08875eb1aa0fd0ff24fa698fe0ded45c51eb5a3cfd6a8d72d126ebbffe52000d178adada111dec003bc593ed47e0d9db041d237ec2d0b074c22300347b6bb06fa328481113346b06a6455d536d2c78fcac3f98c320bca919895aaf6dbcaa5f043ab8b478f91b8f1baa413593e1b7412df394a3e82a0e9c3abd1da29ca3a8507a701bd7936aa3d9eb0a4ac0a443ba276bbf5bf39ab1c9a55c22aff96cfb3547a5c9b87d96cbab238c984defac465f1ca07b5aeba6593edc63a8f2b09a28537cc1775fc5432e746a5524922aa7bf311ff47fa0015b2b05c8c13c6a26a2b03ebe690137d0e59f74a6a93eaae6ae62b4fa3e103319f95be77765f7eb570c6822b376129632a59a729547c7460b1847c6b1587fd1dee577b7c245b592c1afd503f90e99a8d964a484396d5181a1d1b0d15d8ea563b354fed17fb4d89368368f8aabb274b4dedb16c73ed90144575bf315de5217644f6ae635364d7027147bf2f34dba59cf8722a1838b7cd96fc95b56c088617c1053be0b622fb8816fd44d720f878aea9365c765f84d32013784399ff4d716a80a8f8b39ad18a4f958458ce386e74a196c6101966d2aad296d160dcd0f18713115e86b52f115806c5c03c9c7a393f50685104e52e74eab1a7dfa7390495211e909ad93e5c1c29cb6b9c34e9143e7ffa423680debd6e9e535c5751e35491cbd3f2ccae984e3459171a67e421efb8191d929b5142f414dd2b2698fb9d1bcdf6ee37313f697c5c66c01e6973a39a2b12cf443ab19dbfd92f310dd71a8ede279d3bcb8b08a5642508cfd66423a8e4d5b01c5b7f68b2dabd8fede97bccf9b989baeadfb883a5d9af95b1c548ad6831806fed49a01b3823bea66b25a54e2bb65ee0dd548695f07376e4ea1f9619e865ba594cb623b8deb4045b0e3f7ea2fef6fba00739278d86a3a73d0363a32f113b653fe90d7d8c022082f17bc616bc191e880dd5a55ec25c6fee112f80e34f8cb1e5756f444bcf60d7311a74318ebf9d68b723e10e442e25de71cdeaad83c40ba36cfbffcf5f977e2c45452479f9fdbe6816ed423d98f6e234e3edc4fd2e82d8615e949c7d08afb201d9d0cb5cfd0d2362adc9e2935bbd0c045e045c93f8a419bf027d5c5ca362e2ab02afd0953c5742346fa6569e8c7bbeb1975af408e5594bc8974fdc2e606e5a1bad36fadda62714ff74990034b7b12db77787ffb2b6e4eee9f521c5e0f82bfe6f5523ffb869c6494657278d4ada7613cecf7ccae3af14ea04636b0684c1f26f6b6ec8e0940b5779b7b09fe415a8d55b58f61bfa93f564279e4e1056c62c9344253939e046ccd83073475eedad76979c48585e005227b72cbdeefdd21e89d8ab8c8407ac5b775b7af06fe5d87cc3d92610fdfab55fcc20a7baa9858f4ab778cea2056ddc1bd4ac942dda8899845f9ceee1202b2ee1b6b9cff827ddc93f736c21e55aee0c85358bf592195a4ab110cdd98cd047d7df7e00998a62bdd8ba6f25bffe90c1f7d2202154db1fc9fe26b856cda5803d0b77c60822f18125296307fade7a70cad6b0bf06f7340d0911721cd06fe4f1c217d92f7dc40108cfd6e7cc39a36990a598282c2980abf30f8152e07fad433943139c7849e26b24804e192d5d4a98485934aac3d314d9de857e8ece48fcc31c38f5f29506185bebd94cd5f6dc9f0cafe11ed2868d7a744f247b448f2278a83b2ac00ec31c722e60fcf604de9aa85b672e09f9789bab64b641b8ed063a9c324cbc9e957e03320b65be57e29fdf5e5f39eb690fd2116fcc1f40e60b8f411be9e304bc4ea9ba55a1e0f9c384f0faf2be52d046ca6ceba2299e5042498345ceca798b1c6f1a3168bb14fdd311c802f97da100bba06553a2a54798add26ca7b2bb5ea7c1ca10723ff7e5c7978989526e17161bacc5e879b540e49295499271400c9892b04fddbd9f5bb26a3897ccc52d863b4ccb0c63eeb030856c8bbd63b2407c046fa308840285b0d4077a1ec1a81db9426a7fce904dd6fed186d2076fb78965e0a01f0d24e6dceca13c2499652b3372c9d709f30733b406ef8030568414ced333af2d3c4cb4f3579cfa858fe53c3483c9d8b6f119151c58ec05e7c11b5c5a52a8a890921e4de6070d00c9a39f2ea391895e3d1e99c23c9e453b7a19bfce07101b02511edce23bfcdae23df3574b007dda437628ff5280540da1d4bc9ce46b4ebdb3bb84b5d7aacda84c2370cf216b593860f8d23d4ed14afdabd61e23a5941cb93a3aa6abccc05270c7d54c000f53954be968e4b84608463ce51e3a614df008fe97faad0913600b022c7e53035636444607e1f5d0c5a4dd7b411f6882ad17f709be11d1e8a624cd5de4ce30ca4bd6b656423a2082b729e1f3124b06d72ad0f3fc617e5bf0d76088dbe581910781c614d223777c2b551cb6af7c91c0f4f5562fd7a2e2621513b33c3e1d684f92c45d9b588a2c5a46decdeca6ea327e3675f2a283ac9b1dcfc7f4f197e6a9dc9cf8485f388daddddde78d464a1546bc375c4c8bdd12fff3672630f57317d7cad09760ce108ca3f04d54d52d0ab3926bf981382d437923e7c502cbaa81e9c1816279cb2e907d76cb8e5a83dc4fea9abc79d0d2f629c7ca04e44389c0156111cdede365073c3b235b834ed2fd91712622cf9440aa60e07cc21a8c4610a7e113535959506ed6f8956cbc9506c1c8421ac632283a79c87abed4ce05ca6850d8e42bbbd15b4ca1116b3ac9b3b6c9c7f58b681a1d9315acf897c6e6562a442a4048d0ccd1aeefe20aeed1358f241be1b49dfe595eb1556068a602b5d4883c2d27dabd59ddd86af4aaf15eb6c1e0542be4d04878bd617f6a16b5d874b0fbb4f4e74875cfb4dcd371f1a8bba80d6685db05f6fd65f622b24c6f38e843227a2f9b4155e13b08a7db0fe8737cf546c19487ba487991a998dcb04c23a089b14e67b8327525b66a0bd9320514b0a3be8ff8913262105cc1475c4c9bf5ef699ec57af650dd39481a3b9add307d6cc2ce05405a4d50eefec1541c1ef19c6818a3b099d9c5506f1c1a126e0cab9274598931f6d0f330425260327007812d58b83ab03d73371c3d016582e0457b3b7fa908ef37d73f13c9dd25abea168b37d5f0bb898a124ea0b0517a023889486579014d01f1c26c514784179db5f8fc719cc5e2b80e81af7c04503e7df3aa3daa3e414eaa1a273c9c15bf39eaa188e22fcf0f415dda875128424e2a58c25c4e078d2487d1c0b7b14e5317995f68b63a324af632afafe2767dc39a4c7d129d6c28cf56ee2df7340f8afc5bdabcc981083b9064930005591606df68a4b1374e4a21c6a7477301534460d606ab199fd0b5b3d86cbbadd7f770782566aecaab158ee09839593d94ad304cee9568c3bd5e1569839d9013f3e17bdb8a6e34abcdd696e9e4e1b2f10ab9d9c5e3f7cbde623b1bac95ab7d52733b345f0b6fc3b94d11f9687a93e4470842259156fe074059b60e024b2ff00d507e3b52846836bdcb0fcc1f1511d3dde24ed156b2b05e023340769d40c942788c5ba4923bd2f03db1d60746471a4a6140578bd6e12da1cbb4b33137e515a1debff22b13d9f4baaa018a34cf09e7a14b9685458742ab248194e2d08500d2b2a4ff0bfee3cd41775b80ad124188d69d1625fc626667a362fa33f384e1ed6f2b669b2bc1dced44386095c3da3a182e13caa1289c88cc5a84be2c58064cb7ca6338dae8b82c57f53bd3dbf40f555cfc96c529dd990bae3d3e65adc529ebea52421813bdf998627974cbe17d707f2a1f9320c0a6b9648d0310860e3120a5b753aa094bd4391fd71371efb391b9295ab7bbdf4359396876ae844db152596251d6f6acc1f40400d08f18d8ab87ff74773ffac3c04633c0424d55b071d5c56d62590ea11e24cefbd9dee1d1a3f6a573b17c90a869daeae525555231e0757ec54ecc08b4c4939dae0628674af93ec66985c12a4d6d18956e230e72feeb9a09df1bdac840039b63700110ca9b64cb82a81d93a7c7d16f93de7576aeeaf18683d2f4fd1ffcbf0aa18739cd63a92c578398a881cd033aa30af52007922179fa981c1a9e4e0886391f87c00825493f7146b16f3cc75c28077a1fb94a1e5887c3e29b883b648c3f96fd20acddf370047d32393a1d74ec1358e00f5396b857112553a53a2cc0b8bade9bf3ba3d24e27f3412a169389026a60dc38418c98210b6d290f38a48cdb0e472c4dfd6f327227a2298e978fd06a32538ac7ae7b749cc72c99cbfca9da5a58d5555e3d12a4c613c12b356ee128f38ca1ab86c9e41584e79785977a942a3380477a3a250e7aab369d2ef1b84eab3be8860ad335e7912a4ca56a37a36c1d469beeab1608561f5d9808db1f8646f95ff5d3f76582463c6d7b51ed11864bdd64d24b91cc313c055d853ebc8f35d0f98ea864313bccb52bba142e6a6aebfd8131e66889931f21f6c808b0731bf8d7b8160a46854005fb81ca08da44dc003cbed40cdbf19e0637d20192de63ec5df001bc73a9a8f2947e121bd16b0b1067aa35286287f81583f5d1fd4b1f06bc8f76db8b8948bcfb62212a8baf03612e5d6095b93542692f3cca34088fb09a3f4846a51bfa9ec2f555dcd54b86178ac0cb94ea1322e13052b2c9d1a6c6da0811a645f13faac0b1377bd5192dc9a69081fef95ba1b1b683b2b5bf5409b8182a78b073ff9a868921bffee96f10c34c85ec7ed36186dec5ee021a02ff39bff2b902195b627c27de61edfc13425237d42bfdb20b5159ba01e84645d944d6fd26ecc7ff23a8d99f665fb61e7f5dbe84f786d7049f0795da8218cdf9de2c56f652b6a303d43971518d96898953bb14da157f4950d905183ab03916cb54d92128ee816e386a5175d674e52eef4e86172b114adb829f4e0fa7132373db1d806066a9af565199bacbb6ecdadcfbfc0ad1070d15fb2957aef8b3591ab1ce669b91d5dfc2cff40809f6a8a5aa34dbda3c1111f32f4d3cefc75bfa2c02797469befc46e79f0e8c4ae901223fe27c45eee198231c83aada595a78e23e60023c52b8d01aaa06b248cd6aa632355b26b6d0e7a3628167c51593ab13e9076f28404967b947ba23a3f5d5c1dba9bbf90c531c23e7efe9e9a3c08ef89784e76b5e3cb084077193eb27fa52b8439872da60d0967dc46ae136218273dae30cf8f5930209e4b071cb1b15819a4ba08c3c35283028d46b98956b4ed665b599f949dbf8414b27b44a730280c53208f1b6c40b5fcc6a750ad2bcdf093a424967c9dc9d688decb77e0bb26c14a16d44ddb89cef6e8faf6fa1cf7ea3d67af1b29c8852fbbb715273995dd50ee8448336a3f4baf83f0efb270e39458de5f59c733e858d1d302a962371dab6d6a4cae375759e94ea37995d4fd233da9f42a903d8ba38e62dd6f5c72fe7000a5fda3f05b1faeb17045848f7a55454e5ecb8383c2c31e5909aafba6815571ad1845c2c4e3a2b1f4d9fc44f6837d1aec28f69d4798789bb5c9a177c81702af1b8287ae6db28627a20aa4b624c247430a2f2278fb99817d351b4c45f5a65f4ff92931dc41ecbf2bfc71ed602ba7a09784b42341a1b075a030826fbdf332e539ecf3de3517cc93389ffb84849922df02c800f462f24486c8eb6ed6398f995e917fab1c24ad00e667ae11579bb3a9711c704e392aa79897fa0444929bb117708a33c0f42da37db5999b5751c50cef1c1c71f819f1236470647a38d626e4f75cef1e7a733e6d4f6f0fac86beea275ff3207422ea6d13142cec9509f0d7ff5913cd8ecc601ee585eb7bbf5906bba4b1bd2cc9964760e40a33384ebab36a5737c05cca4d26d326aac5f90835fc6e4a928bbb333e4bc372a7c02c1da39c28cb6b91c8ee2683edb3163aa6d74ecf581df21c1d9ca0c5d73f0c9cc4c70577b4dea6fbe32b0f87313042adae5cb3cb872737dec6d370bafa7473ca0c650736b5b22a9ded551ba16f2f776f565fff80f2b01b340efef4dbfe71884a931091f135e6014dece25154084c25c46397ce0a20be30296d008f87efd926edce31147b5514c7416daba2464890c58fc717c7304599a86658a9918e9c381298e384a1e639f5e145a2ad2eed5c3771a77b63ac4c5d41c27dd2f2b857892e5eb0c7a4ca2ee560386525a7d7b5048f7d888c4e77eb67966b93bcfa11e65a4f4053c52f5e2d20c7a6fb1493d297d20fd6a7b77f3fa64adc3e7a1fc4bc9cc631c882c32b3f29dcde7cadc719aef06ba364a59d1c49be70d83ed6355c09056a258c28be81125c0079f1d6089c323b1d79b06098f7132550ab0fd0f8eaf5a1134a0af9074e2782aa7844c773adcf5b364c76c9a0ce4736e27dd8d899e30a1cdd3f23d6d7ff9ef2c922b21c49e19432d5c0d5fda092e357ec1cff9771c8b6eac8ca7607712ce798c91d5aca0068ac4eafcf6b94c32c4b268846c34998ff635298721fb5102f1e1a74fee0514c294c291129a169d76c2b5905516b867c6dbf007f0744931e0c89ecad831fef34d40478fd9439924429e04270e66a60e3e120e8e2ffd8aab9229344243cfce59dc0ad816fc94b6c542429ca5387fbaed703a6e9408c61dde604fcc11f2a719c249e56e11d4209a53e308ee4d62a98437f483a0549b81e26c9a2788500b105e32ebfc945e9e6363034ceadfc1de6895621628511c4b5a25ac29a72063b036864b3b4c7c2312f4393d62b39ff0adbcff54b61e5c7fa0f195e24c8ccba18466b53dd31cd71a33d7f7908beaf73b7a9b8ec045a35bbc02ab7cd5ab71298976efa55953cde309f5d95493951eceebeeaff7b76396511c59296cef0d1c8a2678e33bc43c2ff00aaeda50cbdb986db8758870645a8d5c74adb1be5043b3c8cb2972bde0266f7fb7485857b8b2da61a008e06ad0f9838a7f6b1d21f8e60c6062310bc9c6742b0fa2c9de8182aae98b3376f794f06d1086a6b1cf1edce441a8db745ad042be0711503e0b5f9104cbbfd43e71c52c36278287994540441688f322261f2bcdade1fd17ba53a7d599b94e3d8210072c0966415f8bdf1dd36ea398bbdf1e69c75514735f7082c9733693c7983c3b35606d920e42305f15313117cffe0ddce61bf1f467f36e426b5af509a91274da4755bd69d2760a89d5b693829d98cf52c1f2016b02f98e309f0c044c30677f2463e0d4fb9f7d69feca8de0365cb79ad1f773ca3e9ea1222bb377042ac2cfdcbe7bb7e6f6f4758a86c4819965a24e280eae007f8024038fee94920034b198daeae0efd4ef433614ffddbc9c6a38e5be743e638fc3b4da1d8794db8b44c5387e820303b396d34c46331aefbbd46996af84f0288f5ac7cff0971692a79d7c8edf5075e0468ee666dd733d3dff9ba0e5b87d50c23b8970cf66704a4a0badc9ff46335278322c3184c93742e15e159829e3fa17ca88d053b73849def67deb4639e5051b00c26414f16408b0ea8db14f567d72f1f1b47b0192b7f3c43d691b24875b09bc2c6bedc0fa675a95af94a992305ccd92f4bdf3c75e9ad4c19f725459376a91e900cc081501ec62d7095e5740bbe7b41560261150a5f9f463a90a5f8e61b9ad701204b38dff9bb9153fd3913639163470943d22b07a6a50718674ba06c67e1aa842996bf29fc58cb9e63f474dd47199cdd6b968c87e6be4879c229f40c9f8a88a8956456c5b900d62437601b5eeedcc9ddb1496ab7f1a4156dea0be641c554393b7c0a30d0acf63803a21c36f95ec577c74d588ecef6691377dcbfabbb4a3f1aa5805956359a763a03725e559f03dd7153298cffbbe210e220fc2becdb103feedd4899605d67b4d3c23392213494f80eccec00cc22051fc60b36c6181ab71873e8757e3e999f4e40dee09daf800625a35fb5e0c82698c0802b4d5792eaea09cf64486a06187acd712c3b5ba6bac1d2d25d6ba1f4dc224b75b4c7d693737c40057e1f192bd691a30e9ecf7faa1a40dc1bc04e0a733a9a8937862b6967f83ee05c4d9285dfb4e04a9db22bfeab2fff21b21e848aa4d8b9c90e871b51aefaf4886fa8878be612d83820058973a68688a9383b020895cc726a46365b78d5d4ab049be183f30ec89ed4d14607ecf7a99145162df7fd888c839f2132f52cc71be722a5944b0b228a21d9d8aa04e84fb597ac13433d0abe63dc4c92be72014ff0447e4cdbc05a139952cd54f3f6e95d74718b85b59772a967aff4f010d1a5b6ea771be21b4f36335327604d2b2d8543c6d26a351346c838ea3cacf7ecbe33eca72a0c55618032558dc07e59e34f821563c78493311b5c382984174fd8f591300ab663922cd452637e7903b65bf83b3f9f5a82c3d27d24a425e55e167247161580557725faba1f7ce10f2e94f2ad0ebadca71b03b2474f7447918b654ec2a4a1e03d5c697fb068744edef8c26b0095009de8942d3381bfc6708d64362e829ed34292b1b2c1a2d3597ef228a08c939368ae39560faf5d5f80309cee3b6b20001e43bce78276c715845aa5e850f2fddf39de6c1ef140fa0d6dbb71dd06d3acacf4e81c04e6a0a5220afee707d06c08e3f018356b0ed60403bdbe1c91dfec905623fed68b4f09af62440ba98afc1d7f9ce420b3779efa066d98ec722460af904dafe1fa2abf08f549c9d8932a8bd0f6002de6de4d167b724df49c1685089d1525a235b75ad9b76e567674c0fb7730ea96a3b2ba42a36eafc4b2dda9cad7d94fbccf1a97f28928a54e4d98cd3765a43b0a1725f48e73eab11b7ac07727ff549f67c6d22d3c8d21494bf5cfa30f7248ce0cc6fec013488433047d6a68da6a5866cd31862c612c55bdfaec727f8e66cfbfcae5d380bbb5893b2b2c22b044335f4c127bc3595aa13482c5294ee6cd241943a37c984723bf67dfa215f65cc5bea5bcf1f4b030ade09cf3b46a9343ec335b8826415056e82ff0a3aab302e09a2ffd4cec9f27b0bd1b71dc520f2b391336af60a0263eb0f629439c7ae7f5f2999735b7434287447537299ea74b2a9cf50b0cd1ff2f63736303d1fa0bd392c97a6c0d15030004742c18f5f4194750a7a6202908802811b0041a566ed81fb66fefdb09d67b8ea36af186a943d0a80f368b36a25774b2e5b1f6966c86dd24878beb8f786da9a7fd6b507d672522045579b183e5405980816e1181a47e3e4c7070c7d78ec3572cb2e98e54315a91db2f80fb10c45d10fdf67f46ed447b8b00f9810b4e462fe702e43c60175a7543e8a4dcce7bffff1902e2e1148636bfb19bcce6b72886fd381e4c052a1d67d1813017b4074eec959367ef25ce80a1e23e91cadf36508f4e7404397d7cf190bea9bfab14764abdac2d166d4d4096f560210e927d8f7645afd5d965afba23e0d4b822652fbdb608a1ab3b93bf17178c5745e3858fd49cd62e9ba7b99a8e869b8efb1f60a4515ff016240f7d313727b029e62ed879059890c7ccebedab4be64101c200624c1153df17c8fb253504baa73110732ad13a66952c7056bf79f7cf540ee4ca5ec1fca5caa9e620679f470cbc09c97789342d4a72cb2c611b6c2a8c6d27826f8704a708b8d21554cf89c528e6358da1c88340be7a2b634c2f0b38fe053d6dce484ef68d1313295e9de3583adc81a0ec0cd4f3ffd5cb17978c312066e2485f6d5aa2287f8a9cb279a383c352a7020933fbbdde64ba0a93d54c16389b39ddfb480587c329c7b2404746ccbfd2f63fd6b168225c64e097682bd72953776f2e958457acedb129d447ef24ada22e9f8649d6e6c42d9be22595baedb64506a7ff43ccbca339cea10549c1acc35a4b98e42c6bfa357d8c6c5de84af16e074fdf589f433c9183e1bc744218691bd9834c976495133d5642221efe664ddd3a70fc3ffa643e540c2138496eb31af15b09fd7fbf27f1b9e81c789ee75c2172e44d63217d7c2339542314d5b853dc3a8b18b5b8d2be62487e05de6f9fbbbf7e604ec6a6ea6faf0e5566fa16fe64f64f49ba5070f29abe9d756f6ff9e33e11b0d6c61fec08d43b9e4ce14645ba1162002c9126d0bb506d01543cc123cc3814c812574d6eb8edbe82abb3eac7d550b2fe27d51cd8fbff93b512150b6d87bb0614cf56466c441a3c15dc8d750a26b7ec15aa169207a1470edf7009365614db62e7aeb3637bb60a989ff960028213ecadaa833f04e174cd2da6decb6e55773272c7dfafe4defcb64c45f488e16663a0f692634284932be0d0f511f93289ac6fc3d414af9620f668c1c7d76f020c83e049a0f78b3c894ff8eff41a67d01ce1a216bb3c196365b7a339d3bacb31d0e8d2a36d5d1e5c2fa8c0a907d10b4297753b71985cc18d856053e7ffd8d6c85ba36817acb87ce7493680ddc3585d5668a8909a58baf7f6884a1c9be66558073b54b0f934b2fef1e281694ee78b6673d55b01ad0a79ffb3a64c4f578873a86f745b3611895321b9761139f879f3f5e4f818403ce908567cda906c4fcd01a98d309c2035ddc0937707703ac807ab0cb0034aee8e715c0c9baa5cfc5f412fa557d64a205e30422c494cab0c5ff3adba823c01950a377414ca3da4a4258007cba8bc1d49b328466607eeb8af3290b39abc8f7e4ab5a87c0d0bc67d7eec9011e1e3fe94e232193d06dbd159e4cb89670d9d68853317aa9d0fa6d74c5cad925327bf040e1e3da6367dda55cf01b93a98470530f02a1ca03b6d72632c26bc71387c249aa6951adf8cf4d09d3216c3642358d78fd4d45a3563125ddb42ad5f836b48c07b9d7c287f221100522347dcacd75c41a1a3fc1230436086351087540f650775ec1baf2d94c4353aa0aab06421cecdc61df715d11d17b8ad9791a447a6b88a99f73813c785cd8ecdf0e31df40d249252b3472f05e521098e55863ac9d76df15aef761991aeed4ace47d7ff53909a0f6b969977f607b161155e02977cca92abba9fa8d884e5e4d5b9054bd47c61c4622539bfebda78658fbd92b6b3dadf33fcc1c5c6f1bdf640998fcd30a920516600e633b48af863b46392bc748e6fb6313440a886db3278df788b27f68bf24eb229d16e023c3b487137e4279dff03c8073e003909dabf0c6a5a5196475d1bffe128160a568de419ebc0389dffda02cdd72df8bda8565970e883dd4b6f0c25727a59531a7885f2dd79e5f12d4c3fe655f09a79f2c4e4e6e840e72ca3daeec289971b9ff609bff5d43dd03fca1c8d65643ab70cc46f4db969785cdb21726a2e622725710b6e02f0b4350ad7eaafb2077fe9f819ec76e1ab86decfcb2a2ef494233863af35171254cf1f071684ea7fa2390a950715d10e14b73ca33b6cf0757ac4a28809db4b1fc10e70568209b962ea3d55fa7e838494fbf80b96cf0c38d281c95976ca420459f9a947896f0807024660c13f525658176d74cd5d5209f79afd1865adf934e6fc10d785afb455ca0bfea9ca3d0b56518edb8d83f05c034c1a94a244e8cf5268d9904f1da1cda5261411b7acc8f1700244deb13212241be2ad304915edd8044a0eed3b18104fb7aca3b7bcf8bde16f9d2476f7c6cb8cb853eeee95afe49e89c7f4cfa335c75096c03658e82f79f2ade41f1a71f2f0b57cc7be953de185317b0f4c0dcd836636ec41ee279be468233f4ea0e9c47f2f6954081d2274a21109a4533f814c056600425d03411661f595696a0f336fbee36c2c67596b9b302d9c1f02ec2db3ee491d314ab7b828c83fd4e64b2f42a5621936c5219f05a5409e4bddec3d0d548429f8a3abbaee1c587385b8ad5346e98465afc4e86359a745f57a4b3914f159202bcfda8d3907d08bf36ad91100314a30414c38b5b6b249666ea64a24c7474fa52ba2760aaf1a0d9a4eb477e4e7d9883db89508ebc33b9e5d7789e85dcc50747743d5b11b1b19fe7f3f3114346404d182cba8046d88db4f228cead7b0348b7087c5d259dee6637f98406760b179d869f077e60c03ae1b67a724e98d967b20af6724b56b4545620c9efaa8b89da0243d851c41a5292fa951d6792b9f51f3a1c8f1b2aefdce1d45b1b9c59199f6978297b2b909282d67fa1c40120af354aa463754494861fb3c1aff062a366a3a92fdfc9492d9204107fa7f2c103e2972ed6facde73f230d37e58b0ee95f140bc6e545919dbc450cb67bf0c3a4c32e8078d7e16e2fe1fa4a349e37f74ae84a0d32277a4cb22cefc1fa3a9605a4446a113b58107610aac344ca202d979548b2342129d75819d8c917df4a9000d64abae7bc544bc0bb58f3c7c4dc8dd161cb7e9c94c818906efbc826eb89c4d524d5eff9ff11801bbcfbf089b789a745b10ef55be58872ca05ab616d14a53c4d7812fce4b6f2b857caddd55fb031f52a7b55ff338fb0ec15fe6456a6a5d8d7b6680160101961458653a2e6519891751010cd3b4784f23ce1417f497d114a8327777c3872d2170afc2d1b15c8ecc2aeb3478cedf37a855242bd13ff6d4afe72e69928e0d96f38e1773e4cd7a3d6d5755f5c73f66ba995a25a566af7adf25cfe58889dd584ab61a5732b1369e0bcd004b1b29a8c763e16573dcb738ce9489249d75d417cc95177a5e9398c5797bf2a2b4be240cbe7856cf2385aa741450204d1b8806ee3c224230da8031221331728f2c75ab616358d9d2184e002ed527c37af6c82e420cd1b37cc0add85bda8432469b27a5d74da00881b13fc298042b3e58c4c576b0a7df9b78506db0edad0978d484097e336d159d066d390f424cc44ef706082d437679d62f7d7385789e38d1905978e09d760f32394319486396e2a19fff62517cd24d2142802f5ecb8df5e4d6a37257c5c91d642880b4e16e532899f1b32cb95269a45d41acc4611c38a9f15ec2788066ced135cefa7e6bc4acb5c3ceeb5a5b9d100834c32a8bbe3340bd853bdf28b60e3c074abf3665a483ae6564795a38bd13f03482fc56a9ebc9f4b32e0344dbccf820cc3d78dd7570f7f11ca47a446256608924e6d08f4e95788f795f18ade10d23936373484a1d4e2ded152b3481893e8065576b906274b37a7ffc5006453fe31517541be5c3f6cba623af17a32c53845c2a1ec3af05cb7f5428cf522a514b0c0f006f011cf1b8ccc3b4e279b54312f287b4950d72adde4450a69dbba6bdb8ff852cfbb40bf11dcf29e8ae4a412c8adeed6768b0aecd551c9aa173b0ef23b9b778db696db3fbcad6baa2f9f85c5fcf239abe3afc5cd6270f072c0d8095cf97cc546e899f43843b5d090b0831f5a58d320a864921399ceb0e3532e842029bd5383b9de45ddc81f13d9a3c247e2113b365bdf604a22a53470b0ffe1135adcba1b56b152ebfbbfc914d06f1f3fdd82a468f20dd48f35119b7bb7fe34bb3e57fee1c288fa80fe7386df82643113ee96a3ff1fe980514cc51a1daf9beabec12569ad266d3e8e607c81e6ce12e4f72e0e18609ef4cb45df88815d4a0faba39e7642495fc5add4406b987f2529bf8a88662af41886030a126678ea02045ac6bc4cb85952157007d65828b42efb5a418587bea61134642af0fd5be776ee975a369604f49665ad500b50ba210fcedf99f366aaf8925a8f1d6a4235c11385ec07584fe3091ef5f24c0be024fba8c6e7ac32f876c4f4f1c0df2f76773b5553ba08f437980f6aec293456cebe9f5db627d3a575fae7d1a77d27b967f3049fb5f83ebcae1a76a4f1498254dea618d42405af3cf4050c0284f5af9bb4cb8a49548d1c1bea7ad885a6003611296745bbd5f8e01aab2f593c44bef138a2254470e8fd7a3c91cbf9bf1fc9372eeea0620215897ea0e6573400d95ff7ee79a4f7f02c78ba92becd9c29d1ae4cd5a837e1bfd61a5d1efbfd24e0d9a047d4398273fb80079c09491288df8e3d41df0d0215a1cc8ac0a372554dc421ccd82860566753f2f82ce6e1049dcd5b8fb175fd15f2491a0f88575c806ff7e63f459c8953ca496d72589d37570a4dc8fcc0b4887acac664ad646aa98a3f4edb453179a682be057e8c1d286a4f14325b8ffe44e7910e08ef5bec417bb7ca1c492d9c21165d47122ef6527c0648fcf2d5a738c5bf25d206df9b828e00db676691f6915f22c9203502ed42ff3ed49b339f6190f3a16e8786734fe81034f41f0f7c19c271b0f87062cd307d316d78eee8ae76a1da48686bf37659e076940725f4c733cc35edcc55144a396dfc05ecd5e4abf6d5b5f2ad7d73095809261e69795741168d2d5eef603d950a7cb32a3eb00936f9eeef7bb3c2e8f85a7fe0b2d88bec3549935bdb1ce4c46e353a69a506b0f70059d874b63a8e70e69446f34d8a2999c9cbc3e146b8962022663f5f2858f0028ad675d9d9d94d66153e5531fce569963f0ef4138527c220ed42049b70d36f38e8173526702443f92142fec77f1189471d108355589ed750588f84d08e40ce535b7a78de4600d94d018d0efaa7987323c8c94df9125424a7fdaeb8840a45a8c4ddaf4fd7234c2d9cfd1c75360cd867557f0fbed1d2c2481919ddcd789b494da99440b19f497a3e9bb76834814cd8fa71f311290228f7daf168485fb46e05d94ed6ca578b34a907c7cc9f312b7fc6b8a5ac1cd1923ab2d2e67c440e75da2c57c03a0a3915f5cc3b6bf25f835423dc66d79c4eea16af7fc120f24c180314aa9572b7765fb2bbe0aced37684027ad75999e098dd0cc1a397f3cbd78dfb59497727f027cf911817b274f4609f9dae0c41068185713eddb502b13f181d5dab2719f7df2034653d4f12424299a219645ce7d7941fdb5f6851b234f427ee6aa68dca32134502c86121d640962edf0c8088628d6c909282de606d3312efdf62c89e3c1431d37f92162331ca0ce914e74447fd9e39e78586ddb0d65546049f2f4994bdee5dca48e54bc6a1750374cc3d22931b6fe43e00ad93facc0b38700246d5dc078563e5d3cadc6292b2d64daa14cd95721e89d990f14fa80f25d25f273f8f4deed84d20e8afe93d1638c8259f543cc36e9904d107f3310e9f5e8f1f041146a85ebe505dca15f7de88b95e5db05e8cfd60158efada8a7a2e17dc0108b2914d8a6527b49b4c5aee8b76c0ce6ceedd7c2bf5220a040fb3a699906600bda3a37bd18e7ad28b896dfa4a5f3b858b4fabc922cf679440ac12201e162fc2bd17fb6b701c18f40d7b9b98dec9e83ab71547218dee2556c2f9bcad0b417c98366cc5b05199c1826089466d538ab7108eeffd93583ccc46028ef571cab57fa1bbc4d2adf367159c6bc95c6558064a1f9e4cfaa10b2561bc67e0c41e33233cee61c27b44c3d475f4af66a9d0a34dd4540adb91076830928cdd8e87e798eff1077ed871538d4dac0ea5f8bdcfa846b247ffeaece33b43cbc270bcc4a78d408f272cc4e597227e821cb4eeb97ed5b0d7599332f9e50da16b7adea5514b550d8e8e468d5f38ac6998159267bdeec037943955ce6ea8c1c55387b22172145a768994ace8bba1b044faf9981c1de07c053d82705ff08828efbea26538261bdf3a9b7f76b4abe5679cb4f0e177ab2febe15a94cb815c4601c9e3a2a89568329a7f57fe0062529498c9d3f721601514cb65d4b883d6601d8867bec19d710dc2526134cc199c7a84f3f44be85993193c3a694cf7be5ac9e8e25a42425719bcc8357c4701ab949e910f9ad30332ec727bcf5f2cadcf10e6657d4b8f58a8f573b89bd2d126699bccf0812161a75741e2942d0809d0fc3464d86e08bc30f362cfd4bcc6dce297de1a4479293acbe328e85fd8c293fa580ed038a7c16b4f157f8b5b8ccc47c740ff85a6f91e9d54a3004bff152a6e94d01eac215408484993428b51aa74595ec023b827fda5374c21e2d483337a4751181d926f65ec7470ddab5b150ad50cee397136a3dd6e6717cbc6f421375acec0508772e2b65952ec65df53a59bc31d9fb2ac44fe54cd787c8e5c0ae82011e27bfa410278b5337a7ca5b1f67c10443f233fac7369e522180137ef08526eb7caf0509018544b1109b34d72891486414e0f38c4bcbdf77db0254dc5ed827bf396668a0ffc49c362acd73e6bd4f9422f1de706a4ca62f552ebca2bd6e62ba31d20333e93b511f4d6ebb5d5426433d34e35bc45d309e30acda07bbc8056c560696098a1f14b0262efecfeec0641f8a2bb30c59110c3838aba58c0ad78b5d774471cf5bfe730602f33ecb61cda8f5234f1a4cf2df2a6fdef2b57dedd51501908f65e6bb8e8ec99f70c3600a8c54fc6bded992c5657f18db57c9bd1b48519b6c587f357220cc4d15f3729ee8b54d2191651bdb80a4d6626741d168fa6c860ccfce04070c2a80928d3f6ae56479949323bfc3c9d86545be0cf80626a4fbc3d87a0bab4b9dab57eb7ab6345b8952cc29bd676636cfdf8cc7ce27e54525670ec7c1f4f28a511af70e4dcf5425a45b40a874eb8dbf7dff749a7740cb36cb8cc2b84a16406ccf2d7365bbcf2aa96e3bc6a05f6bc4d8e8c0c427c5def05e8bcbd67c98888b250c357f5cf909501641ad0ae76158d1c03f6f861a69fa900cd04c4f6a01dde849ae011d9154a4dd4058253bec142bf27be56245d7b1874d541629a439007182956fd8f728543fcc96392d4ce4e1fb38f8d95a4791a85ef38cfe64020a67e6b35c91b20788a13c4c9ee1deb2b0eaf9740234ea34c9a5ea19bafac8e2cb4a95e08b6dc5a312504a893a3af72095b31878b42bf3309b818b54b15256f15457cb8f13528a71edff38016eead91be52e6aa59bc00e07f5ed9e842fbd9bcc05ed3c46fba685af4308900068abf275832dcee0de896397e217c8fc99e4e4bc7268fd904973036fed7afdf4515a7b25ce87086a87a5820225b049ced08671c69b0beed31a27dffb3acd9066e7c6e37b4503f5e1697a1543a6f6cfa7edd202a6ebdb616cb410d837c46e8f19cac6bb0d3be7320e84d707dec2631bee5d969b447b4ef2472074972d80ee8e0b048aeb8347a7046c625578cb8903f19a0af991f01d89eda6524a6d3d60754e524cce81ebdc561bd10f451672a6248d8549f31a9db48c8363c0c9a3e1ba5af2efb36bc67fc80ea7771df6e1022c0ce5a51bd323632efb1f085249675150966f2c02f5048b8fdb46ab20c89ac3f97874da8f018974b97b183bf98549fbee661ddb5617be479b6b73139f31a8b1d44a6261e9fd5c5f016bfbbc79b9e2fc9641f54dadad12a3aae081b08319aa417166550f0964c9648f43e295273b85d0296fca7bbafecd7a531d6e7d16f07b740402e9555bd5acec4244cfb3a4df2d484aa70c06739e2435fffb545a1b00b16c2ba14fbfd9c0430c7fc0b1208734d276fc035de34601db50ca6ce6f34630589993787c8bfdbafa4da89b536dbdf547ca2441e8951ef441b08ffe12598db4324d1b1d5c89baec0110576b4a34683fe7041e7f9bf673bd7a70c72d1d48ed155131d7691505b590dcaa19c0ec364687616bfb227cccadd9a17a9b02de082b167c988f18f8010846daed8cfa048e420e0871f9f00cfe4e9bfdd55255e9743e12205ec4432a1d95500cd8aba086923fa48ec390d82ded20424c886bf361d439af37dda3e2ea5469a3111df1316f33b4419ca0716c7a41da41e700a4a64ccc8a1bde5daea0c09a67ee9b6bc9ee84dec5bce6d6b7dbb1f6bc1bad4331e205256158a34d5df93d1145f3ee46852315691dd5a6b1b545a46a41417a8f99c19ea59c8a9cfc486c87e12fa6287848cc5d17cfbc1b9b5cfb3c6778fa0cd8a302101508b8e8179290dd1972419da1cad9749fe279ea215d65d4ec95c9f611ee18b0d8f53342ef86e919c1a2cc7b779bac65d180f105ddde585b6402a11d5b9b588c9388d2acff237d5752e0cfcbde6ee5d928124f2dd5084a08af0ad4a70d44c962e62f82d9b78a0a13c5dd269f7c09e3f316892aaf0f0cfda13a7607181e196900fc687979accdebc09868582494b6c22d306407940d4d09b6b88febbd9037b2fae31971285df84c61d9ae60eb32ef7b0192d6249b09db54f9329fa05c2bf2692d1ef398721bce92de87c685b1f09f0575beb8bf0f4339eaf70dd122325434e8b4ad0d29b619abdaf4a722fa5182b5966374409de01112235b5ae01915b9c0b8863fa07777384ac583916e645452a99d72255783e832fd81dad9a9c7762af4cd77fc6859b04bb7f62dec67fbec7305dd55c9b94864911fbc53264a12e155f18417cbc19e2cb469b471569d7993e33c076261fce3d0c6867e09fc53a398fad32ff97ca927a5749701c48d4b8cdf1f8a769878af9fe7839b5321f492858f62c948275ae3902903466853aafeacfc3e16654cb1cb893e50ae808c5c9adc230d6a5d6f49b0d6ea9923de0dab7be70ff9ad1d506af3f2e1e909b2a6b0a12850620e5e022abcd1092470de147768bd4681ff64e7da53edd4c6a316e4db65ada90442654f75e2c63740c37abea376d4933fe0735aa263d6ebc782e0370f330fd74ea4949c20cccd4039ebe9b9bfc05b2cc36d6d02cf3284901f50728f620fa4d68cd1f4f97af1d1206df81648bc998256b906cfa21e22d980938760d736ed314a20f05400861f9dc3f498a6376d85b67830a0aef063bfe5c3f859f6f449c037fe68bbc789002dcdacebeb5021c7d6feed71fcd9b211cc9d1c2e646c0ecd303c988b35a2a97a69ce9dada91d84842b8e57d0b38eb3c02e7f0630ddbdc37bd811512aeadb39439e711d820bb7d0b71de99af1190c5d54d96c234a9bd71b3f246de67846ddff6f28b7dca3e63630d15e86051e6c2cd62d9bbceeda84879bafd719ade3b0eb6ff67cb2a5f4984c06f70bfa56129702a12ee0831f9e972076b71667507d0e93c929431a27be54b908e1ba6eb7153ef740b344ef635c8c95d9c06c852e8f403ff2241b95f7dddbb687f3590d2d94ea8147044a050b66e3bed5eeb2c4b2b4d7e96317563e43f2cc97a6c2b662647bf17272cc9536e581c6a9d03b5302495cc527c5f644bb0e5deb0942dde25e86e4f2b6baf6f0287af556d27859479c5a1d56ce82c2f40f7423cac9ebc66b9eeb1f2b48ec79823d1fde61e9178cd76a63a4ede97d2391390ce52de056993d0ad4806e194bf590e07a904fa45e694a222266801dc71756a6eb59b947a39c0aa64dc49e92ffea705fcb5ae8db5d679118924a7a88153574b8ab1b5072d0d98bf2c1ef46de8c74bfa4bd56195f6f18f7d372fb315bf01b94fb735860a8dabf0cf859a9aff93eb5e17ec2f1baa8bd584cab311aa0da7932f750c28b0afbe29a396abd2b65db52ef0277da0a8d67b889b42a31a5f95ac291420ed0a80383cab9509de651fd1d9baff8daabc9c0c1db3cf3c3dd82a62764908d6f3770ebefe41425a504488aecfef706617431b708b079736798863db6f03977900910a884a9e0f6bf45b0b8bd4f64d3d340121833ae54089b1ae0fd3951e1217c4b07dafba7ef6810a372fe459b22538173e5c46a0fbdc84ba20f18a268f079e85e948ee94017544a78a0d6704bc7c3a0fc10328e0a94ce165a6b3d7f5e92994c6c13f052af1cd2b292faf1b3f7ac54175bb0668d289c195fc368329346815158759a49d4e7f4e9f18bb109c1527c54d37501bb7770bbabb226e697b26c8295759808af8bfeec35436729a38fdd314ca791cb3cc4e048c0ff5837d43b5e2b3148ca3893f3c3e9b73b3fc2af0b0ef0674a79f583c6d471553eda8d4bd5aa2d196e02500d00b40d0a9a787affc6099ca96c4a646c7cb574b5cc05342343cf399ac21f10545ac9481d6b8c2d186b141cfcf516cf73f38e5a2b0b39ad36079ea2dc29bcd6af96bfb473ac610b1a33185eec9028f1c10c94e3ce93ae27b033f7d1d1d1b9da7ee6a583982a69be9bec9c21df4a80830d898490bf05a6bb95f8bd5fc94202935a06bdf8d4a277909c601361a08eaa7d1fb363a09f73984368d50a33ba9706508fdb6dddaa919898b7b80d44cadc751000d7303ab3e570f9d0ac136d84f9b336de9376b91fae908c6ab8415014c31a63e8e17b76baa77a5482e1a2c5654366a620036e9f62998e0c844b1fc2ba72b3079da74b5c0a4303ecc774dfabb7942b3c94eb55b33d2df1da9f0e6c352439a594e2a12fdce922581a6d2e3de6c490f590ff8bae445506f9ee67bf6acb962d771a063637b4bfb660c2d453575e26d94f9f7e01a4e66a396dfe375c39a8f127918df4f1eda46dbba5cfcb09ca939d4d40c5c3bc96c6a31cb17e94d1e89a9246af010ece4cd1f0edc98fb44887e72fb6ef5b701d4c98e6c6404eed8279af9b8b4f4acff21fdf7ad2b4df9aa94a04e98be406063d1c0aa257cc9f3614bcd70caac858104f9be27ba79063dcf5232fd7a59720292683dfbb3e8e196b51bfa27f067f4af4dc4f9ffd0a48f09bde886d6b2887b1a789a7b064b50367df1a715ae4f4aece77186be00f9fc1f3e85fc88a956784b8f4edf09e3df74c4c400b06b89f5bd83d0a66635ef34a59e6765baaec51d11e02d0eaace9a5065895bc30db4818fa202a24530e302c96c014195c095154db71964cd27e73912e8c6dbd1a8b76710c6f6d54d537e5be851803812c5d621536b5ae83f391b86c310d0c78804055f95cffb8009c7190a14b6de8c8718c6ab7983fbbaec926ec83f1cb0dba550e14c7feb5eb892763ef060f0e4dc718f7c820750ca8c807ad995b0cc83b9584dfcafe3dc9dda1adf7dbe59b76b2a4b7499da53889cad4a3d0390d06806288c1e2d6b7e1899e73e5faa00927a07dfcf2dda0d3341a21c6d737179daf9936a67cee1d20e773d3a0ebad74ed6c751dffc5ed5555ea0ee2084ae7dd907c6034d35f6117c5bfc9a07ea48d2b00b52930e3d318209f213e92665637de07a0012056e2a5cae1738c98825ac723a0bc59dbdd2e5aedb45d17c4e43055d1c4d0406fecd48c9a448f7c5875afb12001ed5289b558ae89a7976ac2fc994ff8d29a0acd01a8cb857b58cabc58dbffe0ed8d450e643459ceffb2fbd7658d2b2b0a7660219cfb886ddb3751cd969446e7b03ee21771428f9509036f7b928a46a470a844188d2843ebda29b0bf0f8b5d5fbd19ea36bf62563aae8746b2fb66a30565a0bb93d3a08b903afd9c515ba5fa4a05661a4d3da410fc3688bfe17a7f074ddcd18b09851178066a15a424ef004f75f8054d23f36603b998c0b3fdcf1ae728d71b8377eb56c74915c22adcdeaa03c743cd65b01bc9a822edaa19becf576c4c076f537b8dca90fb2a88d7489f6b38736106db22f12b63ced578e2cb7288df4c2c482f1cfabf9b64b495bcab5e3dbf71934ad76a583beb31942bf6947d59cbcae2277b58c03ac5aaf2d721c5884d31effb1145bc7d1f392d9de0945b7e4d7a035dcae6d38311a5de62e1788c0621c2feb347012837f371ee6ac4e37a86846d8d796c5236a0f81f1a89a65668404698ae8a6753ff74d24abe6ca75323149dac7acc8a651bb3d3214728631a87b9cfcd286f75553e27bcceda732dbcf15f612b83959be743e7f46903712e7bba49b1adab3981b8addbb60d9ad321a8b5b006c0eecb0edd0ff68fb080760d5673224b381b34232cb1fed11bf83747ba09a8f8857bef0a1ad56d92034cc351ab9a5eede52df607b2b383f7d55764e154319f262e57d16748d0e743f4bd155387393e482e8f96f1f4e357870b6d1e51b4d48c90b74ad46a20bdd90eda5b98a671e65e47ea10cb48738e1d49004537cf78a1aa357f88d09058a6de08f3b085ab67adf323263d3b9ff868a83eb6fa3dee639ddf9ef128211bb9b7e5c4acffc5b19d53ffe8b989e832a5d7e1fb9025322913d0d584f05c33032fbd4565c4c1f8e20640e96ee2e337f3d633548ee1b40786daeb756ad5a5fe83007badbf7691022ccba6700a735350ba0dd3dee81170d74317efddb1b6402629a707222df47f5c061b67a8a8a446b4ce97010c8d0b54564cb0e4f5ee03534de632e4cb37f5170631264987e62673cf8e50ccaf60985c4e95f26639f93c4572ffda6c066b76c41ea66765fa3fe3f1ed2929aa2041733ab773f75f54b7f599fbec3d9ef5faaa1c41d53580c7712016cfdae42c9310bc19c9e938d764b9a42e5090bdafc4bf803dbfa0e40c43e472b970fa2abfa9a55417be9fccec602dded7248e8c752509ab11ea9d3ee21880b582b131aa9451eb42cb3e0e78894f5e3b25dcc2905d1809a5dfc74b9cf272f2d0ed8d2e7fdf286a357b9b710888f2e51c4dafe52c0b86eae80a9ef38e419f63b35bda687f8e511297395150db19b2d5ef77578fa0933797a1ab4bcd70fa1ca431a5b67422fb6f399018c3834e7ab59a4de9fa469efe3a5332f4560538f4439d97d5fa08aef7fa26b7a6b156c65401191505aa2f296309e9f938ef8c23b594c7f2a66d5b84351db88d97f02ffb284a880d8cef41b867e3f5a0626b92392a132f19efae13e92ea111a114b9dc97973a85fd6f6848774cd9caffb0441fdf43c8908baf3ef3a20b03781d76bccf9da6be19a93a10b44904c21c0a2485e7bd8f4919b7266d3f04d0d3483442f89e74437642eef3fbf619527228a8d36449176c45fe90809e6f37eb14a3adf518760a4d8b6e8bfbc701d9469851f09c216b0fc77353d061e8aef8dc33cee924a954b41f11badf6168d99149bea4f80704c2ab9a44a9c97c0df400dd3703972e62a1a4c6a5d4dafb796d4f11181845e26cd68181deb8214faffc0eb6a4edc1306c97a55cca6eeb9530d708e77ad4629f15a9f88468d7d7989264774cd0f43112f5e06feb25110def8eed4f1c6bb05d063ed6958ab154153a5b8e0b9a655d941767b51146d1124eff034c615b7a33797181ad2df0f1368d09a1ff42bf0682aa4b41d07fe101c4c41413bb36e5809ea74cb000ac5433473587902a00d739eeed497e37b7114839a3b008e53b85b93afb1f7292607850b8ad357ce14e8e602ab225f608ad49f1f37e144a8cc97f95c9b054298e0ecd53acd9a3e91f510910ba45901a839825ccaa41f9129cb6f20be2db69849d1ba105f2adfdbecf71b2feaf6fabd72d046264942f1c37945934cccb83a57d48de6d49d6512a07b8be5749f020f4061bc2d558b0a5fd18335acafd84ed3f5f43f669d76fca5ee207df4a9063a06d17791868aede1e86f3d509e80400d3f73bbc49aab34d3389ef91fa6e2441b08ebf4b7309c56d82a7b8d12f44f32335f66446a58c40127a66c1cafb4493739cd6ee11cfb714980097a1d6d83fdea3ae9ec2f1b658f740a9bc7700db83dc24cec63673a6554c5080c5c6ec407cade382b96ce14efab547db52dc8fd80e7b2be9ed2f4080e0a464c58caba00c16474382ca022d7448150091fef75a63c06ce1ec9ac028653eda1a52fa3298e158e24bd8edba5b1075ac802dc9332e79fb0569e153ba79e8a07af66b9d9faa9df66085bdf6c4b691b7dac95d053dd003d80c07a4f530b8b0e09c2aa5c52148b1459221efdd53786c68ea4d1cc72d2dd8ccdb43c1ac05ae19c169249342eaee87520ffc4df5e76d3025cc6b53801c0e766847d761d1649d48cb1fab5e9f528e5e9e475634452fb7431678edffb212849fa1b77d1e03a36ec6fcefa2ffa6f06a1b2bad740249b405bdaea2bc2286f858972905f5417e93d25088f441bb66379da35bab4322e6ec5895b5f97ca60c4463700f9d2d2a5ef7291087da236809109c1c79b2c1c0be1c49dee5c38e86ad42b446df578be0236bd226e8a96df28029b1bb3bd40ef89e213f1fda72dca8a2a776127bc4947816ff9e67ee14f889ec1a992fcf3321e9a44aeabe31c4c5e8e2fc2a87fdaf894aeee013ca4faafef64a6f49694607ce423886bb5426ef51bb4e3471b189eee00a97f4bec25790b0f47475c5cbb946c905bea7f5c52fbacea3069c74fd92ea1637db3ee966d15962cac188aad56496591c9718fd6e8e1ce54c274579de5119418e5427c40d1ee3ee6ed5e00788fed448b11c4ab8157f7e7bf4f799891e550be87b093ac98ad308cee87b63b5e8f627ea4333a846ceaa9d2204a23a9e124abce95e55f96ae90d8d1659c8261951b9fe0b0f72fa83b8dc05df1d5c06cbcb6775d5f0e294a1dd1657fbbd8b17aa0dabfed7384ec8c936a81c865816ed827076f81b1db0b1de11b5d8a9dfa37645e34218ce6fce6f92587dbb884f33a0793beed751c2c57816f3aa3d19eb1850bab3294cf6b52ccb745a5aa688004006a886b6cd19a62a0dfd8f1ebb3036b934b23c0b9ca4b441202d6388102174d7453b289f5501f37b488f9e8fbf19a22e37d95c38162bdf56f8095f66b4e8e5951b9620d134993f5fca4070d86e442c71ba812c9d9d3da992f08216158d708af04dfa584bda23290165a4c0b027fe6ef16cc06fb969005b279952a094115aaafdf05d2e3c42600192fca941370e9d47e5f5727b5b87ef504951a5e3ba8fb99dbaa49a74d4c792a43ec89abc20c7ab5c14957ba2055703cfbc37636440296ddaa3b58c035c60461fc2bbf4bb134b0150fe129919006971382074946e52170c795ebed2f9afe2fc014430eafe760c7eae19a796cab4784992126ffb5140a0742ce31c8c7ef9ee2fe4c40ea3ef2dd2a59ea99d5c165f08e4692203b05dad476c65688a2154a7344c11482edfc7a11dd89ec9b534a474bcb2fe5d4000d712f257d4434f00fd826302010d2d8af4688c6f49c2324df6873b7cded7e8066d8d3b35b4cc7fa66072eca2c8b97927c63a6abd67e477ceafb4a04276c55892a132c1a4bee30214a84596097d6d78a7a9e0af3af3e6f467e71e639685f07aaa7540a4be6756799f1d907c7d623c6fa95a63ac754f6b1b6b7ae47cd5d5d744bace36a46d11a5206ab13cb260fa79030ebe8aab58449b9a3c33b6719af03e2eff54f4d05432fb81d36271b7cb2a39fbd3559d427fe9c20bcb7229422a333bbad4007634db9db71d0d4baef7bd6b0443a6659abedeec944bbfacf1580d85381a856e1cd377e431050ceb3718c76cdfdaffaeb4a883693a46610b754f7e2bfdcf36a10b9644494ff81141f0175d3aa8ab0b1cfaf33b841015c74a943f093b090982fa0e5d54c0f79d9d5df9607241d44be2a6cece4ef2a085ba048e3cb19d4f2fa32339f3edd6aca4479e419f95c734c3bbdf5824beec2e8c0430faed55fa8e6e82c84dade7e618c8f748ba55de2650658e9a02ce7ed7dddac479a5e51a56b32938ff195bef5435c4f17714ec104c50f5fd89d647a989228409a1da017638f884a372c3401af79a883ede7d73798ee3b8472671aae4b91c7a315afca1c0f70b266b83c056a34a100fe95e9aedc9a664c9d2891fea3c8958d9bdd8e8e6cda8e1c480f23bb247d8d47b48d4a1845253d0d5c489b99a24f6987f25f90e2b8a0ae2bd1a0afbcc1b17c33bba202f1e38fff1639a894bf882722372b7a9af07eae44220928baf130079d6912dc2ef6b9db354b6126bc10b302ae629b31e131ddd384ceed47a70b59ad737dbf5236adc42a58d22d3d0e53752160053205e2e1ab343218a6317885c38a603259046d49203742c8b20e195f0c504e4a2da580f91df78ffd16969e4085b4592855cf02bfa2daeaf3fa3a109994401a7944772429575ab09a874da03e05de06db165daac6b059d0b1f02e48ed944eea41419b72ec4b7b898eba52d4e1d87f5be68cfd73e64ca1409c00cfe56cf328f729bb39ad0544f1d78cbb49b178c940eb59dbaaffed7a1088c11a2f7fac5045b899fbea591c6010e5fa01875f34992dfc89e7a05c7da324c59066b33b22782bc72f18f1d6315643219544dfcd03eb4d7adb53c494f1f8551237ed7dc5059085b55e143b836e627fc167e2dfba9c93937c5a9542cd9a86398f3119d6478a8392d1eb89f9d17f9ea4b331756f12051eaded5f14bb7c766c33617c35eddcace4ea08f293c0584203ca152f2c335dbb9f7f9bda48124d9222955dc7c1982847127f52f06f239308b5202517d1b5cdea562ef3ec38e9089b2a3aeaf02f54af05bf16b4583b6f016a2fd016e78c349b3750b7534f2b3eef3e935ee8b6a77b2a8f7f0a0c93eef4a47c9071d160b976716d75233be3dd9e9dae279d634b8366c8b3fd5a6a4b4346a5ba5aaa2e1307a631ebc0c8a9ca86ed1be00467c5be0c51a36251344b12fa5ff5e0b045992a85466c5dbf433b303aee8677e6d2d91897be69486cb5e645df66dbc2337c8e973d35618670d058a0c7f209f1ee4d1c64ae0d29bc0da9b2bc51e794865a0e0b96d988697b3b549035f00951f7775f4178db7c7fcccf8ce9a10e025dc99cfce7174986360b4eca9af1bf1fafa0a107f4caae0a5fae1a4cb7d2137ee61088a2aac0f72083e4454d5150e6fa9b11b146924b4d22bc918bb1849ab57c7d4fe82fcefd3f2c5e2e897bdd2ea5bc7ba0afd0fa5e643b7546dd7e55d06ce489220fa49cec901175e687807c9ed16874fb23ce935c2fc9a6c8e9ba337fe4e7c5d83b2c17ca5964f508313fd47f3c5e2a81ffe229c61243337f1b1a6e8c6eb43fd767bfe8b964b538bc2c15a599a942663d42a1aa7aef5d6364086ca78614f4b46aaf931039d1e22ee43837b4771ddcc3684e9aba715cc72d76b3232b82fb185ba81143378668b57fa0a28f813699b223618cb21c8b9f99ccc1110c70061b5a614d988c7cf02f992ed54ffaa28672a61e94ebbc253867e8eb03f1872a212a995be0622565a10572f18d9415a1872f0ba65ca0758728d1c40fa6e129eecf4df3e93799aaca748276a5ec8689a02b37b3ec61d35c96bf2181d1cba965287898030bc422d690fa3ce98c07f6fb6a6aab2bfba5432f471f2812452058975ab896177ad94404dee1e927c11fad4cc124cb048f324d9b2520b71e8d2a81e504aebab1767c95aab0e07087e259fca69594cba322e56457908504e58fbb3eafe06307e61196b02ce2c019e3663c1646762d2afa16815082d2030f60edc9a5258075df975d3947e6f0a38e218a8c33f50ced757bc05ea869923adfe4e73b3cf451d5f53206a07e818fd30f4cf28934a51af9a11bb243c6c57631304226f8443dd739c95337fdee63d1e783f1afba2dc89870916534453967ca75a5fa49dd8a58f9dfce4e28dd488ede47a062a2434815dedc34c906d9cfd8bc60c1b24fa09a4decae2ffcf2aab20932a64fed419d213e1b79098be84a12c6b5e7619a1c68b79a482d285954936e08fd3a778262a867ae7d8f9569ec5ad018bd9891c417f1b4d1f7ee9b1a79643473cab59da253b2f9cf09cb2f653c5c361ddc849176baa8f1ecb2765e2b3609bbee0c62e78ce21f235e995622a6f682c9b41b2252732bc2ef229c2fa240bd543a7769f48db5717313bd82b4403ca6311cad53ebccbfe3662c045ff1254ab1ff72e90f0cf5240a40b78d7008f18c2ee9387055a42b1b8a615000741af83cea96204c7cba02633e75db0f07571c1713a9ca60a3b5da78ba8282d5c1df3de6c15b51f7149dfb0a4e0af82113a020e4e37434c68bd3d43db24adfd292c39e7fa5046299482ed7a4c55044cd2909af9c11de610d3b974a6b9c803b97b6d831a028eb489b7e68b639e744bc0170736d6868f48cffe82c8ca0cec97879eb45f4784a08131400e5ff321098c98393ede5f4ff09d3e02809e37b174ad2e72d61654278f75a1fea4e9daf5cbb14ff0ff501ffa30fb675d946b49169902c4ef9652ebde174aab7b2e43503f47f6a191ee5fc575d97aa01e26380ea40babdda1cb5772dc48f72d91bca894c39c33b26ea6613cc58a8319fb44fc312e750c1a31ee42baa80f5f8f03bd68847129c466d03e29b7057d2708ad65af61ff3cd8a32c84496288550f1fd3ec520db21252ab30151e80f44591a08f8da314d10df923112ec29a9c649a1a6cd234f86509555ecb798b7b5102ca024a725748baeaaa1ef4e83c0a44f261924ba26585229855f759cdb0b50303da6e1c7325acf1cbe41f58ed0df0caff2c20ea59f724f8872c2ea760357decbf095f6be64a22e98ff5b60c863520169f4549a11b961bd1d556e1155c4f79312be1e981e6e43bf46935ede33f4372b6f16313e23c808f55dc8b63ab2aa7e8166f5ffde00082c08f4f71c387bca57984d967b652c60c69df20545faa63962cb0ef9a6bf9f0a349090afeea318b1f6e7a005882fb91e77b86f33780a38f2e4f5dc893e8f69138fa7784dc0400de3f7fce74e7b2738cb2c96b23b2acb8c5741f3e6cac27d558d58ac6d9b54b34f2c4269507e57bed181d0c73d1055199f204c0ddfe45b69d6c72d1250a99c4addff64708b0ab24bbf487df5d9400d596eff64df343d779c0c9cbeeb38825b0382429640ebff385ffb98adcf580b6db58e3f2e0a632fe100bf04648348e4b97573d74749ff87b986c55285fa02741f2795dd4feb6159cc8676f708ae1e6b09aebc8d15fc02dba846e5205d1a627f72c603f372dbe21c3012f3d2e0f96cee25ad329a57398098853a05de32c3339503614514ae9c6244fbbd14cd2cab7557b4f6f86e5549836d39950b595c44caacf273e7ebf6dde9f2dc6bbb606bac5815800e3059a65d7a35c3a0be8b6adbddf18e39d5e93c4b57d959a690d991ae0bc09cca61c2013bb3d4cd3a9ced9d5780b4f7c49f489ed3046e0dc6eaedbb031d7c4cffe1ae3623946e4d60d279dace1e768d8c243a62ae364cddff1309eba517f3524a8d199dd7fbf64ebc86f8fb331b4212d186e7fb313621492d959eed37cda1432fa76ea0cfcd35a5d91ea5af8449033314b14dcc3799f33e23eb0e0d24a252311c8e948fb653b17ba15e7c984561687eaa1fa9a5527fdc5fe461f23d0505af39b09313cca1f86ca0604ea17f23c1d23f6072384a16c01fcbf48d0209d6955bfb29572600dc5d0445a8df9f276868023b29b4ebd020ed797231169bae30a0860c95a7382a3f822a9fdce6f459f932f8ce80e1c801eceb80f99d3341730b9495873d28077c28c30824fb82d81c43fd3006ae048335c837a33fe351020e04beb477978302166a451fd4490994b721997e08035f331246c59a0d3338692e2f13cc815850f31028117256e0355ec5f89d429fed9a6a444fed805f7d4dc4f3fafbeeee0edad88268b57636a0f1757204fc9f4c2f4c929cbe6a74856175d9aad3996e6f05db2c68b4fa34465f43a71173ede1abc19a53dfb333236d62ae1b3735ea313c4eb1f1b521999736d23d1637f421e90f332f859e78e2febe541d3718e8ef30dc1a3e11c8e136fd5649b71700240a5cfa87797f2c8034d0816f5020c52501d660d4713036ed942315715612e32f67ef936e518993f56bb9e73c0162f15220a807fd9e0aa7300c5fe11830822f251846a46c426c0a98ab06b7e297e89ac30145e0b47a2afcbcd9c4148b41970a1aaf68e92654895682ec8f27c34613f34ca7dd0f94d671f1f82976ccce79e6d0d5e845857541579fd9cb4424db940f9d14bf339ee685a32dd28b2b24a6de5cc33cd8e459cbd2cf936526a7e001246225da0ffcbcc050dd2bc9668fb1f313f47ff85b4ce28711939f5abf1c9edb0457ffaf72dade6c24c80bda461f96518b6253e20a891d1401aee40c0ebd57eef6058197bbd47232406a68c7756635f08d71dd95bad43dfe325341d76fc5d6eb91bd2f8a57de85f73155f1fff3fa9f13cbf2ac5664a3489dd51d320a677c6b5ba3ee986762ec4002d717951c60e590b24c7f0d7845cd5a0dd27a734c4d098b09635a617c94a85ce59edb97a2a233890cb031e6945d6957390bee57171a7e28188cffe184bc55e621d5a2262ee330ecb832bd76214dd80ddb132e1fda4152c1a6753b7adb716e9c9d25dad923566a637b83afc36a7f858679134c611b1c57d3affd98e0c6eba51af777f2180b4434961a673520565085da8c4749765521970a62debb3386c35a1a573ce5101fa442eeb1c90ab609feab775d6de3b87f8ba0b79abf9e0cd0424af82ef0c61bf758107e1d4021e5c2b4705a3c769f72b66b0e49a79ba3bf0626fb1fe552957cd702dc4976dcb2ba236a5658be003de2949264780f4e4dd6e6357ecc5f5be684a8baae6b62d00cbf48cecb335f5c45581255107292d595f934ba920ba34b343024c9b5df0db1ab2ab7e1df505fb5353bf2e148d75a53f2777f123fa73a785b498749ff6e36bf08abe1f8600e7f718194091f3da8af88b9a23ba28d13c4fe93d48f76c9980e7e5a521f6d20746f79b87bd6d2906a89c124a9dac545d74d4f3eb208b32c497442090fff9757e4d019acdff03b3e1d6a1d9cc01bdf12ce91a62af28a8d38f5f4fef38a608e1394b1e87dcccc7e74e1e4fbf2033f076b0db4360a908f6d37198647cf86635dea3636631eae9ac33f8911426f7c6688ca1f44f9c1cfd53ba489140743f0cbd926a1fae9459e19de532d09d66bafac7f2d01d32d53a1758a0a10d4df66bed82e170e6520a7a9804e85b8373afa6687f37e2019494375b59abd9b17f58c09de832cea69ab3f9b103229d7068272c03c47d1ed8150617d427afa5c1ecb7cce9231ec1bea2b98e01db788f2c3b13a3c7ad4f114e0027d0bf0b1e7438131d345c759db770103e0e3862fbbee12eaa4138f07db7e3c97b6f8dbe09604cbeaef4697343d9a1c7eef41ff27b0043146884993f2c64d86bcef373930493c67161171b9f02cd4e33726d291a6ae28d8cb032f190f67b116b1ba05a9b167a8ec197648767b4fdbacd8cd00ba761704b7e1f90c60a05060d8d293a205bc8f0e07d33168571c8941487f1be0da4fffbe95afa0dcd70b5b1e13b6ac1263e702cde4bc0f0f843427a5b3aacca99c1d0f785fb69be72ee1d1063840455573d70c99f7fc107210ef617bcec04aaa8af86c2159f99f1462295af0f0630568aa3e9ae3238bbbc6fc073c07e9f52cf5f03f45b0d9b29ae6aa9139e96bd506c449586c4e06a5b9f307bd42207fc73267b6ae61699f87e2f8878e28c1af68dfc26e9d4141de77b59fd697a090344e46daedd900069cbf6c760e328a0648f0dd04cfcd0a670dd1654ce96402b2982db624cc442926bb72081ce93a07a7be80b217cc029bee2e5c2d916b3067b336cf8e7d20af25ca488d10c8f3b06018b191484af6dd5bf6acbe713a585fdfd42c701399dcb6f6c2cf9cc084396716d2f7aaba413626e5f801a517d119ce8a67ee4dc762588a4a3b63109aae00875e6ee00ced7d78cc775e8339457938c3558302165ca74e263e4184fbbc0a4046a3924ce8d0e2266c6eb52d07f9a7dc3b0550b5d5ac6d680651459a2f4da33716b15504ad76dbab4e80fb204b71f87e4be699260418c03659b23f7586c1f714318d20c06f96fab80c03e8535b32bb5b0cb9d22fe43046e884ede6a14bb7c9e35bb65ffc3b7ffe24f259c83fbc9c4a5cd0b5f70b20002147cd04ae7acbcc8258d33a75fcd3d2063022476f7bf966bfb200e6ce7621fd756258ec3d8bd5769b8fea324b64a34b40cc33c09da987423c87bbad2614156f32e6e4c131cbafeaff6cf56e461f56dbee1675c9f30b253c0039273ec3dd30141838b1ae3f0a7094d414073d2893b7ac220533af6236212f2a1224c9416a651689aeb438d8cc1db5bbd62c1a75e76670b996de15c9f09f30553e1c8f0a644acc46aafe99b8e021bf65c9d4c79b6ba5788702ef90d52c221217312ca3e9687ffe0fdbf1a9cb422583a786c3d574003a2abd30171ec7c4d4af424e59c4a4d54841792345fa5117bdfba8a09146a500d6a3db6219c3b6fc78ac8a90a4124f77466be59dd8de8c5b7437d0cf19bce88ffffa5e2fbf1efa1f9381af1af5ab291ba6797f967e7f040b008b02979ba09ec509d3d5592a8daa1b90565ab106c8517395fae9ccd4053ab2a464eee984692117bc5579ba40f612c5159ca1e467b9967b3c78b981fd29c268ec5df02bfe3f01d930c0ec9e4ed30190fe7ae0ed1911a7b7578d2dac3ff092f4c9327233029bb56ba1d5e7127a581c6fd54036a745e410caaecd30bb3e6a7533924c7548d355b82d40e116dc3cbb7f9cfb8a7eb4f41e25ce886b9eab804d001199a118d2a8560655709f4050c515e87f8c458e32f7147bf1f98575728b7643f61e53b66c3cb6d4e3ed3870ce585b3e8f6c8a835ea11e0622086d8ff33a26785a506c245c19f7cc02b776898d76fa9e697a1e2d117f108edce3bcba240a2e92d01db87b594418d1f52ddbaf82cd17bddd235883df4811f87c497e40473f9f74973d785477ab97abcf0e66c71906871baf67da435dc15ad0487b4fe9d57c8cd9663709be5171ebb49d50512fd948fdcd32a331420e616ab6b5cf45568cba616252d60224a386436f610c25549241325099742e6168012a3fe080c4f30daf57e2ba2cfeac0bdce2bf5169bcb40cbb097954e6fb3d69e5617d7d7385cce2cb95dc4d48441f20288c192aaeeefd18f039c2956b0d271f7e2ecc28489c5543979b0ae056dcf5071338f9fa0b9541bc05c01c380aed1c1a1098ace9336567f9b356a51734860b9570dc55b57fdd16983d853c13ffef787aa99b90ea5caca5748b9bd229c75d612a5c6370a7d6ba48b09bdc25fe7aa03254429719e7bba3fb6acdcbc74adab2fbf2960a6735e2f6677c016d7550203f6836b72f38d04bcdff350cc485cf86d6ed5e492b215af4c936a512d1350608302f41e50c409a22acbf1d30203268ad6af0f283d3ffdd2052891ab7890dc482c58d848b1735d628f4cfd2ad48ef23b8d58ea41151d183983550f1d8e77eff4ae23a247644e9f1ef7e7a40dd64c3628f23e896b4708aceb2b28f77df665446039102ec11000ad79e5a040b025b0543deab4c7565a656f22e9a42428d273075140275a619cf970f18405bd22924bd26334b7716b2215bddadc0a3cb1fc00fd81d0b408cc8d975870c3fb4999348574b39a5f70c3bb196645930af83beff9b6adacb53475b73b86d29cd7a27f5ee6d801f4174710d03b9884fe607990e68da5cf1b8792ba163625d80b8d8602496435c798c60586aae533a5684ed6591ee12f255d5b467d9b01d20ece7f299b3d98207161015bc5e2af5960c61981e387403e42e85fc399a4fe000cfad8e8dcf0fb7f58de4fd9826df1a87edb6f8fc2cc9a0c506ca1b3571c1b11d76bf12c9aec674b2c9b3c9193e98c9af19319d08827e2df7b13d924e8a31f0f2d3430d8d4a584e481d50ab34df3b66b49799d018028e6b05a7bf098cbbda13e2f50d0bc4e3134e43134deeb97b4452394203c864db24ed847f8daa51e4f6ad2d5da5e53a4e3a2ea29263d2dd3286f29c686c6ba7e0ff98e1164159e6e39244fda2b4fa5bb28d57bfd52ac3b155ff24bf67dec3757d616ec81888eb1e55c70f1ea308de19e72458617120eecda3df17b367201b6b67743071c6e2f1c1c424e1bb2788595c73ee2339e5a0880b530978e1fa8615e7adcbd5bd404de6fcfa723a8dfda036daf4be504852237e0caa2a40686e400b607b80490771187006050d9b722f52e7d308511d6ec991c6515a5d72df9b15ee7e3afdd73104c860f6818dc0b23d7531a5070c2d57b32658f9b2b8bf990399ea7c3dfc38a364e4ea27bd23589a4312bdf0cf5f5aa946cb9921e61ceac4ad6ea30d0ad59e954364344cb11a6083d1dddf9b53a7279979af6b213d415e4438396cd6f75593928246780ce25f4025e8c7833b6f7ae1d86a2455c67f802e54e7f4085ba00b26cb07ee821584cd4c97a25c829afc7e75e95edc68daf97e5114ef51ac622e42ea25fb1cc1d760ae4c9dbc8965bc13e79b965555450d46d60401224706683cd321109895e57f37da4f74bf75b707ce064772501c14f85aac3ad6f7d0b054875851da8c4c28c40ecb75d5ce7abd8a8af73a323289d6b41866857f2e4d17e3058c091925a00c380e90466a38b2a41b757aa1528476ce73abfc146a5dd413eb6657692353f4cf7820e31a58a218ed8a04dd7c8fecb441d0a668565b858baba853414ecbebd62f81524311e4cb8ccb7b2ac4edc99381a1878651d8273800d68922d93936e117c33b590bf12c31acce259bccaa5925685b04c9bf5b0187a751d28a911d3b7c406df6139657202d34180c7f2579c6ebb1988b612b60b023e248f506d4748e5dff0eee40e4a45a766edb237dd1a67b9a4f80797d365fdc8eacab7171bccd26562b670485e1007d0c16c57ed2785db696a228850d8ab88735fccb5ec99670de9db380f666ea40c3818868f4c8d9b8809b36e78a009419d2aeef2c9fa1bd117c9c79e91023299bb3c6435ac6296a5f0e04456d68f2ce0210f4e422d1fcf265226fe059c9027626c14a3256a477a97698c7d7891541934b7fdf0e97621b641dbe04b03070701cd296da957d0ba9fd4f9440c09861dd6aabe9d2cf8f878171568c8f195d4b7577f9bdbc5efe308fe7afb09cf9e85977250eb4142ac405ceaf2d92ed6cbd730eb5c6445eaea32915aa33ed1e75c7d7f9df2b712ee418d39f9fe348acd979521ad96bb7be0312823877452b631df775af3d4a65fa302f732b24899619063d2b7e974a8b5e2fe4cab0ad07c0f285bf9982a62b92fc52eb4125211fdf06687b4964b5d4e004dfc00ac97bdffa4424e88882dafbc9d68f75ed05eb01a9eaaa5ca0fda8f285e0344414d23c8e3c7cfd49c106b2b4aa87fc5e5010d07decb0cf56f7a6bbc5bf589ad7426a1ceaeabb84e994dce04894a8c943435793147a7a3b5fc9cf8dbb4a82e996a61f0a72c659f215350db15451ea59e0991e0bef919bc5c67170a468b88382bf990832666cea4d8b8e2b9bfe974e2d55a0b3b3241fb1bbb91fc106462ab63fd501b73e997b73e8dfe0b5373716244de1a5d4ba1e98f9b8993f1905809853b1ee50c720f3763339a3c0f51eb90041f5b43330fb4f164dbfa78f664bb3e215f59f96c8ff6ed5c47721b033af1fa52e1b0a5ca6914e78f7a123782bcb26e21fde87770306fa63ed65153769804f55a8edacecac022ee5e6ce7bcf564debdbff9b0084708b3213e7b8e84c7a45b6cddb854b936e86ad8ed949870799b4300036ab84187fe3b2ebff66447a7ebaf1b9be8303dababdc6f3b6962e87e6b0fb22b3fe382d56abe0c59283e6bfebdc0b8a6111ca06f4427a9ce4f129db09e027a2f5331548faa632c4c7f525c5239005cf8d24d603fc34467b040e60983cfc9ae43b74e51870c4807e82c1b9137bb88e6708ea55b7b780c90ab9fec2d4ca177339bbf6c0de0dfe7aae976bcb49fe71d4d57bff47a2cd0fbaacef233ed3ec651c4eb5a678881a22e9a19330710f152b9ea2feab49b8ed832d099f11038ee3b0866948b3b2d20494eb76deb907ca49abfe7d960dc57c6b89641dd51634121c001dfe0bd08940403610e1d43ed8455bbc8c34561b1d4b3a74e943093b8ce8067386843884504acf5f85a8e640b2b3287bc7109aa932746ec0033379f5296613816863080d6c06dd98763efe45f3002017a43e13fbe20e31fdd076401c3456bb91bdf84cb09556080bb3fb2b587372e1b70ada75814406e26a216b4560837bf8337b1f6065dc7cb043258bd6fedb76402062f80d56d2bd7d9c6541cca72f8ecb88014a74791b53630d41e7112da97470f44f59ccc4640668687d54c7e03fd37c4f7de84c80c02aa2379c8efb1e401099092742be77d949c33cf8b60ba4474c1c677c34a164d9b1eb2b2af42af7e569bfbcc63d0dc75b1599b416410c0cfe0881597e74f0313b7db36ddf7760e5b8536e7c6b1c9bcbe5d523b708ea2d2b0008e9e0f4dc168583625fba387c518ef338053c620b0c66da035b9c9de74160bda913fcb9ba823629228c512a3a3a1d85197a156eb46a58a056242f381394ef391c4ac9fc13c3285baf64497906a5091dd1f129934594a10851f629dda8ba8b506b777048ea573833690b6234ee683866a07445dfcf3744c331cfc4eb7fa1384d56c7bbfa90f8d39590a71f7a8132ba1fe1a0ed1eca01dbec1de1fd1b03829b83233ec1ea786a7542a2529d92ebc6ec5cb13fae25cdf2c554d889e93d06aba1ed3e513f17b29ba0623c20ef9c750b21141ab3260e376f824e2965b8a17cc89bdf51a5b16ac5bf8e1216abe58b92677b262dce6b3d02ccd2cba3a1c077305212aaccfa1f3169e14aaf48b747bda3a235f502dc16d9f023043767381c34a034b11360995fa5d9f57ce2235e69a0de38f0d1ec93f6250d9df5d4fdd60475f5a060b738994f4f5ab8fccd2cc367d0a2b5c74f53253cd38d94ad815cbed9d4923258ba045203be6899659c543bede1985a4bd2ca1781d376913c260de70d0748ed8a53fdf574983ae41da82e0405beaecf1310903caef9f5ffc3ff394c1ee0a847f9326b1c1e94a433948200d4f0082a21bc5b66e2f5bd481b53876437a30f8e906817017021b7b97d217ca60f5f5a2010cd0dce1a8373d6790963d4c9e28f7b6220ccaf4b3b1f57a959546e8b4e73870189e326387dd0dcba18c3fcf100460a7f485e033d926cd13414f61aa7c01da90e1574e2820f592f45a720c2d6c41dd39ca8e8784057721765ef1620d5516eb8c221f0b7f2de67838eccd6f57928e94ce804b167ac137e43c52e94b195c8ae9e82645dbfcb3829e1cbca8a6b1439eab8a2d17e57845740a73a3f5695298941e3e09631c12034d57d5703532d5e7e5c3e1852908fea9822ea9e80f50fcbdc9eda8770f3dfe8a243d87eb52415dd9c2660c57cb56fddc5ca2f449e1be293d5e089557cf0e6b22c7b753b41f882b5291b0270350df80420c5cb5ae194d49e90401a16c6a8b948680143202df26bd236fcb3b1ad173b7f4c99fbe68f0509ec65aff0ad24f175f5df9abc93e09561901b008d9004c193d1d011382f8df37cc23134a56dbbfebe37e611f8a03e47ced4e364da53364af45c947531e283f7fe77eb9195998263da1bebb95f7214b21c1b895720b52bfe7570579956ab6a8a95e42a6017e52779c3ffcabdc3cf681b16a911764962a93519fe0de9825eaa38dc563b5c6d5b77ac2827ba8532d49743e51afbd9c367eb073ebc3317ed1f0de2fc9df2bdd3695ded8fa520bdee24cd435361e3c625f1b7c1dcf774f4f6adf8b91dd87cab4eccf36b8078b955242d0cbebb50530ef3f8b1e0968eec07c129e1952db86dba665425efe041628ceb03ea2ca6911700f43a3d738515c50e839a89ccdce2f0a1b79ed40aed4fa41f0c208a98c51fb68cef36c024ff6328fb127f4c20635d58919064ca5695c4946157ac0e340f2c58fa32984e6e0df0302c31317521d3485df89b973cbeb4cc9142d79b8865da35078ab5399a6d2328a1f50d51bf66772e83614cda6cdddc80d6cc2291b4367b45fde1ce83674f2492000bf0184a3c8805c17282b2d1cc09ac89919d6f1a50081d35fbf3e569ecfd006cf3530149be4a003f8d1c4d21c01d23c34949009e3b3777f0bcf8d9416179d5af07ac166ecef3a2b1dcd37516c5f9d041cd163776a209ad21bc9dd0cf30d18107f1a72c69a3ff54815b9e543e2838e017ceefaaaa5964080a3c8cde0419975e5865f7174adf25536d7d78c3e09015563ee6a1f3c22e20b62990c0b0c4db642a8288e806cfe62ef0d53f01ab2843e6173544afc3530065dc33af0397d92136918a6810e44e66c35bd9b2a15ed8cf3b9d922d365b32b6074ac3d5ff18354b61f15cac84ee834a2424ab30b4aa0b8d62a8f4b5ec8ec08958223f4cbf095669d6c0e7b6519522a6e5011d239f1f9f904a6b949100c0a81a59e16657a5fe611b1b2d71e7953fdb9e3058ec79be19da2bcc31aa6b8bc04079f216ca48fd3bb245a7ff2990cb53faebe3a5ab10f7a94b870ab8e201c1f3eb277130a194bd7ae9c9245179f8cc550cb0084b2ee3da12c463970a31748b4825744430dc24e6ecd4de27a2ed2150b51757c92e595d17d7d08db6de7a0e20a7ab516f55ce7606322f3689eed1c6606f2838195fed5115809f2e7657481b5893f57ab139c97689b5d76aad13c0dac2e79c8923a1946ae7964feac098c5eb36394bc3ba5a380b6108d30bae6fc0f643ab4ff0a2b66bab1fca572860d05cc32f731ae73954b2440fe7061a4f9e5e0927a0d2ea58418b0037dc69b90736044a359d936b9f98cedfd92722a90d4d6e30c182505a3b163fbf76bbdeb37f481e821abb8bbfd013af18b55fe23030ec42cd6b892cd33dde8d8b8dab904bc521a28d4c2cefc60b7d38360bffc2f6e859c77156c3bf7320c465c12812a89f1a71616f9029b02db7c12da62f818723e07d8975699dc07ce81b776dec9ae348d2e6c7192a2b0e18213cefa0eb83faca64b7da68b126e0d7c7d827629016739a8c9a06fdeb19d668c5c94827d07ded3e088db5aee23acc4d7f2cac308aa645580ce6493d2480293a6e038a949bb41a3051db6dd0c38b048a25dca873cbacf26317f0391b511008a6b1e1f519efcf6a58df907bf702263db169730081c3f4740fe1748e5756332eedcf61153604f9270150e8174ab49dbe07241c1ef31247c7ae6293c3618a93038b489687efdb939a86b2e23f9933d1786fc68c0dcec83616fe317a03950838393a135458cd8c34ac5f9873cc75a4360e5cd9556746727cc5281e0483f52b21ac132f2df2eea6bf5a46ac75f1c63a21d905da25b98a5e65a2b082297ffedbe1c38b500983cb3ae7e6b1af38d72d98ad0562303fe46468989e2eb88e044209ec8ed5d05cb1322aad78188afd91594ff18e7cacfb30a9780317cebe0e49a7321925467629d94ad19d20e8949f802cfae364f7e1122561d41b89863b9db7317a864c1c5376c7b499d01f37d3ef9d3b5d513b25422ee37a40bf71c69b147666614c1d40835c296d09a6fdc0028719e4c6b33bf2e3c3417b2cbf04bce7bd00dbe9bb3fd66bd775fb317595d4722f8f0a8bf01258b1004ae3a2a9f1bf3de2da2a53b7fc5712f456fbfa4468373381040c5a2698482de5051946e91ff3ae647703fd60ea4feefb7278c2e8f3954871ef5c534d5cdc58116f3b3cfcad11483c75926b6d5534ec1e40f7e33aa7a7636826eeb3d2265737127ee177b95bb53687c28bb6f6a5476f3d01e5a6760e67f21fb6098fced071cdf5a8f354a8c812a53adf55461abbaad3ddc7b830b84860c5cbf45c249734a5bfe2f166aca6b1f3ee5c5348c93e6a5eedb3a5f0161a156802a064304014e66a043516589660410580739611693a1cc3d5f9a3a75dd0eacfe1b0ae10e953d23134090b586c2af1ddce12a720784432b999409945a0a34667c14d0b11f3bee60c45e940e640f54d48005eb7d42f4c8825a06e1c85c8927e3f5ea96b00b02ef5397a43c0e9357c82e69105e13d34338a6a8984afe3485ad20a4a13c5f27fc107ca7cd2e8d0a142a2ced7cad3def2e9c8c639b90bd647a565e40602a022e1532d4ac30f0d4ce894ff406e90f63f5aee21e6616fef81858d0b734b11a0ed45e755bfa139acbcc2f23614a5f29b812955a6b0158a2ffdcf455b8f412c16a35ea0b6913b82b46d746dd03df4c7259ae7b12d1291b03c77a4fdae9f17a6e1d4acf6159d7b4171c6e8bbcdcf9160aff54dce0c9023e890afe01f7add1d24ad37a44ce0bf040514e73c1abdeb15fa449e94d4b287e4c1bee41a267b1f6101e8414542df73d6ac0bcda6cb4be21514e86efda22b04184f878f30eea15311b33069a77d49bed514c4548b3609c9c220902713063dc26e7048451f68961b855008f0a45de913b102dd9d7f7e59e109e6ec5f08dd4d33056c894968c2dab8d42b1c061b820b37f299b82cafd9a2f4827db458c26abac3309113d0509da6664b9abe0bc6df9ee29eaa6188edaac3d51ccfb31138eb00f10d5cbd4a94563d9d4de279483500278a12aff40263054709662ee69f879de520eff551c1530c45f303f2a63107dbbeb005dd767c9a8e506dfbab8994436fc2bbeb958a34506ccce1fd31fa5c889e4c75536eadb2ab68c0b0a287834eb8eb402d914f39dc32819604203e213841a7eb6684fd497776d1b6b18ff43c15d4e8dd2b5f801b1f65fb78d40311e6891785bb52bc89184fce36a7eb307265916d109f6d196232d66512f193afb24a041881c3d503a28cc3499da6ffaa195c535a8835e15c8d4af544c8017123272a07f00de6e23bc6cd2692b3320307da54feb7d321d652356a160e938b97684b7a7f00b9ed5c9997ef5b882af81b78ed1e28fbe9f90cbf397700265e6d69e15cf7954e4aa519014abdcf1e1279b604363299158acef1b9a643c69a08bf3414cb03cb38fcb3209b31bf8e9c31045319ad9f927bd529d0f7c7215dccc51c6d3eb6f7e5d1425a2b4fdfceb32b231c30e5826010e73bdbe4f5a051b9818d5c5b90b220da74f453f30350a7e697715ceb0346c29f248178dcc5e1b192f9633d1489fd6d4f8d7f00dc70715e82633335d363fb089e7f0a6e363dabc09ac57be50ad31e4adf99a73bb63a05d68eda540079c97bde59491bb2b84377dc750b52f81acba24244654ca1d71829baf86790b32b8a25d2e5aa367b99c0fd8f6cc44c7c3f7bd251f6300cfd576236803e62c61d7089689b94749405f70d0825fc9b4ed0aa93efa97fdbfc0a98ba51eee1d8353b18f6a217ddaa66fbbdc386b5177dcac28d4b5a428e3ae24398a6a322f0956b67baa9984433953d1f94cbc1fc9193fb65ffa90f7326269823fb177262a74e128174bc3f5d6b498f341bbc42f6da69177ba9f810cb23730f245341f4089dfe22b18b4a2271cbef06ffa6940de02cf241e3ce9582df33ac4811c7f8c324384865eb2245784ff8af3e2a331c0e54f6de40996dc8341c5da8502e18dace15bf94cd47ed05a5a995a76ca908a75e9d13f74d39d0a053a9411820c2cade1b6fc91815b94639bac2558935827abc5c23442067cb7280682cba2ee1dad16b337c6e601cf4fc1329b80a12de966a0167f32ecb9160d06b529c75afd365dc3a417ba151cf78eb2101fba64122c54d3b103e6b33efc48080f4977a7301169c0229e904d1ffc4da3aa805133dbcd53f8fa38f86ddb749971e48c7932c27081e04e7dea61b1fb1dc95b1b38bb457d7d0574244467b2410e2633447f1df8cdd889a92cb52d48d45eafeb20ca0380274a0752412dc59d353f749b6504387717704d17925c777acacdfeb27e41d28e9989bb979b9528587d6c7d9fcfdcb472c73231f603609ecfb6c9d5d904f44185158d3bd47a1692d542b51e0bc5e035eaf06d94f72dcc7a474cf9db7b8ba22779e795babc47e9f742f3b0b09ca141e979793fe99a0d6aa4a53828a571023ff808d81f26ed25495d44de5dd7aa65b4815483087e6c68eb6f79c2403d7ae68409e695cd24d4e67ecf33762dce680674dcbbff8b03eebb787f132569e360a82c98ba9037c5469ebe0103638611f9cbadc24096bbd979283f175c50847c01f27d7feb7bd657e6a6cf0f8012ee969b7fb36b876cf94709f785723cb9fc49f1283307c26e731bae1ffea05fdf15511856df03690894cd9b097e191eda7121dc2f8bbe3d3c5eec1ed3a67857c5d0cf7f64a51bc66be6f0ce3d60e5e40f4f2bb2047c5f0882eb35a36505b67f102173aa41e3834a3c639aa5ddd0ca990f71de0f4778d57df6a6ad9d2fe57143457bb718ef23e96cbf7eff50eb0e0fc5038dc067e4fcaf60c0f0f3b4ec9c1f1ce052540a2ca8066a5a33b3801f401e4a9741b0a2ed3222ca8290bdc5f3c8ac15dfe168d339c699f47b33b4b92cd2d1c2ecba833976da8e3ca0ae74bfd9f36f94c6571567e7d2f36aeb3f01bb8c3e284dc8f45eca1acd77294582b95e8dfcc8cec747d9879fd5b8de5419b5c1727a19320f69e51057fa6a6d57b34f8ad9665b9119e767d954fd36a6b5b6cbac3d8b2877591e158da947167febd279bda889d678660c2be0f56fabe380bb5ad21d75aa91312333b262d513a5146a13976b08beea42fcae9a11ce3986a76bb8728b5b0c60be1a90d8f6594754bd0038db0d0296ad3486df042b9d72f1ba488e5da163fb8ff0b6b01d45a2477bb08ee528bde6161272cc2f33ee1dd6c4ed875731337006457f00b2e05a81e019d06e5e6940127c3e944e4bd846eacb42486c83bc5229a5377f2dfab0a20ec798b435eda3551d47e963ba0583199344c1e7525c3fb2fcec3a56da6f7902e7ed57442c9d2b91b6920d88ecfff07791226785e286dd2a6e5789b43473450045afc5dcbb88669f4b277ae582cce7f3920373dadccf1860497b4a340e76a7a383c89f22e9cc08b7399faf1bcbc52f5df790fec047e1a8c189b8d6602c2825c4eb3166bcaed4cb3baf7c8a1b130f61553d6010a93447d5ffe1f54ede6ddc68a394f7f1a3473607b03771bec88e51a546f4ca235cba6da96715bae57954cda932f84056faf70cb5885a87f070835d072159b1a8321e4a96de6d1fe80a76e8290c3d5c876b28d68327aad6df4497a3c6468fe876e21a2ce226cd4f0fb912e4d886d7f9129a493f3077660da635dd339aa0ca203f226f9efd77378cf54adebd73020e789d55b57672b38c46e8b35887e14508b243eee46dfba86eeb126942cb5cf6a5cd7d7b9fb2d2cb91b614a5f2310c849fd5cd819840a94819251352fab3bc1bc78f5454db7ad98035b4cfbce35024523157ee1fefba7f25c87b563b6ee8a726021f91df88c3804a6b9a1cf64931f50cdc577d4438584a85ea140b3240c9dc43c79d8eeeaf365f0cebeb0886e61c033f1d378113b713581ec7243f6f7bb7eb5181808f83c0e06450d38db67921c33f2621945c75b917d99465854ce162e3f93c9cc9ebaf0eca9dc366b4b6603ee3959cf817ead08fdbf5cb57724a196b9a876aa745d859c8c64f6dd3ece1ee4c7433d52f52df3c7b0db24989322178e66567958d05f1103712fbbf431c27b032bdc54daba75d55e6dfee87e9277f416575519469da68bddb77aa8c49e2743ba36c8d8ff8bb41af852d4e8fde32e3e65e3e4aff8a346596088acf87617047eddc688a696964217b8891b284456adc5abfe06cc23df0081a999f842f29d2e8bc64251d9d438c345afb995ffd686d2301211cb8d201c2a5a44a7e8aeec29b0306778035f38d25ac4b478d8f7050524d8069898ddac135485e6bbdd3c2bc743820900c1865f1fd35663a979144e75be0ad099994c10cea895db7eb76bb6e6445d810e8b6788be1e9114cb6ff993bb32b7324f1e1082566d8922f548b0bfce2ff1a7a5dbb668e0ce298e2af16163ab3874c8b5a1851840a264b9f9c918cdb7b1c5fbcfeae2287ad02de8fe7f5242da0b7dfbc9a01e45d9b8ceb46a3394828ceca9200a32effa43e2564d3cf02660d9b8ee8c4ded6af49db7fe1b4dee0696103b9935e8edaaac309f390191f4579172ffb02d76d271af63ecec236c30afdd4cc7f744394fb81d3394b6aa48325a09ce5d4f2f5f875d9a6e9109e853a1fcad3a005695aa9510f4ca5d325fc9572fe7dd19d941a54417791bbdad73294c61cf3ad93b6277253dbf2e68714c1ffba92991452cfcd86933342e70c63445b72b3b7bf0480e1c95458a4f49126383cf5795d4febbc674882fe64a41f349c518f6b243cb259d40164259a45099b01904008bc70594f01f1b142a6c8901c0850ec598acf696b0808160ad5956f315cecf9ecaf421eb51802f1519c22d5ab634e43c2ce8d64176791e6db665c291021b08ae36b9c6c70742ecc57384f5f35db482847c54c64ac1790a9104fc2c1d9bbf4fee90b11f1dbfe944b0b059fca657b93624be6b0cc50e4614441aebdb286ab261507c3db25251b591925a75bc54e97747892ef61d40282bfbd40ea1f0f58c8e8276b45deba12ff0e5f66f9b4cb914ecfec5ff4e7299463f3e6be49218c390a4bb03cdd6b1e97108ef8f294311aa82eb5a320586eb9fdf0b05bcc9c686d6e75e9e270a56eab188514414beb4d431b91549243fe436fc6c6e4f7872ded8b1ff388f39fd3380e9ebd00d0ea2a2a0c251b1762b69984f22117e67047e53903d39937a3565bb04146aee44172031e0c275c28d0f93492f2a525053f61287e7d6c80849653b55c1567add680f239cd8a76394a4ac05d952473dfb2d9414994de059a39e9ca832e2e97b565ead38caef4d49089a2a4956425bb9f555eeb7fbb17fea482ca1313aa4dc31a334d305d5704470298dd1f08e64fe27731d73f2f288442534a00ae18fd9662b0c499794bf3e10f0082b68641ef278842527771167290357351d146a19b04fd47a467eb098267bb56cd5681e733657929f7de96eb53be18e69fd69ee2d7c23cd6b4339c146948167aea896418e7ceb8f52fbd35bc5fea8a6cc7e6faf3f7b82ad6c86010bbe9638b6e604549ab58733bfca3fc4972899f32084684a6c5ef8b572bed6ef030351d9de59c8301ae65bac1e5309aef50744e68cb2dd02b08b0a5ae5057f58159a1eda437114b111d32fe00633c69629d9c5b5d2a21ee29f56a64573fba9607e76cc852b3d29a361b58cb0466971f407acc432099e9a6dfc6132a018d0a3104c6d430153f17330c447c8549491ce7018e4ddc1a0b5ffc6ab296d0ed7195a8801424c9009ea3717cf406aba6709b05de3f31cfae2f1843a9cfe8f7fc964f2893af8236ae0cd1d08f977979e3fe53461f6ffd8570a654c5872247b22260d2b1907701fb5698a38108b2f7ca17e885f2a6b1d203cdf766efed59ed956d1ef7ca3f50637719388c146a1ccdc963c02ac39ea4bd6d8a0494b817c9adb78eb2e989fb5720e571b76c44182f056adf172273430f7eb3a4465ca2f85b7fc9e0e4cb297bb5fcf80599f8f70d8d496ffe5d76c14ea563b5b0902c26fbd45352cc9898d8e5dbb7b50de3082f1c2469c40390b83d0f20794e95a23251e74189795a7da9dec8565a5e4903d7a87b13b769c2f94b6191878a5065bb980209b223af7a240705d3961df5a38c75d27c8568c939f9d2eb9231612b72577cc56913da897835c07583893dc3cd19663dd0090e734d435fd1a407c10670d98552fc5389dac3961b8dec0e6406280a7e71afa890eff14acfe6824416838ca546a1e70461cc20b87b81a2e76e348cf02343ed697d6d2e808e32dcc1d5842bf96bb743a56d626e8a425b7e0de72e2291417b56d845349fcb82e9e287a71599b66af5c6b5117b6b439d92c9e7ad7eb80edb547c5a4a5ccae1f2b9b69a2ee7202cdc4c2fa00b4145780c25c12c157358bff8bea0a03d6faaed5df5968cff0b12a488e6ff18bb76289b046294b7ef1732e0fc5ed8a0d59633001f0b5d842eafffd13b798c23e7c8e3323128afbcad1c050aa2f7e036d502fe52da41345596af85f0d700e3c5fd679b5714310f403ce4362b8e3e822e6a628b39961e4d980e9251abe0a284be5af8f8b32f58f2c0fb32817a2079abea96e1eed16b5e7230a2c7dd1bc6f1e30a53d131a4bda244e8b71e192eb6f3e57872208cf33c7c707df5232c473e4133b791efc527d34fd7d735646a53fabe5c5e9e9c25f40ec35ed3fa59afad9d334b9118cbaa51677cf5e6d12b8d2c3ae7783870947520268ac8cd2fc84bacbc2fc1d720b43f559c4e6c7fd4cf94b42295a20763cfd35085a59000e60aff5c571b40fc2e8fbce76c56101eeadc32695c56abdca45c2dd84e4a060e1080cda7b10fdaa5f77b70da2b70445644a4d9c734464495e3525baf805d7e0d02b6ee6bafca39bc3db0e9ee4fc73ca38e33c31f88650d454b404e922bad8b0a1e5f96de76a51763c260f0a09598283706f00acc4b1140de7ef6e4b9f9a627dc0987783c0a262faf0d3bfc038fb1d2c2461fbf90895fbea63f13e855563740c18d18d04baa2e9be7f91f5f3a1692ff06ea4498eee7c669a413c624f4ad9a892256743a9dbf5bc69b3d0f1ef2415097f7cca130d1e5edc6d39ceb44217c84a3ed01a1f6e8a3fcd1a6c9bdac1e20dd7065316b756b212c5cc2e7b497d914484d3bb33bba175639d4485a084c74192d86712eba11d3d75566d85bdee9996843879fc2380306595c1cb21cf73ce79273fe8841436074df294957ec18385bca105d81d969a9469fe4886361db35ce15f18af28f6e86858b5f80370647ccd65798fa5bc01e79af52d589e332e940ed2e566c7051bac0ff8df126ee5aaefb3ef5214d289d41e7a29f513432f36956fe724c9238197194f5859870e4789ad8f2a8ff6ca4bacf788bc1a3091f789a8b398846ebbb69f14334880423926c8820267d1ad582818664a2f436f50f1d628f4007c7097d4b74fda90faf82954bdc7843dcd924a1a6dd4e82f95ff9ff8b3cfb13924169ebded04651084fe3d8fd17b00720be2e4daca6ee1297b17a00e5653b955e40efb73573c56c7b9b0cd25887c8fb37daaef08be87b1322a087becbb5e3f15da7bdfb8a7b426bb54d0a80870b53a675e47732215ab0efb286ec978727cc6f8b860279543ea5e7f379fed8cf1935bcca184599752e08cb2ce24f31d562b7d6fca19ea606af5c74d773bd675e8262efbf9cbe5cab7f2ab33d4fb0f0f7f0b5be2c937a1d82e86e198292815f36fd8e5770a4bdf5248e5ddc2abc8c53d93fd3053ba086a335d5e516a1a925b2448165725304f9889cce3462a7f111c4b9df2a572dcf87d7ebb6ee1136a0a1d397b039fd516e96efe4d59b4ac2df391ca13f11ec806e2e3216ca63e666c902e15d6b42c7038f84464531ba97a87749fba32fe08dbc47c50e927b77e75af2aee30044f8bffb12f689190958c8ed6b831186eba4741e01ad241e4ddd2154bd05da593378c2c78d8086b8d66f92b66dc558cf4c93ae8d811d8af8c00a2c50d1b960dd2920c7f9f1cfa23d4c5efb1305839a1945b65355f3d1536fffc0abcf4de488ddbcedc07b25083ed5a0c391d63c25a368ee5ad89b20736cfb6f0e23d59552f150a1b618ada446071e6a5f06afddc7721919ccdf04a9c7af3f212430f338cd0bcd58a65af21a6a9e7e1f69bea5ca10000a1512e00ec6e2c78b8c60d2df04245f50bc3223779a20394a55ca47987612021b24bc7567c693ab8397b74fedf5a4223b00f09e30a2c4be2346658b5a8fd48648aede201265354554ec49e8b613173a21652d8466a3f2ad2de41defb1f461120c06c5b327c1e6d707179f8b68ae85271b829b3dc99fd406d6b4d1b8af547da038993ecd734db06cc62f7bb28e5f66899ff5c367ec14265307171cf8ae0c18b0814a0a968c5ca8b31080992476846965bea00134c9dc2236264491459fd275c4a6fe4e48d85c86766e54f3927d2b0f3236cdb76599d0616a780e711d53d6beea76510a403a7e66d1f66ca30a81efa82df74c1a3c53c66314f20aa8bab0123208604c3a2680e72f8d1ca08f68ab6ad4a63e9b11089e36892d3572e746573a328cd1644848b4a3964812bdbc700bf483ce2d74c9e6d398110edd3da6717755d6ec4889cbdc4356fc15c1bc33ce01c92ab7dea9b049fc886dfce03b95a6c560a815c361bec4f0bb544300c8b5825d422b553c5d42553f9fd6f591611cb9c78e652b56226a9e27ca66316f6c769404a9a5a229f107a0f0fe5bae81d442c0f08d2a0e2067bb0f857351098e5ae4363974cb88bf1e7016a42cc6051fb47a02ce498eff2ee042cee053258de7112c1ca8d29710d6dab1dae7b92a975375e4c0c53f175fb6c4ba0180941aa8455a7eb2cf6baf5ef7769de6b5edcdf9fe756d926feb74885d0e1a7cd03a5927772208d2e642ed60f9de77de63e74ba6abe5b4a7e70eee2e339b65bc97d6c15612fb7990b1c2796724c4263654d9786c8bb15630ee1040b35326308d5044984f68a7dbad41891591d6da43f2759e1210ba58540ec83ce8f49548780b54cc03dc3cfd47f3fb1bbdcd83aeb91d2d7d154c2d81784176ab08bc036664cbfaa67ff8e26e3cd8a25cc0e2e0935fa292283fcf5ceef99f0c316724b8c30252131502c357d8e975a55e4158cc6080b271d10711d8286eb4bfd83083aae5939e76bd302d0adb35f6e09a8a26494633ba9395d6fe39f800dc0cc6155029b73a819ffa163dfebe75d972b6a5f89b93ad14ed03a68d62990a55bb51e89e84eeb436f8210396b55005f07a144a84cb3598dbc86abfa45a293b57ff838d65421f4f0b2f364e6cfaac8b884980ccd5d9bcfcafbcb47c0f0ebbbd1a0ba4289810125cca049eaff6b602168d14f9872d6cccf6d8ef1db96aeff26ce594c7594278e1111c9481b7ef46fb0b2c0e4d9ca5d31ee51259af7a7da301a0b72de3ba0a2358cadb0fe4c724ac2cad54d452d2b4ebdf52b12bbdc3535c6d01eee4353e2a9d6144ef3a29db258e69daca061aa33b277d8afd3f2def78b48050f705c05767609cc105d7761d6f3c51c47b751371cd2682dc4352a16e98187acbb1afb20ab4d4b9e79c6f084bd8faa49f860cef85bc0060b9c0717182c3979ed9bb15371e24e947216c0639439fbd958641bd2d71fbe449e6c168243d2f041959eb9f95f22af862d82f02b5f7935cee72565d37e39fa8404f83317133587cab4c98bd9221f76cb4abc54bf4313719bf947cae8a9bda057340d625d077f9bce7fc1df685443fafa4594198949ce9f7880f306f217459c43b28d0d932fe54bb7811b4c1f17bee4c486a279d4a3e2cd723898ff9945478c91334b9c78100da40c9bc353d8e355ef08c0b5ab3253ee1aa031291246b2856173b29eca4480392db71fc14f4a50ce01fe250878ae9fa957b96835b835ae49380ea79e9cb8fc7d977d29f717d7b8540385481bdc4d9861c7299ae90a645f0aef0f79070953bd28e1f7471994d3b85492f2e55b39cf5938052cd01a82fd5034f24e1f9962ede3a10e1427b901b5c4d305937bed823781355e75da106579400a5b7d0c6a76bff940f5f9332cb3cb92c45eeeafabbbd392fc1dc416a176e602518eb8e66fdc2bf3f23459420a173a9136dd0947687f225347cc5cacfa68ebd990ec609f5474e5cfbf4c4070936bc12b0fae8c77d4bdc948bdd808b623f40612b46c13b881158805e4f41b3b5758d60bd15f364efeecb33157bfbc921e9812de6883bce772e306600efe8205e75b14866891f6411597317d0f96030775d0d650d8af1d6775c8566eead2a0653519b1c926d2ab6faed518d0eb25474d0ec64678f8079183820312283858c8d43cf90e743a13ae8f176545540b8a082bd9ff3550bfeb69296f926a9a68fd488fde4a54316aba86b2318bd876d12a108cc7b08c47f5533742c6747075617a9c9f324710475cccccf1a2ffa867d2c359d3d4765fccd06364506e28d2b4db4c51b8967fdf7076fef1b050277b25d5c100ed3e259c696b3aecb628e5ac8afd1b6502cd9a0e49424fd114b74ba507ea61a329ce877ef2259cf415b170e15331cf9345b730900025cd8ff0c01de9e65952f49c5eccfd7fe827c0336537c31d2b7f86a2be93f7f371994ca2474549c89503b4a214afde875e04753b2dee2158482a755daa7914917e69a0858314e80b239964a974022ba7f1425539e49e8912e9e64d6af9a078074e3092ca0723bf5ceb46c3379ae68195bb564d31ded1f9da1bb63edd3cf439242473506a1608081235b4a2181a9f029129d64c1697b0b180dd6e8ac80514fba9d3c0863b69e2c9868b1276b774c17cde8d4a22917163c261c9bb8e638357d6774669af09ec290b27a4b1efa2f91653e088c4965277298c7249060b532454c4533573646d1a45eed8bd3668631b79941a9fa968babe3dc2521409ef08ff67465d9aea8ce82180733240a3ca2c7e87d2f56dcf13f9387e22ccbe94025d86d670611c48eab33b5b821a62945386e68bfeb78cf46cd0875aefc9c857a009487adb3f229232ec97d17b88e65107d665b6298630147f7a0a6909f5f732023379d361be422a4dc3a0002fe6d3036aa8b0f91d246993e58ed14a6ab76a2eb80a5c8b055c18d6bc6cbcbbed7eb71eed3de78ac940738be925b923bc87661b1e7b9e3e4413108ff3a35cadf1d4a00dfba618b8bd055301c4711af7f88a325bbf27e3c0bf42994a68ec6bb7a53c015cbc64e42da078f1eb0add8dfa225cc2e4c00fd32eef6c6ebb41aaa489822fed2bf35ccd5a55f93ad1404bbd5c6be9e0f00c6be0f6b48520f1aa2d9d626e9228e48775abc71068365e2c4da9892b61bec14d4379d15849659fd862c2863a9ae387e8461b2d57a6dba4cdbd1938aede0bc2f406323326fd1a7bf3336d692acc9fd68ca9592848f67d65c9c7e609021d250e7ec60a84e80995a9284e965c36762da415703d81372818a66b05ecdf7d9d5cde7a5d294b6b3b23f950a3318f196de75af6e4843eab6f0808aea49088e8b6aa9894bcdee0c2da6de0c7b486df34eaeed4394bd2668e1dbbd21a9aebf5937a7ac1c94dcb23b11d1bba9f52364b34ac57f53f1451315b640d855804ba37b65aa7d843f88be043d7ce388f212128561fc4846347e9a81c3a87419fc29423baa698bcbe4634c1a6052bf492daca48a0807195155ee4f804664ad023c018944c63f7e1c7e22cbda8c2477f5ab5c23e7b9343cfbc3e0292b5f45dc6d1ce71ab53e2078ae2d88e82aca4c5c5d3f4a822ef612d2be892484be606f17ae1eb055cd8184a755aa25651f5a8076d64c5b3fc4371a7cad113fad95b8fec97c01c8ea18ea56f406565c35120c6163a00f83aa00214e89c0a6e0b7a7566373acae7600d029bc21af98af17198fb4eaff09970affbbcdb4310c0189656cb82a57eeb0413d0e4841de0b16bdd8b69ce685992c9df56cbd9dc920e2fd97a67d84314e658c16017d2d8e7ae3c1869796c50d27c25f80f5aae57b1430174c31beb6d7a8a1d37ded0a0b72c19eafab06282acb4e8aa052dab1305832ad6b8752094c269f1ec83c103a817fba14f200e97e13e84ea4d55742f4e14eb41e449d7be56f2bb8124135fafb2b891c6b81913660a401e5d62899cdb8b27bb472b527a1bbe4bc76745631d29344ea0dc941ea764917905e451e00281015cf6d3d96331f4829aef7ba521fd406ce71981b1cdc36a08cb4fbcb7e8295062c259c7a057a605f8e6f493578bb86c1dfabceac4074614807d91648a38ef337c766a6d567928a0aa74f2fca64ae0444d82dae375d53ce7e8640490bd8f81afde536d9600f2914f8748738c2e1552295691e6efcc6f30558f79bad6c2c6232a52d2fbda917a0b3a17f6fe0ac5d35191b6e33d8a17cd4071ad5b0a9748570a988dd76180837d5f7580838f6296b1a7ce0e262f3d54f56e2d7064fb07d7023a9f0df21968b3de187034ce147f2a2d0a83bd8b24c0c7a9d590b5d1642c9ae4ce0098ada18f6caaa734a330cb0a61449c5574b87356467ef9a8a4e4e2d4472e7e54013033768ccb7686359a727617038b88f3341081299d5365deb932a51763d47ab8b63477063a79861ed5e0327478093756e7693d5c001b75dc49820bbd3a242f78a1e4c2acbeafaf8478f05f3e53a36196af567b21ba6c64e6c35ae3abaa41af60c37f8ba98dd299b1ccba02b20cb9317fdf7b0dcad6a1b58beacf437e0f50c2d5cd0fe3f8968b46e4dbd02aec5def552818e8c40ac4b90a91d9ba8e68b45e7d0bec599d704c720328686d4028cac896c5f2cc0cc87ae58ad31d64462a9d863c324d965d41d8f061346ccd585bf9d7dc61856c990e83a87f1476ff7d15cc6e8280c6c3b2ce34e82803ec850f2756cccdc6dbd00bb884d9043260784b8cf346064c20eb00c6be994f2536f0c1cbfd17124e2bfcf7dca6f007c56d14ccb0e7f782a8f99f2fe889d2cf95faca4dd50b235c14e3dedd6e5465865147ee015d66e05d0027950648cc46f5d60294f88dda8494c944077cf563819f9b450abc6d407b491991e907f8ad197953f61d29bc27b0185dfe119a07258f785c18938fa8a938cb5aeb4a10a20ade2d385937d658c455f9bcc8af7239e19bd8415e0a5021da05438c2387351e0e18e96e34bc6564a514ba3965c6d9fe30f5f7d686b6a5c428f080417f2370ee54f76a4958cc02585e4d3b83a19bf1dbadfdeb25ec08a3eb1b7f42e8ede09381bcd6b1d74c751a0bcb55561f4b3f43e89d846da9ef89282a6af1be675b45f31464c65e3724534503c35e3a6ad2e1b64fa28335a33bc11aabb0850c18dcafc27ad9d342647971b83df7883db458077f9c23002a6fdfceafd6cb15190b51b33b66a163a4bb68d57f8524cbcc96e358c311edc178ca1e1f97fae1acb8cc64a5584063c59d24e63fe3f0c60c678be01d086335fb669df2c7208ff4365c2894e2764a2a3466119d970717242515537329ecbf63e43476b1e1f1e7886e5a02d431c1b903d8017f7452aa2678a53f63503ee13325209a34b2af008a57e304257542a48d3e7c59b63dfd3ce21f9f57bd21b7e421572edf89027f9261a9d6d2460b417231bc77af29ff27dad2ed4f7d368992aa0935c4b8d42d0cc48c36716f7abe23dfd899db76bf9458238ae1fa2fec44f3356d535d4e919a8dbc1b3ba7171d4ae4a5012ff5bbad28414fb69f325524d95801ff957b0b7c94d2c36b395da4b9869bfd700bff3c939173a0484b02ed3315b0dafa1a1a18f6151a6670a49d7624e18598fdd5f96929e001bc466323cec433465db4e34558b145a0df5c3b74b32d02e13a0c9c1892c93dc6abd5ec399a84f632dd1d4e8abb108c0d8cd3c3475efbeff5f8bb4aadd4d7937e1d84fea3ebe70fe25e2fbfdfe81b7675b5ac71e9d15ff6347cc5786daf74c5220b71e1f29438752173fb409cd2068e1f5f42548f4cc225d5683fd274099915d0d5d845618334c8301a5efe789eb9f2fdaec99bad6f81835a77741d5bad96783fadd2ed1316fa6577b2d674d44aad25d793c99fcfe97f52177e879843a8ffa8cea0e080e7460b30095b917ceea92ba3350c671a5c3c438ac5ee41f40adb8d1c1fb714066fba8650f6099363325716ae11b56dd0a90fb2d85b5eb848eb2bba52b5c6293f7c73445a1f11b41e23941a65eafaf296264b2ccf52c8dddbc61381256dca689905e315b39990ea06f99415b2723847545283e28b73c7976901cf35159094fd98fa665019f3b163d0758d19f55a99eee4e72f00a43334256c350e0983b46de4ee8c1c035e1a3cb4eab829fd40164c764720906ea67ede7f02bcbe896062183fcc7b81cab037fa56bda08d7cf6d5d5d0f552c2271656769f6f68e7dbfc75162bbe5f2ecd96a65a28273ca83b2bde992972953cf07b55271d8a43c3ed1303d1eb66fac432a7c94554efb1320ab5417fb7567240199c2a4adc5109e9bc6c0562414cee24266eabe3c87cf08d4c41ab25c6d8e2ee2f311ea9353ede72b592051dd5de29a2cf13bbf558ee2435f7017dc812f1124371986f2a82da85d34c9819a72456c262d8f53ae997bcd19075b7fc3bd537b699585468de5ed2f8853918142d36212096f87ccb69a68e40f92338993b87246919ce7d48ef5c420b94702a1608b11c6ef85f121e7dc4682670ae161e2ed0ec6e537514c0002fcab2a0fdfce08efd3a6fb30e3ed0cdae8fa78345463e7bb3b9d8acc18f77a364c51ac850383944be7e29f8a1b16c1ce275b3001654421320287164d4886c08fe090d50fcdc3c3420b1200045d273e9ed42ac5ce4de75fae702bf3446a1313d580e5660b45573f18c00034deb6305f0cfdb8c7314582b148fd2c30eee86651a51af97fefc50e7ce9e6a7ffd2afe54d62de495f11e902f5da6354f99d8a76106226411b6d7738005def66dd69e36fe4b4105b31973082f7e185acaa7d68f354dbf9af68b862eaf1ef18b32fcc0dd8e056aaa724e3fbe269d9c0e6888e3fd53b975e978e4d110b25c94e568bc8df1ab768965a67b9de60233b6584e1f3b0ff42a1c0928fa9f722305cdbe7a3e7e7e6f92ec80c39ee8ba9807523c0d725c6e3429c7976c76c2915e8f93fa411ff934b622f6faad091a31c7fe81f59d4239b4b6004f8a4bed82ba7f3bdc6b00eb80e0ade58c0527499de429c38427b8780c8e0d8962d4f46ef212ba310c4f462e7f5a155d3685b361c6a19d6a688a893a32e80f710627af7a3140e15b7cd3492ec7f03a403f1fe51e0b85c003303f0c313e5656b232348c4dcef6abfb26f057710002f0fcd7a5a356aa8379be6ba17f0253f8ba7827f26d335427cc6885d8b9f4f4be7db385ce1cf9177eb39304f127d9aad2d4ecb7e5729deb6b81e48335ccc293edd5d8fe32bf989e9202dcc2ec1440268d607247b5ddcc27610d0c7755ce7c4dde531cb2a5973a42ab297ab887367d8e193c8369fb68f330bf43f7727800cbfa467683baf98304e04d71c5f0db731ffacda3c342aa6ec13733d616a0ca23cb88aacbcc1edf7f70cf4c954937a7778dcf6fc464347d07f416f99f657a82b43b386f023f32cde9b318a1b12119509fa7d08d189328a2c4f509c9f60d766ab9575413dec0c20bb05b522025a47adce5c2bba594dd1f74c64ebe9785690750198e2b833544439b05b120268df6ac10dc9439a4d22d7ae3ebf89b9d52cb96e0f06beedba8a242f23c6aa207dd138eadb0fae484df67f9e8f19296f81a0f406a7119d7c140b0235f695f1387aec3590ce15d98dc514c253bc85313913c2d3b83c5366b0de7737dca41cab095c830cb2734e1c19159d22eeb7805425a36efb30631e37f42ca6f738ee88aa6e560aec580f13504abf0bf3001e51802219734986373e899f75463228f7920f9304decf05026078f0cbd95c81941716a2006b1e5d5212b6293fd4f33237e2e86c08dc45e7b032a1b4425c202b26cab70041e8aa7210176b1960035d9cd4c28b9f86d952a3453fee29df5d9436a473203ddb74bf4e0fbb35cff1e0ea8235e3e2460ef5986c03505a022f81f3e6e9ed5b6789ef04a35c3d1e03173e56edf4637fbe1b8b5a19910dcb61160d98104fde9838fb733cb99ff73164a6f4a7f48e1a4188ee2665ec7d673b13b041496fe03f44a6672351cb96ad9a3dc35b49aed51e553ef6c4a1dfab2887b5f7f14952db30d0037457e7f708db55a3050570742053d60215676734f336450b527a5691e702f992b3daab2b6149f5de6853115dc14216a3f171878299536906033b5c7e78dc4b923ead14ff6b4f1e42c7f8e8758ddbfe343347557b9cc5ee62d01ed48c74d412ef6c07722112804c37b50f2c53e195fa80eb5bba9570a579e0af751b8de0f6c7fec38b7cc38afa657447c493b53968492801f3e11958ac254c4d7db6fd7ef6f0e22a120a21853fd2bb5839de878bdf1b8e89ed5f8491c3124a8c88814992f691ac8b1cca3f7cfffc9593ab035eb1b46e1b2d92d84efcd6b516e1b203fb6940ff4d2c19d48ffa088d32bc9693a484a2477640560080c62dcebf1315077a2195584df591aad1413e2c107443d23ee9a1ab55258d963869218ee19563403bea00b42a215b65f9752e7b8bee967e40ed7e84c984a42921a206cc8886e47d788602be861007b1a480964232686b46678858192c6e88d58232e4a8b216e725ab102433f5ccaf8d3178c6717cd7ee56a2e14b25ffcac4b9b2b70d06fb4126ab9167fd70a876306cda59874d0608e2e108fdbcc595e054def7474458e024bd3309bc6eeeb01beef5287d3a11faaf6ba4904d6091ef3210ea0c6ad7a139fe91decfea9dabba1658b6655003c32dc7d2308e52987191cd5c73e72cb42aacf78c8953c8683d8e25ca10b961bff06441f37b721e82d8d61b2f9a6a1d91b6cc40bba34522249243e325240153cc40afbe1f6979dfd08a52749e0b387c9f4b1851173da1103373010381eaa59d66f92c5155811585caba14ede61998f4e70860050ed9b244b966e2afc28d47fd34568ca538e45e14a9d2ec9c4294ce7169b643627cba2a3b9f5841ff1dc2b1239459fd7ede081f66961a3f929d32cce1653e403471c8fc94923215c0843f5073b6523b715c27712e104b720aea27b4d9d4cc26574466f997106067ca8a0c22a396ff651e1125a04e7240ae7782c57912280a268133def4f08944e8d30eb53828a22111355ff5a9d82f50b3a11d4392f53aa467bb849a8b0def4aac2e7cfdc04e6f45368cbaadc680c939196a7b35d859a49d70931d96ca4a7d64905cf5ab306ec11b400751b4e5ec824b4c3b8ce1f2812288af4c7bbb24a8b9df6cb6e5eb52e656ae7a5002d29195fda0df5f22060c7eb74bf7a7794b1d1a0bcf376ca87517b2fe9be09a7787158444fa253f09e57659e26e30e284ea185f01eed41bb38fb03eb17839ac5937321bae24fe847305e4cd8ac551acee49c0ce59df9fcd06a5c41d412cdf0274e3a2c476b929d4a9dcb4a73261218533428e8043ecbad7e255ea8e2a11e767dec9e99392a61901f05ad0a75b4137321424d20f46170fca420e58cf1d8be80be1ba4e8cc702987ea94efda383ffcbb43921c9bc3539a447ac8f975322be3a33a816a358482a6ef77ed06a73903376f908e743d01ada93ed81805d8a22da2996fe45a038c40e5805d4440a683056d3c7012c90a6508c8fdb9dcae5702683c90d2d8a4735948a743de2bd0559e402f6bf5e4020320c91469db614d986799a91f5194b5c673d790d028edeaa4af91bf4bfbbc5f7035b7ca35a13e510b0fd8aa306f7a11083507ce9346e118304a54d1513d078cb1ccec6cd2e4e188309bee1b43b8145a3a3add78a680befeebf057d45f6ca577a30924f58af5c8ed794b50c8a73b91768513c1a610ac3703a44c7cbf0e7844dcf1b66c4ef7f0733690d9e55a9402b6c39d3ad0ae0ad64f3f1c9355d61ff705ad3bd47c6932a1720b84802395775e1abdd8cc10863c577a3ed83509871e7d265e1ef5acf49f3e3ffdab0824dcd5fe2125d203c88b0637365291018d13b89fcaff9a9ae60fc10e57dd2a88e41d4d5691fc401e66099b255d8ab438dde79feaaa5ee4975c113f7a4af9a94ea89b6250bf3127bf2389213a482344b4af2906ccf24a6d8c3e05fb1b94d2074ccaed01ceb7039d4cd739962bc4363a73a712f6768d9c8aa121d35daad092a1dd05db8efc4868e07178f142204e1b1e3d6622876c39b1ec40613a4f371bfaf9568d2048a5f87149aec24874e6e8b0dda0ec4f30eda10b5715fab286df786c09a568bedf2be484e35a26ec2135773d4e8c9a1c3e0e1d61f776db1a11568fee0d3ebfc5353a44db1f1e15ff8e174ed4bc14bdca7807ce2319d681c59b8a7b5f9891073a517062f952dc9b142a4d5f82b4a26d15688fc3849f77f45d85e100c688d293407f70a40c052e4be516da162ddd512b466de97b977b6c79a1aa7f6f852823c0691bdde4476fab2ff614d9ef6d0f76677d54c59310bcb835f0788febb375db0e5a4d925b29145fc00db1341898b489c51af08c4801425f5c5f33acb19dd0488988e6d93860efe13eaeceedfd3462b5093bf72bf7563fb05a98a969f68134fee033e899810c16b0d9771d7510ba007c392e858759b24613abee8394d05ca695234eb8c3f1db007bedb175c1802cf5589fd5a80a80e24e467af46aa4ee642c8722281bd26d5970d7a6bf4d632570f13ecba863d0aa12860181cfaa4a83382e6d98d1d0609c5d70eccc47d30b19a43cbac3358522f231b3cae852b75f4d6f3c8f3cb42597ce1eb59c255a9ddf97651c7556fbef0ae8af16b395bb69240099d03534508de44297f1d6800f4f120abf0375de513ca151d594fdd52a0ec090602a22ec2ec7995f442a9fe08ed66aa64ee97fbe975652446c374b0c9ffbc4ac386a1e17461f4d4b45296d4b72366be250128b0912da0bce5ddeb6adf44be569c6d3ab04b8e80f0f3cea52fd218a7319a1b2368ea471f58a5447f2b7e7e19b8ff44039ee2acfe77dedb10a843fcd682a82791edf039c9e01c5f3291db7a9237b9d61e966c9e6ae07def9e4f778d06018cafe5768bc1cbfeb4c35cd01df510fa51f47633b9977abaefbba5634e46105e9cb3c2e07b890ac6a181781b779368f7fdc4f11667da7e4d30a138b10d182ca9dc1c8545e3400b9448243e087110d995ad7e2d32e9347f7e72fadfd1b55b084240bbe046e9c25bf88d3970d850fb61b2d93dc487dbb6f6af236bcb3ea0bea69f223a511e5ffe682a3c334ce257293645213d40ea5f7153baca3bde8797a7a085ae0d53d4ef477f54cf9ec079812a91aa66249ba96e12370e82cb1b1b3fcd23e72a900d73f79a20ab8bc05517b8a436a5edc03382dcd1ebdf8a515fe40162ca11981130eee22eede6c5ae7df769390a5065ebd05155540766d0a29747a2908e616e1139c8afb35ff773dad04779e5279caa0c61cfb2b6521af1cc944422c6518f6099ad287abcdde449955021a6f800d05c98ccf57f9308be5f5022ab34ca0010960b4c1b8e66cb8b333f329fc7dfac168aec14ab54a552ad03c62bb47a02f0a1974605c24e32bed02419335a79d620db227370fc5a32e97463064d3f29c8887f663970d7512b1e516163253b39a8466685eb17ad0a819bddc56919c0d88980d1287220ede503a0f8988b8c1c39facbd61a127060f9207ed421786669b23209e19207ea71d168dff69bc37a8486dc2c5541e4873d9784efdecc59404fcf3f6050cd5657418d997804c81bca3bebfc0dee887dac210c2142f2fc67d1e8724d63df69547f490b4d12ce47af2741c4dcf4c58de8d4e795ae4c7d9403b4c1b504e5913ea71ec44bf9b8ba3892862a51a5c8980340311908d32cba6ecdf70b8fe7a9ecaa799772fec406449881e6367d8aaecb3778874172afa89962902d610f482686f9b123bd59b0b225dd2605efdf4c3cd1d49f9a55edf61615daeef7993750ea3080f7f88c740b4444fecfd1c9282b98a88b1575104f3bba976b282536193aac424bbd48299fdf6f8a14630ebf1b9b77b47e0d03883a16cc0ae0483220f8c2dfec06f23359422eebcd515e0dd37a7ccd7f76b8b4db5bfdf250bf5ca87f4fe6b48e4e0ffca7360c40e6cc4d262d2064889fe68f8122842c01165c501ee4006cd34536d586f483b393b7268f8dfe0b3af2bf1e8506f4ca737914b8bd75b081a251207f20f4753e92a9c272d406180cbc06f6984e73823c0ea2ba0159dc4657a1e8af3f85b94bac955e7e9ed685f84961ace0db7d39e08a8bfdcc9b1baa1d8f279dee066cfaa26bb294fa5f1a5e41653de2746ffbee1c7687df39b42e8d1777ed68ad1078e0d6e77ee859ae0e4e2508b4a169a559c1623716da0e16b680a63e5cf71da62f25a74767be64bf4110efe57a77e03cc755295f06d4bafd382cacb3e465dd96c9741f631b3762afa2e94ad5b48ee7e5b9d4b0727b5f16a9951cfe030b5e71420f86c1dc44e011661ae091db55035b2168cf432497978410890d9775b6e36ec17b57c474f39c13d8f03a76bae5aba5f872af06dac490173f542cc685bc315255c35af68b76c8d14725316c7358f99c9e80dbd9ba11fd401554cf276f728621a7fc316ad859c4360c19b5afb3add35fbb8f52547417d8fd2f0d3adf333ea14d0d755f1f9a67a17ad9319969adf4d7bfe9674f86bac6da0d423eb93ea2de8d28442269e987f8f6c67ef5557914ea65a600644d9dd5473de2049ddc59f4d50c39792da400671dd37fba63b63bd2e26f1fddfb5d1d03c9426e99960efe7ac9861ea6183aac2d318c23f1d4f6fc819cfcbd03da241d3b06523dfecabbbb9d254ea97e2b9eca00ae1dd33b096fb4ecf75c5512d82413322d09c33d862a57d988f650fb1224cf5f4209d14e8576117bc6cf2288046047adeb080247553ccf0e339fc3543ada9d83742b68b337890a4740087d76cd1fd7ef89b86fcc69e2495c47752279167dad9c05cde8c01aeb90c39529fa083ff8ed4f489fc741df9e93afc2affe4c6ffab2512fa56cbe9ec7afb67c6fae9e8635b2c4a0fb61409589ab620dc5297d7c1c2db169d9db48850f992839774c1cea4e80813618a246cd64c13f143238fdfe33390fae662b726ee460cd7296cc9c461336226142eea31ccff0cef42101330e3150d4192304b7061893f01d76697fac31cf858be11a63e4a3492f84b78f0e8930950d27140c33a24793ac49e8fddd7b5b01462468cbec56b7d46dd24b48a1b8375b0dc4000cc1ee7ac55c7d920839f48b0a11590f0a3b5989abbdf376e580433c0ddff31e436415a5719ae9598986eae2d0f5ce972c213c4b14aa3404f6308bfbd6f3e106d26b5f3248a5fd214607e96110224114d9a6f4a373548d6e3da83d542110b57b119b68070422e2add35cdb28525d6ca8965729c4f87116d52631d0d5622b843823734739326dc20b627f9263fb5c6489cd65b77fa103c36ba92e11e8d5af9b626fa14c40fbdc31a22ce90dbc438fdb90cc7b2d620bdb9c0f4dd35f0e4e4ef88eccdcb1e8546f5175c2a2aca52e5dce246e619d84b6aa710e1c9eb2ea47b97a6fb8916e9abb7ff6b80d2542cf997c7e69b28f27755e6b75581bb934cc573cf3d12df6d2b71e86df7897b0dd0eab1d08ed3fd2ded4805b92606c16103b457fa6cfe2ed12adf538b71fc712a5de1765058d16603ea1f0ee261d415105a625f029bb37550e5caff2e8bdaf1ad608188264dd31d23ee57bc3adb2da9b2685b43e6110a15e32752463104a3200da464f7569e69e8bfdb0491320139a297b31fe3f1225e1a9ac72e82c4f9d043aa4492dc9fa05e2ebf6605e3f224bb521d6a0a022740bfeb6b3df6c75e531d7dc483162a186e80c2f305ed54841b94358097985a50b204170a59402aafc3e8cad2c6ba661514bcad14415f46bba4069d25317016410d59fcac501ca9a9731896ad3147b9eb572892e1bfb6541bb845be7aafefe49a907f6b9c10aad57f5500f2e74ac3ad0c4a4c1b9b9b57a52465a23be65ee40aa420fb6ab0b86084b78f336774cc0eb472ebbf0202e709d3e7dace579e3870af26728230c11bdcfda521d4cfd82f8adb904eba8e8474ca72e8125fad1c94d499bf77764dbed4a744d7222a30baaa8c77ed4e3b77ce0a7661df40753eb94114ac566ee9b75ed873d41dd25b99cafaa58ae3cddaa1d1a0af2e663bd00b44e2503c64a5c183fd6f7c1ba809edb6dd4b615b7a4f5537373156563606827ae0f2319505ddc91d3064c9815601731ef512d34f4a4fd0cf2549835701448d614dfa13c2c0fe636c68ad0e54c0ab584b33c13064d781a35751f42b18a2fa90dc8635e4b0c9bacbbc4ff14f61f1087cedd3c7e46e979645536980366c70ada9e58d9e89dab33d7b1ed0ed4c00d55cd631cdc960e15a147c827efacd3a9e44dccf18320963e72de0604a2eaec5773d20bd7a0d5bf46c3ee1d4886404903bcdd5671fbb4fc7a2393ed0e837d685e8b4b3fc03113f376052af75dae27cf469f0e1f2e67660a19bdb6bc26b7e6bc87ae732f2b8458c8b4d94d75f0e19d04a07da11caddbece2ee75df26696f5a585337f257dda38bf13d2f343c84b2ecc36aa6c0a9eb44b4de495f5e68966e8feb3955ee6178c5af9bacbb7b1cd5bf066af9613b2c22e1cb9d7aff25537fa2e63f5daf2068e2d8b42b78630f6a0c9bbc0697101cc4d702f6ff2989103d52b8bdbe6f8e831833424ea13871e3a4d7e426764729b8e4043b4afba99f87214bd7455bc72a3678c061e024d5794b7199ae52569dcca4cf91d13198ab829ba4332466975f9c63eb5e542db5d76eba820ffc684679c7e778374a8bf35aff8cbf8b485b7b6466bb35d1479c3877d7eec4c21d73c1f910fe857713350d734b7c5562aaa0c2537eaee1f0b5c41f19f0681437f7e09fdcd608bd6937a7edc4b03329590c6b0f18b4e1cf815d33e3f409ee9535064f800b5941a40b039c3024e3581ccb0e3b866f1645ec4f165515ec15edac6c5dec827e2387c2d17b5b0a589cf4eeab58d67f64d0d033166abd1655ad63e4e0464d2929fb9f078fe93bd988b4d6ab225d11f0f7245098e1613d8c13cc0ca6ef8edea9d556dafca642269d5d65114c698f821a165cee9c8e6ed28fc41f920505555b7555d68169a329a8d7d6b6bb57dd5c0a020862386543b18dc0b6614cec5e6eb88ea24f4fa2bd335a3d969da7329ef0e20e174f4ac517163692b8f46108b88c8be8476f5cb22fce92650baa33999aad16458488125544353052dcfe978a162b8a7d0bce84d050396a31581513d1ad082c154d738c331a9ecbb03970ee7040e17d1d9763e2a2c7dacfeb870310ec8d13eb03aff374f109f0b1d3ca1bda106033b9442ce303a74cc064210eae25bb68c750cce9c0fed4a3043ade59918023c7ddeb10f778425e1a45f288fe3a6b9c4e905e1a99da00b7a15aa50cafd10231f493928ba016c6c355b93d55f37eddfe6429f641bbfdaaeb53e9659d5e718958f5987fb62aac0d5b05f47a1fe357765ae89c016df8667876804664c4b3c0ccebcf68c358d585c9013dac66f71236261d3cefa7e334cc75b133c70bf1b90b6ea39b1173118cc5bfcdbfaedd4b6b82cd1ebef46c8645fc9b4732919c12a054e26020bd731629240036f0151ceadd8a5c293e793f538db9dad6d89039e0c8ba6633007f066e52e88460100613cb3bc5ecbdd528081d176fdb081ee569d8dc2fd56a44384be4d801c223d2c63da39877d5cd3c866755abdbd04ead601381f5cbbb2885867a5484db8c0552f9d1a0d3374376e769699b35fe498a6c37301f6bddf98aeaaf3b66d6ee46b79355fc29dd62c63ca748ab87eb933644b52229dbf1e8ace96103c1f9b695efccc7f8dfda9c81b894a68eb3ba776eff4f03efe5a11105d3d0a757fe9e69d08269961e3e82f3acaba1232a372a74308e0f3762c16846ad8f6baac9c58c381ebe9a3e7df7c6164568ce582976258dab009d1c991c7b69314d93a4ba986cb0810f6d2b10fe0679090fe71e64b916aa62a2a8e56fe7e288c63e5293aa4bafa0e23c5146993d1e0ff9ddf7700d79b117ad2dbb01c27978ca29ad9ccb6bdd81cd0032c9cbc06a9572b83da34728e48b8181646155da0d04ee955240f92131a9d9b3d7c169f13782192bae9111d962ac0d0d40010942b9982d99a545584345e605c7cdcf0ab6ceebccf5b3e0b77380ccb64265566be7ecfb73297504273cba09b3c2e1f12a66bdb3da3bf546e61cdda3b0fd809a71fe04a5c3e58c9e515ceb1bc3ee1fd9eaedaa47f82dbd3bf8eaa8c4c987c23248dee056eb6c271ed837b34371a45e7ec37685af1318c1c699dff309adebb28b4ddb046f47d31d884b6d0971de2cbb40b6d989d99a3ffdb7e2e9a10003435f47e711bab38a9c0a6e2a152ad102dfcf65932ff9679431db7f2fd7379e712c43c88aefabd4f7624fd2bf3c69c4e6e0eda3e87aad7ae63da0053dae5186cbf9add23035502ce96149a5f43cd17189af55a3a01e844bb688babd3f07a9d9ecfd5168ff46ba29621eac4487e049ac92d97c97ad669917c83ec5b2abe2f8bcdcc74c8577668638126f37d55098e79b761891e4c108e1f56a2a6e9e8808d4e05f0f2795c0566b78cff028c0524abadad54fae25a0d43ff76fe610d1d307a502dfdca2982791e9ac730332816155362873d77794980f1f141b16a6846f57223471b3651ffc0c34116112b2f80e767347302b510c7537220e14e3c35bf8d1de1e6a52a65c842b577112c30281dea7e3933bba01668e77693ea3dc3c6f42dfc2983f699b9045498442f62f559b6f7909c8c2f82de45947eaf41acb073810b76b670b145b2795887f8727a368d335ee32cbe7c0403a74d2691799b847f676c75f66c6f958a186fe0b1bf884d556ba0c81ed7f0d3bfd53568860a1bf2ca47a3bb0329fbac4e30c80f1680582bcf60f8b30aacff77bf9e48bb6854a2b04e2dc3357f78e4bae2dd9f29510adbaccfde3bad129b6a77ce1d426c52f2a343b74b6c852623e39347e5999703b48b85cdf0913c2cf1a35ca5cf3340d87fadcbbab204170b9a817af6284f67f4503d55963adf2c521828aa4732576e2b5107fc89dd9212e4bd8efee354d5280d6ae0605c361f9634a6d0542ab394dd317688ce46e7bf0c5284abeaad29db53cb7a6003241c176e4817dcaa1067be0c175f3f34f9e4b7f758284e981d80b594b02490024a07d6cbec0de50de21cb3fac330895b1e11bff4e6d83e154d42eb3f3c7f5117a19d362e6b38079ded4e7ad54ffb094f15b1d0bd37a6eaa8c4c72d8252a34f14a6ae5b375a2a3fbd3e88b7074bf6228c1932dc093e8171b678e74e1dcf30bcb30f87c73341e811aed06d450fc487cc3ce7dff096dfe6cd24aeb9535abd6fab9286ac57008331c572738a929fcbd1df33a2f7dfdd4611b0dcc37e43837f9c80962b73dac674a31a47f63a42e2023aad6292be28e76f6c629cca5c51e7c7c8f7aa8bbb6eea1e1fd3a5f637125c46f752f6cb53025e72fe15e00acdcf26438dd7d0ca39cc9630658c83c439c88003717990eec4e3d2828cee8093efb5bb44b1624be78f8cd0bb2267fe5fa71203a8a57736d30505fba1cd61ec4bb234c42f55ae1bc4b54e846d4aabd57fcac0e9352b7977918c56729083822fd3dc7e08d5a45877be863ba60423b8376f8ae3c6355e47fe22faaf86debe7187d3de7f51343434a9f9543b08383fabb05db66f8603a5545529ef8d89cb2dcaf8062482d3974635b19d84489f30a95fea7b0d4a27e07300c591f487cbdd6907b53aab80497fb820b3cd4eeb67e2e2fe6d8f03a34ebc6bf4bebdb8679d86424225f6a130a497a3f4ecd61c3daca21cf2ef896db998d40b47cf3b9201fd238c04a41cd62e8b5ea8d0ad7e9d4e235e0525900a6d2db30eb6b6a65c5012e29d262becef4e7c32d1b7ea0abb8c6b77728027a04a733289ce347c50309f5c8ec4153f25c1159f3cabbecb2bbd560464f0ff927e606b3546f2ebe345228ffabc674e73b93b06c35940c4c8dead2c9d7b828483891b8c7ee428e4a6e7026074cffb699af074b16d7ac608b53a4b60f76531d777ec415b660ce7287c7588e8c80a76ef386b9a74300432a6dd60cbe15de5b255467cf1df94b04f2fa67609cbfd6c4ba2d19b02a017d7e4aa30cc8f47c38ab3b52c449139625b08c74f11527bf7328efd24e6cca32df8b1c59bd1cd6d99dfb09102f0461d503e7bfc73a54410ec565a14b05896da83906ebc5335292b304a749f5a0fd6577be488f29779b8bcdd404a3d00065dc7ce2456446985ab911f4770bfd8930d8266b0cb4f988e3f03d723066275ac47a478294bc81f4a6fa9e38697f0678b7adf1557351bd849a9e760728c8caea535a15b9085089f477d31534445bd12992011f9887249ed6445766ec87bac0a8226904c4dbfe9cc890f3825d7f4aae084d8313d127024f1452bedcfce6afb09476605043dd9cc653c398007f2f92836016e8ca1169ec381d23bc62a4e5876c26158b042ce1b49e5a7564944c10570c873c41f6be8b51aa2b012d933c146693dcc3b9900b34df405944690a385f8fb87b3945beca783f5a6263c737abbebae97ad91e024b0d240f707aab398181caa43be170e205fc2d9f4c8a6ba7b5621810713b6d47667e290cb1e4f4dab3d13aff84b2ba38a854f6d0f001a2fb1fdba4f451f234f86fac2920340d7acb9474b443a765b34c06e7e3463372fc528d7ff87ef87b05dc5cff6262c4a500d3d3f0e3d2cb04b479b64e1b99e97e38328274db64c76aace7ba678051570516aaeb82603ae59fd99e7d46d010bde64e46701750a70039adc74484807a1691379eb31d1082ec94c83151304512e5248bceaa39831cba87042aabdaca8871b65d15508f1d2e73bc92878922cbd6e69165761ac46fe8ed49dc798a0f4595080bf760e79a3f679d8a4771c29481bb5add67a4579f5e9fdaa66567f1117ecabe3fe857cc710c1034ae9c6ceb9fe75f22630344f433b6968141166176e56a5f6b6af181163ae908a19c08a2b14b31c11203e6adf9e9ac949a6ef7225b68565947b2b5bb517fa48c0617b281c262b0d41b5c1b6d4ecf9ea59bc31a454e5a5941a60603c93e921f0d53ec0886cf481e73776b8e8d704f40f4cb2477219c07674d7e5a9581ec00a99d148d7e05df918580566c02b9bc327b2c4f514f322da8dbea84f1a9a5e480cacd57ed3b0ec40f1496b4c95dfac4dcb2e8df6893f186a839b28c5ad72d3f53c7357f4991d5401a1d2dab3f816ebec49fb07030724c164f1c16b881b607ceefc19e9d5d8e289318570debc90b5da30448b4ea0d35b64007502d8cab18b47ae4c8f939ad493e4df7c1edbd94ab80c89c221ea2bf221d3efd7d83781d790fcd4a4443fe9d1577371ed1e0d44c1621b87d96ab7568f34b1f5b9c0032c96d4e436419c0532f392d2615e94a9880cc67850bbe5c503f20ca2f44be859992f4986ee81ad7fd3ed1ef2a5f6d601a1b1e55f45807ea7333f9c6d43eece42ad832713543df1e4bccd0f736fe1cd0de6b5788a8a7c688a2b274b4fb908381a8502c609b3ed9bf8f6697dbf696fbfdbf6f9114cc932c9b70a434b0b70dff2213cc3d100d07f484c1c7ffeae40d151b527c78597bbc40527bd8108aff7a02277c26528ec4435831c6dba4eddc9668478cc0cceab8d8a7f5be63cc24287c8cc2010314dbf725bd8ad3013af4ca907f12bc6f1b4b05387fde492bd16ae2d7db41a71fbc9d9857a9de2ab978cba7cd4fcd0055d2bdeeb56a447c291af21c6695ed5bb06a9e20b8d4227997024d04d17c1fc345faf2a9c8e7a35f7eed5dea023f131213c081b0045f3dbcf52195979098700c936e62175730f86679c19af2ffff711d2826e30823140a3b2ed9a324c00f92b7bb2d9992fccf2eb3fa91aa26985e95b0151ddc79bab9d7d7fc279e582c820c022d2aedbed9367501b232851ee7dc4a84940256a2a5a7af86925cbce1ee5a1785c116aa1b4628df7b76d31354a936e5a1b02ca6d3ea1459984485e8008612895551282241894974075774cb64914bf208786604be00f49ed040d67ebad6395a73b39ad7569e6278624b88f335aa63993aefde4c62299e1e50dff2401c876e263c443cf91096cb7114eb11b63c732ffb9e5af82c84532d01a9516058c4ad91ea90fa2af40e55e5e2db7390df4ccd6917ee8db2e356dfcdb5a244077cf824b1da71ddb25562384478e0a4abfdf4d066a7e13f0265b5c17c516b7473c704e8372035c9ee4bf4f2ebbe32010b7ff4b0d3912d26029ba35a2383bc3936c5862a7815aef237cef46ba51d5d682bf1c78bb53c68cbf272c06c0ed59ca37e179a4464feffdcf073b67fa22848b30291d1d4bc343f9aa8956f5b566c3ccc5d45465f04a73f921c721dcc65423a112c44601ca08a25ec9dac5b82b2857c5d7148a4720f1ad9d40765edf3662d675c3d0dd666060d04571105ca7c9457439894589504932068a7cd4016a50b75cd20f7a08f47f60712a2603d851716f61b341a54ff6f61c753edd5a87b63d5addd19b2ae4236b892944626d51de092ee590a9377d753fa9f7e5bebb71c5ccbfad8523f1c64d9b9785ed095eb16503105449571b2f1918ecd4f3fabd034ea40840dbcdd568ac63614794865e876f031a55b75558a0d774e4c5227a80af8e4863f157e4bed75cc5e019771597fe0d0a2b8808cdc93468dcdba402a36296b8acafc334a2a3585dec92094d7e3a740a0dc8419953667dabcdb8c771e8ba9a8b20348c0672785695e90f008beb094782f41a80c0f82929a5d1b085d4d4f196b2b2ce85f4a3061490e10e4aea827a6316d92edb50a56ff4fa60476e3a91a81f21aecaf0cb80009b855a30d5474241272ef448f7676b5d85af3dd63d3194b8a6718aefdcdc252efbee54946ce7386f16fab21163610d2566a3bc0eb5d20d3deca0cd0f48c99067af96d46235a24f55229367e5683b0fa40986ba7a7b650598f1a52af3a0c16f2aeaa007298c3c4313455db09d0d7694d7ec88480d9c87d2cee9ff0f1defc12114ca2b9e978209e0e967939505908d6cdbaaaa7ac3664bc9093e06b65ea9a8bbbf1c3cf56b7846d9dd3698eb2c8c0a96863afda3c9aa98890c628d91673b942598c434a9091479befa8b8151a230c938fe3bc55a97cb246844a8ff8872a5bad983a6d6a2b1fb7c78836908d49e2a97cf5e87eed836b98caf6ba4154690dc18fc83002d60bafdd045ea3cc4bc76a2b3b19125e250ee9891b0924fce575120ab8e43ac2c5bf651cbd18643a866cd0b90bd8993ac32dce4f99456b2ffc370712d7fdf9236b037b6bc9039fb85ac203ed6d58037091a1d958f9d8fc5226ce7e0698e15c32aa7075e370b2ba4b000647a128987a33f311aab0eee5b8e63cb6493383aef4265b0b6890e16bc661a2fd1a62279d28124ce52b5cf211a1b592a7c7cf7c21331f6e7fa51b80be442c76661809bed3b6008bb8f259f23e13971769e230816e4364f784fecccc4eb924d662a9884ff81c3bd9f23e4c9a101c968a510222d67e3958df0b45043c35593c94b4b611bc1f8d8685e7060f5e93de025833fa4546c232632751212bf13edd5d79e756e6cf74643e64514ec216b86849498ca3327f9f11e5fca5c56d1154e12716379e55c92908ee57f697b386d7e1ceb685857a63dba30d2dc574db039043f88db57c5182465a5a8cfa80530b67b6d6b5f89952850a957e5e99993395de7494c97bb642dea8cf5d22fc2309ffadbadd1db3d2702cb1331d42e8065a87207ab1ed51adf46d959652f40fd6568f552d4b385254f5664bdf5c1379c2ee9c5931602bf86e9257c985d0234f0fb881eddef201234df8ed6164d9d9dff8cb09021c007c204ec88e97b140d3e9e0b0941b988efccb9d8889ec8fde7bee5a7df09af9e8bae458c21367eb448b4cc2c6bbf6db08ff241131ecbee046e688cc3f9ede26dd1f3a15dea73e3fa0617e2c9dee2619556ff1f3e1412b925be94bab6685ad67e1d502898ce6b1629e599ad2909456236c134e4acf3901063b37bc4b3f64ad2737f7381c22072c43b813055571fd5671ab49e8c31a4582cde79695bbb39c2e022903cc8e0310b1a115e0e49cd55ae7097da48e149f9aaef6821ed33b4709b1f153bc518930e591dda182ad97ae9e6ddbb493949d69b9e228171358d48423c8b7c462aeb6b38ca22c3c1c1ae0aa7690b4d926d5b411dc4aaba581001f10d61df20a5d173f48d58da7dfebad8d81b4bbd0482cd826fffc60ffa933ca88fbb0b0b51e67303a987ff15c26dc5534bab1e291c18fd18c56f43d1e90c926994cf24cb0069a710d38ca92e8e91c48754454c3d7e68e1e9f30960a1515eabcf82c048fa71bd1c0a446bac14a97ee3898f638e6b8ba19eff0113a8684da345bd4b576453e8f799e65d8529326d991c079e135b3793bcbb0bc72047829ffd8ec063f445b0190c984ae71666ebfb8005876eece77e1d7c13dbf993645459332ad1cdd9ff3131ef7ec8e00bed195a8e78f9faedf17ca7faa4ae5e0ff9af8bbefe8dbc92502e3ee20fa8080d099753096562723594d6bea3dc36780e2781b295402cda1f4d3abc4785de7d0b607d65b21f3e55ea9dea43d5a3cb7de1455d91293de709ad8e7734a5221dee4dc070122b65539d3fb64700fae3eb941d2c5b2572de9c970015e5dcdbfa5ab0ba55bc233ddd0a8eb2da4797993fe40a870ff6aeace97f38c131da63982a2442c7c8155e83e70d38b3a4181581fdf3e6eebb346f0fd3b46ff580f059a36af9421532715b513474bf02379c96d881e32c16610d055a6744bdede9eef84b4718de6de7e7ad8e920996849c56645a4ff742541745cbd648625600e1afb40f29f89fb9d68091f8f64bbc055a9271ae8004b89b623ed14a2fd34ddb1fc2477b10fce8a68d0b1ed14576404dbfefc22f166eae98e88becc59f63a89e3567fab72a9f64e55f288fea8eece430a3dd829214f0b7bd49ca88cfa0efeff2a4a3c282904266682864ba4a1226f45c3bfc19cd5fefb4d1621408a088c3f9154be5fe7b1141575d8e7801d7f8716558577281ee4df156f9c3f4c6206cc6f53df6999dfc045d238b92640c8b916abe307ed28cc61e941a447631c1e21ea0d15bed1904dafb76467cff325f47d8d250c9ce26f5c5081ae537aac5c421e02962a198bf490818dfc938aefd24bda0728cecb35cbd46f9d99e11945e7e7289bb9a70aa845672a732880c8f3f825a2842399e7bb2ebaabaf24095c9fee6837540ed4d89b6eb9954fad998e43235e252e60a4aebfa673196c93e84814e71e5d65d8c8857dfa23c5a73b3e15661ce24e400b5cc691180ea89735dc05927b4191a7aeca5d304ecb9fd2da7e9343e9b8e92ee5b318b5d23db735b9ce81692fe410f370869cb4fc5b617e9a7d7061d95d7d70e7e4a8f81cfe2d41d4347b0304ddb990e52f8b1fa6da4a0c3ad77ab3e2e8dc4bdedc0433986dc9fe7e5f1287995074a456da84837567cff3737ed5ff32a683e6604e3aa641a150473bf9ce7927de64a8e498e9f18352098a7306511add4191b6c1aa4fb9f82de3d6611f740085d440b952a223207835875e525af0516c3091dcc52e40c9859abed65a0d66a1b9bfdcee6308ef02263b849508ae6cac03727629f5204f65a087448dcb1686e9b8b8a269752eea19bba1834389f65e8201c61e55ed61fae6c94491f238d70500a243fda61497d6343ec93e7ec1d9064a8f36f0be1e8b50fa407f8f155ebc0eed63eda23356e5021ef9ab56d4747b567ad6b52e2e1a56676b6d8b86475f8fa07af25fee73a2e0d75f84c42918fc55434509b4143d0e4ca25c3e6792da7f3f85e86758485c2ab2c46fb428a6ff3605403388cd2ddaf89eb1f9c91fa75d73f7e164e4399cbf8e0637506fd7aeaf647b1f1fdd4a4d90c7dbabd37343b789976b352ba9e920c5d812d5b6361d92300c01b5275eae8b0c72e44defe3d57de83bfeec20a311354576ef0afd77ec81b33ce3379230746a9843e6c0c53104bf31d7b6bebfdbfc8fa700fde7e813033cd6575a84bda650883a7ee6f24f4a81090a5f707c55dc3c3c42c53ffa429acb1c7f85c0b676433658960d135b8fd5e8046364926a6bbd41c83a370f58b99fcc919f2085489453cadb30cc8561add3babc96651d9c1597a692d92cbf00e76fa9590b00e5bef722af23f4b10ab18509731c38d6c288d5effc277090e633547e17f93e4dbce4f73dae0c8181dfc54f7c72575c4fe04981566a2ecb041f986267fadf18ab148664679a7884bbca4593e7c490e16d78d988dabbdcd639d9582b91289fb09f911e62301b2481943e1225727c6bf230625ac60daf4e946b7ab7188f97bc9306906c4e3d45633f846587e00a3007de435edfefe64a40e7508a60ad53ae8047fc6e28983d42126cafde9c8f059eefe9dd02551a9b421ce5d8b1703ff45c827af3475384a72ff55329ea1c4f953f62e3ab3d53efb25b173ddf1f8983f76f0512d8976a6a1a785b878379d42415b4b759ded42b63cec7452c0a0c7684a65411d1e0b266dc03b809140c6263bd27d1c10c235dff924cc1e9ef2e501efccb57b7c8af0f433e2abc6a3d4898d89c1e682920a907fd89adf2d3e135cb38fbc05b05a4ba9abce02a6a3eedf98971570bced650aa7dcfb9082bba6f58c68482b1e9a6b7b6f7a6337d9c7d134ebab78969fb27ee195c513bc7b2755ad3e8c372de80ee707b769a67b57e04b2a80d58ad67b798672d00c308ceecd4eab1c5476198a1638111e4f4163dcae60a2154efbd9264481ba8bef5d7ceae41e0628906edfa1ea89678ffebe4571ade53e3a65afb447df201377d3c9fcad701602f45a33c5a9fe0ad392268e96631e675d605ce0f600b41134614cf51213f855bcf84adae181607edb56d042bbd5ea89a8b324b0568eef4aabca49b9c9df17fd7e17e3ec535390876cc60034ff5106ada324c053e2b23ca5730105e3a1baa2fb06c9b944179970e58175e67038ba20131798bf9a370a61b463ab0d3d025303d807170051f6a8cd401e9150b1fe638c6ef03db65c3812c501276526cb5bee355a6bb68c140afbf6ad5d9ddd64ba8aea6d5dc023632158092f84c637178530b010f4833ea71d0246cc077a9500c3606bd52e80c299969273bd9964cab6cb4ea2e29889733a903bf8fca7464a8fe87768ba17e384c127f2245992591bffdbf2d3d3c46085e016c8fee87089a7b83e44d02b058c43a892d0f15748e1bd9e729d71b82904dadccd9140a3e0e44aa035fab51a39a442386ee8d83179eb734c60b51efd2b83d978986e420a636e2f9d44ab8c505b771d4efad13e3f928d14c15e0ed8fdf7d3ca49ace154feb94118ee9b016a869539e7070ab2a639659cda72fb8b4a4519660512cda3515196b749c0599ac6403333537c9a4afae95abad5bd50a8e38387f986c2602940833ee97aa2fa0813527c418df95b021a1a65a4da00904d58e0bc35b8fbad14e000469faeea70cff4661e5f6838b0930c3381a174de172f66c7d8cf6b70432f89d108eed18860131160230f9a6eac91fee5646c5bcdce2328dd69d510620cd98b9aaf9090d2abed621b0ae3255bdb25a3d8cc9195c3fddc9fd1d2acd9f2f28f36f14d8ac14839ff1348968589797db2d399f0720a77a63889afa28f5f5e701067eb15f83ba9bbda660d378c8fdaa6e670d0a8441b132fbfbe000fdd8b926677b15df0720ddfcf5c0cc122641205f89789865e785ede1120070e464182ca9e6a36637287bf9bc13aec2c3b610e754b5ecdcd1ece4d8b98625696ef553046a77f70e0217372836304ff876f61186dc402a364a0de987719a2c40b56adc8e0e2b4f415b5d84d064567a7e8f4ae20c8157ad1ac3b98cb159d9811cb5c2860f53321dbe78a6b11325cfd4779783eac0c3cbcbdff8d82a0ca2c5ed8bfba86d89518a25f393f081ee83b0d583c6cabb36adb9f00518a5e6bc983f22443fb1c459a45379d25f8b91589893fb07373d5969563e3e5193609248291dcd6d56e90c48c1e3f40e1bb5ace1c195609ea8d015f7642dcf5b5965c5b75e17b5a29c1a9a6f1b561c2b97f99699adde827303b78c70817ea47cbe933c3e1cda9a3f5473afa7e40ecde700e1614b3edee6adeeeed0757332ccd89f7625a93b4ed82e184dda6e84021e5edade945fd67879500390866debbc27d7092d177b5506fd7a1739c1eff0933f0808dfaad021565ed874a993ffbc5ff984de8676121ce43386afb008d8b3f598229ae1f15f35164f71daafc4a6ab28bef62291b8c9d65e67c307e48936ecd3cffa1a2ece67fa261526d266a90d162e1b7cdbb89ba14ac937f9376dfdd2a523c3ac60f30f6d95101e9bf47f30ca20824e9ddec5de15a196add04bd19403ca2b2b689bf159b4d877ba75b5d9a3ea1e62d1e0a3e87fd9508fe10c98399755f0d8e5970fafd3efe1c7b84904244be8028ff3bb548e2779871d1ee4fa7df4b6a3fc1958b76c6cc201e20d79285cd28bf082e7dd18acd7fcdea77616140eea6db16f1b9864487c4dafbcb4a6bbe59eb4dee889bdd9693afe0e6a4f218e98673513f28b62a5d49128e18c54b5005b1a4b5a08e00d36b0ac43ee926f755d05946ac133339702a5602f24bb75eddbe57663742190f47540c5e5aa0dde43b1be6076452533d5f7643c6647888dd3261d9c3b50bc97ee21a57fb119eeae58e4adc37aca53f69ce19b91cd9d3f335e15973421053a57de7b3455590eca59a0538b207072bb2e56b1720acc29bdf932703c4220cd8c6b1d02ae06b8bf7cc7bd3867a1689d78c2e2452b68c1b94dab0660665fda0e54822870edf5492d1d1f52f67d3a45cff1f41a65f4c21f70b874b2ffa46ea2587c5d062c9be0605ed5ec26d306b6e9af11f6b7e4c0ffbfbf43c63b207c5152334c89bbbd4cb487187064de10cb75a831a225f3c37b3ee72f63b3061515afe6762b475589ff84fbcc7eb07f714ce4237f468a50e481e2eb22e1b32fcec10a1cc634c7dffcf979dc4feeb140e5cefb402d0c09458c6eb5385ac733a8258bb4699d2d57679a2e425d78cc3070da58861553135980fa62cc3a35fc6c4613ea82bcea56bf0c8c2660cdfa98486344972fd2a54fb03cb297976024f2101814d1868164d43f082fca560378ba4ce1be44877a269d9b82c315026c8dffc3bb24cabe6c72facd30975a83acbb11961dbe105ca4fcf0bf34e696f67b6993de108f88ff5d73e2a7104baf8292278f7f1880965f79a5ceb2b318382639303fbc1894eb9353270d3f4f5842327eca6214cc264607e1b6072d5834463f1eeb81561f0becff3a449c208f7075b996805033be1381d40b2bdb4ab882dab2d44736267d8f65d3a7263190b8cda278793c42af49336b6e33533b85463133f3c538bb2b90cf28e0409536dccdace98f550046ebeb828a7d257fec0aaba3c26f8e0284431b3a547ada1c7a7fc0302129626fa612a097775e95c619e50c2e4756ca7f661391961463c3d07d6e443d1a7a94ae713f81bf68e5af05233474c93ea3fbd90bfaba4f14b4bf25d69283492bb584adc491dc3bf6730014e60c7dc83b5cb55ac0e47f0886e7f5b97b4e85b5b84228a7bd1e07874be277074987dcb2c6f1cbca26f0413a059a5c6988ebf840ee1382cc0ef4b9757d422631c592eac917913b92d9285d6231e09040830e0af13c0d1c132f058f2e49da6c428e1c53a8dc095e4fbbc9c3a3eb08cba41337ea8594e2e8237c794868ee8da90a4253a482d54c969ddf3164cf9523515118121eae2b1575bb06586491bcad6fcad5d370c80ca6477382c0b54f28d441b4385a605a6a1e70462990c33e53615007836c7a3b4228a58fe98e88c79255f96df7a29c951a1b5c203b85249169182a3784b57994f592f1a3835d5fdb52a84c6873654aad0345f2742f98ec2191200e97f577a2672dc886c54038631bce4a1b3bbbd98c1d59cdef47422995e878f3626d7e65ed928fd4edb2135f01486a2951a1741aaa894759ca76798ec49358cf1e8a49d99aa06607aaf3b7994cf2f9429d60620c24a6771ff69ee92daa45b7386cef5176f057f8dd6b4bdf5f41c848d34dbdff4d5591a8a1bbfac649325f2c9c985c7aa8f1a4e57e7ada701a1f536426e3041295080a5c7806d50dd52882e15d1604f04014984fd8fb7c24b498671c21613e08cbdf27271600c3d4524499572a5b4e288c2606995544145ef16a5b2d2bac489ffdf2f8a87a094b7f28c99cf3f03ee4423de14301bbcba805a029b6c9db37d2b13e3774d0ca759afd83f7e7010a7c9c66090d7ba54327dfeefc79f5eb3d8f71f2a51350234728f8912f3b87680835d64f34f3f66b2f384c715d6d537d26fd42f69a5641da54cf63ac4e19bb80ce53c084909f521ed2a639b62ca7a58812af7083d70e27025dcaa8a4bfaa52cd2d8ea634049df706f90c05ac97178d30fedb22d9f6c4de64ce0fa30f5d342613b6d88540b6c9ccf8d729d2354279209bd5b327b925d10ea093429a76ec6703c41ba924aca22fd4d140732e8d8ecc91c09cac6f2622a4b3d91a6c532903c298eadf09dabd1a80cd54b53f50901809ed95364587a0f7d80597d7d80fdd3c11673afb11dac4f40a9107782c0dceb61dc8a54ab7165d00e28de90796a836238d89228ee6b97fd5d62be1dca3ccd5dfe3af48b62f54c9e65e439263de3375fadb3e12f5c63edbe6074d63fdfcf587c4a265a9b549df97a7dfc4c7e818c2f0c33ad36eff53da3bfc7ae5f02d8ccbc9ca957d85c1f1c4bf2cce93dd136980c579afeb07031e56a5e123ce37c6ab00084d2477aecd5dd8deb9f17057fe34524754bff7edfdbde2e89d300b9e6eda0de725701b3163e0c0eeb11af9b37414cbb678ca059b60fe8683eb85efcc59f43e980efdb0f0aeba1401c3d9d25c240a48522c7a483115223c6eb714f2482f4484c34bb53c997d72a65a6ee1028ad1906c4d9b894c4783bf4976f40296ed2954befe5183972a62a1a426989146edbf4dcd055bacf5a0a3febd9808b81ff22ed43b3c58b138dd97d0fe3dd4d76d08dca11f17fb00cac659ad082784f6f3a697b17969a349ec0ef95e6c84eec519c7692247a36c14d44302238798bc55bddb2512c1d51769b3a58b4dd1231113e886d77e861be604ee13bf88718ce85cc98e0243fc729924202592e8dc91a8995cbd6cd1fc43fc77476409f7806eb265c5c8204e7740d8f736e02147b4dfd1e54371be5ceaa160460ee40d0d0450a52d44e1f4b7fad95dd485fc7794919aaeed9358e462229c92ad5caad574e7decb1e41130ca2874a17df76d7546da064be03fa1c08eb64dbea25104cad335175bb496347a154c5b10f09fbc8524f6d2c529de0f35b0b00b2cd3f565f91ca4e6bb7e052606bcc0014063416603000f745d6e92e74f9bf16462870d0d91bb6ce40e4e56a773d790f7a58109cbeeba01c6c0adf3e76933cbcac223aabe763e4d5bba06e69e265263b9f3bf5022581bb82d347652c0dfd47b640c754be744abe3946ae03e93102c8e7cad93f1f7680e08cbccbe919b7ccc7484c5ca86e0d0521b011dd19cfddea17c22f2fadbe39a24d3f597d635e840395494d6cc05a9fc04dc989f261cc674b0a7c738bde9147c5bb09f1501d5d410ce84a96220b25190540c4f6eb08cb69d3c9b4e68375105258db96fb883f7e4a839a0c85857d12168217c5a6529050a65d77ec8b72f4539b3c3f3d238b3f458c4d01d72607d9809b83b0aee48a5b775edd45b59a876cd9ebc6c7d983b25bda285b4cc79e87372414bd577e9b73d771f3fbde79b75d05b170d819740c192eb11d0d39847fa9280afe2d2eb4beae856a684357819936991b389bf35ecbc726349f33eba08c79578cf205da02c560d4459c250eb1d0e5bfe864c4f1801250e3ec349f7954425d6b6d768cb9908db19d10e29336e45d4ed724e22e65e0ab898bac2cd194537a6113335ebd0957d5dfcb4fccae0b6cb1e528c43b48e092311a3b25b7e33e6d35643e0f25579e82e90e8769e6be9170fd8847ef0c255367f79e3afe4f3af9ccdf3aef7d51340ffcdf7858310736754854f09f83c341d9e6bbe92616229309b5a4659f1d9f9424607cba2082c9c75f37f812f8da8ae3ce16923efbaf5f223b094c9f523b94e3d26519583bf82d76ee33276211a7cf80808744b9407a39857ec3b9e87c79c5d85c589f912eb0efaab8ac88bdf9057ed0ec36b35de271575d2348f7e24d346159386d0d24268296ea74afbb4aa7fbcb2a45ebf2abc8775baeed08575ecb9aa6ae648ad1b84f911d3b15195fe1bafab3600fee3ba5cc1887a3ac54d53fc72d6cd6bae0d464eed48dded34d832911126e206c999f0f9c64793740b1d8fb4f8501d2cb5775b6c5808b0583e1c75ee234035c041ef614b50608aba4f75760536aa8e38b3cbd500fec13ac2b6df62057eb620a63579fbd8d9265031466da9d8b2ef768784a7f467c95cb4ba62be6978c0fb01cad108f9bf745e42ee0aa83be5dc5320c90912aaf97c69d338019d2e8fdc2df23eb4bc61717206a350b0fed90d8d47e3368afb14fe9aa81e0a6845ff5b6e44d0cbf184cad99a88457bc061208fd34133e5321c2ce272c0d1615a77e02a78f35865932087c3d767cab456f50ca4449790d48c6f9d57e1ade00f8b467d1348dd24ef491c07be37ecb62a847255490a69c459b550c4e036c160c098610086ceb8ff6cfc448538139dc4ff236abc70006a5ac5e64a463fae48666ea9a74fb41d92db937b300e16415369a4b40d510fbba85860b74bdae71b9a13d0b5ed00d9ae4ab61a52869f04c7c81f08e06bb51a8745e8efde5cdf74167341f61b0e084b6a24e87f853e89d2a85516185ecd15a5132ae8ec654f1c01bf40a65a2ae1f5cf218a292cddbd218f8295970882e2647026db704ea366e55394a3cdee622898d9bd392fb3d879094bc31adaff9c5c9e4ca5658def173d542e2e44b3fcf623f4947e166f15a8350ac362a7acf5ee64711e24469c74baedea65f749a340498c70e6f803577200eee5f2f8066ab5db1e6cf4a9a283ddb6ed5f4f2d4baf4db65da310e33c70dfae031ace843ed849d333b26064f6e5472d32868c482cf96ea77dd1e768f442218d1fba64847e6ad3d1e030121f8bfaa3a74b148e33f4aab189542ea0f9c7accca5c355283e7d9e7ac94a1ea993a3733d4632d7116ae8a878566e5c1a108111f6c00cb14f352518cfbad625d35123185291ec6d9243627cb57494b615e9ab818d7be44f49623c978e5d853e008ec9c6f0f38ed4b3c393a408fe68de0f51d886286718492521629f7c2c321753d02a2b87b249adb410f5e4c6da731fded29b4b2c976916cdc5d9360ef8e04fb190262fd1c7cffacaae5a697e3421ba3c2989f7689e113196e0df6393981c617d4e16f0cd9ea289c854214b4bf07696e827600c3acbf99444b908d363a906e3a5278ef141efe9f6a29013504f832ed8bfea61bc7283a912dd72b6f62db8ee41b4757cf26272175f876fe11d9b1769d5d6b3c9b768cde4db8f10377640af3df1cbd30e0d2aa60053611ced052a342e5e9c703f21adccb38e2366cec2544d3981dec671a4801976a87a73665d43e0e66a688c24c62dc6cc328a229c138b8d52b66db0a03f93f7b985e7e6b7f7f7c73ef0661ad3c2f9acf6df01448673f72e1ead29a6b32d6b0b04fc05d33d08ea014b570f629c99e3d3dcd2e3438be864df55c9cefc69eba089f3fb31471346af2cd02d45e9b093e18bfb215946d9e08d7e71dec5e8fa00fdfbd6d34539f0b3186e063219f835fe00b8dd9ee73926833c25fcbf3dd782a0f20b26d9bcb356d25bcbfbf3ae153cc433aa8dcf9d420f35597363fe43774cd68d26970eb4f2bc64306bb5cd8a67e480347f4f7db44732250139e71373bfc745cb3094d6aec32534a46a2f3ec3b68ac32a90a9b8c343bc809c85db4a71613a28c6575604384eec317c9fa5777349dfa3b2e399fcb8d131a37c7f116b08a7363bef92a1919f97fc9421cd92ea7c902a9d0bf5a514903b54a39cb472617fdf623c91cdb590908b969b72a44b7a925ca19cb54906ca07a0624431c92dc5762e85407b656448aee9c291010a2b08d54aeffdd2f99961f79dda3ba809077e02c942e68eb1787ba003f7d90e54cbf3bad357380a26826aa56dd882d0280542df86dab7cc9d5dac8518747d3793bdf2264f85d9e9bba395669a4424ffceb3df246bb94ae18b7e1f926126b774a89fa4135ca061ebfe858ef20488475b073b2ffdabaf96a20537c7313da7acbd99500b3a14da4cbb91ee94b301d933b4edffd065e3624db6596804ee34263481c915edee0c8b291bcc70f62e29abafaee0fc57330b46c5fde14c640d2897f3d94d068657328c1465f55766e5ed09df0ae5859e7d0696e2fe0ca132eabaee2e7ff00ce1bfcdced8a07658a9e167aae5c3a5046fb975f4d654062dec38ef72687dbc443ab28cb52c03251881f3a2d15c9b1dc76d3885926b87b89a9c23951f4558672d888611ec5545880fa98fac4189622e43bed88f38462a6909bc087d5bcb78bf425f14bccd545251b8fe5e3b408a397f58aefe45f9fbba6c1c925ccec11a6fd30611757679450fe7c66d781e143e503fcc79e72290fe775aeec8667ccf18364cfa8701d9656a303472fdff82bf66256d74e06e5b8cd60be55475095553d41ddc98f8fa92876f5de559d6af1162b09552bbd0dbf25dc002a78441287740ecbbb521dae5716876b22b50a3d007808e263a06be5839b5517e5b3e781c078251175fa7f2cc00c2b13a844f97fe617dfdb86d0bd4335a139ea470b8db7c998e13be24265ae2d606861eeb66f3556c698554d0b09544b9966e6b34b32d1b14ccbf29f275088548e777fef20c62c7777d09305354048683b981f189d84bb4927d8426c982d8a6a3f8b008a6526bb82cef97b957073d67e7c6e30e9b512cc03fd7489b2e7e508380e18fb75eab27ff8e93f5479d81d4736b86877eaaba39ecc64ddbb3704036a3fa4eb20e4484438c15694e88b23832da33f6752c51755cd0f23fc1b7d26bbdee2e11e3164601ae5a9904255ebfbd70f21a7f50421a9db60be6aa7a5fa3a84f04f04034a24aaba24bf19ee901d3e7daca967c1200ed446c34e80200ba38333ec5dbf16d1f8e582c0e3d957546cd667cc9bdc35698b6a503cafe38f0d7f281cf63d89f801b39ffb7ca425981dccc416f69c0f84734c13b0d6b69e9da7d10d9b89e22cf1087e8eaf5e045fedf56479a7eaa7ae835b42fa56e260f757a170aa33caeb2bb52f95b1e5f6590b5f7cab129df71ed5024b9d7d64b389889c9ddc5db9ffee2ae6fc28b303aafe4ad3f6b65866b1b94a4ed593cad90d37f6b7baf75c052772f55a3e9b678e2b682394bf21024ed0b4611786798c8cdf97b211ad866bffabf4830a92a89dc59e06f29d3a38f0d6dfc254886901727aa29527624525f92e0a909b70a569800ba7ef0a0e94aa16d86a65eabd40b4bfeb4bd3d7bb531166435a6af9af797b41588d3b7eccc9821c07a1de689e01b92f79c2339ee6387b57d4fe43304d261196272e611d56232c21aef002bb985f6ee2c5f7a788d145e657fe59903d29a2ab7e9bae4e0de15c2aa0315cce92cc4d0e231585a035f9b92315d643b40b083ebd17c7bfcae7414a08e743e4dd6850eeaf83ea0f4e7bf2bc3e65b6276a945a86fa7a81772962a4f56ab40d917cd8d01efb7bc1fbdd61042797c06d7a68112e23dd36d4781806fc4e7440216088a6f993ef8ccc3cee254fc894ba6373edf2a4a645bc0b7fa88007619a9cfe6cc428f6cd588c276c38deb4f88b9296e663a00a23633dca4437da4347d7a86ac99b352800fa5f8d91be339b25e764ac8ce932d0eef539881c92bef7460878e4fef59d18c617e1976cf3700e097b59e72e459e5bbc2f52804c885d9c388203eb64ce5fb47fa808743b22f02b1140d0212606fa4db742ba9b9fd26ff2ddf2b929138e07b73e10a5c7454fb34640c42819a3b205cc8d118fa88bd1b65505d143dea737a5512c95928e4bf9ee43162af077d305e21513fb270966ed7c725b3a9eb8b5a5ac3b2dbe68dd27b957f369f6df627741a53b6c22b6c242c9d1414cbd91b3f6c359b304237d3353932ddac6eefe8bd3ed0bf2e06dab80efb0f443068a773c24531230891638f3ce1a7c9601085a9cb71e0411f9ec4729338ca3bf41b15e4ed1f9090fa9003ace3ca2eb6f237833ad83c9e4179b024cbb6b305e6dbf0114a418f5748c378837e957e469cbcd300a2e20e5760582d697df5d66af41a6178cfdd1afd2abf1e3d161768268ae747aac4efba5c04921b4cf99d37474450092c1d87528e364481193dac78a7d28623923fb86769feba4b1c5b58e17e4291630dbc92d4c634fbd1fb10f9b0dd636c74167a6a565a4692cbd424e45e3ab7b078ca45761a37cf484408f669bd67210a00dc1427b7b7f543a4270f341c8f23af39389e28c3c8eed45375fe7c35720740046b892d73c0422360c6f6e9d9c9b215fe5cb1610935239a2993ff5db5f5dc97e2cd2f36874164b5b294a9be68625390f1d81e09d46e51ab88eb2bfbc4abc9c720d4aa2fa258af6fb1139c7f63d4423f958a538be0c7fbdd599361b70691a6d76425ab184259bac7d47cefe734fd6c2b7295241709ebbdccabfa7d9fa7ccc57e9669252cee4c252cf7dc3d851cb058c920f2e5af7e41cfcae5ba07025e007ee9791ea25f60797b87a4a8b736d96585a9d982e57cac6fd1a12a34c63e35e19f076f734ef5196dc811430fc6df86c22db66a05ba3b75eefe032ade0fb0dedf5b45ff7fd63cfc41eb4e5fa9b6c262bd88d4100ef56d56f671808ddadfd0fe3d9cf541eae1150b35428d028d5aea66cbdb2c53f818b3d6e7e6979e70f5301c9e50c55a7df398c1315df8d07d9149f9dbc144e03607a532447c06d27e0a036125d9a0107e13bc1d01951ad636933f3781e8380b57578247a27df91103353cf07cecb6dc04bced5e6acefe0f50993e598683db4181c53223f8b71eb5961591811b99c093845043f002932cc54bd03f1e1e8e57fe2e89d0060ab5d8a3d7550a7adc7cea33ce88b8ff589b232eb08335ad2320055b7b38a1ecff0afdbe0f86cef174b584e63cf7c5cc765c72c7c9f6852e3fb288351086f9f691acca21324800c0cc2916b6c8ec7426414a3b64ce4c3f7e53bf546621f6fb832344680e2f4759c1c2e8a32e938d04c938931712ff9e541f9da5a632f7c69b956b0a48adf403a2f7bc7f782b69fda0e1df8d23d901035bb92dbb43d2db6141a8d437da765dc2d5bb95bf538722bb8dcd7ffc7ead453e43936b5e119ec8ce1e87b1e74d3f2a8397d2129578846aed202c0f3bb933948596d74ca86e0de333263f3184a0dba19390358ed66cfb8bde6f5b65ce3da350af3e30fbcef3142dfab7b61bdae6e5d155bf9e6d47652bd439b3aa9b00f7926ac3a258e6a597443c9c935feef439ec64190fa48aa69b4189e5682be255894a8782fb97c2791de051f6140702ded8188030364a93c89fa1440092d364dd0767422d63a34b87fe5fea08d11c177441eb8f17174603ccc0e4e6bfaeec0b40d521200360953a005ba620750aff45b3d13e90b2fe161bf4d5a31c3f9a704c765f41f667ca9415e349747ace6baa10726a7eed45d469b10430f0a6ed641a624bb755cbb38d3be7d448e98d51ea2bb8bf8e87a7e35e79b0f71a6b734be81ccb642d23811e6469f0e275268c90a3bafe392495da5ee6eb4337deeb25d0133bbf985250eedce2f7f2439dd343ff359ad2bc25678e4d7d8a09172739bea4c1346f18be346be21413ef2b3024c86486b1d3a0233740bfa8c2eab7531cf518e0afb85989409abf53ac249e29956c95becc7085580ff599cc6ae4e00cf9525715e620b5113cd1561f685c7e84fd862e3d36a8dc7a1ebac449bbd660a8b0a6dc072c75957c60f585b5fbf3e82588601af4a0fb4f47bce86ae2728e05c846d1a63cfcdb54753ce1ddc9eec9cca71d4a90c22017bc9ae6f1bc8818d20ffedb6d76696afa200fcf29ccb7b24930b82249150dd517aec4f403b079cfa4b1440c0738dfd1fe1fb3446efe693ca42e9a920c0a9aa3fb3ccc029cb8fa7ac960596c366040f67c44ea7e1bfad8fc9c5f28cec3e4f7fc75dfb06a7b0db202f413f43e8922d4ba7852cbaf2fc8b9faf50eaade864194925d0fa9c7457c127dc3ad3ec6f0136bf0859a72bf798459544d7655b62cd59e2248eb8abc7c2ad4a34db71462d6f0a747f1c9c5a7e962cc0677caf426eeb134f7260cd26657051aad51808429ff7b4a9a44ff4b9a3928baa20b9cd8c6e4a6342482b0d1cc499e4b34c96bd2c06d3f378d71917f6734b5b8ef212b2f69e1152d00a17647b49c216d0176ce3619173c6af97b486e61f4ef4b5dced3cd70bdcca2e5aa4ef852899b081539aafb1779b39cd34c17af8c8a1163578ad96ee4f187db39534d30661e8e8f9466f0198e093b5ee52039c3d06164db60a600bcf7c007f865df1a9fc960b0d1cc469f72a440d9578ec556e9d58ac1f565daa4e7b4f0902eb57b084db22ce610228958f164e43c94d3582be0bb07a859df44c362f46bc30a81ffeee5b8d33b51d56551be419e659db15f32b4b345b13ee071027fecb6b188214c1096209d78295d3bd36f1e9cdaa95e6f0377c1a8125811038160812f497e5df7fd1d0e6d8274bda3ad57bacdc103de0f329e82828d5cc45661d496e8c48734ab690d17fbf67df4d62f17c81bfd8222c7a2a8a061427d83e50d6baff9a26e187b6a881348e786ceb928125afc3f7cf03a5eff0acee8de423e262f775720b82c2df1ca3ecdaac6bbeec509c72f24a473fbabd0b7938d9b7e65390adc64f95858811c9644c47a0c254553ecd96e76b3b1d3e90758e444bfc42c6c4a54f672950aacd9a49a9d3740b8d25c43f60e19995ee44b08d6e5fec7afc80d6363b9ddc7ccad380f42fd62dda4f002b8937aa006d6818bd93b23e62316d4b3266754bedb11dc1e06f4dfa3f2cce195e9f0d07e0fd647ebaec01a32ab82250e9840a9025c3611c751d40f3824181139e382ccfd31f04f411e948580c5f5040ad331358389d9bf40589dcab359fc19c408347a96f1c2c45c7e006d8255cc49c94b113292a64723999876414ad02d1be8d46f7912e98cffa45281cfffc2b6ada3a7afd958c0f302cedf698cc5c0239923569515872e1c34222488813666ad41dc70fa4b8ea753400f516f496116bf20b9330e5ea89dca9ba354c545f61df150dca5874244c48db736ca1275ba66050650a2d206ac7d0bfc7346eadd785e4b23f8dc44066adcb2bf484b18241df64005ca5833df9b04e392aea53d59d1dbda7ab5465308ab91811802729709ccd4708d9eeff9defbbf3fd40819d96ab852d8becc74193308133752d61696b9b29737ca45a9d603d2057a681cd125abe9222bea43b20aaefe57ac251f8dab76753d4792b01c54a66b5d5c961b17c698af2f13437e1ec63024c5c81f30cac51966ccac6817735783874ed4f02d4441e27813b005959eb0e1237e56d7f4e2aed06b6c56927fb14f1f291d08043d606941cdfa7683699ad403aee67faeafe36d6d28aa231c1e137ed4550d8583323443626f5d7555c41bb575bc2d2bd8852f90e67dd93871f0475ffab5c28274f3bdb1aaa3747b3dd158a4ffd53d0242cc6934f0d787c27957e0b9459c7eff86327689cbfd1d49ac5dab7634f4c041d9e322a8f52213ce55e06fd87ad872f4e5b89a7feed411d489e0020e000d4489541e62f6341570c71a7eb4de5096e6fdf643e661b1ef85f2f03e15186373a6837ad1bdb1f86bde90e5a2f2c9dc8ce2c91abe8035f4487534a5b0be9463b3e92d78f1d9371da616a68b9c5641129e110e628ace0af4924c11bf4ced08535da29f778fdad8d8908e3b54f8687ea85695cb7f230db59933c187f3b6d2df92362eecf04efd000d8f98995b8c3b3d5a8c7046653e5eb3940e4e9cc5b170886f90720e6d984518307b7d91e8fd02527cb67caaa82728dc7eb7480e18794349fd8e714eb851499b88d54438fe84844b79d95e39ff64c4c682e0e5f2d4e87c023cb28c55017e8649eb56a2b7632c2446e62c2e8e80704b0b279b6c0d65a27dbf1aebe37e5c7a9513d449790f8ef71f7d7a9d7546c7a098fedece348970b5dd9b3603f2ec9feccfc399d5d172b40e69528680d575d2e2f480c8a53c138b996fea2e8f66be9a810eca1fae0ad66d4fcc8073960339f802c151bb341f07842c60c34a06f67ec8973c1f23bb720a21fc90c094f16f039898220eef8bd315b6383b7a5723d5b5c50f8a69c2806cb540470faae200203c46770f28ded3ef330cf8632e3e7e2beed0414ae9e804320e1d016a232e121f6d9a3133670799148920bbb4dbf1433f9d0233a66065cd9e83bdf6b1cbf26339e431c3bb519d07f2e165a5756017a7d26c233ff5ced9d193d26e7f68ef05a0c3db706301f633d35cc6a019c7d93b4f240bd2f819661371aaac3f71dd596ff826981fad43a0c8033d80d2097aaff2b5330363bbd558b47f1c2874fd2e7a2e4fb27f5e592bf749a2abbfe95035efa8cd610f3bd40a85ed862c21846f424c487429bebd9404e51490d44913990c2db4c36f178dd1675f2d9564ccc776cfe00098d049b889bd54b0bf1da53c51b32497ab54f5d12b7bd112b62c2735f689123dd0c2e87ab73304ca36052d2249ece68e5cd812536f158699a8259ad76867a3abf1609189fb308dcec6f8aa7254d80d690cd3366d24a64a416d420d6d38542ed2d9af174f0fa891e059fbb0e7dbceec556439f59e4710cf5c22e95a863e5fcb2b926d224f730b6354306ffe10112116e3568a1207fb8cfb90f77000f1d6303242863d758bb8eb24e47a831628237eed516547ed57aeb885f465a33187264bee4748b989a15d5c9f247b727246c77fee230dad140b93c6c2c3c49dba7eead8fdd30ba5e2a71567b058be47c0b76dc586da2188e536b333c4ca3688b3709d81f5d7ba15cff80fe4b6b4519618d09f0954d34af29883a9b79ca285695d6403f3ffcb9f5e2a3725466148fabd8cd11a14379c601d7b958cf67a990db1c40864ec814a6cd4b5e1b11166f6c6166fdddd97b0e46f1f6232b353068927b414625730927bd8e5a3f66a04c22952efa4d89d882fe19d133a9427c28112e22e628072c6792e7089d884784bb8f051af5ed1ec2d2922b60aaee8c38eb0b75344d7d46458880f00fc0a903f8f006abebce33e3b5b370d38d16ff166a2460ee3a6dfe380d7b0181b6498747dd4f36d53750d6b191366f0465efbbadd4c523a70e2d18943f69c711d63d8d3284c94358c54f7f5a8ad1b267b9c89de623b75c256bfebe0f5ebb51c1ff7807fef60498afafd3fda4e02e78af37799c2eeeed8cde1b110e38cf698304077023a8e066829494d7a14c7c179eebd7ead8cd4cc81510efba888ad3da660baadf6e7063612caa916818fed8c99b29c883788b98d88297bed680e4f445b5f18ee8621d2877c35c7337966223a466b2cf1731bbfacf8f5b22a61ab85ab2b282f865e8e9da2382db63e1b0306c044f8e9e7f856b052c04300cb17b2f4a682ecebe373a6f8b2cf01cbf404924b9f2b1752d6b3c24d226d48692699ff387cfafb680d7a7167e1d7c0b5d2fc987312c54874512e831b52d2cce846afd6dd466a7aa271a5764e6e6bdff1f9b6a0982f75ab29b872aef1f1990ef306bc05f2626facd70253ce243f4ada034e47f535fbf00588f1bca257101276066b032a1a6397c977b71c14d2b675a3399250c2abf4dfecb7dcc3b59dd6114156bcb4a539fb118449e28bfed0fef1181461b24410442b9bec5b8ee71afc88b6bcc4b96656626095db246d67d8d1381a334b2fe0784cbed4292edb37329498688036dd093c30d1232750ae4a523293139ff4d25d75944fd9444acc6967cedd6cb38f9016b6e85e72e8ca183556845ba7cf74a9d28fd36f5b78257664aa4e0c9bfc93d453aeab10c2bfc03c0d66068992754a4c3b050530f0073d152d8fce85f0474f25c402082dc41c0b4c117289264d531aba38c2ac91391d360c90f6134c9e373e5fd1cf8e6423603bcf50e792df3f5d26c7c5c05f1562ad7b49254feaf2bfa4349f44612c084dccb7f1b6a7626d528ea0e099dec07c8ddfc4dd3b512f74f582a5e0c533e12f7135f6b0dd8b89c722b4c73d1f64305ac8db832b7d27a0b36467d9aa1bfcfad3a9625d1023ec2ab802e1a71c7981f01d8dc09b71ce3f4720823f7b554bd69af8592c413a43f189bf88031ee7a458e10819d3b1c39eb427210f95ac037f043d9f683847aecb705f62df0e80e285271c6ac1dff74cf3ae10b4ed60bf58b2bac9cb5db9c09e87cd30717408eb77cf6395112b15e4e0e8ea11f0e6578ce62218f4a56062af92a1006bd9e5868003cbc602996f40e562d47f27e7841cecb809b21afd5b918a6c8ffd593d9b6f7891fb42d489b957322692614c5a2adf0ae68d86ebad3427dfed248980c178d1c1f2c4c502ccb40987f0c0ea3ce7b54cf0a02049bd2ed027984d609e6980d3b14ea94cc0b715219839ddc8e322fec1c3196f91e9e447851e1d229e1137ee8b18aadffda582922f27b4eaefb6cbb05703eb601a810cf175c9e0456f489fc6c9389de926c95636ae0681ada2bc3fb22d3a463c61020b6c24af8668d47e5779facd46483a12f70ad9d79f58eb44b96f77bcd11ebbdd460cc8ab280a9ae6cc391199eb260c350c699d6ac44445db7bb74c2f918bb9b14da5b72c5a5b032e92928dbc386a9f63f65a007ddbee47676c174affd8f0a877aa3ac15c7c02fe34e735e1c4a863faf0fb9654bfded001862ef5d9b7528787ecc345d1dc5e9d42d6f7879a6b417c8095a96938b0810a705d978147a39f795ea99a092f02c2e00aa4d0a15e287e2746604c45b30b9684d42d705290f154c7ea717717b2ea5758223c4bf493e1ddcf0ff6ecf65d71666f805b72522329130ce21fb688564147eeabb62f55a5f2f13d220e234e6c83f09632a9ee235d1b5403a54f755e021edc6e85e2aa06b4605051aa823bac0e80dd2ad69dbd544427ff30543119caf9519cc4bc5b724cc589114152bd7c82cf39dbc1c3f35e186a97da606cc4dd69091bdbaefd801d54ea26f7f24257eb9af27b1ab216550e3f1bbca8bcbf18ccd009f3c48a312b9b48fd063c92ddeb7fe433a312d96627c5123db594959c9e1acfcb37e936333fa5bd4a786b75c464ba880db02af8d72526140ea0b4b6c93c90f859ad3d244eae26310ea93acace274c1fa44598f1d24a237e5760635d473d1b206884b622bef33bba3c04532aace125878de50293ce61de19358e900e6ea1ed16fe93ad9749977f51526f485263bc6f579e28875520794c3d32bac9f820ebcbd9649ad09b89976da4c77ef1db910e0f4f43ee895ef5857e178e893daad62bb56e18efa61bad3aee1ab292096615992b9e91f107cda976c938f1f5cdd310f7a366c5c1132c8b8f49e725edab325ea3dd71fe72c8a5c84b1c7b7a722356ca916132f2675a50ad3befb17d889b2ec6261b1d8125ef1cc3108dcf5121088de74714755b991b07dd9eec6c7713173efe9896a113712569989e7842dc28e4170ee5aa6654137ce53c89943a263cca66f3aef409de0bdd95521d43f065ffb27b070f0c1e57060a675367238613f00bcbb7a3c9d7a26eabf9232efe6164425153fdbc349b1caacaf44133fd781695cef0f98754fdca5944fc9e5462d945fd64a3098feb80b7546167897124d6c8048ed2859289ee24df0f3f5fa171546b27dbd38bc7d3ac6ec8632c1abd3806f67a6877915ed8ec310ce24228e15867a20de002525fe1cb12212c7b4e137f1eb42f9517ad6c7ce52f201fcc5163c5c735fc8e6d65ead31375c22614f3d23889b774f6e5f99cf2ba46fb4e3a932a78204a40dc7d4df0b3706bb9e8f25eae5e099ca74af3355520e3d2f516860707f63b9a64559d906fc65312ab8d1fa39462f9a08a64d8093f87591790718341ff18868dff80dcefed54eda60dcb59452e6a1284b27572ab6b14e7ee427c502fa02b50ed1f2b1bc968b0903589669e4294afddfac2fcbf92bffcfcf516a3cf5f2509715ab9b8f51f8362cc7a33d36a17c162bbe60b3701659cec5a5b6c26346c61255e1c96462ff465718bdcd2e104a8e4c3b52f084dcd068b2390cd643a3e8f16236094184ca1e13bc858930bf1324bc0cb918325d3982564a320babbe69d242802ed221f67a68309e36aa39d788520e783d8777a9003bfb2eab02eec351261f73440b1e971333fc48355b09187bddae5df107033ce43732ebba1502f9aab0980e2bf948fb4b0edf432834d2306bbe1e55c021cbf9100d1801b719073c9a0f89257a70212cf1fb25a580afd27dfdb57e846309d751b8808faae66a2db3ae40c8cf25d25f3109a25f9f3d0686fef929c82209f68503972edb4ba05aec9c6c053b1db6d8c45059120be820d519ec1c7aa23656f3b9de708748c5738cdc3a615c3713935de3b1b36081d0ad95e4c2fbf580eba2d307a4f76cd8ed020547006a36d51086d49dc5607df328fac069fc8e9f01d66ce1d9f900ec2a58fe39f3d51c38be1f7daccc576b3020ee18808039bed59814e4dfe8107e8f6f42b84a5879c44485f186c827857ed81a657ee5fc54b03d702efdafe0ec6bed8ca527aeeb03e0a16a24be91b9995c62b1ca2d41929eb9d494872f2d8912c453bcf5f02c3fae02d21016d5afaa403da45a1136ea3716629ede3689a6208c7791ac52dd7b50bfe8c662c74a4bd4eab94bf80aca06531a21174ec89babe01126766190bcd988ad20008d642c3fd14f039324f8d020a2a392a046ed3ef4d6bb82824899f0aef045229f07b8ca0e95e409d66e4c1a48b2fbb98a4e9e387911e65ef7f0d861cd9fc829e097a114db04afc8f666ccf150919a9e1a9e107367a8adde0b1baef55fb31fb77698af89c7679b3b09060e90a6cce06c91f5ef0b8fa5d2dca7492aa4bcc1610a41f719cc9241b1b170a8e30f297d44b2178ddfc476430037cd280afd0aa609545757639a545d585a22c33551d3b7a8815de4d781f3c05b923bdc742bb9170db1121666f5fb70d758759239c37754d9393bbb909ea046bcc0efdbdcf89baadd1181137f329a2b0713b685a1d7f0659fb9b9b7fe9117768ae625ca4f763cedcd91484a12f2a16d602c6deba818b9fe63d66ac88d8f525b081ba587eca551ef4974cae7be295f948c82ddd7d92f002a1d29686464fd235393f499f7f91b5334a7f077db52a10c054c16984afedf4962e63c1db27375ad578e0f04f6d961cf909656eaf90e57bab49081bf32ecd45e137091a218c521308fcca7e84a62fb7ec8e7d4896c4eb9d72dc4c118533dd835dc5cea8255596a75688c5858028e4d96b7e1f1588f32b0ed4abced09d777811a86ade96549cbf75c52744e0e7d5a5f9de319b4ea9f9785c01a573d99adcf47c9c0e52162743ce647e81520c12e90aa6f9675c5f37bd31b6e9a0239955df3e066b307aafb96116ef3678a0bb2d6f8ebde4b31f5d9008eab60a0d423bf8682c42bd8128cfb4beea513063a3ce8626da4694336c0b21754f66ab9f07dac83b62e341028bf489aee460d089ba2c561361ec1e0e9e9183e270866d252fa4b9220bfaf916228bce976309a304a9b293f4470769680bec08fd2d72c3799c6132473fa82ba62ac8190969945d5bc01ede5b8002b36b67a3ccce75ee0aa3cc5f754fcb56faec464b96b7e5798b1674847b15d6e158222babe5df9f0dd11ea2d2a905505b207e3dc71b2a4aa41167ecee1d5c0eb2b1b243b9f8301cb7c8fabef12658737c7b8b6f15514f5d58b4f9c980d6a397c4da3dafa10019079b44a42df8a7c8d7380cde4a5c7ddc4f660a8e11a20dc4e95a4cdc07324b5e87909fb196b95d60a8f37c7ea2efb8dd525f49d0ffff0a9592f4e6d8dedb84851d4a269b73370bb62f3f64933a744db27b10bc8423c04820d7d6f18b6122f410bfca5e1a4655ab578942ae18e9d62b268ef43a4a0b60fcf7d368fd959f97def1654e43cae4d16bf7bfe8e0bf445632ba39aaa1ba67bd5ce5ec9609c7fc2c3c7b81ffbbc747e2cf16212938436c0ebe24ed097a6b5267d5356bdf16fe2918a29f7188c51c750fd73a349e871a39be8b574e110c5d77f3048c2624aefdff22939c722d5050b23864ccafd7caa335c1ca44090ed1416d753559e2e280fc8ef1f4c4ade60fabecaf338485427195e7c51525f3427ece8dfd88809b414eb5749e7293abc926cee82af2f6cb9eae1cb9b5d6c1dc648d88ea28eedd7dc470c1fe2d00bff4776550b662952b916ae399ef9bcfc7e125ecd400f4ee2880a782debfc1c7bd890c2ec1c4f38fba77aa12329b57ee1b9cf6a0bd24493f623ee23dea00ece92d95b61e45e3ec1c91329e746cf05e2e2e3293bcd72cbeeec213e10c3318b0329dcdffdac367d33422b1a8b2119ff7b4fec5adb1ccdcd47ad9aba300c647c383cea7a19baa972d7a893dc7a8be355ebb300083b3b539279396edb1c00b2da1016af9cf295267ad7d16265e8ad99104400f82e50b9ec4a1602a2a0e3261cbec0f6a496a45a4b2b31c3ef5a05b7bbf7d133274e668b560a33fe258d9c7e03c8c2489a09f15bab22e2001448741ac4e7b111221ea499d1452aa560bf8fa28445605b55644114e29380cac4e828585e879bc709f0f996cf70ec3d0b69928bc57e5088ef05a4a76100b7b8562c67bba34952afa8559ca48631688fc156167c4deb6fd3653aee88cda29027f597b015615fbfa973f17f936d9edd5c8f1c48dc08700983fbac3545bf2e0ce71f3f255125862b0476b4be3b9d1c90344df1e7d701b498b01b22064575bda1da67b79bc10a98937f019ab5076c60bac788ad37566fdb4afcb5f1386800f1c4792e110aee7c47586e277c22146d0a0d745177442718782036b62bbbb013c94cd93bbaac95703c27b30561e0031c13c0bc764615c88ed024b2e2c11ec7c8bab8460a4c0b1556cb10c3d9910be17305f9d8b8233887cd82bdbe3aa31121989735b62d6534c73026b9982c3e35eeb6ffb4295e3197ae19b488b13a4cf627a657c39c4f9efff54f0650374c188880e600bbc3ee9a81a409332865628fc6774c668b45d8a48e2dd2591816aefa5bfb3fbc427a1295e658b41170147fffd39ad8ffac9c14ee72573d64baa78863b6d4bfa9e15c0177a20bc5a9aacde47bdfae8c0af1eb9a6507e82f43e50c2d2fc56ab8c4bf163fe64cb6e69e9fbd4fb5857d194dc75de7c60da0fd2bf079350972f0fba4f48a360fbf04dee4dedc5dd6c555b4b6f7fc18cb1aba5f647be9a1b377967de6f43a07b8a80b1c9cf1ae191cfe50ea9e9c0ce1556c9885192e47705aef2ece9e432723243b483454579f7319409a393e9c1d263e3d997e1e791297b90f17201b5aa6799ad775188bf9ee2f22f79f1bc20cf2dae69d40722ddef424efb52fe8e8a894c5665811f32ef36156b8d75454585d8a1c51445bc30812b940066f8e68a6052a7e1fa076b48209b6cc1ef159094f15888fdd03fff614ad5192e77e5b05f38fd4dee4df9742c01d7b5dc2c2437f8625c4d33c938ec0dda7281654a56a9a9f15f6a49638aabafe75aa40a38ca0eeb15729d0dd0bc4ace55e9dbd2dacba51a6c647ba18a05e501b9f0fd1460fbe0acbafd96f45c0c5f7f72971591ac7e8694f3f8b89ca78aeb1ab0383ca28beb0e48c9596ad3149762149aad135241d8506e616774610007db5e12d324e329eb5be2f80bf746595b195ac6efedd1b9a5f143d566e035d98758a9fe5aa77acfeaf0277aa0399414fa0fafe3c9e8ffd00e2e0d8aa8635bde5ac77520eda2ab3f3d23706ebd26a9e796e162a38b644e47ca0b3537bdaf8059818aa733464701cbc19d16f275e03861da039b974773e5f34d1635e2c3db88b4f68442f7fa8e7eb90e7ed1d5c3bc9145d43dffa062269bee5c3affabd6edb04de4ec7d1b77721b34aa1d8391f8e6d7e19868e12e0f7ea1e33c63b411023bd4f07b740324d81c38a3730a87c29c19bc00703c288f39b76d83e7e0f582dad5590e12ccc80df47e823e9820d23d4e2d59d314a008da45e6fa1af2bb9ae660d355f58a92af5a8ec745ddd5dee6c152f6a039994d874448e07ca4688dc41fdb759d501fa93555a1744db3d878a06af82208493a8beb3d7f08a239c07653f3673cf409b05b8efa081b6c79ab5d3184cc90ab06bc2a9d832ca6b75657d78dac144789f89a9533b4bc0b899c903ffdee5318dd01620c114a16be6bcc53517c84a536ba0c78736bef518aff5670accefd0137f8099f9fdf7ca8e266c6537d5ce65321bcc0c5398900cad2e267f4ff2ca59828690caa0bb824437e2cfb9ee9798c938b68033f0efda8150bca7cc4f8a3176d83dfb2518376caa124b651458e4bf4dceaa2c077d78081bad50107c97f5f6c8ded9c3d98eb7e8a8927057c88402c141bf8d8662208ce400cb737d01b3f0febd5838b5acea2a90fb9218779c78598bc4273f31e09d834e39f95f543e63fe77ae3f42e82383a116ffbfe205d95595739f44819db860c3166aca3ae36bb826b43af08d6d29bbd624b7214798b1a47ebdcf59d3ce72e01192c912a939493c809d20e535131f6b2290131ea100e1c83026fc5bf82f98fb2409f25c5937def9d02c64c739793c3bb7ba67cd7e7fc1d58ed8b5910d38ecd804ed1c46539a36b8cd615bb02feb2e87fa7ed04be8e252738f52cc2fd3cb42058db432a51bc429f8be3b4fd2eb539b8b8fffcb3bdc0062cca4168f148d6d48b73da795387fc9559fbdbb12da066eee444d24489e194626e5da9c94a064b072e1ea701c0c4b5954e686e28f8108d90b83f7d6aee2f9202d5b360eb318601c45cdd0751232610b79051e280900e0b4ec226114b93a7e88c1bc6259d26d270401febf40acc980e471e74197dbb7724315aed83faf7521207f3ca12990d81f41ee371f5c2af8370474d99d4c32776811513c32d91f9496ff0a4cf7cd6d5734dd850afbcdb2d59512ceb8c2262ffb021af863cd6c12ff104b7cc989d73683df8c72e2384bcdaada68a897a3c720937a73c49e4a5480ac9d40b9a68f150f4295714e64140ac44f1c7fe33ed99aa412c500c61c59b862c0458edf589e90b1d55d0cfae748ac0e2e7acd1063998d5440d36490661f83bba5b0c08aa5613677a4ba851e8cddb7463fee3b802656f10e53462c329e722d44e3ce4df2924bb4fe948c845089bb67d2adbc6b87c68442be840a9d2e1b42d513d7321f0ab54bcf2d0a634138a4f673d16693702c8710d0078fe67834b7d6544179d9106ab1738c0763fdff0229d4c7f08bb56bc0420a6c57e567c41741b8c07187aa8e0e49f6d2f01df19f470471b9a821eb5482c0278ab184a3faba3999cb5a649b428736ea2ba5be15135bd8d98cabf10c911c75dda036623dc15edb40eafbad456e8d893caa85693ff4eeca08836608bc0c18e07b7f50f0d788313bdaca44397d53f8675f84e78b5243256986921a8132a6c31c4d7f1f6baea675c41d16e0b699f974b43c82cdea6ce24c521a0debc7443cd8338f0b71e4f3aae94a31e2bcf437ada3ade247085754394c6f953d98d88742ed4684e9bdc7a192686a619bb092bb510e786f4e9ceb4a3043a04f54e8fc7dda82bd3fc517ac030f71a6aec7785abf2e7c4ede4bc179de2ba2cf5b49e22287e40c0549da94bb20c14444201461956d93df73b80203a796583a8e4b74dbc1925aa15bd096658983586b6bc58b5fca5c1c507b2d3d1792394dd3b0baf54e06d1c2b5904eb81a67463468f303c28144b6fbb77c0d3cf7468addfd02b3604aae0ee42c15bb26024365f47ec3a757fb83998fdf42f07174c319bde2de9225394fa2d99be9186f4c0828bd048c06d767048fcc43531da9a70497ad7b293461329105262e9765f460016afba31df109607e193c1f16d9ce49ed8877eaab09d5e3b09ec4fc855cc56dec48a6518a0de3ed4c5cdf840b7ceedc954129169e1a404b6fb724da30298dcaddd5f6eafc7373b4e9a644829dc4fe7327ce102e9b9d1222fb96607e7af12365a94089e28f3c24a75dfdd1c3eceafa3e0c3d3d08084bfb2f7e54074b1ab8ee1193d547c807c7c970f4cb75de2bddbf81657efaea508edbb5c9b0fd74d62097da03ea0c1301a5e20881c2a8e43e31d14e15f457193d7171cd2dc2a9a232234cfd0b22d4d2b7b73b6abe217645ad57ac9e868db1e34cf97737eeeffccc0016f8900dfd7f40c38a1eee593bcebe21d5697e49e882a5b311714d4f181fcaeba279df5afe05790145a35b8c105fb3d37030cca1a1d2cf06aa870772e553761d344b4cb232585b0117d451a3a160b13866d59218c4cf1d69d9d2472ab94b8fdafb1a41385ce7ff59d7e76787cd4bda4ffc7ed193fe0a136e23cbe45682c5a098d550daaeeee59daab23c36fc635b640240988d7849b22cb32daa621e9a36d30b502608b79ddbb08fbd898232cbf49b44e256e2e2a6e4c08cbcfdf726a316ef5655d27bbdcc5d620c5c26b0ddbdf4260ea31656efca73a3ac2c41de4cbcbd5db2a9c2adaca4893b17f8b7a1638ee1963ad42a79c35ee1d0499e9f0ebf2b89a3870c909a6b331bd43e1dae8b8000691375f94bfef624fe389ca1faf6535e24c09b55c782edb52dcdbb0d40651e5b1a4304b135cf0675406e284f9c84b74e361dc153a53d783ceec06ce0d0eb9540079a97a520cd6beb1f396757abfde0e0bb7005171d1c50fa5ae56b4301b7a23a967334b17bfc9f11e25e0d6513ed16cd9dd0d17b21d95a9162bd240230350bf8891f46f99411b296584397905f0f9ff5db202e694df13022b9f3cb10607cce69c3e22806965f7daecd3cafe83ed11cc853fc84267361a556f57386bd1434e7c6d7334dc28b20d0acd9637185aa756f202cde1c75bab4a81aef9719a77ae21136b9a3ec356f9e1aebfb052ed3d2535a42e904f809fb3a2b0e22eb54b314e6ab56837557410e4d308587cfc87b296716edbe66f3613bffa9bf9a1a2ec4c9f2bbebc8a79de6a2116d0587ea158c45ba717f3b46c5e6ad1f81dc836cb5ab1d1d62d86861fe322b9d5d56b258a96a04b5ad2f98e3647902705cce0fc0c51fb36d0d542161c06c2d4d79f690948a23384323d384e0ecc16c95e9599db771f9a3d46feb5f75dde7f9c34b38e13b58e438ecdb4c07d33e47f0fa2ce1ff8f027e83c09a9d0f40be54a54b577d8fe36fff4cadd0ccbada5d8c334798ff1ca67e722536f92458dfdad3913a39b47359a08a84105db65fbe6d78779e9930a2b49068d838599e0f8f05a9c020d1f99f5d3a59512c6fd2b3d2e6e1d917e980ea0d05444290c4058103d834bcd71c87f430689df9c682fa99972f009e7fc8a40ae3b05cf08b13a9e5f937acabb773fcd305f9fdac55458d4ea75f5862553bc5cfc06a0c53e31c14d8225493eeeaf3f4672c7b8fd74a203a30ec65f5398aad44edd888c24ab879cc0cb9a64c6d864b095facc6ee15fbb2ec63714768fce758513fece225f1c78bb57a5de6bae378650af97c6e8859bbe813888662cb6e9d9ff55cb28495afc4a62975d6c7cb6306a1e1d4adae477a7904f4d942a8fe4206f1266299d988a1dad7c5e2671df5179639e5e8a9fd1198e50a10b1371172dc141789c92d586a8c7fd300cae61878c805349ecd0b0d4454684fe8bb400c7fce7a9a3e6a912f9d97a65baacf2ad329ebd83dc5dde447be849b8ee90131cb3b5fff8b158672017e8b8785d822163b6ccf62e3029adfbbb5ba00fcd87c9453185e3dc60555cb8be5bfc7cd6878ce9102a2eb6db0f0409aae0a32e0d2c52ab2b3c5f690501cf4315425264d31df9be79d9b1b135380ec428604816cb43c4a10b1e70568bf233c2b5322088f731c996068614087e465f22bda21a684cf208128f17be4741b82c0335112ba93c041cdcaf35120bb18687c7f2e466f7b40668d3384ca7a1c2e06bb96da205f4435dfdf33f23c8867f2976fc6d9a92c14e2fcc89321598426548cee5d30cc5f1dcd7de729dcf1f06bc1e205732c5e4e5e030821bd7b4f287f736bece4d30bcca198f43f10d39dc49041c5dfa8b757d5564da9f0dabc379f66869e76c4e514d5cb12e3242f78dc438aa57629db43967b59d69959b0a06807cfd96ea2152b8f43595e5a8cfbcd60a28fb7918fe22a8f577932332b32bc81a4ee428bba341b092c59f35bcdb7f007f985d02d17d0a28955ae10758ee572e71794a450d9e4987ad9abe117c9a4b5a5895d899bfa562a560ce7b82313f1de713d434e6000187afa0cf2ef9ffe9f0c6d12b534ba19d72f71cd28d76332bcc1aecf8a9c7dc8a4700c34d0f047d8cc96c85e1671ba7f65fc656411e70298c70f6bc7037e2ea3b833d1774de113a3a696cf9d67daae72d2c462b4681d5436d9e0ee9037e8ff05cea26fc9e33a7ed9e0eacd4ab285e2fa6f2bcb3e081715325af093f4f5b4ad339f784259684e3f17d14a732c6e6d7368682634c65655f659b37329cd0db1a4d0d2ca720ad06bd3600587efdb16b58deadfc716411dc3c8af31fc6cf011a84987716300d5f1e0041c41dfa361e2e2f2ae364faa3baeeaaabac178d1c42654fd60466674232d34e221446636d69312107b1063ec8b6227ed6f8667cd32ab516739b61b8ec52e78d741a99e645de213bee994372c40b663a16af33544ab590ddc98bc7360d8ec9fba39fc3f001e47567aeb7299f514c7f2ab2c64a21a0f261a70aa4759124185452fed5d249baed0e9a6008660c938f61b1efdf066d76e040c2a7b0a7fdd61d76c08d2483ef34822e79b4d1fba3785ad63c82b54aa49a3bc3a15cfe001eb084874e86ac9d9d59fb7b1d83c4fbf1f468b98fc393170ab26c243433cb26288d93a8d299d8a7802fc6382815b38e2c5f6c8446fe5b0fb443f9933227f9b4ec92774fab5699297e2545761206b8dbfc4ba53b15f4ec8a53ff2a1e8abbbfa70fd60a7fd09956303a6c2ef42bd2e62c127f7f84f4333fdba2d0d4212a90b4f606be13ccc2cf1bdb8a9f7ded25f8f125d24e73b2e842058660f813818cb188b97aa22297753b60eab289da10d72057ad29df7efaf875aeefdb1233222bb2ea8c1f38db0e8c1a6dfc438c5a37ab38154dc5fd5ba99ab735a97ecbe1a5e979a3ad942df7c76492ecab837edfa80f3ba5a4ed156c80e23800098dff5945349b72d4922b48ac4cbd5187ab1695776c7d115a79bab920996f9da087662830a8f49ef2201519579e210dcab992bebb2456ba9c8b75952eea31e356f4348477e4f6d258c38f2a07636cc080704355d33656f10bced0533e2c0d537026aba0794f9f838a6ee179100df14151449281315c3357e26b44c37cf902b66343dace6faba893ff615757346432ad9b21d94f5e875523b274bf316f4242963ad50428760e08d398aaeaecc30eba1352780a126129c9792d1fef5edd86bf31105a103ed05aacde6cd9e96309ab80c485f7d8b9465c5389510fee17a6a3d0dd24176ff1ac19c5979b9c62f0d74e358d7ed6d64616e2014eb5dbef17ef2742aa43fcb98e267c2e00837a2aa209cec774401e64f0cc130e0c25c268a01133ad1be338bcc0dce9a3994101f4be08705ad0178a05ebe28c1077e2ad6bd17d5779f480f5f5d4d11690d68ac31cd2b4a6166746181b13bd2f09b47f71aaf6b5b23c46fba1842ba99461a6758ec5f75984836869946a8b748a0aabbad58b45577c4d611273ce4911abaebbce825988afaff1e00f1620e1008c465589ed40d6d52849686b719c1ae45b8abd4e18d09b8966eb1b59cc400bb5b800d723d42b0efa783ed35cc4d8ab1c0ae0b123940cb890d7bb8d977a5bf3d4f768e974f2439a921f79589f27e855541c152658d0bc65eb720c4be4cf23cc14e596b5cac3f42d1d254294d6a6c95f03854d9bb34e5b2528a84207dbe56cfea70c338cf86cb54be21e6f151152f5b92ab7bebb885943e6e61c5fb2540353b8d086fa26302edfe41445441ff046a4d95d5d2d15bc40933a843d8ffd1e34d121a96d38aba61b5905b8d2a24411d5280e412c381f672be2fa43505c7aaa6d0944adf3ce7bd98554014783b5ca9fcbfffea6e370d14dfa71096cf82b6f077d0787b7b67747e5017377250bb6620bed702b3e010a34c73cc759681a8cabd5dc02b762503a75e2c6986b15871e663652bec67b5fc63ceaa1a4be2c0d71d20afb54dd24232e8687f3ed43470bc6001bab799bb52dbe68d9f501360a5121c578f6fab8daa0e69d8bc17d4304ff20cd73457b382817ef43bd197b4a3bc2dcfba74e2327f79ac15321442b1055e61858d1b3718e980740f04076314a589cf02f1372418502ca34abd106d30029fdaca87634aec64abc0a2519dea65abf91116b6b66cf8328abd1902c058f5ff1d31e52a930280635fc561dd4414d0b3e4fd227b54a0faa304742ca441decef7ca191160c9f034ebc9d9d2bf0a75035e533e41092034ae2765268c29ce69ef6552c82b4b02bc71d261bab7330fa74b3e9dc55abc533e69fd414a2212c74bb0a6580fe717d1448cb6d4164e93699f26955df1f26fbbaf555752e1443cc58266c394c7b84710ce49915ea6c3042d7470ae01176a3514101a5b1a35537e07fd61127f4ca9ab0117217f0d885fe6465189d0d33b824d0e27dc8d18f51549cf52a5d9b940f158507e4099fbe8dab73e00d031dd78a23bed412e9258554920802394a85d6a6c89f85c67831eabbd9778dcf2b83e0d806c640a2825b383fa453b2d336c23a373655737ff812b54a8ffe501e9da354e56b2147ccf9053e073943a371e66d67291876696af106b235ea17ad6cd952a75fd5f7ffc873d3b08a8181c49d6dc5ba11497657e44e163dcd22632ebe528cf69c3c501c795afd942d849c2a9f02bfc13b3de6587210b5b250af689b683242924b29862f01bffc639fd4c76e07ff6221495196c067f15c4dd3aa2fcef8b999d53c4686315e079738bb4b92dbe474686a2f735a67225b70d88ce611bfaa3f1e3a86c3d751527d4a651612d5310a0796d7c6bc41e586e2929856c2ac2b46250c6119b58ab84929fbad874aaa9d6575be2666ee934b8d7b5f3d35de5ec7f33e37c48682388cabae54d2273966ff141ae12b2c016fb97cfa5ce8ba5cb4e73820da0455b292c01304cbe961b10cb93148ac2eb45ba5005592110e542342664c2d94cf41d0a709c525085646a27c6075fa2e9177dc19a5971ff20742e0393c200ca1a21e695578cf54c3b0e81e43f88870db51ef20015a8783d83cd4d23d3af0d825f72448c9caa43adc1e82c3abc9e6e978bc352846f7ec978228e5c759e5b03f8fe4d65307d1746ec431f03412519520486380a5e10ab3683b15a2c1b984b2fe89c700bbef28b2f9434ecc31e3c574c9c29e1f69004c46bcfdd2b9a3654d0344566b17679a57295954295252f8d226f80656cfc69a89ad0774b410eae5edcae100a409d7718d47528014b4fe451ae69e73e93dc6dd102ef0dd6e7c3becc6ea3cb8a7364df765336b4f6959023792a1d17b03edd98f5cd2eb1add4607e2f887ead3abb0eab86571d9c2cb1837f495ff9d47a8a1b7dd4f1be5cde3056162b43fce0111e8649a5ca471eae0af3e33625baf4aa234d55f76278793da06faf5cc61ea2377567a11d3b29dc580d52c412bf304d13bc0776473aa7a8a6830c6004006af4cf282f57406f830922bdaf186a18d5505c9177dfff77654da4e868b17ac8d5b49959195d6a87ee8321f271c9af6aea8dd7286712b569779fffe004124eacd94dca1cd660bab3f03063e3a0e1e9fcb3d158fab52e25add914473106debba731f36e7b076808c99d726b18a02368a2bc260968d9ca68c7790382fbb91a1251676808d1bcd3ed61878cfbe9b4aa3826c8a41f10779a5a55a935d60c9eefb250f2379e3c66102f502086c96867abffb0bcf627b8f74dc6b7b72207a32d33845f300ad1c912566d1cdaf7b237f47b0f67aa816c6bc218de4bd3289ceabcac98d85da27e1a1ba85e1e04fb11044a8d20a2150e7fc7386785b708233b8a399bb64db78db1505407c13e4d03f025abb573774516112a08275d2651a5a69ddd4d769f12f8833057fd87fd957341de06ebb417d80a70165c57e30223d19b92d28ea29a78aacb837eb1c003bcfe9b0415195050429c3b6707ece9f6465e4072305ffc0968a64f7924169cc6ef5de755c4bace162625225ef00a4a9cdc00e475fbb22bbdcfaeafe959cfd0f74269bd9626249f08d6f476eeb97cb5c101c34b58db19c86a0d89340bcbe81a10c9018cf9a0a1b91fdb5fe67b6de223bb2c6e727ec1658eb93add8a3efe43f01ac7a94bad0c314efc4cfcb414bbc5c58a005f1e6120e731a6327ee3ee4ba44f515a878c44ae97a3871d4c4365dd9920bc75ab06c8fbdf0c556b2f7ee3911e41499390ea303fe84fd9d00012a66c15b96c3b88249f886f7bf1c42ab421497496ef6f924054879228cf71493c38ee0090a8d07c1eca9b2e8fdd68652a14edafcaeceb627c48c2aab485f3f61ade0287d2b7ffd6b8674183af76512d4399881942fa8dacc36be743e110a5e556a6c6ee9b4c31918010376bb261a4fca7fa7456cc0b307369ed3028f8ef19f8e7c1acba1675d4302faedb71a358b1448c099dd043ca50baac3c5269b8e1a1fbf869cffe29aa5f827a009c265d2e57f44a1ac1183fd3df8f00c92456676f6e8a267a6bc651363251b3af4910f689e5ed8725551c9291ea3ba0d5feec28cc88dbf13eb063d2f5b3f75095439231a6709cdbd88782e8eaa3f6911c201c8dbc8f301e3217b081a726e08ed81170c14472b57e8ba58bc7ca1b47eb0f1248265c99ff6c2d29773c4fd8f64793b113197e5be6266bd3931d0b00f2c7a95ee0737e4f029c006cfe73893308a852c20a7d41827e39916e2b349461af74ff1a133ca892554451ae918bb0036d04e827042e5bfe0c20b52aaab2da3df6b240572b977a14b5fc03ae6e55a45551d2a878d7ab2bdafd6e4eb181f4b3d0f9e1a0066ac9268cdc853dc30235ca5b64ba1887444bff113a1e2e53bfc42cf480121206af0af9a8aeccdd217b609f68fb6f2e96fd2b585fe1ae43669edc7114d2d3682df522ad35e923297340949db1b7318cfb1092368bcbdcd4eea7dcd66fe65ba0dce1021c8e4e0f805e080c7a4624a638961eafc84c5cb65c22366262eaad33a92cb2ed2ad086096c8744e3d5710a04b57ba1773460dbe918df413ca22053b3108ca7f145970e69852d288fdc23130a86f638ea5519e36609365a97771d2dea1265e869e914909b0fb9e6b912e8fed6b86ab26e1bb6964d523bff145389e59a79c51d57816b97880f9a04adc2b7343e1ffef831cba20c776d4901a603ef30291c6dfe3012aa83eb715cc5b6d381366a2f7d03bc6bb7fecf7577215426abfbab99bbb61e34840dd3a8b347bf52e1f0be5eea78189ae7a1abe2b2674f5dede4b32ee0721c96b9cb34803d5ae8d9fd67a6128e1a1ac1bf425f9c76fac3fe3ae76f7fbe84801ba0c8044e77a27790e09ab49b92c917fdcbeadb7b402b8787a0e9da63268cb10b9f2d4e246453605d5793c7d39d7ebb90872167e3d44ec81003e7da9328443f5a703573f3295dd12b98c84fd92d8664b30b799d584d421c4f3f124c96a60329a942cd7d9dc3cdc77362160bd8336a9dd1a26c07bdde0ef7fb955cf909f022e7a479007366a5a57ea56bf6ec02ad3cb545ff814f23067aa5555e29fb27a8a3e43992ddd7bbc490bf771291554924f513e05f0eff9a5101179e01444ebe603269403adc86578ec878c3436efe0734d7c2ad47370f1c2a8f408cf0178ac9a215249b4e7e32e7964fea52a6868e87e4e1c31765f4107aff095acddb2fe9d6144c204476709ad00bcad3cf2cfbf335a3cfa630617930015455e3ccbaf8567cfca51ff157bb888c68e01131bef8c88826aba0be3e3c4da163110b0ce6db45791523dcb70a1027c779b4a7c70aac912d77b2ed5183db3dd0e12afdab93fcd65f1cef07c6a99c224e2bccb4ea5d07dda55c9b48d5c432ab94aa69c7dfe638d15bd6ef71b90f7db24c72a8fd1d2a52dc74d9cc07faeede512f26f68d5e77c5a26102c77be8d55e1797d0dcfb2db59a3a7ddeb27b334cbd99159a2493d46738aac670378b5a13ec91730fa4864ea8751cfac8cbd29dc07c4ebda428be52fb285dcedaacaf50fb008d2c45019745bf71ec0a84be90c51ea54d3d3e75f94025d34981534f72cff9bc83c8132e0c185f498dc0edfdc45aebb451e94c77c2786959c80b0f8f463d6dd407a76a3218750ee9141496dde0ba9d455fe6aa9997c84673a3613d60855d7e2b3ed2aa5298c5fbe2b5a6852f077bdf51035f0d8af412c92a5217a48d557f143240e9cadd0a159958a226187d8ed2bf25dbbf4687d219302c9e630f08710b285134a197c3bff8f6bbf3475053a3510bc917c38c847ab370c20c32c1aa41be74f3b7b22c563e674d8922458b606798fe447e265e7e9175bf448bb438a467d001c6ff34f21f60453632e7337f346f1fd9b486d541badc9823302c436b891833cbbf920f2d75d67428a5837d7317bfba1f9e8759f34b5d7e38bb855cd61e4430efd8d533fe14de17f1d8edd279588a4771c01a485ce3fff0af2f677899c316e6bad3b7c2e7b694bf03788b9045be570d8dfc58b8700c565e4f34d8dc2b3f8174b46470b44705297241701799c7fa7511e3b776685b9b5f4f576b4bd4be185200d15b0806fb17bf7c7e98cad74b46980c84ea544cc707c5f9414ea30da75e537210bdd0aeac660ea98e51ae1753bf2668e889b5d3f3e8e6b7615a88e21b4243e9d5a0408ca2e990672c303176b55162b3ee1f4aaf5718789e2afb0c45cfe5baff8a6a8e3e4be1616e5b23d1fc426cb086673dbc748de3b71bbe7e9e3c7336d1446800b52816c61955a5c11ccb1c4ac1a31ad90f89c040eeb52182f4a5bde867140af94e71d3c7e72d857cb581188f1e672c18a01eb12dc4b73cf119f16e121fd5a727f074eaa4ed2d16582366f1406e93912f668f4189407b655e2cb6805d5839f6f86345c358311a973fe2fca89e1390f70382943dcdfd7c36e99d6b05e2121fdd26bce8a8ba9e1a6b0c6252d0929426ecd1c4d7b2e9303cc6de0ca63100caae136289c047ee69f43ab84a0245684388da5e57216202854111610a9d615f546da184a2daaee6e24690b5ca96bf06c00fb795538815b1e35d9a7636f4da318729871407ce5739bc7b785061a0bc13161f869ab44202287b4dc113af73ef08463f721edbacb4a27a5cd461b0b3c95f13249063eda04aa106df8c6d72eac3a08eda9123bbf56f9ccb4f3f380eeee6c50d87daa992fed3db555bb208c3482357046fed70202e601c89a3e605e30261784058a4221c49b83103d63182b28f0a40b6d6ced1fd13c38aaf91d15b0e477af5a00e94aa1fb714d66b356786a480d93b2a9f674ca95ed2e2a44e58332611637577f0042c19ebf42ac3feee28d97d48373c9d25144b0cc6a72c452e95c36d381642eca89aa4804ed4af491793e8448827ced3329a40995c6ef4ed9d66bef93c02d5b4c7f62f20a598fba12b949420315a1ba045bbfab9cdb0e27811cf516b295088f4bfe78e7f5c04402aa150136c7aa509f189023cc62cfa3dbbd9e8ae6cbce2d377df47fa9fba7e06e99112d0ac81971dfdc3e6c1eb11a7050589794ae445e0a880317f67e18be5560fad550247ac827cbdd7bdff038e0f90420ea166b78c914dad941c3bd6b8c5c9d76f5c414ec4617e868d7ff2d18cca14c071cdb915583f6f8dcede5358a148fb1595a1d90d005b0dea6d57a67e54eb798e5a0df7878a35aa918a9d358005feb7f368b0ed72a408d6a33ff52da81a96724eaf2ff500db0c0150d8e7fb66a51fe1d1fa71d4ec1b58599a882fa9e1be36f56693bb5c5846548ddc5d0496d98118643bc4d83c04840064a168a8f4b378892ea4d2c3ef57a515517f17065ecbc298e4dea9ec1755de19d8a89288958135640461bcd1a815409bf0d65f724aa9e5b2dc2e810f59ec24d9584c71bf225cb0f79b448eb7311b529d35a9343eceb916b1e92ebce2bc1b709b71beec571c17e6d6ecc9c53e3a7c85f7541e8ed135bde917dd658d54450df94a37630cd8e91a546efbdbc08594d17da7a265b82d9d288d59be59dd7db4eee724d98ee70f4abc13e932c6e1d41a3ca94b2d96cc56afa641594ead54353ba5e6186bd30e67e93c0b11c47162c0f859a3b524421fc03b6e457bac2cc7739585ca2a8aad79c174dab268f62260d8bff952a83015c3f4603d339b036313f3179c7bd97b41132dcbe3134fbba46a57fb9cfbf90eded3ac134dc84cbb6b7ec4beda9881dbd295cc6f5f6f59dc4af4e637d0f1268acea2dcabedb068fcd3cf21d6a450b89f6c80d7d3bc23c27a864b3a7e4cd8e6a28e20009cb3099c0ce26b5b9a7f32806feabcca8c7893e3153ee6bcf63b9b11eb8f5a7a1faa1ca7ba023152c9756db21419d2f9ebd1b9de7801f7ad8169d146f4af43a2abf823eb207309676dc1313dde526e437d6a24e4338af9f9d82ef626ff6b9fe8888212b71c3f77a4fa18527962401dcba952513675dc3520d45451a091872d2b0af689ce50eafd10d16c710e321ab3820d84d26c95c452059bd9bf6cf068bbdb05015fd78074716e62c7e270ac6f2efa8f137bf8a7fec96620e6c9d39f80ccbab9462cc7b2c27dd65c812006112574b29b91759eaa7d1a3f54143e803379b2ea2352dc2108214ac9e7565467e7dc7c06dcf4a1ec2254a38dacc8b1cdc70865b1a0c66dbef7365ecf29ee1828eebb76403780795b508b25c258ad33205c62b9d3b21b2d0a4cbd1191696d79d57896c494d868af50455399f569cb4fed1833ebeb40e9ba5922402a51fa9aa1f91c4cba9652d298cabcf1da3ed2536d3588a92b232cf6bd6010f0df10b0f26daf0eadb1e36f799aae8b7204dd5487d01f98605199df003f63e5d61ec8617310c36bfdc6f60e64ef5431d077dacd36857c798967949535361480dee6e828e2c3189345665102aa1d5db3c4ee5c9a045519ed7877b81813537cd144d859c0f91593a9325d22a50d5f7c2b47c3632e62a84e121e2977e735c890c03bf3c59df47b93eabb48b849f25f87f49bda94cca12c356cbb7f3b4cde7459e26503e2d81d4bfb6ffe9b11d2062bc069b483cdbbb7238688c7c878fc0ff04452d47ef8b611421b5c0a234f73244119edf8fb7f870bf5b7886bed497796bfa8ae4b43801318a226e98d9ffd89555b8f32d71d2f7bc7005d4dce4ff279c734f7407c2a7b1e8fb1bc01bcf31715fbd2efd0aacd608ea370a25c73db5b3d53206b78f8095047b9e14ebf8f15533e0670eca85ded2dd849e3ed42dd54e4e6b1163b86f416bf2708fa286c516fa8c2b66dafd6e18fca49cdea60890a784ddd6dd1929c94b7feb67cb3224c0d1c9f6966887bca23f2a6c9974d7a6e588b3ebf0c4fa9f989bc0e83ffbab380e7f768f5a0785c16240678a5da3fabf4465eac60b30e0e91bf97bbecf8f1d47043ea47fcee6fe04714578193af2e3bc92c4c677a3b50687fc519a931ae480b44d76949636fa4291a764be761719b9ec3bdc9371043b8c6efe84a3a2b1c0d6cd4dfd552af1eb21f7c006a8c976a98bf66dcca7aea1a7c6cd07896f2c18b2a403a3afd42d2261fb708d6a3b7633685a55a9382266b1e439b4e5b87c9ceb8ed262a90e890449a11b1fb915a5ff4a60a76f4c4296d2671e66b1b31351af0220816908ee893030210971079d11ab5e880816718cac35c70d2186c55d184c28465fd071c16fc63ea54004d6f6ede39c2b8ff256162d408e5007c4c4c7a5893531d21fcee79b07c3be5384f1935900bee9bdd40633e19b4310f04b446b0350ada8b02cc08033287a6553dc9b937a271529613720854ea16d5365b849a2ddbcac62fc757b7ac1dff5380406c894b4ff715286bd1a966a9e3c1530f071dcab78731511120158865e035dfbe23e033f70c7540267adab9e2e8faa589286626c25f1bf69c369efc70d95d56a75933df5733165246fe1c2194a3ce718ece84c640c2e2b25eed2c482ee526715143e1433e2bbfdcfee9ba469cc5ed79ece9d721667542358310aa32d5a5a4651c99364748044d9916b3c057bda51f351f10c050cedf8670d8ba06b3d0d5509097ac1a0dbea134d6d91273f449ea33ec7d27daab99d787e8a0009f9cb9bdcb10f6ca42146a26d9eee4bcdf3a34c15bca2b4335ce5f6cc81b6a08dcc35e73adc1125a1455791d71528938edabb4bf169d00dcc1ddbe3e3ddefd83e39fdb4d16c3152d8c729e12cd1d2e8ecd5f8315449354d2ee6ff47b5010693e8a7246947e3a5619a22ba3fbe94ad2b300dd5314a25c9c2c9ebeb801ac773180bd063e15a518b6b11183fe3bf763614d85f113f7826e61a6730588f95c51193855eb451e6d4c85dddd2897291f6e865a20292ffe22cf2588088fdb6bd4368b2a5b552d42748c81f07ad92a258e0307d6ea4257a12949d51e41ab095fd2c5a332d25315604153deba5ba0aab809656f425ce60c58245c46f63eb673c32a67c62a1479c62b8c3c342abc7a1c62b15981e565dd6bfbaa73c8b26a7f92f9aa51fccd1ce961f87518077a282eeac9fcc674cbdcdc0bea996eefa479574d113db2864cdb06e5bdb8c06b32c22ab37fcfca3b7736d2c38acca93ebb7f22a558703456958056c19ab8e5bf508441d61d0f612c5982b807012efb29ea7bc0028350837f0b397c1a4facfbfabb212dc53836a92238272f97920948da33cd88f4937ffb03dcf48eabc2f223a78ae8e30b9c81845900b9cf617ec825bc63636e2224824e6fa6599a299bcb98af7fee3a00735f1534e299232928d21cc25d1b34095cd6742122d7c221f389f00cc53681b61078bddeca8f73851e52849fbb68a71d72a546561fc8aea389c7e1b6e8768ef863b0504b37ce3211c47d45d3727d5b18f4687184542ca5c8bb80b03295f0f69494964acf9b2632f5ba485f4dff3bbf72f4334f113196ec5768e5ecd022c5501534835e8a8f7183822e234449e43ba5ebc2465448153dfa27059d9c284f728cac842d83990e7132c2ae29dfabd9337430850fbc413a24d73d6b6f6b29dc5f5b965624d25b18efc46470cb85ebd6a130bf8dc05c8383ce06b904aa6594542462d3a7afae2e1b2ea194b800ef534c04152f3c5382588472bad01e9acc7b4a999cad8a8e167afaa2ef7ca2ad4c63289b05bbbe9d6224f34b4e24d6bb0d61027816acf640a927d08bf2fb7c19fd6cac9f7f320120df507a59ae69e3e1be07d8c0fccbd1bbad7509f0303ad5deebdf9e59ce81f94012f9b4a685157127bca782792c63f9236ffa09f27c0fe28f370297ad125a0bde7323db77bf0c050e6766676803c1b5c1da3eeae9f504fed2c36b7b965ac1577c0f5be01c2b84791fef5c21170bda46947b61005ff7e8d616f333c1025a4b5420f5c38d2d6ff0ae8e4fff4b9b5f09cc3efdb41af9fe761171cfa12625a76d1d7d3e8dfa8c82a7ac80b0c59c406a91970488ec389fd46e255410e246d6788d976b8f1fc8f2200730568ed3d57ffcb0949cbf4e339b24ea991aad0b0f470a278d80242c4f9bac595ce50a03c15f94de8f0c7061a46bed71b7b361ac94fffac2857ee73559b35c2cf30c4eb99991dc68836f9427adde462f35e3191ab80b103ae7f3407a02c94cfdd80525601f35165daf31e0c85067541af327fe4f8f91a26fb27f548accfd1cde02c82be01b0b23d43e85113a730e204626d440c06c974cdba5eafe44ac985bf48dc5d6cb8d76d4dd26efcaace142be6ea729f629c2552d68f31fe1323e26c4c3e46fc9bbc5158c43a5c049e6347da836638547ab0e90e11ebbcf82500b6f5c90f364028d6d6fb224de5733a3b1d4bfd63b09718b10d31161af25225e36a618efbfa47cadf49d1aa2d90ade22059731d9d7cdbf04b0f99a7ac5840f0adadaf73d545798df6f0426eb884f7008c9926c0f7903f9fa1f3e7ec9fd0e37b1f7777172cf9b1c41a8febb798c54a5edea5f4e07ab211c559d02a611bcc1211eab6cc38c78af391d7bffeeb267464301d73c6bd51612e5a149c3110bd180b08d9337f780e6f533ad849dd68e569d9129bd396e3ae4d48eabfff9b6121591d3d0ccf0264867ca138c01d8c9baa26410a5af73eb019337945ec96860ee44fe75e3e3c064abbdb009d1f7b493fd8c782c61f851cf1442ef865ef9d9225f22cdda69fd0cf16506224dcaa1ed01af0dc5d6ee7ef0bfabd95a5901560cbecd47b5f82cd283f58f95b7e2fd7f0de6f1052537fd5bb7db8632ecb79b274ec8c182ee050f5d9728d7d4d00198ac4fce08f3f5203fc81d933567da7afa1ed5b2af5b671f3ea5265084f3c3c8a72c4fd8728d87d92bdcc0d1bb4b9810277ead8f7ece4825c6b466939dd493146ecc18dcb5fa83b6a19e4fc4566164777d011b2c9a83a4f25435c9d9425ee5e5bd9cff0a7e3cea78353a85057ed34351242a7a214372334ae2fa2cd6e8ca35f0bee894e95a5474dce19ac8660edf2bf134cfb44bbeb46eff9e53ba45bf23ad58d10482807197a2dba0fce945afb46c204f59e469446c62d34f7822fc30625a762b27707025a7fee97eb750751664be6b91ad90a3df232c34aa65d10a87429540c70c64dbae2ca5cf35c7ff5d676f4ec8aad69c041fbe4a3d39e4e410bee44c396ad9ec3cecf5c421874263d813faa50afde4f1bbe1c1e5ca7c1d8dd68042820b3e573f67a56480ee2562abe9a8db5edd08e0f9dce0a864da4eba7dcbed1fc85a72d5c7f801c525e616ca98dce3823d2009c7d13b0f5f585bffee7095367fdc2ae80c0923210d06d84c0ec86baa1ec82686b0c434e804f4876f07b19f0529e4f3187db8f3a7b58f6e47346efd0d2aa827b7b7cfcdb9aae8b6179ee85f263ddd37d69048dd8970d34c90aeb2958d5ae4a015732036a5a7aa2bc16a9569d7180ee964d7a85fafe75790e7b9295170c3b630ad57883f72d05d145ed199ce4a9eed9bb780a1b83d7b1085b2e9cac5f239dc5b6a2f813cc10ee88b7a73168c2b4223a87e9b2f0bee1da1e1c53a3f1b7d8059723918b77000e0351a6c5b8786c12a6a0771e850572e40de1d00072e71b2be847706398c2c275135d58614b5f4eea0ee3b6bdaca42f017259820eee5b2293d2b9271250efbff3f30a2a2a59ffdb2e3fa48f20de066b04387889d6131c1b285f05f8fecf0465274b2f40d73f8f2f388f4785c09df3ce44f87215bae7dfdf456010d78c5be8f5c7ab0dd048f49e590efafdc27cdf9962b60a2a32362f42322bde567502facb66345eb98b98526d567ac598176e396ee1171d730489396e917701af7e53b732a4c22e82854e1219e27328079d03c19451752cead54f7d14fc45bc4f4d4c0e7ff0597b38509024010d6408d5d6a44930383f639fba0c51e273ef1f7d5244324a91c9e759bd7a2b55dd574caf2ee9180433fecdfe7a39f26e09f7be590dcfb9423cca9508102095c4c69845bb675400f18dac7e936e928b710935007f9435819d17e59073e00e60862ba5e3a02e467f9a81130f4b2034c2cd2a12d0806955d3880ba01d694242ebad26e277ae643a500389a23f768d41a90afc786b9dc9b1d1e7c1268c847f6076fba6e31f54a38de35e4a147fb0b295fe1a1dfccf275e7e219d3a8aefdb0ba26b81c0b2816fdd73280b8ffdfc1a36cd877c9b49f3da4b85d4cac61b2e24162adae23b47ea4dfa38b68f216b741b6443433599a0cd18486fb56b5a17132f16d1d7d7b66c7a371bd03ddf0afb6441fa9ab922e15b6139355730404c8e1760e412536961bd849ff62d11d36a7e93957a0fc7f51fca4c49c5e8cfbf0211feb5ce596361097375293b2241d70f98c4a797dc65aae44cefefaa902dc830ba9a62b7f8d39b63992f7cb01e8f193c02e0cb8e7a86043398538612ae05d620c455663c9ab62ffdbd2ea3198d328754ee2ccfc2ce1aeeb0fd21bec60429109e6a8a03dc15cdac960ddac32e0a47313ec6fc032a45470f3aa608caa05ee7eb7f2d30fc38d1072d6ec677703be77bc0b04108fd99d6555b0f487c50b6666695bc38982487b8dc94d336c399b2356f0933ae126a3f6c4db5ff77518dd451137b249d70d6f001055ea47351eeaff47fbbc8af8b996c869c187b9dd343a74710a9c34d2adeaef61b1e2f98a27f4d4316e9b2216d8e55a5de5d3243ec128d086c76a336b30136905748b44b5b687a80601d8841d15da31b8739a08b242fb20e7942a8f304ace2fd13a0754a50ceb91363cbf82175c12e3256ee3e81d01269fc85fbadc0ff45953edc34e3a6c959666a5aa73e35c9c7ecc08f641e4b53e8fc25f69c5a92fda4c308a7855b324aee4d0e77f0f10ed4686a823f4b8d7a426a41a41589a1aaecf55a8035308f1e5f04bec004662d24beb6d8957808e96d3088a014c66a09132dc5631e6b0f97d54dd6d82ae45f12e7fb729a409dd555d86d60f40757413e4df612261cc0f05a9c8bae1795ca8491a471b4e75a6e28f26427929a5117266418b2499bd96056d80eeb243f8fafa542d228e695c75818106fe29aa8b4244cee0588662fbbed1034c4a772d3f02055fbcdc18325995e34803b4920b194b6cbed6f2fce1df4ee8fced36e1c9e980cea55dd85df0844adf90b4a5eee3645ce2eb6bd9f10e3c3b085588c2787dcce17a3225391b3dc68f8595ec4ece77227a040084df35209da310f5416aa365f0122c23a0b96d50ad622e106b986b26c05d2303f278ab5bef33e2c53f953c49d565c7ec74f9613a9d2b85bd454ed718b2f558b5a7d9b81f0efab64176c37805c3a86e8225f89ea2b3b815e7be37924be2d4efd15d45ae509618a68f03da9c9cd36d0ad71d659b17937a18ec3299f743024f27cc0ccf32b16902afb76d3a6c8772aa7787edb43b02ce836ca30ac4a400db705c559f659d10ce60845d84aa7bfabe328531d1b863e3380cb2ba0f67b29ac227c3751b8e090f92e458c200696911a67147715e3edaa042f7fde09567d2e5483b81101b5b0f75eaed25ed5f500ca82e31406c113612603fdcece45e2919169c0637b8bdedc83c5664fda9148b3ad7d6450fbabec5855004a3adccdb297e1b761407025ecb762b14dde76643541b8809a8aa9c4b9f7f93e7089d82f3f8e3af74b3918ec35b61e77985a89991b0eaa64fbf60fd0ec88b0f7d9f387ed40003b0497d8f6d1ef61cff0ac4dd10abad8e59eca24421009c533235b1a6a18d8841ae44c6c101382f9b3150ae0c2672eb8cdb113b4e9c97db8a4e744e852d75f1c4e732ffd9fff0c97d17521b8ee04069feef5bc7355645708ebd76eb40df5d215205220af97ed15cce725ddf3a24d0e9653bc1f0c94782e1dd028e7da0a2064cf68bfe4276d50bbd035d49934e14166805fc3c6475d79040fdf406cc1bea5a4c7b5be1a152f484990edfccb40e5643a73ae3e71ce2b2f31b793b519909f804b0c075a586a4782d5069d400332246528b78a326afe78c44f19e60886611bda055609796631253793145acea09b60e13169cf9c76cbdd60172260482dac22d455b253a6efd741d609beab0d652f02f5464a59dbac8ab0545f972033f95cc1a55fb3ea70fd7eb5006e3badadc339de96baaafd25bac29d9c9071fddf7094f25bda0fe2d00a28921569e84a6fd31d24d44a852398ffb139d65ae6e904a0a595c8e22315fbbe88a63231bfea4bd9ddf02681cb884fd06d0d77528f8e380ef6cb3f5b88f91f2631a562552cbd2b1aa19108a24bb7cd40c63e063e72c6fe2a58aaeb82cf5da04961e89ef32d92822e809e89a2a1e55d2c694a64379a28b7de864d39357c8f882f19461310f8e0f5f43cbeea3e291b7498dd6b669ea822e5311ac3d8e01c4e92003e8cb63ab5c3ec06b7cc2965b9057768483274b532ee6051904b7cd23c050a5144f671143bc9333f8034aaaf991d52b26a415c0cc9334d51f32df097db768e7b63066915bf5d925db355beb2e77b31ee9f51545d7e16d896068674e58b9ccbf2ac3511557818bf45286264f25e2fe7c05cded5fb4ed6704d6c6b92d5798c898d201ce6ca588ae6af6dc2e2ee3ae5087e875130fc8d14942597e0a8f8033b6e5d8df8df8a8ff41576ca3a8e6d6d2c1c4139b81b76fbe1d98c32dfadb72a57fee6f32d8c22c8b8cc02e43b99decfdec3417130b4ef9555e32ab69a52c806c8c40b014be2b21a77fa115c39df5b8369eeebfff7b12165648fa21b9388164238d452b4d6f79a91ff55eeb9c04903f5451fd973b8b9b07ba36c36b3c5d4d1aca4dc2c66076954129080bfca7151c539bbda8ae3f097a528d507bea4bfa52ff991b4b8a559ca4ba19c390cb1605b61ee92c4a956ba90025e5e366f901d0d51b50e0b059f9c5298768c2ef8c72422993d3362ce4683c44e8dc8b20714ebd9b4c376d83147afd863f92891ca8532f69454c94ede1f080475ca97602ce7bdb127892c490190e7bfc2429aa09070a12eb8f6e8ea9a8b2558f664d08993497bdb4c472f5790364a6e509135f31bfaa553177a2c8a9b4c717b6fde05058960eb06d23c169216a7f833ab890c51dd0a46ebebe65dbb37fad52b5f4d544b64acf2569b12d10696b3a93fd137f759a7e5a4a4466f205364e1457613633491cd94c872a0d1f891633f07eaa5a84c8dd4eb51f95dd97e206119463ccb075106250bfa170b332c6054967b5a0cb20d0b66e25066bd905a05875478a48ca2642752161007f32f02413f151786e2674f5554dc4e94bbd74af8bc8d2b7ee935af036cb908d6496b4e0dbe0eb9ea83e499cd64116f28b4dbf4d5db8352032c1f5e7f689e246bb9bcae95936b5b0653e8596e3c669ac5040a9679af03a22c4cf3408d7a890513310d00d9271ca9700958e70ac282315efdf2de6c6ba0b7df8cb75c4df5f3d47c055885adf42bb5db1d0587ac05f5cb42884da37132a4a4029ebded8f97ab5187efe797fa22974345406b758aff75400adaa3741f433ebc21b0d50b1b79cee415edf636333732300f5ea3b4f1107ae8bf08e17573fe66aab64b818af4049f1fa43708e768e088bc22df842bf14a020d9b3e0e35591378fa4fdaca194314d27849b368e48a3e650b3bfff2b70ba6179e17b87d86597da13f0687d1591d8dd84c1fe8d0f0de8b3a2c7b8df97b89a118fcdd5222ad5062ba8ef025d1d29e7cbfd2e1fc6e21783abc48c8830e65734c8135634f06aca03955e4009381fc9f65d78a53ca800efe879227c560bbd057a522583ce2415ce8e6ed88f7394207463dbff8bd8b7c4f5c7d4ce3aeea5f8bf8ac5589d168477bd448e6e1abdde10f9515024cd226a410d86004663d20da96145fc240017782345621d58f0c0d42a0c5d73ef5049edb23f959070206cf201886462332b6f13b0211091a62feb739c68ca96b0d12a41d3ec87a91eec3f42295513e0a73d6f253b886b59ac63567836f1afa14ff455097002c2d3f54c0f1e19e14b2fb26a5508c30349cd57d7149712b044b75810c9c97d6c3bcff0cf02b347c30310a431a0ad92ba90065cefc058feb0e3c87c468e6cf47fdd9e97b34555f785a37afbd3f6468c8dbe945d4a2d48d022a1533d535891face1e6e8eafd5a1d31f6d4ec3a7a66bcf3074946aadf475c512f5ef5ca7e9ff6fd576b3289ee2a4d779489ed6ded8ed95f05992326e01531663d22349a52f8037b7da59b63a04c9eed2b407b508adcd62ba79671886dc37512cb1c9bd12f04ebd8d2bfb5a9f0cc1bee36741191137bb12edc32be5e71e92cdb00f0caba1d85141c67bf0fff7ee40ffb5687c06fcf173467d83b0f546fe5ddebc4c1121262484e2bd6c0c033d3a738b905ee3055cc24e5f2947747db0d268b7ef3910c956b93c53c811c0155d4ed2a3713331400661c53de4abb7f39c053f53569fabb84d385a09d7baf2627cf4bfe85877f5921e568390dcb6382576f4779c008f26c4c8901b736dae9fed5e7f02be1473ec80ea8de573acade85d0283a9d678a24c5d97ed86a9c88ada4dfc08bdc17bef0707890949d778f2c2399a3212a2e81a1c1ac01f601dc16db180edd10590db53a085b7cb579af4ddc1d1b750a058d82ea193d89ace7c0a35430eaa4548f03153cd3a2ea9ba385d3f72a55ae49d65ba637e14c2ec75172a0d86338d51338115c2dc2cd89a7b813a78c264ed6a549abfeecc60c02fad742e41fed021766b857a52a8e2fc9c4aa1bc6e58153878c9e21afb8fc505af167026f9853051a20f520bf9cfc89b93a536913cef3e37c2201ad1350c3313d484abd411029aeb0b7091c2be33c84cbaf13bf49663c74e536beccec84aecc0d7e5a16dd13aebc84f9d27e14bebb7bc4324e1b8135074142f0303a7ec46354db44985573839af97a950d6f3bd5d1f0e334156320c68d1fd0485b43e647ce2b02d1b9df5e26620799248ae265234b321313d9b346a8e8740f3077969b7c1451619a3cb93c458bcd7437c301ccd6dbb2f4f55cef8bcd1c1c66c8f71a285ef55b1b19321c592e9a6f184f4f056da3c5b230d9ae5a00586b790617e2c51b9eb82deecd3eee3de48e67e9bf8d7e486ee00b66a7ac250d33eba3b1c78fbd7e795b80b856fd2c1c303ee41a7ec8efe17c94b815c6d23b4f435c2a4fa6dbe6049640d17e8d635943eec6d537b5b676cd96d7cbe67a32b9222c30d685f8e704739623ed699cfed1cc56abd1d4f63400a877c1a6555807c234e034780c111294dba6d4542f3f066e07c6890633078a23d496bb379fb161763401d60e5178e802638fb8d982b377030e49cd6e6bd25a3b21435c805ff897a84bd48e451993f2b42703a54d402c5de303d125ba5266a38843f04580560cbc5b25b42d4b1188637cb56ffff80059552c69408ffc9bc8a454dbf124d2bb741398f90c240e426b95e4107b7a525b5cad3857d8ededd957b2d7d74b14243f82683b6c212b10eb8482f2cb085eb73f353cf6a989b1f6b8bb204e93bfcf8253901345eb57732341b1970c9be20a46aa42c053721a0a9f6d20117731c401290e9b7e3734c4f573e4011683b65511d1d9cf16ba00e6644fb02b85fa7e5388890b8477da163b5262e047ff5d00968529c70521d7ef0372c6d7782c10a610a19a945d98fe8c7c1204e69dec7e6ca868092ea466888ce8a08fa86a8dc80f4c80941cc4e15b072a61cad023ac3d5eae0396f425ab4bd5c8f722f5170bce192fbd179cae10d8b59588911aaf92a844a8fe31d9c66a20b4dd7611c1118ca2ec087e8ffe80be4000814adf45df4633e91e5d23c28eb7b3444b0f9e8771aa4f3eff62b58d1b6f3a387c52323d04cfeddcffecda6b66741ba8a5253664d0625d5e75b33f72a565d92727a3bdd6a48e3d5cf6853fd21857ce0a394a97eac65854ea2c523246eb7a41c8f67f719dbfd2d3cfdb36e864f8c201c2b92e39267ec959712688e2007ecb602d6fb5f01452dff4206ff8d0773e52f4a9a9863a5ebb3923e24e05aa2125626e708ee4201c3ffa1c4b76f1c4b1a37a93df756b4168349c4b0a9d99b59c0d7f495d728766e0a110e90b082a84fa8e158fa6dbecb26196fe534be1dc27ccfc22cdbb501f7b0b49c1c3d485e01731ef712e17ad654d31a964388fec9dfd98da064e23b1d831b4dd8b898e6406253a3aadc382586adcedf69fcf1b316ff38fdabdfbfbb212dbc04402b1713d7858d2059700b2aead18ab64dc0653aee130510d645a458af273d7da07f6c039078d345b33af400b26829c6cf851f53135e99c1b97169fc3b159dbc16aa4660aeec0c42d446a0c6e125b0c6e5b4b93caaee4fb4b7bfcec01ca5ccf76c0b3eeff3ff5054032b2a10e1f770cef828d473ed8e063b380bfc806aa83b9ebb478702480ef8dafc32e275d94a117c1db050c7faa68605874530b4ea5ba59ef373f59b4ac7f8c2f8f384336b491f845b9373cd1fd6a13db6b59e5d235afa0f877ca5f294c6cb50d57ed0d892d10c264a5cf7b3519e0565c03ee3eecd1d5a8b90dca8a6c6f63a470e41f6b4f82f9cb8f368e6c7347626ffb518a65edbdcbe46378164713164903a257a9df66e9be1a67c90fd1ac6e327273f1c00a6a6db3eaca7bbb383cb4d881e847df9319b9f1eb7d5c03389b68de798e44714302466095d74aac42dc0fdcd6f0a128f2b4e0b2c4f83684d8c3b11d8ac62e59ddc78fcb61340e0991cc8a927a965b3ea3731d45cd51ee26c171aade09f05321b8189422e120adf94bdbc328830de36b3a11dd2d1ce31f612acf942f157ec9fb9e68d630e704e979a39f85def758c7e730786424ee7c22c7a53af1b550755b4c1795bd7f78f903265c9283d6a9a8fe2bbe4692ad89ca3530ea908b7f9318d68e95b784bd2ba81a725aa808e4742d631c10b2c33fb5740cd6942e56ae3cf2d0785f683e7fe09ac6ab2345f5223e177608bd697cfc81b6f3e964b11430dbfac68323956c78a2181ab04f541d0488aeca8df33f16304136bb4c25e1a1fb2745db15f748368da71fd1e4a62cc68a2ace83c546267f27bef67015f09e5831a50096fe056b2551575611d5b35330c7ea76fd077ce9c67c0be95ebba0ef7c5f1376438a5b3218d1eadfabb71c3fd1dd33ec8e44e7e132c17ada708157f73af9d200e4b46533bc3762de32ed99e7da146cc47db675efd35cfeb93ae3d5d0362f734b11b9df347e205511320cb635185c6870139e5c6ce1e8d125ff3d1e6acc0bd142acb0c51447a673978b9c09e9f70e1974fb29154b5a3fcb9cc8e82755b444d3ce30f77328c15d9f8a9e492587a32708a9f2f7d55a2132c49ac03de4bae0b9d6e534796406ac21b8b66e6b24f4975656fb3e6df1deacb8a51f86edbe5edc4e8d6773539921f9bfc8a9e2c6c3c2adae29173488ea300628aa7405014ac07d4e8f5cf98a3e2873abd698efeb65d36dffaec6d768a2fd6982a870e6dfa67fe36c25386987e7bd5107bac3174d1212616118333003e66a1f1ceb24b86e8e7542ab1cebeeb769fe69cdbeaa6d529034a96159967ba7e42d34687a82efa87a695783e425a0740df26fdafb620a63247a8aa2369cfed9ed94998a734d39755aba8ff00db3e834c7493e266cff7aba52f700922d81010006dbae8b050553adcd6711a26f9d36b8f34dc19f1402141159f68129d5026df228c7db4ccc3e90c7d4e3dae736d0b277d612cd07409d210ee3320c879fb4a18333234c4c11db22f03aa62bd1c7e8e559637ce58df4e8adf3ae4e60884e41f15fa305ccb0ebaf189a5b901a8ae0511b6fae92a749f686c53433896abe3e8cece1fab115f4f07f2f53fd3da599a8bb1f7bb6346dcea68d5807987c10a1f130fcd8f1ace46aebdc6a6fc37bcc4e04967ce7417c2730b7d654928ab01ec9d0ee690e44edcb8429c23c3f2612851e58a99f9c5f16cd1aac777252775745b4d575836c7d017bd41d13b864401926dde7ba00dbc91299fbdb1357509c0ffb9a7f0a6b08603156f3944884e0edf74f20e305ff692a032129a8b8ce48bb7f39b4cf897f19814791e80c3e501cdef6a40caea327363dac27b96bf31b3246a0dbf35fa8ea7d2271983026c93576159d11f189656f150698b2caa9933f6061cb52e9bd3a60859916cd3b1b1b7b07b7b5c5eb3072ddbac531d1b62c6cb81ac8dd1966ef5d4929925abaf783b178321fe2f4b3bb60f55bfbd61d0862b3b624f62f4a05514fa00ea5ba2fcd5d033b07ff9544f750bd4891a85fea8c0b2fb741d63c0abbe5d48449594e9239c577e874c571d5c47267f639b782f6ce13e3c8ae2337761c20c532e13e4b31c3c15dd1921042fc6f11ef0fac8ee111d1adc3419f35239ac4d143b1b1cb7fe576466deaf11f4343cb3472c758a6860b65ed9c8e3f7c6be5ab52d09f30e8c0ea1fe6ebcb134b55c8fd502dd5bf89099325515be9837d715cbebe36daa555febc7721a9c30d26a7ac7738de76ff9f5ba1a97af71d93a7fc230bd53b2b346bdaa6d0e05ca91f15bba6099916d80aed8d72f5836455c06313ca50d5a30589fd45ffd4dbb08d594b9a7158fed09115017b4b8373a423a5bb1f36d84368aaca8cd9a987bc9aa278ffdc8d4a31a5b0115376d75af77d212baa24e480dcbc8b3361add98411de23778d15647436e4ffc00d1f2255fbea693a680f04d94ca3863c4062a5dac90c158242669e438bcd4c8b2b34a2e211ad908bed8e83afeaf6b50f807ee96960ead19f0045509637a45386001936896d83b53eaa1311a8d6ae5686731b6bc1e2262d08821d9631d8df11701bfc1e78f35a21643a4b660c2082d0e3fbd877e8cd0e6db2c929aeb36fabe9c3c24be53122ec66130cedb014568c497ae8b358867c33178222d34c442dfe2605c66a590820ee3e9f1a16d4f8bb6751b81c40e45d9f5158c405c2e4ded6e71078c2791246361cb17e281bd8b99772935427450866621d88a03372f0a6a1b9c72e532c9383804bc6b4daceffc7e2718b8bb0c0622f215211a74d21072e663dc9d7f753ebc86b1a94d13dbb9eeef2688378730d5682e9082dc86d427697d92406df2e334edd196713a0a70ab2574360e28c3c30d24ac82f079d299d6eb199873e484c58536f4630aa4b71feefbd6676fc98fa45a1249c0aeae2043c435e67be3f17cdf462d33ce91040378a7666f00936688883688bd6eb74c1bb873bd98e0726f7e2133413492c6d68f1c7aa09c7c981356fe0c50e07b47710c1cba747a9c90ae898b5b0e271b95017c47526aff811d8bfcd60c2079d56d21ee6c83a95a0a24c342035e2180ab6175cd76516d26e7e55cc2c5f94ec77ad60a89035bdb0d7173a3e9e4ea97558016aaf4de8f2ce25ef2692fe17314ec0d56730d2d5c9f969af800b7fefeac98061bb867b24d34fc28224709429620c830831c8be8e3942313baffa74e850370525acb8eb3f24db0ab641c91db061e1f6e4069a59c72cd3a4cb58441a18f04fb797bc172ad42723a4cc2b115d9f9e1d4cadfbf406ad9415667d4ff182b9510db53bac341e2f3975ac9a9c5617d6326ea1864dc1b70c0ca10ef1a65f9bae94df4f329ac45ee03f6c38e23b9fabdf9df6ffbf33257ec9019ae9f49c281ad1b763bc53d705e37465576f1d0fafcb8ad95a643ee8a5f3115ef0d23113f0ee76ad1b0755b6dd7f87abcaa0c14c165c000108c55d5a6997cec7ce7e6ce970f8c7af30fceafc123e65f4fd0c23177447198ea44687d88cd3277b03c370ef8353690bae9e60e3e0e1af3c2bfb7b322fab4718498d72e927039987ca8aecea10c4e6290ee71fa7ebaf6a11a5f75fcd8126c78693dd6aa340fd1a4c3981bc91bb9704ce2c031a6ce6b293f2538abea126d2b2a8029d08488e46922614038943f5bb959a41cace90ec6cb80314bd2a04de992a39af12d8c43a84202b36186a62813c436dd90dc62e0673c2760c7c61a7739f29c2659057141c66c77bb47fa7b4888067d1f60e84223f87e182389323c5bd8543a34f6d358d3d9ec461b02205d5f2a9d3dc905b2db5ad89e25865128dbae018000dc5b679bd54fd59eead5d111b4cdd07f4a159c404b3bb9d11a66684612e40216061da05506cc040bcc6d6f3a9c6a16b598bdc5b90f568439dfa96824f3c0fade46fb21929805c35f0f36afa35f5dddf3f15003b447bf6a336145aedeb6c89d49364d29eddc6c2e4ba6afd821900c542d208b877b43e43c30dd6b1610a0d9537a7dd4d27cba662e3ad075f18c2b8451c858917e902c83fd69ff14d9200e828439a96a17416f5c1b196abb10852417aab34e0398908a816bc0b74cd4913d3ff657b93461950fde889073e3b157f9fd2486c0c02fbb9c26bc64434b9d44b9bdcc54b5e1695b43267f38160d65945de7a72a2218fd04e6f5749ed53355288c4d60f2f3e924f5b94766dc96a5d2aadb62158fdcf2da3dfacb44aaf9aee31299052284ee3f81e69281efe0aa6df2f81289a269b401adfaa132fd37ec4381274b25b98e33dfa8159c5b4944c269acc95a355ff9602cc46fc32f7aa8d15b3198bc9b037f1571e8c708ca4cceacc6682cdab1624c630e2f8ad0c5681414fdce8ac9c2158b21c3340420002042f04e656d52f0fd34c9bf1de69ea7e59959bc2acd3a7a58fe585e287b99e09b29436add3f988b349e7ff3ce629daba942bb6978e50b6ba7fcac57971207fe49a9c9e5b156695cc82cd61c874797a499cb581a0e79129b6efaf72079fb5c8a1760401fbaa0c8362715e7ac95d6036b39a8e6550b6bf9f6a4f0d05ec99d42758695509522e20d7e7d982840b459bce9a2d67f57fbf5bef3bacef64c7b154ee11de7661433216da5b3cbb7f4c3e47d257c6777f3d42deda106059c6da34306f1d9784874646e1b15a9c1f136d56f1ae1e39ed5f3bd4b9f83e8698ac5218b44c0d3188e50fbbed57b3e4c92ea8be38fa804d09753efdc6f97982eb954f67b6fd8680664916a4e4b7fe4ba41ab0f4c1e06b521ca2d1399ec2cf52b8ee889013c9e8b146a5c8ed5a6a286fbca530e2ef5704a477876931474af3a91ca466c96ef457633bd8c8cd9e1865368ba7435ee86897700b5b7f88392078f668abc2add7911a244814dca67c4346780254565b4cdc2d522a74b2aac3520f0093e62207cc4f32eb75644af4d5c7dd92cd889814e356e1f50ab51b1dbd046a37695b82a6682494e2b13d49db644770b18c1c827e0263a777591b47e8659075ef5e88b996d5020995a2488d478af612c1e2433893b3c8898ef5f2264fd201aed4638048d5ce8577e13c9b060da88a57696a946eebcdee50c9f766bf40f2a6833b46c93b948887e95db2890cacb6a68bb64e17d4d446caef459ce1ae8331bdc4bfa7630c718c87302fa5a6e4a6da5795a47ae03fe96e55a305c5a42bdccfc23ea761364bbb322456e02972fc45e3fb293e5589b6b83da4108bfb890a24b2e0631e9c1d4163863d51d1cf0ecd877df46c3ecd72854f9f8e74dfa2530f96f75ec4a0b081ad8ae7298dae3d8cbc14e2318131d23d658f81c4fbbdc4993e3b33d6ef1f1a441eff2630504c8e7b49c5bf5b6a35cc80bb9f58e3f08871e8f3c98b01a6b1445aa1f88d65830c95e8e864168c8fe2e6624efe4ccb187b2cee01150a0d01e21048b83f3f8a1a777a090d86d0a001ebd4077d4ce23cd30359e0198a642c3af63ad1d10f31f0de5a409dbb1d95706d7266608a0fbe789689c2a234b1825ffee65e9d5b85d585150a6d1175f938b8ed7f6c46dc362d0ce7b0e63e8e280e4dcd39fc44dbef6b9b4b674964473560ed32bd02026315dc30db4d4a0e14eb39abe87f9c474a7c70a3cd911fec7447091c0c87932d55413fd47316252fec449cc5580af0a3e449e447bbed1de4bdcda9735c1d8c179bf862bd7fd7b85c9843565c392eda00476a1151d1a2f1d2a922665e2f563fc20b08d52ceb774b9a84258e498cb36c5c2a26a6ab3942d2154574850e24f0210c77171cb8cfa941edaa3da4e2784ec8b0f31510dc33fd954b3b21ecac077696c185a5ad594baac3e17cdf66a4a693be8b04a21ea9f421a4dd339ae2ec3d41c4199a92b3be4d0fb3c0f3d40a0fe2d04c12214c52cd99a2b70f81207698736100d58c65f450441c3e9bc9e6720433172123a61c84f5337d427b1fc5b70d5f8ddc84f5f65100695ea7127f0d18205fe6b8a471caacb0d5888c57192512b6816d3fdc44b0e8f22bdb94363e9ec4596bcd97db7aebed85906417fdda27591cd9dfa7a214fd89b03ec1675fab6d8b6bfc2517581adcac5e35190632492dec6e447584fa986735002b8495a4d6c3a43bbbe13c91ef4976b46a2009faad339432de943f55117620ec1dde90b7571b4f0d24a74b039520d629c2547b7a7d7c853d0c2993a62e4d2ffa2a23496097199866697083c51b254aa84901044ef95dc21de4bc1cbd4b3f353ea6d0430aa0525d1cf927eb8bf90dd964e3e0ef94ecbb3def9c1619baa1be30fe153bd78c20d6280c82ebda475249d687701072d7b8301c328abd5178134b16fd2fe6ee4357c026ce99ba74b35e5d19f0595e1080b002bac1f4a00be7fc22265628e04f62ebf705a10207f79146ca44669a27ff85c5fc564970425c12883f7c74c10033983122cb6f26ef249a2031cdeaa0d1877d806eb8111181b25e8c176452a93b8013686d3be59ec5d7b44838c159397f4aeaa44314d35c5155ece25b277f16faba645a3627da1eff38227c27f702852b2863c2b237047308d870613ce50210e72cd4f9187783b438a307e1da7ea146ae6e9f196124c10c7cc113c7827ea3b7ce6247d240a99c35bd6bdb2ddb8fb89680790bb37801f13d2b3ab2ddc307b42b1ba79b4738233f3ce77f422bc321f1b25fad25f58ac9a8172fd2304e890c3656bc8406b17669bf19166aff19d3771f41cfb40fb389ae1a0242a1d670e30e11d47f8bba6621a6822e877f94668beec9fc8ac04fb1862f718e77f50c9e91857fcbbc812638adb0386be4bd890d324c3d7bcb88a9e55cb3f5d0234195be5d1532b6b3b7547af5ced172105a2fd7be89a4b2a5d953b09891242f7d8939f88095b4db542b23f5daa11d11b42060ea0450ff7abcc89470644f023787cdf230612c8e5fc34aa8a9c9bf30a359f1914733ba817ad9c5bac027689353289b3a253b9e255257bfc7f30290e883b650e2919cafcdbdf92b57cc37d10d384d8bc6a0a3c4d3a65ca682292fa0e60f2f29b85411d621a3d07827b5336f2c5eed972c9c67d919fe21365ae6a14d7a083fc193cd2b8bcc18b9571c38ed0ddc01bb8dde1d00954eb61452f5288c9632680583e037488a6c41980ad6c7aafad4750c8e0002f63396b4c56528f5aed42cbb9baf56351f39983bdcb21de9f18cfff5384bef72abd23bf9848f46c6bd43e3591b2e28fbf30a0ba03730de4b6569cbca2ea195920a4d8326a724f33f565afa15da59cdd6ea1850ee8cb8158cedb15ebf029933fab5167c9cd0e1e5f65a544ca3f718078558d4e051e5ab33e16fe71aa80ae46473332fd56627ae68fa1f32348a29573792b84a49cd221ccef3ecaedccc4c0812c0e8c1e2067d221fa16a7cd96b1855b51d7de2aed674af4c7979c7cc3c68ca52c9284beaf99a4e6e6065fa736f5a0134b24f168bdaff182d626e94cec87e67a21a5a27dc604b43392cfa993f573da15593ffb5748e2f8c40072657d12c0fcafb6ea92777c6a87ad572824d564d92f1ca39f61f66e33b5f85787f4dce6e48ff5248824bad9dd6375d12aa76a27fd3f66cceac9d8d441514021a34e31679a135e6bae2171ac2e50e9a01c0ba39f2e7852c3ef9eb3afc19e87f01d7b9599260f919b517d6353d2ce9ac2811e37e1b351bb11d54e3d56f4f69aba326d7d39a613b1568917e981770fe6854b89a6f2ca0df7f80c097e98008641cb87f195d016a3b26e2d24547c5bed880542e66555a31acb6855833a8939d048cc6c0f8052f663c229281e9e5d6ac9cd04944728a9a4f5c8341afb8a8dc21c5a01c9846af0ac97a3dcd5f2d97de394276d48681bbf913a4839edce7ecedc5c1ba35a45cad371c11e04c419e8b09ffbccbd16b380b5f2dfc420d1ff4105ba540c15932bffb42cabbcdbdd17b217b9774ce2dbc88f0d28056de4e477d2ebf2ac7574ebc3d2e27fc6e69fe502a898b80ee1b7f8dc9824423a265e9bb230e1c1956883c36c521b89d88cfa9217f9a38716e94cbc68f37a902348c5a02d6b1cdf9b43bf1f57e568d592769f154e0b58882befce7d8b010347f43668c583c6311e0b49cb23980970d66a4043e9cd4855f08eaf13c6fae7b08e3c9710b039d1136707ac80793f758cb1e0235c3913590ec8b57a631acd52f27db2a55268de44a066cb3d60bbf152c2b6e99e2ed6351016381088abf40359f060f8421aab41d967d0d282018762f6795decb5198a395d0967dccd131ce0f31d4326a8bcdd3923d0f39243d9a2e892bb3f1c77d291f0d3ceaf8878f836e6ea76eb6c7cd666aa3bd30d3d6be774147b85eab39ebc3d8413394e62a5de554e3e20df23892cd5dd56ae1e498ac2c0c0d56b809a8458bfdb3549800e019cdf85663ddc06b96c7aeb0b2ad17486db0d94994f47898c027a7b8054fc74477ab609ab658634d017b7f73019c187c068c5254baa6f0d52df6068d6e5dc92446dfa77cac78d88f5e942b18bd8350de4707ae2659bb585b8163852ee031849d3c08e19c9b7df5177a817300fa1a5dadbb3cbf79d63fbf65b09b0298b01b05f2fbe5e7d3178de1a2effedb6b9fe7e4cb54e98a1749c2fcea565ed10cc75e08a17f691ffd79a309d6b6e4d6660458d39bccc9190b33b44dfa6cb7b081d3e6fe14fa4dc5bca9dd78db3ce6c3f49d6bc739d7fa3ea1f5ff74e0566a95f97d1b09b413b8a37c733ba82ff79ba56edceb58d069b92d5a37e3901434fd7c1d6300d1fc032664ebd88e4f2805d1db3ad756baedef5e034b24eebca57b3150097fef40942688359a729a699425f4f5d3a4d24139cadc3df204cc82cbf1879bbe01087ce1f268e05b5dffdf701d418ef62d01e6b5cbe21c418c3708d839223be97a9f12a4263ce0d404d581ac898c5c0344be2240c9372601588a22b5b8a164584ce69971d9832787f7ad49cb0925a234e971718c17be0caa19d0c814123ea00b911e0bd61cfda6f80452511f924ffdce3a8b50dc962fa6eaa378a997bb7de3538e82d8709f5c6ee94e86985ba137b149275bbfaa9480711321763d3717c57c8ddf6c93bbc11c1d80716dbc41915961eb01045056ec2573abd4159d152ede4682905719126803e89324fe6f883cb00d62beb8ad9d4f1429eb75d8cfad819fb34279137c2c32cdedc217c697858f4c62313a3a70ce32b14259e1192dc4409820ae7ee33cd07935ca8a9390e6cf4eee8818fc11f8802ea0037848462a328d8c1bdb6b158f6ae86dbc4b8e550bcd57c70e281cf93044031b243b9ea86bb1af9c4f99ca74443d8ee7e65f850cf8d7fef5a8a82c05550a88990b1b86d583c5303b3340f519119d0a9494048ee0ebed6bcfc206606720d612b1497b93057eddf782f8be7c563bb7f267ee336258ab5840ac24eff07ef76a880274d0277ee0a469d1e690468b6a3b0320784656b26ef1ea44c72aab3869bf9d535ab93c6cb42731c8a0732b99d5173a4b751f9fbb4c0679747ab1b80c0ab4f0168ce138d7aa0e5b18dd5f0d446f763c431c7e628ad3f49a2a4e274fbcfb541f34ac1c858202b3117993c976f9240b47bf71fe0e0585303f6c16e2b1e8b3fd4b581412cb96d69391cb9d88958971e4db9fba91806bf0b31b3dc1dadada8b65ab1595d88ec684db3f4648b06d785d169c9cc156659747a3ac47fed6f55538dc3edbaf4f80ab67f8b9255273ca9adc84d0e27010265d7e5a4da621cfd047bc29da7f1fecfc3b73daa41154a28dc698dbe04e755d71dd11ad1145fd61de12d00d47334912f9ebea9b1e88059cfe3c7632badd3c5f552ee7a265d191a3186de0d0a06329274c34ffa3758ba2e39d286990f0ad4426af148b67a0f19872cfefc443f4ad5dea7722048fb4d569b2cacecfe8f5f3c230e39cf1d6c8ee4544f7b203f2ad26dfe9e2905b8dacdf852c13ce71bd6b398009a23f56ed69a0ab7e0ecf3cfe0032f4ce860723a218c96929fac717d86823cda64c36c3212ab8c624820d783cbc5e7319494e321cd6c4f7fadcd82e1e793d5529065bba4d99887580b95d1a549ee792415a4213e0d201cb4e463994d8fb6d18f275c31d118230ecfd8e381c1324644e5ccc3d068627b8af97c09d06b332429ba8804e3bb102d77d279608548edf641f7149ad953ef81b4354c5d66fbe057009c02d42ff403e4e777aeac84b77d68eae3b06cfb4b374a668b7c18a6b6d50993b3e75b21a4ae4258287f250401febcf97a88af5960960cfeb6914fab1d6570da6ef036ce2a087c4ba79b7436c8fc7a567a0f4e2b798c9cc51474bac7e741cc319da59b2f997cf59c09dba2f2c6a5980540c1e17c4b62307bccdc9cd46558b134e169a688417f68eb2a7c7e1eb69ef959150d07dc96b183f972dc67a7f324a3fd7dd2c4e5ba1e623a237ef36883b14dd4540ae9a82af6e4c06b8d53ceab92a853ab5d08cbdcf119af58283a4d47b5cc8adcc4ed15f9988667428aa2923ed043fb5b3a864e193af56463720c185a7fd41fa19ac4376a15fc2e38b26bd00511c21b34aea4732ce4a94174d88a1f6f24a0abc0069b8deb3fab9eaa0b8ecf36bb2000e9bd190944828bf53ef5bdb7121b69464e876889a6298de392a4aea1ca494f59e7476cb23101bb5d67ca027a980107c99ff61507dd0d033411c88aae0fb3840cb79b5c9a14a54d88c7c08ba47d6e02ed1594c110a353580762272350c25cd8667f83749f86acd5e0a7b62921356c4dcfc4f6b7dfb9f1abf355d59e2f28c0e897efb2e4797dc2bd80fa2ac1e30cd85edbd983805e85025b5ce59c7ab55ee333f2991bfd1dcb887fe825f2aac53dbaf3aa4ae6f0e8a000a21434e44447a8161072fd9925bff0da3113b1b0d05690d3eaf5ffe478c72e859daeea100ae07d8d54a434fe3fb81a09ba9cd954ca3b5aefa6fdc4b685c9e4f70c4dffa25bdd169c9cbf954bcb1393342884de9a84f3719c22c265f4aec8ff212649ac67c9c46d4a66b5a89dd3c0dc68e8ef7089b2c7dc814d20a602b03f30cf176305dc995f25cd7c52f4fbb3cc4a39506ad1bcc2d4d12bde05876f74d13b230b5ccd78205afb5e0720ec0fec2d5adc39cdb7c00de3dc36443ef04f3ed00023f559a856ec3e77c851288178a4d583eb8f9cdf06189ae1599ffaadeb5d1b478ced4b4f6d6ee5116470702ddadfacf4ee493220acec813731e07aa6e18610eb64d91689e9ab1f6728c8f3b8a18e877d060c6879182332e6c3fd90573e2d789ade5e6499db43b3c357e511e48b19bb66209b76bb8530b60878d31dd0835d407273efa6003ac3b09c5d4791d63df5a21c8c5ba40f93ddcfc2d970d9fb1bbbf11863ba79415288d934a2714dffbaa894e44f60134cc9af043a500d76b44771c9b4ee7e3e7aae568a8bd43f197c53dde81e29aa62701bbf7b0d14d528943bfef9c70ef4c008e395c2650203ee7ecb521c533462fe12140d2bffd841f2990af096069aee63a2870e50f5e7418900bad3ec560d4d6e95790fd00ad9b7987c0000e0edb6eb491b45be2b5e1635a63a50dd9d43c200eb35c0a27c0bfb4c05f22b45a851a4e9563b594c176a1383cb5432945e51a2f70ab6412b3590db49a2e654176d91c5ecedaacaf1f7847bcd8f5c55cddc68fd127cb5e69559febf67537a29f66cc936d4d501fe95c2cbb91b0f7f1d5f6b61ef9b1c2b6b88cec3bb64b9f70de0779fa52f018555d761e466eca1d47bcad58bfa5ebba5f7bf61514334550a8c4517a48523fa27a039d84444f539cbbf115ced22ea5b07c287897c8fa37806f814df3f282556c5435033707b5e2b45f3e3896c5e658ee0e15474ed77693e6bd4da0c589d582d4503193f5009922ee0b7ee6dca7f7a4004315fd174ab4f78aa82bee479aef34fe28b983fa3c693d478fe2e869aa47a5a186aa50ae99ce02fb8b0340e4f7efa69bf7b94d6294ccf27fc6c235cb55090069359699206526a2c08a4c1229ffbf2d6a6a53ed85d9b79343630bd844d2c01c84cb86a300fbd8d5f94813ba3142119c1d405ebad19687729e6d6b671086ca5cbc2c9ee584e5ea9916e241c5c8e2388b6865929491d5f3d64a3ab466fdbcb228063a379234e136c3a8d1fcb942957f85e98801fd555f668df4fe7590fc227fa228aad864b90bf6ee5d357aae47bde74c95c38f9e2817997652a68e07629c630bbccd0b4837de4814a6f2850a27839ad5bff2a1d42b8a724bcddc947c0f2db7e2b02e905c3f535f5790b9081d9c27af5709e65d7cb64f009b8e9e88ea24f23ff880caf2d7c724535b495e2e5e99dc34d67edd4a359a1729dcfc6c9374cfe48b2f6c49dab7637bec2f21b490e30bf00da957dae9cd80776877e74c2e0cb0fcf2080a2f9ec1e7155ac048ee383c47ed714b5ae27270424eda918c5e242fdf1cd6feb1dce1a9bd9e389a644e9596a36bb221007e15757623c48c841b85a1766c19ecac32d80b78a037d71cf1e5eae969d1d2854e37046fe10061f7860e9d37af4a19e23cb007b532af5d41f757b5a39f8413fbd7bf58ff1481ac2219847f82c9c98dad29115cb73620e69fabb5d110caedf46868134ff2a48733b06102a566b4b22765afd3f6f524c7f79026e2e5c49f8e321c429dffe1f1782b02f29c007cfd7cc55d51e13f0d8bc304b195d62134f6ec18c2fd2c96fab59b463fcb94669b32e6b0b4aa0ca6a8486ddfe7ab50ea03e41158aed4f835026825892706869bda2b8ec40342c0419e2c8e437c96c1eccc799b3c415ca16a3acfb1de456a59b8f57d189950e64d9672923e6780e08f1fcf2ae7815c7c78b9d8d99cf672559531399b34707e65cde9cf3bc1cb00c56db4ebe614e2442060c3bbbc50b9345747dc110393c6f04ca2ada09a3007e6b7d457e4415c5d9206a18b1f828b5d2e3b27461b4bde374f85cc1974a3836d7ef14c94c07c01d7fcb9a11c9412ace93b9d601bd9c41a535afba212abcb35ce34560108e7775948c3868f490c2275d43653c64815e65ed848136501c4fa95222317fd0d3eae1da9d2bb236cce838c155c030457ecbc6bb9f884e53c0a600fc029bf6bbb5fb2daac460d63458b70f8fda13df339709a920fab4cb80c32cae4970bba4c7da8b71539b11b9c9fe9bbfd8a3fb6c9d00cbfbea3c8b9c1a39ca7aa19ffa4e20279b1c4724894d44a639cbf78529d50b3ede99d012ac3a0e4da6be499c3511890e8fc218ec047bd7acf84a9f29260142e03dc2461cb741f30e2c91d57b7aeb1def9cdb386558d3c1690418b6370a399e7d86304217a3e4d9af9464d250e1535151f780f3e4823c4c9b543e41f34597605fa5cf13b6b1e3c7f089fa1195391f4a0593988cc498ccbb3723c9c6d6327e4b953fb44f10bb967a50f70196b8991b0736d0c74ae7e30590858c2fa2cc77308f23a100733e3c211d96fb0d3b510df0b38d1eb5d936dea6d5e4e235938584ca3de74b564ffd5cb516c5e208d5867ac8657bafd5f66e9cec35c73426fd42689ce06a9b9e1b7b126c39e4dc6573c75ea330837b9ee662ad134a5b549fcee615d8d35eb4490639dd0eb16c8f32b2bb3c6eab26b2c9ea5631d7774687c517931051ff2f4f07ba38529860ed1da47643b823393e03a93b74591b223104006255ce400d5a60f65d63a85478c8df86bc42a105db962635ec9d9ad29f4fab2e746cabb28fbe3d9d752953a9f40b92af90743c606e3eb57c008f96c46e1931fb72f625b2f9f8402c5316985ecc04605f22a79abcb0a23c9d88c709ea9020a2cb2f4f6932a5464a786638280937e99b7435aa3edca20376e2f106ca276dce4dd371b02b049723d8b9d37da10727b8f2773e9081a4b53923f5109273d540d10c6e4bf2cc1a635c0c36c9b61342219cb9e32d5b3043fe64f2a36f7abdaa7ce641015c4c696c373f64af5c5e2beb271a7a2372854b7e6e552dbae85a1cbad7bce1b27ae7aa07acb358a468b9d4a3f58bf159a5194d97af26782d7c7ff8353f67f0dc1a265fd1657e25baf0900a94eb29dd81f7d8b8add024b87dd5d8e0148124533b8c456e2e7865488928133027b15b7325809af22bc36a521e1dcb3c1105e9548773f35f23e30d4784363b8ae2a78c07c0ad6f1f8534b2badfd977246947b47392932094b562b977c0f52547e00306a3f5486a9f8236ddd72b8bf735934c0a52206c7d7bb38b83f72f79acbd5d75780e38d14bce57e1f50e7cdffbee53c969d923f55891508bbe1c8121d698d81f33e435759eee46c5c1eef961070c41be8a3393e5a76aac8a3b652a45ce98f37cc5d3873efe47bb5c35c46bbf14e47737a86944dd538cb76f6c3974eb42905bf4426dcccd1d80f6ef3241caf53b240424c62f89533e4fe7579fa50226fde0c4cd7feb84426a2ba3c19c44012b0d382b80b7b02e1971fee2938c5f99d8d5a7c8376d31c994d78cc2ffdc761c8a0259f834429df5ab0ddc36764ee74963a61fd42775aaf7824b53f4f9d6628b852d42871655b27ab306e21579dc7272a907e77d7860613dfcc2f42baee7e31a9e0023930ca1cc36aab0c4d1b3eda1cbf0ed9eb1919f6ac457203942adcb1a437ad611a73218fd67a39cb43dedabbdc9c59c8dda0fd9d1802c3edadf53c3751275d18e51dd2578d1868ffd3501214d260017607dfe1a1ac314de3d3e25530a315d3e941e058d8d5823d874624edee4b1e92ccc1a44f276abf1d51f77dfe70a5470354bb51e4b010e7ca3ea74e0707e61358551e1060f608e10bbde2266c7083f1cf98da04077e02080a9e289f2120d9d54c8d23958d2fcbf7424a017e7e70522bcad5576fb33392dc19de415c99cad6455af42731b2e8a855c91aa07932a6c368e7c95d9a523a8893f23019141e9d7061227ad18b4b5197d8816decd9251ba0ea54bfd5e95d797c65d2f8a11bdb21fc5419f7ad09d086e333b82c72534788bb828e778b32002ab65a7507f0fec62a7f0d98951e232a20d18cf98356056538d54453fe099c3cdd9bd622802a6422abf4643c5c2399f31bbeb8304874019030199899f7b0cfd3328a97b6d3fd3af6bcec7cea3199c5a1f344e89437dca1f379bb7a583f59c6473a582b9c1d3a740ec294ff983ba331388bc15b89a08857d67a80e4bf352f7539f0d0beb1839ccc9cb09c005aa8151be4b743a5100ea6a1574b57f754bd40f70a539fd748bec9ca75f39197a0e467fec464494f11414c350c1af2dad6db048dafffee0de7d3efa76cb0adcf183f5de2f4210441983b383022cbedab5df7c411a337eefb3639e3fba0e01a8be96e7675b48811f35dcb58c1bcbdbf9d91c679ff6e4586ccaf7465c8aeaa5a92f78240162adda265fde3f7fd60c80efc099bdb6b88df99034643273e32ea8377c19e334724cbc77be01dfc3c38385f3c0439f4777b43da5d56a06070bed62a75b64b53f4f2d0c72fc1eab6bdf0c296a409955d80eeced232c62332647bcab76f03a1e19f87bf44947a435d5646a6f6855df4b3713ad66ea59433d3b7c9d733d5563925c45d02e497cdcb23db6717c89e0ba54dc9d6eee0856fbc6945fd814df92f69f38bdffd33381c1bb173cc68c211ffd0f941fdd3fac97d83ae19752190be72c4a36a823da1b624147e6c22120a26891d479658e2793c0d6ffbc081817b205aefed81cef78f4641d12d5baf6f19c85d7245403435c9acc51f8307959d430e534caeaa07e1773fb0910b82c11e9c4f1b20049bd8a28af3f560d08fb1aa8d62783e2890d8c9e623cc56cfd970de2097f340a60bf9d216e94b6bc1f740ba8341758b9c34313e38abffbcf795c1c0318a6730c11e797667f613f5da6018c7851961f7863786023e36a9d2f712a6150869088d3fd9ab824ce53e2296f60d527191b9e3bcd9eb0a05927ff68192846e5ade9c779e8ba8ef4bf00b1e1369bcbe3946d1dc9224e71a6b0458f15cd9eae73e8574e63738d368b08a127ffeb22fee16f2b03236b37a6b7350cb518d5ffa1fbf59e65bbc1a4c485dccbec0fb6d3c58774fe227b654d61decce4875c8ccd0da64ec77776e1fdad31bcc02813c8b7fff9bf37b6167adea758a83007ecbe1e87f5f00e70331b9c0059da5c8db3af6633c35d84965631446624098d4575eea4d1b5e54f7e6e566a21940f0d21fdcf8b5d30cfa907f0058f902f884291435645a2b4dd24712f8400dcc05bade5c21a0f4b94e2ebde5231170185ab9ae8722f7666888eb057b91f3a68346ece50cdf1cbdcecf6b13330d64bbd8a8f936cce7ad666a997467518545fded2f2bdddb01122c816ae224a34856eed15b564fb9245b31e60e16fc52bc48e8f3f29cb3838a27357980af7a8a4e35c0fdb6f57b7f1d4a2d28801554cc1d9451f27ead7e554608da3c871380e7627fd5467d6ddeb684d1e4401d241e9d4bc98b8ac9e826858a61615b8cc5b737da9422938c40c727dd5467f28d245c145f36ed9dab83c4773bd9f71602ef12454e5fe90d7b83cd0c2cc5c227a90c3da8efdaefbc1477d068e85a1c313ddcf74a099c037b83b578b7c1722c911f3bf6aebaa67239c132c42e60e72e0be6cb159b3808c6252e6eb18ef9363edf882b2eb4d2fe5c206167fe258063ae57f8ac9415e826491b4f06030ef5bd0f2376f8b3f7ecb67e67b243fd1fbf4fd8816d01a03baf0eb80da7841363ac19ac5623e0660c1544d231e013e1a98da8e8f1bb6c93fb33179ae07dafe6e08227ddc03ab7bfb50483ad0ca1ca872eb494d11432e404db99e5edf93a49a38b71dfa8edbae6b27c07c8f36429ca9a62e5bb5527b8e19d82bb142bc0e2e3a639389c475f7bee8be93dbe5a7517cbfa25cb5b58f4233a7c5bec60f166d666289c8592eeb76335174d1736b6d7c8e582fa3545b7806a2cda510e31953f43537af39c49f9cf588a8924caf655db25c9d8648bd4cc7b95bdb57d550ea46415bc0ea71c71202bab7a9e5044fc29cfa39aba18aacfcdb5c4f4334389d8200e797e066e6b1d84f068880789027920213ead11f1fa3e13550fb29f180d6eb9370418e9bb88b6d99c2bf8b7ab308c3396cd4fcffab68e873ca100ca1e96cfc87f659629c41af318a9e0080ced998a0c3cfd99564a0fde617fd68cb3359596c70aa96a88093442015621910fbea9f5ace3a8a2267f91e2c806fdb7bcdab1fe409ffdb8a761d204587bee4d2449f83eab173aea97db3897aab10a26c0df5eb9f0fb8b3f28e08740d48ed54ddb28b295cc78303870a5216fb906d794ea525c0e99725bb801e2c990896a147ef2bb2a1972031a5b0ee69009d9e14aefcc5bd8717d22076f96416bb3a897ab019279cdf389131de6ebbd5d50091f4dca129b42c86d5dedaef36112e2a07009d337651ab0f019852a4fa75491c476344ed70ca5eb37e123bca185ff243378beb616952d790207ba4a0796e659176a1d25be3c72fbcc8aa80bdcc9476e3375eb6e07429b97ad924c730034874015b9d4a61a872753da7ce1b301f9b2e77c226f21c64776c5a1b328b7e75ba254561c285780c0ab60c98b1cdfcd40f5e8ddd4a7befe9d85eacc5f571489392adf6a7d9555dafee567ee6e5e77c8515cb8a3e4a06469cf40a16bbc1b880577688a1c54dac2f4802f22f4a29a815eaad34b78cab6eef58f847c07a3ef8bda28832ea85cdc0dbcd584ba2d6fd4b290154f3826cffac917c9518606dfaf11042400b14ced4e721bac8412d41f37d0f845fc7966d25e8c2cac0a39a384c3f969e01d6fb0a2095dda5728382a7b4339af30b9b929c4d69d3a8abb84b0688507ceaf6359db3264e8d0e661273638cb10316c9fb343da076cc87733901b7f839ea1d3cb5c41099e799ba614d770e693fd4c6c317878b68242be439f18ca6043506cde74bf93ece1806328cd3eb53bf73d3e1eb24a457ecc6ac39610781a9ea7930820873cd3d58cf7ea0f164bb5501ab57684bd6c636481eb180d311bfb1b89724a481564db66ce3e7c446eea7dfdef0022c18d2914d2e891ef2bb4a58cb934738284320381c797d302a00741e89fee687192dc00138acf936f1a4d6419606cbbcae974ae87439acf340db1abac2434cfc801889196c0f44b34b3e621e14f54694338359af0dc69a44e12c7c548d4f8503c503f7b876df33a5f5cd06b7849d1c327f30a48dc683dce24fc98ceb414291cb1297165ea6770e51d3e58cd757956cecc880632fe908e1f0c76d64a14c614e1647f22b6247c90573672c2a2bb2c1777307e2a129552641c617e4a4e2804c24b6c21f0e09a446c419fd61bf0994020fc21654ea019f0bf0b70537b2bef5ab596729414b561b99b2e786b6143e4774dff309f53fd887998b4867b171abf04ccc9a44c90ff744284900c984658ac848013c5ba8337d944d2698527c7d2f1395ed31398675855532f2f6ec2d622cd2195cb6268d61150389e92c86139912bceb24bb6e41f8268a914cd2abf1648f59fb98a1577000a9a0519ab8acd43527f1a122c0a83e104f72d977d7c595d796684997f76f82c9e028c1e33a4e974ffb128c1d75189ee7f4dfbdcc04df150a382319f5993066a8ba1a6428bc3ae4862eb2b800f684d959def7db27b5bdfc5dad9dc18bf5c5d4a8c4141becaaf54863cd8ce31b105b227baa0686d989de169e7684a209751b089addcd64f5945de0e1196e85ccfdd30ea96d077d2fa2d07a5ce7b652f124380884b9ec2c79a40e81e4ebbfca6b01212dfed91f5ae4f7887411f5a204c9c4d7ba3de27959a7a7d14d270580d57c6b29d98ceb7a74ee049a65b7dd13e7d245fc6c2ee9fedd697935371fa47ec9cc6bfdcf14ec321d656e3fa37c34779594b19612556b58690055eb7841b0c2331fe2419436b2c31d61b81092f04ffd7eed9c575157227b439bc46205b2edecacf60dcddc96453d05d913731af70b7c2eaccdf68ede7e42265ce2c8ed8fc3dd40a912bd825b097d5277929c12c66d4a5007bde9dbbb7b2acabd473ffe1413a4d91ad0cd4de099019ab637964adb2f25139310a77837331e5e29f68050a07861c9e370493bb730d774c15aacad9e905688aab4925c929132f01d695ee1dbad7fd09a75b73f162f1f3e853c557621168a5d16b94d98affb70c243a340180c0e284a5f30b465471e6941bc853b39bbbb0d0cdc770772b52b4134b9160aabe6871075489a4a48f7a14cca0123cdf90ea6674313b901b7091b68fb5928688baf683a517d71afff72759dd1551d111df4a8faa8f0fb0c7f7b1f05bfc0051237b6dc7c1ff679e1c6bb48898dd43f2b810b1d9e8ff7c1d3cf12983c542ff0b18fde1dec74374c4ba44c70fbe53cdfc422767c869e0132c407715259971a455ef4b55a90ae8f9743520e0dfbb6f7ae6d6d3d74049285510bafede54528f690aa8dc0e5eb9996f3fbe0e1ceab8725d1468b9a7f75d4839141fd6bd448ccecae29c4714877bbb740a5c4524f21b2323b0e25f54f11fdf95920c8e50fef762fc98106917dbd9e9c1678938a9a2d9407d472bd68152d77ca69f4fb9da2306c9b753f396fbf39afd2e1d426e5cb71a80875124e5332140b62d8974317aa0edb0d45650f670f6ff0d74cb46a5578535b4dfb66799b20c6bde814d9b306b189c884f664da20ae578534ca8bf83649eb0a8b9ebdae69418af6c994637f50987013ac65b747fd03a19f0b1d65e828e5859f9976eed8e85c1bf143e5aaf9f8389e4988dbf764aa929b126aff1795078b50a6ba097298441c7c3f6f29e1d92f358a2309b0ee3a3346866456007dad73b81475ca8e5e0033820b5c9dfa26fdf6d82e2ec97fbe60c3f0389efdfb340570c2906f12e51b43dbc5b9048625012f2f23cac2a9804b58effc414d9831e11fad566c83efcbb958d0b738952d52d33f86f2c323a8657b116b9350e3c885143834c90c7328f3cfdbbf241a380b1f63d4142617509fa85e47faa221bd5f3f24d6d636d78eb00940244cdf6bb883e835488db23bfd4bb52eac330e2442b1048bbb273cc7623c0f256202287faac4ad6937b24128e0d63ef28559c402fc71ad1e9e7a506b902f32c12dd958e6f710a50b29b4dd9e7f3499cda11c17df4b0ed1d47cb5c5a820bb5241e613db62f1cc3646da63f7fd28e049e48be0813b24a8b6a18316654db0be6173929e6e2a473a633450b98d9a6bea4a657cb3965ab19409d37dd27b388287620ece052261d74a52a61bc0c2ffd12adbb569d09781170251df7a47b5953b83ce3b8177e14866b43abc52f54617d85cdb7a74dd680808674744772cad844d33a39d5f7196fec0eb57b42d8e925eb1bac293c52d44398a03a324cdf8ac2959198599d549c486d8948beafe57f1280792829c8b15e9642f9caa62a5d03852900670f11ffc544e2a5a0e23b515e988205e04ace074231e33a684ecf1b56fb15b7fef99a3db0791d64de5d383181ff1e1453d9bce872fdad9046049302f6842f47122a20ed781ab37d2594cb98b5605911add3032f30210defe7f622b548b1e20ac76502158630ca43407c75181c565b4e3e7e4887e6e88aab9991a9823aac682b5c72f180b2b17c55b08c857ca3d2694c4787760be58be0a4d4d1037cbe8a32edc41cc2f4f0b06f4e4297bbb75e3525a72388bb77c9f39fbedb83388b268368f71ed1e9084035eb9a44bea37c50b9ef3dceefa583a23872067e767a7964f93f4dbe45de1ef093a1afc80f621a8a0f4c5941a8671fb25d222f1b3adf1c1d046c22de159669428fdec87ed06201e0a0896cd79c05895a06aba8811e1b6c7669a7faa805b37e920a68bd3c0f3963c1e6db47bc7db3046813535d14f66f1a4abc2a5b781f6de14fb553a7b638ef0b1d77a90e17909e5d9b6489d641e268554167a75bf27bca1b57325496c85f31a69b4f5076a9f17f036c5008ce8b0309c2497a821bfecf48a1ca00c6cd67ed6045692319448fbd6fd7197cd399e1f39dc7fc6f0dadca00c20d6893e08b2633b76997f25eca0d86609443ca828844a92e8b3415aeb39893bd43677d2ac598a357edae036a4450677fdd46fccbbce86807d8a3b6408ca289422ba3ad76a23684f249e420ff1556bb8ff9a0ecfe2db7b84d4c07930e768065abc48c0af24c57b604c897fe391af03f55ec5197bd0f15d7b3483f11ad7cab43b5e7fa46ee2eaedd953b2d13303a02c36cfba70b208da5c5bc6a31e7bd9f90c31d15806a515b1c3e2f18672008dd6b67f721baa5d59e832f4555416161041e5b2b6f0d0406738501e65b7061589b32770eca3a3242d4f318b0087769cc3b451542c3b7b2fd43d7ae9ba5219a64a275f36b481ec984bc28ac441b54114d37a6c569e6b2a57fa3ae27cb79ea52aeb9787b7d27879d1b92480d9e5ee2dfa587308da45bc5f43b7da24cda318477ee6b4ba272be520f9d31c8502553459431b5b8986bea3697a686850cdf3f8c080574ba9cfe0ae3f625a29d8a5568f0b34a3044e43090c20d9aadf5a58a55d32a72ac0dda49691b579a89d83cd4eff7772ea01e21bc258f3cd28563a687c38353e725fd4ffb5a8d70b6021fa7472b6c4aaca504581f078c7bdce10f231e944634550e05988c2eb553f03868fc6c84a4d5d22d873f0a83b491f23e826882b910b552242c3b645bd97f64a7cce1c33e04049ef11d2a2455c2ed07023de386633cf6a1493d3800840966257aaeedbedf62221e830d0fd59430f175517e4267194d8dae2176ea0373ce94ec003709716441f314746305f412b330ec7110fd998b4177bb577b122d3c0ac76fee819447568ecb04e3eca4f1f69c64f4d3d96b2b1ddb14716a5a2df6988667634319ab29d1da62f58f543d5cb971b83c82fa2f6e7cfe1389d938b94965001379252d3142bf98901f915f9efe33d64daac439d054b6326cadcf4c0843cc55df1adcb60d2bcc5d53e36f87482f77c253701b166f89e832eda925ae9c6a0b1984acc4d5199b241e261dd0c36abbda122f7a0a018f78d6325ce709159c3004b1720f615a1208a8e4a108ba79eb9c0116bfd04e22264d78e617d2570a8e93f6c07d3e208e306a60a7913ec52118b0a63eb644747a41b163e2165c35cb157db505466465b815e693aa1055670ceb3efe3984b5303cc6825f74f1550eb69e09780765190622c4103bd9b8b18dc397906ef7cc694299caf3b2653652a41520b3a41e2d1377b7898369a3b82b5d1870a33b7455a20273f163d84bff8505865f6c76d12888db94c68ad423125b012d4ee7d67ca94c906d2f4db3086e28f209bd0a05bdd89eddccb97a5833270515b4869a64612cf624305ec8cdea2f824c48fef5d50db062e60138b0ad2da65c6623cbb4362aae5af00dd09646422be9e298b1605552816a859ff209a0836fbbf348575a1b516a2129cf0d19f272af068c244e186a999d15a7c27ec6ad25b74e38589163cf4b78758f2f01d0632b73699b3b7b2e9f2720e903ab83877df0fed5484f2e73863d17a4760412f19970480e5f2931b41eacfa90febce06297af920a17ca26ff610f2ea691130f682a92f6d580c9c31671792e17132a802cd9059f2f7d6b5a7808a57e12e037c0408092c97873c8ab7c19b7ee55f35d803308842d641d36afcc382cbba02ef0c34c977b8a40b08c65803e4f803282486dc0216c603e62e5e189dbf36ec43c05c5ec4650965a5872e90c7302d47716d5e13eb7dd30e4cb374e71e8a60c8c7bde319e2c09993c4222ff3e424794534f363210039ec796f8e44aaefc89158efd64b4437f983f3f29d1155b910eb102ff19ff6df024552a100d640a12a201655f254ba02d636476c6c8673ee0ca6a9b6b9ad1d59a8c825164b318fe865c01732a5f07bdf61d7ebe89013b198030910c8d1fb90c480585da056bd38ece055f584bad62bd743090b720fe1d6b5936abc69b76f9fb6c7f1bede70b05afc4bdb2f5550961d919312e41a3d7a8503f7c9a75f1f98ace86ac8cb3852bf636318ce0a5910c335eb3b0791552fd464bec84fd5a24a241a8e4b69afcd9c59aaf5c37ea809a8cb7e8d11ab5a45b2d985acd587e8ccc84c782e1ec15e91cb29e5f1a3c423153e0caf3edaabd6a817ae28f6406ee72a2f17a3e9fb1f84e46759c5168694843277293712a1c0e3061c9df272663faec690e1425581690fa2b1e6cccc4c08dd22ccdc8118c4c47e76b5dac30d84026fd1d78e56b9363d18ae5dd5b499bca055f29b6b342ef8b18324953ff7a5d79fdef1182a8190dbb7ec751788c49252dc8e374ea8a5932f5240741f2b2fdcb0bfffb51329f5dd29f86e050e43448cf41ef3549a25055b80c31a4a64a7810461f97c8c36ba4b3d2c43fdce3436924257b43fa15ce29a3a6c980cb4f1b572d17e6a5eca052df8a5e576fe5ea118b952116dcc69a61e8863b4eaea0e8c681469e6754eb2a63892ae21d1e36af0debfee93d6ea9906261928372a4fe1f616cd869d08c658af229713a05045a1ba609e296251c56db0527fa71b17d1312d9db251083ce7e8712ea3069fe814e873cda7b47c45818f7cf1877ef0d73179aeffd615cef193966be24aded5362f1b1bd49a9a06d9dd03da3bb2de08fb47a17bb31c637fa7a2f93776c0c2a11dfda56d555d7008be8750011aa72df5f5df8567ed21b96c0d7f6eed385eed5f4e7a1fbec57863fd381cf54224b5b748841b616cc990e83fa94f938be512911f571fb62acd5a6f5213f8211cb368eeeacad6d60fc388c6127e7a5012e967fe4e8743720fc1f74a243cd648833a4882d97a209b805fa203b1a12b9d5ee77299b97a90736a969ee8586908b28ebf69cd632f4bacd6ca916f99505b1adff9520dded7602e31eb99431290e679b135ea56bf428136c126d29b9fe7345b07fbd69a376bf9444862333a5dd30245ced850728c2a5eb57c07acdc0501491b8630f5b026b6ca2fc0d7cc46431022b9753ebb30d475e3d01de1fa611c25c199900fc4a9036dd2cf703fd7967513aa5d18fffcdcd713763e1b23ab3f648ccd28fbbdd5416677c5d6933e03974083fe26212408131f0850ed62f47a79e4786038b08adfb2ea00cc04d5aee7d3ed5692ef4d2378f92cc268c4d049c5f687359de331e4105234422c3778daf83cf9c2c8a5b8b3b8c8fb0059f7ab86f09c000061bb3876d63abc3adecf3a6a0b021d2fbcfa81998a61844018fa772d9ea140c12fd6f8f2a850e30173577c1bec3cc2af4a37e6aed0ace11aa79aa67b1c0ad0c9893bd820e7981ae66b7e619a509876acb3de233cb9a14bed2f80b14b8b8062708b886af7b1658e3a720ffad6a5284c309f53851d0894656a4c8bb6160e8ff2ae797adeb63394971dedb10cf4cbb62920eda9a529b4a7a195677ce10c5af18404df4cf5ac88c5bbb551af35042a52fa09df085e92e583efe0da1bbb7006868f96460ce8dc128355cb04dccb4cd36d0987ea411aeb2cc3c4d73a9330caa6c6ddb0e46bad4dc1d0e957e4677a58afa4ef3aeafbfb8e2288c4002508818e352a53dc7d64841ca28a55480e87966db274294ba800cf5cfd4707a90958391a15fc040b76c366d627333269c0bd7201bb71235c68a502125ce34abe28668f428bd8c6764a757e88656f9125a46eea9c48672b7624719169a57c7ed22837cf4032968a3d949551dcb1e4f7a4e8722a85114f8ffeb697a30c0240bdbda85049573c8fc871398c9ebcf4f8d876e851cb8053a156fe9712febabb9e886e63689c9e27a8dcc9199746cf8de2f13d62aa1f9c7c1d64637d474d0e176781a41e76de4b777b25c7dbda3ab5281b008eafac4ff16aaee3853c4a27b60aa4818b6871997f5d0c866da8c6b0b22cddaf21344d60311e71cb9b239b857597187771515f7269b3461078baebb3f7ea28cc158c05abe3fa2752ff0307e53e258157b3947c75d42a6c3a17c177ce96d5f4623c17819bcabc303568606fb786693becd71cd35ee3a92e24df6422c3e7bdff1f5f5a7af57d6f9c937ff405d4621f6f96b6ec138f2c2e4b6a699d9b3a57715c3a08fc83616ae7b5173fd7c7c4ce5015e26d9557af28d3df4ec0bc1901046d4ff6dbc190b6c7e27ded3fd4efa5b1d25ff2ec6616edc77d1f73298eed0e454bba0b50fb59f57f2edf246401439cc6a0b6b47fc6a159d04491575ada91dd51b50cfda2d9e3cf26f61b9efc5267d4af7b2035daceee4606dd8df95f13eebb417ffa21e7e8f71243b35b3f89a8dfb4fdac7fce527ab8333abf5342010fbf4db7e312239372bd37fa301de858e90454666e7538b2ed487d000a9b678850f2a5743592e2ec3548f0c3c665f858021b29979f0a100468cf5392ba774df307d3360b43b5ecf698efdef05c06baddfeaa807511716059e45c3fa1c369eea4be731fb41d221366f9244080330a3542e686362436b55f2637da4ff98c735d38c545a797f3362d935596c46cb5b283c8558ee3cbb3480de7bd3f5b4047d92229194a650122775c76e59c31341e4f7cfedf3d35c31115c70605ce8d65a4634c4e7a993b8e3d10f4c98e35113992f0d103d23ebec6f620523f1df3722f44cb176b72506b23a15e899a524b3afe0dedee5157f4064204d36555fd5c0403ed38abf34b23fb2b3af602bf9be77e8d1d30a4083dffe6f3ec1cc012416ecce01d8a0870ce8e2fa601bf3ced100841e4b6ab7af9f28cac585979e1d6db71e8235aeb3d8f9fe9c61c648f1a92dbc8955fa8656c3cb46a9a6eea9e8fea7ca2d7fa7b06285f03af28c564c913528f26014691fa73086e387510b5ccd13f654b1466ac5e7f218f80c0a3256bad24356d9b6f57b6bbf28374f620257c1cd27e52d30f19ccb12aacde5a891efb8e6bf22c9f8a122fa17c5e141c4e03d0998586f888158798f3070dfbabae035e3a2b484f4230d13bf855223de333e22d8d9a0b80dd05cabec0d015a160a76933a164a47ab5ebd73dd285717efba23f99cdb803e5835a755f435de7d24d702883bd5c4672dc2ff85be22126fcbde85e203da59fb46daafd0e2d250e93a5548d7edf0cfdac2677210a9d9e3b1599acb686c154cae480861913da3099620d91d6c2312cd1b069ccaec482be0feafd3ba0423450a2d7e8a3e53b27d6dbcac1b03644e9961e6064719f971dd4a383627578f7a8ef5b7d646e8024eb445db4f3904aaf5e9bc51e83a4068273d50263803ed5a04d03f0ae02ccc555429befc70d9cc61504a8df2af3841388fae512dac494aa02db870f44f9b2c0cd0d9b6380da339db119d433ee89bcf3fb19753587d3b60fc6464f6d00756020e487f2f88b7b32fdf3cfe6c1db2c52d031240c46962dbe8b13309bbce5542447fa53afd18cb4e32b64bee646e893cf99272c300c17c8f12b91c9d1ec842bb1d97591decc9968b62fc5fb235f5ebc5e66112848aa4e89caa3c46562cbf41ca17e0e1330536ca66d03acdc0b9cfc3b2825d5894b4d721eeb40d2b445c0f04416475a29351e0fd763051478db05c2bd851046b2567aedf2433807ab7858747b60432279401d00ffdd74e4dcabb4678a37d52168a6ff1e642e73bdaeb0129a96280c88fc9478a18bd09d4485292cf25a5d7b3ac056381d8de92eef0e9ba1efb9807431cfccab3496ad4279a2fc998051f9648e282f7d06896db25089283a7a8f275c0139edf99c10a8d9c86ecffa6b85dc053b382869af47df4a2ae5743f883fe77365721a490a2f8c72036b7f9b064ae44b0ebadec081c786d7ab9fcf4f2231fb0e0726eca7464130d9d9b47d4b0b12557ccd94b5e983c69b3a2944a86a76d2dd9b8ef68a9d27dce21b636b1fb75f068c8d687283fff48a94e9c3f91408d99c69cde1da0742676c85297e653a6177139ab049614cbd8e6dea20363ffc69aed01dbdea26a3689b4ce8e33dc157c6081ae331b1b478f94921b5118644d42aa99a800f1b059f0382e904fea96e141e5300ecb6905793bb1f4f3f10fc3014a6cb179efb8b0932262f26d6f860483b605816366f4758c12e3a690621188dd37e87adb414442e6c6d9517f6f57dcb3f5cf4808c892ca496ed4bf9e4da12260be034313e1083ca116d8c8d7f1907bb75ab806623dedf7b8aa59eeeca9287c860b00ad42fb59325946835b23f49783dc265f23194187720261dfbd5cc2903da2048dead07a62f429904259db92efe8ecae75fd145dfa73c3e3b1dae682a88ff9a92f70da2bc46997de28981ec02809a595984c357aa71d2680f8d2af9f7469bdb6c7e4a71d91cb69c3616e329e5d3117c81564f2bf38dc632ed58ed8d51af3d49c649af8d1de9fd3ba9c7246648834698fbfc84ce303f387c873609aac9713ae23107f96a05338eade3df96adbabed751ff7bf96b88b702783a0942417fb7fa4a763c3588b4df433814cf9d452bb76edf9508c4e477761ddffe9f938a2e52c1f23f352175933a0089f712d06b45a808a0a5312c7f617c1507d5e97918b8c8fd95b320017fe668004a682ecb01081dd188429956c8bb658f9b0bccb9cf9864746521665f89e1d060bc95fcd2b286c197372aca4d3d43b4b927fc4e60b6818a5875e85e25bc589dd45b38cc43ab8bd1a70bca1f0bd9942bc765d68a1fda242ee6a1a07e453224117a015729bfe45c10af6458fdd6b961e801bc96b83182f60573ba836ca214cdca5c233b2ce6453f962248b430e298074cd33e7bd1cb5fa18c00c52fb7fc5626e4e865f52be51cc09be411ec05b50d51d76e29a1cf0872d3222d44035d4a17b2feb23e53c1e6cdf063f5cccf67804fd5c3033008a8e2759c34a10ee75ac9712ccf7f059d4ea84ec8dbbb48fa6ff51038588cb80131c91d1f2207975000ce1ec4178b5944eeb30ff84ce38d03447fc7c2257642a2cc287c132a841377d144d3889b8887dfff995486b790ec2aa3e6df80afd56336cd76d46c6489367b9e3c30b719f8614aa9f09ec836ce2928ae46023335d8e8e5dcd77e86e7b2bd18246701aa324a4da686152e5de5d83bdacffd6739c0b33aeb3fc771a333f9416a0e961af5f93e1420bf4262b0f7c756796f55e083fecb0c9606c9e6d58af3ddbca97cccfa8f6bd277382d21a158ade9540917cd4b2ff8a381fce8aafbd2a07810040505b905503f64e6b1210839f3bf02bc7eabab33307372aa112cf4e9bef186171439aedbf8581c106d1ee0c856fe3a13b2466957b8494f7cf40c64533c9ddda3f32e9372fb4ffcafb89f28bea29070bf96c0b895dbcbabadb45487a9d481873eb6f3efdc1c91c151ff85f03cb02d991127cd192a514bb7c3d823821b5b6fe33b4c2a3a0c4323d14fe67dfd8eb38771e9a7da4ea0ae6149164d80116efe8c4c32da9c4733352a590c3a89b8f04ff9ef3e6682ca79bb82a4c73661eb64f663b2891fd9cde4eeecd0f1dc88c7818921777e8a41c0ad665a81be4b108612ecefbca87229210b48b58b0ff4d47cdc7ba31153d8c799d0ade1925d099f80c967974334993345c0414b6d1db27fdefda665c75476d514212f3d2602a995b8dbbeef2d1cc2827e4c86772fa07b2bc5dc3d704b31a161cd656c786af35ba375b54742e5c93ab737c2cf0648bb9ec31bb4c804ebceca5cf5f0ba754de5cda4ec922f5d8db032778c13d78117d59aaae848b3436fd4ebf883e88f1a911e22d037bc68b8ee2f7416a636add25f75b41c4b6c3eb8a9213cbf8d0857c1e23f7d4a3c42c9fc765709bda145a127de59a1ec2c6bab17412500a868c1f51ef6b73cabae278324b87e22978cbd6f43b0bf44cf5e064c2457b3035ff7a0b77b45bdeb589eca6d33f37406d7b8886a965749cf6a7bedf235d0ebd195720028383648d80c3f05dc5ff7dd02019d957b71706d217c1f1f9f19b6d82c9ad94032264fc0dcbb02be243ff3ef9f642dbd20a4f8bc2cfdd5a7804b2c7ab9d3c9ae644f1592a514b5bc4589c84a46a528819c03a34b89a69ac4ffb830e8e98c6f3fe57b761e98ccefa70cab0216e4f405b458ba5c0481e1fbd2f40203c0632b42b878452bfbc63f2b0f11596a12912d2aced0ed495b6e4c63a3c7fa10e0250f3fb272574c66e4bd12019119a7a1bc1587aaa62eb152e245ada601ad00474d3943e52f5307a946463051a2db51d28fe9fec70c545bab541c51bbc3cfcaeafcd455195250ad4e54708637909ca8cb5acaba1d1003f73b81909d7dec7aae4414fa5369a7175587cd036b8802d43911a3ce161fba3bf962436c8715f68401709151aaae8f667519abeb30e2de991ce45837ba02c5ab9aababc93615015cf026d153bd553567f6d23b24f335c189ce68315600473f1ef9f70db2dcda56dfeccd77480ad9b1462f9bec878473dcb29570419cd884dc24870a80e9296d0f69747c7d5d7f9db1515fe42e7c12b1a5e90b07bbf4cf07819b5d7eb881ef9584892ba9b7ab2a80d9d8d86eec2b2a15a4ffa31b5649accecce5941a6546a2ef84b525bf59d4ce36413620f486eda0661417c0b55ba27612aac343cbe12f410ae37e9472f158d92e2162abb03d5f6492a15d7fe7072df704c4483ab9a25d19bd3031e24a6dc44b85bf051be65487da95ea44dfa4a611112b2484e5b781d44b0f42153ea6c58b5003a5e0ece30142d8d03d2f3d03cd3d21c2faad09b686c51d0a60ddf4add09a2f0214fd4e29eed0d04a551dea52825aecf070b7500a9a32e2950ad3d55184138e55c8ecedd4fe81152cf588c43cc4b41b4ce047cf052ce95bc8b75160a078a59cccbfe6ee7a3045a5f1f0bef73ae4db7f7e5250955efa82662c6f6b790a86d43863a47633f25c8223958afe95def08d479d76dfbcc4e9fe517ed9591cf65dbd56bbd1da8401213cb93a05dbc6d2ea7b3f2b8734c675ac8dd8986f4bed7b1c8adcdfd49339d756c2416e18f1c349b1bef976041144befbba3dd9e8b414038b312c5486ff27c563c4b39bc0fc0c3e86e53fed2082ece80a360209ef6ff5f2bd334ae81b06b491b62cc9225d747876972b36e978ddb7273987b9659e6351e0b5fa1e612652a2fb4797a69a16ca7dd0ccae1deadd0491bb7ab87a360afab75bfdca052d40ff425f19d382a42c60cb6feb585a4c9234e2e7be2b1d2dafb0352af9c62b943cc82bd223d0dec0e4cf6b46bb155187621e3273ed1a49cdfb85676db3235df502b4380a1cbeb7a733d0bff42df395ff556087588abd5d66350de9c8fecd8c010f1bbd5fed680cd4e45884dc615d1e34cc6fbc37752c2ff0f357b53a9d9601d4e03f07a3748cb8ffd8f23077f104cc6cd5fef2981572abdc2d011797131922e0fdef470c2391d8d894661c8dd4e64e51b73c8f0c0d288dd0157e9ba5c22b334a7fdb2afc1d3234fce07021de6865fa114728da684853a65afc6a8bb5b754d12261d35249ed8d671bef3a4eaaa88b13333c3a99c449e1a0d0906cadfb5bdfe382bb33f85670d506b53b3dab99464db177655a114f48a696ae31dd9dab6a590b7f73886447ed4231906709c2ec586b27765e1508bbf2d36d84bebd9b90105970b535406f2474fb87e63586f1ae9e7b58c6e9d4f86dd35d720b9367501cf673427df2de3cd882e31ef42ad2bbebbfe94770a74fbc064b2299b843e6df2bec2935c741e07335b63ab34bc7cd63dd6d3c668ee1a72ab97a798c7a2094f50e8d9be562f58035504951f486c6322f72f32dfa6dbd8c43f69ccc4e08b31ba4ed866fddfe99e9fe85a44bb0757155b021f9f47e23e1b82b96d7f1f2a829979693d40129c2e69fb8c576ca7bf60e783da8388f27551a070e3fa4614040901de15402d460a6732318b4e0efefb9c76736172416f97cd206ec6e536cb149c5efca40a4059050b36e56abf502fd9ebcfa4225ff94311e224769e8cf82ec62aca80de45d2964b8acba1e7db9d471d141e4a470a79ddf6d010a54989c82901313683f65a2646008e2ff43bee691c0da75ce5a2e060ab9f6abe86b1d87864f143d1ef73b59186661ef6e48253dbf33bb5539fa8da5e54cf0ba91a7690bc2383328a7fa7703b4fe1510644f43ae912f27d8bfd5e587a37bd4547646fa1cf4d517a7ca2f8429a3981b3cbdded07a4ea4a4d1de4e4cf97be98a2fdae4c4b0b515068c46294c3cef32ef4f777f05539945707258a0749fe1513d2714ebf3f8f34787e5fb69c4069d2816cf0c2c3e0d0555ca02899515c432c711c622dd3e598a33519b4d818fded20cdbc821444a8e3559e0087b8ee3e17a3d68550f377829b36c79c22c66f50714ab0926f521143327d93308f1083dcc85db4fabf3deb6d6fd1b257c86fc128d5c5e26351233b3a61488511cdc585946cacb5a1a54e36c6a67556da5e5b3be654dad0606aca9dff5c49ba9dd52a10eb25b77d2547a38f892b9b35289b268235b18c88bb27c51938b72f14366d3b2d0be28031d60f200b74c63120f3ecfd69f251989dd09ebda1b07ce3ced39016174bb7766fb856db52d8b3a157ae86210ee93eebe9abb0f23458dc7a7a08ef7cee21f2f2e3c302259bb7488852198814fff8df02118553e0a173609dc7d0daf3843129aa1dd1b5e42786f92cf7fabf4abdab365db0a308aba0993d82bf1836baf95e345bb12b3342018f79e062f2e0ef560db250821d3b6c93d0ced2aa110e6d913c93086c2ba45fae1c7b19d72b66c5be7d140b03507adcc2ffb219205483b977e38adc642d1c20ca4597e2e602ffc5477e70c33534c35b534d23339993d0567d429f887ff0ef91cc286766b14495f23bab21fc3f165c55588048d2eb35406acc8a7304911f1a33421708edcc38950e42abe55d0e9415fdfb91efdab102788988d93133587dfee4555d1cdd0c70191c425747a22701a2951dbe01aa59a4c4adb85e44e55b17bc4ce71601bf0e0cacfaecf080e6576808c98b29ddf4df4c58e1df91ea09cfbc12acefb57f6d57f0252b49c60ad7695e72c0ff052a9df0a42daeb526e83a6e3befde761e55b1a3e99d6183f8ab6835499d2aa33a962f96f4e4176fac957789b04cbd2a6613560dd88a58e921b6a61ff5848a9c10b63f8427b39ba29b200eccbeb604ab706fbf1c3bdb5ba5084c7eff46595d14b7292861891b50cc333a3540affe88094e29bacdc0d11a153f58b4d09cfe346a4cfadd1c93508bedd28675f47fe6b8e9f28c4678c489fac704648012634c34a9f08d7c2705de65aa0c5bae048246e032fb275a560f0718fd16efa9522288499e3c75d9c4489aca8d94b948a5394af2d930dc32eefab64ae53e8722d72c502d5b524acb3f0a5df685c598aa4716f242de983285bcf06029626b3d6e9b278abce59409ded9705238225b52962a6ab1cf6f135ff19f7f32e216127c85f7f32f4e48d7a62594aeb345ba96e07968861c81572d194bf85907c14e61905ca8e896abb76831c2e4c95401e321ebc81e89851577664640c0d8c4b760d515d25ee2cf518b1be644f06e042a5e036fb71d9c214f58d533a9b8e89d1c16440d20bc00542dfdf3e667ecc3af6682391639dfbcda1d2d42ba8f324574069a91c1c19ee0099c1839264c76a53c1ee6a0e345b740b75e88be05c844b5247974e2d99052b321546dbb19daf5212841ed3491873b85385d0e04545fa44b607f82fc9e415b12e1d21bd95d084e9abde3f32a54d00da972ef2a06a9eae88f990de7dbc172123011951e05bef7532b9ec6b17079e49c856c6b2f48cf66f5e84c8f31a44586b26fd8fdd0d6cb1a448d7b3a34939236313b0d7e54826f5a94f969c1f757f54a20ff9d132ff3255ec1f1d04b3084afd74446a14f67221624bf1ff41f3b1f8a4ddca9622e1c0f8aa21ef205318bb1f098f57e511d9b92bb2c6f2216215258ef3b4f6cf5345fefd47501b81902c71c7c6bb25d711c37aaf90c9c5390d0bb178a460095be8d1d7b0e602c29a7c4222f2d64a3af54f646b03ee12b66f46bcbbe2791126784a905090d95882393ee4a7bef2ac97a4e51c1ef83326eef2657598b7863c3ce06e84fe612a16c1e0242cbe7e6028fcfef494de26d902425549700d77349d626bc8819d0ff91f504000bf4eaa237d99ab067600e96866adc8436d7e84edc83fe704877cb8c1ae6c22b29f62702b9f524dde03e3f3af8df5b9bec9d59c136ad151209368389fd65ae40935b6afb07662871cf1cc8caa730b8e86f09309f514fd5381356b3efc9c0c3b156fa1a83e4bb36a031b36f6bd7b32ea23e3dcb5e726d326c33f6da41b3a531c2786d79d42f053a4f135788da37abb878721cf22cd669da15cd3ee1f18ff9d214695415a475029a619667e028b884271be62d782f5b319f72ab75ae0b0b1cbe646cdee491a2ab566178891019e89fd10aa12b564883049eab5cd0e7568cec591cafbce1987f37f50ba26c599579a6fcb3e48155100e0ba49a4da9908fb5cd2aba32fad995cd0ae76d969afc6e19911d588de58d3ea8fd9461220f1e90a3a1f340aa48c7a7dd0903a769ae93f499cd5f1b19b17d9c36d7033284b150fa48cb84e292b87b0ab42282b3262c30d09bd9ec304a8041ad6d5a257ea5894cde5132ac93d2b12e2bccf3a341569225cbcfa881396f7bf0306aa9267cd6f7d3fbf8015446ddc94c106155db2323af722c0d88818600cadc109bfbfdc356cac7365ba41bef43539f0097aefe8a9dc1ffce5b534d9c30f885546c7b3f8fd801b8b2f106b36ea616a77cf90831b409f52041789de9a6ede4e354a8f246934d699330c3c220e2496887e0d8d90518dec9a36d053ed2f7a5d6c12920fe1c094f79fca0d4fbb22a3ce7f061318c9b47284ad42454a9246a167768d36a79cda32816e908abb65489198b7187c942203d8ca31dccab8829b2bbf6ba801c23e19905c145aad78136da586cc31bc1561fa74b805e8957c09bc88d6638833ae503974c630fc345d075d3482dc83a8ea02fcbea8914a6d1d79c3fc75cda6a3cb28e5f31804516f4298b1030d06da2e9d9273dad5e1ec0509e8206f83c7173070d69b3c8c69f9e00e74739f42aac338e7fdfae35d673b1c57e9453edd26fb646a92ae206ff16888d58fae5a241fdd4eaaa3c63a2bd5564dac0d0c0785088a3f8b37f189f127be120858a7ea6999bdec5261c5223f9aae040b1f9ba3d964997a2b4ce0833521c15d193732b5f7edc313f22befd876b3adf31cab828868cbad4f605ecb9001993554acb7def8e686c530f0c57a864e0f9426c9bacafaf48da15cb84f6506d3123df75b4a4b10daab3a5faef02c7e4f14451c2d3df7216db4e981837389424bb34b0fa162baa08016c034f062642c016d76b910f4d5fb331743ded516b009564fd0b56e404e8d4d5bf2d2db1ab6ce6ea71df3256cc6b3c40ce15955b63d44d6c60967a440914d87552a5f36b19525c737f48b841c88673875aceef7dc3064effcb77cfd2b16cd2ea784f9bb28730a3982ba5dfe6d0c3b811e4993aa4e4fe00c53526a17ce7ad2cb57c22da9619e2e5bccdcb70f12df5d1ab1737055643716bd2dbe4bcb2ba01387e2a40840fcef9f7bb44c4ad7510cd0e76d038599000e69f5efafc282ea9a14449509dc3c893cd591c07ed3d42314294c608a12362bca1041cb6218c72eb35f8846e1de450fa595c4b0bc7aa96e15c838939064eb48b108872b723e2a05af0a76034d0f53abac4aa282038b14ffab67d5a476ca5ff5bd4b3125c10aa594970f8bd11e82df658a6da077de9419fade6e9b6b0397dc9760282c25ad3dcd3430045635719d96abafb00ea30134202d03886732fddd919ac7b1cb6bbd7854c266115f5e7065e2bc8adc8b131406f7cf5bdfb5b93c615844e76aa11a133e8a05262705f08d7706a884f27ab6662bb4b29ae1d04ef58658fd798da67d8e07f92ea4128dfcfcb1d81e4ebd723dae3f4a1363bf3c34e7ac62c71d2c2a9f3dd989f04ab6ea16a400934213a097a20c2ba3f9a8a807521abdbbc36f3c943db7101d3c6e4a6076578870f643bef4fd2d08c5ff2fb2c2ae8022ac2be31f44467b6d791ac1677026803309ebeeb600fbf9016f2f16162afacc34bfaa05cf8aed4a535cced79bf95f8d9c5e7a73ea30836f70ff792c2c791caebf8af8509b4966cb4d7d33f6aeae23d1c11beab6a0f4a7290f3f745ff73c93d0ea8b03454fd76556a82badae3b2a6f4308b65852107aeaf7d0ec5f30b77d10398fd709e84614b7551741dc099a853ee9d87cf0890d4b94328a89f9cb79c232c0cb11824d50640dadb36f1401a3d6f4c4d87bfa5391c34f608ffc66d44076c3cd9dd9fd9e6455e17edcb6317ae48e8cab4cd891100b0b678f25560021c65cecf60522747c9f374d919dff94840c7d7a09c6fa5e6a5dd1dd2511f65c3805ede8cbd7ab80fab045994455533d8fa8774c78ffedc8b535d554160baca8b4bcc73f3c025e1a356dd7333ad58010ba5601d2991b49e62b7c2df45091af9b9270f2cd3d72d4e605759b7ac561a90b98e58aaffd5e22f81d12c97a83638a926e3b22b066e0885e817e9b67fb3b17818526b4f01780fabf5b9a37991e71405076a58f6ef8b6f2824d2d19f93e3fd2e7f9a55ec9969179fa1f019850988ab2a9a8c8e0dc25c425c8aab2b1ce5bfd2211a7d030fc3a1f252db1b582175bd12e8af39bc8b762a80e778e8121b738718c83d4c2119dafc86500f2779ba8d025eda15355e0fd158061edfc1d28b87dd2a9f6896b1a17a86d84fb5642e99d23970206314c12b7a722a2c42f91644ee2395ec8f506dd61c7c7967251239c543211f72a17a4e989f0a6427ac9c54897220c904cdcddae9efd939a1cdd049bb9c600716421141aa8b582727a311cac8e24626ce41a5d56dbf6a7a684605fd4f1c45f819966df125bf814ceb69b880c0bb29a7cdfe685e416522507c58a2bcef7e01ab58f55c1c93f7c3bbffe74293ae6286fc0288150191f5ee7737629578c831d63ff267d77dcefcd54c6df0fcb85dd7b2caf8bd0c4046450ff20d5634d5e907a9f6e7aec4da42c66048540f35f6761d729c8fbc43546b9587f78209cf3e032609465a32170eca6617a452f28a3681ac8d0f3441ac5c26c333bd0f0aa8baf7f6de8e9121de87c578a62c2e117c12ed662989677245f5820b771b9a006dff2d303dc8bf01336afcb4069ea8fcf893a67762efcf25561948a2eb2bd43059e08e8706a6fb4c82785505eca25499b67ec42a5fc843d7add5f11cb02656f4d1e1266d190459ee49423365e26f7b65823d572dca02cf9e8f6ec105a50ae1397eed88ae1bfdf11abe15cf330c46381d0ada65824d05dc98b94a1ac7714fcc603e4c91f1eaffe4b345fa73f71a4d0211de8190a19b90c93358ad99913ae23b30f9f2f8ead793451b6fd8ce84507dc9fde43d393bd158aba826e2682d7cb9e21b31f3a1a76fa7013353c90c86c8d2fb5ee668e6ae5414e597ba85fa39352422b7f4dae3b6b47e122725bf116c542d80fbf0dd1176c12fa2a5785e9c5d925b2779e01a38acb8e38067ea23cf20dfb8e872f97162a9a1dc7302bfa1364e64315880c1cb747cdfd0b5f75c130c908c7c840087cd75a31878f2c51a214d8731f6dac9c9c2645e3a099d65235aaccd2eae7e90455ffd0099ca6767bfb9d9fa2da30768bf3c6882fb7cc3ded5245ed68a5eaf89bff1d0ead9480fcf045d4779a4ddba0032c5356daff1bd9c76f7e0015dc5ee27174c875eb0b50809bb36e11d6d74c31dd7a19415ec17c989f69ff2a97152f29b19e30d1dfc9df0dde0d538d919799f41177edaa0ffcf37ad9568c95177176e6cae221ec39b6e1b2ca4e1bf7172aaf2c9d962e2ecf68a2422856b3fe2c0299d6faabdf8a3de46b217f440aa69925b5c28dcb23cdbb468a6f5def0e53f60c3918747d9df1e6c0fafed3bcc428fa661009a636a9550eb70e29296dd8363ec13df2b87ab725a48f45616bc4dc1f44b98f12ea26b7b6daf4c0664375cf65b5bf5433ad3e2a70c3bb86abc94dc68d559001910c442aa2cefda21e18e752c1a00676b86d77c79e7a2b8d037d632d30b37e2d75c18a84e2a6a3ca9b51edb8f2db38c4dc380958c49bcd3b20fa962feb0b1f700226fbfe1602a2296c1f7874c316064774d85bde2ebd218d4b522007a2d17cd960860efa112719ace68d8b1f18dc91e50d1fdf9566230a046f0871654d637b626984764a942d4e0a3b7160d4517d3b5f1015957661b8d4c7b0075cf09679e7f27da07893eece4e77e086f6e3c192d2bf9214bf92c1e48c52c80a95a5490a4692963810735a17e35d33f76ed75adb1cb95a2496630c29f0bc55308b49d5c4a1573738e74d8c2dcaf8d6af9b985b342257815693f6c9eb01c41b06cee91997318c1beaa08f730a114b977078af6018ffb794545b31236aed4da5c3b3b47877d5f7eaa8b5df933b916d3deb45e7ef156f44dc7e66936e168a0d74c8c2e7260b5bedb8ba75179152aff55af5b0ab56785e1567aa82a1711eb764b752467bc28938dfe41a6514f25f65334352bbcbf342f700eb6b96c9f24a8335e0219e22a7caeea1740a8037a35e0e4214646dcf30002fb965988b4837b88158b156369a23d1593d91dca328a438c4d152684f1fc688f50208f32b9f499a4db121f220845a751afec912076423c4b194ee78a5495bfb51f3ea03ca8332aa85e73d98cc82e8833e51e871c9ac9ecb27f286f837eb23e0d93e75e19d79ad742424fe7f1284865e779ed91cc793d1e018665a0be7cc5bcf7b0d4170ad52df08c1e3df22cb539ca1e974fefbf02d6ae388713b2313b2c44389dbbef03e1e0c7ed0ae48a30128f371f7b96807729d05e0def6a4d75d9632a9e72062fc860d8a35e31238a36281420b6665b8773e31b52f641cc037b41b236eff9500d40ad24d012730d79806f9b12cedc95fe935529a0fefbbcd968ec3e14b83dcadc65a5f837dfd5bf7c8e6739dafbc066d062e96340a12c2e681b5efeae34eff63d404d52ce8d3f1eb2f4e877d0c5dc31362c7e86aadd0d1e9e91d75c5ba54203ae14e4847ad2f42568873d75178d7177c0b14983395cc5557abfc93ce6a2b21f2401a65ce00ba50dd9f8e0cca8707ed860b778357c4cd068b62663a378a64bd710eae1ebb121f906b4627b175abd5229a54234152e033a9ccf0f6a5f355149d10ec77ddf920d142fc07b229f911df0bc9e0f63eb0b00c902639570a13e847c7a0f2dbe4866c3f2d891899beab1fb6d325ad74f95239f38562ded3724b30f561bc872e17acec3869e64b464609438b5c7246fc5f60be5006bb3ba0415081ea0ee0575e44e58f7d4027eded78fe19934069ed89237618e4b20af18ad0f4a20068dd8ee0b2fb53959cb1e6c1006421143cc32bf62acea51cc9655e2e56322c5feec5aa953c0809d85e4130528935cdc3260b1cdb9c407a09b9b0cbd2f118fb50701f34784d58956c57f9d5fb0b8f4a6803eae37erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpetsc-3.12.2-lp152.2.3.1.src.rpmpetsc-doc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1^]@]N@]e@]]2@]1]/ \@\+@\\dZ@ZZZZ2@Z2@ZZw@ZZZ}@Z}@ZyZyZo ZX@ZOhZ ZYY@Y@Y@XCV +UnUK@Egbert Eich Egbert Eich Egbert Eich Stefan Brüns Ana Guerrero Lopez Egbert Eich Michel Normand Stefan Brüns Stefan Brüns Stefan Brüns Egbert Eich eich@suse.comguillaume.gardet@opensuse.orgeich@suse.comeich@suse.comstefan.bruens@rwth-aachen.deeich@suse.comro@suse.deeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comkkhere.geo@gmail.comkkhere.geo@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.com- Make sure, doc package is built for SLE (bsc#1173269).- Remove unneeded dependency from HPC devel package.- Update to version 3.12.2 (jsc#SLE-8505) * https://www.mcs.anl.gov/petsc/documentation/changes/312.html - Remove petsc-3.3-p2-fix-shared-libs-sonames.patch link created directly in %install section - Remove petsc-3.3-p2-dont-check-for-option-mistakes.patch not needed. - Remove petsc-3.3-fix-error-detection-in-makefile.patch not needed. - Add non-HPC build with openmpi3 - Add HPC builds for gcc8 & gcc 9 (jsc#SLE-7766 & jsc#SLE-8604). - Disable openmpi1 builds for SLE/Leap > 15.1. - Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773).- Reflect renaming of openmpi packages to openmpi1 in Tumbleweed, fixes unresolvable packages. - Fix copy'n'paste error, mpi_vers vs. mpi_ver - Add non-HPC openmpi2 flavor.- Update to version 3.11.3 (jsc#SLE-8505) - https://www.mcs.anl.gov/petsc/documentation/changes/311.html - Binaries have changed path from bin/ to lib/petsc/bin/ - Patches removed, merged by upstream * Python-Fix-a-number-of-scripts-to-by-Python-3-compliant.patch * petsc-fix-nonmpi.patch - Patches refreshed * petsc-3.3-p2-fix-shared-libs-sonames.patch * petsc-3.3-p2-no-rpath.patch * petsc-3.3-p2-dont-check-for-option-mistakes.patch * petsc-3.3-fix-error-detection-in-makefile.patch * petsc-3.7-fix-pastix-detection.patch - Set -fPIC also on x86_64- Upped memory constraints to 6G for non-ppc systems as well, leaving the special ppc treatment in place in case we need to up it some more there.- update _constraints for PowerPC more than 4G memory - Add BuildRequires libopenblas-gnu-hpc >= 0.3.6 for hpc to avoid to build when openblas library not available.- Disable pastix also in openmpi flavor, same as for serial and HPC flavors. Pastix is only built with openmpi, and not available in Factory.- Fix building non-MPI flavors of packages depending on petsc Add petsc-fix-nonmpi.patch - Do not move headers to /usr/include and symlink, causes problems with - isystem- Fix spec for non-HPC, reenable serial and non-HPC openmpi build. - Disable HYPRE for non-HPC, same as for HPC.- Consolidate use of openmpi1, openmpi2, openmpi3. - Do not build non-HPC on SLE.- (Temporarily) disable fpr S390* as a check test for netcdf fails currently on BE (bsc#1091474).- Add _constraints to avoid OOM errors- Do not require 'Modules' for HPC build: seetings from /etc/profile.d/lmod.[c]sh will be overwritten by /etc/profile.d/modules.[c]sh installed by Modules (bsc#1089865).- Convert doc package build to noarch. This will hopefully avoid spurious build errors on SLE-12.- Set '-fPIC' also on aarch64- Reenable flavor 'serial' to build the doc package only (bsc#1087050). Note: for this flavor nothing else gets built: once the missing dependencies have been fixed, rearrange the [#]%if 0%{?makedoc:1} ... %endif.- use "-fPIC" also on s390, like on ppc64 (bsc#1086008)- Don't build the serial flavor as the build presently breaks everywhere (bsc#1084677).- Python-Fix-a-number-of-scripts-to-by-Python-3-compliant.patch: Fix python scripts - convert to Python 3 (bsc#1082209). - Restructure package: factor out SAWs stuff. We cannot support this as SAWs itself isn't available for SUSE. - Move python files that are not stand-alone out of the bin directory. - Fix permissions in bin and other directories. - Removed some unwanted scripts: rules - make rules sendToJenkins - this should probably be modified to print an error message uncrustify.cfg - used by 'rules' - Removed win32fe: DLLs for Windows - Set '-fPIC' on ppc64.- Update to version 3.8.3: http://www.mcs.anl.gov/petsc/documentation/changes/37.html (FATE#325333).- Since the OpenBLAS build was fixed, reenable scalapack on s390 (bsc#1079513). - Add support for openmpi2 for HPC (FATE#325089). - Fix build on ppc64le (bsc#1080380).- Fix summary in module files (bnc#1080259)- Don't use baselibs.conf: some dependencies are not available for i586 on Factory.- The HPC build of petsc depends on openBLAS. OpenBLAS doesn't support s390: skip building on s390 (bsc#1079513).- Fix build with rpm v4.14.- Disable the openmpi3 flavor in some products.- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890). - Add support for mpich and openmpi3 for HPC. - Fix unexpanded rpm macro in environment module file for HPC (boo#1074897).- emvironment modules: only set BIN when binary path exists. - Fix RPM macro name %hpc_upcase.- Add libhdf5/libscalapack*-hpc as Requires to the library package for HPC.- Simplify Group: - do not destinguish between MPI and non-MPI: the IBS check scripts cannot handle this well.- Fix Requires for HPC build.- Disable non-HPC openmpi flavor due to missing dependencies.- Convert to multibuild. - Add HPC build using environment modules (FATE#321718). - Generate baselib.conf dynamically and only for the non-HPC builds: this avoids issues with the source validator. - Updated to 3.7.6 (in sync with OpenHPC) Changelog at: http://www.mcs.anl.gov/petsc/documentation/changes/37.html- recreate petsc package with version 3.7.5 previously existing petsc package was deleted for unknown reasons. package in science repository is just a broken link. previous changelog salvaged from installed rpm is below. - upstream version changelogs available at https://www.mcs.anl.gov/petsc/petsc-as/documentation/changes/index.html- Refix blacs dependency, since blacs is now merged in scalapack- Fix blacs dependency ambiguity- Fix building on ppc64 and ppc64lebuild81 1596127850  !"#$%&'()*+,-./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 { | } ~                            ! " # $ % & ' ( ) * + , - . / 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 { | } ~        !"#$%&'()*+,-./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[\]^_`abc3.12.2-lp152.2.3.1      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""""""""""""""""""""""""""""""""#########################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))***************************************************petsc-docbugreporting.htmlchanges2015.html2016.html2017.html2018-21.html2022.html2024.html2028.html2029.html21.html211.html212.html213.html215.html216.html220.html221.html230.html231.html232.html233.html300.html31.html310.html311.html312.html32.html33.html34.html35.html36.html37.html38.html39.htmlindex.htmlcodemanagement.htmlcopyright.htmldevelopers.pdffaq.htmlindex.htmlinstallation.htmlintro.pdflicense.htmllinearsolvertable.htmlmanual.pdfmanualpagesAOAO.htmlAOApplicationToPetsc.htmlAOApplicationToPetscIS.htmlAOApplicationToPetscPermuteInt.htmlAOApplicationToPetscPermuteReal.htmlAOCreate.htmlAOCreateBasic.htmlAOCreateBasicIS.htmlAOCreateMapping.htmlAOCreateMappingIS.htmlAOCreateMemoryScalable.htmlAOCreateMemoryScalableIS.htmlAODestroy.htmlAOFinalizePackage.htmlAOGetType.htmlAOInitializePackage.htmlAOMappingHasApplicationIndex.htmlAOMappingHasPetscIndex.htmlAOPetscToApplication.htmlAOPetscToApplicationIS.htmlAOPetscToApplicationPermuteInt.htmlAOPetscToApplicationPermuteReal.htmlAORegister.htmlAORegisterAll.htmlAOSetFromOptions.htmlAOSetIS.htmlAOSetType.htmlAOType.htmlAOView.htmlindex.htmlCharacteristicCharacteristic.htmlCharacteristicFinalizePackage.htmlCharacteristicInitializePackage.htmlCharacteristicRegister.htmlCharacteristicRegisterAll.htmlCharacteristicSetType.htmlCharacteristicSetUp.htmlCharacteristicType.htmlindex.htmlDMDM.htmlDMAdaptFlag.htmlDMAdaptLabel.htmlDMAdaptMetric.htmlDMAdaptationCriterion.htmlDMAdaptationStrategy.htmlDMAddBoundary.htmlDMAddField.htmlDMAddLabel.htmlDMAppendOptionsPrefix.htmlDMBoundaryConditionType.htmlDMBoundaryType.htmlDMCOMPOSITE.htmlDMClearDS.htmlDMClearFields.htmlDMClearGlobalVectors.htmlDMClearLabelStratum.htmlDMClearLabelValue.htmlDMClearLocalVectors.htmlDMClone.htmlDMCoarsen.htmlDMCoarsenHierarchy.htmlDMCoarsenHookAdd.htmlDMCoarsenHookRemove.htmlDMCompositeAddDM.htmlDMCompositeCreate.htmlDMCompositeGather.htmlDMCompositeGatherArray.htmlDMCompositeGetAccess.htmlDMCompositeGetAccessArray.htmlDMCompositeGetEntries.htmlDMCompositeGetEntriesArray.htmlDMCompositeGetGlobalISs.htmlDMCompositeGetISLocalToGlobalMappings.htmlDMCompositeGetLocalAccessArray.htmlDMCompositeGetLocalISs.htmlDMCompositeGetLocalVectors.htmlDMCompositeGetNumberDM.htmlDMCompositeRestoreAccess.htmlDMCompositeRestoreAccessArray.htmlDMCompositeRestoreLocalAccessArray.htmlDMCompositeRestoreLocalVectors.htmlDMCompositeScatter.htmlDMCompositeScatterArray.htmlDMCompositeSetCoupling.htmlDMComputeL2Diff.htmlDMComputeL2FieldDiff.htmlDMComputeL2GradientDiff.htmlDMComputeVariableBounds.htmlDMConvert.htmlDMCopyDS.htmlDMCopyDisc.htmlDMCopyFields.htmlDMCopyLabels.htmlDMCreate.htmlDMCreateColoring.htmlDMCreateDS.htmlDMCreateDomainDecomposition.htmlDMCreateDomainDecompositionScatters.htmlDMCreateFieldDecomposition.htmlDMCreateFieldIS.htmlDMCreateGlobalVector.htmlDMCreateInjection.htmlDMCreateInterpolation.htmlDMCreateLabel.htmlDMCreateLocalVector.htmlDMCreateMassMatrix.htmlDMCreateMatrix.htmlDMCreateRestriction.htmlDMCreateSectionSF.htmlDMCreateSectionSubDM.htmlDMCreateSectionSuperDM.htmlDMCreateSubDM.htmlDMCreateSuperDM.htmlDMDestroy.htmlDMField.htmlDMFieldCreateDefaultQuadrature.htmlDMFieldCreateFEGeom.htmlDMFieldDestroy.htmlDMFieldEvaluate.htmlDMFieldEvaluateFE.htmlDMFieldEvaluateFV.htmlDMFieldFinalizePackage.htmlDMFieldGetDM.htmlDMFieldGetDegree.htmlDMFieldGetNumComponents.htmlDMFieldGetType.htmlDMFieldInitializePackage.htmlDMFieldRegister.htmlDMFieldRegisterAll.htmlDMFieldSetType.htmlDMFieldType.htmlDMFieldView.htmlDMFinalizePackage.htmlDMGetAdjacency.htmlDMGetApplicationContext.htmlDMGetBasicAdjacency.htmlDMGetBlockSize.htmlDMGetBoundary.htmlDMGetBoundingBox.htmlDMGetCellDS.htmlDMGetCoarseDM.htmlDMGetCoarsenLevel.htmlDMGetCompatibility.htmlDMGetCoordinateDM.htmlDMGetCoordinateDim.htmlDMGetCoordinateSection.htmlDMGetCoordinates.htmlDMGetCoordinatesLocal.htmlDMGetCoordinatesLocalNoncollective.htmlDMGetCoordinatesLocalSetUp.htmlDMGetCoordinatesLocalTuple.htmlDMGetCoordinatesLocalized.htmlDMGetCoordinatesLocalizedLocal.htmlDMGetDS.htmlDMGetDefaultConstraints.htmlDMGetDimPoints.htmlDMGetDimension.htmlDMGetField.htmlDMGetFineDM.htmlDMGetGlobalSection.htmlDMGetGlobalVector.htmlDMGetISColoringType.htmlDMGetLabel.htmlDMGetLabelByNum.htmlDMGetLabelIdIS.htmlDMGetLabelName.htmlDMGetLabelOutput.htmlDMGetLabelSize.htmlDMGetLabelValue.htmlDMGetLocalBoundingBox.htmlDMGetLocalSection.htmlDMGetLocalToGlobalMapping.htmlDMGetLocalVector.htmlDMGetMatType.htmlDMGetNamedGlobalVector.htmlDMGetNamedLocalVector.htmlDMGetNeighbors.htmlDMGetNumBoundary.htmlDMGetNumDS.htmlDMGetNumFields.htmlDMGetNumLabels.htmlDMGetOptionsPrefix.htmlDMGetOutputDM.htmlDMGetOutputSequenceNumber.htmlDMGetPeriodicity.htmlDMGetPointSF.htmlDMGetRefineLevel.htmlDMGetRegionDS.htmlDMGetRegionNumDS.htmlDMGetSection.htmlDMGetSectionSF.htmlDMGetStratumIS.htmlDMGetStratumSize.htmlDMGetType.htmlDMGetUseNatural.htmlDMGetVecType.htmlDMGetWorkArray.htmlDMGlobalToLocal.htmlDMGlobalToLocalBegin.htmlDMGlobalToLocalBeginDefaultShell.htmlDMGlobalToLocalEnd.htmlDMGlobalToLocalEndDefaultShell.htmlDMGlobalToLocalHookAdd.htmlDMHasBasisTransform.htmlDMHasColoring.htmlDMHasCreateInjection.htmlDMHasCreateRestriction.htmlDMHasLabel.htmlDMHasNamedGlobalVector.htmlDMHasNamedLocalVector.htmlDMHasVariableBounds.htmlDMInitializePackage.htmlDMInterpolate.htmlDMInterpolationInfo.htmlDMLabel.htmlDMLoad.htmlDMLocalToGlobal.htmlDMLocalToGlobalBegin.htmlDMLocalToGlobalBeginDefaultShell.htmlDMLocalToGlobalEnd.htmlDMLocalToGlobalEndDefaultShell.htmlDMLocalToGlobalHookAdd.htmlDMLocalToLocalBegin.htmlDMLocalToLocalBeginDefaultShell.htmlDMLocalToLocalEnd.htmlDMLocalToLocalEndDefaultShell.htmlDMLocalizeCoordinate.htmlDMLocalizeCoordinates.htmlDMLocatePoints.htmlDMOutputSequenceLoad.htmlDMPATCH.htmlDMPointLocationType.htmlDMProjectFunction.htmlDMREDUNDANT.htmlDMRedundantCreate.htmlDMRedundantGetSize.htmlDMRedundantSetSize.htmlDMRefine.htmlDMRefineHierarchy.htmlDMRefineHookAdd.htmlDMRefineHookRemove.htmlDMRegister.htmlDMRegisterAll.htmlDMRemoveLabel.htmlDMRemoveLabelBySelf.htmlDMRestoreGlobalVector.htmlDMRestoreLocalVector.htmlDMRestoreNamedGlobalVector.htmlDMRestoreNamedLocalVector.htmlDMRestoreWorkArray.htmlDMRestrict.htmlDMSLICED.htmlDMSetAdjacency.htmlDMSetApplicationContext.htmlDMSetApplicationContextDestroy.htmlDMSetBasicAdjacency.htmlDMSetCoarseDM.htmlDMSetCoarsenLevel.htmlDMSetCoordinateDM.htmlDMSetCoordinateDim.htmlDMSetCoordinateSection.htmlDMSetCoordinates.htmlDMSetCoordinatesLocal.htmlDMSetDefaultConstraints.htmlDMSetDimension.htmlDMSetField.htmlDMSetFineDM.htmlDMSetFromOptions.htmlDMSetGlobalSection.htmlDMSetISColoringType.htmlDMSetLabelOutput.htmlDMSetLabelValue.htmlDMSetLocalSection.htmlDMSetMatType.htmlDMSetMatrixPreallocateOnly.htmlDMSetMatrixStructureOnly.htmlDMSetNumFields.htmlDMSetOptionsPrefix.htmlDMSetOutputSequenceNumber.htmlDMSetPeriodicity.htmlDMSetPointSF.htmlDMSetRefineLevel.htmlDMSetRegionDS.htmlDMSetSection.htmlDMSetSectionSF.htmlDMSetStratumIS.htmlDMSetType.htmlDMSetUp.htmlDMSetUseNatural.htmlDMSetVariableBounds.htmlDMSetVec.htmlDMSetVecType.htmlDMShellCreate.htmlDMShellGetCoarsen.htmlDMShellGetContext.htmlDMShellGetCreateInjection.htmlDMShellGetCreateInterpolation.htmlDMShellGetCreateRestriction.htmlDMShellGetCreateSubDM.htmlDMShellGetRefine.htmlDMShellSetCoarsen.htmlDMShellSetContext.htmlDMShellSetCreateDomainDecomposition.htmlDMShellSetCreateDomainDecompositionScatters.htmlDMShellSetCreateFieldDecomposition.htmlDMShellSetCreateGlobalVector.htmlDMShellSetCreateInjection.htmlDMShellSetCreateInterpolation.htmlDMShellSetCreateLocalVector.htmlDMShellSetCreateMatrix.htmlDMShellSetCreateRestriction.htmlDMShellSetCreateSubDM.htmlDMShellSetGlobalToLocal.htmlDMShellSetGlobalToLocalVecScatter.htmlDMShellSetGlobalVector.htmlDMShellSetLocalToGlobal.htmlDMShellSetLocalToGlobalVecScatter.htmlDMShellSetLocalToLocal.htmlDMShellSetLocalToLocalVecScatter.htmlDMShellSetLocalVector.htmlDMShellSetMatrix.htmlDMShellSetRefine.htmlDMSlicedCreate.htmlDMSlicedSetBlockFills.htmlDMSlicedSetGhosts.htmlDMSlicedSetPreallocation.htmlDMSubDomainHookAdd.htmlDMSubDomainHookRemove.htmlDMSubDomainRestrict.htmlDMType.htmlDMView.htmlMatFDColoringUseDM.htmlMatGetDM.htmlMatSetDM.htmlPetscDS.htmlPetscDSFinalizePackage.htmlPetscDSInitializePackage.htmlPetscDSRegisterAll.htmlPetscDSType.htmlPetscDualSpaceRegisterAll.htmlPetscFEFinalizePackage.htmlPetscFEInitializePackage.htmlPetscFERegisterAll.htmlPetscFVFinalizePackage.htmlPetscFVInitializePackage.htmlPetscFVRegisterAll.htmlPetscGaussLobattoLegendreCreateType.htmlPetscLimiterRegisterAll.htmlPetscPartitioner.htmlPetscPartitionerRegisterAll.htmlPetscPartitionerType.htmlPetscQuadrature.htmlPetscSpaceRegisterAll.htmlPetscUnit.htmlVecGetDM.htmlVecSetDM.htmlindex.htmlDMDADMCreateAggregates.htmlDMCreateInterpolationScale.htmlDMDA.htmlDMDAConvertToCell.htmlDMDACoor2d.htmlDMDACoor3d.htmlDMDACreate.htmlDMDACreate1d.htmlDMDACreate2d.htmlDMDACreate3d.htmlDMDACreateAggregates.htmlDMDACreateCompatibleDMDA.htmlDMDACreateNaturalVector.htmlDMDACreatePF.htmlDMDACreatePatchIS.htmlDMDAElementType.htmlDMDAGetAO.htmlDMDAGetArray.htmlDMDAGetCellPoint.htmlDMDAGetCoordinateArray.htmlDMDAGetCoordinateName.htmlDMDAGetCorners.htmlDMDAGetDof.htmlDMDAGetElementType.htmlDMDAGetElements.htmlDMDAGetElementsCorners.htmlDMDAGetElementsSizes.htmlDMDAGetFieldName.htmlDMDAGetFieldNames.htmlDMDAGetGhostCorners.htmlDMDAGetInfo.htmlDMDAGetInterpolationType.htmlDMDAGetLocalInfo.htmlDMDAGetLogicalCoordinate.htmlDMDAGetNeighbors.htmlDMDAGetNonOverlappingRegion.htmlDMDAGetNumCells.htmlDMDAGetNumLocalSubDomains.htmlDMDAGetOffset.htmlDMDAGetOverlap.htmlDMDAGetOwnershipRanges.htmlDMDAGetPreallocationCenterDimension.htmlDMDAGetProcessorSubset.htmlDMDAGetProcessorSubsets.htmlDMDAGetRay.htmlDMDAGetReducedDMDA.htmlDMDAGetRefinementFactor.htmlDMDAGetScatter.htmlDMDAGetStencilType.htmlDMDAGetStencilWidth.htmlDMDAGetSubdomainCornersIS.htmlDMDAGlobalToNaturalAllCreate.htmlDMDAGlobalToNaturalBegin.htmlDMDAGlobalToNaturalEnd.htmlDMDAInterpolationType.htmlDMDALocalInfo.htmlDMDANaturalAllToGlobalCreate.htmlDMDANaturalToGlobalBegin.htmlDMDANaturalToGlobalEnd.htmlDMDARestoreArray.htmlDMDARestoreCoordinateArray.htmlDMDARestoreElements.htmlDMDARestoreSubdomainCornersIS.htmlDMDASetAOType.htmlDMDASetBlockFills.htmlDMDASetBlockFillsSparse.htmlDMDASetBoundaryType.htmlDMDASetCoordinateName.htmlDMDASetDof.htmlDMDASetElementType.htmlDMDASetFieldName.htmlDMDASetFieldNames.htmlDMDASetGLLCoordinates.htmlDMDASetGetMatrix.htmlDMDASetInterpolationType.htmlDMDASetNonOverlappingRegion.htmlDMDASetNumLocalSubDomains.htmlDMDASetNumProcs.htmlDMDASetOffset.htmlDMDASetOverlap.htmlDMDASetOwnershipRanges.htmlDMDASetPreallocationCenterDimension.htmlDMDASetRefinementFactor.htmlDMDASetSizes.htmlDMDASetStencilType.htmlDMDASetStencilWidth.htmlDMDASetUniformCoordinates.htmlDMDAStencilType.htmlDMDAVTKWriteAll.htmlDMDAVecGetArray.htmlDMDAVecGetArrayDOF.htmlDMDAVecGetArrayDOFRead.htmlDMDAVecGetArrayRead.htmlDMDAVecGetArrayWrite.htmlDMDAVecRestoreArray.htmlDMDAVecRestoreArrayDOF.htmlDMDAVecRestoreArrayDOFRead.htmlDMDAVecRestoreArrayRead.htmlDMDAVecRestoreArrayWrite.htmlDMDA_STENCIL_BOX.htmlDMDA_STENCIL_STAR.htmlMATHYPRESSTRUCT.htmlMATHYPRESTRUCT.htmlMatCreateSeqUSFFT.htmlMatSetupDM.htmlindex.htmlDMFORESTDMFOREST.htmlDMForestGetAdaptivityForest.htmlDMForestGetAdaptivityLabel.htmlDMForestGetAdaptivityPurpose.htmlDMForestGetAdaptivitySF.htmlDMForestGetAdaptivitySuccess.htmlDMForestGetAdjacencyCodimension.htmlDMForestGetAdjacencyDimension.htmlDMForestGetBaseDM.htmlDMForestGetCellChart.htmlDMForestGetCellSF.htmlDMForestGetCellWeightFactor.htmlDMForestGetCellWeights.htmlDMForestGetComputeAdaptivitySF.htmlDMForestGetGradeFactor.htmlDMForestGetInitialRefinement.htmlDMForestGetMaximumRefinement.htmlDMForestGetMinimumRefinement.htmlDMForestGetPartitionOverlap.htmlDMForestGetTopology.htmlDMForestGetWeightCapacity.htmlDMForestRegisterType.htmlDMForestSetAdaptivityForest.htmlDMForestSetAdaptivityLabel.htmlDMForestSetAdaptivityPurpose.htmlDMForestSetAdaptivityStrategy.htmlDMForestSetAdjacencyCodimension.htmlDMForestSetAdjacencyDimension.htmlDMForestSetBaseDM.htmlDMForestSetCellWeightFactor.htmlDMForestSetCellWeights.htmlDMForestSetGradeFactor.htmlDMForestSetInitialRefinement.htmlDMForestSetMaximumRefinement.htmlDMForestSetMinimumRefinement.htmlDMForestSetPartitionOverlap.htmlDMForestSetTopology.htmlDMForestSetWeightCapacity.htmlDMForestTemplate.htmlDMIsForest.htmlindex.htmlDMLABELDMLabelAddStrata.htmlDMLabelAddStrataIS.htmlDMLabelAddStratum.htmlDMLabelClearStratum.htmlDMLabelClearValue.htmlDMLabelComputeIndex.htmlDMLabelConvertToSection.htmlDMLabelCreate.htmlDMLabelCreateIndex.htmlDMLabelDestroy.htmlDMLabelDestroyIndex.htmlDMLabelDistribute.htmlDMLabelDuplicate.htmlDMLabelFilter.htmlDMLabelGather.htmlDMLabelGetBounds.htmlDMLabelGetDefaultValue.htmlDMLabelGetNumValues.htmlDMLabelGetStratumBounds.htmlDMLabelGetStratumIS.htmlDMLabelGetStratumSize.htmlDMLabelGetValue.htmlDMLabelGetValueIS.htmlDMLabelHasPoint.htmlDMLabelHasStratum.htmlDMLabelHasValue.htmlDMLabelInsertIS.htmlDMLabelPermute.htmlDMLabelReset.htmlDMLabelSetDefaultValue.htmlDMLabelSetStratumIS.htmlDMLabelSetValue.htmlDMLabelStratumHasPoint.htmlDMLabelView.htmlPetscSectionCreateGlobalSectionLabel.htmlPetscSectionSymCreateLabel.htmlPetscSectionSymLabelSetLabel.htmlPetscSectionSymLabelSetStratum.htmlindex.htmlDMMOABCompute_Lagrange_Basis_1D_Internal.htmlCompute_Lagrange_Basis_2D_Internal.htmlCompute_Lagrange_Basis_3D_Internal.htmlDMCoarsenHierarchy_Moab.htmlDMCoarsen_Moab.htmlDMCreateInjection_Moab.htmlDMCreateInterpolation_Moab.htmlDMMOAB.htmlDMMoabCreate.htmlDMMoabCreateBoxMesh.htmlDMMoabCreateElement.htmlDMMoabCreateMoab.htmlDMMoabCreateSubmesh.htmlDMMoabCreateVector.htmlDMMoabCreateVertices.htmlDMMoabFEMComputeBasis.htmlDMMoabFEMCreateQuadratureDefault.htmlDMMoabGenerateHierarchy.htmlDMMoabGetAllVertices.htmlDMMoabGetBlockSize.htmlDMMoabGetBoundaryMarkers.htmlDMMoabGetDimension.htmlDMMoabGetDofs.htmlDMMoabGetDofsBlocked.htmlDMMoabGetDofsBlockedLocal.htmlDMMoabGetDofsLocal.htmlDMMoabGetElementConnectivity.htmlDMMoabGetFieldDof.htmlDMMoabGetFieldDofs.htmlDMMoabGetFieldDofsLocal.htmlDMMoabGetFieldName.htmlDMMoabGetHierarchyLevel.htmlDMMoabGetInterface.htmlDMMoabGetLocalElements.htmlDMMoabGetLocalSize.htmlDMMoabGetLocalToGlobalTag.htmlDMMoabGetLocalVertices.htmlDMMoabGetMaterialBlock.htmlDMMoabGetOffset.htmlDMMoabGetParallelComm.htmlDMMoabGetSize.htmlDMMoabGetVecRange.htmlDMMoabGetVecTag.htmlDMMoabGetVertexConnectivity.htmlDMMoabGetVertexCoordinates.htmlDMMoabGetVertexDofsBlocked.htmlDMMoabGetVertexDofsBlockedLocal.htmlDMMoabIsEntityOnBoundary.htmlDMMoabLoadFromFile.htmlDMMoabOutput.htmlDMMoabPToRMapping.htmlDMMoabRenumberMeshEntities.htmlDMMoabRestoreVertexConnectivity.htmlDMMoabSetBlockFills.htmlDMMoabSetBlockSize.htmlDMMoabSetFieldName.htmlDMMoabSetFieldNames.htmlDMMoabSetFieldVector.htmlDMMoabSetGlobalFieldVector.htmlDMMoabSetInterface.htmlDMMoabSetLocalElements.htmlDMMoabSetLocalToGlobalTag.htmlDMMoabSetLocalVertices.htmlDMMoabVecGetArray.htmlDMMoabVecGetArrayRead.htmlDMMoabVecRestoreArray.htmlDMRefineHierarchy_Moab.htmlDMRefine_Moab.htmlindex.htmlDMNetworkDMNETWORK.htmlDMNetworkAddComponent.htmlDMNetworkAddNumVariables.htmlDMNetworkAssembleGraphStructures.htmlDMNetworkCreate.htmlDMNetworkDistribute.htmlDMNetworkEdgeSetMatrix.htmlDMNetworkGetComponent.htmlDMNetworkGetComponentDataArray.htmlDMNetworkGetConnectedVertices.htmlDMNetworkGetEdgeOffset.htmlDMNetworkGetEdgeRange.htmlDMNetworkGetGlobalEdgeIndex.htmlDMNetworkGetGlobalVertexIndex.htmlDMNetworkGetNumComponents.htmlDMNetworkGetNumVariables.htmlDMNetworkGetPlex.htmlDMNetworkGetSubnetworkCoupleInfo.htmlDMNetworkGetSubnetworkInfo.htmlDMNetworkGetVariableGlobalOffset.htmlDMNetworkGetVariableOffset.htmlDMNetworkGetVertexLocalToGlobalOrdering.htmlDMNetworkGetVertexOffset.htmlDMNetworkGetVertexRange.htmlDMNetworkHasJacobian.htmlDMNetworkIsGhostVertex.htmlDMNetworkLayoutSetUp.htmlDMNetworkMonitorAdd.htmlDMNetworkMonitorCreate.htmlDMNetworkMonitorDestroy.htmlDMNetworkMonitorPop.htmlDMNetworkMonitorView.htmlDMNetworkRegisterComponent.htmlDMNetworkSetEdgeList.htmlDMNetworkSetNumVariables.htmlDMNetworkSetSizes.htmlDMNetworkSetVertexLocalToGlobalOrdering.htmlDMNetworkVertexSetMatrix.htmlPetscSFGetSubSF.htmlindex.htmlDMPATCHDMPatchCreate.htmlindex.htmlDMPLEXDMComputeL2DiffLocal.htmlDMPLEX.htmlDMPlexAddConeSize.htmlDMPlexCheckCellShape.htmlDMPlexCheckConesConformOnInterfaces.htmlDMPlexCheckFaces.htmlDMPlexCheckGeometry.htmlDMPlexCheckPointSF.htmlDMPlexCheckSkeleton.htmlDMPlexCheckSymmetry.htmlDMPlexComputeBdIntegral.htmlDMPlexComputeCellGeometryAffineFEM.htmlDMPlexComputeCellGeometryFEM.htmlDMPlexComputeCellGeometryFVM.htmlDMPlexComputeCellwiseIntegralFEM.htmlDMPlexComputeGeometryFEM.htmlDMPlexComputeGeometryFVM.htmlDMPlexComputeGradientClementInterpolant.htmlDMPlexComputeGradientFVM.htmlDMPlexComputeInjectorFEM.htmlDMPlexComputeIntegralFEM.htmlDMPlexComputeInterpolatorGeneral.htmlDMPlexComputeInterpolatorNested.htmlDMPlexComputeL2DiffVec.htmlDMPlexComputeMassMatrixGeneral.htmlDMPlexComputeProjection2Dto1D.htmlDMPlexComputeProjection3Dto1D.htmlDMPlexComputeProjection3Dto2D.htmlDMPlexConstructCohesiveCells.htmlDMPlexConstructGhostCells.htmlDMPlexCoordinatesToReference.htmlDMPlexCopyCoordinates.htmlDMPlexCreate.htmlDMPlexCreateBasisRotation.htmlDMPlexCreateBoxMesh.htmlDMPlexCreateCGNS.htmlDMPlexCreateCellVertexFromFile.htmlDMPlexCreateClosureIndex.htmlDMPlexCreateCoarsePointIS.htmlDMPlexCreateCohesiveSubmesh.htmlDMPlexCreateCubeBoundary.htmlDMPlexCreateDefaultReferenceTree.htmlDMPlexCreateDoublet.htmlDMPlexCreateExodus.htmlDMPlexCreateExodusFromFile.htmlDMPlexCreateFluent.htmlDMPlexCreateFluentFromFile.htmlDMPlexCreateFromCellList.htmlDMPlexCreateFromCellListParallel.htmlDMPlexCreateFromDAG.htmlDMPlexCreateFromFile.htmlDMPlexCreateGlobalToNaturalSF.htmlDMPlexCreateGmsh.htmlDMPlexCreateGmshFromFile.htmlDMPlexCreateHexCylinderMesh.htmlDMPlexCreateHybridMesh.htmlDMPlexCreateLabelField.htmlDMPlexCreateMedFromFile.htmlDMPlexCreateNeighborCSR.htmlDMPlexCreateOverlapLabel.htmlDMPlexCreateOverlapMigrationSF.htmlDMPlexCreatePLYFromFile.htmlDMPlexCreatePartitionerGraph.htmlDMPlexCreatePointNumbering.htmlDMPlexCreatePointSF.htmlDMPlexCreateProcessSF.htmlDMPlexCreateRankField.htmlDMPlexCreateReferenceCell.htmlDMPlexCreateRigidBodies.htmlDMPlexCreateRigidBody.htmlDMPlexCreateSection.htmlDMPlexCreateSphereMesh.htmlDMPlexCreateSquareBoundary.htmlDMPlexCreateSubmesh.htmlDMPlexCreateSubpointIS.htmlDMPlexCreateTwoSidedProcessSF.htmlDMPlexCreateWedgeBoxMesh.htmlDMPlexCreateWedgeCylinderMesh.htmlDMPlexDistribute.htmlDMPlexDistributeData.htmlDMPlexDistributeField.htmlDMPlexDistributeFieldIS.htmlDMPlexDistributeOverlap.htmlDMPlexDistributeOwnership.htmlDMPlexEqual.htmlDMPlexExtrude.htmlDMPlexFilter.htmlDMPlexFindVertices.htmlDMPlexGenerate.htmlDMPlexGenerateRegister.htmlDMPlexGenerateRegisterAll.htmlDMPlexGetAdjacency.htmlDMPlexGetAdjacencyUseAnchors.htmlDMPlexGetAdjacencyUser.htmlDMPlexGetAnchors.htmlDMPlexGetAuxiliaryPoint.htmlDMPlexGetCellFields.htmlDMPlexGetCellNumbering.htmlDMPlexGetChart.htmlDMPlexGetClosureIndices.htmlDMPlexGetCone.htmlDMPlexGetConeOrientation.htmlDMPlexGetConeOrientations.htmlDMPlexGetConeRecursive.htmlDMPlexGetConeRecursiveVertices.htmlDMPlexGetConeSection.htmlDMPlexGetConeSize.htmlDMPlexGetConeTuple.htmlDMPlexGetCones.htmlDMPlexGetDataFVM.htmlDMPlexGetDepth.htmlDMPlexGetDepthLabel.htmlDMPlexGetDepthStratum.htmlDMPlexGetFaceFields.htmlDMPlexGetFaceGeometry.htmlDMPlexGetFullJoin.htmlDMPlexGetFullMeet.htmlDMPlexGetGatherDM.htmlDMPlexGetGlobalToNaturalSF.htmlDMPlexGetHeightStratum.htmlDMPlexGetHybridBounds.htmlDMPlexGetJoin.htmlDMPlexGetMaxProjectionHeight.htmlDMPlexGetMaxSizes.htmlDMPlexGetMeet.htmlDMPlexGetMigrationSF.htmlDMPlexGetMinRadius.htmlDMPlexGetNumFaceVertices.htmlDMPlexGetOrdering.htmlDMPlexGetOrientedFace.htmlDMPlexGetOverlap.htmlDMPlexGetPartitionBalance.htmlDMPlexGetPartitioner.htmlDMPlexGetPointGlobal.htmlDMPlexGetPointGlobalField.htmlDMPlexGetPointLocal.htmlDMPlexGetPointLocalField.htmlDMPlexGetRedundantDM.htmlDMPlexGetReferenceTree.htmlDMPlexGetRefinementFunction.htmlDMPlexGetRefinementLimit.htmlDMPlexGetRefinementUniform.htmlDMPlexGetRegularRefinement.htmlDMPlexGetScale.htmlDMPlexGetSubdomainSection.htmlDMPlexGetSubpoint.htmlDMPlexGetSubpointMap.htmlDMPlexGetSupport.htmlDMPlexGetSupportSection.htmlDMPlexGetSupportSize.htmlDMPlexGetTransitiveClosure.htmlDMPlexGetTransitiveClosure_Internal.htmlDMPlexGetTree.htmlDMPlexGetTreeChildren.htmlDMPlexGetTreeParent.htmlDMPlexGetVTKCellHeight.htmlDMPlexGetVertexNumbering.htmlDMPlexGlobalToLocalBasis.htmlDMPlexGlobalToNaturalBegin.htmlDMPlexGlobalToNaturalEnd.htmlDMPlexInsertBoundaryValues.htmlDMPlexInsertBoundaryValuesEssential.htmlDMPlexInsertBoundaryValuesEssentialField.htmlDMPlexInsertBoundaryValuesRiemann.htmlDMPlexInsertCone.htmlDMPlexInsertConeOrientation.htmlDMPlexInsertSupport.htmlDMPlexInterpolate.htmlDMPlexInterpolatePointSF.htmlDMPlexInvertCell.htmlDMPlexLabelAddCells.htmlDMPlexLabelClearCells.htmlDMPlexLabelCohesiveComplete.htmlDMPlexLabelComplete.htmlDMPlexLocalToGlobalBasis.htmlDMPlexMarkBoundaryFaces.htmlDMPlexMatSetClosure.htmlDMPlexMigrate.htmlDMPlexNaturalToGlobalBegin.htmlDMPlexNaturalToGlobalEnd.htmlDMPlexOrient.htmlDMPlexPartitionLabelAdjacency.htmlDMPlexPartitionLabelClosure.htmlDMPlexPartitionLabelCreateSF.htmlDMPlexPartitionLabelInvert.htmlDMPlexPartitionLabelPropagate.htmlDMPlexPermute.htmlDMPlexPointGlobalFieldRead.htmlDMPlexPointGlobalFieldRef.htmlDMPlexPointGlobalRead.htmlDMPlexPointGlobalRef.htmlDMPlexPointLocalFieldRead.htmlDMPlexPointLocalFieldRef.htmlDMPlexPointLocalRead.htmlDMPlexPointLocalRef.htmlDMPlexPreallocateOperator.htmlDMPlexRebalanceSharedPoints.htmlDMPlexReconstructGradientsFVM.htmlDMPlexReferenceToCoordinates.htmlDMPlexReferenceTreeGetChildSymmetry.htmlDMPlexRefineSimplexToTensor.htmlDMPlexRestoreCellFields.htmlDMPlexRestoreClosureIndices.htmlDMPlexRestoreConeRecursive.htmlDMPlexRestoreFaceFields.htmlDMPlexRestoreFaceGeometry.htmlDMPlexRestoreJoin.htmlDMPlexRestoreMeet.htmlDMPlexRestoreTransitiveClosure.htmlDMPlexReverseCell.htmlDMPlexRewriteSF.htmlDMPlexSetAdjacencyUseAnchors.htmlDMPlexSetAdjacencyUser.htmlDMPlexSetAnchors.htmlDMPlexSetChart.htmlDMPlexSetClosurePermutationTensor.htmlDMPlexSetCone.htmlDMPlexSetConeOrientation.htmlDMPlexSetConeSize.htmlDMPlexSetGlobalToNaturalSF.htmlDMPlexSetHybridBounds.htmlDMPlexSetMaxProjectionHeight.htmlDMPlexSetMigrationSF.htmlDMPlexSetMinRadius.htmlDMPlexSetOptionsPrefix.htmlDMPlexSetPartitionBalance.htmlDMPlexSetPartitioner.htmlDMPlexSetReferenceTree.htmlDMPlexSetRefinementFunction.htmlDMPlexSetRefinementLimit.htmlDMPlexSetRefinementUniform.htmlDMPlexSetRegularRefinement.htmlDMPlexSetScale.htmlDMPlexSetSubpointMap.htmlDMPlexSetSupport.htmlDMPlexSetSupportSize.htmlDMPlexSetTree.htmlDMPlexSetVTKCellHeight.htmlDMPlexStratify.htmlDMPlexStratifyMigrationSF.htmlDMPlexSymmetrize.htmlDMPlexTetgenSetOptions.htmlDMPlexTransferVecTree.htmlDMPlexTriangleSetOptions.htmlDMPlexUninterpolate.htmlDMPlexVTKWriteAll.htmlDMPlexVecGetClosure.htmlDMPlexVecRestoreClosure.htmlDMPlexVecSetClosure.htmlPETSCPARTITIONERCHACO.htmlPETSCPARTITIONERGATHER.htmlPETSCPARTITIONERMATPARTITIONING.htmlPETSCPARTITIONERPARMETIS.htmlPETSCPARTITIONERPTSCOTCH.htmlPETSCPARTITIONERSHELL.htmlPETSCPARTITIONERSIMPLE.htmlPetscPartitionerCreate.htmlPetscPartitionerDestroy.htmlPetscPartitionerGetType.htmlPetscPartitionerMatPartitioningGetMatPartitioning.htmlPetscPartitionerPartition.htmlPetscPartitionerRegister.htmlPetscPartitionerSetFromOptions.htmlPetscPartitionerSetType.htmlPetscPartitionerSetUp.htmlPetscPartitionerShellGetRandom.htmlPetscPartitionerShellSetPartition.htmlPetscPartitionerShellSetRandom.htmlPetscPartitionerView.htmlindex.htmlDMPRODUCTDMPRODUCT.htmlDMProductGetDM.htmlDMProductSetDM.htmlDMProductSetDimensionIndex.htmlindex.htmlDMSTAGDMSTAG.htmlDMStagCreate1d.htmlDMStagCreate2d.htmlDMStagCreate3d.htmlDMStagCreateCompatibleDMStag.htmlDMStagGet1dCoordinateArraysDOFRead.htmlDMStagGet1dCoordinateLocationSlot.htmlDMStagGetBoundaryTypes.htmlDMStagGetCorners.htmlDMStagGetDOF.htmlDMStagGetEntriesPerElement.htmlDMStagGetGhostCorners.htmlDMStagGetGlobalSizes.htmlDMStagGetIsFirstRank.htmlDMStagGetIsLastRank.htmlDMStagGetLocalSizes.htmlDMStagGetLocationDOF.htmlDMStagGetLocationSlot.htmlDMStagGetNumRanks.htmlDMStagGetOwnershipRanges.htmlDMStagGetStencilType.htmlDMStagGetStencilWidth.htmlDMStagMatSetValuesStencil.htmlDMStagMigrateVec.htmlDMStagPopulateLocalToGlobalInjective.htmlDMStagRestore1dCoordinateArraysDOFRead.htmlDMStagSetBoundaryTypes.htmlDMStagSetCoordinateDMType.htmlDMStagSetDOF.htmlDMStagSetGlobalSizes.htmlDMStagSetNumRanks.htmlDMStagSetOwnershipRanges.htmlDMStagSetStencilType.htmlDMStagSetStencilWidth.htmlDMStagSetUniformCoordinates.htmlDMStagSetUniformCoordinatesExplicit.htmlDMStagSetUniformCoordinatesProduct.htmlDMStagStencil.htmlDMStagStencilLocation.htmlDMStagStencilType.htmlDMStagVecGetArrayDOF.htmlDMStagVecGetArrayDOFRead.htmlDMStagVecGetValuesStencil.htmlDMStagVecRestoreArrayDOF.htmlDMStagVecRestoreArrayDOFRead.htmlDMStagVecSetValuesStencil.htmlDMStagVecSplitToDMDA.htmlindex.htmlDMSWARMDMSWARM.htmlDMSwarmAddNPoints.htmlDMSwarmAddPoint.htmlDMSwarmCollectViewCreate.htmlDMSwarmCollectViewDestroy.htmlDMSwarmCopyPoint.htmlDMSwarmCreateGlobalVectorFromField.htmlDMSwarmCreateLocalVectorFromField.htmlDMSwarmCreatePointPerCellCount.htmlDMSwarmDestroyGlobalVectorFromField.htmlDMSwarmDestroyLocalVectorFromField.htmlDMSwarmFinalizeFieldRegister.htmlDMSwarmGetCellDM.htmlDMSwarmGetField.htmlDMSwarmGetLocalSize.htmlDMSwarmGetSize.htmlDMSwarmInitializeFieldRegister.htmlDMSwarmInsertPointsUsingCellDM.htmlDMSwarmMigrate.htmlDMSwarmProjectFields.htmlDMSwarmRegisterPetscDatatypeField.htmlDMSwarmRegisterUserDatatypeField.htmlDMSwarmRegisterUserStructField.htmlDMSwarmRemovePoint.htmlDMSwarmRemovePointAtIndex.htmlDMSwarmRestoreField.htmlDMSwarmSetCellDM.htmlDMSwarmSetLocalSizes.htmlDMSwarmSetPointCoordinates.htmlDMSwarmSetPointCoordinatesCellwise.htmlDMSwarmSetPointsUniformCoordinates.htmlDMSwarmSetType.htmlDMSwarmSortGetAccess.htmlDMSwarmSortGetIsValid.htmlDMSwarmSortGetNumberOfPointsPerCell.htmlDMSwarmSortGetPointsPerCell.htmlDMSwarmSortGetSizes.htmlDMSwarmSortRestoreAccess.htmlDMSwarmVectorDefineField.htmlDMSwarmViewFieldsXDMF.htmlDMSwarmViewXDMF.htmlindex.htmlDTPETSCDSBASIC.htmlPetscDSAddBoundary.htmlPetscDSAddDiscretization.htmlPetscDSCopyBoundary.htmlPetscDSCopyConstants.htmlPetscDSCopyEquations.htmlPetscDSCreate.htmlPetscDSDestroy.htmlPetscDSGetBdJacobian.htmlPetscDSGetBdResidual.htmlPetscDSGetBoundary.htmlPetscDSGetComponentDerivativeOffsets.htmlPetscDSGetComponentOffset.htmlPetscDSGetComponentOffsets.htmlPetscDSGetComponents.htmlPetscDSGetConstants.htmlPetscDSGetCoordinateDimension.htmlPetscDSGetDimensions.htmlPetscDSGetDiscretization.htmlPetscDSGetDynamicJacobian.htmlPetscDSGetExactSolution.htmlPetscDSGetFaceTabulation.htmlPetscDSGetFieldIndex.htmlPetscDSGetFieldOffset.htmlPetscDSGetFieldSize.htmlPetscDSGetHybrid.htmlPetscDSGetImplicit.htmlPetscDSGetJacobian.htmlPetscDSGetJacobianPreconditioner.htmlPetscDSGetNumBoundary.htmlPetscDSGetNumFields.htmlPetscDSGetResidual.htmlPetscDSGetRiemannSolver.htmlPetscDSGetSpatialDimension.htmlPetscDSGetTabulation.htmlPetscDSGetTotalComponents.htmlPetscDSGetTotalDimension.htmlPetscDSGetType.htmlPetscDSGetUpdate.htmlPetscDSHasDynamicJacobian.htmlPetscDSHasJacobian.htmlPetscDSHasJacobianPreconditioner.htmlPetscDSRegister.htmlPetscDSSelectEquations.htmlPetscDSSetBdJacobian.htmlPetscDSSetBdResidual.htmlPetscDSSetConstants.htmlPetscDSSetCoordinateDimension.htmlPetscDSSetDiscretization.htmlPetscDSSetDynamicJacobian.htmlPetscDSSetExactSolution.htmlPetscDSSetFromOptions.htmlPetscDSSetHybrid.htmlPetscDSSetImplicit.htmlPetscDSSetJacobian.htmlPetscDSSetJacobianPreconditioner.htmlPetscDSSetResidual.htmlPetscDSSetRiemannSolver.htmlPetscDSSetType.htmlPetscDSSetUp.htmlPetscDSSetUpdate.htmlPetscDSUpdateBoundary.htmlPetscDSUseJacobianPreconditioner.htmlPetscDSView.htmlPetscDTGaussJacobiQuadrature.htmlPetscDTGaussLobattoLegendreQuadrature.htmlPetscDTGaussQuadrature.htmlPetscDTGaussTensorQuadrature.htmlPetscDTLegendreEval.htmlPetscDTReconstructPoly.htmlPetscDTTanhSinhTensorQuadrature.htmlPetscGaussLobattoLegendreElementAdvectionCreate.htmlPetscGaussLobattoLegendreElementAdvectionDestroy.htmlPetscGaussLobattoLegendreElementGradientCreate.htmlPetscGaussLobattoLegendreElementGradientDestroy.htmlPetscGaussLobattoLegendreElementLaplacianCreate.htmlPetscGaussLobattoLegendreElementLaplacianDestroy.htmlPetscGaussLobattoLegendreIntegrate.htmlPetscQuadratureCreate.htmlPetscQuadratureDestroy.htmlPetscQuadratureDuplicate.htmlPetscQuadratureExpandComposite.htmlPetscQuadratureGetData.htmlPetscQuadratureGetNumComponents.htmlPetscQuadratureGetOrder.htmlPetscQuadratureSetData.htmlPetscQuadratureSetNumComponents.htmlPetscQuadratureSetOrder.htmlPetscQuadratureView.htmlindex.htmlDUALSPACEPETSCDUALSPACEBDM.htmlPETSCDUALSPACELAGRANGE.htmlPETSCDUALSPACESIMPLE.htmlPetscDualSpace.htmlPetscDualSpaceApply.htmlPetscDualSpaceApplyAll.htmlPetscDualSpaceApplyAllDefault.htmlPetscDualSpaceApplyDefault.htmlPetscDualSpaceApplyFVM.htmlPetscDualSpaceCreate.htmlPetscDualSpaceCreateAllPointsDefault.htmlPetscDualSpaceCreateReferenceCell.htmlPetscDualSpaceCreateSection.htmlPetscDualSpaceDestroy.htmlPetscDualSpaceDuplicate.htmlPetscDualSpaceGetAllPoints.htmlPetscDualSpaceGetDM.htmlPetscDualSpaceGetDeRahm.htmlPetscDualSpaceGetDimension.htmlPetscDualSpaceGetFunctional.htmlPetscDualSpaceGetHeightSubspace.htmlPetscDualSpaceGetNumComponents.htmlPetscDualSpaceGetNumDof.htmlPetscDualSpaceGetOrder.htmlPetscDualSpaceGetPointSubspace.htmlPetscDualSpaceGetSymmetries.htmlPetscDualSpaceGetType.htmlPetscDualSpaceLagrangeGetContinuity.htmlPetscDualSpaceLagrangeGetTensor.htmlPetscDualSpaceLagrangeSetContinuity.htmlPetscDualSpaceLagrangeSetTensor.htmlPetscDualSpacePullback.htmlPetscDualSpacePushforward.htmlPetscDualSpacePushforwardGradient.htmlPetscDualSpaceReferenceCell.htmlPetscDualSpaceRegister.htmlPetscDualSpaceSetDM.htmlPetscDualSpaceSetFromOptions.htmlPetscDualSpaceSetNumComponents.htmlPetscDualSpaceSetOrder.htmlPetscDualSpaceSetType.htmlPetscDualSpaceSetUp.htmlPetscDualSpaceSimpleSetDimension.htmlPetscDualSpaceSimpleSetFunctional.htmlPetscDualSpaceTransform.htmlPetscDualSpaceTransformGradient.htmlPetscDualSpaceTransformType.htmlPetscDualSpaceType.htmlPetscDualSpaceView.htmlPetscFE.htmlPetscFEJacobianType.htmlPetscFEType.htmlPetscGaussLobattoLegendreCreateType.htmlPetscQuadrature.htmlPetscSpace.htmlPetscSpacePolynomialType.htmlPetscSpaceType.htmlindex.htmlDrawPETSC_DRAW_IMAGE.htmlPETSC_DRAW_NULL.htmlPETSC_DRAW_X.htmlPetscDraw.htmlPetscDrawAppendTitle.htmlPetscDrawArrow.htmlPetscDrawAxis.htmlPetscDrawAxisCreate.htmlPetscDrawAxisDestroy.htmlPetscDrawAxisDraw.htmlPetscDrawAxisGetLimits.htmlPetscDrawAxisSetColors.htmlPetscDrawAxisSetHoldLimits.htmlPetscDrawAxisSetLabels.htmlPetscDrawAxisSetLimits.htmlPetscDrawBOP.htmlPetscDrawBar.htmlPetscDrawBarCreate.htmlPetscDrawBarDestroy.htmlPetscDrawBarDraw.htmlPetscDrawBarGetAxis.htmlPetscDrawBarGetDraw.htmlPetscDrawBarSave.htmlPetscDrawBarSetColor.htmlPetscDrawBarSetData.htmlPetscDrawBarSetFromOptions.htmlPetscDrawBarSetLimits.htmlPetscDrawBarSort.htmlPetscDrawButton.htmlPetscDrawCheckResizedWindow.htmlPetscDrawClear.htmlPetscDrawCoordinateToPixel.htmlPetscDrawCreate.htmlPetscDrawDestroy.htmlPetscDrawEOP.htmlPetscDrawEllipse.htmlPetscDrawFinalizePackage.htmlPetscDrawFlush.htmlPetscDrawGetBoundingBox.htmlPetscDrawGetCoordinates.htmlPetscDrawGetCurrentPoint.htmlPetscDrawGetMarkerType.htmlPetscDrawGetMouseButton.htmlPetscDrawGetPause.htmlPetscDrawGetPopup.htmlPetscDrawGetSingleton.htmlPetscDrawGetTitle.htmlPetscDrawGetType.htmlPetscDrawGetViewPort.htmlPetscDrawGetWindowSize.htmlPetscDrawHG.htmlPetscDrawHGAddValue.htmlPetscDrawHGCalcStats.htmlPetscDrawHGCreate.htmlPetscDrawHGDestroy.htmlPetscDrawHGDraw.htmlPetscDrawHGGetAxis.htmlPetscDrawHGGetDraw.htmlPetscDrawHGIntegerBins.htmlPetscDrawHGReset.htmlPetscDrawHGSave.htmlPetscDrawHGSetColor.htmlPetscDrawHGSetLimits.htmlPetscDrawHGSetNumberBins.htmlPetscDrawHGView.htmlPetscDrawIndicatorFunction.htmlPetscDrawIsNull.htmlPetscDrawLG.htmlPetscDrawLGAddCommonPoint.htmlPetscDrawLGAddPoint.htmlPetscDrawLGAddPoints.htmlPetscDrawLGCreate.htmlPetscDrawLGDestroy.htmlPetscDrawLGDraw.htmlPetscDrawLGGetAxis.htmlPetscDrawLGGetDimension.htmlPetscDrawLGGetDraw.htmlPetscDrawLGReset.htmlPetscDrawLGSPDraw.htmlPetscDrawLGSave.htmlPetscDrawLGSetColors.htmlPetscDrawLGSetDimension.htmlPetscDrawLGSetFromOptions.htmlPetscDrawLGSetLegend.htmlPetscDrawLGSetLimits.htmlPetscDrawLGSetOptionsPrefix.htmlPetscDrawLGSetUseMarkers.htmlPetscDrawLGView.htmlPetscDrawLine.htmlPetscDrawLineGetWidth.htmlPetscDrawLineSetWidth.htmlPetscDrawMarker.htmlPetscDrawMarkerType.htmlPetscDrawOpenImage.htmlPetscDrawOpenNull.htmlPetscDrawOpenX.htmlPetscDrawPause.htmlPetscDrawPixelToCoordinate.htmlPetscDrawPoint.htmlPetscDrawPointPixel.htmlPetscDrawPointSetSize.htmlPetscDrawPopCurrentPoint.htmlPetscDrawPushCurrentPoint.htmlPetscDrawRealToColor.htmlPetscDrawRectangle.htmlPetscDrawRegister.htmlPetscDrawRegisterAll.htmlPetscDrawResizeWindow.htmlPetscDrawRestoreSingleton.htmlPetscDrawSP.htmlPetscDrawSPAddPoint.htmlPetscDrawSPAddPoints.htmlPetscDrawSPCreate.htmlPetscDrawSPDestroy.htmlPetscDrawSPDraw.htmlPetscDrawSPGetAxis.htmlPetscDrawSPGetDraw.htmlPetscDrawSPReset.htmlPetscDrawSPSave.htmlPetscDrawSPSetDimension.htmlPetscDrawSPSetLimits.htmlPetscDrawSave.htmlPetscDrawSaveMovie.htmlPetscDrawScalePopup.htmlPetscDrawSetCoordinates.htmlPetscDrawSetCurrentPoint.htmlPetscDrawSetDisplay.htmlPetscDrawSetDoubleBuffer.htmlPetscDrawSetFromOptions.htmlPetscDrawSetMarkerType.htmlPetscDrawSetOptionsPrefix.htmlPetscDrawSetPause.htmlPetscDrawSetSave.htmlPetscDrawSetSaveFinalImage.htmlPetscDrawSetSaveMovie.htmlPetscDrawSetTitle.htmlPetscDrawSetType.htmlPetscDrawSetViewPort.htmlPetscDrawSplitViewPort.htmlPetscDrawString.htmlPetscDrawStringBoxed.htmlPetscDrawStringCentered.htmlPetscDrawStringGetSize.htmlPetscDrawStringSetSize.htmlPetscDrawStringVertical.htmlPetscDrawTensorContour.htmlPetscDrawTensorContourPatch.htmlPetscDrawTriangle.htmlPetscDrawType.htmlPetscDrawView.htmlPetscDrawViewPorts.htmlPetscDrawViewPortsCreate.htmlPetscDrawViewPortsCreateRect.htmlPetscDrawViewPortsDestroy.htmlPetscDrawViewPortsSet.htmlPetscDrawZoom.htmlPetscInitializeDrawPackage.htmlindex.htmlFEPETSCFEBASIC.htmlPETSCFECOMPOSITE.htmlPETSCFEOPENCL.htmlPetscDualSpace.htmlPetscDualSpaceReferenceCell.htmlPetscDualSpaceTransformType.htmlPetscDualSpaceType.htmlPetscFE.htmlPetscFECompositeGetMapping.htmlPetscFECopyQuadrature.htmlPetscFECreate.htmlPetscFECreateDefault.htmlPetscFEDestroy.htmlPetscFEGeomComplete.htmlPetscFEGeomCreate.htmlPetscFEGeomDestroy.htmlPetscFEGeomGetChunk.htmlPetscFEGeomRestoreChunk.htmlPetscFEGetBasisSpace.htmlPetscFEGetDefaultTabulation.htmlPetscFEGetDimension.htmlPetscFEGetDualSpace.htmlPetscFEGetFaceQuadrature.htmlPetscFEGetFaceTabulation.htmlPetscFEGetHeightSubspace.htmlPetscFEGetNumComponents.htmlPetscFEGetNumDof.htmlPetscFEGetQuadrature.htmlPetscFEGetSpatialDimension.htmlPetscFEGetTabulation.htmlPetscFEGetTileSizes.htmlPetscFEGetType.htmlPetscFEIntegrate.htmlPetscFEIntegrateBd.htmlPetscFEIntegrateBdJacobian.htmlPetscFEIntegrateBdResidual.htmlPetscFEIntegrateJacobian.htmlPetscFEIntegrateResidual.htmlPetscFEJacobianType.htmlPetscFEOpenCLGetRealType.htmlPetscFEOpenCLSetRealType.htmlPetscFEPushforward.htmlPetscFEPushforwardGradient.htmlPetscFERefine.htmlPetscFERegister.htmlPetscFERestoreTabulation.htmlPetscFESetBasisSpace.htmlPetscFESetDualSpace.htmlPetscFESetFaceQuadrature.htmlPetscFESetFromOptions.htmlPetscFESetName.htmlPetscFESetNumComponents.htmlPetscFESetQuadrature.htmlPetscFESetTileSizes.htmlPetscFESetType.htmlPetscFESetUp.htmlPetscFEType.htmlPetscFEView.htmlPetscGaussLobattoLegendreCreateType.htmlPetscQuadrature.htmlPetscSpace.htmlPetscSpacePolynomialType.htmlPetscSpaceType.htmlindex.htmlFVPETSCFVLEASTSQUARES.htmlPETSCFVUPWIND.htmlPETSCLIMITERMC.htmlPETSCLIMITERMINMOD.htmlPETSCLIMITERNONE.htmlPETSCLIMITERSIN.htmlPETSCLIMITERSUPERBEE.htmlPETSCLIMITERVANALBADA.htmlPETSCLIMITERVANLEER.htmlPETSCLIMITERZERO.htmlPetscFV.htmlPetscFVCellGeom.htmlPetscFVComputeGradient.htmlPetscFVCreate.htmlPetscFVDestroy.htmlPetscFVFaceGeom.htmlPetscFVGetComponentName.htmlPetscFVGetComputeGradients.htmlPetscFVGetDefaultTabulation.htmlPetscFVGetDualSpace.htmlPetscFVGetLimiter.htmlPetscFVGetNumComponents.htmlPetscFVGetQuadrature.htmlPetscFVGetSpatialDimension.htmlPetscFVGetTabulation.htmlPetscFVGetType.htmlPetscFVIntegrateRHSFunction.htmlPetscFVLeastSquaresSetMaxFaces.htmlPetscFVRefine.htmlPetscFVRegister.htmlPetscFVRestoreTabulation.htmlPetscFVSetComponentName.htmlPetscFVSetComputeGradients.htmlPetscFVSetDualSpace.htmlPetscFVSetFromOptions.htmlPetscFVSetLimiter.htmlPetscFVSetNumComponents.htmlPetscFVSetQuadrature.htmlPetscFVSetSpatialDimension.htmlPetscFVSetType.htmlPetscFVSetUp.htmlPetscFVType.htmlPetscFVView.htmlPetscLimiter.htmlPetscLimiterCreate.htmlPetscLimiterDestroy.htmlPetscLimiterGetType.htmlPetscLimiterLimit.htmlPetscLimiterRegister.htmlPetscLimiterSetFromOptions.htmlPetscLimiterSetType.htmlPetscLimiterSetUp.htmlPetscLimiterType.htmlPetscLimiterView.htmlindex.htmlISIS.htmlISAllGather.htmlISAllGatherColors.htmlISBlockGetIndices.htmlISBlockGetIndicesF90.htmlISBlockGetLocalSize.htmlISBlockGetSize.htmlISBlockRestoreIndices.htmlISBlockRestoreIndicesF90.htmlISBlockSetIndices.htmlISBuildTwoSided.htmlISColoring.htmlISColoringCreate.htmlISColoringDestroy.htmlISColoringGetColors.htmlISColoringGetIS.htmlISColoringGetType.htmlISColoringRestoreIS.htmlISColoringSetType.htmlISColoringType.htmlISColoringView.htmlISComplement.htmlISCompressIndicesGeneral.htmlISConcatenate.htmlISContiguousLocal.htmlISCopy.htmlISCreate.htmlISCreateBlock.htmlISCreateGeneral.htmlISCreateStride.htmlISCreateSubIS.htmlISDestroy.htmlISDifference.htmlISDuplicate.htmlISEmbed.htmlISEqual.htmlISEqualUnsorted.htmlISExpand.htmlISExpandIndicesGeneral.htmlISGeneralFilter.htmlISGeneralSetIndices.htmlISGetBlockSize.htmlISGetIndices.htmlISGetIndicesF90.htmlISGetLocalSize.htmlISGetMinMax.htmlISGetNonlocalIS.htmlISGetNonlocalIndices.htmlISGetSize.htmlISGetTotalIndices.htmlISGetType.htmlISGlobalToLocalMappingApply.htmlISGlobalToLocalMappingApplyBlock.htmlISGlobalToLocalMappingApplyIS.htmlISGlobalToLocalMappingMode.htmlISIdentity.htmlISIntersect.htmlISInvertPermutation.htmlISLOCALTOGLOBALMAPPINGBASIC.htmlISLOCALTOGLOBALMAPPINGHASH.htmlISListToPair.htmlISLoad.htmlISLocalToGlobalMapping.htmlISLocalToGlobalMappingApply.htmlISLocalToGlobalMappingApplyBlock.htmlISLocalToGlobalMappingApplyIS.htmlISLocalToGlobalMappingConcatenate.htmlISLocalToGlobalMappingCreate.htmlISLocalToGlobalMappingCreateIS.htmlISLocalToGlobalMappingCreateSF.htmlISLocalToGlobalMappingDestroy.htmlISLocalToGlobalMappingDuplicate.htmlISLocalToGlobalMappingGetBlockIndices.htmlISLocalToGlobalMappingGetBlockInfo.htmlISLocalToGlobalMappingGetBlockSize.htmlISLocalToGlobalMappingGetIndices.htmlISLocalToGlobalMappingGetInfo.htmlISLocalToGlobalMappingGetNodeInfo.htmlISLocalToGlobalMappingGetSize.htmlISLocalToGlobalMappingRegister.htmlISLocalToGlobalMappingRegisterAll.htmlISLocalToGlobalMappingRestoreBlockIndices.htmlISLocalToGlobalMappingRestoreBlockInfo.htmlISLocalToGlobalMappingRestoreIndices.htmlISLocalToGlobalMappingRestoreInfo.htmlISLocalToGlobalMappingRestoreNodeInfo.htmlISLocalToGlobalMappingSetBlockSize.htmlISLocalToGlobalMappingSetFromOptions.htmlISLocalToGlobalMappingSetType.htmlISLocalToGlobalMappingType.htmlISLocalToGlobalMappingView.htmlISLocate.htmlISOnComm.htmlISPairToList.htmlISPartitioningCount.htmlISPartitioningToNumbering.htmlISPermutation.htmlISRegister.htmlISRegisterAll.htmlISRenumber.htmlISRestoreIndices.htmlISRestoreIndicesF90.htmlISRestoreNonlocalIS.htmlISRestoreTotalIndices.htmlISSetBlockSize.htmlISSetIdentity.htmlISSetPermutation.htmlISSetType.htmlISSort.htmlISSortPermutation.htmlISSortRemoveDups.htmlISSorted.htmlISStrideGetInfo.htmlISStrideSetStride.htmlISSum.htmlISToGeneral.htmlISType.htmlISView.htmlPetscLayout.htmlPetscLayoutCompare.htmlPetscLayoutCreate.htmlPetscLayoutCreateFromRanges.htmlPetscLayoutCreateFromSizes.htmlPetscLayoutDestroy.htmlPetscLayoutDuplicate.htmlPetscLayoutFindOwner.htmlPetscLayoutFindOwnerIndex.htmlPetscLayoutGetBlockSize.htmlPetscLayoutGetLocalSize.htmlPetscLayoutGetRange.htmlPetscLayoutGetRanges.htmlPetscLayoutGetSize.htmlPetscLayoutReference.htmlPetscLayoutSetBlockSize.htmlPetscLayoutSetISLocalToGlobalMapping.htmlPetscLayoutSetLocalSize.htmlPetscLayoutSetSize.htmlPetscLayoutSetUp.htmlPetscSFSetGraphLayout.htmlPetscViewerHDF5Load.htmlPetscViewerHDF5ReadSizes.htmlindex.htmlKSPDMCopyDMKSP.htmlDMGetDMKSP.htmlDMGetDMKSPWrite.htmlDMGlobalToLocalSolve.htmlDMKSPCopy.htmlDMKSPGetComputeInitialGuess.htmlDMKSPGetComputeOperators.htmlDMKSPGetComputeRHS.htmlDMKSPSetComputeInitialGuess.htmlDMKSPSetComputeOperators.htmlDMKSPSetComputeRHS.htmlDMProjectField.htmlKSP.htmlKSPAGMRES.htmlKSPAppendOptionsPrefix.htmlKSPBCGS.htmlKSPBCGSL.htmlKSPBCGSLSetEll.htmlKSPBCGSLSetPol.htmlKSPBCGSLSetUsePseudoinverse.htmlKSPBCGSLSetXRes.htmlKSPBICG.htmlKSPBuildResidual.htmlKSPBuildSolution.htmlKSPCG.htmlKSPCGGetNormD.htmlKSPCGGetObjFcn.htmlKSPCGLS.htmlKSPCGNE.htmlKSPCGS.htmlKSPCGSetRadius.htmlKSPCGSetType.htmlKSPCGType.htmlKSPCGUseSingleReduction.htmlKSPCHEBYSHEV.htmlKSPCR.htmlKSPChebyshevEstEigGetKSP.htmlKSPChebyshevEstEigSet.htmlKSPChebyshevEstEigSetUseNoisy.htmlKSPChebyshevSetEigenvalues.htmlKSPCheckDot.htmlKSPCheckNorm.htmlKSPCheckSolve.htmlKSPComputeEigenvalues.htmlKSPComputeEigenvaluesExplicitly.htmlKSPComputeExtremeSingularValues.htmlKSPComputeOperator.htmlKSPComputeRitz.htmlKSPConvergedDefault.htmlKSPConvergedDefaultCreate.htmlKSPConvergedDefaultDestroy.htmlKSPConvergedDefaultSetUIRNorm.htmlKSPConvergedDefaultSetUMIRNorm.htmlKSPConvergedReason.htmlKSPConvergedSkip.htmlKSPCreate.htmlKSPCreateVecs.htmlKSPDGMRES.htmlKSPDestroy.htmlKSPFBCGS.htmlKSPFBCGSR.htmlKSPFCDTruncationType.htmlKSPFCG.htmlKSPFCGGetMmax.htmlKSPFCGGetNprealloc.htmlKSPFCGGetTruncationType.htmlKSPFCGSetMmax.htmlKSPFCGSetNprealloc.htmlKSPFCGSetTruncationType.htmlKSPFETIDP.htmlKSPFETIDPGetInnerBDDC.htmlKSPFETIDPGetInnerKSP.htmlKSPFETIDPSetInnerBDDC.htmlKSPFETIDPSetPressureOperator.htmlKSPFGMRES.htmlKSPFGMRESModifyPCKSP.htmlKSPFGMRESModifyPCNoChange.htmlKSPFGMRESSetModifyPC.htmlKSPFinalizePackage.htmlKSPGCR.htmlKSPGCRSetModifyPC.htmlKSPGLTR.htmlKSPGLTRGetLambda.htmlKSPGLTRGetMinEig.htmlKSPGMRES.htmlKSPGMRESCGSRefinementType.htmlKSPGMRESClassicalGramSchmidtOrthogonalization.htmlKSPGMRESGetCGSRefinementType.htmlKSPGMRESGetOrthogonalization.htmlKSPGMRESGetRestart.htmlKSPGMRESModifiedGramSchmidtOrthogonalization.htmlKSPGMRESMonitorKrylov.htmlKSPGMRESSetCGSRefinementType.htmlKSPGMRESSetHapTol.htmlKSPGMRESSetOrthogonalization.htmlKSPGMRESSetPreAllocateVectors.htmlKSPGMRESSetRestart.htmlKSPGROPPCG.htmlKSPGetAndClearConvergenceTest.htmlKSPGetApplicationContext.htmlKSPGetComputeEigenvalues.htmlKSPGetComputeSingularValues.htmlKSPGetConvergedReason.htmlKSPGetConvergenceContext.htmlKSPGetConvergenceTest.htmlKSPGetDM.htmlKSPGetDiagonalScale.htmlKSPGetDiagonalScaleFix.htmlKSPGetErrorIfNotConverged.htmlKSPGetGuess.htmlKSPGetInitialGuessKnoll.htmlKSPGetInitialGuessNonzero.htmlKSPGetIterationNumber.htmlKSPGetMonitorContext.htmlKSPGetNormType.htmlKSPGetOperators.htmlKSPGetOperatorsSet.htmlKSPGetOptionsPrefix.htmlKSPGetPC.htmlKSPGetPCSide.htmlKSPGetResidualHistory.htmlKSPGetResidualNorm.htmlKSPGetRhs.htmlKSPGetSolution.htmlKSPGetTolerances.htmlKSPGetTotalIterations.htmlKSPGetType.htmlKSPGuess.htmlKSPGuessCreate.htmlKSPGuessFischerSetModel.htmlKSPGuessFormGuess.htmlKSPGuessGetType.htmlKSPGuessSetFromOptions.htmlKSPGuessSetType.htmlKSPGuessSetUp.htmlKSPGuessType.htmlKSPGuessUpdate.htmlKSPGuessView.htmlKSPHPDDM.htmlKSPIBCGS.htmlKSPInitialResidual.htmlKSPInitializePackage.htmlKSPLCD.htmlKSPLGMRES.htmlKSPLSQR.htmlKSPLSQRConvergedDefault.htmlKSPLSQRGetNorms.htmlKSPLSQRGetStandardErrorVec.htmlKSPLSQRMonitorDefault.htmlKSPLSQRSetComputeStandardErrorVec.htmlKSPLSQRSetExactMatNorm.htmlKSPLoad.htmlKSPMINRES.htmlKSPMatRegisterAll.htmlKSPMonitor.htmlKSPMonitorCancel.htmlKSPMonitorDefault.htmlKSPMonitorDynamicTolerance.htmlKSPMonitorLGResidualNormCreate.htmlKSPMonitorLGTrueResidualNormCreate.htmlKSPMonitorRange.htmlKSPMonitorSAWs.htmlKSPMonitorSAWsCreate.htmlKSPMonitorSAWsDestroy.htmlKSPMonitorSet.htmlKSPMonitorSetFromOptions.htmlKSPMonitorSingularValue.htmlKSPMonitorSolution.htmlKSPMonitorTrueResidualMaxNorm.htmlKSPMonitorTrueResidualNorm.htmlKSPNASH.htmlKSPNormType.htmlKSPPGMRES.htmlKSPPIPEBCGS.htmlKSPPIPECG.htmlKSPPIPECGRR.htmlKSPPIPECR.htmlKSPPIPEFCG.htmlKSPPIPEFCGGetMmax.htmlKSPPIPEFCGGetNprealloc.htmlKSPPIPEFCGGetTruncationType.htmlKSPPIPEFCGSetMmax.htmlKSPPIPEFCGSetNprealloc.htmlKSPPIPEFCGSetTruncationType.htmlKSPPIPEFGMRES.htmlKSPPIPEFGMRESSetShift.htmlKSPPIPEGCR.htmlKSPPIPEGCRGetMmax.htmlKSPPIPEGCRGetNprealloc.htmlKSPPIPEGCRGetTruncationType.htmlKSPPIPEGCRGetUnrollW.htmlKSPPIPEGCRSetMmax.htmlKSPPIPEGCRSetModifyPC.htmlKSPPIPEGCRSetNprealloc.htmlKSPPIPEGCRSetTruncationType.htmlKSPPIPEGCRSetUnrollW.htmlKSPPIPELCG.htmlKSPPREONLY.htmlKSPPythonSetType.htmlKSPQCG.htmlKSPQCGGetQuadratic.htmlKSPQCGGetTrialStepNorm.htmlKSPQCGSetTrustRegionRadius.htmlKSPRICHARDSON.htmlKSPReasonView.htmlKSPReasonViewFromOptions.htmlKSPRegister.htmlKSPRegisterAll.htmlKSPReset.htmlKSPResetFromOptions.htmlKSPResetViewers.htmlKSPRichardsonSetScale.htmlKSPRichardsonSetSelfScale.htmlKSPSTCG.htmlKSPSYMMLQ.htmlKSPSetApplicationContext.htmlKSPSetCheckNormIteration.htmlKSPSetComputeEigenvalues.htmlKSPSetComputeInitialGuess.htmlKSPSetComputeOperators.htmlKSPSetComputeRHS.htmlKSPSetComputeRitz.htmlKSPSetComputeSingularValues.htmlKSPSetConvergenceTest.htmlKSPSetDM.htmlKSPSetDMActive.htmlKSPSetDiagonalScale.htmlKSPSetDiagonalScaleFix.htmlKSPSetErrorIfNotConverged.htmlKSPSetFromOptions.htmlKSPSetGuess.htmlKSPSetInitialGuessKnoll.htmlKSPSetInitialGuessNonzero.htmlKSPSetLagNorm.htmlKSPSetNormType.htmlKSPSetOperators.htmlKSPSetOptionsPrefix.htmlKSPSetPC.htmlKSPSetPCSide.htmlKSPSetPostSolve.htmlKSPSetPreSolve.htmlKSPSetResidualHistory.htmlKSPSetReusePreconditioner.htmlKSPSetSkipPCSetFromOptions.htmlKSPSetSupportedNorm.htmlKSPSetTolerances.htmlKSPSetType.htmlKSPSetUp.htmlKSPSetUpOnBlocks.htmlKSPSetUseFischerGuess.htmlKSPSetWorkVecs.htmlKSPSolve.htmlKSPSolveTranspose.htmlKSPTCQMR.htmlKSPTFQMR.htmlKSPTSIRM.htmlKSPType.htmlKSPUnwindPreconditioner.htmlKSPView.htmlKSP_CONVERGED_ATOL.htmlKSP_CONVERGED_ITERATING.htmlKSP_CONVERGED_ITS.htmlKSP_CONVERGED_RTOL.htmlKSP_DIVERGED_BREAKDOWN.htmlKSP_DIVERGED_BREAKDOWN_BICG.htmlKSP_DIVERGED_DTOL.htmlKSP_DIVERGED_INDEFINITE_PC.htmlKSP_DIVERGED_ITS.htmlKSP_DIVERGED_NONSYMMETRIC.htmlKSP_DIVERGED_PC_FAILED.htmlKSP_GMRES_CGS_REFINE_IFNEEDED.htmlKSP_GMRES_CGS_REFINE_NEVER.htmlKSP_NORM_NATURAL.htmlKSP_NORM_NONE.htmlKSP_NORM_PRECONDITIONED.htmlKSP_NORM_UNPRECONDITIONED.htmlMatCreateLMVMBFGS.htmlMatCreateLMVMBadBrdn.htmlMatCreateLMVMBrdn.htmlMatCreateLMVMDFP.htmlMatCreateLMVMDiagBrdn.htmlMatCreateLMVMSR1.htmlMatCreateLMVMSymBadBrdn.htmlMatCreateLMVMSymBrdn.htmlMatCreateSchurComplement.htmlMatCreateSchurComplementPmat.htmlMatGetSchurComplement.htmlMatLMVMAllocate.htmlMatLMVMApplyJ0Fwd.htmlMatLMVMApplyJ0Inv.htmlMatLMVMClearJ0.htmlMatLMVMGetJ0.htmlMatLMVMGetJ0KSP.htmlMatLMVMGetJ0PC.htmlMatLMVMGetRejectCount.htmlMatLMVMGetUpdateCount.htmlMatLMVMIsAllocated.htmlMatLMVMReset.htmlMatLMVMResetShift.htmlMatLMVMSetJ0.htmlMatLMVMSetJ0Diag.htmlMatLMVMSetJ0KSP.htmlMatLMVMSetJ0PC.htmlMatLMVMSetJ0Scale.htmlMatLMVMUpdate.htmlMatSchurComplementAinvType.htmlMatSchurComplementComputeExplicitOperator.htmlMatSchurComplementGetAinvType.htmlMatSchurComplementGetKSP.htmlMatSchurComplementGetPmat.htmlMatSchurComplementGetSubMatrices.htmlMatSchurComplementSetAinvType.htmlMatSchurComplementSetKSP.htmlMatSchurComplementSetSubMatrices.htmlMatSchurComplementUpdateSubMatrices.htmlMatSymBrdnSetDelta.htmlPCFinalizePackage.htmlPCInitializePackage.htmlindex.htmlMatMATAIJ.htmlMATAIJCRL.htmlMATAIJCUSPARSE.htmlMATAIJMKL.htmlMATAIJPERM.htmlMATAIJSELL.htmlMATAIJVIENNACL.htmlMATBAIJ.htmlMATBAIJMKL.htmlMATBLOCKMAT.htmlMATCOMPOSITE.htmlMATDENSE.htmlMATDUMMY.htmlMATELEMENTAL.htmlMATHYPRE.htmlMATIS.htmlMATKAIJ.htmlMATMAIJ.htmlMATMFFD.htmlMATMFFD_DS.htmlMATMFFD_WP.htmlMATMPIADJ.htmlMATMPIAIJ.htmlMATMPIBAIJ.htmlMATMPISBAIJ.htmlMATMPISELL.htmlMATNEST.htmlMATPREALLOCATOR.htmlMATSBAIJ.htmlMATSCATTER.htmlMATSELL.htmlMATSEQAIJ.htmlMATSEQAIJCUSPARSE.htmlMATSEQAIJVIENNACL.htmlMATSEQBAIJ.htmlMATSEQDENSE.htmlMATSEQDENSECUDA.htmlMATSEQSBAIJ.htmlMATSHELL.htmlMATSOLVERBAS.htmlMATSOLVERCHOLMOD.htmlMATSOLVERCUSPARSE.htmlMATSOLVERESSL.htmlMATSOLVERKLU.htmlMATSOLVERLUSOL.htmlMATSOLVERMATLAB.htmlMATSOLVERMKL_PARDISO.htmlMATSOLVERMUMPS.htmlMATSOLVERPASTIX.htmlMATSOLVERSPARSEELEMENTAL.htmlMATSOLVERSSTRUMPACK.htmlMATSOLVERSUPERLU.htmlMATSOLVERSUPERLU_DIST.htmlMATSOLVERUMFPACK.htmlMat.htmlMatAXPY.htmlMatAYPX.htmlMatAppendOptionsPrefix.htmlMatAssembled.htmlMatAssemblyBegin.htmlMatAssemblyEnd.htmlMatAssemblyType.htmlMatBackwardSolve.htmlMatBlockMatSetPreallocation.htmlMatCUSPARSEFormatOperation.htmlMatCUSPARSESetFormat.htmlMatCUSPARSEStorageFormat.htmlMatCheckCompressedRow.htmlMatCholeskyFactor.htmlMatCholeskyFactorNumeric.htmlMatCholeskyFactorSymbolic.htmlMatChop.htmlMatColoring.htmlMatColoringPatch.htmlMatColoringType.htmlMatColoringWeightType.htmlMatCompositeAddMat.htmlMatCompositeGetMat.htmlMatCompositeGetMatStructure.htmlMatCompositeGetNumberMat.htmlMatCompositeGetType.htmlMatCompositeMerge.htmlMatCompositeSetMatStructure.htmlMatCompositeSetMergeType.htmlMatCompositeSetScalings.htmlMatCompositeSetType.htmlMatComputeBandwidth.htmlMatComputeOperator.htmlMatComputeOperatorTranspose.htmlMatConjugate.htmlMatConvert.htmlMatCopy.htmlMatCreate.htmlMatCreateAIJ.htmlMatCreateAIJCUSPARSE.htmlMatCreateAIJViennaCL.htmlMatCreateBAIJ.htmlMatCreateBAIJMKL.htmlMatCreateBlockMat.htmlMatCreateComposite.htmlMatCreateConstantDiagonal.htmlMatCreateDense.htmlMatCreateFFT.htmlMatCreateHermitianTranspose.htmlMatCreateIS.htmlMatCreateKAIJ.htmlMatCreateLRC.htmlMatCreateLocalRef.htmlMatCreateMAIJ.htmlMatCreateMFFD.htmlMatCreateMPIAIJCRL.htmlMatCreateMPIAIJMKL.htmlMatCreateMPIAIJPERM.htmlMatCreateMPIAIJSELL.htmlMatCreateMPIAIJSumSeqAIJ.htmlMatCreateMPIAIJWithArrays.htmlMatCreateMPIAIJWithSeqAIJ.htmlMatCreateMPIAIJWithSplitArrays.htmlMatCreateMPIAdj.htmlMatCreateMPIBAIJWithArrays.htmlMatCreateMPIMatConcatenateSeqMat.htmlMatCreateMPISBAIJWithArrays.htmlMatCreateNest.htmlMatCreateNormal.htmlMatCreateNormalHermitian.htmlMatCreateRedundantMatrix.htmlMatCreateSBAIJ.htmlMatCreateSELL.htmlMatCreateScatter.htmlMatCreateSeqAIJ.htmlMatCreateSeqAIJCRL.htmlMatCreateSeqAIJCUSPARSE.htmlMatCreateSeqAIJFromTriple.htmlMatCreateSeqAIJMKL.htmlMatCreateSeqAIJPERM.htmlMatCreateSeqAIJSELL.htmlMatCreateSeqAIJViennaCL.htmlMatCreateSeqAIJWithArrays.htmlMatCreateSeqBAIJ.htmlMatCreateSeqBAIJMKL.htmlMatCreateSeqBAIJWithArrays.htmlMatCreateSeqCUFFT.htmlMatCreateSeqDense.htmlMatCreateSeqSBAIJ.htmlMatCreateSeqSBAIJWithArrays.htmlMatCreateSeqSELL.htmlMatCreateShell.htmlMatCreateSubMatrices.htmlMatCreateSubMatricesMPI.htmlMatCreateSubMatrix.htmlMatCreateSubMatrixOption.htmlMatCreateSubMatrixVirtual.htmlMatCreateTranspose.htmlMatCreateVecs.htmlMatCreateVecsFFTW.htmlMatDenseGetArray.htmlMatDenseGetArrayF90.htmlMatDenseGetArrayRead.htmlMatDenseGetColumn.htmlMatDenseGetLDA.htmlMatDenseGetLocalMatrix.htmlMatDensePlaceArray.htmlMatDenseResetArray.htmlMatDenseRestoreArray.htmlMatDenseRestoreArrayF90.htmlMatDenseRestoreArrayRead.htmlMatDenseRestoreColumn.htmlMatDestroy.htmlMatDestroyMatrices.htmlMatDestroySeqNonzeroStructure.htmlMatDestroySubMatrices.htmlMatDiagonalScale.htmlMatDiagonalScaleLocal.htmlMatDiagonalSet.htmlMatDuplicate.htmlMatDuplicateOption.htmlMatEqual.htmlMatFDColoring.htmlMatFDColoringSetValues.htmlMatFactorClearError.htmlMatFactorCreateSchurComplement.htmlMatFactorError.htmlMatFactorFactorizeSchurComplement.htmlMatFactorGetError.htmlMatFactorGetErrorZeroPivot.htmlMatFactorGetSchurComplement.htmlMatFactorGetSolverType.htmlMatFactorInfo.htmlMatFactorInfoInitialize.htmlMatFactorInvertSchurComplement.htmlMatFactorRestoreSchurComplement.htmlMatFactorSetSchurIS.htmlMatFactorShiftType.htmlMatFactorSolveSchurComplement.htmlMatFactorSolveSchurComplementTranspose.htmlMatFactorType.htmlMatFinalizePackage.htmlMatFindNonzeroRows.htmlMatFindOffBlockDiagonalEntries.htmlMatFindZeroDiagonals.htmlMatFindZeroRows.htmlMatForwardSolve.htmlMatFreeIntermediateDataStructures.htmlMatGalerkin.htmlMatGetBlockSize.htmlMatGetBlockSizes.htmlMatGetBrowsOfAcols.htmlMatGetColumnIJ.htmlMatGetColumnNorms.htmlMatGetColumnVector.htmlMatGetCommunicationStructs.htmlMatGetDiagonal.htmlMatGetDiagonalBlock.htmlMatGetFactor.htmlMatGetFactorAvailable.htmlMatGetFactorType.htmlMatGetGhosts.htmlMatGetInertia.htmlMatGetInfo.htmlMatGetLayouts.htmlMatGetLocalSize.htmlMatGetLocalSubMatrix.htmlMatGetLocalToGlobalMapping.htmlMatGetMultiProcBlock.htmlMatGetNearNullSpace.htmlMatGetNonzeroState.htmlMatGetNullSpace.htmlMatGetOperation.htmlMatGetOption.htmlMatGetOptionsPrefix.htmlMatGetOwnershipIS.htmlMatGetOwnershipRange.htmlMatGetOwnershipRangeColumn.htmlMatGetOwnershipRanges.htmlMatGetOwnershipRangesColumn.htmlMatGetRow.htmlMatGetRowIJ.htmlMatGetRowMax.htmlMatGetRowMaxAbs.htmlMatGetRowMin.htmlMatGetRowMinAbs.htmlMatGetRowSum.htmlMatGetRowUpperTriangular.htmlMatGetSeqNonzeroStructure.htmlMatGetSize.htmlMatGetTrace.htmlMatGetTransposeNullSpace.htmlMatGetType.htmlMatGetValues.htmlMatGetVariableBlockSizes.htmlMatHYPRESetPreallocation.htmlMatHasCongruentLayouts.htmlMatHasOperation.htmlMatHermitianTranspose.htmlMatHermitianTransposeGetMat.htmlMatICCFactor.htmlMatICCFactorSymbolic.htmlMatILUFactor.htmlMatILUFactorSymbolic.htmlMatISFixLocalEmpty.htmlMatISGetLocalMat.htmlMatISGetMPIXAIJ.htmlMatISRestoreLocalMat.htmlMatISSetLocalMat.htmlMatISSetLocalMatType.htmlMatISSetPreallocation.htmlMatISStoreL2L.htmlMatImaginaryPart.htmlMatIncreaseOverlap.htmlMatIncreaseOverlapSplit.htmlMatInfo.htmlMatInfoType.htmlMatInitializePackage.htmlMatInodeGetInodeSizes.htmlMatInterpolate.htmlMatInterpolateAdd.htmlMatInvertBlockDiagonal.htmlMatInvertBlockDiagonalMat.htmlMatInvertVariableBlockDiagonal.htmlMatIsHermitian.htmlMatIsHermitianKnown.htmlMatIsHermitianTranspose.htmlMatIsLinear.htmlMatIsStructurallySymmetric.htmlMatIsSymmetric.htmlMatIsSymmetricKnown.htmlMatIsTranspose.htmlMatKAIJGetAIJ.htmlMatKAIJGetS.htmlMatKAIJGetSRead.htmlMatKAIJGetT.htmlMatKAIJGetTRead.htmlMatKAIJRestoreS.htmlMatKAIJRestoreSRead.htmlMatKAIJRestoreT.htmlMatKAIJRestoreTRead.htmlMatKAIJSetAIJ.htmlMatKAIJSetS.htmlMatKAIJSetT.htmlMatLRCGetMats.htmlMatLUFactor.htmlMatLUFactorNumeric.htmlMatLUFactorSymbolic.htmlMatLoad.htmlMatMAIJGetAIJ.htmlMatMAIJRedimension.htmlMatMFFD.htmlMatMFFDCheckPositivity.htmlMatMFFDDSSetUmin.htmlMatMFFDFinalizePackage.htmlMatMFFDGetH.htmlMatMFFDInitializePackage.htmlMatMFFDRegister.htmlMatMFFDRegisterAll.htmlMatMFFDResetHHistory.htmlMatMFFDSetBase.htmlMatMFFDSetCheckh.htmlMatMFFDSetFunction.htmlMatMFFDSetFunctionError.htmlMatMFFDSetFunctioni.htmlMatMFFDSetFunctioniBase.htmlMatMFFDSetHHistory.htmlMatMFFDSetOptionsPrefix.htmlMatMFFDSetPeriod.htmlMatMFFDSetType.htmlMatMFFDType.htmlMatMFFDWPSetComputeNormU.htmlMatMPIAIJGetLocalMat.htmlMatMPIAIJGetLocalMatCondensed.htmlMatMPIAIJSetPreallocation.htmlMatMPIAIJSetPreallocationCSR.htmlMatMPIAIJSetUseScalableIncreaseOverlap.htmlMatMPIAdjCreateNonemptySubcommMat.htmlMatMPIAdjSetPreallocation.htmlMatMPIAdjToSeq.htmlMatMPIBAIJSetHashTableFactor.htmlMatMPIBAIJSetPreallocation.htmlMatMPIBAIJSetPreallocationCSR.htmlMatMPIBAIJSetValuesBlocked.htmlMatMPIDenseSetPreallocation.htmlMatMPISBAIJSetPreallocation.htmlMatMPISBAIJSetPreallocationCSR.htmlMatMPISELLGetLocalMatCondensed.htmlMatMPISELLSetPreallocation.htmlMatMatMatMult.htmlMatMatMult.htmlMatMatMultEqual.htmlMatMatMultNumeric.htmlMatMatMultSymbolic.htmlMatMatSolve.htmlMatMatSolveTranspose.htmlMatMatTransposeMult.htmlMatMatTransposeMultEqual.htmlMatMatTransposeSolve.htmlMatMissingDiagonal.htmlMatMkl_CPardisoSetCntl.htmlMatMkl_PardisoSetCntl.htmlMatMult.htmlMatMultAdd.htmlMatMultAddEqual.htmlMatMultConstrained.htmlMatMultDiagonalBlock.htmlMatMultEqual.htmlMatMultHermitianTranspose.htmlMatMultHermitianTransposeAdd.htmlMatMultTranspose.htmlMatMultTransposeAdd.htmlMatMultTransposeAddEqual.htmlMatMultTransposeConstrained.htmlMatMultTransposeEqual.htmlMatMumpsGetCntl.htmlMatMumpsGetIcntl.htmlMatMumpsGetInfo.htmlMatMumpsGetInfog.htmlMatMumpsGetInverse.htmlMatMumpsGetInverseTranspose.htmlMatMumpsGetRinfo.htmlMatMumpsGetRinfog.htmlMatMumpsSetCntl.htmlMatMumpsSetIcntl.htmlMatNestGetISs.htmlMatNestGetLocalISs.htmlMatNestGetSize.htmlMatNestGetSubMat.htmlMatNestGetSubMats.htmlMatNestSetSubMat.htmlMatNestSetSubMats.htmlMatNestSetVecType.htmlMatNorm.htmlMatNullSpace.htmlMatNullSpaceCreate.htmlMatNullSpaceCreateRigidBody.htmlMatNullSpaceDestroy.htmlMatNullSpaceGetVecs.htmlMatNullSpaceRemove.htmlMatNullSpaceSetFunction.htmlMatNullSpaceTest.htmlMatNullSpaceView.htmlMatOption.htmlMatOrderingType.htmlMatPartitioning.htmlMatPartitioningType.htmlMatPermute.htmlMatPinToCPU.htmlMatPreallocateFinalize.htmlMatPreallocateInitialize.htmlMatPreallocateLocation.htmlMatPreallocateSet.htmlMatPreallocateSetLocal.htmlMatPreallocateSetLocalBlock.htmlMatPreallocateSetLocalRemoveDups.htmlMatPreallocateSymmetricSetBlock.htmlMatPreallocateSymmetricSetLocalBlock.htmlMatPreallocatorPreallocate.htmlMatPtAP.htmlMatPtAPNumeric.htmlMatPtAPSymbolic.htmlMatPythonCreate.htmlMatPythonSetType.htmlMatRARt.htmlMatRARtNumeric.htmlMatRARtSymbolic.htmlMatRealPart.htmlMatRegister.htmlMatRegisterAll.htmlMatRegisterRootName.htmlMatReorderForNonzeroDiagonal.htmlMatResetPreallocation.htmlMatResidual.htmlMatRestoreColumnIJ.htmlMatRestoreLocalSubMatrix.htmlMatRestoreRow.htmlMatRestoreRowIJ.htmlMatRestoreRowUpperTriangular.htmlMatRestrict.htmlMatRetrieveValues.htmlMatReuse.htmlMatSOR.htmlMatSORType.htmlMatSTRUMPACKReordering.htmlMatSTRUMPACKSetColPerm.htmlMatSTRUMPACKSetHSSAbsTol.htmlMatSTRUMPACKSetHSSLeafSize.htmlMatSTRUMPACKSetHSSMaxRank.htmlMatSTRUMPACKSetHSSMinSepSize.htmlMatSTRUMPACKSetHSSRelTol.htmlMatSTRUMPACKSetReordering.htmlMatScale.htmlMatScatterGetVecScatter.htmlMatScatterSetVecScatter.htmlMatSeqAIJGetArray.htmlMatSeqAIJGetArrayF90.htmlMatSeqAIJGetArrayRead.htmlMatSeqAIJGetMaxRowNonzeros.htmlMatSeqAIJRegister.htmlMatSeqAIJRegisterAll.htmlMatSeqAIJRestoreArray.htmlMatSeqAIJRestoreArrayF90.htmlMatSeqAIJRestoreArrayRead.htmlMatSeqAIJSetColumnIndices.htmlMatSeqAIJSetPreallocation.htmlMatSeqAIJSetPreallocationCSR.htmlMatSeqAIJSetType.htmlMatSeqBAIJGetArray.htmlMatSeqBAIJRestoreArray.htmlMatSeqBAIJSetColumnIndices.htmlMatSeqBAIJSetPreallocation.htmlMatSeqBAIJSetPreallocationCSR.htmlMatSeqDenseSetLDA.htmlMatSeqDenseSetPreallocation.htmlMatSeqSBAIJGetArray.htmlMatSeqSBAIJRestoreArray.htmlMatSeqSBAIJSetColumnIndices.htmlMatSeqSBAIJSetPreallocation.htmlMatSeqSBAIJSetPreallocationCSR.htmlMatSeqSELLRestoreArray.htmlMatSeqSELLSetPreallocation.htmlMatSetBlockSize.htmlMatSetBlockSizes.htmlMatSetBlockSizesFromMats.htmlMatSetErrorIfFailure.htmlMatSetFactorType.htmlMatSetFromOptions.htmlMatSetLocalToGlobalMapping.htmlMatSetNearNullSpace.htmlMatSetNullSpace.htmlMatSetOperation.htmlMatSetOption.htmlMatSetOptionsPrefix.htmlMatSetRandom.htmlMatSetSizes.htmlMatSetStencil.htmlMatSetTransposeNullSpace.htmlMatSetType.htmlMatSetUnfactored.htmlMatSetUp.htmlMatSetValue.htmlMatSetValues.htmlMatSetValuesBatch.htmlMatSetValuesBlocked.htmlMatSetValuesBlockedLocal.htmlMatSetValuesBlockedStencil.htmlMatSetValuesLocal.htmlMatSetValuesRow.htmlMatSetValuesRowLocal.htmlMatSetValuesStencil.htmlMatSetVariableBlockSizes.htmlMatShellGetContext.htmlMatShellGetOperation.htmlMatShellSetContext.htmlMatShellSetManageScalingShifts.htmlMatShellSetOperation.htmlMatShellTestMult.htmlMatShellTestMultTranpose.htmlMatShift.htmlMatSolve.htmlMatSolveAdd.htmlMatSolvePackageGet.htmlMatSolvePackageRegister.htmlMatSolveTranspose.htmlMatSolveTransposeAdd.htmlMatSolverType.htmlMatSolves.htmlMatStashGetInfo.htmlMatStashSetInitialSize.htmlMatStencil.htmlMatStoreValues.htmlMatStructure.htmlMatSubMatrixVirtualUpdate.htmlMatSubdomainsCreateCoalesce.htmlMatSuperluSetILUDropTol.htmlMatTransColoringApplyDenToSp.htmlMatTransColoringApplySpToDen.htmlMatTranspose.htmlMatTransposeColoring.htmlMatTransposeColoringCreate.htmlMatTransposeColoringDestroy.htmlMatTransposeGetMat.htmlMatTransposeMatMult.htmlMatTransposeMatMultEqual.htmlMatType.htmlMatUpdateMPIAIJWithArrays.htmlMatView.htmlMatXAIJSetPreallocation.htmlMatZeroEntries.htmlMatZeroRows.htmlMatZeroRowsColumns.htmlMatZeroRowsColumnsIS.htmlMatZeroRowsColumnsLocal.htmlMatZeroRowsColumnsLocalIS.htmlMatZeroRowsColumnsStencil.htmlMatZeroRowsIS.htmlMatZeroRowsLocal.htmlMatZeroRowsLocalIS.htmlMatZeroRowsStencil.htmlPetscElementalFinalizePackage.htmlPetscElementalInitializePackage.htmlVecScatterFFTWToPetsc.htmlVecScatterPetscToFFTW.htmlindex.htmlMatFDMatFDColoringApply.htmlMatFDColoringCreate.htmlMatFDColoringDestroy.htmlMatFDColoringGetFunction.htmlMatFDColoringGetPerturbedColumns.htmlMatFDColoringSetBlockSize.htmlMatFDColoringSetFromOptions.htmlMatFDColoringSetFunction.htmlMatFDColoringSetParameters.htmlMatFDColoringSetType.htmlMatFDColoringSetUp.htmlMatFDColoringView.htmlindex.htmlMatOrderingsMATCOARSENHEM.htmlMATCOARSENMIS.htmlMATCOLORINGGREEDY.htmlMATCOLORINGID.htmlMATCOLORINGJP.htmlMATCOLORINGLF.htmlMATCOLORINGPOWER.htmlMATCOLORINGSL.htmlMATPARTITIONINGCHACO.htmlMATPARTITIONINGHIERARCH.htmlMATPARTITIONINGPARMETIS.htmlMATPARTITIONINGPARTY.htmlMATPARTITIONINGPTSCOTCH.htmlMatCoarsenApply.htmlMatCoarsenCreate.htmlMatCoarsenDestroy.htmlMatCoarsenGetData.htmlMatCoarsenGetType.htmlMatCoarsenRegister.htmlMatCoarsenRegisterAll.htmlMatCoarsenSetAdjacency.htmlMatCoarsenSetFromOptions.htmlMatCoarsenSetGreedyOrdering.htmlMatCoarsenSetStrictAggs.htmlMatCoarsenSetType.htmlMatCoarsenView.htmlMatColoringApply.htmlMatColoringCreate.htmlMatColoringDestroy.htmlMatColoringGetDistance.htmlMatColoringGetMaxColors.htmlMatColoringRegister.htmlMatColoringRegisterAll.htmlMatColoringSetDistance.htmlMatColoringSetFromOptions.htmlMatColoringSetMaxColors.htmlMatColoringSetType.htmlMatColoringSetWeightType.htmlMatColoringView.htmlMatCreateLaplacian.htmlMatGetOrdering.htmlMatMeshToCellGraph.htmlMatMeshToVertexGraph.htmlMatOrderingRegister.htmlMatOrderingRegisterAll.htmlMatPartitioningApply.htmlMatPartitioningApplyND.htmlMatPartitioningChacoGetEigenNumber.htmlMatPartitioningChacoGetEigenSolver.htmlMatPartitioningChacoGetEigenTol.htmlMatPartitioningChacoGetGlobal.htmlMatPartitioningChacoGetLocal.htmlMatPartitioningChacoSetCoarseLevel.htmlMatPartitioningChacoSetEigenNumber.htmlMatPartitioningChacoSetEigenSolver.htmlMatPartitioningChacoSetEigenTol.htmlMatPartitioningChacoSetGlobal.htmlMatPartitioningChacoSetLocal.htmlMatPartitioningCreate.htmlMatPartitioningDestroy.htmlMatPartitioningGetType.htmlMatPartitioningImprove.htmlMatPartitioningPTScotchGetImbalance.htmlMatPartitioningPTScotchGetStrategy.htmlMatPartitioningPTScotchSetImbalance.htmlMatPartitioningPTScotchSetStrategy.htmlMatPartitioningParmetisGetEdgeCut.htmlMatPartitioningParmetisSetCoarseSequential.htmlMatPartitioningParmetisSetRepartition.htmlMatPartitioningPartySetBipart.htmlMatPartitioningPartySetCoarseLevel.htmlMatPartitioningPartySetGlobal.htmlMatPartitioningPartySetLocal.htmlMatPartitioningPartySetMatchOptimization.htmlMatPartitioningRegister.htmlMatPartitioningRegisterAll.htmlMatPartitioningSetAdjacency.htmlMatPartitioningSetFromOptions.htmlMatPartitioningSetNParts.htmlMatPartitioningSetPartitionWeights.htmlMatPartitioningSetType.htmlMatPartitioningSetVertexWeights.htmlMatPartitioningView.htmlMatPartitioningViewImbalance.htmlindex.htmlPCPC.htmlPCASM.htmlPCASMCreateSubdomains.htmlPCASMCreateSubdomains2D.htmlPCASMDestroySubdomains.htmlPCASMGetDMSubdomains.htmlPCASMGetLocalSubdomains.htmlPCASMGetLocalSubmatrices.htmlPCASMGetLocalType.htmlPCASMGetSubKSP.htmlPCASMGetSubMatType.htmlPCASMGetType.htmlPCASMSetDMSubdomains.htmlPCASMSetLocalSubdomains.htmlPCASMSetLocalType.htmlPCASMSetOverlap.htmlPCASMSetSortIndices.htmlPCASMSetSubMatType.htmlPCASMSetTotalSubdomains.htmlPCASMSetType.htmlPCASMType.htmlPCAppendOptionsPrefix.htmlPCApply.htmlPCApplyBAorAB.htmlPCApplyBAorABTranspose.htmlPCApplyRichardson.htmlPCApplyRichardsonExists.htmlPCApplySymmetricLeft.htmlPCApplySymmetricRight.htmlPCApplyTranspose.htmlPCApplyTransposeExists.htmlPCBDDC.htmlPCBDDCCreateFETIDPOperators.htmlPCBDDCFinalizePackage.htmlPCBDDCGetDirichletBoundaries.htmlPCBDDCGetDirichletBoundariesLocal.htmlPCBDDCGetNeumannBoundaries.htmlPCBDDCGetNeumannBoundariesLocal.htmlPCBDDCGetPrimalVerticesIS.htmlPCBDDCGetPrimalVerticesLocalIS.htmlPCBDDCInitializePackage.htmlPCBDDCInterfaceExtType.htmlPCBDDCMatFETIDPGetRHS.htmlPCBDDCMatFETIDPGetSolution.htmlPCBDDCSetChangeOfBasisMat.htmlPCBDDCSetCoarseningRatio.htmlPCBDDCSetDirichletBoundaries.htmlPCBDDCSetDirichletBoundariesLocal.htmlPCBDDCSetDiscreteGradient.htmlPCBDDCSetDivergenceMat.htmlPCBDDCSetDofsSplitting.htmlPCBDDCSetDofsSplittingLocal.htmlPCBDDCSetLevels.htmlPCBDDCSetLocalAdjacencyGraph.htmlPCBDDCSetNeumannBoundaries.htmlPCBDDCSetNeumannBoundariesLocal.htmlPCBDDCSetPrimalVerticesIS.htmlPCBDDCSetPrimalVerticesLocalIS.htmlPCBJACOBI.htmlPCBJacobiGetLocalBlocks.htmlPCBJacobiGetSubKSP.htmlPCBJacobiGetTotalBlocks.htmlPCBJacobiSetLocalBlocks.htmlPCBJacobiSetTotalBlocks.htmlPCCHOLESKY.htmlPCCHOWILUViennaCL.htmlPCCOMPOSITE.htmlPCCP.htmlPCCompositeAddPC.htmlPCCompositeGetNumberPC.htmlPCCompositeGetPC.htmlPCCompositeGetType.htmlPCCompositeSetType.htmlPCCompositeSpecialSetAlpha.htmlPCCompositeType.htmlPCComputeOperator.htmlPCCreate.htmlPCDEFLATION.htmlPCDeflationGetCoarseKSP.htmlPCDeflationGetPC.htmlPCDeflationSetCoarseMat.htmlPCDeflationSetCorrectionFactor.htmlPCDeflationSetInitOnly.htmlPCDeflationSetLevels.htmlPCDeflationSetProjectionNullSpaceMat.htmlPCDeflationSetReductionFactor.htmlPCDeflationSetSpace.htmlPCDeflationSetSpaceToCompute.htmlPCDeflationSpaceType.htmlPCDestroy.htmlPCDiagonalScaleLeft.htmlPCDiagonalScaleRight.htmlPCEISENSTAT.htmlPCEXOTIC.htmlPCEisenstatGetNoDiagonalScaling.htmlPCEisenstatGetOmega.htmlPCEisenstatSetNoDiagonalScaling.htmlPCEisenstatSetOmega.htmlPCExoticSetType.htmlPCExoticType.htmlPCFIELDSPLIT.htmlPCFactorGetAllowDiagonalFill.htmlPCFactorGetLevels.htmlPCFactorGetMatSolverType.htmlPCFactorGetMatrix.htmlPCFactorGetShiftAmount.htmlPCFactorGetShiftType.htmlPCFactorGetUseInPlace.htmlPCFactorGetZeroPivot.htmlPCFactorReorderForNonzeroDiagonal.htmlPCFactorSetAllowDiagonalFill.htmlPCFactorSetColumnPivot.htmlPCFactorSetFill.htmlPCFactorSetLevels.htmlPCFactorSetMatOrderingType.htmlPCFactorSetMatSolverType.htmlPCFactorSetPivotInBlocks.htmlPCFactorSetReuseFill.htmlPCFactorSetReuseOrdering.htmlPCFactorSetShiftAmount.htmlPCFactorSetShiftType.htmlPCFactorSetUpMatSolverType.htmlPCFactorSetUseInPlace.htmlPCFactorSetZeroPivot.htmlPCFailedReason.htmlPCFieldSplitGetDMSplits.htmlPCFieldSplitGetDetectSaddlePoint.htmlPCFieldSplitGetDiagUseAmat.htmlPCFieldSplitGetIS.htmlPCFieldSplitGetISByIndex.htmlPCFieldSplitGetOffDiagUseAmat.htmlPCFieldSplitGetSchurBlocks.htmlPCFieldSplitGetSchurPre.htmlPCFieldSplitGetSubKSP.htmlPCFieldSplitGetType.htmlPCFieldSplitRestrictIS.htmlPCFieldSplitSchurFactType.htmlPCFieldSplitSchurGetS.htmlPCFieldSplitSchurGetSubKSP.htmlPCFieldSplitSchurPreType.htmlPCFieldSplitSchurRestoreS.htmlPCFieldSplitSetBlockSize.htmlPCFieldSplitSetDMSplits.htmlPCFieldSplitSetDetectSaddlePoint.htmlPCFieldSplitSetDiagUseAmat.htmlPCFieldSplitSetFields.htmlPCFieldSplitSetGKBDelay.htmlPCFieldSplitSetGKBMaxit.htmlPCFieldSplitSetGKBNu.htmlPCFieldSplitSetGKBTol.htmlPCFieldSplitSetIS.htmlPCFieldSplitSetOffDiagUseAmat.htmlPCFieldSplitSetSchurFactType.htmlPCFieldSplitSetSchurPre.htmlPCFieldSplitSetSchurScale.htmlPCFieldSplitSetType.htmlPCGALERKIN.htmlPCGAMG.htmlPCGAMGASMSetUseAggs.htmlPCGAMGClassicalGetType.htmlPCGAMGClassicalSetType.htmlPCGAMGFilterGraph.htmlPCGAMGFinalizePackage.htmlPCGAMGGetType.htmlPCGAMGInitializePackage.htmlPCGAMGLayoutType.htmlPCGAMGRegister.htmlPCGAMGSetCoarseEqLim.htmlPCGAMGSetCoarseGridLayoutType.htmlPCGAMGSetCpuPinCoarseGrids.htmlPCGAMGSetNSmooths.htmlPCGAMGSetNlevels.htmlPCGAMGSetProcEqLim.htmlPCGAMGSetRepartition.htmlPCGAMGSetReuseInterpolation.htmlPCGAMGSetSquareGraph.htmlPCGAMGSetSymGraph.htmlPCGAMGSetThreshold.htmlPCGAMGSetThresholdScale.htmlPCGAMGSetType.htmlPCGAMGSetUseParallelCoarseGridSolve.htmlPCGAMGType.htmlPCGASM.htmlPCGASMCreateSubdomains.htmlPCGASMCreateSubdomains2D.htmlPCGASMDestroySubdomains.htmlPCGASMGetSubKSP.htmlPCGASMGetSubdomains.htmlPCGASMGetSubmatrices.htmlPCGASMGetUseDMSubdomains.htmlPCGASMSetOverlap.htmlPCGASMSetSortIndices.htmlPCGASMSetSubdomains.htmlPCGASMSetTotalSubdomains.htmlPCGASMSetType.htmlPCGASMSetUseDMSubdomains.htmlPCGASMType.htmlPCGalerkinGetKSP.htmlPCGalerkinSetComputeSubmatrix.htmlPCGalerkinSetInterpolation.htmlPCGalerkinSetRestriction.htmlPCGetApplicationContext.htmlPCGetCoarseOperators.htmlPCGetDM.htmlPCGetDiagonalScale.htmlPCGetFailedReason.htmlPCGetInterpolations.htmlPCGetOperators.htmlPCGetOperatorsSet.htmlPCGetOptionsPrefix.htmlPCGetReusePreconditioner.htmlPCGetType.htmlPCGetUseAmat.htmlPCHMG.htmlPCHMGSetCoarseningComponent.htmlPCHMGSetInnerPCType.htmlPCHMGSetReuseInterpolation.htmlPCHMGSetUseSubspaceCoarsening.htmlPCHMGUseMatMAIJ.htmlPCHPDDM.htmlPCHPDDMCoarseCorrectionType.htmlPCHPDDMGetCoarseCorrectionType.htmlPCHPDDMSetAuxiliaryMat.htmlPCHPDDMSetCoarseCorrectionType.htmlPCHPDDMShellApply.htmlPCHYPRE.htmlPCHYPREGetType.htmlPCHYPRESetAlphaPoissonMatrix.htmlPCHYPRESetBetaPoissonMatrix.htmlPCHYPRESetDiscreteCurl.htmlPCHYPRESetDiscreteGradient.htmlPCHYPRESetEdgeConstantVectors.htmlPCHYPRESetInterpolations.htmlPCHYPRESetType.htmlPCICC.htmlPCILU.htmlPCISSetSubdomainDiagonalScaling.htmlPCISSetSubdomainScalingFactor.htmlPCISSetUseStiffnessScaling.htmlPCJACOBI.htmlPCJacobiGetType.htmlPCJacobiGetUseAbs.htmlPCJacobiSetType.htmlPCJacobiSetUseAbs.htmlPCJacobiType.htmlPCKSP.htmlPCKSPGetKSP.htmlPCKSPSetKSP.htmlPCKaczmarz.htmlPCLMVM.htmlPCLMVMClearIS.htmlPCLMVMGetMatLMVM.htmlPCLMVMSetIS.htmlPCLMVMSetMatLMVM.htmlPCLSC.htmlPCLU.htmlPCLoad.htmlPCMAT.htmlPCMG.htmlPCMGCycleType.htmlPCMGGetCoarseSolve.htmlPCMGGetGalerkin.htmlPCMGGetInjection.htmlPCMGGetInterpolation.htmlPCMGGetLevels.htmlPCMGGetRScale.htmlPCMGGetRestriction.htmlPCMGGetSmoother.htmlPCMGGetSmootherDown.htmlPCMGGetSmootherUp.htmlPCMGGetType.htmlPCMGMultiplicativeSetCycles.htmlPCMGResidualDefault.htmlPCMGSetCycleType.htmlPCMGSetCycleTypeOnLevel.htmlPCMGSetDistinctSmoothUp.htmlPCMGSetGalerkin.htmlPCMGSetInjection.htmlPCMGSetInterpolation.htmlPCMGSetLevels.htmlPCMGSetNumberSmooth.htmlPCMGSetOperators.htmlPCMGSetR.htmlPCMGSetRScale.htmlPCMGSetResidual.htmlPCMGSetRestriction.htmlPCMGSetRhs.htmlPCMGSetType.htmlPCMGSetX.htmlPCMGType.htmlPCMGalerkinType.htmlPCML.htmlPCModifySubMatrices.htmlPCNN.htmlPCNONE.htmlPCPARMS.htmlPCPARMSGlobalType.htmlPCPARMSLocalType.htmlPCPARMSSetFill.htmlPCPARMSSetGlobal.htmlPCPARMSSetLocal.htmlPCPARMSSetNonsymPerm.htmlPCPARMSSetSolveRestart.htmlPCPARMSSetSolveTolerances.htmlPCPATCH.htmlPCPBJACOBI.htmlPCPFMG.htmlPCPatchConstructType.htmlPCPatchSetComputeFunction.htmlPCPatchSetComputeFunctionInteriorFacets.htmlPCPatchSetComputeOperator.htmlPCPatchSetComputeOperatorInteriorFacets.htmlPCPostSolve.htmlPCPreSolve.htmlPCPythonSetType.htmlPCREDISTRIBUTE.htmlPCREDUNDANT.htmlPCRedistributeGetKSP.htmlPCRedundantGetKSP.htmlPCRedundantGetOperators.htmlPCRedundantSetNumber.htmlPCRedundantSetScatter.htmlPCRegister.htmlPCRegisterAll.htmlPCReset.htmlPCRichardsonConvergedReason.htmlPCRowScalingViennaCL.htmlPCSAViennaCL.htmlPCSHELL.htmlPCSOR.htmlPCSORGetIterations.htmlPCSORGetOmega.htmlPCSORGetSymmetric.htmlPCSORSetIterations.htmlPCSORSetOmega.htmlPCSORSetSymmetric.htmlPCSPAI.htmlPCSPAISetBlockSize.htmlPCSPAISetCacheSize.htmlPCSPAISetEpsilon.htmlPCSPAISetMax.htmlPCSPAISetMaxNew.htmlPCSPAISetNBSteps.htmlPCSPAISetSp.htmlPCSPAISetVerbose.htmlPCSVD.htmlPCSetApplicationContext.htmlPCSetCoordinates.htmlPCSetDM.htmlPCSetDiagonalScale.htmlPCSetErrorIfFailure.htmlPCSetFromOptions.htmlPCSetModifySubMatrices.htmlPCSetOperators.htmlPCSetOptionsPrefix.htmlPCSetReusePreconditioner.htmlPCSetType.htmlPCSetUp.htmlPCSetUpOnBlocks.htmlPCSetUseAmat.htmlPCShellGetContext.htmlPCShellGetName.htmlPCShellSetApply.htmlPCShellSetApplyBA.htmlPCShellSetApplyRichardson.htmlPCShellSetApplySymmetricLeft.htmlPCShellSetApplySymmetricRight.htmlPCShellSetApplyTranspose.htmlPCShellSetContext.htmlPCShellSetDestroy.htmlPCShellSetName.htmlPCShellSetPostSolve.htmlPCShellSetPreSolve.htmlPCShellSetSetUp.htmlPCShellSetView.htmlPCSide.htmlPCSysPFMG.htmlPCTELESCOPE.htmlPCTFS.htmlPCTelescopeGetDM.htmlPCTelescopeGetIgnoreDM.htmlPCTelescopeGetIgnoreKSPComputeOperators.htmlPCTelescopeGetKSP.htmlPCTelescopeGetReductionFactor.htmlPCTelescopeGetSubcommType.htmlPCTelescopeGetUseCoarseDM.htmlPCTelescopeSetIgnoreDM.htmlPCTelescopeSetIgnoreKSPComputeOperators.htmlPCTelescopeSetReductionFactor.htmlPCTelescopeSetSubcommType.htmlPCTelescopeSetUseCoarseDM.htmlPCType.htmlPCVPBJACOBI.htmlPCView.htmlindex.htmlPFPF.htmlPFApply.htmlPFApplyVec.htmlPFCreate.htmlPFDestroy.htmlPFFinalizePackage.htmlPFGetType.htmlPFInitializePackage.htmlPFRegister.htmlPFRegisterAll.htmlPFSet.htmlPFSetFromOptions.htmlPFSetType.htmlPFType.htmlPFView.htmlindex.htmlPetscSFPetscSF.htmlPetscSFBcastAndOpBegin.htmlPetscSFBcastAndOpEnd.htmlPetscSFBcastBegin.htmlPetscSFBcastEnd.htmlPetscSFCompose.htmlPetscSFComposeInverse.htmlPetscSFComputeDegreeBegin.htmlPetscSFComputeDegreeEnd.htmlPetscSFComputeMultiRootOriginalNumbering.htmlPetscSFCreate.htmlPetscSFCreateEmbeddedLeafSF.htmlPetscSFCreateEmbeddedSF.htmlPetscSFCreateInverseSF.htmlPetscSFDestroy.htmlPetscSFDuplicate.htmlPetscSFDuplicateOption.htmlPetscSFFetchAndOpBegin.htmlPetscSFFetchAndOpEnd.htmlPetscSFFinalizePackage.htmlPetscSFFindWindow.htmlPetscSFGatherBegin.htmlPetscSFGatherEnd.htmlPetscSFGetGraph.htmlPetscSFGetGroups.htmlPetscSFGetLeafRange.htmlPetscSFGetLeafRanks.htmlPetscSFGetMultiSF.htmlPetscSFGetRootRanks.htmlPetscSFGetType.htmlPetscSFGetWindow.htmlPetscSFInitializePackage.htmlPetscSFNode.htmlPetscSFPattern.htmlPetscSFReduceBegin.htmlPetscSFReduceEnd.htmlPetscSFRegister.htmlPetscSFRegisterAll.htmlPetscSFReset.htmlPetscSFRestoreWindow.htmlPetscSFScatterBegin.htmlPetscSFScatterEnd.htmlPetscSFSetFromOptions.htmlPetscSFSetGraph.htmlPetscSFSetGraphWithPattern.htmlPetscSFSetRankOrder.htmlPetscSFSetType.htmlPetscSFSetUp.htmlPetscSFSetUpRanks.htmlPetscSFType.htmlPetscSFView.htmlPetscSFWindowGetDataTypes.htmlPetscSFWindowGetSyncType.htmlPetscSFWindowSetSyncType.htmlPetscSFWindowSyncType.htmlindex.htmlPetscSectionPetscSFCreateRemoteOffsets.htmlPetscSFCreateSectionSF.htmlPetscSFDistributeSection.htmlPetscSection.htmlPetscSectionAddConstraintDof.htmlPetscSectionAddDof.htmlPetscSectionAddFieldConstraintDof.htmlPetscSectionAddFieldDof.htmlPetscSectionClone.htmlPetscSectionCompare.htmlPetscSectionCopy.htmlPetscSectionCreate.htmlPetscSectionCreateGlobalSection.htmlPetscSectionCreateGlobalSectionCensored.htmlPetscSectionCreateSubmeshSection.htmlPetscSectionCreateSubsection.htmlPetscSectionCreateSupersection.htmlPetscSectionDestroy.htmlPetscSectionExtractDofsFromArray.htmlPetscSectionGetChart.htmlPetscSectionGetClosureIndex.htmlPetscSectionGetClosureInversePermutation.htmlPetscSectionGetClosurePermutation.htmlPetscSectionGetConstrainedStorageSize.htmlPetscSectionGetConstraintDof.htmlPetscSectionGetConstraintIndices.htmlPetscSectionGetDof.htmlPetscSectionGetField.htmlPetscSectionGetFieldComponents.htmlPetscSectionGetFieldConstraintDof.htmlPetscSectionGetFieldConstraintIndices.htmlPetscSectionGetFieldDof.htmlPetscSectionGetFieldName.htmlPetscSectionGetFieldOffset.htmlPetscSectionGetFieldPointOffset.htmlPetscSectionGetFieldPointSyms.htmlPetscSectionGetFieldSym.htmlPetscSectionGetMaxDof.htmlPetscSectionGetNumFields.htmlPetscSectionGetOffset.htmlPetscSectionGetOffsetRange.htmlPetscSectionGetPermutation.htmlPetscSectionGetPointLayout.htmlPetscSectionGetPointMajor.htmlPetscSectionGetPointSyms.htmlPetscSectionGetStorageSize.htmlPetscSectionGetSym.htmlPetscSectionGetUseFieldOffsets.htmlPetscSectionGetValueLayout.htmlPetscSectionHasConstraints.htmlPetscSectionPermute.htmlPetscSectionReset.htmlPetscSectionRestoreFieldPointSyms.htmlPetscSectionRestorePointSyms.htmlPetscSectionSetChart.htmlPetscSectionSetClosureIndex.htmlPetscSectionSetClosurePermutation.htmlPetscSectionSetConstraintDof.htmlPetscSectionSetConstraintIndices.htmlPetscSectionSetDof.htmlPetscSectionSetFieldComponents.htmlPetscSectionSetFieldConstraintDof.htmlPetscSectionSetFieldConstraintIndices.htmlPetscSectionSetFieldDof.htmlPetscSectionSetFieldName.htmlPetscSectionSetFieldOffset.htmlPetscSectionSetFieldSym.htmlPetscSectionSetFromOptions.htmlPetscSectionSetNumFields.htmlPetscSectionSetOffset.htmlPetscSectionSetPermutation.htmlPetscSectionSetPointMajor.htmlPetscSectionSetSym.htmlPetscSectionSetUp.htmlPetscSectionSetUpBC.htmlPetscSectionSetUseFieldOffsets.htmlPetscSectionSym.htmlPetscSectionSymCreate.htmlPetscSectionSymDestroy.htmlPetscSectionSymGetType.htmlPetscSectionSymRegister.htmlPetscSectionSymSetType.htmlPetscSectionSymType.htmlPetscSectionSymView.htmlPetscSectionView.htmlindex.htmlProfilingPetscClassIdRegister.htmlPetscClassPerfInfoClear.htmlPetscClassPerfLogCreate.htmlPetscClassPerfLogDestroy.htmlPetscClassPerfLogEnsureSize.htmlPetscClassRegInfoDestroy.htmlPetscClassRegLogCreate.htmlPetscClassRegLogDestroy.htmlPetscClassRegLogGetClass.htmlPetscClassRegLogRegister.htmlPetscEventPerfInfoClear.htmlPetscEventPerfInfoCopy.htmlPetscEventPerfLogActivate.htmlPetscEventPerfLogActivateClass.htmlPetscEventPerfLogCreate.htmlPetscEventPerfLogDeactivate.htmlPetscEventPerfLogDeactivateClass.htmlPetscEventPerfLogDestroy.htmlPetscEventPerfLogEnsureSize.htmlPetscEventPerfLogGetVisible.htmlPetscEventPerfLogSetVisible.htmlPetscEventRegLogCreate.htmlPetscEventRegLogDestroy.htmlPetscEventRegLogGetEvent.htmlPetscEventRegLogRegister.htmlPetscGetFlops.htmlPetscInfo.htmlPetscInfoActivateClass.htmlPetscInfoAllow.htmlPetscInfoDeactivateClass.htmlPetscIntStackCreate.htmlPetscIntStackDestroy.htmlPetscIntStackEmpty.htmlPetscIntStackPop.htmlPetscIntStackPush.htmlPetscIntStackTop.htmlPetscLogActions.htmlPetscLogAllBegin.htmlPetscLogDefaultBegin.htmlPetscLogDump.htmlPetscLogEvent.htmlPetscLogEventActivate.htmlPetscLogEventActivateClass.htmlPetscLogEventBegin.htmlPetscLogEventDeactivate.htmlPetscLogEventDeactivateClass.htmlPetscLogEventEnd.htmlPetscLogEventExcludeClass.htmlPetscLogEventGetId.htmlPetscLogEventGetPerfInfo.htmlPetscLogEventIncludeClass.htmlPetscLogEventRegister.htmlPetscLogEventSetActiveAll.htmlPetscLogEventSetCollective.htmlPetscLogEventSetDof.htmlPetscLogEventSetError.htmlPetscLogEventSync.htmlPetscLogFlops.htmlPetscLogGetStageLog.htmlPetscLogMPEBegin.htmlPetscLogMPEDump.htmlPetscLogMPEGetRGBColor.htmlPetscLogNestedBegin.htmlPetscLogObjectMemory.htmlPetscLogObjects.htmlPetscLogSet.htmlPetscLogSetThreshold.htmlPetscLogStage.htmlPetscLogStageGetActive.htmlPetscLogStageGetId.htmlPetscLogStageGetVisible.htmlPetscLogStagePop.htmlPetscLogStagePush.htmlPetscLogStageRegister.htmlPetscLogStageSetActive.htmlPetscLogStageSetVisible.htmlPetscLogTraceBegin.htmlPetscLogView.htmlPetscLogViewFromOptions.htmlPetscPreLoadBegin.htmlPetscPreLoadEnd.htmlPetscPreLoadStage.htmlPetscStageInfoDestroy.htmlPetscStageLogCreate.htmlPetscStageLogDestroy.htmlPetscStageLogGetActive.htmlPetscStageLogGetClassPerfLog.htmlPetscStageLogGetClassRegLog.htmlPetscStageLogGetCurrent.htmlPetscStageLogGetEventPerfLog.htmlPetscStageLogGetEventRegLog.htmlPetscStageLogGetStage.htmlPetscStageLogGetVisible.htmlPetscStageLogPop.htmlPetscStageLogPush.htmlPetscStageLogRegister.htmlPetscStageLogSetActive.htmlPetscStageLogSetVisible.htmlindex.htmlSNESDMAdaptorAdapt.htmlDMAdaptorCreate.htmlDMAdaptorDestroy.htmlDMAdaptorGetSequenceLength.htmlDMAdaptorGetSolver.htmlDMAdaptorSetFromOptions.htmlDMAdaptorSetSequenceLength.htmlDMAdaptorSetSolver.htmlDMAdaptorSetUp.htmlDMAdaptorView.htmlDMCopyDMSNES.htmlDMDASNESSetFunctionLocal.htmlDMDASNESSetJacobianLocal.htmlDMDASNESSetObjectiveLocal.htmlDMDASNESSetPicardLocal.htmlDMGetDMSNES.htmlDMGetDMSNESWrite.htmlDMInterpolationAddPoints.htmlDMInterpolationCreate.htmlDMInterpolationDestroy.htmlDMInterpolationEvaluate.htmlDMInterpolationGetCoordinates.htmlDMInterpolationGetDim.htmlDMInterpolationGetDof.htmlDMInterpolationGetVector.htmlDMInterpolationRestoreVector.htmlDMInterpolationSetDim.htmlDMInterpolationSetDof.htmlDMInterpolationSetUp.htmlDMPlexComputeJacobianAction.htmlDMPlexSNESComputeBoundaryFEM.htmlDMPlexSNESComputeJacobianFEM.htmlDMPlexSNESComputeResidualFEM.htmlDMPlexSNESGetGeometryFVM.htmlDMPlexSNESGetGradientDM.htmlDMPlexSetSNESLocalFEM.htmlDMSNESCheckDiscretization.htmlDMSNESCheckFromOptions.htmlDMSNESCheckJacobian.htmlDMSNESCheckResidual.htmlDMSNESCopy.htmlDMSNESGetBoundaryLocal.htmlDMSNESGetFunction.htmlDMSNESGetFunctionLocal.htmlDMSNESGetJacobian.htmlDMSNESGetJacobianLocal.htmlDMSNESGetNGS.htmlDMSNESGetObjective.htmlDMSNESGetPicard.htmlDMSNESSetBoundaryLocal.htmlDMSNESSetFunction.htmlDMSNESSetFunctionLocal.htmlDMSNESSetJacobian.htmlDMSNESSetJacobianLocal.htmlDMSNESSetNGS.htmlDMSNESSetObjective.htmlDMSNESSetPicard.htmlKSPMonitorSNES.htmlKSPMonitorSNESLGResidualNormCreate.htmlKSPMonitorSNESLGResidualNormDestroy.htmlMatCreateSNESMF.htmlMatMFFDComputeJacobian.htmlMatSNESMFGetReuseBase.htmlMatSNESMFGetSNES.htmlMatSNESMFSetReuseBase.htmlPetscConvEstCreate.htmlPetscConvEstDestroy.htmlPetscConvEstGetConvRate.htmlPetscConvEstGetSolver.htmlPetscConvEstRateView.htmlPetscConvEstSetFromOptions.htmlPetscConvEstSetSolver.htmlPetscConvEstSetUp.htmlPetscConvEstView.htmlSNES.htmlSNESANDERSON.htmlSNESASPIN.htmlSNESAddOptionsChecker.htmlSNESAppendOptionsPrefix.htmlSNESApplyNPC.htmlSNESCOMPOSITE.htmlSNESCompositeAddSNES.htmlSNESCompositeGetNumber.htmlSNESCompositeGetSNES.htmlSNESCompositeSetDamping.htmlSNESCompositeSetType.htmlSNESComputeFunction.htmlSNESComputeJacobian.htmlSNESComputeJacobianDefault.htmlSNESComputeJacobianDefaultColor.htmlSNESComputeNGS.htmlSNESComputeObjective.htmlSNESConvergedDefault.htmlSNESConvergedReason.htmlSNESConvergedSkip.htmlSNESConvergenceTestFunction.htmlSNESCreate.htmlSNESDefaultMatrixFreeSetParameters2.htmlSNESDestroy.htmlSNESFASType.htmlSNESFinalizePackage.htmlSNESFunction.htmlSNESFunctionType.htmlSNESGetAlwaysComputesFinalResidual.htmlSNESGetApplicationContext.htmlSNESGetCheckJacobianDomainError.htmlSNESGetConvergedReason.htmlSNESGetConvergenceHistory.htmlSNESGetDM.htmlSNESGetDivergenceTolerance.htmlSNESGetErrorIfNotConverged.htmlSNESGetForceIteration.htmlSNESGetFunction.htmlSNESGetFunctionDomainError.htmlSNESGetFunctionNorm.htmlSNESGetFunctionType.htmlSNESGetGridSequence.htmlSNESGetIterationNumber.htmlSNESGetJacobian.htmlSNESGetJacobianDomainError.htmlSNESGetKSP.htmlSNESGetLagJacobian.htmlSNESGetLagPreconditioner.htmlSNESGetLineSearch.htmlSNESGetLinearSolveFailures.htmlSNESGetLinearSolveIterations.htmlSNESGetMaxLinearSolveFailures.htmlSNESGetMaxNonlinearStepFailures.htmlSNESGetNGS.htmlSNESGetNPC.htmlSNESGetNPCFunction.htmlSNESGetNPCSide.htmlSNESGetNonlinearStepFailures.htmlSNESGetNormSchedule.htmlSNESGetNumberFunctionEvals.htmlSNESGetObjective.htmlSNESGetOptionsPrefix.htmlSNESGetPicard.htmlSNESGetRhs.htmlSNESGetSolution.htmlSNESGetSolutionNorm.htmlSNESGetSolutionUpdate.htmlSNESGetTolerances.htmlSNESGetType.htmlSNESGetUpdateNorm.htmlSNESGetUseMatrixFree.htmlSNESHasNPC.htmlSNESInitializePackage.htmlSNESJacobianFunction.htmlSNESKSPGetParametersEW.htmlSNESKSPGetUseEW.htmlSNESKSPONLY.htmlSNESKSPSetParametersEW.htmlSNESKSPSetUseEW.htmlSNESKSPTRANSPOSEONLY.htmlSNESLINESEARCHBASIC.htmlSNESLINESEARCHBT.htmlSNESLINESEARCHCP.htmlSNESLINESEARCHL2.htmlSNESLINESEARCHNCGLINEAR.htmlSNESLINESEARCHNLEQERR.htmlSNESLINESEARCHSHELL.htmlSNESLineSearch.htmlSNESLineSearchAppendOptionsPrefix.htmlSNESLineSearchApply.htmlSNESLineSearchBTGetAlpha.htmlSNESLineSearchBTSetAlpha.htmlSNESLineSearchComputeNorms.htmlSNESLineSearchCreate.htmlSNESLineSearchDestroy.htmlSNESLineSearchGetDamping.htmlSNESLineSearchGetDefaultMonitor.htmlSNESLineSearchGetLambda.htmlSNESLineSearchGetNorms.htmlSNESLineSearchGetOptionsPrefix.htmlSNESLineSearchGetOrder.htmlSNESLineSearchGetPostCheck.htmlSNESLineSearchGetPreCheck.htmlSNESLineSearchGetReason.htmlSNESLineSearchGetSNES.htmlSNESLineSearchGetTolerances.htmlSNESLineSearchGetVIFunctions.htmlSNESLineSearchGetVecs.htmlSNESLineSearchMonitor.htmlSNESLineSearchMonitorCancel.htmlSNESLineSearchMonitorSet.htmlSNESLineSearchMonitorSetFromOptions.htmlSNESLineSearchMonitorSolutionUpdate.htmlSNESLineSearchPostCheck.htmlSNESLineSearchPreCheck.htmlSNESLineSearchPreCheckPicard.htmlSNESLineSearchReason.htmlSNESLineSearchRegister.htmlSNESLineSearchRegisterAll.htmlSNESLineSearchReset.htmlSNESLineSearchSetComputeNorms.htmlSNESLineSearchSetDamping.htmlSNESLineSearchSetDefaultMonitor.htmlSNESLineSearchSetFromOptions.htmlSNESLineSearchSetFunction.htmlSNESLineSearchSetLambda.htmlSNESLineSearchSetNorms.htmlSNESLineSearchSetOrder.htmlSNESLineSearchSetPostCheck.htmlSNESLineSearchSetPreCheck.htmlSNESLineSearchSetReason.htmlSNESLineSearchSetSNES.htmlSNESLineSearchSetTolerances.htmlSNESLineSearchSetType.htmlSNESLineSearchSetUp.htmlSNESLineSearchSetVIFunctions.htmlSNESLineSearchSetVecs.htmlSNESLineSearchSetWorkVecs.htmlSNESLineSearchShellGetUserFunc.htmlSNESLineSearchShellSetUserFunc.htmlSNESLineSearchType.htmlSNESLineSearchView.htmlSNESLoad.htmlSNESMS.htmlSNESMSFinalizePackage.htmlSNESMSInitializePackage.htmlSNESMSRegister.htmlSNESMSRegisterAll.htmlSNESMSRegisterDestroy.htmlSNESMSSetType.htmlSNESMSType.htmlSNESMatrixFreeCreate2.htmlSNESMonitor.htmlSNESMonitorCancel.htmlSNESMonitorDefault.htmlSNESMonitorDefaultField.htmlSNESMonitorFields.htmlSNESMonitorFunction.htmlSNESMonitorRange.htmlSNESMonitorRatio.htmlSNESMonitorRatioSetUp.htmlSNESMonitorResidual.htmlSNESMonitorSAWs.htmlSNESMonitorSAWsCreate.htmlSNESMonitorSAWsDestroy.htmlSNESMonitorScaling.htmlSNESMonitorSet.htmlSNESMonitorSetFromOptions.htmlSNESMonitorSolution.htmlSNESMonitorSolutionUpdate.htmlSNESNASM.htmlSNESNASMGetDamping.htmlSNESNASMGetNumber.htmlSNESNASMGetSNES.htmlSNESNASMGetSubdomainVecs.htmlSNESNASMGetSubdomains.htmlSNESNASMGetType.htmlSNESNASMSetComputeFinalJacobian.htmlSNESNASMSetDamping.htmlSNESNASMSetSubdomains.htmlSNESNASMSetType.htmlSNESNASMSetWeight.htmlSNESNCG.htmlSNESNCGSetType.htmlSNESNEWTONLS.htmlSNESNEWTONTR.htmlSNESNGMRES.htmlSNESNGMRESSetRestartFmRise.htmlSNESNGMRESSetRestartType.htmlSNESNGMRESSetSelectType.htmlSNESNGS.htmlSNESNGSFunction.htmlSNESNGSGetSweeps.htmlSNESNGSGetTolerances.htmlSNESNGSSetSweeps.htmlSNESNGSSetTolerances.htmlSNESNRICHARDSON.htmlSNESNewtonTRGetPostCheck.htmlSNESNewtonTRGetPreCheck.htmlSNESNewtonTRPostCheck.htmlSNESNewtonTRPreCheck.htmlSNESNewtonTRSetPostCheck.htmlSNESNewtonTRSetPreCheck.htmlSNESNormSchedule.htmlSNESObjectiveComputeFunctionDefaultFD.htmlSNESObjectiveFunction.htmlSNESPATCH.htmlSNESPythonSetType.htmlSNESQN.htmlSNESQNSetRestartType.htmlSNESQNSetScaleType.htmlSNESQNSetType.htmlSNESReasonView.htmlSNESReasonViewFromOptions.htmlSNESRegister.htmlSNESRegisterAll.htmlSNESReset.htmlSNESResetFromOptions.htmlSNESSHELL.htmlSNESSetAlwaysComputesFinalResidual.htmlSNESSetApplicationContext.htmlSNESSetCheckJacobianDomainError.htmlSNESSetComputeApplicationContext.htmlSNESSetComputeInitialGuess.htmlSNESSetConvergedReason.htmlSNESSetConvergenceHistory.htmlSNESSetConvergenceTest.htmlSNESSetCountersReset.htmlSNESSetDM.htmlSNESSetDivergenceTolerance.htmlSNESSetErrorIfNotConverged.htmlSNESSetForceIteration.htmlSNESSetFromOptions.htmlSNESSetFunction.htmlSNESSetFunctionDomainError.htmlSNESSetFunctionNorm.htmlSNESSetFunctionType.htmlSNESSetGridSequence.htmlSNESSetInitialFunction.htmlSNESSetIterationNumber.htmlSNESSetJacobian.htmlSNESSetJacobianDomainError.htmlSNESSetKSP.htmlSNESSetLagJacobian.htmlSNESSetLagJacobianPersists.htmlSNESSetLagPreconditioner.htmlSNESSetLagPreconditionerPersists.htmlSNESSetLineSearch.htmlSNESSetMaxLinearSolveFailures.htmlSNESSetMaxNonlinearStepFailures.htmlSNESSetNGS.htmlSNESSetNPC.htmlSNESSetNPCSide.htmlSNESSetNormSchedule.htmlSNESSetObjective.htmlSNESSetOptionsPrefix.htmlSNESSetPicard.htmlSNESSetSolution.htmlSNESSetTolerances.htmlSNESSetTrustRegionTolerance.htmlSNESSetType.htmlSNESSetUp.htmlSNESSetUpMatrices.htmlSNESSetUpdate.htmlSNESSetUseMatrixFree.htmlSNESSetWorkVecs.htmlSNESShellGetContext.htmlSNESShellSetContext.htmlSNESShellSetSolve.htmlSNESSolve.htmlSNESType.htmlSNESVINEWTONRSLS.htmlSNESVINEWTONSSLS.htmlSNESVISetComputeVariableBounds.htmlSNESVISetVariableBounds.htmlSNESView.htmlSNES_CONERGED_ITERATING.htmlSNES_CONVERGED_FNORM_ABS.htmlSNES_CONVERGED_FNORM_RELATIVE.htmlSNES_CONVERGED_SNORM_RELATIVE.htmlSNES_DIVERGED_DTOL.htmlSNES_DIVERGED_FNORM_NAN.htmlSNES_DIVERGED_FUNCTION_COUNT.htmlSNES_DIVERGED_LINE_SEARCH.htmlSNES_DIVERGED_LOCAL_MIN.htmlSNES_DIVERGED_MAX_IT.htmlSNES_NORM_ALWAYS.htmlSNES_NORM_FINAL_ONLY.htmlSNES_NORM_INITIAL_FINAL_ONLY.htmlSNES_NORM_INITIAL_ONLY.htmlSNES_NORM_NONE.htmlindex.htmlSNESFASSNESFAS.htmlSNESFASCreateCoarseVec.htmlSNESFASCycleGetCorrection.htmlSNESFASCycleGetInjection.htmlSNESFASCycleGetInterpolation.htmlSNESFASCycleGetRScale.htmlSNESFASCycleGetRestriction.htmlSNESFASCycleGetSmoother.htmlSNESFASCycleGetSmootherDown.htmlSNESFASCycleGetSmootherUp.htmlSNESFASCycleIsFine.htmlSNESFASCycleSetCycles.htmlSNESFASFullSetDownSweep.htmlSNESFASGalerkinFunctionDefault.htmlSNESFASGetCoarseSolve.htmlSNESFASGetCycleSNES.htmlSNESFASGetGalerkin.htmlSNESFASGetInjection.htmlSNESFASGetInterpolation.htmlSNESFASGetLevels.htmlSNESFASGetRestriction.htmlSNESFASGetSmoother.htmlSNESFASGetSmootherDown.htmlSNESFASGetSmootherUp.htmlSNESFASGetType.htmlSNESFASRestrict.htmlSNESFASSetContinuation.htmlSNESFASSetCycles.htmlSNESFASSetGalerkin.htmlSNESFASSetInjection.htmlSNESFASSetInterpolation.htmlSNESFASSetLevels.htmlSNESFASSetLog.htmlSNESFASSetMonitor.htmlSNESFASSetNumberSmoothDown.htmlSNESFASSetNumberSmoothUp.htmlSNESFASSetRScale.htmlSNESFASSetRestriction.htmlSNESFASSetType.htmlindex.htmlSPACEPETSCSPACEPOINT.htmlPETSCSPACEPOLYNOMIAL.htmlPETSCSPACETENSOR.htmlPetscDualSpace.htmlPetscDualSpaceReferenceCell.htmlPetscDualSpaceTransformType.htmlPetscDualSpaceType.htmlPetscFE.htmlPetscFEJacobianType.htmlPetscFEType.htmlPetscGaussLobattoLegendreCreateType.htmlPetscQuadrature.htmlPetscSpace.htmlPetscSpaceCreate.htmlPetscSpaceDestroy.htmlPetscSpaceEvaluate.htmlPetscSpaceGetDegree.htmlPetscSpaceGetDimension.htmlPetscSpaceGetHeightSubspace.htmlPetscSpaceGetNumComponents.htmlPetscSpaceGetNumVariables.htmlPetscSpaceGetType.htmlPetscSpacePointGetPoints.htmlPetscSpacePointSetPoints.htmlPetscSpacePolynomialGetSymmetric.htmlPetscSpacePolynomialGetTensor.htmlPetscSpacePolynomialSetSymmetric.htmlPetscSpacePolynomialSetTensor.htmlPetscSpacePolynomialType.htmlPetscSpaceRegister.htmlPetscSpaceSetDegree.htmlPetscSpaceSetFromOptions.htmlPetscSpaceSetNumComponents.htmlPetscSpaceSetNumVariables.htmlPetscSpaceSetType.htmlPetscSpaceSetUp.htmlPetscSpaceTensorGetNumSubspaces.htmlPetscSpaceTensorGetSubspace.htmlPetscSpaceTensorSetNumSubspaces.htmlPetscSpaceTensorSetSubspace.htmlPetscSpaceType.htmlPetscSpaceView.htmlindex.htmlSensitivityTSAdjointComputeDRDPFunction.htmlTSAdjointComputeDRDYFunction.htmlTSAdjointComputeRHSJacobian.htmlTSAdjointCostIntegral.htmlTSAdjointMonitor.htmlTSAdjointMonitorCancel.htmlTSAdjointMonitorDefault.htmlTSAdjointMonitorDrawSensi.htmlTSAdjointMonitorSensi.htmlTSAdjointMonitorSet.htmlTSAdjointMonitorSetFromOptions.htmlTSAdjointReset.htmlTSAdjointResetForward.htmlTSAdjointSetForward.htmlTSAdjointSetRHSJacobian.htmlTSAdjointSetSteps.htmlTSAdjointSetUp.htmlTSAdjointSolve.htmlTSAdjointStep.htmlTSComputeCostIntegrand.htmlTSComputeDRDPFunction.htmlTSComputeDRDUFunction.htmlTSComputeIHessianProductFunctionPP.htmlTSComputeIHessianProductFunctionPU.htmlTSComputeIHessianProductFunctionUP.htmlTSComputeIHessianProductFunctionUU.htmlTSComputeIJacobianP.htmlTSComputeRHSHessianProductFunctionPP.htmlTSComputeRHSHessianProductFunctionPU.htmlTSComputeRHSHessianProductFunctionUP.htmlTSComputeRHSHessianProductFunctionUU.htmlTSComputeRHSJacobianP.htmlTSComputeSNESJacobian.htmlTSCreateQuadratureTS.htmlTSForwardCostIntegral.htmlTSForwardGetIntegralGradients.htmlTSForwardGetSensitivities.htmlTSForwardGetStages.htmlTSForwardReset.htmlTSForwardSetInitialSensitivities.htmlTSForwardSetIntegralGradients.htmlTSForwardSetSensitivities.htmlTSForwardSetUp.htmlTSForwardStep.htmlTSGetCostGradients.htmlTSGetCostHessianProducts.htmlTSGetCostIntegral.htmlTSGetQuadratureTS.htmlTSGetRHSJacobianP.htmlTSSetCostGradients.htmlTSSetCostHessianProducts.htmlTSSetCostIntegrand.htmlTSSetIHessianProduct.htmlTSSetIJacobianP.htmlTSSetRHSHessianProduct.htmlTSSetRHSJacobianP.htmlindex.htmlSysADD_VALUES.htmlCHKERRMPI.htmlCHKERRQ.htmlCHKERRXX.htmlCHKMEMQ.htmlConverts.htmlINSERT_VALUES.htmlInsertMode.htmlKSPCheckDot.htmlKSPCheckNorm.htmlMAX_VALUES.htmlMIN_VALUES.htmlMPIU_Allreduce.htmlMPIU_COMPLEX.htmlMPIU_INT.htmlMPIU_REAL.htmlMPIU_SCALAR.htmlMPI_Comm.htmlPETSC_COMM_SELF.htmlPETSC_COMM_WORLD.htmlPETSC_DECIDE.htmlPETSC_DEFAULT.htmlPETSC_DETERMINE.htmlPETSC_FALSE.htmlPETSC_HASH_MAP.htmlPETSC_HASH_SET.htmlPETSC_IGNORE.htmlPETSC_MATLAB_ENGINE_.htmlPETSC_MATLAB_ENGINE_SELF.htmlPETSC_MATLAB_ENGINE_WORLD.htmlPETSC_TRUE.htmlPETSC_VERSION.htmlPETSC_i.htmlPetscAbortErrorHandler.htmlPetscAbs.htmlPetscAbsInt.htmlPetscAbsReal.htmlPetscAddrAlign.htmlPetscArraycmp.htmlPetscArraycpy.htmlPetscArraymove.htmlPetscArrayzero.htmlPetscAttachDebugger.htmlPetscAttachDebuggerErrorHandler.htmlPetscBLASInt.htmlPetscBLASIntCast.htmlPetscBT.htmlPetscBag.htmlPetscBagCreate.htmlPetscBagDestroy.htmlPetscBagGetData.htmlPetscBagGetName.htmlPetscBagGetNames.htmlPetscBagLoad.htmlPetscBagRegisterBool.htmlPetscBagRegisterBoolArray.htmlPetscBagRegisterEnum.htmlPetscBagRegisterInt.htmlPetscBagRegisterInt64.htmlPetscBagRegisterIntArray.htmlPetscBagRegisterReal.htmlPetscBagRegisterRealArray.htmlPetscBagRegisterScalar.htmlPetscBagRegisterString.htmlPetscBagSetFromOptions.htmlPetscBagSetName.htmlPetscBagSetOptionsPrefix.htmlPetscBagView.htmlPetscBarrier.htmlPetscBinaryClose.htmlPetscBinaryOpen.htmlPetscBinaryRead.htmlPetscBinarySeek.htmlPetscBinarySeekType.htmlPetscBinarySynchronizedRead.htmlPetscBinarySynchronizedSeek.htmlPetscBinarySynchronizedWrite.htmlPetscBinaryWrite.htmlPetscBool.htmlPetscBoxAuthorize.htmlPetscBoxRefresh.htmlPetscBoxUpload.htmlPetscBuildTwoSidedType.htmlPetscCUDAInitialize.htmlPetscCalloc1.htmlPetscCalloc2.htmlPetscCalloc3.htmlPetscCalloc4.htmlPetscCalloc5.htmlPetscCalloc6.htmlPetscCalloc7.htmlPetscCheckDupsInt.htmlPetscCheckPointer.htmlPetscCheckPointerSetIntensity.htmlPetscCitationsRegister.htmlPetscClassId.htmlPetscClipInterval.htmlPetscCommBuildTwoSided.htmlPetscCommBuildTwoSidedF.htmlPetscCommBuildTwoSidedFReq.htmlPetscCommBuildTwoSidedGetType.htmlPetscCommBuildTwoSidedSetType.htmlPetscCommDestroy.htmlPetscCommDuplicate.htmlPetscCommGetNewTag.htmlPetscComplex.htmlPetscContainer.htmlPetscContainerCreate.htmlPetscContainerDestroy.htmlPetscContainerGetPointer.htmlPetscContainerSetPointer.htmlPetscContainerSetUserDestroy.htmlPetscContainerUserDestroyDefault.htmlPetscCopyMode.htmlPetscDLClose.htmlPetscDLLibrary.htmlPetscDLLibraryAppend.htmlPetscDLLibraryClose.htmlPetscDLLibraryOpen.htmlPetscDLLibraryPrepend.htmlPetscDLLibraryRetrieve.htmlPetscDLLibrarySym.htmlPetscDLOpen.htmlPetscDLSym.htmlPetscDataType.htmlPetscDataTypeFromString.htmlPetscDataTypeGetSize.htmlPetscDataTypeToMPIDataType.htmlPetscEListFind.htmlPetscEmacsClientErrorHandler.htmlPetscEnd.htmlPetscEnum.htmlPetscEnumFind.htmlPetscEqualReal.htmlPetscEqualScalar.htmlPetscError.htmlPetscErrorCode.htmlPetscErrorMessage.htmlPetscErrorPrintf.htmlPetscErrorType.htmlPetscFClose.htmlPetscFOpen.htmlPetscFPTrapPop.htmlPetscFPTrapPush.htmlPetscFPrintf.htmlPetscFileMode.htmlPetscFileRetrieve.htmlPetscFinalize.htmlPetscFinalized.htmlPetscFindInt.htmlPetscFindMPIInt.htmlPetscFindReal.htmlPetscFixFilename.htmlPetscFormatConvert.htmlPetscFormatConvertGetSize.htmlPetscFormatStrip.htmlPetscFortranAddr.htmlPetscFortranCallbackGetSizes.htmlPetscFortranCallbackRegister.htmlPetscFree.htmlPetscFree2.htmlPetscFree3.htmlPetscFree4.htmlPetscFree5.htmlPetscFree6.htmlPetscFree7.htmlPetscFreeA.htmlPetscFreeArguments.htmlPetscFunctionBegin.htmlPetscFunctionBeginHot.htmlPetscFunctionBeginUser.htmlPetscFunctionList.htmlPetscFunctionListAdd.htmlPetscFunctionListDestroy.htmlPetscFunctionListDuplicate.htmlPetscFunctionListFind.htmlPetscFunctionListGet.htmlPetscFunctionListPrintTypes.htmlPetscFunctionListView.htmlPetscFunctionReturn.htmlPetscGatherMessageLengths.htmlPetscGatherMessageLengths2.htmlPetscGatherNumberOfMessages.htmlPetscGetArchType.htmlPetscGetArgs.htmlPetscGetArguments.htmlPetscGetCPUTime.htmlPetscGetDate.htmlPetscGetFullPath.htmlPetscGetHomeDirectory.htmlPetscGetHostName.htmlPetscGetPetscDir.htmlPetscGetProgramName.htmlPetscGetRealPath.htmlPetscGetRelativePath.htmlPetscGetTmp.htmlPetscGetUserName.htmlPetscGetVersion.htmlPetscGetVersionNumber.htmlPetscGetWorkingDirectory.htmlPetscGlobalMinMaxInt.htmlPetscGlobalMinMaxReal.htmlPetscGlobusAuthorize.htmlPetscGlobusGetTransfers.htmlPetscGlobusUpload.htmlPetscGoogleDriveAuthorize.htmlPetscGoogleDriveRefresh.htmlPetscGoogleDriveUpload.htmlPetscHMapT.htmlPetscHMapTClear.htmlPetscHMapTCreate.htmlPetscHMapTDel.htmlPetscHMapTDestroy.htmlPetscHMapTDuplicate.htmlPetscHMapTFind.htmlPetscHMapTGet.htmlPetscHMapTGetCapacity.htmlPetscHMapTGetKeys.htmlPetscHMapTGetPairs.htmlPetscHMapTGetSize.htmlPetscHMapTGetVals.htmlPetscHMapTHas.htmlPetscHMapTIterDel.htmlPetscHMapTIterGet.htmlPetscHMapTIterSet.htmlPetscHMapTPut.htmlPetscHMapTQueryDel.htmlPetscHMapTQuerySet.htmlPetscHMapTReset.htmlPetscHMapTResize.htmlPetscHMapTSet.htmlPetscHSetT.htmlPetscHSetTAdd.htmlPetscHSetTClear.htmlPetscHSetTCreate.htmlPetscHSetTDel.htmlPetscHSetTDestroy.htmlPetscHSetTDuplicate.htmlPetscHSetTGetCapacity.htmlPetscHSetTGetElems.htmlPetscHSetTGetSize.htmlPetscHSetTHas.htmlPetscHSetTQueryAdd.htmlPetscHSetTQueryDel.htmlPetscHSetTReset.htmlPetscHSetTResize.htmlPetscHSetTUpdate.htmlPetscHTTPRequest.htmlPetscHTTPSConnect.htmlPetscHTTPSRequest.htmlPetscHeaderCreate.htmlPetscHeaderDestroy.htmlPetscHeap.htmlPetscHelpPrintf.htmlPetscIgnoreErrorHandler.htmlPetscImaginaryPart.htmlPetscInitialize.htmlPetscInitializeFortran.htmlPetscInitializeNoArguments.htmlPetscInitialized.htmlPetscInt.htmlPetscIntCast.htmlPetscIntMultError.htmlPetscIntMultTruncate.htmlPetscIntSumError.htmlPetscIntSumTruncate.htmlPetscIntView.htmlPetscIsCloseAtTol.htmlPetscIsInfReal.htmlPetscIsNanReal.htmlPetscIsNormalReal.htmlPetscLikely.htmlPetscLinearRegression.htmlPetscLogDouble.htmlPetscLs.htmlPetscMPIAbortErrorHandler.htmlPetscMPIDataTypeToPetscDataType.htmlPetscMPIDump.htmlPetscMPIInt.htmlPetscMPIIntCast.htmlPetscMalloc.htmlPetscMalloc1.htmlPetscMalloc2.htmlPetscMalloc3.htmlPetscMalloc4.htmlPetscMalloc5.htmlPetscMalloc6.htmlPetscMalloc7.htmlPetscMallocA.htmlPetscMallocClear.htmlPetscMallocDump.htmlPetscMallocGetCurrentUsage.htmlPetscMallocGetDebug.htmlPetscMallocGetMaximumUsage.htmlPetscMallocGetStack.htmlPetscMallocPopMaximumUsage.htmlPetscMallocPushMaximumUsage.htmlPetscMallocResetDRAM.htmlPetscMallocSet.htmlPetscMallocSetCoalesce.htmlPetscMallocSetDRAM.htmlPetscMallocSetDebug.htmlPetscMallocValidate.htmlPetscMallocView.htmlPetscMallocViewGet.htmlPetscMallocViewSet.htmlPetscMatlabEngine.htmlPetscMatlabEngineCreate.htmlPetscMatlabEngineDestroy.htmlPetscMatlabEngineEvaluate.htmlPetscMatlabEngineGet.htmlPetscMatlabEngineGetArray.htmlPetscMatlabEngineGetOutput.htmlPetscMatlabEnginePrintOutput.htmlPetscMatlabEnginePut.htmlPetscMatlabEnginePutArray.htmlPetscMax.htmlPetscMemcmp.htmlPetscMemcpy.htmlPetscMemmove.htmlPetscMemoryGetCurrentUsage.htmlPetscMemoryGetMaximumUsage.htmlPetscMemorySetGetMaximumUsage.htmlPetscMemoryView.htmlPetscMemzero.htmlPetscMergeIntArray.htmlPetscMergeIntArrayPair.htmlPetscMergeMPIIntArray.htmlPetscMin.htmlPetscMkdtemp.htmlPetscNew.htmlPetscNewLog.htmlPetscNot.htmlPetscObject.htmlPetscObjectAddOptionsHandler.htmlPetscObjectAppendOptionsPrefix.htmlPetscObjectBaseTypeCompare.htmlPetscObjectBaseTypeCompareAny.htmlPetscObjectComm.htmlPetscObjectCompareId.htmlPetscObjectCompose.htmlPetscObjectComposeFunction.htmlPetscObjectComposedDataGetInt.htmlPetscObjectComposedDataGetIntstar.htmlPetscObjectComposedDataGetReal.htmlPetscObjectComposedDataGetRealstar.htmlPetscObjectComposedDataGetScalar.htmlPetscObjectComposedDataGetScalarstar.htmlPetscObjectComposedDataRegister.htmlPetscObjectComposedDataSetInt.htmlPetscObjectComposedDataSetIntstar.htmlPetscObjectComposedDataSetReal.htmlPetscObjectComposedDataSetRealstar.htmlPetscObjectComposedDataSetScalar.htmlPetscObjectComposedDataSetScalarstar.htmlPetscObjectCopyFortranFunctionPointers.htmlPetscObjectDereference.htmlPetscObjectDestroy.htmlPetscObjectDestroyOptionsHandlers.htmlPetscObjectGetClassId.htmlPetscObjectGetClassName.htmlPetscObjectGetComm.htmlPetscObjectGetFortranCallback.htmlPetscObjectGetId.htmlPetscObjectGetName.htmlPetscObjectGetNewTag.htmlPetscObjectGetOptions.htmlPetscObjectGetOptionsPrefix.htmlPetscObjectGetReference.htmlPetscObjectGetTabLevel.htmlPetscObjectGetType.htmlPetscObjectId.htmlPetscObjectIncrementTabLevel.htmlPetscObjectInheritPrintedOptions.htmlPetscObjectList.htmlPetscObjectListAdd.htmlPetscObjectListDestroy.htmlPetscObjectListDuplicate.htmlPetscObjectListFind.htmlPetscObjectListRemoveReference.htmlPetscObjectListReverseFind.htmlPetscObjectName.htmlPetscObjectOptionsBegin.htmlPetscObjectPrependOptionsPrefix.htmlPetscObjectPrintClassNamePrefixType.htmlPetscObjectProcessOptionsHandlers.htmlPetscObjectQuery.htmlPetscObjectQueryFunction.htmlPetscObjectReference.htmlPetscObjectRegisterDestroy.htmlPetscObjectRegisterDestroyAll.htmlPetscObjectSAWsBlock.htmlPetscObjectSAWsGrantAccess.htmlPetscObjectSAWsSetBlock.htmlPetscObjectSAWsTakeAccess.htmlPetscObjectSetFortranCallback.htmlPetscObjectSetFromOptions.htmlPetscObjectSetName.htmlPetscObjectSetOptions.htmlPetscObjectSetOptionsPrefix.htmlPetscObjectSetPrintedOptions.htmlPetscObjectSetTabLevel.htmlPetscObjectSetType.htmlPetscObjectSetUp.htmlPetscObjectState.htmlPetscObjectStateGet.htmlPetscObjectStateIncrease.htmlPetscObjectStateSet.htmlPetscObjectTypeCompare.htmlPetscObjectTypeCompareAny.htmlPetscObjectView.htmlPetscObjectViewFromOptions.htmlPetscObjectsDump.htmlPetscObjectsGetObject.htmlPetscObjectsListGetGlobalNumbering.htmlPetscObjectsView.htmlPetscOffloadMask.htmlPetscOffset.htmlPetscOmpCtrlBarrier.htmlPetscOmpCtrlCreate.htmlPetscOmpCtrlDestroy.htmlPetscOmpCtrlGetOmpComms.htmlPetscOmpCtrlOmpRegionOnMasterBegin.htmlPetscOmpCtrlOmpRegionOnMasterEnd.htmlPetscOptionsAllUsed.htmlPetscOptionsBegin.htmlPetscOptionsBool.htmlPetscOptionsBoolArray.htmlPetscOptionsBoolGroup.htmlPetscOptionsBoolGroupBegin.htmlPetscOptionsBoolGroupEnd.htmlPetscOptionsBoundedInt.htmlPetscOptionsClear.htmlPetscOptionsClearValue.htmlPetscOptionsCreate.htmlPetscOptionsDeprecated.htmlPetscOptionsDestroy.htmlPetscOptionsEList.htmlPetscOptionsEnd.htmlPetscOptionsEnum.htmlPetscOptionsEnumArray.htmlPetscOptionsFList.htmlPetscOptionsFindPair.htmlPetscOptionsGetAll.htmlPetscOptionsGetBool.htmlPetscOptionsGetBoolArray.htmlPetscOptionsGetEList.htmlPetscOptionsGetEnum.htmlPetscOptionsGetEnumArray.htmlPetscOptionsGetInt.htmlPetscOptionsGetIntArray.htmlPetscOptionsGetReal.htmlPetscOptionsGetRealArray.htmlPetscOptionsGetScalar.htmlPetscOptionsGetScalarArray.htmlPetscOptionsGetString.htmlPetscOptionsGetStringArray.htmlPetscOptionsGetenv.htmlPetscOptionsHasHelp.htmlPetscOptionsHasName.htmlPetscOptionsHead.htmlPetscOptionsInsert.htmlPetscOptionsInsertFile.htmlPetscOptionsInsertString.htmlPetscOptionsInt.htmlPetscOptionsIntArray.htmlPetscOptionsLeft.htmlPetscOptionsLeftGet.htmlPetscOptionsLeftRestore.htmlPetscOptionsMonitorCancel.htmlPetscOptionsMonitorDefault.htmlPetscOptionsMonitorSet.htmlPetscOptionsName.htmlPetscOptionsPop.htmlPetscOptionsPrefixPop.htmlPetscOptionsPrefixPush.htmlPetscOptionsPush.htmlPetscOptionsRangeInt.htmlPetscOptionsReal.htmlPetscOptionsRealArray.htmlPetscOptionsReject.htmlPetscOptionsScalar.htmlPetscOptionsScalarArray.htmlPetscOptionsSetAlias.htmlPetscOptionsSetFromOptions.htmlPetscOptionsSetValue.htmlPetscOptionsString.htmlPetscOptionsStringArray.htmlPetscOptionsTail.htmlPetscOptionsUsed.htmlPetscOptionsValidKey.htmlPetscOptionsView.htmlPetscOptionsViewer.htmlPetscPClose.htmlPetscPOpen.htmlPetscPOpenSetMachine.htmlPetscPopErrorHandler.htmlPetscPopSignalHandler.htmlPetscPrefetchBlock.htmlPetscPrintf.htmlPetscProcessPlacementView.htmlPetscProcessTree.htmlPetscPullJSONValue.htmlPetscPushErrorHandler.htmlPetscPushJSONValue.htmlPetscPushSignalHandler.htmlPetscRandom.htmlPetscRandomCreate.htmlPetscRandomDestroy.htmlPetscRandomFinalizePackage.htmlPetscRandomGetInterval.htmlPetscRandomGetSeed.htmlPetscRandomGetType.htmlPetscRandomGetValue.htmlPetscRandomGetValueReal.htmlPetscRandomInitializePackage.htmlPetscRandomRegister.htmlPetscRandomRegisterAll.htmlPetscRandomSeed.htmlPetscRandomSetFromOptions.htmlPetscRandomSetInterval.htmlPetscRandomSetSeed.htmlPetscRandomSetType.htmlPetscRandomType.htmlPetscRandomView.htmlPetscReal.htmlPetscRealIntMultTruncate.htmlPetscRealPart.htmlPetscRealView.htmlPetscRealloc.htmlPetscRegisterFinalize.htmlPetscRegisterFinalizeAll.htmlPetscReturnErrorHandler.htmlPetscSAWsBlock.htmlPetscSNPrintf.htmlPetscSNPrintfCount.htmlPetscSSEIsEnabled.htmlPetscSSLDestroyContext.htmlPetscSSLInitializeContext.htmlPetscScalar.htmlPetscScalarView.htmlPetscSegBuffer.htmlPetscSegBufferCreate.htmlPetscSegBufferDestroy.htmlPetscSegBufferExtractAlloc.htmlPetscSegBufferExtractInPlace.htmlPetscSegBufferExtractTo.htmlPetscSegBufferGet.htmlPetscSegBufferGetSize.htmlPetscSegBufferUnuse.htmlPetscSequentialPhaseBegin.htmlPetscSequentialPhaseEnd.htmlPetscSetDebugTerminal.htmlPetscSetDebugger.htmlPetscSetDebuggerFromString.htmlPetscSetDefaultDebugger.htmlPetscSetFPTrap.htmlPetscSetHelpVersionFunctions.htmlPetscSharedTmp.htmlPetscSharedWorkingDirectory.htmlPetscShmCommGet.htmlPetscShmCommGetMpiShmComm.htmlPetscShmCommGlobalToLocal.htmlPetscShmCommLocalToGlobal.htmlPetscSign.htmlPetscSignalHandlerDefault.htmlPetscSignalSegvCheckPointer.htmlPetscSleep.htmlPetscSortInt.htmlPetscSortIntWithArray.htmlPetscSortIntWithArrayPair.htmlPetscSortIntWithDataArray.htmlPetscSortIntWithPermutation.htmlPetscSortIntWithScalarArray.htmlPetscSortMPIInt.htmlPetscSortMPIIntWithArray.htmlPetscSortMPIIntWithIntArray.htmlPetscSortReal.htmlPetscSortRealWithArrayInt.htmlPetscSortRealWithPermutation.htmlPetscSortRemoveDupsInt.htmlPetscSortRemoveDupsMPIInt.htmlPetscSortRemoveDupsReal.htmlPetscSortSplit.htmlPetscSortSplitReal.htmlPetscSortStrWithPermutation.htmlPetscSortedRemoveDupsInt.htmlPetscSplitOwnership.htmlPetscSplitOwnershipBlock.htmlPetscSqr.htmlPetscStackSAWsGrantAccess.htmlPetscStackSAWsTakeAccess.htmlPetscStartMatlab.htmlPetscStopForDebugger.htmlPetscStrArrayDestroy.htmlPetscStrArrayallocpy.htmlPetscStrInList.htmlPetscStrNArrayDestroy.htmlPetscStrNArrayallocpy.htmlPetscStrToArray.htmlPetscStrToArrayDestroy.htmlPetscStrallocpy.htmlPetscStrbeginswith.htmlPetscStrcasecmp.htmlPetscStrcat.htmlPetscStrchr.htmlPetscStrcmp.htmlPetscStrcpy.htmlPetscStrendswith.htmlPetscStrendswithwhich.htmlPetscStrgrt.htmlPetscStrlcat.htmlPetscStrlen.htmlPetscStrncmp.htmlPetscStrncpy.htmlPetscStrrchr.htmlPetscStrreplace.htmlPetscStrrstr.htmlPetscStrstr.htmlPetscStrtolower.htmlPetscStrtoupper.htmlPetscSubcomm.htmlPetscSubcommCreate.htmlPetscSubcommDestroy.htmlPetscSubcommSetFromOptions.htmlPetscSubcommSetNumber.htmlPetscSubcommSetOptionsPrefix.htmlPetscSubcommSetType.htmlPetscSubcommSetTypeGeneral.htmlPetscSubcommView.htmlPetscSynchronizedFGets.htmlPetscSynchronizedFPrintf.htmlPetscSynchronizedFlush.htmlPetscSynchronizedPrintf.htmlPetscTellMyCell.htmlPetscTestDirectory.htmlPetscTestFile.htmlPetscTextBelt.htmlPetscTime.htmlPetscTimeAdd.htmlPetscTimeSubtract.htmlPetscToken.htmlPetscTokenCreate.htmlPetscTokenDestroy.htmlPetscTokenFind.htmlPetscTraceBackErrorHandler.htmlPetscURLShorten.htmlPetscUnlikely.htmlPetscVFPrintf.htmlPetscVSNPrintf.htmlSETERRABORT.htmlSETERRMPI.htmlSETERRQ.htmlSETERRQ1.htmlSETERRQ2.htmlSETERRQ3.htmlSETERRQ4.htmlSETERRQ5.htmlSETERRQ6.htmlSETERRQ7.htmlSETERRQ8.htmlSETERRQ9.htmlUsingFortran.htmlindex.htmlTSDMCopyDMTS.htmlDMDATSSetIFunctionLocal.htmlDMDATSSetIJacobianLocal.htmlDMDATSSetRHSFunctionLocal.htmlDMDATSSetRHSJacobianLocal.htmlDMGetDMTS.htmlDMGetDMTSWrite.htmlDMPlexTSComputeBoundary.htmlDMPlexTSComputeIFunctionFEM.htmlDMPlexTSComputeIJacobianFEM.htmlDMPlexTSComputeRHSFunctionFVM.htmlDMPlexTSGetGeometryFVM.htmlDMPlexTSGetGradientDM.htmlDMTSCheckFromOptions.htmlDMTSCopy.htmlDMTSGetForcingFunction.htmlDMTSGetI2Function.htmlDMTSGetI2Jacobian.htmlDMTSGetIFunction.htmlDMTSGetIJacobian.htmlDMTSGetRHSFunction.htmlDMTSGetRHSJacobian.htmlDMTSGetSolutionFunction.htmlDMTSSetBoundaryLocal.htmlDMTSSetForcingFunction.htmlDMTSSetI2Function.htmlDMTSSetI2Jacobian.htmlDMTSSetIFunction.htmlDMTSSetIFunctionLocal.htmlDMTSSetIFunctionSerialize.htmlDMTSSetIJacobian.htmlDMTSSetIJacobianLocal.htmlDMTSSetIJacobianSerialize.htmlDMTSSetRHSFunction.htmlDMTSSetRHSFunctionLocal.htmlDMTSSetRHSJacobian.htmlDMTSSetSolutionFunction.htmlSNESTSFormFunction.htmlSNESTSFormJacobian.htmlTS.htmlTS2GetSolution.htmlTS2SetSolution.htmlTSADAPTBASIC.htmlTSADAPTCFL.htmlTSADAPTDSP.htmlTSADAPTGLEE.htmlTSADAPTHISTORY.htmlTSADAPTNONE.htmlTSALPHA.htmlTSALPHA2.htmlTSARKIMEX.htmlTSARKIMEX1BEE.htmlTSARKIMEX2C.htmlTSARKIMEX2D.htmlTSARKIMEX2E.htmlTSARKIMEX3.htmlTSARKIMEX4.htmlTSARKIMEX5.htmlTSARKIMEXA2.htmlTSARKIMEXARS122.htmlTSARKIMEXARS443.htmlTSARKIMEXBPR3.htmlTSARKIMEXFinalizePackage.htmlTSARKIMEXGetType.htmlTSARKIMEXInitializePackage.htmlTSARKIMEXL2.htmlTSARKIMEXPRSSP2.htmlTSARKIMEXRegister.htmlTSARKIMEXRegisterAll.htmlTSARKIMEXRegisterDestroy.htmlTSARKIMEXSetFullyImplicit.htmlTSARKIMEXSetType.htmlTSARKIMEXType.htmlTSAdapt.htmlTSAdaptCandidateAdd.htmlTSAdaptCandidatesClear.htmlTSAdaptCandidatesGet.htmlTSAdaptCheckStage.htmlTSAdaptChoose.htmlTSAdaptCreate.htmlTSAdaptDSPSetFilter.htmlTSAdaptDSPSetPID.htmlTSAdaptFinalizePackage.htmlTSAdaptGetClip.htmlTSAdaptGetMaxIgnore.htmlTSAdaptGetSafety.htmlTSAdaptGetStepLimits.htmlTSAdaptGetType.htmlTSAdaptHistoryGetStep.htmlTSAdaptHistorySetHistory.htmlTSAdaptHistorySetTrajectory.htmlTSAdaptInitializePackage.htmlTSAdaptLoad.htmlTSAdaptRegister.htmlTSAdaptRegisterAll.htmlTSAdaptReset.htmlTSAdaptSetAlwaysAccept.htmlTSAdaptSetCheckStage.htmlTSAdaptSetClip.htmlTSAdaptSetMaxIgnore.htmlTSAdaptSetMonitor.htmlTSAdaptSetSafety.htmlTSAdaptSetStepLimits.htmlTSAdaptSetTimeStepIncreaseDelay.htmlTSAdaptSetType.htmlTSAdaptType.htmlTSAlpha2GetParams.htmlTSAlpha2SetParams.htmlTSAlpha2SetRadius.htmlTSAlphaGetParams.htmlTSAlphaSetParams.htmlTSAlphaSetRadius.htmlTSAppendOptionsPrefix.htmlTSBASICSYMPLECTICSIEULER.htmlTSBASICSYMPLECTICVELVERLET.htmlTSBDF.htmlTSBDFGetOrder.htmlTSBDFSetOrder.htmlTSBEULER.htmlTSBasicSymplectic.htmlTSBasicSymplecticFinalizePackage.htmlTSBasicSymplecticGetType.htmlTSBasicSymplecticInitializePackage.htmlTSBasicSymplecticRegister.htmlTSBasicSymplecticRegisterAll.htmlTSBasicSymplecticRegisterDestroy.htmlTSBasicSymplecticSetType.htmlTSBasicSymplecticType.htmlTSCN.htmlTSClone.htmlTSComputeForcingFunction.htmlTSComputeI2Function.htmlTSComputeI2Jacobian.htmlTSComputeIFunction.htmlTSComputeIFunctionLinear.htmlTSComputeIJacobian.htmlTSComputeIJacobianConstant.htmlTSComputeIJacobianDefaultColor.htmlTSComputeLinearStability.htmlTSComputeRHSFunction.htmlTSComputeRHSFunctionLinear.htmlTSComputeRHSJacobian.htmlTSComputeRHSJacobianConstant.htmlTSComputeSolutionFunction.htmlTSConvergedReason.htmlTSCreate.htmlTSDestroy.htmlTSEIMEX.htmlTSEIMEXSetMaxRows.htmlTSEIMEXSetOrdAdapt.htmlTSEIMEXSetRowCol.htmlTSEIMEXType.htmlTSEULER.htmlTSEquationType.htmlTSErrorWeightedENorm.htmlTSErrorWeightedENorm2.htmlTSErrorWeightedENormInfinity.htmlTSErrorWeightedNorm.htmlTSErrorWeightedNorm2.htmlTSErrorWeightedNormInfinity.htmlTSEvaluateStep.htmlTSEvaluateWLTE.htmlTSExactFinalTimeOption.htmlTSFinalizePackage.htmlTSFunctionDomainError.htmlTSGLEE.htmlTSGLEE23.htmlTSGLEE24.htmlTSGLEE25i.htmlTSGLEE35.htmlTSGLEEEXRK2A.htmlTSGLEEFinalizePackage.htmlTSGLEEGetType.htmlTSGLEEInitializePackage.htmlTSGLEEMode.htmlTSGLEERK285EX.htmlTSGLEERK32G1.htmlTSGLEERegister.htmlTSGLEERegisterAll.htmlTSGLEERegisterDestroy.htmlTSGLEESetType.htmlTSGLEEType.htmlTSGLLE.htmlTSGLLEAcceptRegister.htmlTSGLLEAcceptType.htmlTSGLLEAdapt.htmlTSGLLEAdaptInitializePackage.htmlTSGLLEAdaptRegister.htmlTSGLLEAdaptRegisterAll.htmlTSGLLEAdaptType.htmlTSGLLEFinalizePackage.htmlTSGLLEGetAdapt.htmlTSGLLEInitializePackage.htmlTSGLLERegister.htmlTSGLLERegisterAll.htmlTSGLLESetAcceptType.htmlTSGLLESetType.htmlTSGLLEType.htmlTSGetAdapt.htmlTSGetApplicationContext.htmlTSGetAuxSolution.htmlTSGetCFLTime.htmlTSGetConvergedReason.htmlTSGetDM.htmlTSGetDuration.htmlTSGetEquationType.htmlTSGetExactFinalTime.htmlTSGetI2Function.htmlTSGetI2Jacobian.htmlTSGetIFunction.htmlTSGetIJacobian.htmlTSGetKSP.htmlTSGetKSPIterations.htmlTSGetMaxSteps.htmlTSGetMaxTime.htmlTSGetOptionsPrefix.htmlTSGetPrevTime.htmlTSGetProblemType.htmlTSGetRHSFunction.htmlTSGetRHSJacobian.htmlTSGetSNES.htmlTSGetSNESFailures.htmlTSGetSNESIterations.htmlTSGetSolution.htmlTSGetSolutionComponents.htmlTSGetSolveTime.htmlTSGetStages.htmlTSGetStepNumber.htmlTSGetStepRejections.htmlTSGetTime.htmlTSGetTimeError.htmlTSGetTimeStep.htmlTSGetTimeStepNumber.htmlTSGetTolerances.htmlTSGetTotalSteps.htmlTSGetTrajectory.htmlTSGetType.htmlTSGetUseSplitRHSFunction.htmlTSInitializePackage.htmlTSInterpolate.htmlTSLoad.htmlTSMIMEX.htmlTSMPRK.htmlTSMPRK2A22.htmlTSMPRK2A23.htmlTSMPRK2A32.htmlTSMPRK2A33.htmlTSMPRK3P2M.htmlTSMPRKFinalizePackage.htmlTSMPRKGetType.htmlTSMPRKInitializePackage.htmlTSMPRKP2.htmlTSMPRKP3.htmlTSMPRKRegister.htmlTSMPRKRegisterAll.htmlTSMPRKRegisterDestroy.htmlTSMPRKSetType.htmlTSMPRKType.htmlTSMonitor.htmlTSMonitorCancel.htmlTSMonitorDefault.htmlTSMonitorDrawCtxCreate.htmlTSMonitorDrawCtxDestroy.htmlTSMonitorDrawError.htmlTSMonitorDrawSolution.htmlTSMonitorDrawSolutionFunction.htmlTSMonitorDrawSolutionPhase.htmlTSMonitorEnvelope.htmlTSMonitorEnvelopeCtxCreate.htmlTSMonitorEnvelopeCtxDestroy.htmlTSMonitorEnvelopeGetBounds.htmlTSMonitorError.htmlTSMonitorExtreme.htmlTSMonitorLGCtxCreate.htmlTSMonitorLGCtxDestroy.htmlTSMonitorLGCtxSetDisplayVariables.htmlTSMonitorLGCtxSetTransform.htmlTSMonitorLGCtxSetVariableNames.htmlTSMonitorLGError.htmlTSMonitorLGGetVariableNames.htmlTSMonitorLGSetDisplayVariables.htmlTSMonitorLGSetTransform.htmlTSMonitorLGSetVariableNames.htmlTSMonitorLGSolution.htmlTSMonitorSPEigCtxCreate.htmlTSMonitorSPEigCtxDestroy.htmlTSMonitorSPSwarmSolution.htmlTSMonitorSet.htmlTSMonitorSetFromOptions.htmlTSMonitorSolution.htmlTSMonitorSolutionVTK.htmlTSMonitorSolutionVTKDestroy.htmlTSPSEUDO.htmlTSPostEvaluate.htmlTSPostStage.htmlTSPostStep.htmlTSPreStage.htmlTSPreStep.htmlTSProblemType.htmlTSPseudoComputeTimeStep.htmlTSPseudoIncrementDtFromInitialDt.htmlTSPseudoSetMaxTimeStep.htmlTSPseudoSetTimeStep.htmlTSPseudoSetTimeStepIncrement.htmlTSPseudoSetVerifyTimeStep.htmlTSPseudoTimeStepDefault.htmlTSPseudoVerifyTimeStep.htmlTSPseudoVerifyTimeStepDefault.htmlTSPythonSetType.htmlTSRADAU5.htmlTSRHSJacobianSetReuse.htmlTSRHSJacobianTest.htmlTSRHSJacobianTestTranspose.htmlTSRHSSplitGetIS.htmlTSRHSSplitGetSubTS.htmlTSRHSSplitGetSubTSs.htmlTSRHSSplitSetIS.htmlTSRHSSplitSetRHSFunction.htmlTSRK.htmlTSRK1FE.htmlTSRK2A.htmlTSRK3.htmlTSRK3BS.htmlTSRK4.htmlTSRK5BS.htmlTSRK5DP.htmlTSRK5F.htmlTSRK6VR.htmlTSRK7VR.htmlTSRK8VR.htmlTSRKFinalizePackage.htmlTSRKGetMultirate.htmlTSRKGetType.htmlTSRKInitializePackage.htmlTSRKRegister.htmlTSRKRegisterAll.htmlTSRKRegisterDestroy.htmlTSRKSetMultirate.htmlTSRKSetType.htmlTSRKType.htmlTSROSW.htmlTSROSW2M.htmlTSROSW2P.htmlTSROSW4L.htmlTSROSWASSP3P3S1C.htmlTSROSWGRK4T.htmlTSROSWLASSP3P4S2C.htmlTSROSWLLSSP3P4S2C.htmlTSROSWRA34PW2.htmlTSROSWRA3PW.htmlTSROSWRODAS3.htmlTSROSWSANDU3.htmlTSROSWSHAMP4.htmlTSROSWTHETA1.htmlTSROSWTHETA2.htmlTSROSWVELDD4.htmlTSRegister.htmlTSRegisterAll.htmlTSReset.htmlTSResetTrajectory.htmlTSRestartStep.htmlTSRollBack.htmlTSRosWFinalizePackage.htmlTSRosWGetType.htmlTSRosWInitializePackage.htmlTSRosWRegister.htmlTSRosWRegisterAll.htmlTSRosWRegisterDestroy.htmlTSRosWRegisterRos4.htmlTSRosWSetRecomputeJacobian.htmlTSRosWSetType.htmlTSRosWType.htmlTSSSP.htmlTSSSPFinalizePackage.htmlTSSSPGetNumStages.htmlTSSSPGetType.htmlTSSSPInitializePackage.htmlTSSSPRKS104.htmlTSSSPRKS2.htmlTSSSPRKS3.htmlTSSSPSetNumStages.htmlTSSSPSetType.htmlTSSSPType.htmlTSSUNDIALS.htmlTSSetApplicationContext.htmlTSSetCFLTimeLocal.htmlTSSetConvergedReason.htmlTSSetDM.htmlTSSetDuration.htmlTSSetEquationType.htmlTSSetErrorIfStepFails.htmlTSSetEventHandler.htmlTSSetEventTolerances.htmlTSSetExactFinalTime.htmlTSSetForcingFunction.htmlTSSetFromOptions.htmlTSSetFunctionDomainError.htmlTSSetI2Function.htmlTSSetI2Jacobian.htmlTSSetIFunction.htmlTSSetIJacobian.htmlTSSetInitialTimeStep.htmlTSSetMaxSNESFailures.htmlTSSetMaxStepRejections.htmlTSSetMaxSteps.htmlTSSetMaxTime.htmlTSSetOptionsPrefix.htmlTSSetPostEvaluate.htmlTSSetPostEventIntervalStep.htmlTSSetPostStage.htmlTSSetPostStep.htmlTSSetPreStage.htmlTSSetPreStep.htmlTSSetProblemType.htmlTSSetRHSFunction.htmlTSSetRHSJacobian.htmlTSSetSNES.htmlTSSetSaveTrajectory.htmlTSSetSolution.htmlTSSetSolutionFunction.htmlTSSetStepNumber.htmlTSSetTime.htmlTSSetTimeError.htmlTSSetTimeStep.htmlTSSetTolerances.htmlTSSetType.htmlTSSetUp.htmlTSSetUseSplitRHSFunction.htmlTSSolve.htmlTSStep.htmlTSSundialsGetIterations.htmlTSSundialsGetPC.htmlTSSundialsMonitorInternalSteps.htmlTSSundialsSetGramSchmidtType.htmlTSSundialsSetLinearTolerance.htmlTSSundialsSetMaxTimeStep.htmlTSSundialsSetMaxl.htmlTSSundialsSetMinTimeStep.htmlTSSundialsSetTolerance.htmlTSSundialsSetType.htmlTSTHETA.htmlTSTRAJECTORYBASIC.htmlTSTRAJECTORYMEMORY.htmlTSTRAJECTORYSINGLEFILE.htmlTSTRAJECTORYVISUALIZATION.htmlTSThetaGetEndpoint.htmlTSThetaGetTheta.htmlTSThetaSetEndpoint.htmlTSThetaSetTheta.htmlTSTrajectory.htmlTSTrajectoryCreate.htmlTSTrajectoryDestroy.htmlTSTrajectoryGet.htmlTSTrajectoryGetNumSteps.htmlTSTrajectoryGetSolutionOnly.htmlTSTrajectoryGetType.htmlTSTrajectoryGetUpdatedHistoryVecs.htmlTSTrajectoryGetVecs.htmlTSTrajectoryRegister.htmlTSTrajectoryRegisterAll.htmlTSTrajectoryReset.htmlTSTrajectoryRestoreUpdatedHistoryVecs.htmlTSTrajectorySet.htmlTSTrajectorySetDirname.htmlTSTrajectorySetFiletemplate.htmlTSTrajectorySetFromOptions.htmlTSTrajectorySetKeepFiles.htmlTSTrajectorySetMonitor.htmlTSTrajectorySetSolutionOnly.htmlTSTrajectorySetTransform.htmlTSTrajectorySetType.htmlTSTrajectorySetUp.htmlTSTrajectorySetUseHistory.htmlTSTrajectorySetVariableNames.htmlTSTrajectoryView.htmlTSType.htmlTSVISetVariableBounds.htmlTSView.htmlTS_CONVERGED_EVENT.htmlTS_CONVERGED_ITERATING.htmlTS_CONVERGED_ITS.htmlTS_CONVERGED_PSEUDO_FATOL.htmlTS_CONVERGED_PSEUDO_FRTOL.htmlTS_CONVERGED_TIME.htmlTS_CONVERGED_USER.htmlTS_DIVERGED_NONLINEAR_SOLVE.htmlTS_DIVERGED_STEP_REJECTED.htmlindex.htmlTaoMatCreateADA.htmlMatCreateSubMatrixFree.htmlMatDFischer.htmlMatDSFischer.htmlTAOASFLS.htmlTAOASILS.htmlTAOBLMVM.htmlTAOBMRM.htmlTAOBNCG.htmlTAOBNK.htmlTAOBNLS.htmlTAOBNTL.htmlTAOBNTR.htmlTAOBQNKLS.htmlTAOBQNKTL.htmlTAOBQNKTR.htmlTAOBQNLS.htmlTAOBQPIP.htmlTAOBRGN.htmlTAOCG.htmlTAOGPCG.htmlTAOIPM.htmlTAOLCL.htmlTAOLMVM.htmlTAONLS.htmlTAONM.htmlTAONTL.htmlTAONTR.htmlTAOOWLQN.htmlTAOPOUNDERS.htmlTAOSHELL.htmlTAOSSFLS.htmlTAOSSILS.htmlTAOTRON.htmlTao.htmlTaoAddLineSearchCounts.htmlTaoAppendOptionsPrefix.htmlTaoBRGNGetSubsolver.htmlTaoBRGNSetDictionaryMatrix.htmlTaoBRGNSetL1SmoothEpsilon.htmlTaoBRGNSetRegularizerHessianRoutine.htmlTaoBRGNSetRegularizerObjectiveAndGradientRoutine.htmlTaoBRGNSetRegularizerWeight.htmlTaoCancelMonitors.htmlTaoComputeConstraints.htmlTaoComputeDualVariables.htmlTaoComputeEqualityConstraints.htmlTaoComputeGradient.htmlTaoComputeHessian.htmlTaoComputeInequalityConstraints.htmlTaoComputeJacobian.htmlTaoComputeJacobianDesign.htmlTaoComputeJacobianEquality.htmlTaoComputeJacobianInequality.htmlTaoComputeJacobianState.htmlTaoComputeObjective.htmlTaoComputeObjectiveAndGradient.htmlTaoComputeResidual.htmlTaoComputeResidualJacobian.htmlTaoComputeVariableBounds.htmlTaoConvergedReason.htmlTaoCreate.htmlTaoDefaultCMonitor.htmlTaoDefaultComputeGradient.htmlTaoDefaultComputeHessian.htmlTaoDefaultComputeHessianColor.htmlTaoDefaultConvergenceTest.htmlTaoDefaultGMonitor.htmlTaoDefaultSMonitor.htmlTaoDestroy.htmlTaoDrawGradientMonitor.htmlTaoDrawSolutionMonitor.htmlTaoDrawStepMonitor.htmlTaoFinalizePackage.htmlTaoGetApplicationContext.htmlTaoGetConstraintTolerances.htmlTaoGetConvergedReason.htmlTaoGetConvergenceHistory.htmlTaoGetCurrentFunctionEvaluations.htmlTaoGetCurrentTrustRegionRadius.htmlTaoGetDualVariables.htmlTaoGetFunctionLowerBound.htmlTaoGetGradientNorm.htmlTaoGetGradientVector.htmlTaoGetInitialTrustRegionRadius.htmlTaoGetIterationNumber.htmlTaoGetKSP.htmlTaoGetLineSearch.htmlTaoGetLinearSolveIterations.htmlTaoGetMaximumFunctionEvaluations.htmlTaoGetMaximumIterations.htmlTaoGetObjective.htmlTaoGetOptionsPrefix.htmlTaoGetResidualNorm.htmlTaoGetSolutionStatus.htmlTaoGetSolutionVector.htmlTaoGetTolerances.htmlTaoGetTotalIterationNumber.htmlTaoGetType.htmlTaoGradientMonitor.htmlTaoInitializePackage.htmlTaoIsGradientDefined.htmlTaoIsObjectiveAndGradientDefined.htmlTaoIsObjectiveDefined.htmlTaoMonitor.htmlTaoMonitorDefault.htmlTaoMonitorDrawCtxCreate.htmlTaoMonitorDrawCtxDestroy.htmlTaoRegister.htmlTaoRegisterAll.htmlTaoRegisterDestroy.htmlTaoResetStatistics.htmlTaoResidualMonitor.htmlTaoSetApplicationContext.htmlTaoSetConstraintTolerances.htmlTaoSetConstraintsRoutine.htmlTaoSetConvergedReason.htmlTaoSetConvergenceHistory.htmlTaoSetConvergenceTest.htmlTaoSetEqualityConstraintsRoutine.htmlTaoSetFromOptions.htmlTaoSetFunctionLowerBound.htmlTaoSetGradientNorm.htmlTaoSetGradientRoutine.htmlTaoSetHessianRoutine.htmlTaoSetInequalityBounds.htmlTaoSetInequalityConstraintsRoutine.htmlTaoSetInitialTrustRegionRadius.htmlTaoSetInitialVector.htmlTaoSetIterationNumber.htmlTaoSetJacobianDesignRoutine.htmlTaoSetJacobianEqualityRoutine.htmlTaoSetJacobianInequalityRoutine.htmlTaoSetJacobianResidualRoutine.htmlTaoSetJacobianRoutine.htmlTaoSetJacobianStateRoutine.htmlTaoSetMaximumFunctionEvaluations.htmlTaoSetMaximumIterations.htmlTaoSetMonitor.htmlTaoSetObjectiveAndGradientRoutine.htmlTaoSetObjectiveRoutine.htmlTaoSetOptionsPrefix.htmlTaoSetResidualRoutine.htmlTaoSetResidualWeights.htmlTaoSetStateDesignIS.htmlTaoSetTolerances.htmlTaoSetTotalIterationNumber.htmlTaoSetType.htmlTaoSetUp.htmlTaoSetUpdate.htmlTaoSetVariableBounds.htmlTaoSetVariableBoundsRoutine.htmlTaoShellGetContext.htmlTaoShellSetContext.htmlTaoShellSetSolve.htmlTaoSoftThreshold.htmlTaoSolutionMonitor.htmlTaoSolve.htmlTaoStepDirectionMonitor.htmlTaoSubsetType.htmlTaoType.htmlTaoView.htmlVecFischer.htmlVecSFischer.htmlindex.htmlTaoLineSearchTAOLINESEARCHARMIJO.htmlTAOLINESEARCHGPCG.htmlTAOLINESEARCHMT.htmlTAOLINESEARCHOWARMIJO.htmlTAOLINESEARCHUNIT.htmlTaoLineSearchAppendOptionsPrefix.htmlTaoLineSearchApply.htmlTaoLineSearchComputeGradient.htmlTaoLineSearchComputeObjective.htmlTaoLineSearchComputeObjectiveAndGTS.htmlTaoLineSearchComputeObjectiveAndGradient.htmlTaoLineSearchCreate.htmlTaoLineSearchDestroy.htmlTaoLineSearchFinalizePackage.htmlTaoLineSearchGetFullStepObjective.htmlTaoLineSearchGetNumberFunctionEvaluations.htmlTaoLineSearchGetOptionsPrefix.htmlTaoLineSearchGetSolution.htmlTaoLineSearchGetStartingVector.htmlTaoLineSearchGetStepDirection.htmlTaoLineSearchGetStepLength.htmlTaoLineSearchGetType.htmlTaoLineSearchInitializePackage.htmlTaoLineSearchIsUsingTaoRoutines.htmlTaoLineSearchMonitor.htmlTaoLineSearchRegister.htmlTaoLineSearchReset.htmlTaoLineSearchSetFromOptions.htmlTaoLineSearchSetGradientRoutine.htmlTaoLineSearchSetInitialStepLength.htmlTaoLineSearchSetObjectiveAndGTSRoutine.htmlTaoLineSearchSetObjectiveAndGradientRoutine.htmlTaoLineSearchSetObjectiveRoutine.htmlTaoLineSearchSetOptionsPrefix.htmlTaoLineSearchSetType.htmlTaoLineSearchSetUp.htmlTaoLineSearchSetVariableBounds.htmlTaoLineSearchUseTaoRoutines.htmlTaoLineSearchView.htmlindex.htmlVecISComplementVec.htmlISFinalizePackage.htmlISInitializePackage.htmlNORM_1.htmlNORM_1_AND_2.htmlNORM_2.htmlNORM_FROBENIUS.htmlNORM_INFINITY.htmlNORM_MAX.htmlNormType.htmlPetscCommSplitReductionBegin.htmlPetscSectionVecNorm.htmlPetscSectionVecView.htmlSCATTER_FORWARD.htmlSCATTER_FORWARD_LOCAL.htmlSCATTER_REVERSE.htmlSCATTER_REVERSE_LOCAL.htmlScatterMode.htmlVECMPI.htmlVECMPICUDA.htmlVECMPIVIENNACL.htmlVECNEST.htmlVECNODE.htmlVECSEQ.htmlVECSEQCUDA.htmlVECSEQVIENNACL.htmlVECSTANDARD.htmlVec.htmlVecAXPBY.htmlVecAXPBYPCZ.htmlVecAXPY.htmlVecAYPX.htmlVecAbs.htmlVecAppendOptionsPrefix.htmlVecAssemblyBegin.htmlVecAssemblyEnd.htmlVecBoundGradientProjection.htmlVecCUDAGetArray.htmlVecCUDAGetArrayRead.htmlVecCUDAGetArrayWrite.htmlVecCUDAPlaceArray.htmlVecCUDAReplaceArray.htmlVecCUDAResetArray.htmlVecCUDARestoreArray.htmlVecCUDARestoreArrayRead.htmlVecCUDARestoreArrayWrite.htmlVecChop.htmlVecConjugate.htmlVecCopy.htmlVecCreate.htmlVecCreateGhost.htmlVecCreateGhostBlock.htmlVecCreateGhostBlockWithArray.htmlVecCreateGhostWithArray.htmlVecCreateMPI.htmlVecCreateMPICUDAWithArray.htmlVecCreateMPIWithArray.htmlVecCreateNest.htmlVecCreateNode.htmlVecCreateSeq.htmlVecCreateSeqCUDA.htmlVecCreateSeqCUDAWithArray.htmlVecCreateSeqViennaCL.htmlVecCreateSeqWithArray.htmlVecCreateShared.htmlVecDestroy.htmlVecDestroyVecs.htmlVecDestroyVecsF90.htmlVecDot.htmlVecDotBegin.htmlVecDotEnd.htmlVecDotNorm2.htmlVecDotRealPart.htmlVecDuplicate.htmlVecDuplicateVecs.htmlVecDuplicateVecsF90.htmlVecEqual.htmlVecExp.htmlVecFinalizePackage.htmlVecGetArray.htmlVecGetArray1d.htmlVecGetArray1dRead.htmlVecGetArray1dWrite.htmlVecGetArray2d.htmlVecGetArray2dRead.htmlVecGetArray2dWrite.htmlVecGetArray3d.htmlVecGetArray3dRead.htmlVecGetArray3dWrite.htmlVecGetArray4d.htmlVecGetArray4dRead.htmlVecGetArray4dWrite.htmlVecGetArrayF90.htmlVecGetArrayInPlace.htmlVecGetArrayPair.htmlVecGetArrayRead.htmlVecGetArrayReadF90.htmlVecGetArrayReadInPlace.htmlVecGetArrayWrite.htmlVecGetArrays.htmlVecGetBlockSize.htmlVecGetLayout.htmlVecGetLocalSize.htmlVecGetLocalToGlobalMapping.htmlVecGetLocalVector.htmlVecGetLocalVectorRead.htmlVecGetOptionsPrefix.htmlVecGetOwnershipRange.htmlVecGetOwnershipRanges.htmlVecGetSize.htmlVecGetSubVector.htmlVecGetType.htmlVecGetValues.htmlVecGetValuesSection.htmlVecGhostGetLocalForm.htmlVecGhostIsLocalForm.htmlVecGhostRestoreLocalForm.htmlVecGhostUpdateBegin.htmlVecGhostUpdateEnd.htmlVecISAXPY.htmlVecISCopy.htmlVecISSet.htmlVecImaginaryPart.htmlVecInitializePackage.htmlVecLoad.htmlVecLockGet.htmlVecLockPop.htmlVecLockPush.htmlVecLockReadPop.htmlVecLockReadPush.htmlVecLockWriteSet_Private.htmlVecLog.htmlVecMAXPY.htmlVecMDot.htmlVecMDotBegin.htmlVecMDotEnd.htmlVecMPISetGhost.htmlVecMTDot.htmlVecMTDotBegin.htmlVecMTDotEnd.htmlVecMax.htmlVecMaxPointwiseDivide.htmlVecMedian.htmlVecMin.htmlVecNestGetSize.htmlVecNestGetSubVec.htmlVecNestGetSubVecs.htmlVecNestSetSubVec.htmlVecNestSetSubVecs.htmlVecNorm.htmlVecNormAvailable.htmlVecNormBegin.htmlVecNormEnd.htmlVecNormalize.htmlVecPermute.htmlVecPinToCPU.htmlVecPlaceArray.htmlVecPointwiseDivide.htmlVecPointwiseMax.htmlVecPointwiseMaxAbs.htmlVecPointwiseMin.htmlVecPointwiseMult.htmlVecPow.htmlVecRealPart.htmlVecReciprocal.htmlVecRegister.htmlVecRegisterAll.htmlVecReplaceArray.htmlVecResetArray.htmlVecRestoreArray.htmlVecRestoreArray1d.htmlVecRestoreArray1dRead.htmlVecRestoreArray1dWrite.htmlVecRestoreArray2d.htmlVecRestoreArray2dRead.htmlVecRestoreArray2dWrite.htmlVecRestoreArray3d.htmlVecRestoreArray3dRead.htmlVecRestoreArray3dWrite.htmlVecRestoreArray4d.htmlVecRestoreArray4dRead.htmlVecRestoreArray4dWrite.htmlVecRestoreArrayF90.htmlVecRestoreArrayInPlace.htmlVecRestoreArrayPair.htmlVecRestoreArrayRead.htmlVecRestoreArrayReadF90.htmlVecRestoreArrayReadInPlace.htmlVecRestoreArrayWrite.htmlVecRestoreArrays.htmlVecRestoreLocalVector.htmlVecRestoreLocalVectorRead.htmlVecRestoreSubVector.htmlVecScale.htmlVecScatter.htmlVecScatterBegin.htmlVecScatterCopy.htmlVecScatterCreate.htmlVecScatterCreateToAll.htmlVecScatterCreateToZero.htmlVecScatterDestroy.htmlVecScatterEnd.htmlVecScatterFinalizeForGPU.htmlVecScatterFinalizePackage.htmlVecScatterGetMerged.htmlVecScatterGetType.htmlVecScatterInitializeForGPU.htmlVecScatterInitializePackage.htmlVecScatterRegister.htmlVecScatterRegisterAll.htmlVecScatterRemap.htmlVecScatterSetFromOptions.htmlVecScatterSetType.htmlVecScatterSetUp.htmlVecScatterType.htmlVecScatterView.htmlVecSet.htmlVecSetBlockSize.htmlVecSetFromOptions.htmlVecSetLayout.htmlVecSetLocalToGlobalMapping.htmlVecSetOperation.htmlVecSetOption.htmlVecSetOptionsPrefix.htmlVecSetRandom.htmlVecSetSizes.htmlVecSetType.htmlVecSetUp.htmlVecSetValue.htmlVecSetValueLocal.htmlVecSetValues.htmlVecSetValuesBlocked.htmlVecSetValuesBlockedLocal.htmlVecSetValuesLocal.htmlVecSetValuesSection.htmlVecShift.htmlVecSqrtAbs.htmlVecStashGetInfo.htmlVecStashSetInitialSize.htmlVecStashView.htmlVecStepBoundInfo.htmlVecStepMax.htmlVecStepMaxBounded.htmlVecStrideGather.htmlVecStrideGatherAll.htmlVecStrideMax.htmlVecStrideMaxAll.htmlVecStrideMin.htmlVecStrideMinAll.htmlVecStrideNorm.htmlVecStrideNormAll.htmlVecStrideScale.htmlVecStrideScaleAll.htmlVecStrideScatter.htmlVecStrideScatterAll.htmlVecStrideSet.htmlVecStrideSubSetGather.htmlVecStrideSubSetScatter.htmlVecSum.htmlVecSwap.htmlVecTDot.htmlVecTDotBegin.htmlVecTDotEnd.htmlVecTagger.htmlVecTaggerAbsoluteGetBox.htmlVecTaggerAbsoluteSetBox.htmlVecTaggerAndGetSubs.htmlVecTaggerAndSetSubs.htmlVecTaggerBox.htmlVecTaggerCDFGetBox.htmlVecTaggerCDFGetMethod.htmlVecTaggerCDFIterativeGetTolerances.htmlVecTaggerCDFIterativeSetTolerances.htmlVecTaggerCDFMethod.htmlVecTaggerCDFSetBox.htmlVecTaggerCDFSetMethod.htmlVecTaggerComputeBoxes.htmlVecTaggerComputeIS.htmlVecTaggerCreate.htmlVecTaggerDestroy.htmlVecTaggerFinalizePackage.htmlVecTaggerGetBlockSize.htmlVecTaggerGetInvert.htmlVecTaggerGetType.htmlVecTaggerInitializePackage.htmlVecTaggerOrGetSubs.htmlVecTaggerOrSetSubs.htmlVecTaggerRegister.htmlVecTaggerRegisterAll.htmlVecTaggerRelativeGetBox.htmlVecTaggerRelativeSetBox.htmlVecTaggerSetBlockSize.htmlVecTaggerSetFromOptions.htmlVecTaggerSetInvert.htmlVecTaggerSetType.htmlVecTaggerSetUp.htmlVecTaggerType.htmlVecTaggerView.htmlVecType.htmlVecUniqueEntries.htmlVecView.htmlVecWAXPY.htmlVecWhichBetween.htmlVecWhichBetweenOrEqual.htmlVecWhichEqual.htmlVecWhichGreaterThan.htmlVecWhichInactive.htmlVecWhichLessThan.htmlVecZeroEntries.htmlVecs.htmlindex.htmlViewerPETSCVIEWERADIOS.htmlPETSCVIEWERADIOS2.htmlPETSCVIEWERASCII.htmlPETSCVIEWERBINARY.htmlPETSCVIEWERDRAW.htmlPETSCVIEWERHDF5.htmlPETSCVIEWERMATLAB.htmlPETSCVIEWERSOCKET.htmlPETSCVIEWERSTRING.htmlPETSCVIEWERVTK.htmlPETSC_VIEWER_BINARY_.htmlPETSC_VIEWER_BINARY_SELF.htmlPETSC_VIEWER_BINARY_WORLD.htmlPETSC_VIEWER_DRAW_.htmlPETSC_VIEWER_DRAW_SELF.htmlPETSC_VIEWER_DRAW_WORLD.htmlPETSC_VIEWER_HDF5_.htmlPETSC_VIEWER_MATLAB_.htmlPETSC_VIEWER_MATLAB_SELF.htmlPETSC_VIEWER_MATLAB_WORLD.htmlPETSC_VIEWER_SAWS_.htmlPETSC_VIEWER_SOCKET_.htmlPETSC_VIEWER_SOCKET_SELF.htmlPETSC_VIEWER_SOCKET_WORLD.htmlPETSC_VIEWER_STDERR_.htmlPETSC_VIEWER_STDERR_SELF.htmlPETSC_VIEWER_STDERR_WORLD.htmlPETSC_VIEWER_STDOUT_.htmlPETSC_VIEWER_STDOUT_SELF.htmlPETSC_VIEWER_STDOUT_WORLD.htmlPetscADIOSDataTypeToPetscDataType.htmlPetscDataTypeToADIOSDataType.htmlPetscDataTypeToHDF5DataType.htmlPetscHDF5DataTypeToPetscDataType.htmlPetscObjectViewSAWs.htmlPetscOptionsGetViewer.htmlPetscOptionsGetViewerOff.htmlPetscOptionsHelpPrintedCheck.htmlPetscOptionsHelpPrintedCreate.htmlPetscOptionsPopGetViewerOff.htmlPetscOptionsPushGetViewerOff.htmlPetscSocketEstablish.htmlPetscSocketListen.htmlPetscSocketOpen.htmlPetscSysFinalizePackage.htmlPetscSysInitializePackage.htmlPetscViewer.htmlPetscViewerADIOS2Open.htmlPetscViewerADIOSOpen.htmlPetscViewerASCIIAddTab.htmlPetscViewerASCIIGetPointer.htmlPetscViewerASCIIGetStderr.htmlPetscViewerASCIIGetStdout.htmlPetscViewerASCIIGetTab.htmlPetscViewerASCIIOpen.htmlPetscViewerASCIIOpenWithFILE.htmlPetscViewerASCIIPopSynchronized.htmlPetscViewerASCIIPopTab.htmlPetscViewerASCIIPrintf.htmlPetscViewerASCIIPushSynchronized.htmlPetscViewerASCIIPushTab.htmlPetscViewerASCIIRead.htmlPetscViewerASCIISetTab.htmlPetscViewerASCIISubtractTab.htmlPetscViewerASCIISynchronizedPrintf.htmlPetscViewerASCIIUseTabs.htmlPetscViewerAndFormatCreate.htmlPetscViewerAndFormatDestroy.htmlPetscViewerAppendOptionsPrefix.htmlPetscViewerBinaryAddMPIIOOffset.htmlPetscViewerBinaryGetDescriptor.htmlPetscViewerBinaryGetFlowControl.htmlPetscViewerBinaryGetInfoPointer.htmlPetscViewerBinaryGetMPIIODescriptor.htmlPetscViewerBinaryGetMPIIOOffset.htmlPetscViewerBinaryGetSkipHeader.htmlPetscViewerBinaryGetSkipInfo.htmlPetscViewerBinaryGetSkipOptions.htmlPetscViewerBinaryGetUseMPIIO.htmlPetscViewerBinaryOpen.htmlPetscViewerBinaryRead.htmlPetscViewerBinaryReadStringArray.htmlPetscViewerBinarySetFlowControl.htmlPetscViewerBinarySetSkipHeader.htmlPetscViewerBinarySetSkipInfo.htmlPetscViewerBinarySetSkipOptions.htmlPetscViewerBinarySetUseMPIIO.htmlPetscViewerBinarySkipInfo.htmlPetscViewerBinaryWrite.htmlPetscViewerBinaryWriteStringArray.htmlPetscViewerCheckReadable.htmlPetscViewerCheckWritable.htmlPetscViewerCreate.htmlPetscViewerDestroy.htmlPetscViewerDrawBaseAdd.htmlPetscViewerDrawBaseSet.htmlPetscViewerDrawClear.htmlPetscViewerDrawGetBounds.htmlPetscViewerDrawGetDraw.htmlPetscViewerDrawGetDrawAxis.htmlPetscViewerDrawGetDrawLG.htmlPetscViewerDrawGetHold.htmlPetscViewerDrawGetPause.htmlPetscViewerDrawOpen.htmlPetscViewerDrawSetBounds.htmlPetscViewerDrawSetHold.htmlPetscViewerDrawSetPause.htmlPetscViewerFileGetMode.htmlPetscViewerFileGetName.htmlPetscViewerFileSetMode.htmlPetscViewerFileSetName.htmlPetscViewerFinalizePackage.htmlPetscViewerFlush.htmlPetscViewerFormat.htmlPetscViewerGLVisOpen.htmlPetscViewerGLVisSetFields.htmlPetscViewerGLVisSetPrecision.htmlPetscViewerGLVisSetSnapId.htmlPetscViewerGLVisType.htmlPetscViewerGetOptionsPrefix.htmlPetscViewerGetSubViewer.htmlPetscViewerGetType.htmlPetscViewerHDF5GetBaseDimension2.htmlPetscViewerHDF5GetCollective.htmlPetscViewerHDF5GetFileId.htmlPetscViewerHDF5GetGroup.htmlPetscViewerHDF5GetSPOutput.htmlPetscViewerHDF5GetTimestep.htmlPetscViewerHDF5HasAttribute.htmlPetscViewerHDF5HasGroup.htmlPetscViewerHDF5HasObject.htmlPetscViewerHDF5HasObjectAttribute.htmlPetscViewerHDF5IncrementTimestep.htmlPetscViewerHDF5Open.htmlPetscViewerHDF5OpenGroup.htmlPetscViewerHDF5PopGroup.htmlPetscViewerHDF5PushGroup.htmlPetscViewerHDF5ReadAttribute.htmlPetscViewerHDF5ReadObjectAttribute.htmlPetscViewerHDF5SetBaseDimension2.htmlPetscViewerHDF5SetCollective.htmlPetscViewerHDF5SetSPOutput.htmlPetscViewerHDF5SetTimestep.htmlPetscViewerHDF5WriteAttribute.htmlPetscViewerHDF5WriteObjectAttribute.htmlPetscViewerInitializePackage.htmlPetscViewerMathematicaClearName.htmlPetscViewerMathematicaFinalizePackage.htmlPetscViewerMathematicaGetLink.htmlPetscViewerMathematicaGetName.htmlPetscViewerMathematicaGetVector.htmlPetscViewerMathematicaInitializePackage.htmlPetscViewerMathematicaOpen.htmlPetscViewerMathematicaPutVector.htmlPetscViewerMathematicaSetName.htmlPetscViewerMathematicaSkipPackets.htmlPetscViewerMatlabGetArray.htmlPetscViewerMatlabOpen.htmlPetscViewerMatlabPutArray.htmlPetscViewerPopFormat.htmlPetscViewerPushFormat.htmlPetscViewerRead.htmlPetscViewerReadable.htmlPetscViewerRegister.htmlPetscViewerRegisterAll.htmlPetscViewerRestoreSubViewer.htmlPetscViewerSAWsOpen.htmlPetscViewerSetFormat.htmlPetscViewerSetFromOptions.htmlPetscViewerSetOptionsPrefix.htmlPetscViewerSetType.htmlPetscViewerSetUp.htmlPetscViewerSocketOpen.htmlPetscViewerSocketSetConnection.htmlPetscViewerStringGetStringRead.htmlPetscViewerStringOpen.htmlPetscViewerStringSPrintf.htmlPetscViewerStringSetOwnString.htmlPetscViewerStringSetString.htmlPetscViewerType.htmlPetscViewerVTKAddField.htmlPetscViewerVTKFWrite.htmlPetscViewerVTKGetDM.htmlPetscViewerVTKOpen.htmlPetscViewerVTKWriteFunction.htmlPetscViewerVUFlushDeferred.htmlPetscViewerVUGetPointer.htmlPetscViewerVUGetVecSeen.htmlPetscViewerVUPrintDeferred.htmlPetscViewerVUSetMode.htmlPetscViewerVUSetVecSeen.htmlPetscViewerView.htmlPetscViewerWritable.htmlPetscViewers.htmlPetscViewersCreate.htmlPetscViewersDestroy.htmlPetscViewersGetViewer.htmlindex.htmlconceptsadjoints.htmlao.htmlbags.htmlcomplex_numbers.htmldm.htmldmda.htmldmnetwork.htmlfortran90.htmlglobal_to_local_mappings.htmlhdf5.htmlhelmholtz_equation.htmlindex_sets.htmlintroduction_to_petsc.htmlis.htmlis_coloirng_types.htmlksp.htmlksp_solving_a_linear_system.htmllaplacian,_2d.htmllocal_to_global_mappings.htmllow_rank_correction.htmlmat,_schur_complement.htmlmat.htmlmathematical_functions.htmlmatkaij.htmlmatnest.htmlmatrices.htmlmulticomponent.htmlmultigrid.htmlnormal_equations.htmloptimization.htmloptimization_using_adjoint_sensitivities.htmloptimization_using_adjoint_sensitivity_analysis.htmlpartitioning.htmlpc.htmlperiodic_boundary_conditions.htmlpetsc.htmlpetsc_snes_solver.htmlpetsc_ts_solver.htmlpetsclog.htmlprintf.htmlprinting.htmlprocess.htmlprofiling.htmlpseudo-timestepping.htmlsnes.htmlstride.htmltao.htmlts.htmlvecscatter.htmlvectors.htmlviewers.htmlhelp.htmlhtmlmapsingleindex.htmlnonlinearsolvertable.htmltao_manual.pdf/usr/share/doc/packages//usr/share/doc/packages/petsc-doc//usr/share/doc/packages/petsc-doc/changes//usr/share/doc/packages/petsc-doc/manualpages//usr/share/doc/packages/petsc-doc/manualpages/AO//usr/share/doc/packages/petsc-doc/manualpages/Characteristic//usr/share/doc/packages/petsc-doc/manualpages/DM//usr/share/doc/packages/petsc-doc/manualpages/DMDA//usr/share/doc/packages/petsc-doc/manualpages/DMFOREST//usr/share/doc/packages/petsc-doc/manualpages/DMLABEL//usr/share/doc/packages/petsc-doc/manualpages/DMMOAB//usr/share/doc/packages/petsc-doc/manualpages/DMNetwork//usr/share/doc/packages/petsc-doc/manualpages/DMPATCH//usr/share/doc/packages/petsc-doc/manualpages/DMPLEX//usr/share/doc/packages/petsc-doc/manualpages/DMPRODUCT//usr/share/doc/packages/petsc-doc/manualpages/DMSTAG//usr/share/doc/packages/petsc-doc/manualpages/DMSWARM//usr/share/doc/packages/petsc-doc/manualpages/DT//usr/share/doc/packages/petsc-doc/manualpages/DUALSPACE//usr/share/doc/packages/petsc-doc/manualpages/Draw//usr/share/doc/packages/petsc-doc/manualpages/FE//usr/share/doc/packages/petsc-doc/manualpages/FV//usr/share/doc/packages/petsc-doc/manualpages/IS//usr/share/doc/packages/petsc-doc/manualpages/KSP//usr/share/doc/packages/petsc-doc/manualpages/Mat//usr/share/doc/packages/petsc-doc/manualpages/MatFD//usr/share/doc/packages/petsc-doc/manualpages/MatOrderings//usr/share/doc/packages/petsc-doc/manualpages/PC//usr/share/doc/packages/petsc-doc/manualpages/PF//usr/share/doc/packages/petsc-doc/manualpages/PetscSF//usr/share/doc/packages/petsc-doc/manualpages/PetscSection//usr/share/doc/packages/petsc-doc/manualpages/Profiling//usr/share/doc/packages/petsc-doc/manualpages/SNES//usr/share/doc/packages/petsc-doc/manualpages/SNESFAS//usr/share/doc/packages/petsc-doc/manualpages/SPACE//usr/share/doc/packages/petsc-doc/manualpages/Sensitivity//usr/share/doc/packages/petsc-doc/manualpages/Sys//usr/share/doc/packages/petsc-doc/manualpages/TS//usr/share/doc/packages/petsc-doc/manualpages/Tao//usr/share/doc/packages/petsc-doc/manualpages/TaoLineSearch//usr/share/doc/packages/petsc-doc/manualpages/Vec//usr/share/doc/packages/petsc-doc/manualpages/Viewer//usr/share/doc/packages/petsc-doc/manualpages/concepts/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:13571/openSUSE_Leap_15.2_Update/d5706beb81db084df5f5555de87a3fb9-petsc.openSUSE_Leap_15.2_Update:docdrpmxz5noarch-suse-linuxdirectoryHTML document, ASCII textHTML document, UTF-8 Unicode textHTML document, ASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesC source, ASCII text, with very long linesC source, ASCII textASCII textЎ\s8IB sutf-82f0ad10d94b115e955da72cbbe38208f2765c657eaff347fd2909fe75f9d33c8?P7zXZ !t/|iw]"k%w# rFKF9FDj,JzKG$3h+nǻ^GyU >bdpw.g-IXI{ȗhc@j2:L i@tR/uD'A[i7+0V'Tڛ1'qQgV \7b֠vV-H8Gr @t;/BYgs@ 1YW{7|C;X-\#>?~;{MX0 F-CIz ǐ}35m.B4by!XQ8 sVrbcTK3b>n2le<*$8P09Jng;X"Ip``$ C5-_(77/"J9cLN44h36vk^w晎U:t f %<)$ODo:Oŏ4vKqXU¡Y9#~›q-m맮=gE^yyCjBPx=>0lV`vI/,~T~4&ն+:LJ_z`FV *h IpnC.?2Gwww<ǵȵlu(٥,>Ylф!<((\s{K4Pr5p ^^Z͏kIn<3;# ۫Ftͺ(X\cPSJjɬewšh%WQ[^GjI y :}Ldڷ&ε RH?۵ӿ6sH̭I.Ӹpv=5ieFsI##Cu.tC|> a8Bk ߳S:+OpDB<7)#WM&}/ 36]a?%ҕ ɴ լ~,Dy;SH8ݲG=\9*3DcjZ;k y\ fFR,n!lʼasv+nla97Btb;_wX`QX%Nrw,y"5ksPjь@_OWe}ʨP8_MVN 㟕@F˓l dlxUU3p5j׻]CMw'HYcC 7˹| mg}ݞϮmSr K l܏׌ :Xl͠~ͿnQtac7 ŏXD2⢡^s}\piRO 9k$g!rE)b2f0n,iY-hxDHF[x7-h=,XhMu"X]@W*=Y.MaAk`@bw+x각aQPSն/CKb ֌PߤIn݀{ʵZX#j]Ew,ԫ&:R47%jrkYMV?\۝_wSt6 .S~25gNUhmvʦb~h\nxR{pfLj z_Nya-/| 681d.̷BxT ;%e3TB8l'^](8D7\=琊L2/-ZzG0|S~l?ȧ܋git07JcB&T9HJwZ58p޷xv &1yd/4I]hgw=hpBuivLs:G<\@nT~wJț.jQKcfq"'KI&Zr+snLy#M2@ tAHWdXKM+ aO$d5F03AC"g=wpo!Eq*Κ0A+}a631٠( Am.D*,oqӋBk{!,=3ti C/:+}% &/+.l+p#Joсŭ>GVC)#}G**]F˭򪪃vt\qFqmH]>#Z;eZ-;z`a+c9 `ûEaFϭi|Gʎh#uuKtIzGn6$Bm/O=[ H'ëln%ʿ%ֵrL%qhmZuR:b&hX܊aؗw{3ïM}> I X_3awL, *O! z;s0;Kt]=TEZj*דRaމ!e*e$<$De|؍FkAt3i,*@2~?;! "y$oxqdCiQ1 _M. XNTx mMktNmg.?'pCNUɰ׎[vgޫ<="8nf\_ )nbaoݿC#FDX RؕW OsKZ~p⥣*bRe/I4yGp77y_yS)P]2 %{;܋1)mVubJWPmU9L9v̦-, ~ԜΣ|ߺB]teMYeMQy}Y[ֽQsB^/YA`KqVxxfYJ^[T7\k:QM.ۖ='GOTTcBc.{CZkHԅW ;J& l!O?[Ƹzir0Y(0\l/gŭ ݔKtf/)L})ax 4}4o?V<\~9G6&;BW7 Ƒ 13HyݖPww,i] +ۥr&cMt2%B!᜷2 _uʶ;sl^c">@v̀n/,NAk?N ڠ=F9#w>DU!۲#&m"꼧*l,g,}99if)eYB>0h,|^ezs}y5#hPܼG@AHl8ZRK\ Y>-ڌU`nWl2I![6бY- (L -kPNnʌĹlbapߣvAQ'lpF&1>c~vZNyA7Hް1YnϤ?5JǮx1!~G,ϥ3ەIS#Rw~"òv#p>X`OMxm2BƉY5GpO_v=D-WJŲ9uJ,c.%R?f{!R_ح|sR=B|/*q)lz*6Ol]?ǝ,'Yfz=X% }g0וRM Ϭ]u|Oh!>6b̾:ѫYP~3JE+pӅws`8ayR{f7"}^P%o,5""If%aRyZ $"5$ &7FN=.P$c1qG1iU?@Rr$Ej(}Pq)<< \pK5]2P܉)da6B|Z5 ;ƶ/@ΎieR:bf!inqiŷ?k/Qd!z,Lmiܼ,iA?L+~BRpԐv pR ^cG 8%/ SFWjZR>Iz=2Ʌ*e Vm+ kVie|8BlL #X`]DsMQtŐDk3fuڬ~3D_0ۖM7G}Ek.i_7U G.)P 'o(fLZL* ?Ek!3kqFtWqgGu2# 9*ax Je7&ɏ!k oc [&ld4b5/ov:{4?!j\c(g8{9$2}OvO-ȬVWiɬ`"'a}ʲ -*/,Ys>dC /F.`A33cJDJRˬ-/E DR+uŨ,|F;5[1Ɖ(_f;Ww(M8EKMHq[Y\0F](8șdjy|l,Ϊmmh M|:\2?S~G=v_&PhA *3=P{yN\cMCE,½7;L;qq W&'#yy뾳H,H))P{{d#В dXh(6; FV>VeCUeL~PUo^6TT*GޯϢ a5ƥ@q ,fzLUwGv$wKb[yKLeIR]ZEcTT[O"g Jb@%LJp юXvѝˁE!kதd2X%M? ݄[@ 8/\4/) 8=\$fFa]]]3[SmE[ȻYYou#/C {dU#'%|ݦ |I3 漳wM! )WF6үތ~ 0s5yQn}UD:k3 =ӊt>'3G'H@ZPe[ ayZ~%)XSu+H|/AP\?T9k]{|; }^TRFԵ.딃B csY^\ Req?;<DhV7q cY9,{@MH,o]ɹ9XH3?pfnŋ`T<GCx>V! v~xspnq_djQ =ءsDX| IaP"; )>L <Ӽ 3c24[wj|*ccФ6Q\זK|iI745B .UEs#)b͇5aj!KcWr1R)D2'Ő!aόG ,˽h"](oY8y~wQU r`nNIb:j&yR8.T/LT(I6W:h;S塛>)~7,*$`޴3)Qåȫ|@ UBJ0˫rwYy'őXVDZ虭G  3/HԥvXBZ|(z*j/\߬\ٸjh5,;' - (`zd`71 ONTxmS+JK#@)mmgтlų+ҟXTKޠTK5UPf1^%9 `%B#8avƋ7Kgy`ſz9rh6 縯ZSĚ٦6@qDsq6~9cVǁԲf5 k/VbZ{h;4S.ˀ&F$Zd0|RSE נ>W O䠟 j-ۧJT[VˏB3I<^)Kk LʫlÏX|A_uw^\n]\stg<&0˷/( 8u@&Ca!J}XA[/}6\Y|, 3YweG *gc-A|K gm Seݧv6_+o#*Ss!a8^B" 7WdZ70{RZF9eV'U)/Ӽ6~ yrV'BrJtbχ/O|K855*RNoruݧȨ D(cUO 6zYI2~2R[1k1/zbP;T`gR k'yVh댼Mc_KyAzUľVZZ{Emҝ?{L;s 1e`{|_:ݡjPԽ;NӲD: [AY f?ߺh"XF#J zL ŷcDjKOs 45kݓP az `b/i|3="2c2HX_|)ء\ KxF+ISmh!|oZo?s S+'%+(RC;_y! a瑸s5ۣym2fgj>\y`1Eш\1jR ] cK` >ci?u}c<97m_ʨG\Fa .3 !T3/Sݧ/($>La]W(<ԩ/ܢP &p /)&Bfu4uJ3h ( VC00,Wbˊ&f4(D_L>#w"& j O3g 'PU .Pvh_ɃT{|=^:mcݾ惋hI++ 4ek–0 a!T% Moi:E~^rPL-!vs6X.kB %.%.+zEyϣ'3$%zr/YLcs2sȤ@R~wE3jOQ~.cQMU?GzvlK-ߑayH_QխrZ<`Dz\6`d:{#9h}4hTzBѿf~X?81 ~ z3gd6A]\ƥ sD3 t䝨jZ",4 )Ȭ ?\11E \Y;N?A)ld,Fsf>po'a3tSt9t>D֠L9%[ ~90LgX9fdž?,UV7; ƪ4cט/g'`Ckz5iFW_j1B-uWB?MIZ.- bޠ `A"PYH O:鑤N1H3w8*PNY+Cs;;i6*}:uT6#,xN9Tg^Pf5ЋhYW|ϟt PU|4M╆1N޸6 ةwosa:OB ;۩-Kj c,Ej1Dowo_ynC<%i*K$Oi)7URRW]i!^$YҴ8 e* OYV&JB^mUP]+`$/ȋbcZV;t6f-'u)WfM5M!"SA4bsR ||:>cfКt\ȇ/8ک8u2vR' 5)1}]>)iy > y B>&G;gґ́$eHg|1" Q) zb DyF 0 *y]vIjl17YS_׍DQtPT*p54wl$FXN %0l>f%{_g] OT U;@9C:@BtW^NM7U 7cΎ*cigS%$0hGaD*u>d!KLII8WWTI}MM[&՜ X{z?e0!0R7#>Ȅ leؒ\y&A-xR<\G*O.i֏Zq8x:4c[v ;Qu ĭ@0b"=P?%z,5U_ Oq{' zc"&>QNӐZ} 3Gg>k}Q {.G(j6 r <^ؼӜfAjb^! zʮwdTnm|paORuߥ5Hد-Zy3XL>$q8gdE9 T+gkJ,Ϳ Kc_9ϰ "pcc= 8꜔J!(b7m&1 %~=VتdiUGJY2  pg}P l߭%%DkPNuoԬ>$OEEOB4MܔG}(0 ako\PsI".;Ok9i.1`K ||$yRDb,h)^r#jxz^k8uizߨǙ{K/6ns+⍈d'n 1_Cj]x"<<æVpZC34 K5؇ž=g!oP*D'zWlt>}NtXXU@K cEDg␱i6'$xዂ]c:"*CK.Bmd_#OKG`/t~iOc.ekl+#bx.7 oV >m,%[yQ+5xSF0pU6*}9%A?&8b> ?()s_Mf>)c|Pn61 0z0Ҧ~.z~gM5/0DW@wg/Qde"ݧ?݌JY2'"T ;EO4 E"1vU<G%?[AJ^JK:&s ,aq|)I +fR k+'^Ӵ^#zǎoe+*H#e,xgrban4 <;!)vŚI^܆ٴ -zmÙʄB.N0A<^ܤmwSbfi$\ D;,_AW;!6Q$jV輡6\qz;o'gt wlZl>l!Ro8i 1xBq7o@>Zr̝2UZ 'Z1)QyӶ?7=O~ME=x4]g,hv8pAiG%,(L(3?E**mI:ā%uxa;\]ʲ}$q!{Ǽz-zhdRˍl׋O)p?>hbO#duj"XJ? /O>zP!Z^_sw' B/١ Lw yM4DW+U[SVl)69Rou>u}\?m"tVR?S7<#@U^RԞG=mG!gftn9h&1(" 8M#9tAVCsuI 6A]輌X׃//S ^;vnoDF8S0ӽNL1_,`i_Z3`JDkK$J \& ~,QchyHlL4wYsHDJ!zEbWNiuk5!!]_b4 翄B=?w`/dBMGdtF#6AmnzFV3$o@5oGn{B~ʾ: ϖwG;bF\#=a֓ r[V,"SDգNf`ɐ\ǺI/Galþ{Jl?): #sw| .#GM#\4btg4Wj*m1|9Aƣ$ͩ&*<{:>$BB( R Ф:mMRt^R%yS/IFtz/BWaXȪDiTg̘ F3€Zz;Py+ 'K˽vn%V_f4?@=dŠP-!uhN߾)Bā"+/JD~7*zg֣ 4O.L[V:yl0K2hOap[Z}UcHwKȣ)n-ΏR*m3+@J4^XS|3#l;jWɊ9Zj6!~.hJnP kRygɕQ;V&xSXePpnR ?Èp>kepŸ%/2|7J)_})%F)}ݵ$N7=T̿=/Nhy=Wk ,\V!geԦ*Dָ vY("O\ zb2o_&@=22@IZ!vܱSK^Iفc=ZӫY"I̭kҚ &du:`Yw$tgKJ/bs5|vӇw<mnAJ׽¿&~A'TZg`j4Gn>yKD5x}*Ft }:΀ʉK$L{ hDc$ܕ ~le1kÎO@GQP>|&% PяQc͋DMG 0J-x鳾Y?flziȭ+u6< QLiNҰ /ܱj!xnXfѦG73wCO;5 [,Iǹηiqjea~@WL&pq'}6?_x6*10cl>*1jEJg$/"ڻ2< zC':Nʿ3 ;,t,z?:҃e Fg)A֊mTkc1>tHÏ: ]*q$AKX{Mwj h PZ[ijjPoyL}m媀/7G`s>IECY݂.y?HU,h)kz,Fr^ ^rB,”1Vb4V d*tr60 bl{8ZVU*C憿E/6J9M'SYpGՑrSc?e2qk~\!C\˸S&$>}Xڥ$CoTf"Hg+F"g"?.BŵQ݃Ȥ`ucJ_6 #IƺN)ujbd8v/읿o@R4C3zqVq5u[],Z9YzPF81 Ehy"G8N'f Bōвbe)O&^%uIPcFI$"ނ!D\Y3b꨺R= WlBR3rKhhOxFS0.B2xٳgh@#t`jmV.ciQ B10NK<0YqZ?nM4z_JQ _]DM4 h[6e׃a3 K/e^1O/dSR4Z"W~PS}0o1!׀F k\_R -ڻg26e7S* h1[Up'lpno %tE{;JޣޝGz4:hoD,Wrl;H(gj.?j{d7ʦ8Wj? ذ޳ J=W.?&ay5ž@c>!|NwPWZڒ{_[0h@U:7׍],'FFfk 3(ݺ{xCCqdV"3t[` WYI$c`5_\ b*(3OR}]:PTa蜆PuP-bWcm4FI (ZAh MSz p2 7-p 4 o\jp>[?9 L3ų5[YץWp =_f9Z1Ts**ѝr7qgzk ](PN𺸑% {gG{sT;j1BߚQ.JXD‘7q๊d]Q88P<.QDNT’[񉴤PD{)w B=*S@zn 7Ժ֏5S,B)MUof p>7i` "f![y؅\ܞ}\%"ɡB8L- p Dd}^H(ȵ?zMe6Q^NZ)(r'hGح Ca Z/NEKr:;b4nv:5dH'3)ČGP3n"R,b+Q\\K)#;'* ?5̭Z]=&KzFhVڀ{wQV. ?+ਵLpM9%wЙqg:^bFAnIw~>U {˞ ^M} wqmDO&^n>(36HJ +4ƁFbC+[=Ј쉃  ߬$s{ptO"v@ QO}*=R e'E\'19N|8Dv(gblS&2|IY:uFee*X&BqýM}/b.qI­)$ЊF 76g:[ :(;t S֒ GC9ny/JF;k";8w5j@9UPP-%.>sqˠE,޵]i %yvpYߧ# lܵIה2ڍ4#S jzq'ޏ{|&!Tse즦Tivpg^, qVz̦^8d6f'4l79Twf }$NBJmh& Bv9.?Yۨ|:(FGRA0 pR^eʥ\Z 6N*%mCAp{??r !W-%5sxlRgHWorV;D/3)naLSS H%`ጜlWH^ԈO aQ%s;MD\v S a6M߶Xu@$Ʃ%qhҠI| 4DЌ}LvY| %#sgJX||!h|5$:b(2W-NN%7!Y=ÊtM:47o7^A+7XLu){1KOARJ,l!"wbSCp;5vNLG,6؉ hB}0g%V 9]7:`^Zwh 쮁~w]&xI[0<)H)[b-3k60X%3܀8)xMqkE@z 4sk#1{%UZJleōbr6Dk5/gZQuv*Ϲaf@Bo#_4ىx goteО#! m:yt\nQS`V9*h/:=?f2Le7At |Qn?[%tw@Y*IYJ6bbSpǓ$s"=/@hLɄImY7xu #C%tP&cc Ѫv'Ơ sYwD~!<3x䀴mS<"#9`p#(ߣA!.g"{<8S"k-ꊕFA rQҞ3. $PpȠJu|\0$q.+\7ĨN4gqdz넒Ͳqz!ф:\|ߋAz^M6'%IIc^oˣ$V*C/bzBD$ؚ3˓p8\%3%Z>jJAY}Wo m3XoJ*- I@Ds#1R€|e]+~ʀ~$h@D~t]f )!:Yt5OhbsGLM2d&.X-~+}[9sȧM*@ qwY2W_~l`E+PkbTt)BijRaӕI x#IYδQzGXVL->>ϼz%IV66P|a.ED\ۮ:mv#'jK@_GD֭H3|P!ҢcUX8ǚYnӲ7@qSˆ D!<^?3J]Bwl㦏$fO-hRyX ڏ*`H#g!dV kW)32}ZA] FmsJnjAct%eWH<U`% ]Ieo%z])Ȏ~?<+AFZ2G3P I#pC:4#bܠDJݦe*޹K85'%L ,9Q@Fq:`#JS%;;2EtVKv!e7߶;OܢoK E< I,ށ Bz|kƩbǹ "[ `b3M<4j#yozC"W4Q@PR!zc6\C~׌-uP 2 i(h=JySs*cA7Nvp XܝDn!|=}\JlO(I%A ڱ˂3>'k JUe'~iNy tȡw= ".-:K\I;V0Ӓeu&)HI(-K)tg3r?1?#.ks 2i`xcјtFE0R0*V9{KL9=~JHQC~ucS#?44+T !z&a)@ b ܴ\okT&ؾ[Sijc h8)쵒ȸg4&(=Q:d_t!QaXਛ4pjhOuinJ`{p$RqyJ}Nr%XcCR!יBa3]|K!q%ǥLc"7 h`~I.;lZsNU-AF|_U7| =#]|&8(A.r.>TEk*>+#]~9$ O'jˬRYeNLVf9Wl0l7zo,hFa%TI%Y\{c~]T`+1׾?_@1tkXPV|ݢpg}k*1T"UA{ag'8t!$>`v"G?$ #UM7YMTԾ:|;NJDBEa^?ZdIa uh>s5  >mO-wçbt?Y攘 j^/inSdo|"Fۼ =:Um~39G5s9e @P6rǵ>6s4q !iʼn;s![o#{G! |p,\)8ΩQp>j+w:jB|MռCf;`G@pU}ΒctD2/Ϡ%؆`Lg]:r8}dxQ;YFȉ7wZh Gƽ]qvsĩcPY:;# _oeIDiD{>\ߟJy(Sb2/#}k@NZ,,ibyzxVka)D2kpfDk#18d 0npu@V\]`(?Qi|@XZ q5Q6<9jLyC mBR^FkbTXK}w!_{=zb{fyɪ_]ƛ2~Jt~NYUMZW8U1ٞ$&^iΈxUgR]A cv?=OqՆl[Zd]gwH?Y # p|;}reL8/_,~D`~+{g ;Asc ] "hK536d8-R1&=@+ZdEzI`=!Pk [>\x }DQH MTH^?&AFcte=bŃ>|7Trʥ\OW]hUćvc4X`_F-G65">t[-|R8>D^9F-;V\eB)#rtrOo}/ys[0$Än7Fc )-祬 w_n"DZ}VzQKS(e(Fz㴑;CJ5rHjpLU\|M8}{stN_zS/ g3;'zc~|&aXp8d) է7S`c=^. IURZ ͧ1,j=X̉76[q[;_ͥ!ݡ%$ KzvK֦WVԘX4tHa#pD$f?FsTɟn`kv$-7KգZ8.9-=u" ;!Kȷ'wKt,Y!6l]E|HE.]V 2yZi<ƙKj>LhWQ.XV[溶1΂3hn, PMDMu6Th)iؔVh#FEHcK槗+I2# s9R.7z'T' |I|W'=iuUV7=iXDV};*An3P#` I/b1 у{'(xf<ȥJ-Ef58(Lt0-H3( ̾] ȵ:MRA[[XEM~SdhR:î$3MH@hzHz ky>9}'1l;O%ۼ  [U_;Lz6ـŻuo#WY@Y3Ql]dySaubu,iRFKPgs0;|!yr|MBlۢ;dtk} Ѡtғ\ĸԺ@u=/5 $Q#&>0 }WʞUɏ>; ޑCzOW΁-OLA)oLvXya#+qEա#%@͸ 6=r7nqnrpl!JPn=5e X@*e9b)T eڒl0sy D9p Ujpi CU4&*RG@>N e nҭ8IKή}Z*xjo؋ר$Ic2Hy,+] CQy Bq$eCf?1xsOuؒT͖]:ԍoȵ/QP6da̟IdoU}8}L%r|7),">itGC*#Z Gt1NedңKoSCPa1+qܹitk+u~/1B+B#Wڮu+p"94Pr9f.aJ8-l]RCH8sKt9_4:-ʹX]C18c 9"oS<~]n,?^]xGy:9Q: uq ҙX2Xl3u r@d5;6=M,x%z+:{`+6]q6 k`zomq+fZt^*HwSUעR-a_ОwA D{NZF7O̖G2"j?ʄ((6"z0D!4V)\ 76q?PVUlj+* =e ;Ex!0.yxBy˲Oު4gg%6w6 )^ %Uq)v|rl Uoԑ 2|hAnM)$BkÕ:JUl] P;f?7R_W4@i%~x. |*HwL+ArQOf7<ׂz6_.8-`*.CYvI0] ˪σ}|7Э%sp7=Ǽ ,|,Ƴ$uF^Zɐhѵ7Q//IQ] )qB쟆3M/&66)i*_/[ԁ=qאǺo=ܥ^#8 `=z7M^RH_x:Ӓ 3ܬN}.sʀ@|kƝd i.wᪿ7P)4^20oź2d7?-(]% .,|OL&U_m5.x9'djp#G)6R)Y %Uˌ*>a?fOh2}@6 ,BriSẍ́.C9<'Jwn5Ft"^®OC*tx6]겨 UõF;Hk@zOp\ȿ1q)ExO* ~u '/>GJCd:IqN-"I9&{jZtv Ԙ:1 c&`dqj&e{؎K1e(N$Q  Gmr^>7crY%ciA%0v^ t)cv8jM\"4zo~Q0F/ִRB̚SLqwVԂ؞PS)sNQ5z3/ՙ| MȗQuW,>yCQK'Hd+y$EDx*b/]x]Ki6 CZK})fɜefF-'/̬HU%imö YZ