From 5e66f60bc36fa15038d7baf4bc7028f5e49ed7cd Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Tue, 22 Mar 2022 20:54:41 +0100 Subject: [PATCH] update project --- agent_based/curl.py | 28 ++++++++++++++++++++++------ agents/bakery/curl.py | 6 +++--- agents/plugins/curl.ps1 | 2 +- agents/plugins/curl.sh | 2 +- curl.mkp | Bin 23789 -> 24024 bytes packages/curl | 2 +- web/plugins/wato/curl.py | 18 +++++++++++++++++- 7 files changed, 45 insertions(+), 13 deletions(-) diff --git a/agent_based/curl.py b/agent_based/curl.py index 38f53b8..2350da3 100644 --- a/agent_based/curl.py +++ b/agent_based/curl.py @@ -23,6 +23,7 @@ # 2022-03-12: added cafile and capath to Cert info section # added max_age # 2022-03-18: added regex pattern match +# 2022-03-22: added curl_error_code_to_ignore and http_error_code_to_ignore options # # Example output from agent: @@ -268,16 +269,29 @@ def check_curl(item, params, section: Dict[str, Any]) -> CheckResult: yield Result(state=State.OK, notice=f'{label}: {value}') if curl_error_code != 0: - yield Result( - state=State(params['state_curl_result_not_0']), - summary=f'curl error code: {curl_error_code} see details', - details=f'curl error code: {curl_error_code}, {_curl_error_codes.get(curl_error_code, "N/A")}' - ) + if curl_error_code in params['curl_error_code_to_ignore']: + yield Result( + state=State.OK, + notice=f'curl error code: {curl_error_code}, {_curl_error_codes.get(curl_error_code, "N/A")}') + else: + yield Result( + state=State(params['state_curl_result_not_0']), + summary=f'curl error code: {curl_error_code} see details', + details=f'curl error code: {curl_error_code}, {_curl_error_codes.get(curl_error_code, "N/A")}' + ) if http_return_code < 400: # no connect, Ok, Redirect yield Result(state=State.OK, notice=f'HTTP Return code: {http_return_code}') else: - yield Result(state=State(params['state_http_result_not_200']), summary=f'HTTP Return code: {http_return_code}') + if http_return_code in params['http_error_code_to_ignore']: + yield Result( + state=State.OK, notice=f'HTTP Return code: {http_return_code}' + ) + else: + yield Result( + state=State(params['state_http_result_not_200']), + notice=f'HTTP Return code: {http_return_code}' + ) if ssl_verify_result == 0: yield Result(state=State.OK, notice=f'SSL verify result: {ssl_verify_result}') @@ -473,7 +487,9 @@ register.check_plugin( 'max_age': (None, None, None), 'state_item_not_found': 3, 'state_http_result_not_200': 1, + 'http_error_code_to_ignore': [], 'state_curl_result_not_0': 1, + 'curl_error_code_to_ignore': [], 'state_verify_sll_not_0': 1, 'state_expected_str_not_found': 1, 'state_header_str_not_found': 1, diff --git a/agents/bakery/curl.py b/agents/bakery/curl.py index 692606e..8c8045b 100755 --- a/agents/bakery/curl.py +++ b/agents/bakery/curl.py @@ -65,13 +65,13 @@ def get_curl_files(conf: Tuple[str, Dict[str, List[any]]]) -> FileGenerator: if conf[0] == 'linux': _os = OS.LINUX _script = 'curl.sh' - _curl_output = '-o /dev/null' + _curl_output = '--output /dev/null' _temp_path = '/var/tmp/' _conf_path = '/etc/check_mk/' elif conf[0] == 'windows': _os = OS.WINDOWS _script = 'curl.ps1' - _curl_output = '-o NUL' + _curl_output = '--output NUL' _temp_path = 'c:/windows/temp/' _conf_path = 'C:/ProgramData/checkmk/agent/config/' else: @@ -400,7 +400,7 @@ def get_curl_files(conf: Tuple[str, Dict[str, List[any]]]) -> FileGenerator: url_settings.pop('ftp_settings') if save_output: - options_array.append(f'-o {_temp_path}curl_output') + options_array.append(f'--output {_temp_path}curl_output') else: options_array.append(_curl_output) diff --git a/agents/plugins/curl.ps1 b/agents/plugins/curl.ps1 index 5df2c07..ba27c30 100755 --- a/agents/plugins/curl.ps1 +++ b/agents/plugins/curl.ps1 @@ -58,7 +58,7 @@ if (Test-Path -Path "C:\ProgramData\checkmk\agent\bin\curl.exe" -PathType Leaf) exit 0 } -$CURL_OPTIONS="-q -w %{json} -s --verbose --stderr $TEMP_DIR\curl_session" +$CURL_OPTIONS="--disable --write-out %{json} --silent --verbose --include --stderr $TEMP_DIR\curl_session" $CURL_OPTIONS=$CURL_OPTIONS.Substring(0,$CURL_OPTIONS.Length -0) $CURL_RUN="FIRST" $CURL_RESULT="" diff --git a/agents/plugins/curl.sh b/agents/plugins/curl.sh index df04ec0..5189a27 100755 --- a/agents/plugins/curl.sh +++ b/agents/plugins/curl.sh @@ -28,7 +28,7 @@ CONF_DIR="/etc/check_mk" LIB_DIR="/usr/lib/check_mk_agent" TEMP_DIR="/var/tmp" -CURL_OPTIONS="-q -w %{json} -s --verbose --stderr $TEMP_DIR/curl_session" +CURL_OPTIONS="--disable --write-out %{json} --silent --verbose --include --stderr $TEMP_DIR/curl_session" CURL_CONFIG=curl.cfg CURL_RUN="FIRST" CURL_OUTPUT="$TEMP_DIR/curl_output" diff --git a/curl.mkp b/curl.mkp index eb67f881b55d9c668db2d90de7a9fc1bda70f58f..15c0725660715888787cdc2de7d669f0716e3c2e 100644 GIT binary patch delta 22945 zcmV)1K+V7HxdGU_0T&;O2nc~GI${F<V|8+DEiy1NGB7hTGLaV{4drcmmZ7L_wyS^z zYI>1HLk(@LZEW@W-}U;v{(A3`l_3G@k+&%q<@gh`u5CADv&sD0anIdGjm4fuYT{>+ z_dWvqV3RiiDS!D_c4>XJ{fBP(MxWjQES+BL3P|wDap(7h*l&(I_U;0#@pA4=#?11) zIizESDd0wPe*%q}PO<F7acvfQ-h@;0CJbl6V09JqbOXB*k~XvN?a@56E+;nPg4A`~ z(PTcB?T5sfHTnuo>9W&^QYp~xoXLdE1Djnwu(5q*&3`Anr-Fwdw5M$5d$$gPrM5)X zR>1eb3+;ixiKF4#_892Qt}Mr&JizN616ByIv!Q3HrqE+|p8vI*hVp-Vb2hSE!g~5Z zJuMo`>R5QFp*j6Jt0S;6aTwH@)=l1Y2CRm}6lh@UXgGOy?!>dkLx76oNp_kThTR)) z7J6OJzkgo6cEX8uxjMSBM_;F3S8r`#6u$%PV$a|wFcft(0lji2b^y>|cq69`FRj2H z!}}TWOLz9rxM=H0@@xU+;2gawGs0NoBn<=~-6WD`K|c=f&b}mIGT)sQdTAi1cIZ2! zKz+J+LiAm0YLje{?Q!SRp={F@CWJr>J5~Hpet$t@%&^v5TkEZ_t#xmE-F|mX|J<EA z?$EdYHg|lYPGhax>-LNsqSMC$Qoq}K-(54a%md_t;oJ=!?7#!hwV(b~#Q%2==>P6t z1JC^j>i^zmT>tlbZ?~5E|C{LlI@ka80jn45|9YF%HT92$Qq=#s`wYeY94%f|WuLpx zQGdqOG%wb*uuffEfu6h1Q;j)#@H|Zso|~F5RqYWMX<852=($=CVUmIXV8GLn(u4Q2 zy3j853&_Pa9VMHZ4nf2;T_OoI9RUILMiA1}n_eiU-s+&<SRJ(+4IP0u>9W+ZgkJ^S z@Ow;^X<rRZMp;pl=^3OV6L5qg({t#041aRD^T`B}m6{ilw*GbW+VUy)Xd|VIityX( z|F;|X+tmMSYyJLG|9^`|2&Qi}|I>fF@s|JH+!UnR+}PZT`hRnM1MR<!-rH~4|BQV{ z>OCi4(f5DRXXOv8^T1!dblg?jy=AipFb3WA+6wFZ&;ji|2K#Hk=HXT69j4S);D5^} zXJoqp*c3k>d|^M^uI*bBb~L}7I3xLu-L6sA9kMOa`p7aVArmS+#s)0Y1b{prz=p#- zr~x~@wN8JtMir3YVjj2c&|*OgY4^r=g3tl0<u}I<|IWtV2x|^p@9xI7z<{92$2LKT zAP$&s-}z1$+T02R92lrkEzepH^M6deTd0#vpQ|fj&XUmwg{D@>P+PL*r3HA+!`VDU z^d@Lgg61_!)d$#QXfd~bR;7*81-jH*P_O=2V>Iwk8-va30syp?;SKaX=zMw&oWI*c zX;_I@Xz<wf;bjI!pZb^zTS7vUtWE6<?V&S+vVhmrZc_&hg|#5w1TH#_)_(>9-pul? zX+Wg3z<j;6CUZN`bFL5A=*Dud(f9>3Hb6q5tq(lJ&@UyUS}*WUg0}C`kAMaRA$kY_ z+3GNm5n+Hd1jBlGMTWXZj*0@Z-sx>hAi;b#^Zbwy3~b9E-JlK53C09qz2H__!Ege` zo$ZItl`}#fMZA#<%u4&fIDd%A6uJbRma$ER!6CXDTcM@rROB03#7N}jSYSlopkciW zRdLz`$U{^~vL~n3{SXwp4px!Qx3BGc=o?^j--Vpv=tj#I^&YqFec$tki0?4;hR(GM zo*H39ouB%Z6C4N!1C;IEThkddLJR~NC1i07Xzcy?<BwR)Pe1(xFMp4sDfPtoN0VM_ zXT8W}sJHdpNZ=R*N)LhwGP85_0AnZsj|yS-jIxxEn(Eu(+;^$1l&zPN5xUnNqHT}z zZ9b!XZLZ@oGK<kuBBwQ*mCrl_Y<<fOu57<VZaM5rWJOgORsbD(p*6|Rr%RDc%IbnA zqnC8Sn3F|G%Zxm_41dHdX*q;kO#jSfC4OtV&ZL!+K^M{)SZI<vD~BP@6^V_EPsT9d zgLPux+SIVEy7>46f1hx)I#UvAI2R~?V<*=5^v%NzXJSP92WJ$v*^c|r28ADlJPQs% zRL5Q6`*wBLLi-K8>~wGYT>uG$u&)9MwMi4mADmzW3f6x(rhh@nXO(wRG0KEiZJ`Ry zYCsGE=Aaqr?SyL`@q&7U|0IRXi5Bn_9V;K_AACY+7!#KP+Xjh)nfe3P_~Htcfm+e` zLT}_vaDGS4D#>Y=8w)3eOa(&|H?mNJ*9=m+@zDbHFh-@|xDHr56JQ$oeH|+WvubKh zP#pn1Xf`Q$aDPMVp50k|>S^Tp$m_Du1{B(1SGEPB4n(#uL^)spMh%q#p5ry5;sUs2 zbwOis(t+XZgB^qly6xh0!WaQz5~yr25S?)H5G{{1#!kR9K@CKS4ze5|>jCOt#S|OO zmf@t5N5p93#354T5<WZ-QlOGNK*f)!IdLw@vk^@Loqylh_2%#mF#~b$O~7aa821mH zGS^^^xjca;B7rtC_oXchj3v0ORB%{MhsGsE32<+X-V{;{e-cEI2^4taH{0>Yayrzv zXA^<FNC|M_2-TgOnv`{dB^D^&c#pN69x-b)vV#D+&vg`ka5y}PO+1_|^whg35PE!) z6;y#Untx9$pV~9`N5nH+e0u%^^-|Q+ca|IS_W8Coy6LjdNEYu3jcv>c=9XwaS%mn@ z(tr^Ujy+qj*1Z#i((30(%hsW#rJ6SjagK9>&HL>Jjj1~eMheI=KCo1SHL71)qpu9y z1Q&P;V32W--~wnm4h9&EbC4<e0(1j%(#YqA9e*-A^@K;DaiZ9BL*JXoI%u91dJC*U zpq@g!FA%?@PCnW>Igwqwo6?&En7;GMM6ZZqG!hkLlolW6G?kv-sJkk}!FTcyFb@t_ zFz#@4qYzM4uE!hmXO3*UVq^ZCXv~HId2Q{jaJzEI1erQ~e%>4_3g)JOIkH?ViF4h2 zFn=cpIf9@Oy^kocYns6~YEe*8O8jzqdbGO6*`v#LNNi2)DKW{|4#|m;05I<w*vQrt zdtqWd09SJ*0sjTw)V{+(aE%T(c-q`Aa8aIkuD&y%f&Bp@FaWKEp1G(J{X?7M&zW@! zosZM_S2V&y7$<>3{jDU3YJXru_dBlTKY!>{k%Lv3ga8x#eHz9huLOwF>j)(VAcSsB zmmRtjTp&O(BG+xMI2Q&Ap3YJ46DUdRXH^O&C3z7L=g;H4(__|*Mq5iQ*a*QO6{;M4 zf19JsR{h0aWf|@Tp#Mn}R0~_C2tpr<IvyGa#Nph7^6gg2S;5nM7C|XY;jsEqH8@hO z@#^jz^Z^B<h%~L+N%&ma$U7Uo9>TFMK?DgF;xM^{@`&`a8Th=wTUV^pL1IYJrka6c z_&1aB3KJQnl0t56GtrADr-#RaC6X!#TT2-{usF!6lN}2%f8GKbMG{+@H!;3J#y*tD zNpUEeGP6g{6*U8rJ2)&MqXXjudz{oD*Q%aRm<g!|!glPC53Q^@snd=Qk583G!zw5t z#?kBmsEQLVT*4zc17%T$u|kF(3!%khkJLmoq~`%9kSGQlI|M5JL88@9bS6s9<Gqtp zjvf9=U`O02e-j1EQFo#f4wfpREo+ZRur9}xPZCFTE)6D1s0)yFFd77V;`*g5zM+OB z%5G75-^Do)6p@hFksV9|mUk!5Ct)D(o}7GA+EBv*lR*@YgB$BBsZfJS){!Uw1S}~f zmT0RXNx?>N+&Rv!Fc_B;$ENX1E`uzl;E{OV|Fox3e;(Oe45P@Dgi+%v$=YQ{wm)@9 z;|G6~ppbt*eb`aD59Bs<5~bkJXyC=$^j;PeQ)lMq4dRWt%dH(H-Ee5hRZ3pTmCR#E zK?Mdy>5d@7<pUr&nV=B@a9osN6Gx2B(3_0a$~DoA+O4ox0FjSWzbi3sV1boDbtG;r zhV!^If0GH?TJgfhrUY|kjWl%;4S5*t*EEzImCNt}bV<8`{dwx4&*MI*Y1jabR+@?i zA#{hJw5eY1EjnVWgmv#s=Tl})fp(EQ_l`WzuP$(pbmcUW<S8FX*cc#na0WBrwl?`# zR)B-k61J9f2R%V(;TCEFM3&&W1boId=U>Uzf9W!k&GVTwdZ5X3Ya&I;26EMB>9n%Y zp15Fl@QRf$*B|ixi8I^w&l>>^K79%nWXZ|NFYNP&P2hWw4gL&F-^edL{8d3(6Og3R zapYJ+OBDJ7+)ekojpi{hI4EM;v;iYEaKP^;{cMVe&2=dv{D&D(z;>_E>`burCW@n7 ze?H*Quu2vo^N{v=s4|<8mk7oyX$&9^t$CmhR{6F>K6K(8)LSFlxy{T?hM6=<rGddU zxkgi!{k`G&qPUM(idx~!ZlYnbg^KG4y2<DtDQTdUbEpmE-iUVSQ1zT$cX#v>N(*f9 z$rNakckR+tx>8fN%NMIu)-@WTx7NfFf0E|Q@hA0ho!E?z8nQZZ#tod95zTO@Y#U@t zNLvjR6Sk42gJSY-i<E=t7Mc}7vq*?K+-u|8cMk0vvf?Jh)>i6dPQbOw9`S?9`&Mu) zP~K-a*W9Kt2mK1FJhHbGvvV()SXIc!D^(Nt_fVSxjhyfiX`$JoE<25^2$l0afAy-= zCCaBs&;7O+*;ivH_zDbz!Z0H<cJMxk-)rDM`ks*BZ`U-jcB&f-Z2yDGv@RQCO;9sF z@F|0UHL*lXWy20W!1*>9-$c^bcbYf40qGC23*CEH?vpaR@a<M+KA~6wrS?>rx7x^) z#%U;Q3BmuYiR(Uplrt~BbA1yAe}9b7dndR-O~Cjz&;f=*<W%A;pgC`%N@F*I8lAh* z5av#WHv&#U`8MX01{|wj<aB|Wk?I+Y8{EvfPo`QC&3C9GYli$FTWA+B<PIA#6x4^l zj_>iA2=we_Vba|}Fh>&O#B8h=-fakSkf{uwUxu&u4tw>p6VTchvgPsVf5{QsJ+c3W z3#ylz)%k8KE$4}tHQC3_XGk}#z*}NYIb+GEAP^lAG82vZ@7_t{`DX5ZRfY}f9&YUz zisjvV&Zyc9l64D>!iw6$1r<{{xKj{BD+sN5)a3U)p_pcTnf|N&5OD>y4ritv7oE;1 ziz?mMWNBR6;;QRh5#T*`fAC2N{5%!R1biqaLCl#ASzw)W;m*;1sue~)wnG{hw-ZYH zPnO=`r8PyOk2>9xHVOKElP0^1rejvutIorS$rsHidd57=d*r|W`m(>Pcf4{t02=|p zdcf*O7Wq<_Xu5Dk<y`s}_;jKK0dj)aL6U}CTZlX{(Q?BHd#crHe_)ZY;k6wO!$~m2 zMd&8}z&WpAKnp=<LFiw!1_WE?p_Py)O0p(1cj#RKNLsVsW@i_aj&;)f98z9ER2b5y zZTi#2W%*gNrM@{=GTrjS04<1SBbZ;Ju?eJW4UB^r3Z?FR2Kw1<KFYj}0f9MtKe%{` zfZLN)@c0|`yIrmZf6P9_7g<Svtwb$+LbZG~Jil4bx={}m#8ugeeH8*dX{BZQ75_9D zTLEcgU$Xud&Y<_-4SMfrPXPP*^J(%l3l)W~m{DPc&6$D4MVmFgzhvK!+4sK;zW+S< z{)B!1-|YMUX_zRrSjRwxeqT@NcdJ#@Y}FuWwEA7#g}m2ye<tApm{3(1WoS*vcMSPT zza;fqzeJZhq`FGg#<NQ3?@9pQ`E+yu7N8hhi8{=o*Tu;{ciiM`vN^aY2VJ;H%BBPj zhaNzQ_E7b*oFZD8(H2)Xe8&dkJ2uMoTzsF0tbe^<w*E-?^4YMoTGhTN?g9ycMV!$M zW)mlDHrOg_e-v|c1Zz0whqkn&r^52QdRdge6}EDB2Mv@G#2i_)8N3Q-?(U!wTMjnm zG+@{AI7%@zlra-zNiprM00=Ech8eBdH~B`dAst|ls>^?fkQMu^pg(bEL>Eogz$kRq zyMX_?IB5WmO|vmrUBv@#0|tME07J)e2G;z(JGSrle^48@+3CZ~7C#B_f1Vs3e6VqT zo>Db(i8cr&3M6jq9UmVaH^lJ~iD4HkwxFq%!_Kf>vw`d<);Bw11+6ReHHb+=zE==_ zu_jH>PWh_6*!HM0wc22Sdd`@qgLQ*8&(ou+Ds;VWP^@oK49Wq)o__!R_s2#{4i<Qe z^9)C~e*t48zT=BdI>t8z;`zg~27l>84Smo^@_kLc--Oc%y!0+Eo}N-Poz4pSqZ=jZ zU7uG>V<k*U<`o>1#u@4O$ob<Gf`P>b{)ZogWcHImO&crYIq~Z@IVpsc;HMUJRSHl( z5Y_0Q=??5~D3r)8GM&M<3ps*mh+{&s?E*|5e{1WHb7fWl&22VLKb;Ks4?Z3?G79NZ z1sZKywK}-72-HO@6I5CYxhO|~LWJYbr)(H2CX|^s)0+{O26Fo+muF+SX-dd6{&7GX zwa_T1%~}^=YW)=7Up1(eB>975gV!!LN;Pqp?KWg-2?Y2?DXJVlwZ-P&Hp@dr+trmK ze|U$)Q`?Fv2=_u4r@z_{u>rwx<Pe**9eA5Ib2T|OIQWxWgrQ&Q)FCu$yRnb!meB+l z(1RbxLR=D^z*Wo&E#hu-e9szqVmV72Q0D8&1FcQTlY}0~MsG&D&1r1%qH^8^z)>yn zU8qrogxbYfL+qp+gXK*n5_V6rNYXUoe??=P*`T1~hRs-E``!t8buCGVEc$m3e^n&D zqK#>M1K-s($Ze?WNsv~sVH=$8OM8OUKT{-c5@p-8udUH)Yw7x)O_4z@m6$n=-S;wU zln{f8Q)xctIu<|0_X|VC8dM?SgTum<I<)mYL4F$MFU}}MW5Mi;N22r-bOYgte;pyM zj5rhgVVm`gmd7(dcgb;<xp};CG04U;sW?ou6W>)c__<fL2Md}L!{DjS9us>sskdT@ zZB{>6-Kn>p8oFH@*bAZ^lRQ)zA8I6kdMJF7<>%9><v)~a7fmLKX`@CGl=$*WBr+X& z#W@LC^&{>`86Z=;Y7Vo_4!^d6e}sIT)~c~BE#)6aTUwws@k(U}nw^)1oyNDB#~Pl+ zw-xb@QT64yP*kb7aIKflhtEP=GDC_QG6YGv4o5dU=K4P-Ag6bENuxkO3MP|iWNIU^ zGy)|Q89yU{(*A^gv8J4ZZJ9bqKlgyysUPIKk&|z{!#tn)FXJmZ2e=&`f4AIYo?ZUV z=sl+O#OVgE_h<w2{!t26ViaSxBic1Bcg2uNVC1LqG!3pX@18#89YYeOjMi8>3?FN3 zb=6x{4RV<L&=6PAx=y68+`}Mr#bKvLt13TJ<3#DGRvl(Nt77Hm0?*ALqcLrRj2H8R z+k#<{3kAiJAY$STYD^uhf7Kd!ET9YLf57UGG2EW&+|Z7B%SlmJEbj6}o?fqM`lkY_ z)&%7*B<BzEdypUTiT58*m9rRm-6zVwO6UEepM%79n`nKro{Orj(r?As7k3(+lpNCP zXj{Cvp7}0UthbqoG<4&TatMdY?0^2H#k&WsB7O?9P+@5ZX)fzAe;w$gd;{}bryVGT zn2A7Nnq`%6kaQ?QW9+%-jW7)xB!3bkP7Og+oG&R&6ka9^9|_VR4^<##tT-||yt90_ zt=>ky6Gm?YOzUfr9`&&fBpL-G6$)Z#u!I8R1UTM1IXXNz*&F_{xAS4|I6iNsPo)Ye z5HE3&9CvBc@t>?9f9!nr#<bxhxqy;HI(u<0wsMy}(Pk_cszoPUAGF%EKzK<@gKC-Z ze;Tb8Uy}5lHtWA*|2cPYIkJxj3Homb>+9yaWJLNj<<I9Dw3B>EOiBH36K&X3&?d#3 zA|H8MRF(Y9&jSu|_rW&*-NhCMGt12~u7|i6fBV#*r-0+ge-7ufneA^kvl%od3rl+p z`Y1A3TpL9(Zu#Ji<`jF26G?2hpqbz~-;$MXv#6O+@G+lSJWVdWSGJw>MYM7yc4G(h z2NKI7TV2@e0#h{DCDQF!9<gHEmOGS^IWks|BcM!up`Cpx5TdOFSW4|fNaobn;nC`j zHWMWCCKeo_f57Rd6ZU7Zg^kh@rSxS+^eFhEXL{b`G-I139jcT%#9|}D-(h@(G9?c! z8uC1Rr7_Brw2XxCR1BHrH$204kg((aLoNo|PKH(jX*I0|d_0UYijpKC(&RW76(}M! zrIiaK0fN$@bQ58*AK1ICjb2Z{6mMk=KnaEvV71mwf4sYAw@$!FN?1&Pe(NNdWb3Lb zAYD*lD;TvROA#eF=}hCIi)1MtjE=<4cAQe*R-4hknR$qw+w^ZcZC0t8nkbk1h@WV; z+!5cqtyBbUdK0wZ-b3>?xi}AE;P$DJHu=-mY17uJYO0zQ>hM6D5Q)VTA-Rk^fk{lI z5w%&oe}jyf6+PC7f)c%#g%HIcQ9vMR0YF-O5(Np;n3h-;lv?MJaI}Q7FpQ`s3J~As zw*X2M^hAM?ZyzlX9l6C<@PLpT>Kvd4H9?3g6euD};3%2g*=7bxM$i)lLr*CQggej? zi0Hi#zzQ9&&>Ln1K_P1Z&tGT>Cb=#jLOU=?e@zhh=}%Q&y&7GWRai`($inKiRAF&g zP?e6}^NX+WKwLUFBa#aN#FT7eh+{mLmOH+4#^Fs2I|8Q>hJdA0CJWL_E^x+`J<s`v zoQbIt+A`9ZT*Rhk;5w52P0ygKLzLG!GfG^s>4H2pb5do}@AS-uvJ>`8w1GvKEV)Iw ze=bcF6}DVEYhEk3@$Mu8NAcl!BA@M)gIy$xvjt>i$eh-l+@GOlzA)Vy^Rvs=M3^LM z87NsPZJjr!K>q8?-pOgo49IKwh2m_Nlw|`AK<b2xfnU<M!2FAQ5l~p4@lWlLB*`*o zjb4vtVn)0y(Q;?0UWIBpzs4z+wlVCre@F#&t)iPNryO#~6m2s57F;C;?>AtUo!^u- zT@iD_kWjD5SY0Bhm)H=-)dERx5lNd8_|{%|0%$wh=}U3C6ezA>c;qk*lDct%Huce7 zH|a0oirx2ek43cMPSs@Y!PDc1sVvbhIsLOZ=sQ%W%!BPm?f6idSRJq?I-6}4fB#pL z`f7SQC9|F_bx+)YttYaiZ5tS{zLqb0`^12qT_gY|cf*+AvUd@sf=jI6o6vF>0@Jdl zt~{k>j8=Pq)V((3U_G6}aYt^z9-rc$r5Ba<O>?}`KI`sO+IQs=rF}G=pR^p@gNc1H zJd>1fk%N))QMwMXPo`6l_EDIzC~2RB`JVPk+UD_Zrs19XHNC>v)JgR9Ngvk!d}0T7 zIMn0{NT6lJ`I8VgB9ko~3V&-o{5JGgyZV`)-20#VYrW+C&;7Nvt>yjC-{QHnzS{o7 z>Z@J@O}BjW`<_$of8JPMTi+7>--n*x!u!9sHn*1dKYxqoU-$lJe*H6YFAr?b_i~wc zI=>&#{TtUlT`+)WkT7RphoQLKH+gq1zXMQaVa-m5Qrb-X=wO`q=zneOT-!moDqk<H zz!|AGH=In>i{(CGnCkew&ipoMy7&jjpnZ?wd}b5xVJdDyqg_yVd4P8pbf;fuY-WwV z>bLvyo0PAddw_$N&`jtCAMc7H+7GeLtQPY!BH#q>MkEwQSNsk*QKw$dMs)wRhNQT? zvdhD@r{7!cak`2-M1L^kPO>vpHJkcv$-H01<zRH>6mAAft!3=ZG4eWI+GPdmq7vCY zvF&nxPxq7A%>LUP7?*CHh?<(h5WIf6#|0x@;)YUj&r_ME;>DGGgI{V>w<3x*#BJaW zJPZR}!*{|<e&nHd$7A0P@)%b}lF{pUn|W=vx~w_6<+?93OJK5fIuq!Lu!Ca=`F?8M zcj%HY=pFfv^uXV=Yl`QOUg={D<xWTJ9_z>(1d*&A8eAQ+Npzgnk~oR*Y^<a0CAVhI z@T>hGx0g4?Urt7GO9sYJ^X--neM1f&u^l{+Tbq+29x8u}$gr6F-3fhAU$PUZK#+cK zJZ)JM$87-^hJ1ywL4AgwIy{O$^;t0KxE=tz^}gEaz^w5to|6MM(xfDm!4SL%0)D#u zS2&t=t}F~&XX87*x-fVr)<Yb!90VAMQ|{lUUE5MXioq<$Qj&9{o71697G0mAE`Lu7 zJ>ZoN@QQzAA1OC=cpy}H-6Vl=gDk(?PT>;FFSRR5=Xl<Oeg1X0dwB5i!~SusT6xnw z6kOGJ7IXFtY~1~e*XcQUvzUw51@fy_=d+2O0ZOtdzf@J8oRP>5@4IpUI1_`#HuZ)@ z;!&0+1t1j<L0aiX<W90f!Hx1g*)3x?kim`G>?(hp4U>I{*D%Hu8C~WJ@`Rs#&`FLI zBBbxE&;z|M#yOY|&ZWHU`3PRqZm`DN3fk-xiQA^oq}rX*^U#^ZE~S>zV@T2icaobo zP><~B7HV#jh(D=!PvgZj+-?GBe9P$J3IBUUK=j|co_pn7w~b4yaVL9CR3LAf*=7x- zVsC%Fzuvv=b$i{-hKS9ILyG#6xVH&{_iDhK&f~F0ky+^u2e4BvE_i@e1JQvB3<&_v zdKVZyra}6&p#^QF`yLKYx}WwBzWgOh4o1E+!-Lwi5w;uLM8P{aZlD5YbIQ=^h~KMY z`*zixPbOMk;Kmsp_{W^9x0b&ePG_q+FhGAU%3z11RlXZ{`c>qj=rei~gzisk#Bcit z9}a&z$!x|f=$B~6!Iw{2Ef@_}MfIzgp4pJy!RnFkff+jmL)hX?f)<gYTpbaIsOIS> z)OkycurpB`%w!XL^P7%ytdxdjbo~7ak9Z7)Ohfx0xC@){dxL@vfl&}}Ie{ZmWs`pw zuLL*t1cWQ0$q$VRL6HJcTx23;*f#Ik{zZ4>%^t)(A=oewY5ZCde(Q)z$7t7(B+66t zUP==O*W}R*rRY>vewrx$oyRv3r){LcsL@OsJ36s|9SxYWoPI({gQZYa`7YQGY^%p3 zC%N;G>kZKFo;!}t+{!8_taMaGItqURO&x;>bA^D+RlR-%zZQiXCjGk2dg=&0DnW`! zE&C)wCMxi6+pHh2V`%xl^$=YzL*bM8S&o!1Jbsk0&48m^Pn_k5ZUC@u?Pz4sVceP- zU0vvNelj1`6y1-_W3FQ(T>DPkWkr`YxeRZs6y8#1q<P&)Xp0!rL=zESSA2hOL`}(z ziya3SLDEwj=3!l<Mv7`(OQ*EFP2>th9u}%oNawm9_JrfB#!!6N$k7_Lg!*38E>5*- zAVe4;ZH)82nA-lejW&X2BGgjC%9{ax8fc3|pv`a2Y$%+rAzcAJ4=FsQnTZ=HjhwJE zO;NMn3K?LZI7VjREf!x=0;zv!<&9|byr0qo>T{Sl@+e}v8PEifOQ|})W)<QdG7nf( z^;2QpX`Q9n(BzC8%!0i}7o*)-;Jl5zDJUD~(wR8nLy4X(?wIU;DMx}thqUsGWm6*V zY;s~G<__|ZA!6$T!W#b-9K@2KSreTPJY}c@$tG^%zKz(ZFhefJzp8)u>hWa#h`3%V z*>@Pe*608goq$3clIv83krRChhQw1cQdkzB4Sfo?Wq!d!m}qwoak?b!BkIC<IzN0y zK+`{^6%rFFL#bS2pUugU_*XSm2p?XY;!rS2T5f$K-BUvxEZ$3%xt_2t!|-&xm8RKV zfi2St%H~ly9GovtE8u@kys}if;u&4WRj}6nWQ;PSDm^RrvT#<2zbD&}YE9Ht3D)?b zQ7;pRi*gU;3}{=t^Qlw$MsE0a4z_0vy;$R-9JW`DN3-@P_Nc>o8azhzKc$2s%cUSE zKL<dAG$Uvy&%qZcM0M(N;HY$|=2JBnSr_h@z@;ZmlOv7n3wM8JcN8u}pGxW4_aWYz z+l)c%XI!?E-tlGyaY(7zGcDL?kw^9*{>J{hd&;=fDHT>k##SxY8Zd@cEq???VmihF zywB-#)aB9oPrSz?IEer~28^Pf&FfJUP`pDkMliyQ7p#@)H{N5JeU(~Hk)f!IG`bh` zP{JsRb(HB$VmN1}lz@Ty%wID45zaUcy<i*uPYI!ilN{S-Zzpg{i47Q9V1tI+IA7Z2 zmxZiG^S_Vk=TkSZEq`>Q1)opCa@^5mK9*<lw|V%gj2N})^iEQ-fb20_Ge-1GrqPyc z*kd%!^+fHJ(b<!#Bqafrlh7m>e^E5GMP}KOjnWre*`utXY|CQkmS`L~7G+0|T=}It zyrP!YB_Mu<MKOxJ(gN&spQr*K>BUOYTwBBzoWy=$<p^#dS*k&m2p+Ac$4MRmD?@a> z>H;j|US(NS<IDRod}CnCAf3RZl&yp-Bx%MH|B_)CQK1TU2j8)P6Q8O$XU%_>F)BEM z1#OX&C9#IcO%U-`$m}JXAi+F}AH{v4@F~RGoXttO)j(+9*c{whqG-zX1{7phhMp7~ zFXDOhiGR&mgQ8$2sypwJcX4JCOW<2KK-5c6EJld}%EhK@;@5e@R~flclg=eU3~*Vo zj*fQy$X`R+^OGAUCx3@xk9c*d0jE_)zN!8w(vQ)`s>Gz2+GOR8f*Hm(9P(XNZN43A zbYnSgqTh6YiJp@nE097KNfH;assKpaCzgbz+ExLevC}LGGNMrura`~x<t+Nyy>g%$ zs0E%s?ftxez;^eJPxn9W@9v!LQ7UxTMMhZ7eD|)<#f#iL4S%7F^n9fqyOA|SU|Au7 zi`}}UYnR{Md<)%Uw8i7840c6EoIYHNRA79YVSIoA(^<2LOCyUm9EPLWFxqa2Z(_G$ zQaL7IU!<@!La)HkVhd#I=m7kxL2}ao=?$y^PTz)^4ph*oB1}=LSQ{pLvY_v09@t8k z4lYH;dp%v@ivlYylR_ssf8{dTw?o?&VR(%!jF3N_PeO<Gd8L>`2C$3djfnzWatIVm z*}jI_P}n?IYlwUGURGytiH0N}WQ4(wZ>hq($$J*F7jxne(#xZPsCv8vpnn5MLn?s< z7RHCbxSj^6(3&(Exq$D}w;aXTU)xNb;PrF>36|GDh~12?C~(U+e}n~T>x`+QLj!e| z0_LJsShtPaJH5F-vWK)g@e0h3($$mXa)XX4$sTo#>S@4}Q%+eVktJuh8`Uv_LLKak z7)CL;iy*VL2r^s6$ZS<WhSs)&%7}<^?6KaicmL`+ZZnAw&r-iA;jLv1n1W$u?D~sO zOhu;?5~Ir~ml#x9T*;^!YeZN3RH74<>xgpfQG<F`*C3{LRXPgl*1^!D747QC2nf!t z-3dLh-kL-#UQc-xN4|~a&}*-Z95379Wy{q@hiHbQyYWz5o?f+1UMz(M3DD(fFs0km zlatpdEPpX3J^cI%L(`cFqzRLL=AIHAO7<3yY`NkD*5$<RVDSt*@%{^m+yXTa6`*Ji zbl%<tVPk0`GYIOGI<l>kh;lv<-5TK#l@c+=FlET^htDFvpF<!Mw?+E^w{Sh0pvsOf zyowZEMc<oL9`86`rOKv`P=Y=hwe^?GVXLE(Ie&TukOjsoVLKXC*|HQX+9Avz<83L{ z$EIdA)Uf7Dm0U;^j#pxL22XF~-FBP`Q$Ofr;-*h53|?b?K(F8#a{({6x1(tJqwEYo za+L#D_V~(Nd~-deCbrk7VnSIppuFdlS(Z2z#!X2BRMg(P8w?=OVDO&^bRa>Qn8Yg4 zUw^@yo=w1YXd;w0Gwwq&4w=aYm^NkOQ9o_-^cXuO_tc0jPF*#`NtzNl9}PVDB3`Sg z3eIJT?kp_zsJp{?+2fZ!WsjiD(ZffM(WhpH(!)l;h>x4tm@zM}H7=Yz(k_e2#F_h1 z9364gQmar$Hu+T^%iESe+VSIe+u|?(kbi<*oVKYrMqAJn$EKs$kjKFr29{Yu#<;6X z98b=@VT*P)Mb~4Q2bJ5)+j73aBTlWaieuUTfcQ`Sjg4ME7XN9zx4yBA|MZRGKVj@A zkP|nr8?kAvNAQ31ExHTd^6@&g2n6RpdzCV2@tnw#py){A7{3VNBVxqpVQy696n{+@ zQV0zw&F#HdC?gq11M<uRn|1Ek_m6)KK&9b2dx#M=yemxok2l%jjqLjnFM1s_zVVjO zCG_okdo&NxCqnpqgV@;dV_}YD*b^211B>E$P=4(lUG&O>TqIkd!ukaB8TmwX>{?+V zWBj1CgB=zFunzyF1=|Q_VBt_HX@3N9K&i2BWX)6`uNn#p>ro((8VkoL7)(~f3Dm>G zzR-1<sS$Bhyc`unhrK!7`+PL~uz$QN&O~z%K#5&w^YHNKbpP<+<k?YO-WXwBUM7%= zg7S8d7f7WBSx>zW9%Yh)Lhh=xfmC2_U=*%e4G~0AY}bvr7xmhw{XdCx41e`DaW2(2 zzWuOXlT?H(BBn+i;As@xt}7QGh)-d-&@)p5208?Y2rRDmk+2ksdaKTBLiG24-j;;p ziN{|Kw(B4Fk55iTuEQ^<M_*32>oHKAxkVm+)odaUXG@XiWbfnz8aDj6|7kCg(?sle z@8ruTs1isbO%;Z_OSr8fhkqHrvU3F_3D9&PMuYlFyRbu?VxeR_ZH<D1!W`lCk@OwU zCk|r;k-WH*OhBiO<KYp+5ea>q%Oxfm)ZvVEu2}s|zs@fHodOTkl(Q>7NuHs0ufC!7 z?gKHpZ`R_4_-3>TJ3jn!@IiHo{H9atjrQ`UIRo^<E7o|de;?Eb{D0rG2Go7Bcl_u5 z-M!(#&gZ>4ysy{e-Wo+U>iF!_{=weAv$0n*=10z;3?WkoKdpYU2W|O~M7kVuZDUfy z)<ZntBibzLsOiC^YPuuF2Pzlp>>Av~HgCfljdxKZ@OR`r9@R*RPC(t)t40{C^EcKB zps`4XI`wC*O54tm<bQ4UeQ?oGK;HZ@YVX){ZT4e6FI4E~i>GLYNRelS`O^q<NPbEm zO#02uu@NPQ)YS69vrq$r38#GM+IQs3#F#%Z+LJ6|jB>qE^$Og(rg3lHKq<@FkN9cO z8}y%uy_17@fpJiMB&3XmoY4>)4~&|(&6~2iT0gJX;h%H(^AVKRhIPXKzxPhEkmqDQ z*!yjh{w+E{$GvG3X29X2GHqCL!-S7V-U&Y+?;UBj0STy%$2xy!ouhi%2;{Oa*|Q~7 z5!If?6M}C<YkwYohW73g6REu!lXos3A-QDnKCyPa5o;_-^F}?E*TzUuq&eQ`{lqAD ztV7ay_-B*1E?GDJ_#={O0RC~a*ZS$FpU%N5uSJ!CUk2U{QWIw}FsoS`RkHV&z1=UT zJAVR8Kczs8Vju~4!c~(;FCl*giib>or|Y2~4UTI4>D(1j0Pmf!hFxP&N_en>=eWO> zf|zi`vP$rb%GcDg)s5yWJ~yjl*%hXikmN`bgU3DOg!n#)kwG$;sJ5ojWQEbC_v}AU z4i6NgJpx<h$Zmb4LwDJu8&BENzccIZE9-p3@P-%$1OT!(eQ5-%@m+ta*qTucM9JP? zN|jrWmm{qb6^+1Y0EU_PMw+fX1VUYy>>u~{K7BaZZoX;qjP>8^knv4_8|q>G27_TO ztRS#~TABor^?W(VF=iuEwH8xK(VT&9oJtubWM|D7Ttc$r#^?GVA=GP14GGMmQL6;L z)OI|mHL_%mkQehmbpwBgr$(*1f1jL!h-ra(EK~!esJIF$tyI0@&|-eIQg76a5CnRq zaso!w>Dw6P7#!u3lTWLspH9pPz*t?nV_5$IphAJ+{=vsX_<3-cgelHj>c>K}p#20O zj`#lS%ihUp)ChD#Qh;)*m4W&rK|MJF&e%%_8_}HG*L=dygh_v2YBj?HkRnaVt|wHA zE6jGsT&C5`AxowRiap|g1_MA1ggG=ORKi@m3Z*7Lnq04^emp$>ymP9j2$8L&$Qf8I z3C5?9gBx&K3a6HyqMHdKT_2_*333|s2q_p(Bf$nl0)4=GwdML>wEi~>`u~9Szpb^+ zjrjUse|>Yg{`Y?^o*!3gCGT^ol~@`qUKmVV<kG`P<^f)hz@tCkdHz>+`M`E>d?yGU z5LmxCe)xAV#70<S;Cgo;eQ#}-Djie2-CC`1S+N#Xh!eE9f)Uy-R+MZ`cZBicJ+Wd& zGmUZ)OhHjAS=<gsQO<*v#^fc<@9NT0K~T#+WY2!u`}2R^r&^V@OqF*{F5|_PAn`7l zTFw<Q-c|aNRW0qh7i|T!EvH<^NIq@ZwDzo(O?_Q6>L6^)%)0~YgQ9{rMcn;yE6V?F zp>@y&7c&=F%B;4Kd7itFsb6-%yVDLv*39O-N1Vz#2~n3OQtjmyKVM?$Q-_hW@cC1% z_9j}F91VZYMWp<5+z86;8O;GyNY^xU!G(BZySD?a0Z{CtHJMOIVcPYq-Ppk#?70w~ z=H?$XFfB3Lq9x&sJVMr@@}G;S{O7c$dd`un<7CEfv|M_~rAcy1gHLEQPr+R6;I=Eq z|J7<cS0trRrw=omeX^}9g_!O}*V76D9^@y90tSCZ87_5d{bSGOo;FxdL0Er^rW?SN zdP3^*sOOPwt8TTz@i+Y%?Sv5BmDcq7?%+I|vX_o~E}_<QDWXlWQ~)W=bK(v$rNB@v z@DctH;Ha7T-mN3Wzo2baOMVl4dqPFm*EHm-V4n@9T;Hb69Z|<<6DRTReDjKX0M5;& zcC&vf<E?u#zvS|_*=w6$KH2Uy61&%`y-92scoSQ`f0Mq0;M~|j@Fsl=!MU-8;7#5h zf>^_%x!aG>gPmRYcw+1sK>avn(VopS-qwpZCwn``yT1_lcIMZ;zntzJAQ~xI&>I~7 zy7%9;Xftjqlj=2Pji~Ix+B{)m<v5OH9&~@={PacBXiyNXf40NUE<f<kblh3z*t$z8 zl(sPTSdUHh;4DyGkqlnX>hWMzwl%tG^2G;`W(F2jh!AhIB&}#Y>)3ybroPfL=eMj~ zPZTf&L;_OIdM*{NrPs}ywH@_KcOUG9`@<_vqO_=5e8(Lc2BhTq+Kz9Bb5Q$ut6zVR zN*BF4)^S0Y^jmpE5jo{$BIOBTmhP9PL|QML)y0Huy=?%#FbVurl3k5;Twdr&+zCb0 z)AJe&Mv>6r0%<?mT2Ul;KJOg=x_A5>xstLLls*3SCeW6LMMrCf5Xl|DX}HFR9`Pa; z#`BakNKH!B)5a>VZJYnqG+DnblB9nM>$ke_W!h}9j_|Koy^h?2`zGrDKM0J}EjDtL zWDSd_T7|*!6wTPi2L%I%)1??%Az3_hP}v?=8$-w1Mu;4amoxA$s7b{ph<xoC2}?E4 z$$2B%50T2Eu_7?`5<4PtSR$o(v5ZUT@i^(?n!I527LqPY>6-g6IJsyeM$vybQkx6( z-F%%9S8VmP{SEa+)KOMN)#}OV4<tfz>jEbPo`x!586~fKRk=l#?3dJt<&*;N?)o5J z(V_};H@@Q{>8b0xJF`dVG0li|_R)V#7Su4xu7kTJ3)CT&RLaz$tH1?nGL~w1eYmTP zd!@g40l0?;-hq8bQJQGkJ>P$@)}}U;du*=8lNJqT6DMref3LSdIcrWdUwMyb>FZg< zDtkQ7S}c!PQICqq%)@w{+Uj|F?*4^Z@@_Kaw;F0(Cv^txgxZdcv^VK%;7`29U402W z18(Z5qV@6mKu(Ulp$g*j6wGkW8NUwh4Nkhgk&EP<Oyx?8*{D3(ZY+PNzfoeMi&MmG zb%Z-(zZ}$aS}V$kW@S>kuAi?(I+$z!QTyt7mDQi>3oP^-c28msp`-i1aU~k}JX7`r zbfgWPx;voq_JHch%C+%qWaUnRG*n}I3P#>!0w4IPu}QER1j$_m87OM*QO7XrX}^J1 zx7v9SuQX-PLG`+RGU_af?Mq13nB0(1y~-bBRhpX?inlAI*LcjgE+po^aSRwKhUV3` zDJWsJT&iD_9~>!vr_^(2Uv@*wf7Lqhl;_sQhB)upGyksjH}E$<|GBoY)$4!P>-RR- zw!Y>0PeA1*8mTw#U*wVJfA6f&6Ni8wUa|j^=YRW~>suRJs{c3FAs?^=WLuv9{RYp< zA1Ej&2C%W+TQ++LZ#;Lsw!%6;bZ|?)<6aNgJiO|>!xRdCxLfkP@T*1>?r-vF!aJvj z{4|q_yDK83HhKJUI&n%n7g|QJ;Qo7ge(`$ZU0TrzMt<b6{=vSo=97@gYYXbJu)qA= zBAz&=Q<EZBdM4kye^6Oiv(urJHWNSSCZ*_Y>|EPH7`<OwfisF;-EcCE-YoaQ0ur}U zE57n36Yq|HMOQ>OqbrxwON>3Y5i))~D_yJWTse^6rlRs9;Z|zQWxm;Ff`w_f4HST+ z+kST)vE@J4qM!ZfXHWfXGe)-p-%=U;v6hY}a*AFPz7uf#A%OFry$k^SP_O4s9;iIL zre~yEu8_pG8#<hHSU`4}>YS+8WC!8j&fO*bw6DE?&;dH)OKz8io?w?`m7@D4D5DqF zWG{$=;xrg=Sn)kOd`M&jzlOY*4it9r+A3ch;cfi*)9<W-=rrm-{<QM_<J0fw|NH-* zUHl(N{5Mu_)MH_+1*h|&CvPvHu_q%HM{$pnt#&=$=;)aHI5zzB>eRt&UI_jTy^%LT z8U@~e=xeY+%tODdw4a-u8!rg)E`nBSG;OuDOzv<iht|6i<qKs6UaxKQ^U|&t4*A(r zUS1EQ-8cI?fTm5HsS|d5!DM*<IUVeF{;uA!Cx{3$+aB}$(X0G8@?00N?}%<oMKY=s zhe3x<(DJg=8Q#T&chjrOki}1z|I#lamha+!65)11UE1~IIw{tYr10%4+lOH*Z?Qo( zv}O(lixt}iSyTKaX2%=R?mQo<@9E-Aj}0LD5C-~uIun4~qPxVkKG5A!r=<oxS3tz^ z*miU(mhQzyq7NtbRh;bnp#K~LT&zwo76PN_2}Tg{-hjYQp~FF^ky570yeqRHc6+*i z=<zK#z}NvKJ*E^A0I2yB9+7u}MR;^#aeNz3_KTx@H@3Lw2Lv0aRNqbw-OdFO2ExDf z98fg#*@QF;6IbHU-5`OuEC{d+(vgf5SSR%7T;L*ala7lIDc{CeA{1VLYd~EAwhLgj zvVhU8=t4y{l~Qb*94hpey52q$TH<DZY{aq5(9uRt61cEz>`=v|!tL8#Ve!aV4^o<? zgrr}KB31Bv;8S}8sD%OKW6|}6aK^3ASZl206vhe*ys6EAk9>y*t{Bsq^5zE<q17W` zSkz*YHf^@M!*&6ic#EYjlOaa*dzMrb3dw09@SdFkK<s43GRT8CdSv!eQ7dSF>~PCd zFY>Oa2n`Rt#QUUJGcLFV4lu5lZL|0luSf^uw$&^aOuao7NH`K&Cr>DAmz1_y<~5=6 zlXgj`Oyc)rmZ$~qMdXH7bj_m#!Y`XlUZPkAtmlU&SU)ULOuGuO&5TR)Vy|?Ep4PEw zF!NEERJQGxQR6Z6ftBl&E2vX{be9h*@`i@hnh|b@N9e)x*mz}ubM1muCw@YkI{mAX zAvI@8(QurZV5*vk*z>h}J$JfJ{~Z{JJj>AhWZ#c$L1dBP^RHikd-kwCGb_JC4$Lf> zlb>P!;1JJRzPKXn6Aa<QEB<@e3Pu)svmbnKHummZo_uQGhhJO=Tf-B7KBBJuGs5TZ z`!M3JfrWW)lm+~!1haeNfl%RTpFP(B%0eY4Xc*{7hyxH&rTgwoUgNckga6XI7aye_ z79V#!e|Km1#&QJ4heRWJH`qsSLc){3?Ocl=;8gn}$Cuf}v&M)15$FyZYyRk9_LfOe zF%8tkX&{rR{(M5D9`c)iy(De%Xv?wq#8c$k&%QUGQJaqNe7OzcAUK?nJpzQG;3ZnS zRUTRVHz&N=r#v|*c0ou@0u#|AVa9!gLMLd+Ap{e|$hJ)|WX%k@!0yVH25HcZ)<qq? zg8%~hmtVj}*Ot|c%g=_=Q{83_9C5w%{(ASe*X?yT8+hJf?grL>6~+()QjCyVY9{3F z?yeiou_kL0%si0(7@BPLCY(;_pCOG_mrv7lA*B}g=C%_K+<5~k9dd~<jEuf*c1G=N zHpmJ^&56@A^BG=rcnV2mp|L1!8o<BeS~yWi$TL+!dr!%2&1UfekW^3zMLpqc`>GVA zF+DM*n6v;@89gC?B|ilSPE^Fh1{YKndZ9H@MNZ|L%y|(J-}O@IZ@L0lb~l=d0kZ^H z1;65l57t97Xz3`p^Qr6xtgx|yCXAlIFCveXP*X&zh>?<7Mwm*fg!Z1ukNRtf(h@}x z<~V@_rYBrJgm#c9GM^a*qSy57;u=z!J$g;gE{<!d{MvhevH+@Avk91zY{P0wF|8R? zDAtZujWtOB^4pp03Ek@yXsnSoJs_@9j4L1QdQD;H4@qlo_qFRULnoZr+rwsqieLmr z3JIqILK$~u-q@2F=8Y=i{x6<lMK6$wI$9iVai5Kh_(dLwH1Q$dmxEsq4u3o7%KJuI z5!JX`jm8FlSP+Ohwsx)8d)c=Ba(a5icm;&?;jfk2D~hYwHL~r{>b3iO23Gz0{k_rR z-*%4Enwx1=$>tg+L^GvHh|1t^JhCE>ql0Fj0HU|a!WrSAJ)MOQiQ9ppiO^5v5N|hb z;O*~V;9BykPI{ExwJpq|CJv<S^){P2E+=`fjcy@-|NZ{`ds%tBb474t)wwU+wKVxj zrv|BK7U<omu;|uanXb$<pG$Wo$NXQXBl%3oFqlkUqaROBKFPV31^Q4cUAZTD>-4$Y z*Alt06V(eyUknZ&hmt0UweY9qNsu<X`AP&3ld{hwfDy3u<>-L7^wIQ<Y&<!G&CG^H z2c?aF=^mp^QpIndnPF10>6%X8Uh*pV6gn4SL#=K<50m}^n2bI5yb-<<LJO0I;st;> z3<9Vt7p;q=XuJX8Y>mebch%`efMT|RLM$po^{0*i%owoao!`i&5;1p?r3HJ-iO#Vd zTHwcaOR=1sglIO7jVK0*`_he^M)ZNatj*JZPbaG&k6T7KhCJA!d5wHZiz(<r;(oU7 zo#}jvwrDAGfJfiVVVvJA-$m(Sg^4EUJ%!oYQX4_lG@lGVXZRZgjyFL`72a6baZZp5 z%Vg*EtzM7)z}7YjhDibbyS{^K%afu8$b7HV2>55?+mCk<*w?y+(SdVkc@#(u%*8T) zEspvpD+oKEy)n4!_P8!}kx)Xa#sbgi@Yil5S#c{z0!70DoX8qbgbi`^ht@8JwEou| z&H?2Cs>K$r>d{CU=mD@|V@DC~3kBBaa~3+Oip|W7!6i-3^wDHkpolZ%Al%^-8L9nV ztiKZQOzy4*P>7gTl8m%~DoU0j+^1-N#r2g5cWDE1FHF0|U~1$;1L&*$&}P8$_Jo&3 z#!t*Wa$=@UeRT0s2X`FNwuu0v21FD7v4JX^LsiFzcb3fO8ihtnBSj)aGxHfzAvxwa znKE*(Fn{hc>k3Q`e&-k|a+-whPQL>EF)kWIQv#`m)72S(AYXX1J+Y>jV~ZMp7Yta_ zal>YlUNBhc53Jwo^*}x_ExjM57a%Ecp^)F`kRp<ZBS+rBrHld`G2VV0#jA;D=}4|B zB#kfq=u0Y^sj1Bd4cBM)BOmm+{rH;X|CVIC(B4}uIgE=&u|A3YPdSh?MrAJ3WN<(^ zigCT6W>|<EO;cl}HCHtzjee1TR81_$b@>m#vBaWUR2_$ZjjLI-*t1P@SK4@?PurCj z^;BGG%o0&yJ4TRpOkHvwA22ZkrmIWx#)jd;3~(GfxMUMW(Z!i?0x!#J>$y#HPEFrv zglbLHfVU5>u$6E1&?aQUN9<3I7S6vV7BvydaA@p|*_JbyBB7BbmXeNtR?3q%I^)o^ zUMtLOTJ&bGmH}@Wkmf2Zotpz((4;_tH+X+cF!F9OBDCa`wupCVO`)j_mtw_lT!SrJ zSKd5r&O_n9Z^*OSZajE%zblaHQbWrDiLC{1$KH#9lxU;gb7(D`dLO)j7Umx~{g2gp z6vqZ_F9carwMX@`><(le4K=ePfAzKXZ`Yw@DZlS6(EC~V{&VoaMgHd!OA!gPL=#T9 z5-uk2x8=$>f6s<cESWf~HFhbw>>TV`?W6-=FA&@A^J!dOzD2WIANW*f$_a}S{1<`w z64>l;_v9#IcD)IF3u+~RAH=mjw7C^`tcr67;$FMvZ;p$TcO_uT?MY3!e>176?O<x6 zl}e`Ewy~)JnjuJHT|>4&+dPoPceN7y6P<iP?$Ne1)E45L1m6@wtimQyXMBvE+bN{F z$r!PtBQ(2R7Lw{cIWM4`|4zRhpX%>Lo%z|i?;3kX0^C33xb`+ikZ;wh_M_R0*Y>>% zNi4cjPs$ypB@7i!`5fEVfAfh&QI7rS20p&DL>HLxsN}`tpn~zUfce7&-BU3xtI13~ z1EBV=80j^!8X~ShymKZv8N|d6*>R&)0(vPFBDUSN0-O^KY&URl<8Y&5`Oort3%Tk? zK115NO?g2Q<HF=dePqN$YLQwl#g37z*%9zrS@@NCFI5ff%=qyPf8_s9)`RV{BYDc| zKpa4$Q)xS&jt*L-`7K$`0Wf|B=!3-|qX0bJJz{uLg5gmK;b1)jl#A!SCe}k0NEi88 zG{y>OszEHW(|JVXt5{k=uSa{9i#e;oPdk?2BPA4nwnP2EWEld4UI<-_g%7bw@>qqE zC1Tf{JuU-GTKD8Oe-jA$hlnL1$tt>RA1!3QagJ7Gczf$5dk=bsHq}0_Q_Rib`JG~r z`Iqu!9ue#^gS@HwoTc?<i5_S+qOwR-&>7f?qxqDS;o?4mE@APc$PkSeBDQ*ap0$Q6 z8p>WvIn0|&<=izuHK0yuEmRyKv|YMY3X1x)I7&wfY2yhfe_LGjLy3o;saOG=@`Xe! z;RRurH3};Optzi9+jv~#(jHmRDs3@QoWaHKw0G>rx`j_8;FLh#A3b+%cjQ0JaI;KN zeX3!2bT6Wu&An^6+raj_Ie=O(U>#R8k)p|j0M8<ooElohwSTsMZ94mNiElx{qUI#d zLR2A|EG!rLe-WuyAz%^ADq_@Z!j9<!@l$4{+E8AsD%naw0Jwns6aGwyn6kD90^@-M zIJ6J+`&r;H3IPXpaQf-<vq5$4E;FHVk#Og@mkw^-s{~p`HQ>N$XSK8jZPq+FI@tU9 zu=OnLMc4&i!H)Z|5U`89Oj&A9niN&^TjI1@7V|$>f6E1)4{9KPw3ZnXMuV6+0+j?| z2~~gAzi8(YURoYv;>=1y%`ASAzUmnn927rd$n_WXiJtJhwU0=air_B<vVg^C*C3S) z%81VjZeC?U8fyaiXJuWeiV{?ePojM^{L2q+QJzQn-~dhzcYi(ESP+Dz!>|?uvZ=w? zTo8nce^R2uVk)sL(2I(TIHiE9*{73IjGemh=J{;@s3Q&ut38F<aOr-FC7F%hq6>0_ zYPV2WeCq`{IdNO9ACEu{lqGj;FK2)4UAb~<D!E@WzdU`iwYj;q`Om#l#Wjag?$K*z z`9dWUQy~@H)^dL9w{={<x#wEOb>%}i4^S?de@iRiit;tq^Ybb`>|(<3`ChCkAc?SL zec58Ewum?T0`6>eS{6dBZiu~rOIz6@Q})=)xwab27xZv7s4wK`>JVSoDb;Fv5#Ka! zK5AVjY{$#RdobUM%v7z$ItRDyw&j6mVer4O^E)f$Z@rw?t2c%52}h1Y!N|<q@S3?4 ze;7e7?67JJfNAb<yLv(7tHNRzg*h+?g9By-M(cwHm_B)a@m9f10!CBQx=Ktbpb>(h z>qM_rnT;4JwzFKpc})Zt(0*98X4`tsBt<w0hCwjVV#qWbv9x@KsHk%EsdFX{?a5H9 zCA3W?RU^qs3wy$?C@btp(ghO^;M9MRf4EjG-vNFT3uDKe^A-UlBHczJ0AMgos0?E* z4r8r4jD8$OzdDRw97eA)3<ClHK#%{LBEb0-JLy)VEcDFnde!o4X8BSy1(l}_Lz46Q z7}OJ9dL<a~By*$WxT~@htc|!C1xiI1PSsOtEm*``j%bRwuC7%oZEz{IwJe)Pe-L^J z2*pgwdzBy2Q0G>Lbc81*3SyH^G6drAhB!BhClTZaw!O{pOu`^Kl5oY3KLq%x(HI!m z$S>@`bM0Cp^|3K_MfJBl1Xs`)h|f>@`4OI^9W`;r6c|Xx+-r)H>}_^y`Pj|Qebff= zEy67HA51hAoNg2wQi6<jfAM&Ie~k8>P>enkh;KR2F<J<}rosig?W*x8AU>(%v5Z>6 z_K%pTw1JvX+k%ydQi&rmHGXBGkyLmHOn=l~){<s;1?w(t{C_w&k>^4h73Pks@BGpR zRg&}C3oRRDH0hXw=3#!THEQv7g;*PL(2>O0Kf2vmg@3jxP0c685Jq2Ze<+CMx6|Z8 z+)@y?o&)isda-811||r+xjzC~A|uTLIt%PiO=W@;0?i`O3$=`Pr*1dSdY$)H=kGh6 z|G8)^0*0Sm-mF@55weaovT~MrDT)%`anO;>T!b1@his>4lYc4dZoMpZxBhvlyRr7I zh|A+g17WkGmo28^B-}+we=1Ivs%W~+Trx|dEmT|f>d>q9!A053rJ?e}>LpCym)hj7 zozx6jCBsIa1-Sxe%h-6YC*+9#a)w(Kb4|79BX}GYjI@fT8E>HotsWC;(UJiF%)>zO zlMiSulw<}`g$UP9u?lHvB%?Au>M8nzO^ZG3%gNp`8+p^IMf<%fe^tvv!4EMMJXBa^ z1AAn^&+YPKNsDiS71JFFAs%Y+F@SD`K^g6Ax83sRVagADK^{6lI~?7Ohhm{;acewk zIzN?*VgIow$1)InrM0Bz*y7E`6c6e^t1$L02JPGZz|ZDdqnikystTdmaJ|v^4q+a6 z0J6()O5kcfnV_$WGJ)LK$^QTBwb}9B>2aH#oE{!CI~;YZ*Mp(pCbqyIXL>~&Xhm67 zSdt@1z`p|T;Ee;5VM}WTLa~dBJ(JN(G8q;wSa2#tKIJxi6+Mkz3qyVJVD55`hF|-W z984Vq$N&0plRZose|}8@&K^Gl<g+@`+*{e`G@b)2F;RAY-W{BucZL@WgI#PYva;x_ zy)^7<78I_n3#KSbsj9+Hn;7S-&L=0IR&k{jxf(_B#JhIfN>X7_F`A*UcXxM1d_R51 z5ce>vRq*U(1P!r}@LEhkJ%0_M*^v5`f%9EHQb8&xVMQV=e_=r{1gzrd`p1l|f{CmG z2*w;z$$1xj_9$^9E6yOr6AMOq#i`HOv`Juw5mAv#N|0`4fvxHCSzt48+PrEKjM6P! zv4Dm-?_QKWTmS6tsOq)8P-j$dQ!B`sw5FpyzGq(O5a{RU;w8@dWsdp8x338j;N~~k z6Jm3JM3N$~e|ZC2AA->>5~|0|q+D*UH2Cs+TU-iNNUp_)UFAWy@Q^DUb8^HzgZkCR z+6&OW^e8Jm#*&St{oMLBA<rLOrN@>eLP319cDVp&bX9}Ai%rDFGSc$dl@F{!bynWG zHB_}<aFay(v$(oj$OvB4uUAItFC`_)b2YQ}7>8~Cf6~G8h#h&`T@^S9kup5*RCEqk z_`2$PuXL&MgnD+@(2`Qco>_UxzTr2ctJ@Ku+dFLV@7?zHk3X%PcmCu2-_CzHZ=9c> zub%($59iJE*7@W4)A`x?#rd1_|Mh>*|M&O5*Z)t&zNDVq>{Tj5WE#?%SmWOtFUtdk z4oESWf9ietObKR<$3uON4?t)TN&uL8x45pjUAVqUihy6E_Z%%y(U^V?dCD8mRdzHd znu==p@YeQyXKbrW?vtpp3@uvDn9e*3lBnoqqGMSz2am)EBzf>bBk2XBU}D$q9PMM= z|I&P0ehT{Ao;wybe%rIhROw5E&MGJ6UOU)mf3)EQnBvz8Oz~`MCw?%w@q4|oNOV&$ zk^uJ(;67lb0F-LlLg$jx2>QyDEDnNN#)*7}1X|RItSX0I!*`6gk%?|IkYed#x-h&^ zzACZYMDt(5Yowc7hCYfS?8NBx1%g$`d-lE@byh#f*qj7A7xR^B!H-G{yb94!qD2P0 zf1|tHh+J7P7)rHJC@U31p}ayAg4nv`=f>-V9r%+7HSiGHt3jn>@4xbrzb;VpGcWpi zfucW)u&9-aE_jxHk*N_Wx+{+O^5Xhg<Gz%%F2zJ<lhW;fY&_-C#dTDySX4_fec&0u zvJ0hmr7nr__R=e7Vh_>trmitk@<v%1e~UiRI|!M){6g`zQZ*V~B_p&_kSa|wm%;qG zvYAznR8?6*mozXJS~y?P&Jnv#>8M_dER7oiyV|}0Q({*wtBdTaWp$ZdzU;+w7Qz;s z)t1tGQ7KW$>Rwb<lr_1_vR9&UsnUF!f+S0os-;YDO|&bB#qyn%i+n@)gw8bTe>!~0 z=(R%0nCK^dlm~BMcJgC{#cyxP&RItO(M_<8tcgXPbxSq9EUzxu{1RMRf<g5r<g#Vy zK4C1*Bt`tHv8qu^5xb^ws?MYVdOh48qR!IZpMTdD_Lt)lX@U~oRaN7oyy;QJ@L0ql ztYSJ816)A=#|L@hqWBk5{>}bkf1Vl?M4T4$)v)l!yUn*-3p#9A{_XnPjs81<LN&*& z$Oy<c0Wu8$B`m8C!3r9_`amqF*~@WGtTE}rGlm#T5ltnuxh5d#>Rt}7gf_p(RAn(C zsT5lDnkgbn2%PkuDWN)I{!Q+>Z8^E5lzNOOOSgEDnS&~=e#t2Vy)DHIe_5hG7)$a= zrD=s^g)cG5AdWQ<I^LX%mRMT;bY5AdnY7KY1$adzudRd%jj6BV#q#p%Hp$!1Bg~@f z<_i+%b=J-k&CNG!EB9wKBw{s{TN%k&8p%fLdF$=wDoGH{m!`WqMF9rNg%(iE@rl>; zGGV8albr36B@7R`Y@t{We^;psi<Hf;Sp(II6jhS7+bFX$jCIQB@E8;9(yA3q$mcUx zE@zcstMWWmj-g@;3GKqX<(Vi=8kd7#$T)Gsx@_iLz^R;)PT#6LVu&DqO%82PiLMO7 z*X)Jba+^C0toVIF*M-;GR@!=yxGzJmCVwUP8Nuii+ePZXHwu=<e=5>=0Ry)*jbGBZ z)!UJ()64ccV@Yl-Z`7vfZN1{>n6(tVRO~|$ztg*{%$SJnYUI$eu`53mjB$WrO9!i~ zbbXAdqzgQ_nmr&E9}Ouxr!sav$&pZwpd|-D6@nJ?eKFH(C}(W{Eb3FnVw_dL<vA>_ zD$6LI!rVrr{E;`Mf6KhV3FJPBe9dN*k`a^|olY5OMh_l~4XqkhC6CNSv66CNFcn8B zZ}XBc5h~H8<n-w?8(LBzn}laY)m0L&3qmTCvBA*whVG1q+2udeDP4m5DEfXU6N1qZ zi(d;Kaa=Zx=py@Eaaf}1B^d0PZ7O80rbbtOp-REc>Uj(ie`BlhqOg*TW!#nJ1>Dxc zAHz!ry_giH$XQ#`l#4s&vA>TFPfjUFPZo2OaB@oTj8-c{yPg{Y(9Y?@tZ;6y;?CV? zUC9*Nu7_h{^(LH7vUi&2Apd2Co4F4CBP$4Pq|ryGXy=i(2c=x^EJ!4?oh42m@RI<@ zcmWUTM6qlpe-F$GaMpF?Tsa^-X@kCtCs#w?!izod8~}#QySuT%z_W4F{<(WzB1}x< z)KkOAqy(LC0BZ{a@vF#|6C2MRgoq>2px|ggUigCy%OlV5;O?&;Wm8Z1$3)pYijn9Q zLT#$~E87q8MhEBWp<Sh*xY?*u8L%;VxWkg+f6WVoe=C%^w&l5|AqEq#isZF@Ka{3K zg<2y+q*{eIFe_AJZnm#bP#EZyN*HIvD)$=tyA=wV2i7YTjGtYvP?S$eRqL>1+~8{E z^)SBGO2+O$s#aLPyrpV`Z!LF(^ev6`3&p-kxU^+NVyl(7Bm@tgflbLTdC0yf#K;E9 z;Ov5jf4au_RKP8yzTy{&7-hQFYzF386EdGQMqHE7=f=fZ?}AT!j={#GGjUXdUYzPN z5}-m8C+8|wAq7Kj>S-<Z6YF0jtC~0gW(=EAst7s;K%=y%Wy#A-43bATn;6M>%gHGn zY_#Bi1y`cYFT?1vBT)MQeS~qi=v?5Hhh`8Oe;h{60eh^sS-tyL&vA9kpR{RY)!&** zkAi*c-C*8rv%*v^9t1P6@jHb`9));H(|2rs7831pQ3i%TKdUKkMq2Bwt@YOX8{OMp zx8LoFY>#M2GzN?&z=FZ*s(nAQrT_-I3@>eL=zWIyz$(MfjVA@bV4wj7&EZ+v8dU2( ze}dY2lKq)~Ur*xl8)WWnal_6TA#NH?22(~EjV4^A-1^g<c{8%8;^S5SY(QzHWt-1% z6gQI;(TldR6|JYlT|K|r4=FeG;6c^Y+l4eHQsy8Ior;T91wls2-NaMDdR*-KL!F+L zu0Pa`<X5-=(dg%P0f2mEB7*-HiiTQcf9Q#*2Vk@3=%rFI4x(cW$Dc^@kbr!VS^1QU zA`DfMF)^gMO49Q*+@*M8!6~`&w@OvLPbzYs___8f-qQje)U&*(MLnr!cvHz$t<p}F zf$c)h)pH#z1B0rL)?&_<VE`}SbEPb<EK+a*4=jECvU=G?{4u@!Vs4oZp^A6*e-a+r z^Srd@Ia|;6^PcIkl~dGZj_`@Qn?IN?Tca>eW;9t&0-WE*2D*x0cqm?8c-N-T75?01 zs)p8!@4$qLrlkTKuT<U)S|JL$iU^}(og;BAiZnCg!C7XC9N?nu^Q%9h|MYKn&SX+9 z{CESYO4G_XdHlde52Fdi1&cz^e>DH}pj>;NsgJ~+hjyzlLQDZG8aLSrj?y>1me~bd zlAYq*BtaMUcX>Xl#72ozz`fp!Mly=HNbX0)o~AviGCn;gc!Gyy2Vk~R@q{$SgDNF+ zuuH`@&kH0(Od<_GoQ|o*oSe3i5ED$PAC0YiS(bCVcA?Et@j$3tO%M5=e+qI<nqr<p zxTrb1P!tD_Vm?UvHk0%fR@|29&hO(R0@p_E*~EJQpB6qdx<*-#AeCUqT+3aV+44t9 z|HR!v<%7o+RD3PA*|>9DAWe|nh~IdIf9__eTU$SPG=9b$cN`5Vcx$BvWSkN6=M&CX zU~ogF{zI4lkn-#oFolmrf1ap;*S<HOZOinZ@$EB@J_d}pgVhG~FBf%MtI>ztZs<Hb zKpxgQA`1DN$MmuRt=f05_He=lt5X{+(^0UB^>$|uFIq<ro~?}y{M&!K@s|JH+@y5) z*?YU*|E|BW*5B-Jt@ZkA-}U+%oBj3gSns=U@XUkI@)`T?a_&sVe>wSzzW<9pD}Pv> z2mb1%<F4B7Et@@rH=es*TVb6aI&9>jj2*Cfc-47_DYX^&@(BbcxT^#9^T8MPv+deG z*iJ|D%ZW3R-`MRMW!(YC+Vcl6S|^>+^y`@wUVuWFc;45uu@_!|`wE$G6f-tpavoP? z?%sgL@VcIV4S7D`e^fN&!3pM0Z>`hcB>0~>*YZ>QQsE*C3xPnHqA~-JLwCLthPErN zdYXP^Yu#R(U0S$n%HuHx@rFFotKJAP4qWf<23O`?LV9d#FxPqmF$?a_r*aQ_(5AO& zR)PWw496laj(8Pu)GT+*4}7Wb3jBJfzdpdpG60YBD&k0(e|;5#Y_euIGBhFXf&p8S z(t=v;%J-;c-Rrs2b^7nXUYO26`LSW_n;83DG4^FPE&+KWDEKRn%OL`<z0Yj_%7a|s z7xP4rv|6DvGAn654f}gOYh2(J_cd<IpptG3P^_O~n`km!WD_F1fp#7)21o_g7<m)V z$CQ45)q=#Qf0XLvDWIIXVyBmK>RHRK$C}MbR0X*zRJYz=z09a?26m4)?Vnd4WK&TA zN>sSfUmaysh(a+eQzd1rQfYrZvz4KT2cmN-JEaUII&L$w<K&>st48H1(Py$XW>vZ{ z$f#)rhpfsIuSwkd8mHYxTDuHclUG}msa$ny8);pIf7Qw0wmFr>VgeUbwZ4%`M?-FA z)P_-^n938c?(!kDQ<!iwtz}f(d{$JK$WgAQwax5?iJ*=-RhdyQ3#wYrZj_ij&8tdg zDM`SL{xTF<R&{i|IlsqNQz*Hf#{9g-{7$3#@_KDGRZLka4W#7_5+taGGb-GLOwJWw z>pzt$f4h<}iFB=40K_VTLIH`(WV(bDiXAdU?rl?-wQbh0d|PeH6fRQ(oa>3@XO|m{ zd>O`pe(7$Pk?+p(#l~d%)r#tQ%4lO=>&moC$!=&G`0&QI+-90?%g(1O-RxYNC6Jw| zIEQ8@#WKlG;qxcfWSG|ac;jOqVoi>HH5wZG4yHFR_9-h}Z%R&g^Ee-q!&^oRX7i#A zS9QeFjeysa6kI3*;)#<!To(#=DpHO|O_<@S4wGM88AfOKAkQXFGO!i4$pRZ_ISyFo zCw6K140F-d@liqhe&)G&K6b$8CZHH!5E^^)OTKKhi5uDaz3=fiLYd;V+6u~3`&Fk5 clN%f`lg?ZdlPVk?46pS3Kj^DI>;PB-0Gz~?I{*Lx delta 22845 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 diff --git a/packages/curl b/packages/curl index 1881d66..fb86a1e 100644 --- a/packages/curl +++ b/packages/curl @@ -21,7 +21,7 @@ 'name': 'curl', 'num_files': 6, 'title': 'cURL agent plugin', - 'version': '20220320.v0.1.2', + 'version': '20220322.v0.1.2', 'version.min_required': '2.0.0', 'version.packaged': '2021.09.20', 'version.usable_until': None} \ No newline at end of file diff --git a/web/plugins/wato/curl.py b/web/plugins/wato/curl.py index 3fd4574..b04b355 100644 --- a/web/plugins/wato/curl.py +++ b/web/plugins/wato/curl.py @@ -58,6 +58,8 @@ # added options --ftp-ssl-control, --ftp-ssl-ccc, --ftp-ssl-ccc-mode # 2022-03-21: moved --connect-timeout, --limit-rate, --max-filesize, --max-time, --speed-limit, --speed-time # to "limits" sub Directory +# 2022-03-22: added curl_error_code_to_ignore and http_error_code_to_ignore options +# import ipaddress from cmk.gui.i18n import _ from cmk.gui.exceptions import MKUserError @@ -137,12 +139,26 @@ _curl_check_elements = [ title=_('State on HTTP result not OK'), help=_('Monitoring state if the HTTP return code is not in 2xx or 3xx. Default is WARN.') )), + ('http_error_code_to_ignore', + ListOfStrings( + title=_('HTTP:q error codes to ignore'), + allow_empty=False, + orientation='horizontal', + valuespec=Integer(size=3, minvalue=0, maxvalue=999), + )), ('state_curl_result_not_0', MonitoringState( default_value=1, title=_('State on cURL exit code not OK'), help=_('Monitoring state if the exit code is not 0. Default is WARN.') )), + ('curl_error_code_to_ignore', + ListOfStrings( + title=_('cURL error codes to ignore'), + allow_empty=False, + orientation='horizontal', + valuespec=Integer(size=3, minvalue=0, maxvalue=999), + )), ('state_verify_sll_not_0', MonitoringState( default_value=1, @@ -683,7 +699,7 @@ _option_header_strings = ('header_strings', title=_('Strings to expect in header'), # orientation='horizontal', allow_empty=False, - valuespec=TextInput(allow_empty=False, regex='[a-zA-Z0-9\.]'), + valuespec=TextInput(allow_empty=False, regex='[a-zA-Z0-9\\.]'), )) _url_header_strings = ('header_strings', CascadingDropdown( -- GitLab