From dedb1e33a2f259387f63e6b3a9b55c79811ad3c6 Mon Sep 17 00:00:00 2001 From: CVL-GitHub <jupiter.hu@monash.edu> Date: Mon, 15 Feb 2016 10:41:44 +1100 Subject: [PATCH] add massive nagios scripts --- .../files/scripts/check_blocked_beamline_jobs | 44 +++++++++++ .../files/scripts/check_blocked_compute_jobs | 71 ++++++++++++++++++ .../files/scripts/check_blocked_vis_jobs | 50 ++++++++++++ .../nagios_monitored/files/scripts/check_load | Bin 43208 -> 52808 bytes .../files/scripts/check_localfs.sh | 26 +++++++ .../files/scripts/check_munge | 2 +- .../nagios_monitored/files/scripts/check_ntp | 21 ++++++ .../templates/commands_nagios2.cfg.j2 | 4 +- 8 files changed, 215 insertions(+), 3 deletions(-) create mode 100755 roles/nagios_monitored/files/scripts/check_blocked_beamline_jobs create mode 100755 roles/nagios_monitored/files/scripts/check_blocked_compute_jobs create mode 100755 roles/nagios_monitored/files/scripts/check_blocked_vis_jobs create mode 100755 roles/nagios_monitored/files/scripts/check_localfs.sh create mode 100755 roles/nagios_monitored/files/scripts/check_ntp diff --git a/roles/nagios_monitored/files/scripts/check_blocked_beamline_jobs b/roles/nagios_monitored/files/scripts/check_blocked_beamline_jobs new file mode 100755 index 00000000..43a63de5 --- /dev/null +++ b/roles/nagios_monitored/files/scripts/check_blocked_beamline_jobs @@ -0,0 +1,44 @@ +#!/usr/bin/python +import sys, os, pwd +import getopt +import commands +import subprocess +import datetime + +STATE_OK=0 +STATE_WARNING=1 +STATE_CRITICAL=2 +STATE=STATE_OK + +# get info about reservation +reservationname="beamline" +reservation_cmd=["scontrol","show","--oneliner","reservation=" + reservationname] +p = subprocess.Popen(reservation_cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) +line = p.stdout.readline() +reservation_dict = dict( (n,v) for n,v in (a.split('=') for a in line.split() ) ) +retval = p.wait() + +# count free nodes +process=subprocess.Popen("/usr/local/slurm/latest/bin/scontrol show node=%s | grep -c \" State=RESERVED\"" % reservation_dict['Nodes'], shell=True, stdout=subprocess.PIPE) +free_nodes=process.communicate()[0] + +if int(free_nodes) < 1: + # not looking good, no nodes left in beamline reservation - let's check for pending jobs to decide on the warning level + STATE=STATE_WARNING + process=subprocess.Popen("/usr/local/slurm/latest/bin/squeue --noheader --format='%T %R' --long --reservation=beamline | grep PENDING", shell=True, stdout=subprocess.PIPE) + pending_list=process.communicate()[0] + if "PENDING" in pending_list: + print "Critical: we have no free nodes for beamline reservation and jobs trying to run!" + STATE=STATE_CRITICAL + # Lets provide some more info for the readers benefit + process=subprocess.Popen("/usr/local/slurm/latest/bin/squeue --format=\"%.18i %.9P %.8j %.16u %.10a %.8T %.10M %.9l %.6D %R\" --reservation=beamline", shell=True, stdout=subprocess.PIPE) + squeue_list=process.communicate()[0] + print "Beamline reservation has %s of %s nodes free" % (int(free_nodes),int(reservation_dict['NodeCnt'])) + print "squeue --long --reservation=beamline" + print squeue_list + sys.exit(STATE) + +# If we made it hear we are happy +print "Beamline reservation has %s of %s nodes free" % (int(free_nodes),int(reservation_dict['NodeCnt'])) +sys.exit(STATE) + diff --git a/roles/nagios_monitored/files/scripts/check_blocked_compute_jobs b/roles/nagios_monitored/files/scripts/check_blocked_compute_jobs new file mode 100755 index 00000000..d1c91793 --- /dev/null +++ b/roles/nagios_monitored/files/scripts/check_blocked_compute_jobs @@ -0,0 +1,71 @@ +#!/usr/bin/python +import sys, os, pwd +import getopt +import commands +import subprocess +import datetime + +STATE_OK=0 +state=STATE_OK +STATE_WARNING=1 +STATE_CRITICAL=2 +WARNING_THRESHOLD_SEC=7*24*60*60 +# WARNING_THRESHOLD_SEC=6*60*60 +CRITICAL_THRESHOLD_SEC=WARNING_THRESHOLD_SEC*2 + +check_pending_com_job=subprocess.Popen("squeue --noheader --states=PENDING --Format=SUBMITTIME", shell=True, stdout=subprocess.PIPE) +pending_com_job_id_list=check_pending_com_job.communicate()[0] + +check_recent_time=subprocess.Popen("date +'%Y-%m-%dT%H:%M:%S'", shell=True, stdout=subprocess.PIPE) +b = check_recent_time.communicate()[0].strip() +# print "date date" +# print "%s" % b +now_time = datetime.datetime.strptime(b, '%Y-%m-%dT%H:%M:%S') + +for submittime in pending_com_job_id_list.splitlines(): + # print job_ID + # check_submit_time=subprocess.Popen("/usr/local/slurm/latest/bin/squeue --job %s --noheader --Format=submittime" % job_ID , shell=True, stdout=subprocess.PIPE) + # a = check_submit_time.communicate()[0].strip() + # print a + # print "-----------------------------------------------------------" + # print "slurm submit time" + # print "-%s-" % submittime + # check_recent_time=subprocess.Popen("date +'%Y-%m-%dT%H:%M:%S'", shell=True, stdout=subprocess.PIPE) + # b = check_recent_time.communicate()[0].strip() + # print "date date" + # print "%s" % b + + submit_time = datetime.datetime.strptime(submittime, '%Y-%m-%dT%H:%M:%S ') + # now_time = datetime.datetime.strptime(b, '%Y-%m-%dT%H:%M:%S') + + # print "python submit_time" + # print submit_time + # print "python now_time" + # print now_time + time_elapsed=(now_time - submit_time).seconds + # print "time_elapsed" + # print "%s" % time_elapsed + + if time_elapsed>=CRITICAL_THRESHOLD_SEC: + message="Critical: Slurm Job Pending over " + str(CRITICAL_THRESHOLD_SEC/60/60/24) + " days" + state=STATE_CRITICAL + + if time_elapsed>=WARNING_THRESHOLD_SEC and state != STATE_CRITICAL: + message="Warning: Slurm Job Pending over " + str(WARNING_THRESHOLD_SEC/60/60/24) + " days" + state=STATE_WARNING + + +if state == STATE_OK: + print "OK: No Slurm Jobs BLOCKED over %s days" % int(WARNING_THRESHOLD_SEC/60/60/24) +else: + print message + check_pending_com_job=subprocess.Popen("/usr/local/slurm/latest/bin/squeue --format='%.18i %.9P %.8u %.8T %S %V %R' --states=PENDING", shell=True, stdout=subprocess.PIPE) + squeue_result=check_pending_com_job.communicate()[0] + print squeue_result + sys.exit(STATE_CRITICAL) + +sys.exit(state) + + + + diff --git a/roles/nagios_monitored/files/scripts/check_blocked_vis_jobs b/roles/nagios_monitored/files/scripts/check_blocked_vis_jobs new file mode 100755 index 00000000..8614e134 --- /dev/null +++ b/roles/nagios_monitored/files/scripts/check_blocked_vis_jobs @@ -0,0 +1,50 @@ +#!/usr/bin/python +import sys, os, pwd +import getopt +import commands +import subprocess +import datetime + +STATE_OK=0 +STATE_WARNING=1 +STATE_CRITICAL=2 + +check_pending_vis_job=subprocess.Popen("squeue -p m2-vis-c6,m1-vis-c6 --format='%.18i %.9P %.8j %.8u %.2t %.19S %.6D %20Y %R' --states=PENDING | grep -i vis | awk {'print $1'}", shell=True, stdout=subprocess.PIPE) + +pending_vis_job_id_list=check_pending_vis_job.communicate()[0] +for job_ID in pending_vis_job_id_list.splitlines(): + check_submit_time=subprocess.Popen("/usr/local/slurm/latest/bin/squeue --Format=jobID,submittime | grep %s | awk {print'$2'}" % job_ID, shell=True, stdout=subprocess.PIPE) + a = check_submit_time.communicate()[0].strip() +# print "%s" % a + + check_recent_time=subprocess.Popen("date +'%Y-%m-%dT%H:%M:%S'", shell=True, stdout=subprocess.PIPE) + b = check_recent_time.communicate()[0].strip() +# print "%s" % b + + submit_time = datetime.datetime.strptime(a, '%Y-%m-%dT%H:%M:%S') + now_time = datetime.datetime.strptime(b, '%Y-%m-%dT%H:%M:%S') + + time_elapsed=(now_time - submit_time).seconds + if time_elapsed>=900: + print "CRTICAL: Slurm Vis Job Pending over 15 mins" + pending_listp = subprocess.Popen("/usr/local/slurm/latest/bin/squeue -p m2-vis-c6,m1-vis-c6 --states=PENDING", shell=True, stdout=subprocess.PIPE) + pending_list = pending_listp.communicate()[0] + print "\n\n/usr/local/slurm/latest/bin/squeue -p m2-vis-c6,m1-vis-c6 --states=PENDING\n" + print pending_list + sys.exit(STATE_CRITICAL) + +# print "%s" % time_elapsed + if time_elapsed>=300: + print "WARNING: Slurm Vis Job Pending over 5 mins" + pending_listp = subprocess.Popen("/usr/local/slurm/latest/bin/squeue -p m2-vis-c6,m1-vis-c6 --states=PENDING", shell=True, stdout=subprocess.PIPE) + pending_list = pending_listp.communicate()[0] + print "\n\n/usr/local/slurm/latest/bin/squeue -p m2-vis-c6,m1-vis-c6 --states=PENDING\n" + print pending_list + sys.exit(STATE_WARNING) + +print "NO Slurm Vis Jobs BLOCKED over 15 mins" +sys.exit(STATE_OK) + + + + diff --git a/roles/nagios_monitored/files/scripts/check_load b/roles/nagios_monitored/files/scripts/check_load index 8e6966c4e309874444dbe4cca2f5e783e107fc88..4768d6b00cf21d53446e56fbe2801ef315c71d57 100755 GIT binary patch literal 52808 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 literal 43208 zcmeIbeSB2awLg3&FAxG`qJl<2Ip`q7@{$3fL_srT22ON<RKklQ4I!C8YDm&#h8Hi@ z=p>ZWVQg%v#g?|IrIy>$UfN5MTEq!pcu@hVA}=av70(dB2ns=jJm2p==S)sw(x0FE z+~4Q<=NTpI?6uckd+oK?UTf`r&dhnj<DC>|vq|PBUb<IeDKbRIWE&Mp&l?v2+0r<v z7yb^AZjySSoG5U5eYOrztAAPz)+S6c@bQ2N_%|+2M|6e*4LTE=5)!h%?mnxZ(`!s9 zNwPq&9c7h%A&P*qeqlmUDM{-MXttwxM5P(+(hPbNN{0L<G{?uW@n61C-x<15$Bzj~ z%TM0N{$gG?tQ5ts!3_pK6PoS5jdn57^``&!Z>mxIpwVBqdNGx4Kyw~Om6guFbL^<H z;t^$~<$<LmmX5n~#GPYDR#%K1Eyhj$q@6r<hUh7#N0caYKm4N&us-noE&tV${#ByO zS%2kk&#(MT^2ny$ta}*$%z0axE%P#oxJU4hpNXEgPygdzKVE+1d$Ub5(JMOrjRzOg zzRapOAkejD!2&-*FJ0lUgFs#3)4HLb-wppl^wkxgYr5g{Q8)B2cZ0tMcp3jXe>Q+W z>pFkNcGEAl-Ibi1y1^%Oqo1s9^f0m;d1iLQ{~z7(iF8B%DhArscwg*>&r#5KHQwdj z@P|otNq<c@{GaQFeoi;^>$;KWzHaFMyBq$~yP?0i8~knE;7hyV-`EZQ^={;!+ztJk z-OxYN4gI-p<gDn1p8mP3`TbWn_&_&&&H>+*T@`mjpMiBDV{Dy2bGxDcdpG!r-QX{S zaaZH|RyX7NT{rms-SAht;s1kf_yoJ*)7%YyYB%`1yTSMDrr+DUq5obt^ndDRTtDju zU*8RWPB-`^-Qb(Lk>|y3=zDkLS4V(e#=p)VZ#VpRb)%omZt$bK;q$9*=>OCWy$b@$ zorOgCXgBmrfxop2`YPbMvhyEyBhTq>=nr*6e+l@m*7eW2kuweRk}BOGNxzZNQ~T#z z0-q+W|Bc*^#MK}J-<e)Q9#!dISmi4$X7ZFF73AhmDJb?;`4*H``+ZgUQ*z2G%6<8T z^UHiv!TpO19yBU)$_lHiebqXBm((TI%gT$Sf&yPvRe420Sw&HyzqF!UDygV?R9aG4 z>aQ#<X75Gp_fDy#q%2UqP%0@}xTvBSttzWZ%l#z<MGGHA7t;zV1O6hZ+UF-5NK#T! z=_{A2{Z-{fiz=mxN`Gm2u~b=F2^kB3Ee=#l#YGEze!p+2Uni?vhN{KY7PkJ<MLKz5 z(WC6Apro+0ObV1Ep?p+ge+vt%q(zSwmsUwoPZ@d!r{dCbsld0iRB)}FkD)wTT2{s` zsw>Mu4V^(C6#W>50A*5%ucAaMfiy+pZ?%LW=-jHxFp5CAs3Hr0726b%6^1Yx5|>y6 zM(-5?zf=O*s-;D~MMW4>Nl{rvwNLLUP$n(XITsWZ`IlAt3g%Po64?977faREMTO-h zR90ct0<^#+S4qC5zM{ow@AFrcl`g`tKnx1BD_<Z%slKJ;U5>evN=hMZg;cVns??7e zpvjP$YOE+JE?fpJl@~&#>@I-0<wzD*QR~)0loX4pgM>>93rb4M3(HC$<1{QTw9XA? z(K7IYf~D1dNC3`;l=C4P=eD?FQ6Xleu&Bsa4O`^gLsVfkxWoV}C_pFHG&)cgR{0A= z>k^%=dRcW*1r&slK_Fjop}!Dq=T}$jv_Qee3JMl1swg*F7f6%6xf62=MvojlGBb8P zCU)f<8@n7AyK2Xc897$0(Kzfx_+K1$Ci)fkCf)y+*kzsB)@;|q!mDS87G{k}$)4lU zx5=TscjEOD>*Ay&@z;jr6YffU%xmtqWc&-<RN9L>tozsy9~*YBPXL<xz3WO#`(hg< zJs|v%B&~ktS!^47N;8adnyBv~%`?jVL^)CVu2I(c#|!@C>A#Wv#YukDi;uBCHuu2| zx9jMnPWX8yzCjiQCVi4omOJ5pQls<9?u7q^fuGk2U(Z3~Q_~5*u7+6buRGy4)Cjb6 zq7y#P;G=cI|HYth>4g7>f#3LRSuo_Dytla0|7@|~`&jT13*H*%c3be*Tj&p1@S`mF z!xp^Lf<Ixw-*3Td7W}s@_!bL(x&_~A!OynfGkz(HQcwIv$c%l)S@5Qburk|%H_tGL zS1fqr$bo1n&w{5;&ChHLo_(92c^15BTdZ4X!NYK4pGpfpIfj*_r4~FEPV7@-!KcKq zlC;u-w_EV_7QDF@S-r-Bx8@%W7W{P<KI<)bo}rkZjTU@=6A8G*f=9Lz`$R1Gv=~;B zc3bc_TJQ%f_?s;F!xsDi3;u)!KhT2LEclx(_!bNP77M=Bf*)kTOTUsuiF2-BiK3Kb z!4K9^;%}-2Z_O{$Ecn|j^s)u-u;7PT@Ix&43=7_HZK8IZ1wYh6pKZYpv)~mAKHY-P zv*7Qr;AdO#-?HH6S@6Rx_=Ofc_Ymf%(t;mpA_13L@EI0-jRkM@Gb=6l(H8o83x13R zzs7>sqp@DuV8Lfv=+|5DcUtfpE%>`E_$?OvI14^v!Dm_UyDj*;E%*Z#{5=-@VGDk| z1%JYVpJ2gj7W};ye2WEtp9SA)!Dn0WlHrGG|1JwY$%3C~!KYgAITn1H1@E@tWeeV8 z!4I?GCt2_r7W`xjew+obSn$~ve69trSnv;6@Oc)z*MgsI!B4T^=UMPmE%=2N{4@)` z(t^*k;FntP4_fdw7Q8h+uC(CuE%fykynZ6CSFW+(XIkhREcjU#{CW%iAq!p!o=#Fi ziHR#@NvVtY6SW<P!b)&w(hds|F55Ei2+C61km2}iAC!$NmKTyJdZG=VA-A$@WBGt6 z-^6kp%Mnq&mSu+W=tfaaW|<*8+91ktEHiXR>qYs?r%-0dj@F3sIhJX*(MnN1#WF*5 zbe<@G$TCB7G*6U|vdoYi%@*Z@EHkBwW{C1$mYGULWl`SFGDCGVRg_<1nISqViSl1r zW@wJKTm@ptA6RBcj-C+Z=UHYbjvf%@pR>%AEE*BzAG6Gm9Nj3&KV+GqINBh}PqEAp z9IY4S$5>|S7OfHGDwY|Fqm`okU6vVwqw_?0KFbWf(L7Opm}Q3CXtpRn$TCB1G((i{ zXL%sYvM5hvnV~hBD#~}Wd<)BxD34}&5X&uBIQ~0WmRUX_%D1x2&>1}-$~UomE6Wj4 zzLw?NSl%eg$t*KOMjJ#qj%9|%XuT+Z`6S8=iP0KSKF9J<mMca16w3^O(Rrf$A<GPX z(L7N;$}&S<G+UGpvdmBy%@F0iEHlJKWl`SFGDBN5Rg_<1c_hn{DF2mZrp(cnuf+Vb z%+MA+A<ECQ%#ap6Aj&^ynV~Ei5#=AV%n%mcD9S%%nV~D%Aj(g%%#anW7v;xTzLVt| zQLbW{Au3ua%HL&~p(#2~l;^X|kQB`m<%d~jD2ir_@`Efh1VuAM`F@redZMx@Ph^=P zCz>kCce8vi%aSOMW|<)-+HzUUKg-!HpAh9+S!PIy9uVc5Sf0poM3k>(IfvzqqMXb! zLr1hhl;c=t$cWa9@|QIzPhz=7l+Uru5D~2u<x?y(G(_i#@`o%lBt-K>`6$cxvz#r; z2U%ulh-QfLUX~dWqOvG&XPKcOnkvdKu{@P!NtFM}GF^YP<;%7<SN@FY%9E#0zyZ}p z6m^qh9Ig~~wIf@=RSpHvtJXU51YG5q4d~Cdr`I~>;mV%A%26rcYDbNLYaR6hu5&a9 zxWTbez)g;bfLk300E?AS!jNGQLILYxKsX~xxYmK&>XH(E#3ARZU+r=`l29Q5_Mv$y zs@suDq6}bJNYj3V0fdHm!=Uu4AG{=?Vw+8n9@oxev8$hI8vvBx-nLvdqNv9e^-X6) zkevIoa`8<iyu5dt67DM%OOo~>DZ`m(=Sz~{1aj^DOTdK^fAoYbDWP%Nr!XKCBP@bh zC_|eIl{(wBL#TL#J!@ZKjg^eF52{5$l1l1bvs^P>GlZ7a^I%^O_Ru#Sj=J12@Rc5* zQZPi0u%lLHg9KVZoygmGkxe4)5~T=d9{CPhh9`UkpiP1zaDAB9H;L=aW4P8u+9Ray zABTCzfE@!B^?l8U1sy7L3<OiU4k>uWW`Fvp37G0|nPa#TzIj7|B;~3*p`0%tXS@E- zfZr5V^QtGI)$7qmu(i#<G@REM{Bqoq!%9)YPZZnXwi8g#GSMLO!za)VO1lX|Y<_W9 z;;&GqikknZ-GJ~1tsT(SnXA+P*q}d!*xCF8B{bpNM1(UB&&8mAihzd}zd{SG6xZk` znazr%tXKWltJ~901;325*B(X(!BaMS?G;>Td{817L1}9|T7)OGkkc`Q9%KlLnpg<_ z_S%O*sf2ERgq^9ow0Eh!HRyIdCMq;OsQm|KSf@`H^dkkYM;v)dsQ(~fwzUlc1K3KO zuJ_l_35!J>TwTOoo6HWN)eJD5^oXdWu}?|zhCQi@dP>{FhM@@uF&^!g2%L2hb%(vK zp0hHc3`h*1EKZWn*;8RACH7gzO6(&KFByok*D(&)N0y}GI^U6v>!bD+<3xX%k3)`^ zpa81vu2%FA?%yJMZxUAFjA)JMcMC>?;bU3LG`}%@#G<s<)u2P=$(=OQIdff)xaPXP z<0{yJ5%jXKJ#mq2`#uM@>QP0FF<xjgZvLH+0L|(^6Rm=~#r2E25;T{tS%0aioxC|+ zXy=bug3<S|HgiMcVU7b|g}^k6;P;`fZ4f^<w0vL^5DyaZCm^EnG3v|-M6Mz7EEXoH z`k@a~EwV2E5ult0qxb024QMAgXTJt6#~U7Tak-3zk(ml+z~wuV@VAdcJ8_|{%^Mz) z3p7SAR4FC`)v0|P_`}xfCz^t6%NcnI^CBiOQ7UoSN4gUw`w#5Ev5?TiKKZB;j3g<+ z*0jLUDIteLJ?;%pNQSnxJ@j|s%<V!u+r{j`+c_g1=SSKV%xq4m-_Uat(VI^?mjgra zk@}aQW~on!Xdr~k4em_PUPFuA;8%SDyRn8gKPF4BFt?;H`yPg)9u|svg{iwH(fh%K zpMDa$JEz$1IDj$1=ETS{&e^}S7yq_H7dp=C$kuVt8ft;fj!x0FzUE=tq0qbbhc7r0 z{fmII*vwdn6<vol!v`It=$Dv6`yfPB?H7VP^Ck<2g+yVk%5)=Va@9A#qo^M$!H-(< z^1b22KVUlos~jW1gypbBZ5BrMd5PesgcDQ$Lk7WwIDi>SdaI&-46UauiJQ9v8d<vx zmDoU>o7;AR`vcG)fs#Of5Wu8wY>ijc?MmaR`xM&&<;~WBXx#s2qVYjA#>m<}Wc!*4 z&!L?Z7^(y(Jb`MkP(Swf!FvB8O4`jBwzd$KH@7LV5`?z%J4*P8MG!Pw=tndE?GSF1 zA>2(fAkTw9gIC*uxzSl*U>{T?;S+rT*X_;g;V%wOhdRcBxif;9OK4PzTHq-TEV&)C zFac;F`)mj1%_R@x@9rhzVTd-UBtCE;BQghzJ~0U8i^&TO+z8vM#6}Qa<%9FE7qRZ? zMBq>kq)F7*jE>aXLEU@+_z4~H-z9#FYgVp$(KXZKyuc`lus=opc!pQKGTnI$Te@M| zDs;kNj}?xHuc!$QB{bIIMGU%?H6gDf4W{OiyjfBIP;a=@=2fHK^beFQuOn&k042Bs zBY73e>T<k4-6bM_^EOZ21^>5zvMss39)tHt=Unz{5{~P{m*WG?*f$Qdy1lw%0Sq8B zPmEi);*ZYhHrNMa?=WBCOd0!CZbwZw^LK;PMHuS;*ixEP<~?9$cw%l-qhnyy_CcZ{ zjAMpQ^zKZofaegFG2i#2fp+CH^5}azt3&;V>QpuDthCdggCLywJD|+|v(T^T2}X%o z+AAm~^uTOre+D}(S9g4Wur%q>vB}SLrY#nVkI>S>G$1JY&lHO;b2!8{#-`2D+ZLn7 z^Z@HQh;U{+sIZDm!qGa5YMn)NMmvi%oyC(D7CxOt1XLClpVB0dV_68t>x4h+NZ2F@ z`>Vu;Grw=?YlF@r3>K#TF0}}*`5jpVb;5O)z7BxU)CuR*8HvsXRr_kh{07_N0=>7; z$L$dQD0nr_-x6%I`ELncwfS$XYxCa>>%1}879SWWoc0dgZ*5`p*ilmNjF|1>{l|lC z34xR?Fb^`T1whJhHNk%->!R9XpRx<c?)$r*{aw>tKQaFkylV8*L+^+Dzkrl>NZH%c zk0}=oUz_zQ%<3GR`787cng(k!<>O}K0Fc~l_#ML(H6MwQiU8upBG2~XO7Y)iPj@@= z?CD;|JbQY+qtc$f)=`5t_VjfQrbYJj4UPr@H#s&6xYZE>#8iGPCh4+13*p3+fQ)sL z3afuh*g>u1grI|SP}HNs9UuelYMbG9$YPHHulr0jnT*q}Ig0@?SZWu~m_zG}p>^`t zIEM-+{?yNmA#o1Hsk@-4mxM%KyQc|4dWjWM-3zI-J;;M}MZJO|xpnaWf}aQcTxts% z4`gG5pU#B#sny1qJVqw5`4i`2;lxC=N8{6o>m3_!W#h@Q#uE$)I<(h@#_DhWTD|(2 z7tsZt0mGdQfL@*!y?p76h(SjmLKiS%!#>+=P|p*f@Za?Ktym2xEn}$<j2YL9aUJM? zK4#B#SkQ@6NYIRn`M3}PGA3WJEyW*qe#eaId7;GNn5fW*Tk$v8YV*%~{Qh7o*x!7U z&b}4wZ@z)-CqTxXxG)!Z8mE)%3l36^!Z2Vj>tMp62}i4BNlS<P*f4}|Zo*pkBOcy- z3>VEW;o?PJ{KYz7NbRvY5baN=p_i9XuY|ph-by&%(MLND3xa6&)e*RdH2dbr`5n_0 z^|H1L9=I+Nh@Z2g-U(wlu1z|PZDj<}IMEF`=h%P7RbK-MB|-nQ&h*!V9+7^JGct!E zyfgiR&h#gnP5vK2!a4SzbmV_mXZp>cKW85vnG<X+wm%zz<fc5Xe2f=I2<l~j83w!$ z7T`RiZH7D;2R4w}YiOFAwbP$6N7b;CFx!c7z9d#tI@GVIJG91A(9XD9{fD+-oHfof zifzXh2-2ox?Z~!2`)a55XN<B~F75U%^wW8~dOwX23fb(hDgGQ&4nc1jFQgXK&I{Tz zpr6yI4Whxt>`l=3Y}b#4z7X^m51_%E9i8akK{jihUtJz2=wtds8$CaT_2kstHzIJa z^PtE-gWGL2<8K(@zn}!aw23I-A41bG))RBJn(;kFeQO*nOP?F0V_ZYoOgFDU=JU`u zO%l72pF_<`2zgYx#+*K)gqU5WA7)`U68OGHz73;=ea@MC&OW=bQ$G52e)qTYQ%WP* z6YY``PmbUKu5;#gT(3fZFGe8(lI--7`fy&GQgl$U9kp*xuDK-p`_^3Q>rV<sd(~XB zE$O8MH5;B73>=Bg7gyH<_H8|DBY}R+6HDrYt;zmDN^qA=;QSfE*1mye`{o<$+qU!4 zE~?C;|1*-Gc1CIsDt3>EkBD2epxFG<o-gF8pU;?XudRU{!mt(f5O;BL9B17zMSazO z2iNF1ji&kPlAE!I$EgTWgMeyE_!b&r+``te`U5srIj{^cWY~FNKi0{A;{eV~hn_<# z;s5pg?1wnJZ<ogzY2MU9zM0T~Yeug6HqMk3^$Y6L|6R=o9z3q8JL8|?RnIEOj~|4R zr-p~i=sj0$%7q--uf-53gn#_~;qkIpJ*TK=wS}LwwN13h&E3AaK8&FlsB8(F&gSPZ zfWDRi97cP~0QTT!M9e-R-<yhh&N!C4tZju<JUN1W+#~tpxV^|chSNz?8LK+-`aXGC z$B*>kFs6m+!~bgLU}gr`+%xW{a=RfjH%LWqfUzUUG%cMz>B*fGV@JJMRgCb<9ZCLM zF;X6}@i^koR8U0ol31)TtOt?5HGg3p4|YB38?O8*>dqN%^^NId2TSH*AJ0B9PQN$U zI@DhKItszo3HI6@;zG99zJ!Zh^~+{i&m&3ndz0u_Cecqx1Q+76Z;Qi{Il{wL4Dd4u z_&m;tbJYU~Sn8Lw(C6W#JauR6bt>8@Au1xAxeP?4IIach!%(}*QadMB>q9M?D0K(z zwa*9&FHgvHCWAl*7SP7MAZzyP`|6k=eLD$qqajG`5}`Yt$6H<sf^!ebauKHrkfqii zBfvf|n@Sf{BzX%YhCp={Aj1^QhQ}Ge9pgMxuvH+}1^XS(Da>iow|-awZroeO`K?FY z=bGVBUv=fX)YoUIZ_}S*q7+P&IOa%=9nzwhFE*q&!mh<``<h}{#hsWye*q@X|8THX z_G8svYQDkr->l1F-My^KQi6@}WHwCINiPg(9LCgN2#IV8?A(rFUbRiTh}2pf!VGI3 zZsY|f^#`~!fC;ry^ZZw*=D5l7FCYRR5lyr|pxUhXB`P@GN7&0VsIb}tTb2p})>fm| zQ}>a*j&^9azdu%;FRIT3mT<G3Y1ZGNcMMAyYxXK6qp1zl>vW;|i)tKwBaA4Pt$4lQ zB-&t!W@@-E5*x?|$Wo)zG1tPrI8;F=gDzsF`#b4;U!!Bbw#G{L4C!tKUAs3fsYj|K zQoEbSl*)*b@L@L~!fL<!h)TSUC&vj-h0<_faJ?9a9!D+tz%FQuGxVwU)Q7q!e22%M zeVSAC_^<ur17<-9fr#@Ud^0Th{*ReFEIkS9?6dxfz<T@Uoz3fG{?*8TksJRQhqcqO zPho_7Nb3iI(CS8<@u;X!)@<t~=IPqd_@}gY{sn2niLDDz5ze$>&_*g8O4E8nEHfE) zM%1I)&%x;xZdf%Lk{I-+yM7PS@+i&+*n9;0%~0YU=ngBbhrWKMYo|`2J@=^Q(06FR zr?%8aHSsDWsN1tNc@C468qi3gcqB^KZsDDRU5Up~&8s=h$I)+NE{xMSL}Y*H7lw2X zgtEqO^L`6vMfA$~noYNt&HEl<(ewMFru~k}66oU<>PNeR(K9o-M)|upr@-a)PRMD> zPQrX8A+$0uWW?6Ge*tIlG)CtQ&$A)KGD&z@Z_fy;cyTDnP`pc<1?;w4!JjR@L<@8g z7=|G&R&?B*6brb1z?B%dTXmfO8Z5}*&e@hl;0ix(Q;OP@#!uokuihbIzr9w&Zrc@} z)aE<`LHp?T1co;XhR3}{XS7?OwtHZ0-tgFXdw4Qtb=y#g<y9|gMI1<0ORl=hUi)k4 z+-2X~qZYR>%E8omZ2Ztba<mASHD3<(_vJ|$>igYNdoXYoJ-j$s=W(1v%Q{RRE3N}` zBrko8c{SQaM7th(yV*9c?Yt0x9{a=NLI?KRK3tlc<JtM=5M(?8+i5`O!RDlr`s|vk zLV)cy`{uFNW!GK^oKX<p6x%<W;;|la+*fzZUN-^s=J;<`eX=x79eetLUGCFK7_C^g z_S&PMQNkmNP^$#Lk5h%(H3GBTk*b}9EZ8cnd=jCE0bSPKGB6duXiK2<x`<1C)xNR- zWqa+5Xc=1W=%@V>WVoPjS^%|c6QFS1BDheDPU<4LYJ$UFI~+|w<IpNWjJp~*(Hx)^ zLv`YMjawZaR6=tl?b|@Xi^<9wwO=q78GH0|L@7g`xxpq|Z0>&lzM;A|8OFl1spQEB zBKF#sF<dI}Z-BX&@a9ybz1TNkE|cw>aTBTu6LO}h2V^{EuiXRrI3d@NYdG_$hk3#- zVvYlon*{@T0VGqPQk<>YqR)v=Grv12=0>!p_sC+GHWe^B9`!MQ1%@gZ(&9eD@SzlY z?QC`ksdJhV?v<iT+uGX1y^`oq;JxaFXb~{lZ{dx%(TylYt!m<)B5cef5C;qtFtpd@ zfH?Xl!iGNYT6G8d=SW{~(#PBD;z<5H$T?fuNyy3h<3ZeYB3IRN43xH4zmT;?{lbAm z3lPD)CG8dirTvZ<{l}mekMoT4Ox?l92P>iYiJ^pHb&<z=V%67z0Lsb@zM7CVqBrQC zI4-6e=K>knJ!o&C9%t%Tj!_kvC2n0sPXjCL20GskiT?pRlcG%!TR3b`z7ERh4^d^# zD-KN5R)4yE^PSn_?(*NJglF0Q-V?2i`s{I|k@We~xM+e=Tj104J95?5_6X-{;t5M^ zJA`=Kzi>W{7l|Fu?ch!EoYh3QLrmO@M1=BW)cUiP&||>1`3Gvdk3#BDVmjM}vOx}t zT@&@Cr@o{8r(T_GR`1G|!3U%wblsq-di|+Fqq!M3c4-xQ%>mZzf?IBHb)7a{uiGT* zSOaIfOPfIKuEd`M%MToBk{*{7^*}SOz$fwhg)-}ShMEm262Dgn_G(X^ZaVgV?I)K1 zSGFADFw)#1{oAbvgi9!Za5#*tJ%WJ+C+wUj<4me2;^1`H0G8--Sd4Xl0h$IuW5i>z zYrG-?{B-sFHnirH!UZ7B)+%UybW=NVd;Gg-#%wFeKL%k-CpZgr(uqNk2h3_EI8O4r z)!E>Y2eaClDz?7b`NLQd<Fw(l;BaR7MD(NXFi+fGp!BNs-qC7^uf3wTX?<6;nbEOL z)z{kac`-=RNR=RFC#g#zLuDGbl;IpaGH)ge<IvKwKTSuom_I^N-E-GuVM=2DQJ$Q- zYclR+34@Sa`9eoL_Ry84-7idv^^$3W>JFGAH;TZd*#sEKQqA|JY<ul<xY~9%{xJG` zISQd-zl`d~{omn9*r!@PhK|1DcjX9Ka*-3-^qRX-14^8bqCO{eSB{V^_#a6&|LEX< zq}lw#k>=)L<cD$e7hiR+P=9QE;75U)|7`k)*wI8S&=hze>xCnq1wTtSpY#q-2b(u@ zJ@BYOA35*Ny~QJkZ5%1nswC}ReKbsWzQY8`SgM9z{1EC>?Iq3<y>z_)jwy8?`LAJ~ z^g9!oljQH0tIicG6Q`HrSp%^yu~J0_ZJ@N@9uoHSF0~)dyd}GXJ<Wu~9qq{tA1T%| z#k>mx<B{-a90&)7p!u_|_E>cj+FGomw`gd33OzAKix2OE65lMT7kj^O<|!1#HcJ?V zwpi!^v6K64IDVRA0Mnu{5jX@|T<dql#H}A~66r%Z^rHR|Cf%{G)7=8PIpUr}H25|L z#C-h?(1~ub>aV~!41)O}D5*#Nla~7TP~ZGhz1?^V{#D|C2fTAn@QH!8(5y5b9saZt zZhmtla8qbjQr*G8oiM1LRg`ZUb|*Mip4hk}v?QtSLLd=mk^ThStH%B1kv)kw_p|Em z9e4o8|622hdK`wnE|=Jc?bhSQ6Cy&~2t&r>6Hn^1@=_dhhCcc@{5LA0dl*7)LW@SN z5cST3;=Fu29k+Ub=i>*P&v*21yx#=duy0PP-Q#}{PG7`t(A~oM_ZBs+v@_N<;YRQ- zq|JNnoBNP*WX+{V0v|AS)KN8;%KZ}`A69dz%0H&&l0VRdmQ6i-HSh2^BhVAh$GA!m zKJ;<1^=}2qBh3w{7ngmTe=1;dbJ)~}SSFJ(HHequ*guH}wCw>F_qnxUM)eMR?P}Uj zIP>y^cKdwnE!d}6qvG~$Z<;!uW5Hya-gI_HiYT-JiaRV6cXp)MrBjTvQ1t6a@jF2= z;roz7Q~$~5LU;m;T*G*tO?}&A-*$#B0VkzABgLjztA}V<+}sMm^B+Vr9G04X$G$Dz zb-_K^CI=Scz!ZBix`C?)shGfM#fCH6-Z)Tc)M@+!+V!^snZBheaHi(c1b>E`JFDZ` z6?Vc@WDqpO91=W?e*9~=9cW&m&zF7k1Gw=t9cQusv~<%C=XYP@ud~LT$UfSyboMwi z>SM2saBi{=+iNrEC({q>lM=4P-fyQi7Wxw#zE?3cW**mJXcL><L(m3?vfoqGXb2YA zm=LaSyL$EN#RG%4Klxz|K7LKbJ%iMX+iPl&q`40$VON}Dckh-CD#0W1N_sTx!p0zl zCky$B5@a8J!Tmj(j6?6RH?gfAr{jvcH#c;r7bkoQGP;Qu+>@Z>PhhJ!?$>npDW2YP zo@qW+yT@MpJ^Ehg&It(>U3@VVtrDXZW8eTVb=tHyb;_QgY{COec;pmA$MS2pU;Wue zJgo8LX$G1O&vmv!Vc5Ke5(mweAtemsV<ogOO;h*?UMR5_u%YZ!B*=HQ^Yey$5_fTU zXoCh4h6G-ki`ZRP3>OU#%#x+7*{M(bQwgtiG@uha4&n`Oa71_+F6t+Y>x@?TElH|( zV<(BnU-lvXA{arMUE48)HvK$W?<h|Dgp-%`ufRbtYN~Z;;3H{qR1f?!68TjQ4kh+@ zTwo%Oe>qw+HuXFpVpBHQVB!5Ti+#m%otIGAF*dFL0=do(py`)Gi8c&J&y%x}Nk{yO z?kkrX+4N)k(LR)TY^H@OmU!&a=IGU1&1y57hO44~#)Bg#C=bJ+Oj30_PJVV0g`~Y_ z&D}65k8rQX`qrOS<r!CSLJ626Lw4(D(e~PVxX9GYF7<O^Fx!SvPj}Nu7~fyD*PaAI z>>)Ss0yg$C2hVf|mA%m#8`HT`?J@ryS`n942)F%D3BLlve(gfSw4^{{&E<l?6WpHI zH{VoyEN~KIKR!do94~^F(%h;KxAT=<9!SP6<|b)3ayja!?)|UDz^16tT=g){m-Ijo z(N<Cjak#5`(!j1B>=bpOxJ6}5AwucsE6i<QjXosUWlo31m=5;hz78pZb{_M09dPh+ zUa^QWpT3L2#OAySl^y4N6WW-2ww7_oCDv<iz9BdygM(g!G%}o708Y(YWBHr$RFrw_ zh<giKI)<}NLO9Y_?Ms|h>L1}_EmZ70gDq&RJ=U|J<z&p$Debk`<3ZZ@Lp_vWQ$l#9 z;gA}i{J?NXyXlY`b%(TD2~VO!YLWIR!S~~99&bwyBs5KGlWOj{&Ho!bH|&4J{uCJo zuf)Ng?X^#d>-az&G<|zMHGN#S?uD}UXQ3Alzp2xkRbqDts}C+sLd!p(<;xhC<a!z7 z!1L~y3FBrg#kUDd?|*PQ8$OtnH8GWL^|<!X>reo^o!j(w%paW>L`zZ6>Awd?{KT8s z&He<<UycWR^1we?QRAYA^eurK+G}t341`7Y5%`5J&0k4V|1z_cD9=B%YtSz&;C`|X zXZ}7DEZZ$$Cxue2JDk6MhBoiLCfZz&HkLWhL)+%PVjYNyrhb|q#4zCvo)Ah3XQtgr zk(Z`v569-)|L`{M1#~m`Z&(xQzlSmY7u&{s1k{g_suN}HzhL6f2t0ct#6ws@!j<?G ziDMJ7GYNNWslSL;h!d3N_c63=bZzdXPGbO;Z27$w3@S+<l#7Dl!Q8PBv|SPZKxIco z{3qJP?9)skf~Vp8uvIsF4KFx0SjBgtao%1_g{+6ZEn|jsX`zbyFhdyf9Mo(@4V?f^ z@%xW~1iFJ4!&1^Pm|D&Uj(F10i@kOTc=Cu$2^a8~tnOLZn|94!ki_~m@2`gv3k}w| zNzwnEE?B1<tm&`qwR_2`2POk|IqCIorTBQ991W2bjL>IEELNHo+;hFqSK~|ERSBuJ z-6RV4Unwe%^B0ly3Jl|AR)rGx<#DwAOLU6ZSVIaQb$U+FczFofU$Ic2>T#WOcqC&c zZ>5<o(uay|4d@9Qw!aJ0#d<T~kv+)&KE(qX8-d{ID(N6ZE`@+fVXZvmsZ7(3lOQ5+ z_PS}LLNcGIZP^W>gF9vVTG&<%#v}2xmeYafES8B@0Z&u>C_Nj)(Xan{gKqpN|64I^ z;IsBAEaDRU4mq1sCcZBw2)0Ggx7LVCSjT!L^a#x&vu$*{M<0SQb+pRs&KmnGo(DF; z6r!uJTD0L{f<^9wjFtuaYbO@$7U=3v<U<{3*HILq4U9QO+qp}ZOzh^-c^M``Fu)<- zdXQSy&~s-xwEUs9rQT;aGZD?3cWQrTU3(`5U6EE{n7BnRgnGOq{iv?!?*M(Y1g=(( z!;t=e^Z66w`Ce-n8y6ZRPLuEeuKnrtVtGtT!&CN)#=!Hd?+b5>O&9OB46FARz5VyT zuoq-z4}=olnHnDWHq8eK;rSQrb+^#Q!b;x<!tOyy>RFLbjT2ivJW8)FZOM9n`PpEz zEqDgE1@^eqfew4!Pte2_8tA}bY*zCV4X&*B?X@>S2;Nlj@@UJrv2vdCDbgA*j^1%d z4Vv6g&nZOVyty_*2tGH-c&IqpuvdIVCN~6Wce#WZJ0M0*>y*&KB<-)S;>^76OyIrT zq9&#BM7#?p|2S`c{GRaStGL$}9{Vb7g_U9Nt2nN$<v7u$`v&kxxCR+fl9F{UaMly{ z-`i&J@Tg-QuzzIc_+W{Rn}d{JoS}$}pZW+-xD695bZ96o4s#v$*szlcpGC6=Lf%2h zwQ-|?k6@;G)kokt)cuNzEjqt6!3EvN;l(0K^&*K%^YWgAy>1JdhI87oH2c&14Xt2v z91jbJaVApL_tVej+Rot-lY{tTf%sm7TB#{nt$~){nK)PQY-~EjW<)=C_4C1m{hR{r zBH}Z2uPc5HI)c`{YEz(Zlm*>R)qP56DqQZKz~_oON%ukA2=Ysy!Va>N#1vqAc|O{k zv0Jngqt%5x+uRHJaR_N(B#D!yDi(Wj3Ud*+iP5>e?mdQ1DA=pETDDXi3XLiHXI6(4 z%HzLAA5X5)|DM2keEBT85)@lF!@9vlub>R2MVlcS{6i?CJ;tuw*}*?7i(2F5%v|-V zqQ1lDM!qnP<ciK>3;r5*VD(_HJ&e}eE5>cXJmW!?FC|%$mOLb$QW6grF57{x{lWav z>rnKHD3Dw9HXr}dUO`jtx^6I7U_prIntso+io2Qb>$%1*m@>kf{il4|40|E=Yigy_ z^I|T3Rbl%m3|s%AVH$+#ut`h;g7F#KGO^rnI|2_C(4-K)ev5`^zZ(GYYFlsgqw%XD zJk0Z<KB(8PH0t}a{-{y!L4A>4|G2fD=aFoWbHM&NdcEJMx3m4v_4>fI!d|G3RwxXz z1^j4{thac?Xu)h%TWE01M*S&-R!BVBs83<NV${p1->cUTHtJ~*+AyQXzU(Yybk-Bw zw4yt}47*S2D7O2w*X>3lXq~DwwlD4bXZvPp{M~_mvHZ%2o#XHJe*wjo)bpm`Z_yvm zLU14e<KJ#WWr}?>P7iQ@N_`v8o}7Z9!yqVht{=0kps_+{S*S>|RxC0qWNhs4B@DG0 zov+o;U3sn&&wiUjSdSdqMtzR$b;Dqo(VHPfNxk-uMu2wt&F@R%n;<+`63^L)yox{M zsXY#2*M$VfD`G>L1C(=5b5GHqdIU#DeQd8N;fHL<6T-{lv<#|JJt~Y?oM$`{;Xc2) z$$c{uOM3m>@bZB+?FQ5M@XVLJ_K_Y?FCQ<O&I`Ca8A_$z_^to(BkXlc;co@LW~mK# z9!o_rvC1O@i~JJD!1-*ceu{6kXs@BqSc<}!mV|s|9A?n;W5>1G7!{Ti?<d!O1;f`S zW4-YvObFrN?F;Taoaemb3SPO#Ub`99xSC_Hy$#ai>Nb1r^T0vMahM=`?H4H6pE`+3 zo^}7m%{w>mV?(G-#~7V^Ad#Y$IZ|`g{klJ#f_UF6H#{lHo26By!!eG4vpwT_nTClc zYrJ-khUW=2pROVCbijCw_kr;6yP(=_B;z4}B8Gq^f}7jud5U_~73zUI)CulzjlQ{b z4UV{;JR!E1AGy^C_Lr`Uk(wI({<Ga3LHBW9>@Yo2Bo|xEDd|@q2$$W(n;yybx;d~F zuX-sL1Hl(oQ(a9xaW{I8H|tV$2F?s@x%f7ae&UrDy%v2FhkpkyxM$ihmwk!CGgY7u zd}Jn5hj1_y<qv+sE}<GYKpeter`raPG3rjjs<nyO{?v@a=x6|S%|O9n{tZpdH130K zMD=auA`SN!0N;V+))M|~=f4<+vM~$T6WqWBhn;H0E1c+LtS=Pii-MT-x@4{e;cxJ` zl)bi@@ec`{tbPAwv<xL)pCe1kJ!$sZvqIm;H4plZet?4D|00D`kF!6mx6#MR=x>0n z=lFuiPbDuC!oW4n-_iTQjcD7HtSkO$6y+Uo!>rqD`JB&0`?mZMQr33=yUjiMd~F+^ z_W;d*gNCx7^=6gfp5P6%VyIAx-i>bB*Dpy|f;2bO52@7d3-0@2yr+V#bM;4)q0DhX zwv5K3neYp-sl~KL9aqgf)XeH>T}!r73&=eXfvr!2G0ulGzesPNlPNEE2%YzSh=#C; zcKOER5lTKrfkRUd?-5L?JLuvQY!VC*C$8IJDPL9(K%2Pn6a3fdmW6MkZMT6MRaGCO zfgsI#(_Z^WF!F}0pvbG$BhhA}O>b~x^iRUN+;A}VZ9N1M_W^<9V;i6jU{SSr!wV@~ zcAKd8_ZRb@i(D0LJd)0-B{zMqxMh?ZelRW<cU^c|Hzn($eZ{u~w^waq2R9}CixPaD z=H98{<-=^Rq;fcXJeFUl8OCqdq-qY%N%#qyc`U#)>r~*F&1GO&>vwfQ>BV99F!p4x zy&GL@88HHWMtmu=#HIFpAUuAMSH+WQ`^Xy|Ji;du^U=X=|InF%fxxwrQN|S8(Gr;7 zy>OEoAr(`^G~7x_g@Zj9NQr&|oNkXim((9C2z>5U=OZEAuO~{{V=uwf-~Q6H3oZ*x zdaohylhZH&Y^9?sQA@+K!%jLHUUZ}|vuyN#73&#u7+#90JW~Rh?~NW5)>Z={psyC8 ze?AxE&1$W>7@dpC-0=N;D&>X=IHtstD26`w=f>lq9ii3{5RQ+Ort<k5p}MKze(BME za9Z$GBV5J<8(`&CiydjvA*e9j(3;z^dKB7XIP<4N+ih4ic*@Avk+qo~rRsQl(`Gj9 zi>CFvdfIODEZ8+ULH*+!pW;UL)puW7vukpn#rdOg7dy4(gM&Mao7uZ2_v1KsO%`{i zu???fQ3~Pl#TNTs_4?4P1b~?dxb;Vv6q?nCuuo`KDq*T|-^(=%^mu|*37+`MHB+&* z;#Prv4}f=8@QqDw?GA^orQ19Z%ISyF*3k3>TZ<~LBcbU@K<x}o?*p(qG(8pIbv`!T zcuJ0+o|e^w@2()J#J6g*E~z<b_F(8by4QTi2}RwF_3qrG+e>I{l6{{#Hkr3nl;EZ8 zz*%?5@7U^w@twdNW&^$sQ`zmtpPg>_j)+_R3;{%Q<IibVc+-IAmOb@w<DLN^{K&RX zy)-GjdIC{y=Oy>xMpxtRIOnDC)_aJu?Q^S_+|EY#;LlhKj-T5usTUjf53pTws~6dE zOXL1HmwL(LY;+C&tZ`o)E<Cn3UFu#}<K6+dnjBs|jI8h-E|;^_HF$U9o;X~1YzI6h z%>hVo7irY}&WrBB{9}8^qi!b$7sycp#l1pCb)R#edvKGGa-Z9F$fbTsGF-W_!dgLh zjZW9-cJ3K`3Bm!oDbP8c?oHBt1*rtxzmwb@>gNDm>i<c4GE6|nH*^?+A-FLN41r`x zAiMq>jHAyt97pOm8%MsQ-!~mdnsp#9XR~|EKnJEojAqOuj((UMAY;>GjBB8)@wGwU zU~C|{@f%D}g3Ec-Jq8X_eGQW~XmWU6$H@{l_PR@rHoi8%<NVA$1`iU!^auyKZ0|zY zK{?^INnK2w%XZkU{tM0AwjCZ-^Eg}GWAMbN`d;H3;B**fg<)*y**=q>xEf!Nb6#}W zuE6+PUA8lB=fyEND04gCY1}_3yy4#8G#@E<t0$fNobTJty45paWcvc^;;Y8jV0u@_ z_#ORR>ZdL&8Mkv^<Gw-e@FpkQs7Kt+58TeEtMLsO_-7tuj<$WFJ`Rkb75~z(>M#sX zcxxY0d(_h|=esWFX;6D?UwQD&ad5;H*JOel5`E>yN%2Y+2fCfO;=e|(W91;CR!+i# z7QHre`kd!oRG00tN5%Lcne8&ElH6m)JIH30+xduNmDBH71rDnOhgFlqTPNs}eBt7a zmXE0zkL`*}J+6y#g)I6|lmzmqcRTYP^-iy&9z5y=k9tTUc(~P%-OewZ?@>jzD;`5V zHo+m49FoXkwUFEm7OOd;)!?&Q@L3I6gx+yx=5e0%IL}gv9@|wz(YRvMe&p1LoYuIV zZu|ibBSR6K)(B2(z-j#dQNL+qluAZx(RwZUV05?wpS6O|+Ha)af#lPVd>WwJ2J#Uj zYXF}H!KdMyX*tc~JWe+2pqq7Mg8`xhHtPhNb)6O6u4Sm)<9rQeHXG=1zT<IjC#&@= zuOu6BwN_k#;d;Sv{WsJ2D$0d1Hh9!#m-86h2j&IV!4<5l+4e7w`Z+8Iru#2<sMvul z{Vn&HV#hj{ddlO(|M1fL(B$<&6T@q7<IK2hN8Rc%tXN#QoR<)^R=bgaY=DJsa5-Dt zNI}-qMmBiV&mixHL7+fI)Z;t?rxb_vx6&0}d$T^tZ^KZ)=!nM_Wi(vlalYzN4||+f zJkAzW4e~e-z~RK9?-6W(?<EQP!!DbqUU94MINumk1_Qt-ow`eOevDS&Ka%7&Ov(;O zYC8@Y8eHmC=Xtoy4Q_QGyrbKB2+MkvC%krmVC_T<+lTPB8%yAQ2Je+_5ZAkrNW*)q zb0N&Bjc#O_8)4s!VIWzBCW8=%L5MZ5dNdg^!nKDt&<hh^1snqoRFm)6=qz(=bg8dF zJsUBdM1TyXRhXF7*N}@52c05<Tf;ZWvG!M|zPok6k38yb2#mSg?!r~C7T4hOjOK$| zJ-rT7zIsZw2BDpDV~JpX-LQ1i0|18rFo>Mo>VA*<TCe@C!SL{V;s#%I_c~4vtI1*Q z*WwFw$U2N=wMX3{hM*S)b5QgOsA2peZ}ln_YdhywMVjF5wQuk~cQ2viHDuqwWC8rJ zXkY?Duk?3oT<T>oTQkTrSoE+4{H_uFL>AEtNzfj5uOlw?JoPO?$PqSPOP=e<5S{@; z1XEZDN?=CsfGg<lMsjkgI9rA9-7~;7__D{g*9DV>wfDN@8QkdUCAc+^+j`_pWY_>U za1&zaxB^4E30#3;n$B=H=C#vIK(UwtO6Wnf1Nl0S^D^0Cd1EyYgQ24cLa<yp2$Mhs zB1o*hfn43{E(8Ua?MuuOXQ$Wx*!*lX0{(iB^Fuch*mY#I&X^Mn8yJt66FMSR!y9Zc zC&ru*;8tN)gr^Ww1I;s)6FPk#1-cB(0@`JX3HXc}v+YGHYR-bkd75qm23L#`+1?aM z=y{j(JvSEU8fcd;1X>!bYspkI7CJLrEObsJ)Fc+k23=Rgz@lBwQydxGAZ&^w5?2@~ zuAnYDL|k>bB)Ay3D!3l>S-=oR=_=h%EmG6YFJS99iP}W1>1m-*+$OG<O%#PXM^Bpu zx#3YTTkGMfHo3#AM+#+Jb*rz!z}<u2=w#!)&VmjTbjaC^$=*mi!Q^b@3}N+OhC;z~ zBmLt>FcSue>s3Ol^df`zxSa31=`cH+IgC~W*?lmT%NV&+*XkZx^4HDSr8Yy5dhP;{ zYe1A$!U!pcxWYhj1zDI`;OZM1Gu6Hk7VT1xq19@{7xET?7=Ms!fMdPjXz?<;XydSD zxS7u8tc$q@Q(%aR$u8!M`(vpFy1@kAqEBEG=d0H~m^Yoa)o#_J5NNGozGA|dzru#Z zGNWIi?C{IL=(E7=0|hYGJxt8NIS;0d>jJ`CnR<ko(6^v7446Ht=P~BBoD{O7n-T2b zR$@M--O5)|K)4%^?FhsJlT8#+xESga40Q*CLIa{y+M&kza8NCb<gJ)bL?mwAJj|PS zJDV8?p#F6zbB_rtb2AlTnx$XCpFp^EG&d|DRC=6WP72rdBwKYqyI#q?1gs6A-w3Dd z#%;r#F%id#Z$(bRluJ)!nV=x?BLjp~#7F1*7*ZUPJ>jox7vYl-IvdD)OHAWi(8U%= zvSkqJwjlY|+avqlgA|)nY5Pn>46)bs;G1<vki{UwSdYwt`RjTpU0?W2H9X-}y~Gf_ zjuY4$>zm@0A_&8`f5sKzw(aq#A27Q?=#GkHg;@$L3+V|0EmNxv*up@l4TD@F<TCl% zkQ3f;k1pJD$48hqB85M2+um?tyI^}ytV4u<L@EB+g5JR3GLms_ci5Jy<BW-2w(zH7 zde%}3&22m8acbP~tmjv+onK(|*zT+qbAt17m-?O)JC!#EFl)n>Ky7p5EaSAk<7x2N zn(53v>U)A@KXx*!#bn^Sn#&z6+yIGu{*XsK1x|2IQ1~kB72M8~a4HBAZ<#xwt;QsX zBn-BE1Sfc(yKMWRC0Z#mREWkL@e^#2(4j~DigV>e&#w=_n6ZcIt83~E#?|U}BCp#E zk?8<eApjsb8h$&|s4Xt!PU;z#^D6T=Bu|sV>&ECU|LI1jV0+B%WV}J^cVVjah`wtW zfnB!K&htpyT;UA^bj4m)2Rb~?e|l*9)DK+S$8PxXRbY*|;j%Qc7qmwP3ODf@LePer zM1R5oV8J9{8Ng045G*C==?s<WvAr$)0r$KO9_L<~3vy|mSb)RU8-xJZEyA#qklKpP z&Lv~p<gx81IkFI}HlD($n#*|v!hpdE8VIJG0@DKeAhGRDW?~zBx!pdHb-1B=9Lwl? z;K|{&3Hqo{(*#nn@pP-7(4@Dxoo!SXLK7S@T?#A(hKl(33D&cE6&qu>^Q=cbiWn{| z0>;q~`##YvPHJpdLA@T9gs^?cxu4tM{Wx1<Dg=|#lXf&obH&>1!C@2E2i6rjfi-ew zx4NCX;GNKhOBf9XqJc0+mknln+<Dx2QN;mK8$zY+DsL$q#(Zy8@3MIv5wwrEZEhTo z*&cE1#=qCqB?&<8RI+$>C(21E?^X*^)g^uGKd3p4v&xP?jaIKe*b#dO9LI(OLrePM zH$jyfapU3Rh!Q+gBT9IB@Pihd)(sM+i0u$g5L?tG{X$RRR6lY{*15$!@O-}dA88!V zC-L6!qq3_}yV>1qmwmswJSd09f5G$0#*+io)<!L@R}0+Lr%6wql-h_)Vi`B{`b#>d zR|^hRYp%ufOzsfQQ8gtU4_4>3YHz&2lj5^@ngn;Rv{B7sKzQ!pIBpW^_fn&$@FN-R z_Y17|BbC@!|C2%!2lA<a#~~4ZNbbHRvvJ!ma2=F`$LC@{m&yAv?$Dxv-f#di@IEAt z&qsP~&Dtc2fp+#EEC&a5?!Znh+xyQ|-@~m_90TV<nZbYEhnsOzY^SvVgcSExT}ba= zt^pHo_%Ru`0dljxKqq&3?UOOclQ_24j{Xi$Fa-v>ZD)g5v(>=BCF8-so8BDF!C7>@ zcr4)Jwrp_FWH42N&DlygFb`kQq=tTp#?ePWXgAJ_gC`@R34Y%Tk0pd=44h&^NBBj_ zlaU9)WA6%nc%M3BpjLur&1*P*d|~Kq{^r+ubbv<)b|pB(d9~Z2A6Vmds5r64>619J z#wrtM*0|S$2K?a-{nXm+5XaWqBAld)FI9h{J;jsrCwG#ucw|vO&vxPY2=P;b;u~8^ z4Zo@M<mm<wX@emY?or~-2X2!B(McBPG4$3!8a%HK)V~#|J~upm;7by^!2|wEy8e@5 z+LGtdlWm9c<Ym_QbHsxUpZce3x2zM7r0s>Z;HMh{^Knms_qSfecaC_2{71jx7q2j= z28d@G5{~NKygzYj8<~-8sRpuR&9&lw-(|GHQ*M7^#WY-tFHJT7!<;Yuu?<%8`R3-Q z4d#}wR^hi^+Rcr>SFE-fN)$gbgKsY%9?W09438k3?oIy~Py07si5HKQ*ELY5XZ-lC zO)X>=a$-;jny$8f@ABaTC94_tJ3B56%l-cIJGg@Iol;QX@@pTP@iv_ty!5NIsIW}t zyW*-BR+JUXc#)etq<F+4ynom4lgla!i{-+_zN*3nKDo47F0b&*)s?=Y(vnhNak4b4 zu&TVYe8K;;xs+E}g?EeLg>-UhIo{G$&6m@a7cINnBEhXoj6NvJt(0K_-ciOT{)L6* z@~uVY5JY{lKGd(vwJ1>Sm*@NB5|H_2j8VVvSCv+l`TT>8c0;P=IU}m($|IJ@v%J$> zZs%|TGIik0lt&cFIeLWvnZxx`rqMp9qH<YP=>q(==&+)6*_oA<B~S8|;RSZ`Wb|LS zxI!-W$*!_RzS81CdHjMx{VH3$?06*JxHd9ST{&`o)xG9~b>s)>rWP(Jt*Dms$^r{Y z%VoE3v9GM6a*?mxFX#IT7bW)^KcxEJ<YXy-A@o$K6Zw7B{%R=8Cl>{(@G>_{;4;3? zuEX5o=@WjEr{SG@n1{QQ<q->q%OgfC^p#a6%lPE+#eI<8kGJXhie=*E>LR>TtsJB? zNeUyWMq3NDfx+Cus1}L$1R8n*IbQQtRX74KrK_GWr`lJ<Zs*R)=G*Az3KkFIMRYQ% zDUMuHRk29MY?qdo$|M;nPxtxcg?@kK-J?d83!UhrtsYrXwO~{`Z^4Qt9jK-S7nT>x zzNLkWFz3}HA<Kv*l-#he30+RP(2EDJ29%eS`WMQxTn|poojO_Oo9hDAa%o8iHG+AO z&sSWnTTi((qKN!W6P?hd>9B)#{y7ik=I7?Py#Kxf-3ZGi&T5Axsw<kSgjLm8To^g# zYyL9%)&P{b$akwy!mUegWxwvy#ig*w&TOhlPh@#u(R{45iV`^|Z$`B|Y{^1jxm;OM zU0sS7N8$m2<mq^Op6tW>_TWM)WPK(^pvS6e7&Yt;Z-ER{75O060^i7TpPvd_RuPaF z!l%gJ3&1ovzsY#hWMLIv!nlCavO7NwxVoamkGa8Y=U2$pf%$lmp<G#rH#qvLxq_<$ z3l@NZT)L>Ts$#K^tDt&#a&;FH(KbdDbFp+S6;_P?8FI&*@0888Y80-htYmoXPq%c{ zT@n^m1mIHXG%E|MFfzee7_&YZXjIL<JM}nnG`o!bm85nP|98WXX3)s*mYjHPA=fN< zkEo&rR{E-nDg)A}Ky}rqYP<l`H>ym3<EAlV#^RCkrcKYCEzMk5Rdn}~yQQ2?(&Gh_ z0ik7`5#H7~N*{*g;VT)jT74oKu;2E!#KM~SUP?W<pti$!JCv&LHkcJvz%Yjt%T+#q zpsE}u41Y()dRLfnz8jJjLnJ)o2wW@|tcDa%7&3B9$vy3VGVYP_Zc-7dBy%xJhIf+a z$|Sn#5u-CQ?vh|#cyTBN#JrqBAfEMq>ED6>0pBfMwAs)Ft}B@vx}aML93DsEPx?!C z{2Kx@mWGuF%F5EkwV_ukn5If47nud2^~FFA!@nWb>B-Wx2PDHiN~Rl=+@3toRJUhp zzBFU%15>BXnko$`8B!#T$Z(DxGdA<iyT)b765r5@2{vBG%8ABXJ}dDa)MT?te*vmd zgBPCqyQo<jd)Fu>8&Xz$j}Gwn9+ae^L#l^Pzy*pxwO<V>Asvu{fK}83hMH%@PdH6P zqJUp6EMeLKn?$^-C@+THSwA(kBVF=PSsFTYs3iC5D=JMjd{b@~`bx2G#A{g5b(OEk zSGw3&JY1fSQh9}3w6GMO#aITC@sd+nyz*46vV!S31=FDVf+?=ql4Ug-n#59GEEiT) z6)vMvMPI|<&n^8w1TS5VSSBy3s6ybZT2MWB@L(yYu$<mZypI-1n2h(;R#Y)xt2V3n z>RD!vm_oelR@6LLh<D*qD&zp@uBZZONReMxGEx;Y^Ax$I&u=D`cQXW5`6monAj72t zU=f>nok0qWnZbUII##3StX95KFY!8JIq<D&2BRw7`!TPOhGdLhs(ZJ^cunwB*W}!3 z(+l#vGbZOwEtsC~%J&qwb075N<WGC>A;>>U{BMpN*$`ENHw$BQrdEbjkDM(&(h})5 zd1{_K9f<>!fzDv2NTG+61x%;LSMZ8#8ZR3b6eef=6};33n(|e|dab1Ac~!pe1<)sw z^U4AwNPb3QWV%S}v8r?nHT71;7|86Pknt3+2WG4_J)%eqmf*d|LSx{7S29=m1q*9F zX=c(sq(fK^Re^H3uv)IFfLSmo!(EqREu)A83vt_0KU{=<yslV8`9jE9Q6`s_J_=(A z6jv}GW1NRjB6ralA#yD$g`-E7FkCcaT~WoNMM&lDjxE64^2K=La4}W|HWWo%rOf#r z^)2J8i?R4B%FC8vIF;BjAc9qu7KsF6XaSxN6CcB@jTxkdE2;{smI*bBw;vmHGs^kK zY${k^oiRdvYJ>@ONNpu+$#{?Ruyk4Xc-VD}GHonp+SEz8lMC|jOQ}Y*A7KRLk(g86 zBt^_N(%n&f@3e^LIu=EvMq<?{WX`cNqkfDkR!!p?O3#8kn{P-iU0~Q;`?c;*;5}ls zIwq!fLvMKDbFobKNed7VPNlGX87;QF7@3{S?wRUwlJPO;%SilVZ7gyKT&yEQ|0bw0 zFaC$nHX#0<4R|UyAMNv=X=`i6^}J`>+8XfWb>wGlZM*TPu>4Cv;In_#)+VET0x%nJ z<F9eR1K0w%9`FE;2htKihvSJ1z>Pen06YLVkLBOuiDy6wrxa@dvjH~()&TAXYydm~ zcmS{!P{x5uDgyFGzzo0>JYWG##pxE`fR_!p60j0*JzxXiZorJ+qaB`*p9h!$SPz&7 z7y+yVYyqqX%wCUntOq;*cmS{!F!et%j-KEPm;spj2gnZ?0o=&)A3+b;0N4U}0x%W& zs`(T80j&Qo$N?yC1V6xyfT_J8*I(M&#u09Y+<-NJ4S<y|wzWlA20RRyjc?Yp0?L0! z|CsoBfC^wG;5@(@z@>zEkaG)QHXe;l!gp8d0fzz3!(*y>fDyojfbz>2FUx=%0Z#z# z2CUzP$It;AB9N;O@QvULn7tkJfR%vj0i~Uw18jK}{PAVE6HRSxvjHpjf(|eOxE?SS zUzbfyK^bs1V9No_GoXwggV6xz0W!I&2TTKOz<Dp<6j*~VC^i5_@D)k^9&W~`kO#05 zU*xR^JOOwZkRNee2WWfjLCLl>)i$6{&!l==&s5@hgqQd8wzfL}%}>|#lH>q^pnn=N z!)BzE)JZ96_uG3fNve_VyXl@g#yG^jkTh=mOZx?61e81}slmAA$tg)LXb$I5_*aa7 zYf!(Fh>0nwKZ^6Dq&*$)Ns+?|6H|t*N}QaMv7(1NWn8f5q?CDak0qy!bERasQie@T zkte34p~Xa#ofzLHut{6n)`s*8--Jj>U6hg}WPKgQY~cUNMAe;=8o%3y8vR2#PUBz8 zPhcY)kB|f0pN>Z_h8*a1MGqI{_;yNzEB^O!-Ah8fjYmHlvGy0?+WZio4}21Qz@sJ- zkoYp-=K(K{Rv{m&slQs_7XtrJB3#tp<dhS@@xylOa6Jq@#6^VBj`*#>&jTJ`5AT3~ z3;315<NKT)@cb1=`XoHj+X0^d-?at!p~M>>@*fEN0pN2?ByspR7WgFW2Wp8|Qc_pM zxl+=C@vanEmp32vOHrS}`Ug_vdB*(kEn4-!rxP#6IR$nyvG)w4eiiDu_vl>zZKIxk zcw-m!X8YGsAL*ig8rsuFPotiDsVCV#=6_Y3J0)!e<qjqkC#R(42t!kPS6i-gOf=iz zBgPM3o(5muS<cypocX99hI$7ZSjL%W)bm~S<4}Klr+RZ7t5L6@UaV6~`-jk;^Rfx` zvr$i*Hb3m^b>QoPpGYLyt>E~A@wq7(i&D~1cA-7#J_p?v&<XqKKv$5G2Kyo%$2l+o z`T|{+!7muM1U34Ha*RiP3+ksEID+B$mk<0n#I)5!2t7}Z>G=uh7F}XNyJP;L7WC^u z|9gY}Y5IpS{llsRc!3p(?v#vRkGQ<#lwp{wm`6~0yE|b#y@lLwfnO40X%6|JvtV37 z%pY-FpHn{6|A_TmYH>e^jf?gD;2+kbek|+VDRL=V=Ll&rW}wERemClWf%U}kg(>f< zcu=lLaHk9lLf-87Cv8GntPD_Kxa5To=gg1x!w{>v?%4iEal#J?f9Rn<#CTWq$e|ya zoKj<pUuf&n4^5;<4*c5*ep|wAZS*_3zR{~;*I<CVaQeKQ23-U>zz>KJ^DfpcdRwH= z3MT#mW1O7dfr#}oa)B`Er%{i3e`A4P1AKt^Zxdg#BPA)97c-M_MZq{uevyy4#3kt4 zGR{u^Hkadcr_|fxc62#RJ&sVG4dB<X0Y7_<YxBeT+6nw&;7=2opOPB44HGu0w?d_} z-AAZjkKDr;8mWYxd_{i1Zz4k2Np8&VjwKCpm+U_y=VJYX^cO;}x%3wgq-4Z-lT&2Z z4%l-OX83hIM6thowA0WIza#@C=zgB~GT>8@`}85+_z+(Ud=l_T5n><O*;?Qw;J+eP ztRsZr6<E*cKkoV1Lb|_qe(XBe93%DrF4{-Xeyh<w9Cv@rPIGlT&4`<ZHI##Kn0D$G zt7?)3BPM`)9u9qGAXl48e()1Zp=Ny*>vrKq{XEpa!Fr+3xGIoLp?pbRT{4c>54t4e zdJmJ%_|T450iOqaK5?S`11V{67^ykBO%Y8wHi2#>=++PcIpScxNt4_8zeWCkZEL&U zsGkZ$U_1W$a4PVBBwm;AKh1?nef2?3*?{`^j_Xp`EA(ZoOOYQ;PRWb^F_$G4PnU_x zc<_4!{N`;!o)YsDSm&!4Z&uK+1ru{qHpa!B)ty*u0^03;E!+RCt?fIMcQ(f9PD!Hv zHUYmL_-_%9{HFkeV1KUz9|8Uc-Sr2*6nC=A?nL`O$dyx(V>fqfFZ`O2mwxRQjCvSQ zF?n?h7>@qEXdgjt{t4xRevP~U#7qc{2xJ({Sdc6SJ#+OC;*oCO?eUmheSogm4_Lv0 zDq@1g_|fh#a(B*|`6<T5>y#h4`(%Tkk!QC18{t>Q{JB#q<L4M|6)qbjv9RLq9iP|z z%(~IfSV+?PN?Y6W>>TUz={O}8ufWWRSNEqxY;jA4d03+s+u+0bS`I$*B6tP1VQ=BM z+>Z7!IVF-E{{R&Z4l#ub7tOJ6Mf*JLK}OL}w8xRI#w+4TN<x<oR?G<X+NTfJ_a5vm zaBY5wcK|;d_&ZD_Ap0K=d?oO95{dr3%%_zu^6AMb^Wy(?T~~R%!E-F&D)#?gTiYSx zz%R_WXv9@vf7mC){ViqKWQ#I5?>o`%FxoL6?_LjLe=#{F`{6E?;OYHnmv}QC4hQSu zaL^my$DRz=x_yiM3bSO3d&snJ*5Q+ne~*B^1@xJQTt;4l`7!buWM;u0lT!}Z;x;CK z%}^%wj+>T}F{xwDBl6fy;CuLZTbqv^3B9-Pr$qjsFn>@OSEr<8mvyOiPT5!BBb{h# zqxt>+pZ{+(&~Urn?>qyVQqW}h=?tIH(GpBve0JZcLrx_>waav9pe5-SvOo;b(R@X> z_}pZcje5pMe$4tWuC`UMyv8sNq>kcKBfPLAA$1ZTo_p~F*DF3X^u72PWRlqHqRgKL zv3?9PDeafCK$|vLLtlmu?UNs)DBYkJB}HVj?f5+7+{2W+)le8hq4=2no6tb>RqSGX zrhcy)<%nIUXfw*DTsUG8^y20hNG=&=bDSpM|1Fqi%u8o}J&cLF-hj6o@J<6xGT=-D zmKboc0aqCCSp&Xcz|971GT<Qto;2VE1NJZs>3Rd+ZooSYILUxB4On8p#Rgnqz-JBk zf&n)hu*raj40zIj7Yx|LFx2Y}c)J1bG~gry&NN_&0T&x^g#n*6;0p%aY``W19x~ub z170v-kDK)wx!!=c8}Lp8PBP$31C|(Yu>n^Y@L2=CV8G1=Y%<^>1D-VC1q1fD#pvIF zw;S+I15PsFOaqn}aIpbb81PvGzF@%325d6mAp@Q?-~|JAw#Waia#DlbC99v*=xB4D znnX*Ci(hn8Uu4wRn-0@#Xuv81uB$OFI)Rx+c|$k#3p>$wSIjf||BJ!r9|okqq;Ii4 zL~!PX_j*Yqs~6&isK0Q&gxfi|KUFD>#63*kNY}*N5&psjMrlELVC4J&ZtRXIEtW>I zw6L&xp)|61S$XxcMLP6X={4r#3xdoj6rirkS60Xd##LpRpIw&XuOE*^Nh5KurWAD* z#fAPtX{2vqK?xthD_B^Jwq{9hQ6TOQ>n+Ud?-qd!+zS_#7D0{*Fw_~%udWty6%_mC z2NvLgwnw3c|JNV-VcLl4ug4h|CN!3Bte?*I#4}OG8nZpmF!?c|EK2Qv6521t)nNR! zw)Y$DP3Y)E-?=^W-wTK-X8&f~HK9051&tYp&3I?By%!hMf!W@S%O(^*eTI6*ZPJ+S z&A2!TIL2hNy&30Y&<xn1;it3ycqYJ@X|^}xqzPXVt=i=`=}b5W^^C!0*^I*`tT)<s zmft{2-^B%WYPL7?0u!2fL1+D$<M(%JZ{`^$H1iU+XYSQme~$x4oy77YBLOq>Gb4P0 zLjQE0f2M8L_AN$x6N-B<W@A7j?TNwKPVJ>Z2C)I3df3v~(%!`W5Es_|%{<bCW<F)o zcb1>?!}g~B8#o|*OlaDHj+G?YyfEMzzz*$K>J<$J<k`RV)4Bf_P-$(S7t*Os=*Imu z>&Kiw6Sol;B#D{%FJ!&y7dq%n-?_XMWK12+_DM$jq;J@MH`-Euvwf=3KJ^>6e*<l4 zduDqxe@rvln-gQ&rzyW_N8EE;`#1CQv|pkEAFY%A&Gsfd1{!O7sX=Bl7=ZYzR~nZD zvgMkWAK)K(net1&kx|0uH#%6agV<kFZWD157dEqCg+}|%^qpy0j`eM6pK7${7Z$9a H&h7sno^LCc diff --git a/roles/nagios_monitored/files/scripts/check_localfs.sh b/roles/nagios_monitored/files/scripts/check_localfs.sh new file mode 100755 index 00000000..20043ee4 --- /dev/null +++ b/roles/nagios_monitored/files/scripts/check_localfs.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +STATE_OK=0 +STATE_WARNING=1 +STATE_CRITICAL=2 +STATE_UNKNOWN=3 +STATE_DEPENDENT=4 + + +main () +{ + tmpfile=$( mktemp -p /tmp ) + r=$? + if [ $r -ne 0 ] + then + return $STATE_CRITICAL + else + rm $tmpfile + fi + + return $STATE_OK + +} + +main +exit $? diff --git a/roles/nagios_monitored/files/scripts/check_munge b/roles/nagios_monitored/files/scripts/check_munge index bf7c01cf..5e94412c 100755 --- a/roles/nagios_monitored/files/scripts/check_munge +++ b/roles/nagios_monitored/files/scripts/check_munge @@ -7,7 +7,7 @@ import subprocess STATE_OK=0 STATE_WARNING=1 -check_munge=subprocess.Popen("/usr/sbin/service munge status", shell=True, stdout=subprocess.PIPE) +check_munge=subprocess.Popen("service munge status", shell=True, stdout=subprocess.PIPE) munge_status=check_munge.communicate()[0] if "run" in munge_status: diff --git a/roles/nagios_monitored/files/scripts/check_ntp b/roles/nagios_monitored/files/scripts/check_ntp new file mode 100755 index 00000000..6124b606 --- /dev/null +++ b/roles/nagios_monitored/files/scripts/check_ntp @@ -0,0 +1,21 @@ +#!/usr/bin/python +import sys, os, pwd +import getopt +import commands +import subprocess + +STATE_OK=0 +STATE_WARNING=1 + +check_munge=subprocess.Popen("service ntpd status", shell=True, stdout=subprocess.PIPE) +munge_status=check_munge.communicate()[0] + +if "run" in munge_status: + print "NTPD service is Running" + sys.exit(STATE_OK) +else: + print "NTPD service is NOT Running !!" + sys.exit(STATE_WARNING) + +sys.exit(STATE_OK) + diff --git a/roles/nagios_server/templates/commands_nagios2.cfg.j2 b/roles/nagios_server/templates/commands_nagios2.cfg.j2 index 6bc6f668..385fa645 100644 --- a/roles/nagios_server/templates/commands_nagios2.cfg.j2 +++ b/roles/nagios_server/templates/commands_nagios2.cfg.j2 @@ -1,8 +1,8 @@ {% for service in nagios_services %} -{% if service.command %} +{% if service.script %} define command { command_name {{ service.name }} - command_line /usr/lib/nagios/plugins/check_by_ssh -H $HOSTADDRESS$ -C "{{ service.command }}" -E + command_line /usr/lib/nagios/plugins/check_by_ssh -H $HOSTADDRESS$ -o StrictHostKeyChecking=no -C "{{ nagios_home }}/scripts/{{ service.script }}" -E } {% endif %} {% endfor %} -- GitLab