From 5aca5e34b40eeb10ad300ed06468c9a93b0cb376 Mon Sep 17 00:00:00 2001 From: ppabc8 Date: Fri, 13 Apr 2018 16:55:39 +0800 Subject: [PATCH 1/4] update --- php-sqlreview/order.php | 4 ++-- php-sqlreview/stat/db.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/php-sqlreview/order.php b/php-sqlreview/order.php index 6c6176d..4a76954 100644 --- a/php-sqlreview/order.php +++ b/php-sqlreview/order.php @@ -21,7 +21,7 @@ echo "
"; echo "

输入用户名: - +

"; @@ -29,7 +29,7 @@

输入时间范围: AND - +

"; diff --git a/php-sqlreview/stat/db.php b/php-sqlreview/stat/db.php index dfc4a1b..6793067 100644 --- a/php-sqlreview/stat/db.php +++ b/php-sqlreview/stat/db.php @@ -1,7 +1,7 @@ Date: Wed, 9 May 2018 10:32:52 +0800 Subject: [PATCH 2/4] update --- php-sqlreview/cancel.php | 13 + php-sqlreview/cancel_status.php | 22 + php-sqlreview/conn.php | 5 +- php-sqlreview/css/table.css | 8 +- php-sqlreview/db_config.php | 4 +- php-sqlreview/dbinfo.sql.txt | 33 +- php-sqlreview/execute.php | 13 + php-sqlreview/execute_status.php | 68 + php-sqlreview/header.php | 2 +- php-sqlreview/image/coin02.png | Bin 0 -> 1365 bytes php-sqlreview/image/coin07.png | Bin 0 -> 1423 bytes php-sqlreview/image/coin08.png | Bin 0 -> 1438 bytes php-sqlreview/image/coin09.png | Bin 0 -> 1303 bytes php-sqlreview/image/coin10.png | Bin 0 -> 1305 bytes php-sqlreview/image/coin11.png | Bin 0 -> 1450 bytes php-sqlreview/image/coin12.png | Bin 0 -> 1461 bytes php-sqlreview/image/coin13.png | Bin 0 -> 1273 bytes php-sqlreview/image/coin14.png | Bin 0 -> 1281 bytes php-sqlreview/image/coin15.png | Bin 0 -> 1564 bytes php-sqlreview/image/coin16.png | Bin 0 -> 1574 bytes php-sqlreview/image/coin17.png | Bin 0 -> 1548 bytes php-sqlreview/image/coin18.png | Bin 0 -> 1548 bytes php-sqlreview/image/coinL1.png | Bin 0 -> 1519 bytes php-sqlreview/image/coinL2.png | Bin 0 -> 1518 bytes php-sqlreview/image/delete.png | Bin 0 -> 1237 bytes php-sqlreview/image/logBanner.png | Bin 0 -> 521112 bytes php-sqlreview/image/logLOGO.png | Bin 0 -> 4003 bytes php-sqlreview/image/logName.png | Bin 0 -> 1321 bytes php-sqlreview/image/logPwd.png | Bin 0 -> 1256 bytes php-sqlreview/image/logYZM.png | Bin 0 -> 6703 bytes php-sqlreview/image/no.png | Bin 0 -> 1490 bytes php-sqlreview/image/ok.png | Bin 0 -> 1443 bytes php-sqlreview/image/shanchu.png | Bin 0 -> 1356 bytes php-sqlreview/image/topic.png | Bin 0 -> 544 bytes php-sqlreview/image/update.png | Bin 0 -> 1316 bytes php-sqlreview/left.php | 54 + php-sqlreview/login.php | 7 +- php-sqlreview/mail/mail.php | 17 + php-sqlreview/mail/sendEmail | 2236 +++++++++++++++++++++++++++ php-sqlreview/main.php | 4 +- php-sqlreview/my_order.php | 119 ++ php-sqlreview/sql_interface.php | 94 ++ php-sqlreview/sql_review.php | 81 +- php-sqlreview/sqladvisor_config.php | 6 +- php-sqlreview/stat/db.php | 11 +- php-sqlreview/update.php | 15 + php-sqlreview/update_status.php | 25 + php-sqlreview/wait_order.php | 128 ++ 48 files changed, 2892 insertions(+), 73 deletions(-) create mode 100644 php-sqlreview/cancel.php create mode 100644 php-sqlreview/cancel_status.php create mode 100644 php-sqlreview/execute.php create mode 100644 php-sqlreview/execute_status.php create mode 100644 php-sqlreview/image/coin02.png create mode 100644 php-sqlreview/image/coin07.png create mode 100644 php-sqlreview/image/coin08.png create mode 100644 php-sqlreview/image/coin09.png create mode 100644 php-sqlreview/image/coin10.png create mode 100644 php-sqlreview/image/coin11.png create mode 100644 php-sqlreview/image/coin12.png create mode 100644 php-sqlreview/image/coin13.png create mode 100644 php-sqlreview/image/coin14.png create mode 100644 php-sqlreview/image/coin15.png create mode 100644 php-sqlreview/image/coin16.png create mode 100644 php-sqlreview/image/coin17.png create mode 100644 php-sqlreview/image/coin18.png create mode 100644 php-sqlreview/image/coinL1.png create mode 100644 php-sqlreview/image/coinL2.png create mode 100644 php-sqlreview/image/delete.png create mode 100644 php-sqlreview/image/logBanner.png create mode 100644 php-sqlreview/image/logLOGO.png create mode 100644 php-sqlreview/image/logName.png create mode 100644 php-sqlreview/image/logPwd.png create mode 100644 php-sqlreview/image/logYZM.png create mode 100644 php-sqlreview/image/no.png create mode 100644 php-sqlreview/image/ok.png create mode 100644 php-sqlreview/image/shanchu.png create mode 100644 php-sqlreview/image/topic.png create mode 100644 php-sqlreview/image/update.png create mode 100644 php-sqlreview/left.php create mode 100644 php-sqlreview/mail/mail.php create mode 100644 php-sqlreview/mail/sendEmail create mode 100644 php-sqlreview/my_order.php create mode 100644 php-sqlreview/sql_interface.php create mode 100644 php-sqlreview/update.php create mode 100644 php-sqlreview/update_status.php create mode 100644 php-sqlreview/wait_order.php diff --git a/php-sqlreview/cancel.php b/php-sqlreview/cancel.php new file mode 100644 index 0000000..2428f21 --- /dev/null +++ b/php-sqlreview/cancel.php @@ -0,0 +1,13 @@ + +
+ + + +
+ diff --git a/php-sqlreview/cancel_status.php b/php-sqlreview/cancel_status.php new file mode 100644 index 0000000..191c7dd --- /dev/null +++ b/php-sqlreview/cancel_status.php @@ -0,0 +1,22 @@ +"; + header("location:my_order.php"); + } +} + +?> diff --git a/php-sqlreview/conn.php b/php-sqlreview/conn.php index 5aae7ec..d52f1ab 100644 --- a/php-sqlreview/conn.php +++ b/php-sqlreview/conn.php @@ -1,5 +1,6 @@ - diff --git a/php-sqlreview/css/table.css b/php-sqlreview/css/table.css index 699ad0d..ef24be3 100644 --- a/php-sqlreview/css/table.css +++ b/php-sqlreview/css/table.css @@ -1,5 +1,5 @@ body { - width: 90%; + width: 98%; margin: 10px auto; font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 14px; @@ -9,8 +9,9 @@ body { table { *border-collapse: collapse; /* IE7 and lower */ border-spacing: 0; - width: 90%; - white-space:normal; + width: 98%; + white-space:normal; + /*table-layout:fixed;*/ word-break: break-all; } @@ -57,6 +58,7 @@ table { .bordered td:first-child, .bordered th:first-child { border-left: none; + white-space: nowrap; } .bordered th:first-child { diff --git a/php-sqlreview/db_config.php b/php-sqlreview/db_config.php index 8499b1e..c7713aa 100644 --- a/php-sqlreview/db_config.php +++ b/php-sqlreview/db_config.php @@ -1,9 +1,9 @@ +
+ + + + +
diff --git a/php-sqlreview/execute_status.php b/php-sqlreview/execute_status.php new file mode 100644 index 0000000..d4da03b --- /dev/null +++ b/php-sqlreview/execute_status.php @@ -0,0 +1,68 @@ +"; + echo $db."
"; + echo $user."
"; + echo $pwd."
"; + echo $port."
"; + echo $ops_content."
";*/ + } + mysql_close($con); + //上线(客户端请使用mysql5.5及以下版本,或者MariaDB10版本。) + $dbsql_exec="/usr/bin/mysql --default-character-set=utf8 --skip-column-names --safe-updates -h$ip -u$user -p"."'".$pwd."'"." -P$port $db --execute=\"SHOW MASTER STATUS;".$ops_content.";SHOW MASTER STATUS;"."\"" ; + + ##########上线执行################### + $remote_user="hechunyang"; + $remote_password="123456"; + $script=$dbsql_exec; + $connection = ssh2_connect('192.168.148.10',60000); + ssh2_auth_password($connection,$remote_user,$remote_password); + $stream = ssh2_exec($connection,$script,NULL,$env=array(),100000,100000); + $correctStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); + $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); + stream_set_blocking($errorStream, true); + $message=stream_get_contents($errorStream); + $measage_stdio=stream_get_contents($correctStream); + + if ($message == ''){ + $con2=mysqli_connect("192.168.148.9","admin","123456","sql_db"); + $sql = "update sql_order_wait set finish_status=2 WHERE id={$id}"; + if(mysqli_query($con2,$sql)){ + echo "
"; + echo "对,就这样,上线成功了!
"; + echo "666"; + } + mysqli_close($con2); + //header("refresh:3;location:wait_order.php"); + echo "
"; + echo "点击返回工单界面
"; + } + else{ + echo $message."
"; + echo "上线失败!
"; + echo "fail"; + } + fclose($stream); + fclose($errorStream); + ####################################### + } +else{ + echo "没有执行.
"; + } +} + +?> diff --git a/php-sqlreview/header.php b/php-sqlreview/header.php index bae0d0d..33ebf6b 100644 --- a/php-sqlreview/header.php +++ b/php-sqlreview/header.php @@ -1,6 +1,6 @@ 注销 登录
'; + echo ' 注销
'; ?> diff --git a/php-sqlreview/image/coin02.png b/php-sqlreview/image/coin02.png new file mode 100644 index 0000000000000000000000000000000000000000..077af389d20ac59d65f239d365b2a110bd9b45f1 GIT binary patch literal 1365 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`;^gXNY;J03VPRxwXy|I{=;UPKZ0zD{;$~)I z;ACM8)9aF-T$-DjR|3H{644~kf%h=vIPQxAvZrtG9r6gUiB+dQbJ80R=in`_dR$qR5r}F*8*5Lj3tndGQ_kParyT#|W9(q`C zCwR+`9qL(~2NMit?Fo7@vGdEpO|=K#f1iCc(8K<4%e8uT`NU_2OEU^R-kR}#a zh=1++v>)ED`yGqdJkr0g{;U1T$JZSui^)HeEp^l8b8Nq+->jL@9`-}C`9>~BWx2}6 zs*w4A{&QDu;Mo6AyQV!*(|c#xeTGktlPx%>Er|M+{z0fLQFPUoYN-S}lys`py| z%+~vMfNhFL4u9MM)i=%)7siNgV46LFHC!m)S#HzO*B_$v);O-~IIsBIe)TemZ8sI% zC)Fzz%6}?U^_zM?M&yvRMavcqv-8?2TILfOFa5kbv0|>!^TW|U7^VhIYmw+{<*`U@ zka=?I>Wa8sq8u!5SVZqsJ-Io#>Cdgou!`78&$s@%JKf>bvz)lyGP{2Cckd9>liB$F zli!@T^D~_G*cr>mdKI;Vst0Dk@Xk^lez literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin07.png b/php-sqlreview/image/coin07.png new file mode 100644 index 0000000000000000000000000000000000000000..f133c8d6a487d81ed756f3d7a4d5ef3143559b45 GIT binary patch literal 1423 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkcYG7&ZWM<-QVPRxwXy|I{WMb^>>}KiWXzXTg zXkq9K)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS$~WxS;N4<#O&$f7*cWT z%2aQSmOzo?>1v<4W+_c%4SQlL6f6?i)!VW$(J}F0mr$mFwClw+Q&>}N#Kopfy0T$n z`Nq#(9GbyPGXD7gwZEHZ{5Vi7@2}N;+v5HI?^K`L`P}$-josyVp3n0++qa+n^?7=e zU%;`Syb{d$3j~*3+^_U+dg1X`5U#YjYY|1di<#e#HEWsr#D~tLu9Q zK@X-#1umYVvw|Lsf(xWPbbc$}dal*X>3{jwfn|^C+4d$(+P!}110nN-NBMQF#tl=u z*E2s^(!K3&fdWgkL6hk2b6?fxIKAea^rre&%Gvi9|E~IAxz@I0!_;q1pT%F*h5it* zVPx;%R>%qIK3(wOM;X`Y-PVnht~+QOo(}%AQ0H)10aMzN5J%C7$FtOq{QkVHHRI6f zJE8nH*p46IzT~(?s4rH{ddj}U4m~#Q?NZk^8MP5vIT z{Rce$?(1SZBHLD=Qt+Ao$qngvlXYhE&ZNZ@cf9||VsuBKU+AG&+Kr=2YSOPXmU|kx z9MaT#YUQ<7tUD;_uzkk%ps--CZqrPuuS#>yo_xw*z4PLduBrP9Pan_Ww!VH)-%cpq nXHEF$?rWQW-mm>^$0EU?r_s5)b>?3sP!Z|r>gTe~DWM4fyKoOI literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin08.png b/php-sqlreview/image/coin08.png new file mode 100644 index 0000000000000000000000000000000000000000..fd4f66337de155ec84ec42b85c7328720463f2e2 GIT binary patch literal 1438 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkcYVKriXy)u@VPRxwXy|Hc;b>vxXklt>>Skc% zV(I1t)9aF-T$-DjR|3&$r2=j%C$O|NJxF7V z5>Z*A7quf;iK$rl-${q^tU!sIYK|O}URr;sF5G#hM{>u9L&s-YetuT{{$BCB+J_-p zqE=mkc1DFt6FsKqH^pUK`<^S&eE$NY=&AD&c5?mae>QnYWyhPU*&E~ ze1T}%h6*KE2@HG{4)wR74zi`ih2?tlgR{JH?@YUY$_oe*JAtyf1Wi@N9p` z`{zPXP6qRlkR8TW>TCMlIkw(<#C+m5Qz4_z3pTU2+u3De%1t&$Y&bhnKby@=ZG!l$ z9p0jH;er2B@3hov8%?q~xi;4Q>8maaU9*~w$JcJXnpu3L&BlFqXZDw;pB2x4dN3iY zJd3>gTe~DWM4f D#|Rly literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin09.png b/php-sqlreview/image/coin09.png new file mode 100644 index 0000000000000000000000000000000000000000..bfe63d4acbd8b00840f81a4691d0833d1bf45fac GIT binary patch literal 1303 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 QcL9~2p00i_>zopr0DEF1rvLx| literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin12.png b/php-sqlreview/image/coin12.png new file mode 100644 index 0000000000000000000000000000000000000000..8d272684ff383b8815ef82c8504705ef32589b35 GIT binary patch literal 1461 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Y-VZUXkp@NVPRxsXy|HcVdiXP;b`V;;^gRT z>0)dM)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS$}LZ(_>&@()4t345_%a zWU8-6NTA5^`#cYwHu-kDom!w_IAdWa4|hwKlEB@FZ;lt$lENmXxJ2#PtYgHvk?;?gFX@arT??HAOC#yMWg)pIln(XubU@*I&E`Y z$J$1*jHa&}n9?4a+O%cvPga}EDgD2^Ve3?b2fv&{J^l+9@Xm9P-}6Cih~52yUu z9rv{C_K#l2hf+W1PgnSJ^@nTP+!pD5ANEMSny#?t+>iIAC+>DEf3z!Y9^b|w>-4w> zJg&`$y#0PmYr1L>*7!ovLhpayDZQz?lTV4BzjJccrB3+}50-VVp2GJ`WcnZW zM|yvH{xm|Ji*)K`;+`0fxqjDSC(yd`NH+|sKfl%2e(vO2t5CKDCq-d+@Y3RLRMS; zHX449JnF1%BT-?SCx5=}OvU_9Unfr37Uz{1%4srO*WQ_jGxW(m7rQ}6E z`w#1*gS>U!cw&}nzvSEQ*SX)Z{mt#PBlZywpWc{o)2Mv6l%W2R>8rauw%5&ytKIZ2 d{>wiO0|xoH_RidOZ|gt>si&)-%Q~loCIHXdF0B9n literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin13.png b/php-sqlreview/image/coin13.png new file mode 100644 index 0000000000000000000000000000000000000000..b5640a06157260087f80c84a7a42ed68acd6cc3e GIT binary patch literal 1273 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Y3gj^WZ>pvVPRxsXy|I{Wa(nyY-VX}U}0h4 zV(DlO)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS%-y4Ycen}=6bp~hE&|T za@AMEB~j$q$Le;2PZRrR-Pp8o!Lqc)Ia8-3E#&A9+>~&1o=fCSjoGK&d=IzHWj*TF zr74}wtt>VvA|uFd-T#%vughkqEi1g=8oWO(>)r1wmFedsZ9~Yf5cwDBN2mN+3SWh0^eFze|~y^~YQ zCRgoG3=3*{%vLA+v7=5fF+8McGh5SUp*e0hisw#ykQ>t?@lS2$y-=OUEIaMn?j?E} z?LBFI*gDOiX_}Ff{>IiR^-Go-Ra}Xj?~>lxX!*8`_xityU#GLIfAxBe-r`kE3;it) zDA{$b^}QKpz3XV-$63#3=HGc$dydt)`|ac6Sexoyc6)zanWp|=%I+8MH!ji+Eqf>4 lXJQguApLju|2^@HYz!Kgyrnhc9kM`$k*BMl%Q~loCIGcU$SD8- literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coin14.png b/php-sqlreview/image/coin14.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bf40042c9e443415a397ac9abc04c97864c9ba GIT binary patch literal 1281 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`>1JtQVCZOUVPRxsXy|I{WM=Nv4~Pj*wm=R%;iu*SQ+p9GS^G9@u3%tbEcJA845_$v z=c>O3OQOW_k2g&>uAX48S}rcW_34XMOGMbW9!lgddg!!H<&>k|snnesZ+ESk-Tg@E z=(KKOy&jF6Q;ykB&;PLd>f26u~{oKhxi zwcjz!sVUiNzGIlq8h)i0U0xePn-aX6f`6GbubINKKEeLL2lkUC%aWvSpZIU|g(+A^ z;Pe&d-4#a+ssjHvUtrb|-j(+vs$8o(`$UwyOYy|U%C}{G7nGkb_?bC@<@~GX9eHj~ z?G|o7kc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkc}cj< z3=DplUYGpj(%jU%5}4i;gkEQydO=Acw*Y9fOKMSOS!#+~QGTuh*vnR#xZPrj(>$o& z6x?oc#Hm*w=oo!a#3DsBObD2IKumbD1#;jCKQ#}S+KYh6`tO~n=?n}^6FglULn>~~ znHud8>L}87{^q>CGQ(DlmUpaan)@UKMPlzaX=uD~5@2Z$3K6*2E>fk**`=Ya#C?j% zn3G3qk;0-y?Ta)tjvRT%U;1H5!nD@uzr_AXvstEBOa8b~op%0D_Sspc+3m)s*0nO- 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 QAE5Ht)78&qol`;+0N4&zod5s; literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/coinL1.png b/php-sqlreview/image/coinL1.png new file mode 100644 index 0000000000000000000000000000000000000000..b52e7231e7465ddffffa072d032dd064ace7514f GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij}dsshfd` zo4JvZg@voBp`nwBfw6_7rMZELqqBjdiv`RKY{e=Au(VId}nCSx@qYp|P zNQng|1WbV-COqi_Iq=Mrng`4=MZl~PQ>7-&z`!K$>Eaktacj#|UyqPLk%n|N?)qPb zth}Nsnr)`1E#Sy=*kc+XBv@ zhunKws`tyAzES;HBrz%RJ;Nof8B;qYYt7vu*HE>C@x1T^xkmA6A=B<2_7R`M zC)j^bcScK^#2xn-X7!#j=|k+_`d$9`v@)L(`14WldE{Ho%@d2#w{*Cxc-}TT?f*f* zOp(2=vLiWcw{&F7bN(It<#Q#i6|JMzNN?c2xgpUrCHdBxeWy3@SWj48dseZ3>9G>F zXPYi3$m#9qvCQ&NKk+l+MDk8nD{fE!W#4jNcb%E=>etHm*%unO9P?|HO{`dN%%A;l z|3P<&Hs=7g=m~uVSM5aW0#}`mpL8%PRkXnGXf_A47Qc#?-P+wXth-D^{k~++vN^1M z{HMY4R^{c7d%wnZt$MNG(dG|)n-XNhVpeSw5_>3`{-Z+ak<;1Cwrx*2N)NccD3#Rz z`}u_NpChVTwrPKtNu@0iwTgX`p3-_^^W7s)XB`j8zF;xO{8oSMHq*OfFBPZ%eyaOP$NkQd^h-T~JKiZ)y!!lBB&PVtx2OMDq`qs;S#j@lp5g0` zc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij}dsshfd` zo4JvZg@voBp`nwBfw6_7rMZELqqBjdiv`RKYKL?fq0y6ST@{2R_ z3lyA#%@j1kGxJjN%ZoKZ(F5_VOKMSOS!#+~QGTuhIDD-#vDi=8-w?ei?JgIrW98(0$8uu=*SjND>BcP zsA-klA=`g^dvT>D$IlIOTet8%OHFdS9~coH?{MVr1-9!6TFjYpKGBy1cbxaJw~$qm zYc8A7BEj=UDX&%8ZMXD8=HKp0b;}Obr3(D}*`dAWTk+Q>Z9n7}pdge}$wOuLwf!!gX}#$T{*(v1V0o{FZtXo&Rv^ zV`0V0R^{c7w|yN1HC{{G*W5Qb%)NuNR_~Kmq~fO_^N*HilTS#Q@TK>DOP+5lSh-Vk+MIotUSH@D ziP`k)iA?i*X*m?86(Z3m|uRQYo)5rY`%nS!I>l!6z{5uOOfjwRQT-G@yGywqG CIV;ux literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/delete.png b/php-sqlreview/image/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..1490f2ca5b6f2809a823a0ac38a7cde2514fe7e7 GIT binary patch literal 1237 zcmeAS@N?(olHy`uVBq!ia0vp^qChOh!3HGto3C2{DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XRMoSU}&gdW~OIo zVrph)sH0$HU}&Uo07PcGh9*{~W>!Y#3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2Ntn zTP2`NAzsKWfE$}v3=Jk=fazBx7U&!58GyV5Q|Rl9UukYGTy=3tP%6T`SPd=?sVqp< z4@xc0FD*(2MqHXQ$f^P>=c3falKi5O{QMkPCP^Az79*T`^?{Dj2SqGWM8kxDsRzV_CtDx~p72xifT_I*n5-{tW-w%6VD$8KaSW-r zmGtNTe|zSwjLK%t^Oyek#I$m&!<#Pm_r(f+Q)X?hRNuwI&BuEzfcbR84@N#y?Zyfv zf$Rq*niopHIdn;PI5N$1n8SUf%%O(4ec|!O2%e6^j?WlAhA&vne~6b=%0m2v-y)}i zb8J#`j1m3^RN8)&ohz5L{y0$v!qx!uO$(r3|*n-jlmNG{eq xp*?@0#IhI0lb+6>$n&Qsg~Ny6CW3*9harVAHm~JP+!jzlvd$@?2>@=$oYMdR literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/logBanner.png b/php-sqlreview/image/logBanner.png new file mode 100644 index 0000000000000000000000000000000000000000..9cef1f179c1c6e1565716a0063d027b131013b72 GIT binary patch literal 521112 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

OcgrX<&o1=wRXR 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℘vQ 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�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π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

vZSl_`A>sTr>*rsa9`;jH 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%0AhrF5 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 Gh=CuI9488#rX2Eh8U>D`i zame3@`$@;_mmLkfzRj@oN{yTuie-Yd0&#N)t;Ed%CjnO5;jFnD&Kk~OCldFE%00WY=^La-!!`4*62 zcpdyj?ef;{R=K#_E~4lPtVggLE;d=w%smWC;77lJ8YF?e-$WP|4EWBYPw!GK5{R?}0sc&!s{oi$ z_&ol=asE7DGCV(d@?-?A5j=D>G~A*K315dO4sp(8M1W;PnUP@s%dHD~y?fO}X?pJP!||#cW|S@xgRi!cKDC@ zrxccMU_FKAm!cOhrnOE?`RwgBlrYFbb z92&`Q$=U0mXt3c#qBtyG@X9P`X9zSWR1#axbEc)Gm%^F>lL1)QDuI$(Pm1%#3YZ*5 z0)@MwLy$J)eBz3l4!N*cL$Zv{;-JYKK0%9dK16*;$8r8m^fn)ouHTTN&D zbWoA%blNCSlKq7cOPy|cwNe_bOBi)UT4xn>MFK0TF02L}Bj<)I=#nl-mm7@|NwC5S zX~Vb%Cg_biT)<%~m8wlIf&_YK^xEbMBtC<%>c&e0zx&SzURqt1W~8CjZ~dvj-`C#z z+Q%RN4pHFOe(Rmi%(q95BGozCm~ zolbOicJ}p|aVSs{=zHxNhE>9`^8AY6-z%FCYPlfrdVb7j&CXh-hb?a`wmj7m(0vig zlji5Y_q~C$gM;HIFK)d17q@N+3Vh-6ZJX+lJZsPl?3tMGG@rctW;*SK0;c7QskyzT z9RPC@?uDBZKLH3n_k{<9(NV)43|sNAd?b^y`a^Kd1;tTiRuYHczdq!`rD)BWBOR68 z*Qet-^1Rr!)JpdtZ)x5u-M(Dh0Jlb#7HF|*7S|K@@>3E=>z-iUW`uRVFn*@1!!Fz( zf!(uc2rms zY~7`kW_^|>x%3EsNwXIzlXLl!_`Bt~IRlyNu1+L5jjs1VaJ*j}7PcVyd$KG2ncf93 zq;ybBM}Q(bU=NHVXLy6_2r-p1KAiz7u3>p>EPqNwU;iKvv zD0Tv}-TU*TtPR2CtRtu@OMQV)s6KGFtV$Pl(SZbAzBUC$3-q+P+DN@D{ZoVHR{B`>zXxO#@O> z76&5&7paJ$ESJFBcel3@YVSU}^UY^44eOb^&pZNM*5kX|_XPIdySMY1z-s6N2H5>J zUhx6k9|Z{J<2+pj4g^o=bCfdWTJ1q}rF zLm;IRoY&Wx8fz^_BC$^Now3v70&7>s6NyF4kbZe_X>mL;F1W8C(1VLN#sPiLoH=pA z2i?M@Xr~pKjzp$n%QMN5#EawO;{yX{1p*IGr8dGp{foc&hyV551<#s|kq+kOnpL_VOCB8wUfi&48~zO1fD4p0{N=d|5R>H*RJk5X zwb6b=(+naZDWu60Os|4BI3Qaa3RKoWbeAAFPTFZdSeT?U$v|8pzz!9b85*tpN?Fq; ztos`J6(kV@-YI0WhvV;|@XLUzs~XJ6=Q2V1ldQp#6##QnFSi-lWc0ORR$NA#k-$fs zG26WS)g24A&GX|ej+CUQ0L|zJ2HpyOUK>EQjaa+e%(g)iy_H40l?<34GXrkh2*^06 zF3MbIB+iF0V6%$B3BT0dpbC}BXat5N=zH0noic<$qYzq<-)}y1_nVL40?$9&zPJ5& zo63Np4XIot0M^I1k9=D_o@NLJCM*t^L{9?2#Z7FQX>W^yup+zzhDkLsTZeSYP&WrL z=IUxsd6Jt4)0=4(7>y<+=~VKX3uc}`x1{)rq|ok+EVb^fGMOdTTh&382)wM(N^75S zL+PUh^ulttA+spM>bBIo2Hw9Y0C;K`Vx7V3JNo>o&B5`3Km6WXH#RqiRsnj4hRBBm zQ|Rx0_}UNOgCX?)`RBljhyMHD{;jY6;qRZlu>cv-^OwHzmERE9d1mZ8)VW~6pQ`>l zzd74kj!oTjX}B|z{*GC4E<)e|Rv>z(I( z#{^`z_M?KL3L=|K!pRHc$jt{|y0N;tlBiw`)&Ai-$Kn&0Z#U-z?(Y3$&$9&*EYIz8 zm(lktKs7p*Jer7H1A`UXz3msqDoS9G024hPVA zHX`LQ^9rWWIEoI13?DGKgk?jpst3-w#Lm1AuIN|}6Nu}2-K!a}8-blRB$Pl)zfq-L zK|yp*nt`=sT0(l=A;QY3z)EKgl3%wV9m;^6G#K~0QiVlpUwnl5(SE;9zXG)7nqSq8 zgwY%TuiG?v#{DoiFW?37R*svgG+3r_#I-dEaGB3_GGIJ~9>&#c<^ournsv^kb%9df z_$%bhwi{p%0pb3L>}J3UYF+4SU~snlgmD+6t|-o#9Y}zwn6?30DH(3H3lIzK3zVh7 zErMV|YQin>-ZCU&AK93iM zVdFsXh0Dp4lW>_-Y}AV$;AI0h>HU+Gi6xcFiU5-=n(>o`(Iy7F;aD~`ut6yu?AZfL z?kfe)%V|PQS#QWV3Zv;Msm^LCwN-;-HdJk)cnQzJ9dTOXFf(B3L~8t%L+>1}9#Tqp zkV;k0zYIIwRZP6vJaq$T=8etKS5`5ba%gDv`YPUBU;Tp*K736;u;9SIy?~JYU;pS| z{JuC&EiJtGPk%NrFmU=SXHJ|EyfZN!LHL}l|H*>~&voWw9iOi=Hb0*nA6(g7S$t8D zKj2CIJ)nOo)qTui1QI2Mz((xpzOWMM1jODLwUI1{~G|m{UA3 zL7EX+2T8--o7$5^5FEyy;2KGuYq0O_x|pwA^#bqpSw^+67ls8zI6keB&V{!8s+1R`6SQ zb|e`-VCU1m`5neaxbA0%uwuY8c}52?kyi%WIA9;mq;WGWs4I$;QA`EoH;yA^V77i) z)sUfbB;NW0Db`D23BlV`Vu;EuhaK1q;V95q1yeF@#&tNh!TlJpBNse1Yon7I_Q!FD-b{W(0yO>K0@m#`FxrUikwj7m);`$5+5@ zQ%7nbRzuh`Y=ql{zw&kqCewhNO&UTsw{R-W*ovAh@u~g{xF>PLwffcYTcinenRL)) zgkS-=-xQa-kA5NW7x^%7Ur4{o7K`N<%7DJWfX|;-xGNrh`~06BaX>P?i~u}|^X157 zU%HBA3=vG@5GN4;U-hzVnX{OQ_Xdrz@}vp8XkIe7^HoKf(`;3eljxwHRR@D!M=oU= zLD-p8IYkrYR!i`9#9`Dz^FEj(uM_}-h^t|g90C+$dPjqjI*jpiHQcucm^%s&u3QWb zlhO(-zeAwHS{b~ty1DwwDjb3agCzPDe6af8;t=|^uYLSq{2_kkzx>t*0)KyXc5ra; zTZ3l@&)!H}>i9ab>FJT=bgb3c??hjJz0;YG%#THVC(a1gd+WyF(&B%fIGy;Z)yS)}ji9d57^y;>U5%~66sFZFrN)PYyLVamWF#0{$|!?2?? zi4iy~y9sIcTdT<=j=c8%nwJ`JUSPmfk>n#47JjBibhVaO`mIo2`IJ}{EtxN2Zko# zO<6PnGfb-evQ${>tqK7n>PmnwIhQ!O!|Z2p$gdOvXPuHPNr?NFB=u%*IKa73==+%` z&YGmc;m#$aw}=eE6wkrc3F!5Oc&jW}j&y9L;JP$imT{6>tg!+*+=gj32#&!<1mPNj z@5-~9*&?P@7RlKFi9mM0iwj~3nk4J509t{~;6B=-9WX*S$5;sjrcU4<33Rh(_uK4& zU;GgWTto=o*%4R_orL1J`yVim;}@uWetZ{HS1;_mP~3R|M%G36MT=Vlh`)fsgt>nv z9*yuQ`n-JUqQ*GsovR6DEbvkHPnj8+R^87k>@u7IziOL%h9$$#a=J9%~T zs<|Ex_M1|3tsyhuv|IuM;gvC4;6(C*E_zCwE1-7@P`DKofAl-s7pioTSy*sdS``mB z$U`h?@L#bQI;;`6BvH4a%Ynn;R6TX_U!vJ}bqKO2VGzB!dgJV=&DGVjXV0zz4PF&5 zt^x;M{nmFuhxOX~KmNg27SNyc%CCR{|NhxkI&KUkX9V-zADa@GHx`>2A)rm1PR`Ff zdphy6#6V(vd?9iAXX6V?OH0swxU{q|d`p}$aypru|IV2+z7x?Cub=5e!vZWrR&;7Q z2|b6yiNwtE*x2bCo8q_e%FyOwB00U>iAFp3JGJ=Q#9lm=s;{rFt$_%u>481)<>q?# z;oIVvnp*C3?!(0UXd-t1n9oYVY#KQ5TJz?dfMMt}+}jgqJhvWr64(gT{dMR(6#r+7 z=Pc+6*2{-$R6HE6k*~O<+mg6jNhNalv_P7h2?2LM7dT9cth}B-1K|2B zJ+5Z;Rvymu)gaiDm%ZlL*^ok8awE)qm#?ZhscX!UE%|BV==K*p^H=s^z?ig!=HISS z_MnRnkp%v97UqT^c``cw1G~sWZ=&dXSrp(HUnFp;PS)Ru@t)rpM+niBRi2Rqo zfZ4B}acA6d(1sYg?n=pW!f#JFbcUQrGKa%-0{0XV)&&8E2uhw^!`_!f&$Rp%KZ54+ z)EC3B(1(QbXvoS!NEOJ6J7V-K0hj`=#!-hQgR(LVy}0eA2{b@5otELIq>M(?jH(%S zls3RPdOJ`sgF6DU$dJ>pTzKntW>tMqW!+UGfQ~v17sMLYk!PEaR&t6%X#eB2F7`=nM`oXu(i@#e`cD;N|pk z+N)(-L2pa(+O*bYVfb^^(eZ%JV%jGQ^!26<9agY$Xa`}#2&9A<%JVNH|J@Xjiv)9M z6}(78n`hs83lJFL_xdUp5}y6j58rza%)meX?Zhdh&1Zjg_ACJK&?wdwUWy6QYlUX5 z6ZgjiblzA3Ytpy?;M1pHeDTFZ^3o;9eg0nJ#lgWPmOz8>8PN9<;O~i!?{(h^pHBer zMe)bCuOq1IjNrzxvDe4u6XS!M@VnU@jz#a!Ag`U8I+mLI$zD8{>!wm00)p4}z>swN zHfW*a-G}0DGaW&tD^@3x#D=CfTGo|~jg7$i9MlQhb2sPgo6XyM0)A1xvL0Ap-v~h2 zVIT|2t-4h!J)BA-4epchDc{SjC~Ew?bxB3ELo>L?`Sh4uyM z`IVU*)L2MylsTD6Sy6GA)RP3b93mMsB5x=sYmOBBR%CTjrNV?+$3urI6*HnE^5?ici;EqD790Zc9+JAA%jAtTkro>9W zgl2XHBe#WT+gfOaqAV_MFw&p{FpcJGhT4T?NLFuOlEHuju9@`Vb-^as_L)#0b`<*0 zpWPc_8G1#IB~&tFHYDIFgjoUSZBo87uvlFDmbXC6T$X3!8n}%T>0OmB2@0%T(no>L zxwwnOxDB&rSoYd5ciw_caT_s|$Iz0@?gAecsNKXaB~`>wY`PJ**h7gaIaaTva zy85f%|JCZ|=1Sty{mPvOcOJ|>xbk53guvhNTZ1=Xb$e-M{?hjn1LKJo1<;;8{k?zs zGr@%y@EBfLSy>rR%#WSubWXtWI`$!*h+0wWAS5Vo=k?d`$6`|*z~7b4(a~3~uWl|T zqbFjh*-E|g$ks1<)!G`0@luvGSoh_>Tgi&KrqELAE2YeM|7) zIRxNlb8UUyp0k@!?I7TH-CkdxTNked;^^p@gHd#?BoMeISa7HF@UUHQG%9D&R2f_{ z8iHM|gb1HLsBtjTDKV0=hO=Wz+sMnD4Mt}lEq#3izCPzznjo03c}8%?QR77cqk|HrYVXe$5l)ftR4mg z#(E^uX617n2u-_S9zRzk0y_oI6(*@6CBMQ$nunzZx?(mWsR43aKL%4VU~MI%@K^HS z3R{5T?v7GFn@VVcVj0X~yl-lqmBK2H(kV*h&`#m_Arv?x)1KpgY*L`fGk`B(x6FVR zPXSX&orUx`Be%c+$0+^+pD^ZXKm`M0KJJdm_Zz?&vlM1!{3;#`wbI)GS`^a?7>CUW zwHZcf4ZirgvI`?~CUo95g;zas9J(&aMSLAF{3U|ur{k{#-+~bw-H!s3DcHt}1=M3T zQOhiF6@*i5Sm>(c=5`TLnRd9%tT?TVG#I)WvNVEj+IEwm7T#!s$(L8Ypv$5)FDRbL zC7dPnZ8wPpw-vC$-vE#?w*?5>;*l<8XqwyKwqyFNn6$*-B2S>V1epa#F$Q9Rz)BEd z0m0ertoRW(_ka@vLB`oLVK04hU~&>+_xwq`$7kpHrAdHbc=2tTDogI0?&YTuq_dN* z7)dX?kYt;$7j41D;CWL0OrDewF76{d>NfVxlhRi_si|;~1=%V`S~V~P)v`EcWsbIlB_~DO#lvrF`TseF8SF5kA3JSckcxyVG zotS9)AB1Krvz@U^rv=x&l$@WR|Iyf2$L24+2*c;`g%=a2PbXf4v9x%y0B)qgg~ZI* z>jHQM?pgwZpPPM0FyLskW_7LT>#y%Gi|=_Oaw+lB3QDl9UmslpD!aHS__X*1V#j8$ z_^+hIAN8QS79<#8^(M6eU!L%+t<4EI4a_y|K1fMl%E3i`ew5$*~Us z8i82CZw-mD4`t9AF)6$wPg`MJExV@49OE47Iv2XQEtZ)5@7!OfIB>-!wc^FDqPf^= z*rgG3NP3R|ek(b(CC20{coXZ8jBMy`Mdn~BF3b1}uhyLq448}jSHiFC5?1i*>`c;h z*hy-E@K$8%My|p*OoM4eWtRiVm^v$2G`A=9%jSsdb|i_d9LPbB4;5jNX_z7?X#?zM zGA#vH0hvu%@Z-Q3nX8mb7Z8DAFpa!9?nj~YHs(rG2_ep#Gcax5&cr#45{$ou<$ipq zhSj*@<(3A5Tsd%7PYawTT?nw;x=_#zINP)Kb-!{b?L9>D{3SM}9d}O0Vf>ec&0%)EF#ZMJftpn9*;tPh^$R9;gr!VUdMY zF8S4@PJ0HjODZqKVdm14eek?zAxs1t7q-fMq*Jyyf~!TU?J2J`2M3qspxPO{p@Dgs zPxNARWy45@2K;RW`wyVGi6NXy)u0IYI<0vJ-}>NR{VRdMn?P+}!I$KL4ETc|zW@Gf zAAay%&_e&NP z{?gA9rv(Hr3Ko3ndjkNxFTN=7_!fDOVrRz2##*t~nD3q0-<*9e+UaznQQxsnr?tF1 zGXhy!ZzOJ<+JsIf5NfY1tqcnMot_c6o=C=g{<)37M!gP1OK@96;N~871baLax7XHe z%;2yCxqS3~>{23eD{-WiTW_wdkq}Eju#I3mCr+%#;}CeT0lXNF=3oEhCqK#7OH<-6 zIuBviT*X;*tD|*Sa2yMl-jvbN$7(Y6ihwfg>;q=xjrP!Dt0uFqOzg#pvyX{xt){2Z zdBR`vC|P;Eyj3xlfTTXlJyV9YFPnc2XRoD^8a|VEY=SML(@-*CV!Pc?Mb4G!HKeT+ z{d_zm%|}=OEIWeX)f`1}Js#k?(Qt?Y z=s3b8b`MI=FSjqS2?-3lak=;fmhG4A4v5ciGLhjzocT1gD&Yg%7!&w{FBqtA2C` zkrxNg5$f-SE?}U&I~cGLf#gYWBB3Xk0wiIJTfi7eN|!{8jnLwkkP^NKd!-aQq9)MH zf5kW5-XS8JqxYGhSI(q!8Uv;X4^GoU8obT$4L=|_g4gH|{EzUEzGvFVJ+MJ(PDV)2nG&yRXyROo#x&eEcrwnJ zQLC|UOJKBpx1%FmeXsg#>h{#BQ!uR-C*%-nku1Ahw}aVW7BjPY1U)XeTn}^q z^ShDkvrX}TA^ab6SFMAY3)kV7fyc(u_scwdDG2tMOOXsvmf0F?DcX>!lX(*lhKpTg zP$pC*lAY{FI)?Gj}XYO%gHB2NvlQcUDQn@iosS#0nMEQ6kUI zC~ts?)#8jf$)n~>GO0y#B&7jKmIp`W+`3c+os^+j$yiBFv>8T|rR>$@S*l!9XnspZ z2XeZXskHw!6Jd;=lr(siF9f29qNsF61_|_b8z`na4Rp^`GPq4nB-CTATcBw&KfTIEU{X{^P!LTc;asGw7Kw4)NTS@44TkV=#}tbN%iuK*27|iA zH3DJ*$~(Wr&O$T(T30NMZGf|FjRy82)opBSqvfvxWz<)xHLr3FeP*Mvv6fs_lHF`G z>KGag{@Mujg;waqlLu8}>#+Ax}m3bmFb8!w!B@r%o7n^Z~5 z*)#`QsxkE37C|l3V4L|4i?=XHYjeG(l=zxMumt{k&JH8ForD^O_V!MPxQ99{@F9I5 z$Zcom?BoaJNb2kq0Q~vqBTGy3pDryOIJSra=!-wSS>0J*?>ig@GtrT*BY|+&VDI3> zVAqk}-mb9V!5zJU(ENOO9=edg{|h7Nvt7`-0QYeGeEQ58fa=pPzubNLO1SFm*^Vm$ zd(V2k9b3EpYd!z;u=`Bd*FQFP=Qy+^j#YnLmukM^zvQj%pB?M($UASlg12F3>&lA% z$biCXx(5TIBm2ODr;r3^M@O@6`xAldXRGgp=AKPmy}G=ggCb!8)P({FxC9$^ahTBU z>@}B5P~y0~&K?KHz-Vd{rV(3DbS>68TaUDW4v+L6fxlOg-@JjhcB#JNq-a0wcMX_L z82GEFPTCQE?PNoeK4Fqh=S^(2s7s*pr8DTfF^QH6X$8=w08H+qJo$_g#S)n_?{;y= zEADZsGtQpfh@~WLrV!`^O0MEepwsChwJKq|Fy&(5$vBwiV&F6{f!)#$ET3Zhr5kBb zGN^9at<9eGDKvK>rH!=b_#Q)TT<5$|b4q1dOmx(Yzc9m&%DN?El~=xHvgcf>7kJ0q$6zuE6CK`$%{DY8 z0U4&kh8;P2mTK;If;6wbnFwh_;9rSROG z5x3D?g9~7R##d}wgcdg(%24S0Jcr)Ym%*Fn6iRn~tA7^OyR)4$Go9^|vrvdMJ2?r4 zU~nFR`*#*Sz$nNXU;0EGuMV^>2>|}9?<_vA4~<`Z@c7H$P1M&vNIjVd`F_}PVcrr5 zgpYvis%s)3AT}&$a9}>%ggf6*SUef34Rm#hXFGa(!{MetSML=_;y82Z^j*N;uBuS= z;qY1S*>G*B_N=$T-`(?1|J3u({wHTc)x%>@k2u?ZHlN+|KYi-0h9ai^vroJ8Zue+5 zdre?xP|#pE5aH>bk8-&w>%R5WG9d8O^t3==_m`8Pw4ON{Lycq`6IT%A*bI>9@ zRmk-edXW4IBo|cc+HIGsnEJS*!ynDPYjwr_Teh0!tu2AUY7hK0We$w?q&R+3@m(du z@@qqAfalAEzji=mwdw^T451wPjSbTzI&bHBv!cuSFY|e=kC3Yr@&*DM``oJ^n4p7(rfSogWG8>!U!zEdIc^P7B<@qa0L_`;)yc|q>%}e zDq0Sw)vTC?(2AhyfGqXUU_Vln(@bBPSo7$a_%B@BhAC<7T=8X`7~22afB&YdMBS1YWP%EWzJrqn@qMFa&B$!tl8h zS_o%n1?8OuL-2X9{+#YT2a6{bx7x?)UvqQ?`5k;`fFAsw+>Q z?&cHOtn(Uda0LLnNB82cpbJRtsjF8{38IS-d^lT=P&2@Wvw0ODM+p(LDz5DjNu7n@l+5&+YfS;`InzJfBe)v)p z*nrRQeeWmpfZs_>S`5Jli?v_5TWCP5=O8C3+SO!@l zT5sgdXL7ZmdXu4drh{r0;&Ba?QHv}m(P`33^WIqQh0{e+W8w6fP?zt)Y#PuNJ;Da3 zb*oxnT~>9{9hXf?it4&~JM5Nrq;$!fco8gEBUj@@oT_uw8R_?Lh3kY zXdwhwrod&T!N#~*D@k&i_^&hSlzmDhgXWzsl4x)V0~>a_R9|q^gy8bCNQ{M@4dC%b z0!&IQ6m3b_7pktJ(Tq#lkYu&6Mu43(dUon~tU)lxUxD=(%}CCe7KX(cm1SPwq>VCr80 zz@>dKwjN;U)evSjneE5N<*$yMGj0}j*h8o*avuUIXOLwa6GXKIH z`XI=mk57^oy0f#T^TPb%V*SPXivoh@E%nbGKj^Csd!M@h^kV&Ys%MW+ws%@ioS2^v z3{C(7p9l{I-U>|2hb+FCVek;$xpQZ1xWBI-S_``b{&qApT1ssPC zhpMW)u>1{I-|GjtGuWB>`l}Bgt_p?v@AZ#WpS|+5=E{{CK|bd`zIQJas`XOtWp)&} zZ*W>bumEExxQZZ~V?QVUAFJmhfZ(Z~p6P567-#Cq)_Q(4w`^S&;M)ULN!i=i1ax1^ zUIQs?Nat^=%4vCBc+n8OA3RD^Tv_Z5X=@GVzx9 zTd88WhKVm(m~47zrHvI@vf07L`e!+R#?iFQ%vz^B4x+v_%!YX|?RmeLZw`$e$H3>w zNykj*Oef;6I5^nqprFF%aTNUlFydK(uPwOvy(qp~moC(Ib{@YoJp3POpMLvd{miUj z(tq5!I6fE{9Gp1R)jJVB(tAj-U`q>zZX6fKL2UR zB5$*;dEMiF-#vQGb|i5`^ejGTMNN#V&f^ez_tj4p)5&O2?P8h z1e*?wxD=%M3Y$S@33QO-1H7`gytlA3`c}-X4RzZ`J-x^_9jMYVj zt!g*CAz`;zx&SU3L+7Gub6~44+Ku3f9-y>Y%An~hA=z$PBf;1XoRBkU4CKHQjVzBe z+k@TAq^Ew_uTjQ; zpqnO0PN(DMd`gMCSuOTMf-S{tP~v1TBi+Ek(#^1w`UnXcdGYI#T4>k+C!N#{4BZU; z_R=Fr(O6Mx3yvnGL&-(y98ANB0ORC2n&JI1a$u?20*8_cdv+Pg(5{kXEGIHx#fx1f zfLqFd%k<3^g0M^+x1jJhRtcDm*>k2Ge;<}I;BsSdYahTRLD{XRYavY*{MU*QEEw?6kP4WbV>I-#-nnsTh|{pnRmosVc;e=e zcjzW1atsk)=VXks+$DBsQjTN!s zUE<}j^b<4i$}u!qfPn*3Az=+;FI_7ZEUuqDdzPxA9^grsJXVa1w+0U#IyBJ* zQ|8{@c^|;H$m9er|tid3k^5 z;eS5;=9_Q6`hWi)52rqYC9n0=sr`MygQunnVE^qAkUZ5>fU)y5?vAsr;O(qn!3EG} z0a}Z*a?8t8u3|^WJFms8SAYE591N)aPvQScTTe9ovk?Ye7JS7F*so+)47`53z-&7+ zVJ#(kBaaL?ucpuvfl-Pj(HQRul+3#sdx@nQG+1}@Qf`+1tdwWv`IRDrZeB}_<|<+A zQ_vAOUZjnzTQOB&xu|)TdMRY6MI#tm*H0t$B@hO(i~Hk5!Y!A;sK+{~K8Ah4C~roM z7T{`vLGZLSrMQ%t>k@g;#4hwRsNv=#AWfSd< zybzj!^Ah;3?wAs_#5Y`l!%7%z!C|uz04dQJC(o*u;jjW<=E4-#!K-4dNunGM2FuUN zW1A}?t4)V(6L;3-(v7B|XdSCfgKAY8tT~|?%eC0$C~Pyz3+I&h*~aBaHCnd=M^>^7 zx@J?GL)YjTSblHym|(crb2Qm$Svq$8*z2zg1b#3e5O^FI?FSNk1^P~QjxQnfeuBqH zYyIMQeZB9Gs{8sOHyQx={A6eS_|c<*!9RQ}aCANlKBR!p*Viv7aQiIaFO&;^aB!@@ zwxQek(3wu07Q7eiM_qyj&-;A7Pa15EzX}x!lg*{m1Y9VxU$0*q{Hy-{q#J zgMuATE$>fFj~4%8)Sd6nzrS~Tdir+o+O;e!ef@br?}9UX&AsQ!fj(MbtuyP6j|#lL zy&(|zaqPE0z6$M01=r|CYICc(X7fp~3KBWNPOUnZb( z!7c+kD0~ALFfWOD|4RW^%zWL3!dZ`k&Lhp0dS~6}YZ^Nzo~fz^=uE;1F~weKD`4Wg zNM_@FH{m9U7553E1{x8X$uAZTlA_BkqbIqQP(Ur>FU3>334#;uxLfDDM6BTvu;X}w zTuvyK#wW@cutt1!2riL0>uHtJ6DEXp94qONuKBQ>I z^i7l06&$6$1{bDcY1xznwizXlcIi=+NR8nuSyDk*dE{Iw$f8;GS1(dx(S=)iP53L` zqD`jDS{pJI)1Z^Fl4vaYTv?`oq0it6LLC*Ec?(d%AV7BwEx#BAjUuZ8IDu*QtQ`ow zFoG7;c!%^(Im&&81nFF^tVAKVlZ%uot0ac58UtiwuuS+{*1@19a+EujBDmEx7bfMT z=6OekY9R+F{3Qssv`I-74|h3*$_pCkD!rXhs|p^Xh9tn~HdbqSwIQ}PJO0eT!a18E zmDY$XdVsw)Y7%}yKd_u|>yqfk^62Q&#Ave}SXzqYE_#l(z_&Q9OV7q)>yg?I1NS8f z7Q!x87;X|9Hp{QTrS$&j=+nc)5G-{N(IwpksF_kz@670fC>0V;d>a+i~!u;S^w#v#o}uc$NbU3z|jz7Zun4w1q$mi zJo*C-cmMexo!yDk_DiR~b*A?a788b=K(GZ34xq|9>%AiGdb`es57$-!zpWL|hH8g~ zY6T$s`W?f=f)n@k4LfE+y?^?j6I)lBx9VOKklH8AO7LbKL7mH*4EaM zSO4tqtbzi=z;1e~XWG5-WX|UGde3^BA;Z~|&-=yq^E0rZpPg8OhkFWRQ z(iM!a7{1~1v}Y9+4b&Buxs0`%4VcE%z&i*FaANE~FfGFsNz;?Dow81BP)j79h}Mvc-B;gEFB4j1OmSv>YqJ$o&mVCbMeH{@lJ;zs7*%)|8UR(X;;2# z$e;ul@7TT2#Oo85d9?oechBtFA^rIb#AI1Q0jMP0-Q8{I3WxeYd{r9`3mo>^u55K| zp)2@oRk*gcy1MTksJQwa{XW5~56=2J(y^XvP+r)**Dd}_zc;$KcWrOa>HNR`-|v0? z`R9N3`6sQ5tpl(A@25^JPffeBL08XIPq3J3K6|*jzpuYP6dLkwZNVa097DEUzk6?Q z4|;i#wC3}p*G9AM;%N5v?c0B0f1Gx$oWkSBZ@>N9TrmDDwZ1vG)x5d6wZ5+O(4`}2 z>P4az@CFtpQ468R?^kh^upKT5$V%XsltJ^gol>C_SQ;#KRnHWEEtaNeP_h=qTqb~5 zCpHuXR%2?aAC^yWP_&!73W-=3wZg%KX8%QCR3!}L^Cj|2vt`;2Q*1Q7w@5DG1iO1_ zISep*l5I)KpycK{Bvp`PIDL^cQ%dDYw;V!ewdUX=4SHNDLNoP3$I?5~I;yrd{2Z?$z_&_7ScXzsPp~vp z*s4;g0(z^eLf+wS>JV&1X36FS>H1|Xwn+|*17^A9-6Z!fvELH@TeInT_P+b+VXy#G z2jTfiFc~cZR1FM#|2v?Y!b2b&gmH{tytufyxFnFb6*j;K#Y;{7{r3a{J4i>3MM|CZ zi-Y3`z`j7>(4oO5i%(Es$8h^_pKoStY`A*x%uC-sbX0&Xq;@pyUOIjHQiDKT3uScl z_BNam01PD#{et24Ro8mAQh9g2+n)EQzGxO092P)%ue#4y-6ZI5|CspcX76=u^z85V zxc1zF|K{`E;>dTWA3gfXzxcWj;jS;3cPRL^5-GtF|}2L!mekdSrBM}vH13A;PfS$!&ZZZNge=KE(2C}qZG-asTzqY3pWUbxgc0R0Tw0%<-7*MMth-OBC&mA zL#1!vt-EMws2~wr*@|#k3nHR2_2}9Wg3>s+Y`xW2|=GZlyBV(Ku(BT-$vUUobp|!TQ zO<__D;uP|T#CivuOca5I)kZjkj%e&NSIUD+mbM7OIpc*L?X(g^mbP8o4_oQkmE21C zAew`yEA$AH5sA0IR!M;^S|amJ^dGVHsEuaN3+MPa%wLD)NSfP|RAeQ^WZ5L!wdobW zx1j#_vs>nMFgl6^%GXxa0{WIU58e`&im+;v3umQ-mT-KlEGC+5Lq^*m2XL6y({ntK zoSe8)HA=xb?d zX`jVoveP2C@whmnWpSkS;zfktPi`zZ4j#O7ud}`rD-6$bU4vzCymNfU7YYQ9yme&W zVzI#V`S|hnK8vs4G1lMI)o>sz2(dWA&@kB0)fL8MESNtJh9|l}6&(%UwiHDzx?g5ZY(V>KKO&!^3|)$IVb^+EHCd*xq_pf&6}Zn{r7-vLub?3=HKmp zAz*$>fPOxo+HLk;0cCa8)zkCQv};-rXIIvK=1-!LQ`S?~eF4ERjJ664b{ECT9dpe9 z!G4e5lTuL}0J|yrBOcWG{dRH13|Xy;J%q`g6uf5FcfxkYT>;y6@iu~Bdme6O7?xzL z1ey$_?D5U>mUx34Of(RGoHxZ><;|oSS+v{%(-4}7u)<$n1QU4T8aE+bNi3G;jW79w z$tMiEWRg3hrx-pLV6wq` zR?mPmH7y}n?7=Qhf{tmGzf6}=sEl=lFV1u(ApQ!aS32`GFj#v>raZawU+*X^1z^;8 zt-%l)^RKocq*jpM9a3HGL}=*?FYOedWVf&iKge1{;ICxBYYgOTR5S!XJcd4F0Edja z%9YH8%?!5mSuN%{qRdJLOzZS^MFU{?6N#+o_`I?b`8q3cj^4Hsk?<=oas+*o>_w9JeR`+R}~&mKJ9KHCY-q}G84U=9|q zkJQ(<4gdfToZ!gH=ac7YOFRi8=%YvL7cHUr`N5-*!qH@zhYsIa!GN2ZW*h=j`TI&`+f4~=*U|JJ(SlYf@C`*;2J zyc=qh#2cq_;!XQ8`#bMEj(!9jIJa!I!X)~~Z(FT}U_5a-wYgQZwe?hBF#CXs?Ox`B z!j%8AA4u*-N&&Eu2c4qVfdvE5`u*r<^7F^kA#7uNp8neUE#$F0Ic0qIEgSAhRIyYke0YCVM#7>vyXHE zS30f$7=La?;74F#iW?Qgnx3na0%v7M5(u)gQBpWpqQG%OYsGNsG+awBK9Y12#cNQ{ zAcsz3-bU2LVH@Rf)euNYM-QaUqkpTQ?FQ?XWUlNBw(=2%#vo$b;avQ^*W5|5LfrRx6^g7}( zW_85Y)?}RWni@tU0^=MSb<{CHU-1z;W{tCswmTJ_z2!ugiLL&Ep|H~7cSYM1=QMVV z&#v&T{=@7WFPiWdZAcvVETI=^t%kn@zvu9Rcf_;s>Oxx^78bTC@KyL*W79Oo)V!dE z&y-?G5-$P2=L7?8YqTkIE@x=nnw#T?`Uv|o+bw-Ct#>5qLM_RDZKkdTo;_Z&U0go?Q0!QcPE%PA6 z5>RYu85?UK_RWi@`uf}3@3h0zckEtm$E9yI1blt{zHqpAB8=Tg4#9bSp>S7+pumDH z`*021)zQ(>@HF3jEuZ&)At-ReC4YDK-Ae~xQ`}b_?)?H%q#G{X?Y?{Zdhf)c-s|6f z>7`%%=2yS^d3W9B=A8JtfB(tudpCaZFtQ8|q(8oNmwQ%sK&p_m^|~%loHJO=az02n4oXy=oO4I43^p)YZ4IUcGwC`q5Xx z(T&v8%`K=&vinumGa8dNSR0)J+ff<*`cu3ZhCg+L!Ga0q zXe$KZb<;K&Ah_rzZ%;nW!)H7-Aw#sFvtc7|BvJAm#9y8l3P`4PjfOqezk(yY#a5rSz9 zO-;dH%YapEmg~i*RA9f#35)(C+k~Sn`n2hbe96;GNv>*U- z0i{>xsty~6z+fCf!v=U^s12(e+RXT?5V*!vKX?n1ph0zv@LMau_wc!MwN(h2kz-=PHJi|* zwC;J|Q&W8$(>1__bnqbPtR@{0Hi-qmZ?yk0EPyR121b51^0S{kc(AlIFfcG8{ zV!r^caCO;_HepYh?0w2amO_(d63QOT6^+yzV! z43&g-S{s*?ACUsfO;c>5zC3hx6A4xfn61Tb^@RqdgzOtsy}xRbO>SOZ^U_<=aZ1WU zyD$fKq$#+nh+=3q2g45dBywQ4T<5w?t6R5e)$5KMky$1LcFT(3bSWR!$J23DHz-(e zI;tX})e>0kexs%YN{s;%1T%x?XlcF6AsaQ#or7h!!6<8*gHbbM&YFTL$=Lg^@LrP> ziI&De4xXl#qzooesuIFv`3Ishi>J;}nSq6GWNdZvQ${~w(uBK;9=l#_`pv`)ax6t$ zY)g^=Trdz=La(NPE*KDOLfg#0g209dIuk2{;5G9gc{K*L3k7IDfD{hIU0li*xaz17 z+g@EmLd=_Be7oEWKa`&Y`{DwU-<^U<4P{#O>U7pjkl_XZRVGcYRDy3Lz>KoYfUOZt zGA(fz@HAq+fTM{BvjNP2yViY4f-N*m);fW2;`|w;QB{<|A!pBwz#zg}r~>#U+*VOq zd=KDEg*r#!uL zbj4a{`F<>1k`QcE8){x**?>eem{z`bK@4lfiEEZ0{?BY`1(MA)f7H4AM#mzO`ynf4EI+Dx*84~=mJCzhYwAJoBDjU zu!x-zeAs*G(%sX&;l6%Hb=U4|r_VG90xXcXt;=?$868U4AUrV<2sD8dE703}Xi$7k zsJG$nx4zvwc>R?duLA!5?avebCv%%yu<=gW?|%1Dx3eHnbAP|5@KNp~@r$HD&yS|3 z3y@9ee)gqDAR_=;_ci3eFzQXXM+t(jWwWE=*=d2qQ&Uqe0W3)?=6P7fKhP;bss%N+ zo_hQ0DV#+E1aGe6AR4o=Hu#QIUoix0aak$34n}^Q!Yh9YG1xDjO4Skkia+A|vNAVO zi2#K_dcOhysi5p`Qw?EWr9gvY_%SK55-;jU;`9!;(psUPh_M$Ku}s9$zl=;uB))Fd z)WApD*c3BXQt?<~GxF>;&eb2QmdKmMh^ktB;=5UFN{6%WQcQQQKjb(Ag(N10>6^;M#-&&{R|id?My0R7FI7*upr~km}>=*)gl4Tkh}`lz!@z7n&LNHNf#T2 zodycaEw4)D(0OpojLQ#8QImR!G~m?-&jn)(j8K{}NviQvzm5TyOrVnpnzD{TNvUEn zsznk=3?w(kwS?qK65Kboy1f=zqt+ySkS&p10VqSnm&s!q`{UdoF+2@dtn?6<7eFLsvr&oUde-5 z1FbP<5JR(#h%RcLOio}8IFbJ@0Q}b03i3PDrl@lx3Zv!m+1zKEoU4&PMUS4Atk=sM zVH9zD)ht@o6jG@395p1tefox8_zh#o+o-CJ8%x*6Jd)N|!D{}zX#_-T8n64FXMXP= z;Q$$OCc*A|p4yJYA&BoEceb|+{QdO7jS+#rBLm`V02naBFPMPqFA4yD>5H3Hhi}d` z+lCgx_4Nb2^__^l$bv8Ud=3bJ9`^lZ$mi>KIQlF;amV3n3UvKdAk^2_ z1XvmtPYH~k4}_`(0j|ArDS!8LN7&~Oz#Z;5{o38rmv#YoYs0lr+kmkga0qO73_Dty zEc5d|-;Bd&2^{LZe*Mh>fxiNQfA#NPPF#M{JO_jK)b8$?Z};|o5udvH z=jg)(CR`-~Uff6l>_17>`3ZqjQuj<^E4akSk!-Axu?CZk|EMxzfRnoEObUagOCEViuMHS`!49?1amORZLM$;T)P0I&C0v zX+09Fv2YiRaaf$ek;TqI3BksvNFE&LKWSD;;}ANFdg@2fbmd90A;i+>&-AT1`ceyq z4mz38z8H4nrVqw0C2aN$l3SSS2xSEloK+6LP71`Lxac7EBO$J09HpeH8KZU(r_m^> zcCuU=hS3>U1=d@Nx8<$Ccqx=z4B#!8$#9{p0GOxRUso0UHOJaE#e6Vq8m1)Z{}r#~ zD5rxu7f?@~jp81$iO(B?`Qc40u7{Zxv3Thd6$+YN%}i8E%#70R5GW z<6t)uheZPdo2I{<{HPqj_r(Q)xUFrd7N*aDzTUP*Jx$ssqdXA8k?~@EQAxIkO;7By z$>s)cW2329QSxsPQlkWHPV#6x`6im5NOC5?SnD4)RXb?2Xo{j-r}6WqUg98+`yP*H zD>R16DF~s2$VnYNqG+xbIBJ8pywvyME98 z`>j*zv5V4E__s&#_r%kk1HF024mQKqPu%9o4s~Bo25>N+u6}LbRFK#x`NY%sh;U; z*+-ekyKkSePDLoLGMBSXS+Q4GP~qj=bWlL>R&(>#Rw}jY_p5+Pg9Y;<*duL7Dis=; zFD!z=j)c&=f#?ewEyCXoJGTe3#JT832<8exkVX^P-FOT=3<86Z0VDV-0rUo?Zz%kw z@pFP8S6<@9xZ3_|1envE2~@$-t2HF)44AjU_&Es6Zf*ijaC#Q=U*6y%4JPHYKFgusni49$&%!Hh10Rx4nA)f+2W`kJY+EB2Ly-a;wyEtm+f*7lnO>6N%) z8qCvd!r!mHDg1(vd0Ud#0w+bI7;AecM?qJG7;3O!qzp^o?QMY9SYZvHF`1co0{u$> z@HK2y+TP)`EAAwsq9cv|Ms}n>DOZ8@($nu+-_4a6nDha(TJ6f1$_nZ$@)bq)>16a6 zMOJWPt>)L_KJ0(3Sf;+h444`10v8|gepf*9f~;Z~;wpxrsv$EPD*zr+DH`bAK^fC6 ziIul_^=q?v+uCYLcLnUz+bG){yoQX5wak*n>amju;Ek%gNuJ>4!MO^>l(Ezbx#w8f zEFDZOeT6Y5(c-)_t1||VOg4%3-dQ*R;A?m5|GzD9{<@N93=jG@VLNWNQ0iF z{spl9P98r#c>!ZL1m3&LPwZ0ZdyI{aw zS0Em`Hq2z3L zfA#avkpchw=P%ozY&LH_@jUZ1hkTf9J$tWt^tS?mVGzCFBOo{jQO^QbUDG{1J26*w z6hJoXymrmiQ*dR|3D^lkAXYG*6|arL0hoL(yZ3Pa?H|JyI0q2CyuAETgrcLx{Zm$O zCZ!Yp6wJS277Y!-unwlVGCoSN)d-!#MmYm9U_X0=?MQ@CnFS~g@~jORi-p`4wPMAD zY(y$z=p<~2#XV%d7+9Gg_=VjuuW~o^X*Gc>0VgD`%2)ALwkSx?a5~OGS+beXO*-gw+z>o}%~AehHm)UX7;A4kke_dRmy5j!P$zr9u;gu;!OBB(p&S}s45{!QP8e$ zhQ5*kqnjub4N@HvDzKcn3r(A=4 zO7JJa#2Lamwj+Z7#@09~%fMga#pFU-Lt&TrSgHk%sop_VJ(M#v(5pMECW8`G5miWV z&go0z5?7NHKI2$fwgc4VCZq*oh%jTm z+300&k}5|sz*kaE9Qod#yH9)68dOe+OO5S*jg(#q{B481?+^!A8I09ygi0zpj5oLD zI5GM&C407M(U~0K#o}!*yOC{;riw&;#f*)^0KBy2HhzPkFcG=JmUV`6CLuMfd$~2( z(0KD}bDJJd>Pq!-kKK~5>@aMn!$!mfD&uwjao;`aK zzBfAwf34Z!v;M4W%6j$Gsr@O)dfv}XyRx@~uCE}Z9>X?V(*l1X_ddJlMtmD3BAmU3 zLuxoi-5a~R_F(Q5An*!;uDAjup33c8_r-(#NG|3Ix)U3z^{w@%>wcC&g9duT&xo8- zS}c!jXMh+i99q};!Lr2eB*5g2RGlEg{>yk0j-d02XS4+_x_Rzgq+TP6+Q1eELf!=4 zQWVw(ky*unsY{6vmIlZ&0h$!hJb-5WW%;uTgT_28^(Z0HS6?p!(w>w8EjM8+pH2&0 zm8JzZClRex9a225e8QFRm&tRw^2(l5Z{cG)19MojGc^1eOA(G zj)F!842xmp$v}Q#6^!YX8H~D;!)F)Hu}OoK(W(eZrbU@p6@n;fC7e`H$uFu@ESJ9e zEtEAMRo({U4)~!Kt(9RWOb}dnQFTLk3P*tiR0Z$>%K`KnlGg&!Vu;m<0i|8rDL@n}{EbAcC4j6EW~;(j zqQd+sD=Q_#3-wHqyoUG>D$t=tWupvu+D! z#x+11ap`K)BOPmQQK(d-x2;QDFn6-e;JZ*fe3M!Tbv>2-m}oL`Qx5xRRISB$znj!I>23i)*&l z(ciS*aq;={#SQ_$KWwrDAbi6CX;>Hm4d3SA@v*+pkwXW1d%F$|3WSApN?%hT+}k@C zZfa@@92pc;*yj_BxGPlc7#@Sm*c-Eu9}V3})qTUWcK~?ddB>QeU2tP@%pPxd_%6)< z;nIPDSB`yZnVA_s_NpMjpu+mwpTB0`+_KeddGgOvABSeJT=D#DUv0Rf`B`@A)K$S# zm-nXtfnC!KKW57^rOoKpwi<1 zLzefK_ksWBmc?aCpfG%a%35G>J_R9_a_yV)`vFIZ1tH*lX(9Zw1dErwZsqAM%Cu+l{wAapi`$S;J}t0R1!C!zBpEoFE=tKWu7VW25;=twmEtRm-nB8T*iokX~|6-h0T+iQ#f*H=~q!tAhG=GyL2tb-dAr@3MV15?!T@+sd4;BbqBE!P?D_Q|# zX9MO=$~-IpVkl|gL}`h>E+u+KOh&mhT~z&%<^VP`V1Qp!DwekS{i+ZvN8l3lHFQ`R z{X_L2j<3FH4u>pUDj?K8jIk$pt+2CJh#4_g1=tH0B86B4%7J-HtR~MC=MgE9Vr{Rk zAqS4-ID-nRc-K@sbOhqD0DyO>dXQmwg@(f=YAXYS_3|TYiOPysz>#v z3|Q`itvUl1G{b`FR_7K_+*~!J=&vBa3vDI- z0PMA?xM^xV#CqYjHj|y#;IN#Qia{tc(YCYAm-L26P%;;3V(-K7^+>+ z=IMmWl&on^vNm~%dHPHdAvOr_x>ZAq;<=j5)U&*|p9%0m=mI{El}FeUC@3)WFLYjL z75KZj2)^Huk=B9MV*|7b7CiX-$BsRyudn}po#4OVY+A2bzrQX>@OANI$N2M3A84PO zEWQ>;UyBd+y0cU`ECBfETLEzlLhVuCJ)cj|-Xpz-j=*z)i6axR3l2aAhhuCE&~{7! zZ2K5?D9sAsg(vTf-5F~iZg)6_+r`s@TDQ-Dzj*%Br2|V#pIXM325!81LmaQZ`n~V{ zBn@Gbwyl)snP+q2o&%FIXZu5;d-p;&znnrNFEj+_AnRs2IO>r%wI3b$=gOFZhwf7b36tOfVZqFeGc^3DyRC zcmkbD)d@E1A$PC<#L4fR`R8WW+RSsF697081utxD^Dmw5w=DaB!|O45@*+o>ZL*=>0WA zFWN8d$aZlk%>O?B9S-|W{S{@@&RxQD9vmY4pnzLqEmJy3( z$e$5W87G5L^-lGsM^w6iz?>y%Ra(uhHM$%%UPF^G%b01IYtG)#<25)bTBohzyXb3U z^6rWor~wB2CE4^hTmoa}6&E6@xilM;Fu1Cco-4yqR}ef2SsVbTQ6{~Bz0PDN$z@6k zb)#|;O^w3TB8&)b0$+~ADs5meZGcNg&AQa8pp_<+25ZFF$P`OH%!nga;wjen@7mXr zV590`O+`xPaPq84oOjl+f)Em-aTvY2t;?UO327~7Jmz-791vVgq7;|aRWLBEa;{Yl zg;@x{JCW6#+1HyhcDJ%kAy+{J&7&^S)Og)49VG^{g>b)jc>QLD;~q#>UUgt$s49;+E}-04lElP`L2|{LXQbWLqPC zq(XK4crSmMXfPAqMiN>Zs7#w&`71zMW9dQ5*cRrLldpbwtM^)Fa~!O?qg^7!$Cvlw^Fw=3)H^sB04MN#;AlAD8y>rJ{P>-*VFAAFvk-;}6^3_!{leN;5a40Q z4_h3w0KX33{E2Z(OUs47T)MvW>8ApJKY8`W$c+&J!2jn@y6yhWtvUGn=2P#4W+ABS zgX4YSuCRdMk4KkJS#wZXxIdLE2*fPhc6(Cm&CMMh-j3$xttSE1Vd5NUmS4Bf(*%CrIf-0Wu{@P7()JVgUzF=eiEU9i* zt#aXOj|p;CKTEGvl7^+UtW%<$Z&o>rp_5RSF$86-7G4uH$D^ihU_Kt1q+8Vg>vYK~ zU}CZ_S|Xdb%?A7?OFT*fC{bTk@mLn!jRfVh2FiZf8Vk-f+Sds+VD?(J;WTYcg6oIa$EP&TC!J|luFAdVR0X9J?~TkK0C(*BBsU<))XK*;j~b6-?s0Uus4 zz)i(W!4#M%q@l+mrYvXAHU(C;TUc?__SXoUa-!=sqor&${Ocj+wnTF28_AsKHiF;A zAyw4GB@kqRV)L>#g>K_$O+H5fIUxPQkfgrn^qNIhV>QZrX`VyNIwdtxmrV|HWEzGw zF{MX)Jbv#m4V|H#7n&9zWD+45*1!iR9i8Kyoq)ae|UfW$rtY&>sbFV_4xylLoj|80305K;7Y-I@66sA9u`R3-u?#g=kp&NZ|?(4A9FZn1O)d1 zypIX?`_{2zpISN{Ef+pLuyhRg@2kHz@_XPz`px$MfY%|3Lr~!S7EoYlJ?`)Fch^mX zezfJzIx)GJ5iH9R!gH9($Pv%zlX2 z5Eu+;lYUjtz>XvKA<>PXzZ*b-{g>?<5Rzr*riQ$nLA&!PRYpg!9RoM)s>!0JAtVu3QFSRv?yDYCH3KhfdF>0FQwpp|8(lP@F8%MRoF=mTn|=37hek z7%`O_fz>xnsT|aMlvUGdgkNO9;u2&FQ<`YBG9XFIaQcxseKM#yi}#{wBX%Qbyapff z$S?&35rQ$N673y}GN!QiA;7N_@HdkrA#*bJ zZy7;v8$kO|K=7KJIELRg$H3j(~& zN@#>+ltD)bg{3Hqpinw{B?JRP@2gp~wOoHCp8-P6z{_K1UIH@%*7+~r<%(gWi-9N5 z`<5!~SO9;~0>kgQDwTC5aMmyg&Dm`1_TeB&CX$43k}S$zd)pN+imu>Xwe=-jZL>8h zq{INO1qr{{!ek<|HUq8O_^h@@#e6xtn%Hm~GwLBdR-_F<`6ksx5M}0{{Mx-Q&ExrpDL|9*o z0M)_3(I%gxUw|>>a`Xw@6x_Ed1pR~;1Ox{HN4k0gfq9J0!tr#Ipul5y#>O1|z?0iy zgA6$#vxwg1l%Zd5HV+WQFocPpY89yO@FE}6oSitY^{T^tre)FrByFDqv zJb`?A^8V)VJrH8ej`dx++kJW>96sB;>)+b)yRU(|YSc9ivgd^7$>!$PR`ZpbD_c(m z)`14v+2iVQiLV}UMxh71z~ayT)vMEg@w?w${D=6-zxxd9xl1 zvnF|5jp!?t&@hHhV~1~oHPhnPD1i!)z}~o43FQ z{zm!TDh4ZBLV;NsO(>jZ>6MCh&JvO4F5oQ5q_S!S9H+NQw-Q!2WGmn!kkmanxPCE( z4HAQe3Sb0av=dPyg9{3QOAxpM8QL%XuOvxgW!yA2uApInNd>@z)F^(XNk=ielX;| z50fy7PX3#%z$Mj$=8-k$WJ$B{4rW{d118ax)`k?Lq%4?dBSXfSHK8wHEhb9tz!^w* ziTzSYG;e=bRViS^lprZCtH#zB;Wx+U8`VeZSk;%n8Ut3kD?^sGVpUkLJAs)8(+FCd z#= zmZlSfhpt~g_SUCwy>)2mm8F3L1J_?!dgZ`?fZ!WQfIt7$ck_bKK1m4>-dy*1);Dbv z6Icr|cDSo69P)+29o}&0toNzk{p{H@&|k%iDM6TU?qBhS%Rqv;5g0<9xo#l=a%j8@!)f@kBf#2ary+%Q z*ky~M-A;<@$4HSku(2Vpw9CajCtB)t4ct(eP~p&=BPlh^Zi>?|!|z7ovAC#othDA8 zE~>r-x3?z}1ylJj05guPC1H+ZycRYp!SXns=E5Xc=jyr95GC!F zb7Y!r^L|%ahW8kM#q(N+gVq|%EEn-N7{}ppRt}%p7aY~%wUnAF=w!fTw{cowZM>u< zI4ke6Js7M^2vhqSKO9E2sA~7^b zzhM3hU4~S)01!-aXEGg;Gz$qaZs=m0V}{l$nUB;Z!VFnbSZYkLmIg>IJRu)aP3(O`l%%YJ27{S+eOI&%c*t|CA z8N6k)wMih=*R!$$f?!-j<~A)?!=^URjZ!9s-+4&(CN|P5#HNR&guAM0NRFOunC>;i z3|X6=A0{`m1Yq@-KZ4i>}M_+MjLSRoLBrMYid69c)WKc{t5*C;GhHe??FoC zfU)#(s3imn49U=)48j9)6b;JgMTmob;JN=d>ma(}2|zrWeB>-l259^N(M zvk;}l_~)5n!F&6f0*9_2n)l5hwDv)fkzl!feK4%{!RhlM5MhM_M}Y@V3&|01 zG)|$j**#E02L%xZ65Qju=1#vW3$V5a?Bb2ca} zl%ZIH0DBDhmDHDR1oU1;%8Dr*b~Y((&}J8JCHz9n6}o?w1k0{Y)@lv?jKY2l(_(A} z7=O&eY^|Tc&G+(UQCXNvS;S^REc&G!t2mKSo%241uYAc$m?Y3fnx%}eA{(%&4k;~f z;>tx#5z%p0N5dg*U~3F)7@s{!9^-hz6v5%vZ-cCmX3WjfgRBt=4PIXoG^?a%5?L9H znGsmPulV0A$iU^asX4(J)R7oQz(H4#R=?sOAx@$( z^HF>nOpk*|gM(7pY&81n@S7>~CNb#+sT5Zs8N=~p5Kn;k4JXR5piC(m#V({wl%-cL zL|{&Y29$Lo1J1}kB&6H4K^EXx(2^%*M27B6!d30pp`@7s%aUJiQ{eTlynUEN@}X_UL>BfQ)dHadwAhDk9AMY;XC9yI*;?`$xR041Ey7 zacFSfBKRv@AjitlKIUlg5#Q}Y?N-Pl05)*+sDR)Q;_vLN!!gq`(;|);ac!9o4~E2x zgMawe;E@SIs0Gb_Yw4Bu2Hq3M`^qbD^&UX+z>Q!1N&v727P-5-DM5kX&tD1k-E)vB zO8hNnK@!#!3WcgdXKfqTZeQCIkmMc(rB$JTO%1MV*{r*Jl(f%5m-z22U`^Kb)pQV9 zuq!CgA+~QlwTu8Pke20wD228HA)Z20Qm#+{#O^^;(v#*V5YCm7&R{y$34(DwTt{hG za0};L=8z76PLxv>5q=X`!GKd_WV(pMSi69k(FXq7Vd5-X9K=h4W7pYL*DzU!^N)@3 zb3U(-SjS(Yw?%XnQI^I@2*uo5E_9i+K_@&OsLQ>h#^*BD z*1f0SWhAc2AkLqIfbp&%zT|=cj;P!UQyUWA%|vD1 zGm5j4z>!flja-=^IEk@VCBe@nGw2sZMt*&hZ&J7YnxtJWkU@*TT1?=ui`KZAuP4E} zI-2t&Gm-&6q-S@`8PBm822!qWN2ritZKpstYe<#B61;=ilH0MJot;$_Y{3$^u!`f0UK>}PFB3l(G=T@}(Bt1BKhu-^lWl_<_$k|$Y(L78_ zbZwkysZvU$b1LXrxntXiTsGQ1n`28Y>^|pE$$XQOEC7K4vupyjylsHOHgOTy>&0iz z!j{-Z{-HMdFj^=x&^FS?&>*^v*l(NM4{M8HnmRLN6XNooTD2I<;4Vz@0uVW0=JIPQ2N!EE?zwL&Vzb!C3u|2^Py+`i~9QUtp*^(^^2d5kNf(5=<@{v zN5bKNz|uZnC>#dE5fEZTV94lbnSn4Yd;%dF7;|_&+ypY|K5!u&pB-)y1iA%!5gk9g zaN&YQ9I!Zk>(F4A;J@>}mZnb+T^Fc}==+{HZoGE`@4oblm(#_|o^^mWkZO;<-w^^W z7^H5VrwEeS+2Ovb=H{DcJ5t$cfsfhjHD?bTu||H&3fo5x&yb%;xaV_N^60{!Qz)N6W>fd!O`wj<)!5$fW5@pE8$E#Taa3hX*VjKz$aHpJMN48$4_#DaWr}ll$29}6fZx3RvB2}k^u=U2pQvO|qOv3CB8&?-2U%8Joui;S zt#v!l`#>j+3*ZDmE?jVZ%p+?zt&Pb+tXh<$Jlb#zgHTz0G4RGE^vXny1dX5N7MLJd zDXg*tzgadUsev_(uz~+#Gq6hX;5I_t;w#v8rTi+AMU&<^2=P_8_YHCyC91H17*m6x zE2xj0gPPySK;59xjHKX~cfCd?2Pbn-6CoOoT~6*0b|#tGIy3n52x5){Y=B=uhMihg z2j@mRskQ-;@2i*!#6tPBwh&Ho8b{J#yIcVLHISLnO}{2TQ%0tHAUJ0pW|%7T=@oES ziksC(%M@rub~9^bmBDKSzXf2KFoj-)fXWyToVN*Wp}i0xIJde3QP9YwY2ynBEN<4I z~OtF2AIufSix z%C@$u!_|j}hyepe{`HVCfxbyN`qz+3MJg#a_tN&(um{_uUK+ExSW7j;za}iOxOs^D zOft{w9L~nES3&|Sp4F&!y*E*zW#nxRaV-?maLDGu4&%8pYx7(UHyhI$SRnBF`yN~M zEJ?7A&rZ%x3K)80@{P%Z=mo}ZU!uPd5*70M3EeLMJ)KGKNVc}!Gm{p1^TWF znDcCj#~mHx&+9M#>|*PiCj_>(`2I2wnCKb|1dcWZLMH-)M*;#_Eg-*YK`B;~<-&|( zti630*1-^)1tP58!HE#aunxd3GNLTGTXxA!`Dmn?x3hYq}g z#{k3cOYhxy6NvCj-+e8=A*iKbo15z?&$ZF55ZIx_Ul_$_@Fl)Mb;m|tAQL7|rW4)W z*PJlxbJJ!s8+6^yim&W#K;x_vYLT2-qQBEU(=PZAb}YBQyu3VR-M2>2eS~vpPNmFA z3*E8+VVqKnf7gYt;(q}c{A4S&wfj_DQn038-=*!aoIxY_VtX*{ZgFG{Pr`lP@nR-) zUd^TRwBdyp0fJG#<(C~w0Nq4@VFb-)Bu=!XnKrnJ#Zw8HY00AK68trET2gcj=vFkK z)&AHH$SXcbka6{{$2cN?Y>;8MDhr19Cs6&Y`8PVjSnxSZEl> z)?qRy0pBKqOqp3&CG0k|SpgegS-O(;IZMC73!2UCfJbbJe&3|=QLvKM`+n(e#!RY{Wm+pU#>SWcKQt#*5!XGY+aTT^D+utk9=22PXny5LV3#)_Oz$v7oQ>fhJ!| z`|Q}TuW8=W0yOu|A3M;o1V*I5kt2g)U;o&h;{qX%kM%X3z*Nh2ae-uMafs_C!GI54 zzb+v7(4c_d_g;DBzyKhyz+k{%ae3vHZ-46#PUkl~fWN>n1pr?T-2*@JojbD-OF4_j zSm>r-fUCQ>k+;|FezCio@BU|upiE%*!Zjx(L*I4|`Xyss<^n!i_G)L=(3K%(dGubBk~t>z*N1%P;$s>>Qaz4A@TNYf8=1 zS_%^-vSuBN-9-+lq8ceW0fg9(@nW|>PT1ue?0CtW2ymK4*kCOJVw=#E*Gz!jiZ{E> zq?qr+*cq+DGChkI#E8%c!K8SOWA0^?N78s3%#w&oHViA%61M?!Y8DTn(@_Iijb1`j zRAmulvr)a4!BkNw`Eis7*L(47Wy`K6!osKxoLUptr66Z`%89#R;K9g&k&3b;+7;9b zhb7kyV*f%}L?tuhWYj#a=9hy}Z2xuADi^|}QSMC2W`J&T`MR*CftSO~f-?$%iP;J? z{Yu;Sa*G4+Y$*jxPoboVHJ+7u(Zu+n9-W0|qoizPz|WC+914LSCM!*$OQqB?6@9fv zuv-GoYx0>L!F{3MHx?;GunBk-Jiky!2tq5B#8KGcu*ua`b|&pe1`O~UK}-fBoWt|* zOM_mv18Zm)(d1YWrI*rKuenM|cNEK<+c5*vB@l@g80iXe*$u_OPJ9Rkd`f9cruf4xN=IT|&mQu-~OHONp(Gs?(Q zrNtV!c=7e$eJJ1;0-V-UAFe+@{`(vN_-FNtoshE;=$#N0I1nBToCp98&x6-UKyXL^ zYCB|T%wG^lEC9H@&)0MTgwewgUKwr*-RlP{u)s<{>5zDrAki=SLT=^Vx8MG4q!4uHJ)4`G&2s{QpY9U--G!C4f?(7{ z*P&?%ptz2|_^Pf>Jk7XD8)Cak+OPu;CNLK8ixhYR%||I3YS)o88kWYCUC9l@NU0?b zQYJLSe7LpQv4r4!f?AE30V|+J=*1sE9O98+!8C`?mjEydvfR9(r6*46a9cuv-4y~p zpfH$VIL%AmlMK7@1Vx0PjTjIvEE=- znUT04DXsSt!mSo0O-o;3z*%!8QV9dja`+^&UV*YfNp6`N!*JLMTM)!wXD~<|3qhJ% zJDnv1=wvilNfqrhIteQTSVl1dI*OZKm(0eZ^)Gb-1Kh%<7k9`ch{oIv^a)epFwCiW zrW}*37f(|RSa9HnMuD$OG2pKVuAQ#Rrd>4ps`>Ln*kscwNv#P<>-$ymtgl%#16niL z%RG1`Jum~nCbqNEGfi4;ua4Ztx?Jy>E zFqWv7FOVp=8kl z^GcwLHziV%EJ@N}uYg}9p-6v+YH=J5{I`~oTVgH9nY;!7i{};^DLAXwK7+n|NeTRk=jd6N`@bsi7$A|V0`28>}G9~|!-zeq|fkVFgQUE)|u z97eacUaWuc<^8{b8YGnRdY-&q4~C@r`Ul4@zBNA6GSdgK&J%&bKp05y{L#ViJou6N zAVZ^t)K|U>FpHiQ+_nkgBz-iGb~yU_`h0!;5JfpAc(Mhuv|3uR6EirILfrz#7T!au(-@08D#8) zxVerYuCj%rSZP~}VxRQDbEjmO=K~nd{c!4dtne3WkL`m@08x zWyW2F)@Yz0rC}tqv+mnn&1i1#eV+IIe5)Yo(|!v>Q9r&__Dtug=Y5|afLzR=FI~Fy z$YYQEOfHXHdgPh!A5Vgxhh}EhXF|RGq0c`%H+=51&mx~y%Ad%<$eB++{gih>=bTC; zeVIhcpITeX1i9(Wq9Tc%3~&SM9$0uVM$@S)g25drp?meHWS|iV+g|w&cAU+6$ym2H zz<)OeHz>;*gn&9b@!HRS{`38%fmD9;40?mB1%rXW>%xk2>oeazYLp!7k~p_SxX#Vg z_yE$n==C9D+On>QtQlH@$$agH25KeI=+NZzVzLZ>X!DX9Z!;Ok##9dPmH7AYSq zMGIX4Q0)zN%4cw1Lth_V$(Tj|E?e-V79ml?tm#)j`w~m)H3$1#qZR2U0V>MJul!p|E=+J0efw%?Co*^zd&7K zzZ3VT3BQCpx|NpQ8Pc)XH2p-=X+Cuu1IF`~@d(^1BwBw?=sbGbv{`9y5nOt=IMI2+ z!&LPOmlhbWPNg0BokqQb=0cYixtS&=wm>k$HWZeNQ={ea8y3&8F;TK*?K@^r>@>x- z1B`iUENih~O0BQ2<(&e-!g}R+Tx*UVFE5fRJBd|S!TQVf?pVtf2CStHW6FXXJu8yu zO)@A{Ol~P;SK7o_t-vh~fGy*S*_y}~X>)%m4c?HyS|PjArF#wFuTzNV@C0b~Cbw^Y z9RinW&%}t_6nek9@*Mc?@IE#m(RKts(q*iJRhqT$@;(Gpsu}pQ=5*Y=1aMO;ToXJNj@koxa^-0>GF&@N*gp7j#leH8MoUI-+_-V< z*o_-cJl9G1-L-qqo4Wqp4fwtE%wxZN?9gM6Jo3mh&ph*JCc_9656K!TY^|p;R!Fc|X;E#oxb{ilY!I0j|asaH^lS-&7EWU31DJ8@j0} zIT=p{(y_o=#`iD(BKz8Fx6>UR>Feq1fZ;6ag|mZd2?h_oej5n9!H^Dl04z+|jn@Q& z!GnL>`{~2b4Cc@eAcbCEoGIeKIr|2*UCLoxy}Hhs_0lQTY0z54fW7uYhp)nSIeg}kSpn-^ z*#^2>>KarColoS8Ah|e3TEDaPVLSVEPNl@86FTe6*@nAZLJIT z$_s<8FDY)d3khdHimD4Z9`&Htp>rZpJbm5*z6lpdnfi{Uud7}19+9Hvic{#YR~D>1 z7)mU^_7ZBrpe}*u11i7T5)#cZv#yB0lj~0X|7A$4-?Kg4?t@#4t&TjcW>wRCIMdCBIyJWyIlptXRjAmdG&g}BETNNu>bGAGU zX*6=71;oF_faycxBzju6!a9$hE_Mb_Y^hW5HovZTA?+%VoN~)9uHrDg?3lAY?yjk^ ziU_bNuz0OQKUM2W}x)QVJYV_RE{su8D_W8s0uT5A*n9y-;M;IQ0R3r!aI zZ@D^$2MXm0mf&35=;-RN3K`R15FNW1$I&>}==Q;lY%3xxkJ*E}EQ8tx(JGuCGas;{ zwYIk|XSx+Y*yT=Ec_jY}eRLV$V_D;fmpa|jQV6Lu0B*D_XjMV8fMLX3NbojSpB-5o zK^(WvVoAsCF9tJc;Novr9aI?M{AeF)XS82U$G zv?T{hPQfw^BN9Br=dKDTK3UQV3>MDZQ-K-=Fyn*5lW(AS;n=NR$8K~UJ0|RR&yGE| z|D^!y(k~zR<)K5u(+>UenMeQX(c{UPIn*GaV<_}6l&m>(#+Ui!p(u3F28UdZnW(Tu_7(JKXo+ur>jW7<>Bq4HoLkO{O=|DDJ3L5#No)hpD0<3Q2^_;1()|ckwHp5-}!^Lrq#5h-j1uqk{e4ex!R1~=!I%p;@ z&d?joJ@CwoTO0eV*8#a6AkE;-6hh|}fa4l&g;rp0clB^mD(wT#7aEX!w(2$L=QNsc zg|O<%gtsu4&zW>$(irfTLj$#flUt%H3mn*q zrs7^2Rz5hHD1v4Oq=}*!Xb*nPffO%B;Dlyl6_U2TJ$ep%(UThNQ9xkmtDt_47Qrte zS=G={zgr7)G)~&OgB&E&#m5bic=PVQ$aLg-P+7iy8w=7I8 z1h&kb=eH$#IHQq~Wkt?n6#flm(lKyVQd%_`#b%*@UPeLEY;1Zqi$rHjow5fq5estY zWl~@Sau9!)x2m9Z1}y-*42taXIg|k_3{xNdEd=&rq8;;fGibL)b`~bR#jb8k^YCm& z$a>x&2v2P7BXo)_d&LsSg84W5M9Yvts*d>v8BaT z64kbt?#k(y8_jRTG6&tgjujH6jm(a@E=0_Q%Pl3#7_Xe7Tp_#5W9^MzE242^d672H z((Ja{$eq;45CX6jB^e8ERLPiocf{Woh2Rkfz-%RiD0;+eNdf_`7W}QQt-Sii8^atx z6Ms2?{`d_+#0pSg6=#td19fk51`S&hsqdTb$pt@O0sz1F$nl4v@tFq?nm!55Je=9{ z?6W^?A8-EQ&F5<)B@uz$6T2{aK6|}Vu3I~92?;)S@#1dofOY!()X$zd zbm$PXl9Nr7nd8S3lfIc5L@>{w`(Wl_ax>W9zb5~&uUT(yUJ_h>CQy+iQro5%23Bp|KvZ{OvVI(F=W2Y;7Mjs z3OIKlA-Z(pwpJsN5F;>aP&jcG8XAG%{rf+7?dPw3@Q>+iIFBl(#kutv+w$gMP~vo9 zMs8fp8R{;r3jVG(<7Z8d536BMa7`1h5K&jOY;baAC6oWp>KgVXojMC-xk*DgR&?w{a2z&eV^qZl|CcgY+@KNB7SHl(co7Vd7XCT5bf7t#@R!5oEtLJuvq zGuSI0E;0ja6R^`z+5Jv?WnB++Fm0j02~WIb?8&TRUclu1)@d`p{kC|i z%LntyLeWh{E8YL7@+=|H*#0ie&d0Wu7ZFPD$Llm2sI$u zErA7@xrLpb&_TA#o17;4&O#YYaE4FGY8dc6Ha$ISG>^qQ`*wA*ez0@2p`zki!?nZvv>SNm zz85Nfgmh>SU`AoF9|`RX=m75F??|0&6%tI<)VYd=0~kMd8VBBUV-x=MZHsxxXnwoMmON)zaL1;qb-%L~H{r-M`Dh^QE%=ZR^nd89#jK4#H z{wpy0CXV}jH8sLA<)Oi~{{q#O9GRx2+OA0Xk@n`*T+Mn-C=*N_7reeQ_`ya;VsdXH z5y)=b{@{cCK-fX>-oeuA%)m;g5r`#lOkEbf2D5m`Afz>c^zG8y8yovylj9%L*TesL zW_@I2sanG-jsNCyxUwjGc&VEni?7@&byz0QlK0FOLt-p~Fz70R`YE4OiB(Yz zlFw{N8Eb6N+9Z!JXV@5=X9r`PUBCIi(CkP)L^*C|g#ernT48WuNsKM9!f%rA!(up4 zNQei=q3g=%0DIC(4k3olyQ-sN>YAa)NWfXeT18yjOY>lchc*J!;u}nCrM`*D?U5dg zjZOr&G&Up>1;I17!%@e3CymnTTA2PM*92?^Uyt$f@j=@d%O?TnStC&C_J3ywpDyOa%5yf+sBN!wsMv0NY;G;jhDD!dSV- zL7h>zQNdR6w}nAhwFt%n`?NK!TjO$>tQzB@_9LfxBFGYJ@j7ja$l$~dlH1yfwAn=t zDHq`3Eq-YQcJIHqW^fGYnpGYR_NL2S#pzyNg>Yk60fNUIarY`2K2pGTZNs_@9v=_A zzgYDm)XxIKZ|ppGO^#txVG)DT!2l4x%uGr!;J0zyeEX&bQtJHqO@?B<^tN!|H^1Ne z>v3qVAIyES`sJ5E`RCuhP}|krckvJY;9~0m;jjp929brp3SM7kYXJE7f#sfTpe^aZ zfm3p&6Q9}z|a;o7Vx*V_^{!GBT0r8VJI*)aZLInN8JvT;Al{|55*Y4eW zFo3>9{QYIqOhHGy*vuZNrRpW@f!Tc^uzGy0UnnnZy+eU3{0P?O6ZH*ZR8LN63ZKs0L}3#9>IGeMwgsoN;AHs)uquVTZ*l zI)rvIETDIW3C{UE#aDSjCFERT6>J3wKA#G$Rv2=XcO`{h{}G&P_`PC3kt zx|%}%8m2{<{$O+d;tC_Bqw^m3opKOdFe>570yfXga-NT>fSGJ~%0jh_1IIM`xkxQ# z%ih9P_jhJ%!M$Xli_}UvW*25X&^7$c-j8J`1c5PozHfg0Ec=f;+rZC0L}wEMa)|S%NT9D&)79{`{r4!G8sT zOXvc2L0F2wKMuZ+O2V0?xzOtue)#L^>XGL!^fk7(KY8iW#pe$8^qfR-(aDp7z^o=b zEYOSf@3~>&;6FlTp}_BfQB0wcLWx1NATYwJ4p&(7(ZPm@&}f8r2pw*1y&;I(*?Fqu zRLPA!7(yRAwr9tVH}~x30Qx^XdORceTkT>V*ZB`sTXuE{dC;NI=EH|)GQw;9eiSOO zS}@@E!%sQXf2F^-7iQ7p83EnnzT9fNuw9|iO%EOj6%OW;HS05>&9&a+YuXDe&yp9* z)x6T)-QC{&ZY1*V=VwwIf4YDF{@c(&s}X6Cb;G>YkqrcfvS7u8Vqw1NKp>pWmTv6d z*yuo%$7?@-?XA*4YBR~4tR+sOYvc{&=sH@>tuCz#@olbKT7_gQmvbFTzGO|3LuiFx zd9+ebRWxfxhekvDGLH0WBSRqs%asNj8l!xWJatkvQh>!^zFr5--1Az|k_(3R(k3&^ zz~T?NQV>=J9a|=t=NV`j^#15B+4i_w)3OvU^9s-PuA3oPZ$L}fj0>;bclyIq;EWpy~jb;IRC4N`(9tCvp(1qy6NVntx}1RL;i zj=UD%E}cp_;7z!sXy~ECD#!8|^mY)nsH|^Ui%5iDKbs0S6B}AJcc%E)y26j*??Z-k*j0ikW1op%3 ztB-=V%0I7RTKwVB+6CL}s?MmjW=#+vzz=7n@RI}N;y>24QsSQCt-1e7|sv@gKoG*`uPn%QZfGoGx= zTOcs~$jeBv^qjzkz|LAkcC5i!#bJ|uvjqv+yzOK@Cv4Psqpk}T6?SrzaG zb#qp;N8F*Z7;E8dn`;*rN6Ew;mAEn2*KB8+?8 zg4dAU`1Y6*S9#>G1c_S|rV*y0FL+1(j8#=p%WQ=S9)gZFS_3fCKnSyp+-NJ`YG~G$ z#qw?8nmXYw6fkMNW*HF}(OfQE#MnPR8MHJO)g$5a2ly}xkE=tWP<2(0Fx?M#ezLC> zT<+~J$Ez1d+MjP;%pLmcOF!OIQgN>5+DVYu2F{Zk4*qB#@VAHRt8<4jeMYMS6w?O} zRxp{85ZnXB)!`piG$3<>eZs9jXcd~=iu~sv9NTqF81SjlTTou@xV3A?9t(i}*)NYz z5`W2e$$%F}h`$2BbL(?60N{rYCl!D@v^^mUVDv)>-IScnU~HXPOZBIYANL)~t*$mV zH>NS|8r+C=I-dYF6i5FJv+Fu|Mo^lAR5h zje^#O;3gYKa|CUo@3_)dH2FG|74}PvpDe0P@}|!P&9j#-9pskST*Y}6JY#O1_kuo9 zUu2oh-$`KAZp^c2F+<$RpX)utQBal3^cLs0CTML7vrK4(QqTb~*e_voQWv)g7bDHv z^bA1WwV+dJIRv&St>Ppsvk%t;g*7=k`i*BvS`#exBeEk=#5z%!R6H6c_^)|I4GFiC zMgE2s5GJ-&7;dQ(EEN2PJr9xqASm#6@LqRi-U2!J>%8JGBDcVR>GHLuuX`*Oyh?$s z5(xksE)*Rhl_TmfG(7KuDK(xWJZ}bFFSE)B@VtVs&|4;d;17XY8;<7vX78O>20TAi zXjdxo@)jBqz5{<3V*k;WyMn!h-vz~D!QS7v)GNoQA+kzmxwcKmChjXgo^~-C$e5hv zYM6SeiDiLM`NF!G&A(7)&Cp9bD$lHMNPFXyGw&A%c#H-0DjQb^C8T?A7cG``0(&yim|AA9v%kg-FJDIF<9Ef z07>)7{3%ef#@~U;jEZ_do#Q`L~}BEw0Nu8_9kDnZJH& z_j3n6t7wQE;D(p#DnZj14du6SACHiBf1hK83R$2wdgq_>2RZb0xeZeaA4 zpm*yN2+_hO`3XVbW1UZoK6m5TEup?Ub`yVp_Oso)A3Nmpg;3`EVDZ5NK=9n+oG``e zvrA{?2e!bWBmg)WM7f~g?*@0VgB|IPKyVVF7QWol(e~Av%-UM;xbGc-xjF&hX2^{* zL4N>Ez=D$tNahF%`mVnI`Md8PdAIgm0PrSap_`UouUUy^H%j-HVh+6l5p*df(dh~1 zaR~Q?L5U!oMmEP#DiQr{Y3T>0)NFO6_wR>2cz@~jY&f1zo&g988D3Yj(W*jn4ryI8 z>zGR?wWH8?rs<4;@R>8helZ~j7j^)vJeT;}M0XMZ6Oma+m$l@y`x^r;36vrwYs8fX$Mz^A+HZqJ0U!$rH5^ z7;G3DTr@LHIR;F7k)g5yF4_q}qZypVplED`1zwAytBQ2ag=O(Pkvj^IWf259DhyHc zRxv2AZAl#d!U>E4(*yK7f~2P$z|Py({DP^v$bJ{7bQU^lNmg01UmO$4fStvNbqmXC z?iEmGEz&gM7p_~Vucouh*32N^m(3P5JyA%eS}ufs;OQ~XdW3q1S&frcN?g!96M;3b z!x|j)7h}DG^PUA*Pq$n!1{)1tHe2x4JS;ANHzr7V)f7xT-f*0lr!V0Wwu;VK#XkAz z;hOg5l93XU+RDFZ5$gNVhz(*=e4z90Vd>I+xt1rjh8;2qw1dFSxueHx9t?=qWrH4GZ^=*ySY`uozC z+DiD678AayL+F<-?fvxE?|(9v3(b6a;rWN->mvh=?XP_Qum9_%AG7pm^a%k=GF&LE z5GKh<^SR*{UOpwP_`s)#gb;kN0v`_!ABOXn1bVdf_fG8UY#l8@ z3E>YqTaO((wrkhF*|THMF7^*T_T*y%AE6oOh-uh)Ae>izdGNrYFSe?okif4XR%)nY zV*_L24$7nkJCK5v^ws3*j`kfrv3kh&PF?%aqqRqCv2d-S1vr?xA^^GEv9RFxCnlSk zaydcln$=agcd5CydA%2EthLFS)z@qGMziVt6h(J*3~t;uI?Pm#+v)2a9hg85ArEU% z-b6tDqdO%e_#Zb0(;Zm^dB{^=lRu@mvtfYn%wl!(qQEXVa19o}OEuo`+3Bg8ba*Tr z*jIzThMF4o9k~i57ai>*o&xcbxKlmAlMgehTULq;F*M>ReVWff!mM1i*oK=Y2S()) zFxa|=>2zArxMw17(nUZQ11~McO#IkVlN7{InaEj`_~BJ4L5G#Fx?nJ1YY65Z7_#R2 zqLgTxMC+X-)&NO;glfTP2TnNYbcz66pRjRrz42eIUziLUi0j4jq)i?z=LO=fshW!U zk#R#=p3s)Snjg)>DhR_$ffGeOB!AH!SjE|2yQ+qS8&?AYZ3mo4B%+D!(N)NY=IH`q ze^C+05 zx)ly65UYn6(H;JInwj`|fM1q0F#D>Iw=rc#B1*2P;8O67DGDQx`VRq=T<&7N>}5gA z31bWTT%AB?sj2$zCWnP0N0R;U@R#>xSsIwe09wdz)}~p@>Dl|S=~*vk(xEU_(L$8T zdDY-6kOu=&Y?>}4J)5gsAQq~23gTy-cJnd!mp%Mlo|r|cLs1%Zk%DT2g~HRz(;oU# zs^w181v5a20`=bT>NY+J)V(obt~3J2*L;6UuRe zpzodYPuuaLTz;ZgB54VFEzwr+jpBytdZ(Qiymb-~_bF<)BoFwipKVnC=P^GXlP z8eLH#PqJnC48}ZQTjxgY2!>8-4h|&YzAyCjR2;s_94sNjsM@6~NbvTuYeNz|wgXzM z5(VJ*-utun-m@HNGXy^?0Q_k0uYdjPPeP%K&%P~eZDgc&;Ot}1JoR5MU5qrGJb6Iy z@`(sY?aM4aI@ln$9B4QvMEGT{c!l$x0@@<|3dc!y5`qE`zaXG|P~A!LqXbH7fo_3k zfnXE?@4EGGZtb|WXV)zuz=sYAx;zX)jm>Q3=A~*uT{isXmgeNj`rJB9Jr6e@&eVkR zSCDUo<|7TZ>hE969G~>no#}AqK&)gxqp)`wzS0 z^#yuv7T@|fhtPEKar6m3Su>`~0or%Te?6bCqAlOg zyi-^OyjgU>yN(9}aB(_9y&tw@=6cvHc_A>b1xhS0nlE^Qu|Nhc0(hs`_7Eiv_RssB zJ&6QZ)2m_&TQjrBaGitc+eJ$9`1vhK&!pFaz&iS!oq#JS9ZTO&7vNWj=cjy+N^7{Vo@}hLOKvz)1!S0zJ#-Bqya3-inK! ziP)@c8a^ZN?d55O)pWYJy+KV-6KPlUTdE@LY1h(V#S9(>-?epcktl28Et70bPXK_& zn4N5`3=VcVE=CEVT(7bf@Z*BN)r-J{GN)InDz9>>Q$W48qUIs+S!$XwW45$Ovkhsm z#u(15xasgts4U_4CojJEqVP(&y!hcyUwrW=FDeS3$D^yty@V_0mJ-}H?u!IUixlyC zei<)stjix0f1$-1rYcJinR!@mzx2|dBLn)+Yy$lzdl?jf-+L+u1b)B$?Pve( z_#%f5tB*YM)Kh=3YqSAzk`P*f=_- z$s4dC2?P(p4ZHyx@NGd^;oV@tgQd3z1M*+ksdOnH)^U9hca~y!4U6#p+v%7;k(tS9 zG)I%*XpMTTAhiPd#Z~TaS-p@1{91h0Qf`TlB|lE8Ntg6j8FSJsNV>%JDFj;zbkau% zra3q`sVXZ%aDf5C>RY2mUwKKFJLy8WsK%ljSW}^0ol?e2sANJHO~+pMq55-!->yE= zW?y7d1r2{yiIt#bIH+lq-qW;rP}>OWaYfiK^C(Hpt(GuBGVA3&M@f={-ul-Krak<% zX}5Zpbd+px%ie;30RrB1arjfl!m$xO7kc5)(WYFUHFCk3cqYs;x#kzDw6tDFEwA};I)zSR8;rB z%;JjbO#+onxZ*SBjnul@1qZ|5t${AEVBW`Y44XzTxY{FVpkc~QD^5E66$Tu;4@6Y> z^};I2d|gad)(ERSZ`r}5aaz_Q73{jpq{=R`a+VtC0tBNY={|3B184zdsHX2PLziU) zm}2K?&Dok>wz+hA!mBTGxz1W{mi?C-5p3j}@K{4Us z!{F)-A^9!tvuW${<7AuS^lq%zWX^%$OHltf(5^l zp=9z*ax;``Kib{b*N32x(E~^g>FXQ?MaQiC;K6IxDuy9WlUF?5P+1v?lt+%#mesAU zzEZa&-*Y}pqyzoEYrU*!=+CqtY0e|e16reChDM;h_omXqf>8p@GT@G^slGHb8VEdi zJ)0e*AL;98fM%tR!F0Cc`k>Yd6NC5f|KIM${Eud!ZBE)sSBNf5zm^f*G~?kWQG=E1}>C1V?$j z8~VnhW)n7Ra6R)l>OK6W>Y0UyiLVp!A_AN;;WOxN!p<(Bn-UW2Pno!xbs(x_hBhm{ z4S>U(Ap=OUnPq4+5Yj)TDbQiYRs|Gor{oDR7EQSrXLb1+>^cOF1+p<*41g`ZYHG?z zav)$-IHp_}#20xQ{Gbp}>I}pr3y$g#n&0Q?Fj9!Njc;szOH+cAUfBbQ!GK{ul~}q6 z_WB47ai)a&zPF8(x6tiZZW3i3Lyx&hweDTN zXjB^#0FFRD#fuC}u0!=Lv2^ePm_ zSNBnfMF>VMlAw*k?;9k-m_j3xL#_!0e)Zn3W8IxWice3Jjv40pcrW zarEGBRwwbv6^HR@;BZ4k9wvA^+Sz$**N#1iq1?Uu$yW~5%y9ZVH@D7AWdg1tFpCH+ zUU_Z~X;^|ip`{}c0DEg>6hYJ_*N}gyWe=+R0s^zD@bu}Ekw{hdk=nZU6YYKN?E=2X z1t5+GQ@ufeRxlOt_tzYWd_LKc4O|I^GQy4fdwVm2NPFYiQem(i*-`=Ejlryrv$6`o z$fOj&1uP3s9!jPBC~tr)OsFzqD+l@DL0SX;_#eJb_~e6wg+>a55mv1^_zc9&1WZD+ z>r9$iWn`t+8v2+tX_BW5#=tf?)}DkU1yq<7>#mmwjAV|CRwB`(#AUBdg%w%}xoBi+ z!Z!z|oGNEld@Dd{_B8=(9k*74l)N_XaM;b(q^(`UT2AQdmMrQy&Lj_)e&xaHxBG(W zDz1+ULd#i%0M{39h$oe4$DQ3M>SCc2mi+94yUfq@ot6p}?$Z&ZbLN7Ar^Ww*iIV0I(MTjFv!K0OMAhICBTAkgfY* z3w}n9RlxSUQxt$X>@`A6PD~*co)Xim^R~dv^2^dJ9RUXX%6m8ds{&|z+d^`+cVTLN z!MX~+#elQLOJKQE5Ty`XrNzIFk`jM8D8~O{@r87%Y>f3rRA?#w#%%PA88p+JpN8g_=h34t{D|CyM+dv|*ugXLoJx}fidestuyEW z1>jnjHtkA-TZ9`o4roIIR9lw9;T?^TL6<#V+0*l)u-~7a6a4*f-&MIVmKp3qdLC)ql+`|hi01SH_kosKU})>=C0q1 zAXY;Na4R%b6$b@=0lB@GP+=uc8Xw7kJL zcJAvr@Wd!|Se?7}?7Fq%B78`@cfazAz|A6-4VXU5o zz5S`+>bsH8#L!y^SgcqAu`vBfT-$k@kQ%eS0uH zB>#0K0&is18pT9uY=psv7qEM_%qkxxOf|_GgJ1S9kaK1su|n!(*B!w$XkSlmgd1}vJR1GRDFXrxZbT>P&vC>SwxnVeD19 zN->oS)xbbng;B)aKoJA(2xvc%Wp2c5Ev%DgcN0%sU%BBx^3-WFgV$G6qW{c*@ z%MMl*f!+K$n~uSSlx746#=wHWvkro7kIT{UvW|?A5j_D2P8<9#FDpLWfIUKaa++r|VnTj;D6S~x<+3qjIYqgPc>rUe9F(detK2W`@pkX223V6V^0W<%aa63@T5U&P>+2Es4jAhgyD-jdG%@=Y)~QW9zS z?DS`+BS+dF)Ya9UIC`|bF6Wy>0OcBUqw$~6y_vPO{xx6wyZ@XT+!!3{?@vWjsVnj$ zbtPEy`l>I{vGKtmVz34`ZWC<#*0K2DU(fSl1)%L&nWzEB0h4GlW5faLa?=zTVGwud4uX2<)+NEz)&`$ z!e^#+U^yDJoaQ(Hn24?+lS-G}0VTDXkN}`bx6wUA2=-CbZ^#W7R9hP8#eo z<}2#uTgCYtRadzfj(X2n6tsk^N#b)VQLx=2AtT_|&Om6P6Z9jg{Mp3NoEE1bxsFDo zg~CEtI^>c$ED-u@EiB~PSCBGl%U|+b!{3Bw5O)0yers!pD!A&vTAf7hol+a+$MiWo zuNz#}{RT8p8nR}x-&oeMTDdCtn+;@1d##Vb#LtcgPlcTfnxr_U=QV_mS)PWXWdKMV zHeIw;_?mN9FcB{o3l!m{=1_tK>l``?0kqsqlm*|N4=i{93*GYq39^ITz!vb$x@0Sy zK^4pdLL^G#Ga}#>-=Q+LK3{zt z1a7K7GSM^U#7bH3RN|uAJHvn$r7PuM;=%@eZ7kerjPWSxu>hJIT@b~xayXxq#)*l%IMl|$g{@777!dVK911X&=?C#kst{T<$Sxu6(pC=mqyp#bo% zT{|xBI=1W9p3W0zN6wxdX&z}VE2}+Q1`51Xy|gr^8(@v(NJ6ZHb+A?w_HH)yMJjMI z*7U~j5FkV?TST$2cN?B4(ar-`^j9kc~!mHpa4ni!mw|3+pf zu=Ry~DI4g33nG2J6fUWbA^9yDe>lTL>m*x!&0REeCi#$ZWjP#3CP|Oimu6OHmQXN^ z0$|LEflP?R=*_cPVMUM?i(gef1K7|$2>4CXjl|Su@NKmxWmdR6Hk3^I3I_zyGsIAH zAmQXb?3U%D!WnX0RYyB(5-BjZ#PYU;{=OnOEHC0HaDAZ(I5?T8_fjU~MOv#BT^#$I zo|;4E6%&H(t@ln6pR9LPid13=76yZk_eSH1M3EReNWU+T)@^_biC2Z7$%NXEpncY6 zK&|3s1Tzcj*(}HqGLZ8;A!eFvBagDJgM} z?&4@7Rb&K4eG%NkF|+OB`jo+Iz=$$$oR8|_7Dd9k{sk~9w^cGbl?@me0)a`0ry$!> z$#bFBh^p%;ZziqeSqX4JHCBF&z|zb}-3JR9){IIfJ1;n>TqvNXHW}&48PDNU=QRmy zHb#nTTjOF@JGB6hu@}Cv5ZE?+w(11S*~n^sGC2PIEW;;fv0qgnR`|>o*Bo$b8p~21 z4G@ERIeY*9L>7Z+^dSj)0}=115fZ(OvcmNAvH>tp7h5jsOh_waf?-cE_*qa94;11Y zqkCvtG1wD9Ltiz$oGxInJkRSTR0}WwxOC%oY4PDwB-1W_lJ&sLn(Z-BTz!Ig1zL)GfJxsa92%eO`fi`xX91SKCYZ`9mm;8+!uN?Y?{vl>&JlSgqfte6LI8{_C%=htnDz`78Y=O_kaxGhf}5L!MkA_N@|GlQ`TuDJ2l zq)1MY%hanoU=Cz8^IEzWJ;vuNpRT&YRq-89cQ#i3g@tJ9i8z;5{4H_}=jw;QFZg?P-%jLF?h`VqBpA%sx{==C6#5N-FA*3bEG=bt>E;gw zgx`Db&6_u$y?OJ^Xa1GnACS+T{FE)kD*x%H`OV2kzYhj{Y&2pq&YV3TI0d|gy7+~| z0>>{OWWol}R~e{0_6fQFu)-j3W*$ccN}7g;Keo7#ijq+{fN@;hwd>Zg=Q~fFC_CF; z*3O|j@ONo$acQ0S8ww>uA(cXhfW9Gq&7l{#=>!1y8b;6X8&|mC59VP;FqMvU_Z>Y^ zcj%o%xf9)yhKA1$bhn?#y&_aN_l_^KH*-ALpXy~Cbnj4ye^MYO1tU`b+FB45hJwFq z!61t1S5j~rr5QgdKsrQp4Imq9ury2SuZptdM)_}gw)BJj`)?0kAG)3$3UmZIfYlpN zYstTIG?6@`#gAv4vTBAA90hu+0nfsdp@Lq|5rJoB&de|;x=Glp;8-uRnB#e>u`*1c z1S$f+C&_;&RUtj8K~+ewguq&N#K~e4k}F$Skpo;-sP~GtKPWuQ&GJzohuVmm8nq{3 z{LBe9AXv}AF?0?9obib4iZbA!x_z;;4YISS2!IXxIs0z%5nO$?l=dk*-n%^p3y@r& zP&u`hDA;z_!(XO%C`wuimTNR}Wk`z2QNXVXo5EqU0Ko)=Lf$Z&1=onbS{)pB!I5#N zg-!^3n)SF4h7qSgI%QRaVSkF~j>WBtjl(WGV@*Ih{nFPuVsKZFMbJ7mQ2I1+>#}?Rf@|AG!Qrtuo_>cTY1sW<~>sP5#U!)JIh+5DTQAR z#PVx3Qea`q>7iBp9Efe9szpT%CZ@7JBzaw^@MAnbg-E0$WWyiG!?u|4+H+osn&1HR&lc#?o2>fEtPX&OH#GzRn!)gTn zSotrsSo-yb_94Cc>g9@8FWh?RrJF$Dn_u3%Z~+KR7x14y_Sie`)IE0S`+L9t=%bJB z{r+AYzP*PY`QD|cp1O4LIUuXx??HHX1$;{yP6@yc@7#CzBv!s4pC^H{s1C*~_yDUI zn1)rN6KRODUadHY7Kh8j%771^x*_I-3g$u09I3og~9$nY7*9?z~JqnR1h}TV5&cba^X}w?^~_O^k;AH z9~|r$%CeE6V-T>4%#G5)>m5T`PaBODaw>p^!qN?eY-C=dSh#dB8<_uxzyF(iiTvi~ zrw<=KR0!rF5UeG@mSBZz+yaC9uCp;IS#!pO(7}}8uUw!EeyHoyDt ztUKGuNmfrZ+3)HZ$~z9LyWJJ&s8^CE!lJ+m6Y?5*ihVURt2l_jI?C3VX{WbJ`kb0N zV-x6tt_p(&=$-4q%;PEf*NjhEk>Or^veD@?u-gZn)nqXMPkI?1Zukt242EmTSq?1rN`!$zCC)GI9HvEP2$oMj-t)5~k94!o?nP+Lq8Vt%H z0)rnzG7U!R6wo?PRsi-kyo6FtqIJ7G#mvfRA&V-jxaW13n7zJf$fo!g{Nm7{!+^2HoAc=XV+LMlq6&oAMwLfQQ3*?eeE&2FX)$5 z4-yeL>m^8~?`vr3zAy^lLt>Q-g$xmd{-yYN`liC#9^I; zuJGt?>DEgjnL|@5OG2SdAa5u%E+?(hgv1Wuawiyt& z#x%CKu#oyv9mLe4bMwqUN z-)jd1fX7D~Jvc5aYws(m?0K=r;qSQ@Uf6ea`0DVmK-};!CD0#hE#c*l0mr68VRkeecpAb&d+c zo~(Ge;$$8nNTlJjNTjc`v%9nV zXx|A;rdyAmXvgOH>;v-3rlt0G+iQY?t$|(yEek(hOT|;c-riuorsfr2JiGsc{Q{}K z4F|$khB^i}*iJaOQ94+#ISdNw4)qG0BTRY&As*n$9kIaB5Tsi}e*eGv`+xs`{ilER z^;)VoFBt6X&E&x~m`G;~Kh>ZF0-Rfw?+D~LLuFJD&BiGpuof8Q86cU=gQ(Wb5P~z9 zKhLnu0e6B`(|gb_6;(AC8x)hc$Bp@@iY<`oqPm;shD+y=`$=EMkBGDM0WJAVo49wK`y& zfN9cxdT}X#F0N8C%~nA9too6NValkL1w$(h9t%3FnN|VjY*29(EAV12jHAqM)^W40 zbAiRWZB~k!{f?+eJUYsBESJy0vcUky;e~-0o+;y!SBIZNU@P54#niwl%jXdukSl*VSK9j<4Yg@u(YjYt#v^ei5a zCPG5;1hYL1cGD`=S}qg^%EM?X;+i+6R$#fa)cius@R&B~md=}}=|XZ0n75H%I|;NK zL({~o5bSjd+RHN7lE{0vbjwEAiLyK)mM6`+Tk^^H_$QytjiXy&e0*+P0XQVT)>?_6 zQ!2GsETzC{*+7{!4^r=>W*!x6jj5!HX_82}YI8wX27fGJ(5{0qmsf>zVgx=n(xR|g zuAv@nm~B%PM(-20)7IWgy>**;iofD~oEj{x7;J&dm;-Jv-itn9aCsMlsrPE&rr__$ zVl|~zWn0=9O*3W&E&8wU5L7`49d2&#t2{}=@=pbV(Qm)+g<&|74zr+_0xW{Ckl;6{ zy%GdQA|*KQO`*QjKpO(zeCfS6|DdM1yz->L<^L!+dg|2ZzaIU;u@k%cI{P|zqnP)p zOP6-<8HLlg;xP2YCr={d;=qBE6+I{#w95hPg%6Ah>1-`I_%hlGD_(y2<&(^R#sf~3 zXf(#bgThlUA3iuLzuwbvf0EgM->rmOHf(?kZmncqx? znnDC%lgbQE85}4cQh)~^jWxDSiI+Sbg>yAVst&!HgT_=vU z3IunzMoJ=)lGeVy_S$v;FZ9Ya6bPq)08>h3&s}AF!G~D5P0K* z4@!Z+;ojaWLxbw{9YoH#hrqXQ-yTfMbD~4(+XBJq!Q0mbp8>)`LOMD+0;z?+|GU5Y z%fI`lfBFZ%fXAl~XBN@Bm~)|$nG6-ondBMG>OdM6;1`N$VX1i`l&N0AFU&le^2`-4 zR>nDvkJcgvOt1-;+!AX>W#M4kAtud+cM89%r<&nJm{_b&QJu3dr}Q{!5@}1m$_KZU z9^o^AZ$7xcUr zHB9!hu;PA&Uj2iwf)5F~SYAFQIk2mAFbne6@ggQnUd!mKLT%xc22*;|Y;91|@ACx& zR{IcGw3&LtQw*X;%m&Q3R8LPWFw{yNy?ULxCU^Q1WKm%ANjMZjpCN&2?ju49kRIco^jAt{6vW!k(C&Q`^jSJ> zbLT#x!4M?xbRirRW2qOIgqV?7uij)Gu<_oPZg~j&<}3d^P<8(F(}KaLdtUyLTwXp9 z;n8_QKfZx{E*3RzMzSdpc zovp1A`M@B5gGh;B@rl(}_WE*X+iN40pGA(W`-1&KdQ-iE_?gY%l`8>MEC~xfE-+9( zRQkbde>#y3qTU?);2`6B4ZxB;wu=E z?26%U(o9ck9AZOKFj)T=jME5G7p833MQ-s2G;b+z!c>^E;c(pQgjaM|Jn6Eg6@T|S zA5wi#m0EjED7M#?Dv<)Gfam#y7chy^U+UWVs|$YKTA<`4RbI1TbXz2I+|xG4E$2B^ z(0Mt?L_b49IJ#2Ugy&I8X&Q%`eZv9AfY~spkZNrW=;Xz#YQsYu&>xO6wbIF=y>5oU z_Fh7`gF#HUb{~51jL-~gR|xp0JP|c`u3v}HbPN-M@t*t|b2a6b!WNe`HKmQg%zd^# zLI=N)U={E;Yunqvya%j!c2ol>bsHS8VnFl)Zm|(%3ru%eDKL*Ick26D6F8%sS9^bf zz+kx9^sEAKmMsg|*G>SKv#|ZflpCYpcfuP}W9f_PK{)|KHttW$IcKM5(Tzj~tU_ok zkWq=G+AG0o?ptFMng&fQp5`)`=3wQt2=?I8Hw|U9;qUT9QEpaY_bcG|7Mlp=Hd6@vb-veN|XG4|Oc-UJy#CAh#9Y1eOIQ~1~%uI&ArCSf2umk}Y=b51)h$+xA zZbbu#N~R{dOIYK0=;7Q*S5;+|klOOGff3=#bBl<>YEuN(rUeXe!HB;a8EMoIDZt>J zr_bxQ6{cNHdv>W-)M?#mYm@VTD#sZim@XER1%qwnmT(2WEKvJV*+(DY<3U-=7&Euz zrg4g+8XGys_R_8leicExoK6~RYytA|YV}zO`~us_W;NbRyC7V;SGm2gJPhy)+#ZpS z9{3EfIF6P1!^MF}<gKW$LEv@pUSMx>GZRYcH6Ss7ir;3I&YnFx7upPw0ap-q zHESArvDT7GWM@V?kM_0Ky^?#S?nF1BR=~Fv_sVw$gIsGU85N@3eYCD-@1b1X+2+sX zul;UwCItWv_f85ApX}`yz=RO%_*(y(U_&BYy8nay8y$gg{NY34#i^A1N45jul;FU( z;dKxM-Y6aXZ8#qfcMNVY8@jY~a0B63S(HayAIkdw(_jAOQv$(%@+bexpZxoO`X_%J zv0F_uA&lA!6xbA5h>OPJyTE{XsJd8j7`Ygz8WyGuHsvVpNz;cYJB!U&rSW5O#CI7$r{H^}qYLR&Uf z*oq1LN`SH9C1!^m{Ce41&hg7!XC=Z4!COPB0!4*_s?UltgR;f{m3{SAD;K;YN{dVQ4vFPnKN&3Q7jo#AWZMwsCn%hS$*BXf@^}f<0IuBrZoUXsVo}qrKh(XciP5&_0insr=M=lR9AncGi9jcUivqJrVGF8Z<_5jf}6@B>rNUSg#o zah~uCtj1tKJ_Cftc{CsCj(`MTy?XTpu;6`mIN*g6OMn*=Xt|1OC_{Sn!rSZuh7%YR z_)B#F|M*bT_&A305kcY8dQ^TUR50@HlaGM?Ucw&u&wp5g#s$#d*54BZ1E4~Ag-e85 z=hn{7k_xV05y8w@ET@7lVTo`BqAQ0FA1oPtVw3DPws!V)Mh<|*cX#)lsH+qB zZEb~#D$?5B7a4^p`+&VQ451?jBHgv^?LzySnwr*|KOb0~6kaR1+B*q@Zm=KKg?@i3 zky=X~&-iLq;^_}Q_~1_mhf;CjOF^hnO;G%aBaH~US z%A11u-njN62}jPsPMkrMhdh?+U|_aBe=<*Vuw`LUExi?fl`8uXK}|iBr>{~^5~HMP z8@5ex(-wJDB3_>-|BcK0Q4$N~vtgj)o^<&LLQy@7+q)?7)TKSduAIj}sdK2d+~UKBTh(#G{X ziF@BT04|gw74uxZa&J2b&pSn!x{U(d;j&9mE0jop{Z^2KO)x(WAg)=*&xnWC{jcID zp3ZTzUmJThhBBa`Sb^<(UuI}!V^bPF>E_h7|DB>{Ih`)D90^=5yOH#Q`GH{sp7*Oa zDVv?00RGMjsDiitM(z|0X58~~OiKmDV?xYE?KnV z?*v88PT&lTm-km3g>`oWR$fk<*{R@7pKSvy4{#Y-rsSH{$#&^oC+I3ZO3t4@fBN*( z0=+_Y+ccZ8vBjDPG!t6T6T0Otb`@4>_aDGb9?|l}n06~5qvH$4Uw~8!0*{w9B8FKA z<#|Fc>jJe?P+rl?c4oRHWl#Y9k3JgzsuSf&so?_F^Vb$9 ziEg7V3vcvJn;TKn#>4^%zCFcS1dCA54EkKAX}O0W?M+$G!?J2UZMz=}YZF zdTGzaGvlGfkpUd)S*|=^Dc>URo_O+mPd)YCr8nOM2>*D`o=(BdRv_Df)=}Y*r%#@Q z;u(h!N#O6b!zf2$2f}5LW%LCj4XcM5DFks0|LEX>CyqVQIr`kF1K?vnxOME-#oe#e zEiEpg07(e&NV6iaK#@T2!~BX2_rqy1FG0;MQ(=d+_`A zoe=zer|!g2`E67#Ai)v&xKP;;kv|Qbvp2|xjYxToU~NSBn8Pe7J|X) zHhKsXfCxIvzIa~Pt28|BMF);-(DlOY$JjR$(j~i@nFJ5MB-P~M!O;;T?zxEqX@nFTGd!l zZ(}UPI%PptRuyP{MwC7~^O5&(g77_F%MgJJ$yiYfv?5>C>La&k*2rkI3gQub3PUbA zR>nyA-ZzPR^@76ReB-2DUTo!*6HtepPV634VD^Y_oEgd=HQVq!>k0h@ZVddL53mdv zD7%2BLBE?Q<4)z`U%`qs>2Etlvj#^{FFfL7SlVhVZ|8Q z`g03CL}_?}T)3n`>jIOa7g+3TExv-O>RMU=0<(6IPhncdvLG~KBRw%!78N zrqjBzR*_U;20r0vs&x>iS@xhv=^RExZ+t>1lqtMrl}KsVjl?q<-__7)j+;FMhIY)h zz;{d84m{{~z#Df7Vc^!g4J_ zLxApAu5b{~9U1wmv5i8k^LMmRcuYAqsHFy7!75yd1dqnHJ4ls$`py?$eDxJVqRU1! zQ)6I6-qRR@y0GvCcOA!$TFyPv*jSK8=}LF(i>|RR8e6_VOo(#fFK~)7mLFADd+A;j zI`cCI)4e?XG)Xnny##*Yp{mkQFCh9@Iddw@251f@hBsqQe?Ev88$1}Or_GVw|ioZW~B^3;16-TvuFbJXDX#!(sg(IiuNXK#>6(96IPZ1>Ee-XE=L;#8jQ5zt5SpQrHHgBR zT&XYg2Ae)R3ENwK3Ya+ChW#Q5Fw%-l==~7ZHvUeZ?&EPhw_{*MP zzqc7KJ|>Uv)rJOqI`Gxk3v$9D_3g26Se4OYjp`> z1Lm05+rR-d&qN|D58@t|)?POHPAMy%vZlf*^9=vtd~8;3TL@4DT&!+J;8e^Ycwq`8 zctP=3sctOGohtJ$vczb=u88NYiI7-^E%1FNX)L&1vSYaXP&`rkR_R+CcPCs_BZ3*R zHO2o*L1F1uLX5_5aAGBo@|03VZ4z3VqPT#DUW?3iR-R$q3~EMNo}lb%S`(jPYXT4x z2B!@(JvyA8)>JJ|0A0wpoSmMCX=NeaxzB9&# z21|;za4fA9gjcumqiTABN2*7JUvpNi5nPs!$;`~MkK`AId*Qa~5u$80GbJG1V!Br& z-nQVVoXirV;XKm6JZ8`&?dKVgt^Wv`o7FW&(f5FAvddcNhpwtT$zAQqhLh*6steeH zINs1b@a4mTv9B_Mk~z>sU^|#jDeznZ_`Q6&qI~Yxo1u}et^vHpK&@b~pmEp0+1z7K zeGdryvrD^oV-@_@mo9cjN-7&F0l=Nzeci3C5ka)p1K9oIbAWsZI44x}6pX(wpr{bD z=zT6AQ{H67wNs-UK#x9$74Q#k@cM<4(Y|)bhmbG1P6P%Ao?Cn{*CdxvD7pD*els*9 z2wjGHU?g&^V^&>V9eTevIq(^MNRVMg5czRV{#_14T2Gv4ugkq7{I|P%w7c)<(Gw?5 z9PN|K(e@K^dA+^4y?N=*5)tMS!PB>&;d-uEVHuZP(_oo7>-u#*7c7Swu zcWwJp6Vju5kNav~?|b*(o(Y$J@WK9#!R*iw=hbJg_hzG9+0;zyt zG20nXB+SIh4FGWL51)C8_-h9sSZFY|!Gf2_%xIeNqB)Xm1x9lrY`jfPNRC#2FV^H1 zdS&3UWp zE!kRFgDywQji%sgWzubVQ|y|DG71}NcKOCxfDp{PNi-O6syF2{(X1v+z#}a1i_B+o zX~u$RIF?38dk8#PU!SNql(VKm4xa5%8af?SI}w#yVVyR|zmW?S(F)#j^IAfI+HHmD z`%UqZNO=~eIKrvI+YuO5f=q}eem*Mi3|ttq=!Ei9e80qHT4;=r;WpC1=Xon%&}8W;&Hb3NGwQuSLR0{Pl&VP>@f?^yvv+}pC%|cx8Cw46 zLd*adpso}a5zW~`zXBPsob7Lv1;;eY87p0`j^)O$|HiL(g9XpV5X~Gz$-?Y?D47@L zt&VUxW&oVlRL8dzd|mKvCC~+O5Tio=_<;v1jV#oK~6R11wAW%e>F1qX>ade z{O5l@avH6_cgDUFyeW4+Ce>-t$qOMeQz5_l=p*cb%f@LLuCx*M*ccbPkZ+^CcD(GP zk+0aI|H}1`?Rf%1$2IO+fuGBu^@|LkS7wu)C9p*4D6cv-bgYDB6#g77IWdmJR zl|85kZ0G^SJXdk;8Vt6oc;0EjlLD@2A@q)q-E7*mB)$4-1%}ioTjoNad?l~bbp%1w zUA1LgP|x|k|H!3F-@EkVOU8hI{Np{(clM1&4nz(Jg**s&*WjNa&k5-ZZ){s4JbO;`iN zVT2HlML}Ejr^y|250;orS+;bx`oV+srDlQ7+Ou=LSAxx?z(}jEERhca=LCQ&;Q?-E z@N*ybynQDCx+i$sD|G@MuLy+9G&TLQDT8>ZCP;#F5dSW1xf>9K=9{B z;9ok@T`Lg${_$YOSNCuG-tC)-4}P$J|DO(aK-4TOIG91LLvQ%XP$1ipc8Z7Fs3=T@ z1L=+18-l*_KNi7Xv>M(PZ2oQZ(PspM3lRKwg28|L#|zY>w=l(k!0Wn2fA3+Qd33YGk3obFoO(d@{_JX*ryqltT?h7 zV4ucW1%vg#Q30)>uAJ*96@S}T+v`^A+E?pVIgs{g1ayWvXQ+6>(V)Hu0Is(O&Zv0G z4`&xxa4#*fW=5(f@tri{EcCiwuzfH1Zv2}th0Y0WW2jG9-w`3v(_iTTnhBItdC7+W zCBo(y1`quP3>EZQ5iO|WV(U!MXl4$aQ`*8{^J486^zc{r#?fz#IDexH+r4{<$M8(? znSSd7c2D6czxg^!P))_xTyj?Y9#DCUA^98mUAeCUu%6DtU!e6jg$L_Gc%B+7zc(JH zwmGW3Nnpkx+jtP&zS>+k#e`^ZU`0yAKMF-fj+R1ZfY7W%=HJGcmBmPBIrrBJ=Rn~F zhDpxrs+aO=JP#yVDKT+0s)Oh#lvT56Ezs6q;!}1xTV(SkcrIWG{5K@QF`Gcc*UQQF zy#EjX#{V~dj|1PIn9z0Z5_BZ*3G}87t;xsQY)<}zs$U7YXqj-7fF*!h|`Riw&vnxucD!t0^cne7^y}S$IJ|L zz=+nU9YN|vS#6cVWaCKa;b!R9q0LV}&HsOFy$w*ChnX&lEkRGcM>}Z{V5PR)nsOfa-sW8g!(~a72wI-Gy5aKV5dmG#9q*^vpSP-{*NhVQ1%v#sU3&l8CG4d*1i? zNv`$_1l5j4XXREHU@L95rq2Eyy%bOl?9~RfbhB*)QIeesq>B2}ugSIpjP+3s735*+C*x}mYiQ%$ZlVNEZ zW3-5T2|~*|u7xw}{OHzb`POVxX-9WYNw)y-P)|?M2OoS;LI8&Fc?W-uZ;*oZef$h( z5;nsI6yy6h5NK5~F>${cYjM1giiTSJw^&V@>jZ({ey)JOmtXp3-@eP2pMk*Xq~LGY z$-nTQJb9|Cru&s!8h{Cw`^v53jKydd5Jn&e7t`EOAAjwwB7!d&@ZB?i`Ipb1dHxL2 zI1U}^>&v+>ZX!Bj+Q{B0hc!nKx6EC>x#^DPOs)$8zpLm&di;1=pvUWVxrQHKydH3z zL*>!2n$n^o4gF~M3;b5?uM*0OQM2H0U*9RB?{eNzCs13J6V97Ax3sMM@zP2p;{ZT0 zX+p^2xvs7#I)W{ToWz

G3q-(&hCa=QuA|v+V8a%dKaB@Zphbz+bBsV`y9g*9Ey# z7INM{!$$Dwr|DL?bwCHxpQ00KV*^qx`Qh4aU%c+4uf6yWg1tX`LW41g4yDO{%rGS|`&HhD9SigUe<+5SZF)Dxn*_XmxC>x*%sXcyOceVKa?JP*;)H zA}a(!E7lShEWVskLl+#tWSUT^)ePp0lQGa{64>}UyuQvIcW_uO!v@$^8-)uI1>#72 zM*O9~fqGs1BVYc9lS ztgX!ljX;iST>(3Hu=FXmY&eI3+RA|CG(`8g^I>D+{1gJmpDrq#-*Nf^N+V=kQL1XwE}9+3r4sRIc?R2s=am}D!W zrgh*oXj1i}QA%hiyMVvQ=HeCqI=;anKJ8CHZDRGf(X+rSG~ZGon3A&xUj|_^;PN|n zGUc;E7N_Ajf){vHK4{C!ic1xMi)%;AZz8Qju+n$OZE7B=g$%hEQ{$_Go3>&X{JFKt zm3Yco-3g zv=#QgMj=xvpKz>ntf8#@vn^Bym0#T4+(f1()4c?dZ_3wbA>9ivvY9Wa)96e>x)+kI zwXv{J8LYk~jIT#cWrM@Qf^E70*H&UJgTN?ybanR5ojY5@wvOY1cL#@rYJTvmPd@ne z_gTfT1G^Y6fBV}o|Nbumz8Zza+xGmhz=hw~^9HqA-|Dbc=DWEbe~LAs7H0Y7+91DQ#J;Q}u7@gg1aXb~sQ za(VucVDIy1{_@P3GtVH4@=Tv=HM1E(_rU6GG`f}CqU<>t%{`tjmmA9S9+%5>p=`Pw zfyr+5A$d%m-1O$1&8XL3bfX|?_WQg1^5WWr{d$G|_MH^)ZR_jn>g&Qpx=v_XojWh= z8EBemxn%hxC~eN`pkK!k&E;JFrqy+T2h`8mZ0q$D5ZdF#MF2eCm|J$6tGup0Pb7Qf zL!rReuM6wF4g@B=1Q5KKvb1KeAq`sox?gJ@@TII-fbO;QZLESfuHh2_EO;OsG1oZ- zg8$)5ljv6kg74hf+)A>e5HnjvOVD-x2@agk;a$jyL^NM@LB0sec}SBpB&)#R^>rQs z!)2(Jjr>Ww5@ACJjV&=B2p6&)saDnY^)DCmLbePDwzJ4rc&yo+Z_JzJQC0cx8K*9e zcby2xG};!BI4M+k+b7^!KvB6FrA53!uFqs3ea1D!%_R-bLd<5^XDoe}%un(;;svKL zUJjSKJFM3*AH_A-BW_5q!%U+zk~o-@W!F|ghD#H14b7B7F162e`7-+1;G34<(}`II zkA|(tr(5DM@i(YP#>O~2AD%BHQ$E#|q_s+hUW#5{#6t%SSf2mVUKbCT3;x?=EGuF47rjzRZj4$i9v*jI zWX{Gyb^+Wr@er(7!F>il%y2}V%^Eo#fZ)W8k=9X2n*{g#ALB12O%!4QE_o1akr(BJ znI_!ZwBO2=s=NlJ1??8xBme_RiQKdwaj82_HakwE(;{Fqh8F_>hCwR5fhq(gxro8i zVnQR>a-67*hY`kA^-N&LuZ0i!ZThzwKnb6c5@H@m0T%MCsRDmyFbE;|>0~VQG044& z1Z;EIv6{+UAh9F&het8EH5KbNxL5%ACZZ|t-5b1l^XBy6z2bWiUlnt2yJrtrFw-hY zNbBFMX9lziiE#y7MkCG4rsT|;Jq=g{S888Fv)u6d>tM2Dy!6sFJYo>#=KC}TkBw>T z1Mm^a)1CcIO$^K^)+~)$oHKk@K7Dg^Q0+m3qrly=;Ry)0rl+4EaBZQxuyzN=Vfrl| z>1W1eLxB@F7zN0qDzet8xV+Lg^&K+l+E(0O+dn+Ib>~ibXE&M{4j%vZu@64^py=B- zZhimOEh6m)zxv5fe)X$w{_0o1`pSD>dG9~{?|@zbWFWDD!8)gY`-R1cCJ0QPb*Di)O@9O!@^<;E8 zI?Mh+_nJxH@+~8^XoaX{(`&*lLwuBrDL?@@Q50>BY1uw+R&^aSx@?_UDZEcrz zrDBfC1Q@|yiNXdo=7USB1A1^y>7K$ zO05V^HRc;nS1mU#=c|NudULrdZ(m?b`12we;?dBS2u^dh)zE^5TpCVDR9d8Oz|1RUjBuz&T--;c&pN!B;3+ z5J+>Iqe;hd&g02NlNg?(S|X1rwS(`9Ocf-!8e8BbUByZCC#-8#At))!gAK_QLa*e0 zV8&eCD$r%L#0Wey_=M8>@GpDZ5E{$PPI>$?Wz%sKL>L0-KsY78lL23l^jF8(0pfTn zfE{t1WVafXMs_weL^5%_wFurV?tt$z&ZR;qWuZ68Y%F`#+RIKN>|&iQT3o1}(mdik z7R^smu7dGG#+HGX(UV4PgOLWkt;846SfMA~4eIKh zN$h~>jP8qR3(jt<30S@j8jf8omjTS+*OMWZF=VrawQu4H0x!~_1PY9XU_dOzT>`4N z$I}a;9mplmHN?`oBwh&Nq`S!c6?^b&gSHv-O7Rwg^Je?*=j_V$G zd`bbB5zJ76o0iP2|_P)2jd6D`1DSyv~t}iSst3#MFrQQk_in%zkc ziW(YQetFdF~T9sqtp1T6^x#CbqaU9H#kvia+$R9pwm`)6@2UJn=Iz- zC1I||-WLGNMeo(C-*_D)7PH$iL{m}~J!Ts*XfOp?Z(b#)fi(-K#`h3)*=$@JPfQHg zs&Y$%Bb!yCWh6Drg?gp3n>Rn(yjXs-wnFZ4?;iiShjg#v=8*d2C_`VaGeKmYIlZ|DA(KKQnAAq3;! zpKwLYs4UbaefyJ7_Fb;Zm5mM$_xHQx-I>a&zW2_R16Q8AvVXs@;1kd7+V#S&cLaU+ z@7lG$?bOMWCr_O^d9hq5TcG~;qNz66U_A%QMuAJX|v`O8s`P?m-U zm&?_~J#XJLeFC&JAN2`78e8ACstcGtdjYeJjz+;MaM@)++*BZw0h5$#K`bKz#`&Ba z%l}h%>XLlmrF_>}g(Uc!$3uC^d%aycuoKBP2kNpJ;kY#hOadfT^t{``5jx$dJE|KUIU>GJ{v|J`pN zCBj?qTIIlC!x~>9zY=yEaXKKsk!1!?IyA;owaIR5cmrYVc-PnefF2_nkOYO3JC*mD zh!!Sr8jU?M=`T~A4QpZv?w&5#Tm*_HF4p*!qUXWPPo3tQd7%GYPubA!y3 zw7{`T(KqmSjw5eOqA7INp>WX32BR+XiA!7(^62e)JnrIUAshN79sHh z{FVR6>fPM|UPO95Y5NToiVnE~hIBe%A)ap=S<;A@rZ*|b#-vG&mrQ6JRsn&Z?n2_E zImED!SOS`3i|}XR!h&JhbZ8M$FT!tVK`HJ`$av22EcmtDafbCuhL$RUTL_`)f}`i` z#`x3to93(;cu7;SO06EvfUz#h4Sznn8!;R^nbhN<@r4Dv5rDirdyK)&y1$~mbpT2$LcHV zV&EGBIdsXdWviLXUBBO}%xY-N@ECJd5q` zX!&OsZ{BRMjaAao1e=s5JwtsxTs9~`YSbwi09;%<%qXkoQWg_-P7KeE3Zl#+4olNT z&_h9(hCXc+Vg17{TWKj?fsrqQbBp5Itvds^@0@qp{OuhWzIOFp-X{oLe8}f&Q{LP(2hJv!OMYQE2ipt>)~OMQ3dwat zi&TCd0UXnhwI7)C{;2CzLqmn@6x>9Gk|VDit*?z4lvUI{3j}+ssvff`-mwh$%{Q7` zR#KNz0<6o+0N;DS+=X0Or{CX{w_AayR_pakmr~eP0%6`YzguUnt8-L&U8gSO z^N!P}`&hcO7B9vRXwT+L!toME!FeLZDZba#TC*Tc{%b7ag&Mg7pc zEnnH&w{Kew07kHe@rY_n$7vy^&ld-aD=_;syLz2z8aus$cAYfqtlOS4M9k0!`vkcm zma5hOtU@F-euz|8S8JS=9eOJbz5u)$^}lwt^XhcD1?Jp{b|c|ooIZzF&_W2>>MJa2 z!;~}!)y~7n4Q&Z#sh}}S=A#I#SgeKx-s33?leF~t_+|{gYs6#*Q$8&l)_L%}j-UmG z1c3_zX+k|WyJW;Wp&FV)WwB^0l2v;cc2cgZo%8dD53i906M(hnNbk0$b7vCe`NOKe z0;jfMcdDV3mW0Mzq63%;XR9J>0eNRhCmtv=}>kG0E}A_lOVxX z+^z%h1opoPJR~u5*rFTeSULuKAQO`@*nJ|y+Ti+kM`*QJC|e@EUL1dL_UzdQh6Wll z;00o!oNthw3kZi6lwJaJjX>$Cse%$&`wK}=5qA~Sq6Za5ac`S0bRZGHsTq5q(Hz_; z8}ZIh5;vaGcNL12#>W>_amDOs?P6fYhn^Ko>4G|@n`(w^LS6k}>OoQc(AE0h&S6(^ zhd^JmpiXH$m$lP(QUigDpIrr4; z4M)qjqN~F+G>xf>c|!(6BO@TbLSp-gUvgt-KfWEgKY_~MTDe{4(lGuiNtQ>U zA*q*hYh4S&S**q&WJ-@rOba%S>athRlWM8TdOaU7(!F3#GSv#4OlZ7UtxK*SsYSY1 z=gy?Pe`0tPBv?4Gk>J4^3Y0|5md(m@+_{5u4nh9@;aPdLBitsNX1DHq=KJi<=&)zF zzY~PqRCRe@(YH%#nuf809yNyI5L}nZSppV{4oHXg|Kz2YUViz?e-Z%x_VMrQ6dLRo zh9u0WKlr(Kb+&wTbhX?Z-}}2~51iPy@9ljjPGAST>&kP_y|ZiAi_d=bD?e#F<3HLi z3S4un=lF49>fOg`;6i%-&|MTWJpVl8SU>;H z*T3H8HRWc(Y;)*B67GLt8Yd6-Bqkw{3All`=gYSQR31Ohp&2(?zIkzdGYM(dg~vHB z0w(+VPIUQ_%PQXP>RBYrNpa#&!9Wzt5YoZv3Ftf?R09Ts~pZa^2=cN9-y*2n#(af z+L6!62}mAIg2qNQg8*o|9M7Cw-?0#@s~EW+#ss=rQ>{`dd%#Z1P?)jCSynO17a$cO z(1w>6Yv<~SdASO|-)cCGQpm#s$l3*g19Bd-UahtwCnVMxb3`ZJOrmreXv~c;@}1>r zA&ag?sHIWMK>v{0sWFuC9dT75`3gqhApJ%`yTL#wpOQfVdr`c^ung^1U?oyYwaW7a zpAJ*1wAG-HWM$!TB2VW~8UyPf!yx7F2F@z@cLayWp=mY_h6TVu8iSTpaHo3^kFpvX zE44iZ<7>>FOiVsyIx?CRwfCGtGvbl{<7W~KnV+3Z4r#acsX zRhki^uI&js0Ic#Y`HfDptAV=b$)J(`Y!F~5tqb8D0AK(deq7k;DqK)y6$ZZ=EE%H) znQ)nyv8c3qGV$@-w`HiS~fv5}L3$cwb?NzFB_fVtHBF=*^3Pz@5$MGU2z)V?r)XH|2vau!%J*oI0SQ z%$vd(m*olloy}uVV95^?gA9M1n1Btb`JSL41382V-)H+DBuDW7B5#?QmLs+iLM+$C zf`*#wT!@ect^?F*Dk=t!a=%+vHdr=0y0tpnPp?x)J=4A9hhoj%Xkg#3sa6-ga1d*{ z7i)owwViMTVOypKq;S<+l z3?j@y^ugmLWWOaP?Z;j_hBCq$CPbD{34IVD9naqd0Kavtrs$9m;zP)a1Z|s*P9uQB zYbu+~4VTTjlZf5$Tp%C|{<@=}zx)Pn968C@4A?i5(bd`Mtw1>0Mhfgz+AGkzpAMu` zT@YV&H3=vQ{<>Ai6p5^)RxVv?X~}$)F}Gv@zw%8!=RMce)g>nY=e*|-#bLFk!Yhai z%(k{>t@r>Igzp<*#dkQ?;U*tcxd}(7tusV{I7r1%J+L~_VnLQV1t*xyC z$frDO=%JZ}g*7k?O7efaPt&_m+;C(g?OQ+Z@yt>(u)ekR2eV-PM|=PCKmYSTKm0=e zuP>jCt*waSx`cBA@=>ap&6(szl}VxXhCq78jpmvSI2Q8!MH0S%9b4`aGa?e7F`aj>I=zN zdS1YZv>I($<%@y$+%uP^t%?G(NWB~P6jYi$#gbv8=%_G|Ce$ka z1`k6;EpKs#XsR#6V7yOe&q2#!MPMs`bDkSiodZ}LysO2fp>2d z*$@C_8) zj$B%FMwmCHY0b?-W`$Ym*m}5ggqfCrJ-UEu8%%=&bIq!oMzj_?6X+Iht{t6)CkY85 zo!Sa$Q~hzNu;6Ba$R-A8U|l;nI*9Vb2JLh>-*2;Z0DuwIRa@M=vo7vz(6H)}PB36O zJHQj`D%#e}bT1;isiA=~WPxD-@ks4`*q+J;N2k%+sLtF8IbA^D=2kiAx4>~H5~5*T z@?L(asOW~@)?dcXhf$%8QID&?v!S83tn9J-@$|I7@MoJ_^7}yfqdZpLUWNbenG;uj z_OqY8_Z~4=AXxr+@4YJ@ndJ%Y#P|OFSKdGH{`+u+;ov*(5 zl@n(K^4difBGcdRWL>PcvbnMviTW|bu4~$56HF=}x*js|W zXMS;db@lvtW<2NE1?;JXZd#?rT~5%JHkADt39ER(~&(>=XTeb%^zhl@)yj_s#_tC zO|GVMF2P^#G62|ukJ=T%zHGYHYFXJ^_pE$zPi~!; z3v!*^8Q4|zb7SMd#zy*Ip(LT6M0kQ#XiR*L`%6m@x+pt?s@9W$V62Wk^2?Kd<(6~H z^5y||)q>h~Y*+12O9?^}aP5qeCgVkuk=eYQt8zeqg(PfPiy8VHR|AtBe3(9>6cHEz zY{ed!vTM89QMC*)mR%RkjQl{CksN)AH4gDqFkI+1a@09MmKE89;p&J3>6URjNB;RL zhgqk(b|cx@E})08c_dS>k$N7SVow)hHqV6H9&*&^n~<;KQFhtuqI znj<@Y-W1ec&UkoUu+M@pW&xIk+Y4Co`qWUR1867nu9$e$5?PURINkESQI(fIr z;5^C@`K@;T5?OJKIUPY8vM;$)a59v|2???$g{>k(68v~BSO9Qv-bt+#v{Hqog$)Ez z1~ezsV*K>RHk4f$&!+hZm1`OJOGy_KK-4K@5u6X=5L&8~V73RYe;CwWBY6daz_CKN zlHoq0AbJ5~U!eR9u3I#4CQJEMsE`}2m*B%Wi)MEaeS_*{764Wg5!f&RlG&EP;s@$q zLM!2ds;?1cX$6`Jm?nt8OvapH?iF7U)lQHqPd(BwYRH=@ry7q52_`RJG?J&Mz&#fV zj2NP9I(JdLq%tZalCpr;i^ei{iaM(YsO>$w`@wjjLTS;6z2tTm183ey{*7j(9YeDU zqBj(j0rmz3jxD|#dKFq~9J;7dz^BrPX68osYJL5i-(Zl$)%w!rd(FM|L-m!-BMtYO zn^h;py>4?e!yG{tqGiRUSO)L8dR2W$_i9ZHu*4L(USM#PExP@}Y-uP$wxf$8V*$14 zGSmH$We?qt{l9bg$Pj;BIDQCTOwYSCZ3$QB+fm z2s75)XpGCLlE&D2n38ISNl%!{a;NvbRP=EvRn&u23vVXn10DRajI!$Cva$ehK##wP z(dlS(80Aq$pogiy)8%#i`~Ug#&lQ8Uo8fQXd+%p2Ji9eIS{8NJIqMva%X!CnWuXh2|L!CLxk~6n(iE(k_M_Bb-6%Q!%B_R1yaH3wF#zzb zTYGNd_P3703@n$oiu$}!Vomv0(ha_A68v4wnVLE)8a&Y`70`|)u7=B|lk4F>IONJr z`zA!Z?#GW&5abcep1u=UU+!b}vzm{D276CI7mevNC0D@TcuPb8w?*JX$gkPm2=7f} z6-U;m&YgnAXc_BcxtwcTHd{7YTP>*;LEw~CXzYMxWzOlWdw+k`<(K!p{PN2$9XjMk z>rzdT-VaHP5r?5w+B zIEEFXX&Y`_79h{0DC6Rq*{7ja_Aj+8Alj=I@CR{NjUp4F*fY_({ALSdk z(?nov0{dcwW62k!$hZRMGYc3zLmHh33fKU+b~IT}b^J~yW~|Uf2Q8=@w#)+>Cs_}H zfQ}%T_Z)E90@Mr59G(*d{=Fh}5K1d`CC#8=L69X|um>%sDVQQ5ezG{G-ij}e(Ht-( zYrRA;_z>gi81-LZ@5IL`V!KjRBtXMrtKrmBP*|x3ih&-SJu?tf1Mn?zHcCf6$Ryt-IEA5a22@o<1 zs~3;I&-JeG;#wCHKrUV^zj<@877%RXZnxQ39?L;)qVS+oV=Rjs5U^!qI#nkp)6KQR zWz(2<7i)oVDS|=1Azzi19UXY8S_Vc62^B((c&~<9VWEoNw%Xy@S*(pm%Vvk0K!RP3(OQAowlhUVe!mU1 z!-M4g(dc=cWR&Hj%R+?v`&nmP=5Zlu3+>B_z+ltKi1XQ9=mq%MdqiKk{Oo6c`rZ2Q z#7J$!g{F$qQk$!6wmgb#=E&Z?zj+Z5{I&hNpoRX9za1OkTSLc>%O5@HK|)8;(Hh|I z@mrcddGHlfB;jWxv6)#|pA@}y_f$?^qCjYlStjf28G+nYV5%z@O(x5ux#%ij!{Kpx zbLGPAgru5s`HVecmhUd)&Ff2fZ$(9gtL(A&Twm8Aq;DXd$$QF$_FsSBIWLUAg0u3` zPj##?7Yq+!e|6+fSDkM2_MPg}Z0J+opeV0sd~| zY2nwGFQ1Uh<(JMJ^0Vf+sB1aZdgRE)HLHEqd#>rHj&-}$I*=W(4&VwvB2*LRZV&B=8HOuGd`0e3=` zqmCqEH8Qxzq;Jh|9|`U%cFM7q)_;vyNZzGj{V_+(MsAoeV=itP|11#9lq{j!87ynz z>#atfGvl-(=Dgfcy#@$#7G}+qTrum)o(hDkwdxSFYaB)Xi|NwYx-FMU;hH`+3Hy*I z9WJygR0D)DOBNVo@k3aXt8ia?+|D*2pQ^3GPHR#v?4hsc{OjRtU5b<6oMrobk28!L=5rIXT z1;MI|3M1kY95?)Q6bDz$Ft(-0Z3_}Eu;4X*9bQWuPAD<2c2c|@SL3jcl5hdr?U3+e zjLkvD&5h=Gd@^CxDh4pt8IsmXOrh~bytf)Pz%U&VZ*jnfLEK1uO=z|6_5#~^|k<@XR&MQMlm0-SfS|B%l zn{~k4;{s>+d^3p{#@T2GhACN|5Raoc3LKm4+ky;gUW+mH;lq~1%ufCXsp>-7hya;d zSk%Egi7;yy0KhSvNni_v^=U|_*aC2*o>NAIh%povU{$Blj9$+S=J7>z5*j<^7@MHv zJK(vH;0L=4Lg&I7mpPW2A34SFNFlao3HL^72mhyxcu|eNrXWg~n<1@Y=2kJdHATt7%^5#+^=hvT5nCB3cc*7PrluyO zdjT?sUB&7~miMu>dFSS5<#z(%_46J%CFmS2k9zbhqQ1AZxXIOzuBRqU=K;IOD3NcA zYlZJW7Sx0yX%^Q(C`~rs@9K9oox&ovyQ8%Do@rF>DZH?$sj1(E1u^WRp8lqOyamC! zE?b4X$Y{BoL9qQ%crI#?Om!{)-{*qC@8Jso{Q2Mg^VTr!Pu)XrzFui-mLmu=bzR8U zz4)752QHsM<=+{!9+mV!1%2?99x&avj=rTue>#B{(pwNmf9qIL(GAX~g#jCJlwB^9 zOYpOz3kbX!@SzK+e0o?A7}x_zR+Gz=i)P?>#f;ij;V*6XS9EzjURT$ts(eIHWc6HW zdvk>==k4?N0e}TTg~Fb43G?%uuFBUT?4hM4E*w$*EkI#Ot+ZrX@Tu9j+~z&iCl^07 zD${`H+Lc>%d7TY%k<1%rj^nvtKu5Dv_ng(61G8pRQ&DVG-E z^Gj5C2_`2ErYo2VAzOaADp!SsX}XvM(jjrCSR6{PrDP%b3P01B>sZb^9J7;hX}n4+$IO znQI2hI?WEXa_W*gE~hsjx@PB2WEOl^*#WE+=-b&AR=O7FoH{5^! zaE*8k0YijTuEe>;wHVGGuu9}53b*z>#b|vn@%q#wyawe}kntRIDM3mLRLk_=TG4!f z+-9zT=K=R?TuW;Vb+yjOor>SWheN_r<(ukiAaI@YT{+)~&l!Ona2GKIdSUyiCHb5- z7Zr+*gsaXRP86~{I2pDu_zJJWz$rL&bx@o&k~^Lzz}V1Qfx%YhPlELZEf2AKrb>$E z0yBd0hZ$)FN*u&UdX71oY&%jYGjb@$7nDMVXe#2MJD~(s5PT+<5LH z!!apjQjkB$?C4l58{?WemYp)PFJngAVWH{BSQ^JTzQ!bcDy!dRr{t6X)Kd4xi;G5j z6_?2Z!OY@foCq@@DehX(*k^f`g$2r@0PaFWcb`?E7Bf4h(mQ@5T9-+1HHS-yF}B3G zcTB@63$%ClSwk(oadrbI28^99(B}u^PfSV5t>vLKVinyiD{E>(5EKWZz&y~*vht*- zwC8H&$OO#5v(o}qo5FL8C&~lYuLmwpm%%~XE2I;ox3^gU8x2AI6gP8FEP#1mfXmg1 zA+Hcq!L^Ayz5(mSsL58T=tpvJv3K^ECIMujI0QhcE(V-87 z{ndP2(sTTHPtWllmj52*{J926&;rLdj+GqmQ5t*;(K*@0L7li+sK)WM_KUvDm-p}Ab>PabD_?!*Cw+Z)i;ms6QRFpWYTej4@`H_Q z11WnZvO-ggJ#`&T!q!wKI_&CiI`>o0awaSv$FT=zkH}^B_%*f^0*15c)`8aagY=Ai ziVH7A(~ub*3RF7h^1@T|a3ABm!bP3)1+M^oWF5l*_8qy+Xm5z-k)@F_M;$pGybEGG zP-Mu6FNAO6R(azNinV~h@=I8DfD~gWfNifjc*FK31WhkHqDf)0a%8z)Mbf_pIxZss z8pdNel6sH9TQjPw(g13+nM+`^V+s9%=4D1z;??p%ahjow9BQ-ksa9f^IsgY@GkS7? zTFR;b3>T1Z2Ra1rGDiGWh8+lTIgN;isSD$jm`>if7W5)9Djcs~de{7}8Lx{88g|Nx zBj_>WG9rAH~ zfC3?mEUXkjJ*j3wUWU(SoK4UlJZVK!k(G}M?TC^?KwxV+ot+d`YmUz!UYmm`-|4K5 zudS`k6K9?8;uY)K7sw9)b~={?eVup=#^cD}qFkD$Uyx+w^L)8;Y)_h3Ml8%U!D1r{ zuQVo$!mY!>gvHqO7Ie!Y!#4aRTXJ&pi9#xb_M{*G{>M1@LoS1ZTG=p3+)gA8KeQxp zH73&dBdA372~`bcwW1)4$Y=pKuALXqdxVH7jFm%=6sw_7UNCmZlSV+MfyKOrftWvFfN_01-L_;iDy z2OcI&6}X0}Gb)22K}P!GNW<{#a8omEM{*+2#1;g(Wkfi7@5tcI^73-5Qb&hJhlh&+ zxWacw%A(UkR$22v5!u9S`KG%}LpW*~|6Dr(56!fR_F?o0)|TD8DMxB(m>9iz(>=(Z z2N-|Bqq+PZE0(Kj^$MOoFci}!`028hBDM?Zm7uod--4&L)6r#bmtTHqKu4FHBvc4o z)_2z)@Y(0{`7V zdi@cXW4`wtelzUAr#7^wODq`@Zu{Kl*;#kF_&%qvoj5bI&e@ z*Wd!afri38w~m(_D|+j0(b2oif&Sp`-IHBi#eRROzsVa-M$boA^RwQr3V%hX3u{!b ztEpJ9S=jFdS8+v?E9VwKX{wO343r=Dydn_n7uXg?m|I=-cAXO}iVEVKLM*X>YL$1t zU}=lJ1=&^+`wBv>1bHw0aiwL2$s1Kwv?=AQ@<0CJ21uIYD5#{G_eVFU-Ek-{x*<=jV1RH|z&^e4um2iKgx9yQa!22gU>5oT-5B~V zBX|<|*Io##R-?(y_042?G-+m|FU&@Ao5zu1=p=Zw$MfH!T1}WlLRKD~3=V3O1$8lk zcK}uG1W~gdLopZ=>TL*`J@U&D%1v`IT9}sBVM0bQC#K1QND-t^Y9$f_J~B&)yGn%% zGG}vUsZg!NbBat7k6f2W+KuQAH5h4lhm){v#v97W@v3<}xH^y>yK5bEE1R9P0ELBD zS}k#IlF6+$dQG5i%YlvFFIV8Y)f z(rb%R6FeWE4^Pr>jRR@w2`KYz`M^)NhOE9Bt3c0W7=Vh{4yXBjd8tkWZP1wXE zR6IBLL6$A;e_p(C;S`hYg4gY9^K{xIknN&pqTic#ai^ zmKj~`S_}BdjVcGvq3mK>Ik7=aV}=_^gC`fC_=ysl68c_wqS7`gJAjh z38RdODbJ6noC-}Tsi)cZ>A30`CeAVVp~llFzAtntOd;#iP+37&85*Z#Iu_%S87ix^ zVJ&`j<_i=JCt@>j<8tLZrNx7)%~nv|t=?VLQ5C|fNt&PZGsweVC4mMH-)#g;GT&;q zI;&I`y_+g)v>>u`cnV2f5$npz0|Nus?QY=jz2@G^ApsrRu;87mvte+$ zeDlsGvm8+hC>H^?Ug4(o94%k1R|sb0hU%F$jZ*M?I_fF~{$3rsKR9X{8Ph%U9$htK z*^DnEz7k0H`j}w8t5Z805SmqN@<617pi8E5a7f+Ue6JR1)O&!yV-wS$yTijj?Z>nC zjuiKIb|NR5Q5>ZtnC|V}Rx_574P_-va%83V#KFza^Zws7Ofgty?7}xbf)G zyGOx-fx-TY(o&(-epfQ=TTi-IJ+7{!?ZRvYlPik5isg*L?{CTpn&iE}moELWMc6N_vTZO2 z_rbB0W1?~u7mjl)mLL7-zdoFs+bclph^HtmMk7P3@EiF6T_FOW{sp2q_rEOv9N4vM z|NCuyXZ$rcYS8{5Z2GY~@JAAF^b(}NVlMqL13YxeS;VHG$L9H{WBGK|>1Ahd{JVeq zw?{UvrGdbo-iCFlHPrfGF(eT3hxH`1%z3ONL2ccnn+VFzt$LOb>6KhxzY|!eF)Q+i z$Wp}Y&U4~iwQ7clYgv9Dx%0_CXyuU>6~cyN29>OqUrijQpiIP<1=2bUPf!vQ<9wCd z4Gz4% z+t}Q~)N4&)X3QX}CzS|{rm_|yuTrTvC13MUdaVE)LHp}y0#+DirUnhVlWHlFzj)WE zmk|VB2qlonvHjzDAg#dIJQ;5_$IniBq^jkMBlGIQESh>S;IC$8!Vipzx6)edb)kfY zMb|RvTcdrL)xz^}`Kv#NJ@O>7x2z$0oEEZ^P+ zAt58C!)mS7)eKFZ1w4xVp8BhYaOWyF}?1 z7QrF)|KdzyaYhwb0>q1j{$3s#y$^+eXU0Xx9=!?$*#o)t>^OmTTy@u+ML%F*2Zz$^ zFw_zDh9USWR5BD*b}-f$W}chV0=LBsuBwL^dTe5Jde-HtHQg+qu5E4}nYdZ*UNvc5 z0Zc{>6T(GJu=V$))Wj2%%1Yd`vQ#h)_i_1&y`@CuN&)I=AxDl}XGKMm09pHAl~%OL zU4$^({6&X;`JTaoU%1j%DrCB&qqOPqX58WJY8UA1__%NXi+}pl3+M@c;q4PI6%`5f zZO82Ss3Pz&BZ%^NH=2R*J@T-Mj>`8!fdRjL{)(feXi+@=SDmX#H^^VSNr#*e!1vVU$qQCEh!&|-aOKiUhNZqyhdW}w z?h8Qql=HaGo$FhU1UCS|x(&u2*b2+i;^ITW`J`iYIhQYwtcTalZh=|HdB;*DjI8XO z!8j2}xsJm!?kW=5OfJh=N`=46^;B3uPo4|sW&n5+;YpkrFs}s53rh-je7Z>3xtD9@!)u_xoD4IA z!`N!C@Z6vfer0V%=orJHVv|8+ZUxuY{@zKvo<}9a+B`Eks*%r$i*u(VxzHO-r5Kgb zct9}W1O4Tmm%iYj0H1|4ms5QL@SHK0M(h>fHWad0Lh|>surYoZ3_kH938{p@iW;kg zg&HX6jT1Av5?*+6$Am>^z-(b6J7&egI5_ab1k}pN>aZHx<}`QAoMg`!30R3xR#&ar z&?DwSbD4`N0RfCEH_UGt<&h0BB1?!e)Z4C^gb_anM<@(sTkxm^G0G|2ci-(w& z&pbky2qasu5wlVlt6la_V0cVQ{3NYQ2(6r72ydQI{CyyIc(nNHB5C^BvkI{f3Rb5L zrNbJA^?)v7^=&OK76e&@_Kn>|>e&&j>gX*cp45|?5<*%1Q`|XGR{j|6guTu8U62(q zM+1VSKwvX7Jv+^{tP5M%`Y{yvVhpWKN-onxr`&hs{(V@8RcnoOtlkm%qq(`)$g->) zE4KA=o?Tx_zI^rd`fq625*5*=sM}Op*?S*Cs$y=QSaT^7kySEvs;3{fr|mAd&$2Mw264H^77Hq;j-z?z`(Ze&h*6n z5uQSH;LV$&cYNF1zfOAC4)rFfF>aDy((CmqF6-_F$O5>)ZGp`4zE_2BH3_-oqO^in z7dN>ou+tu@@2Kn^dSlPQH!E!}`Gpo&*eV2a1(k=s@n*e{%6?Zr4s^8b3QS3mVx2g8 z5UojXe52VNaddSbd}GhhP=~+o@)h9kJM1WY`OMLplJ=S!zrt@xNq3F#;bUk6##$Jt zE1;|77zU)f@CG&c+q(}QJUApTvb4SXm4idCpu@KqiIVNzm@rp#(MIGo*X6x_IGx&S zkTogTdD`PW*CYhGrv2j@e`!r=S68uMw!aH|T(2X8^=nH@%cV;z^6BfY%fLly=Q@zGXh|aGYOVU3Emlfrvn{Tl1_y zi_c@goI&Db1`Z>vB98j~uGMG~h^mI#j65D?zX+2K*frldkP4ucVI8dqDbx}%8|!>> zX*~dqF#|YsJiN5D^anV3?LhAg2rU71$;r|roXnK4|zM&|>6251`H48qTWMj`rvsdfs-5s#5Ff-lyBVYWt~+(`R`nYYmrXJwNz zVIsOW{D>LCW(P*PL2gu7;Ap&yfNvLk86(1uf8wQxI2cz#GvFa*&C1WzUo&(9e_ zlmJM4OV+7n2nvtch4k%oItGOl|39?ICzEf+Rp$)03qMtmrd~a){P<9Ks50+|DE~DC z*Qnez>K53Kh~&ueY)qX=*#%6zsks6??@YUq0G;NDT;9vL;$@72tI&8_H_70-p+ZM7 zWMb$-W0(lZHI>ckAbwPc+$^*akME{tD+bVgG=mhcaSXXciB(`G>-`=gMv&yq!3GDXkwG>MpIkippRC;h~{}2lpUB@*pxK<+?pXrLN)VvPn*J{9T9s zM*YBV7in|ho}v2oQo&z&=ul6`$Nsi=$bhe0`G2pRcG?E+vzKE*+#%yG-itBb8){AlmqXWy@T|JnDSW!lyIdj*y)utRbVX|-Gz3LJ*N zlL-8im-oH&(!PB!zkTKHmtXqeV>B+7_)ndJpv&86{$Abp%!2(+;C|+OGzrFOPv*R) z3!bXS?o0rB!p-PUyW|9elj!drVNDWK=y9Sv7dJbi`PDoUH&I3y**bqd>Ocx5#lr9g zgUT;+LCPo*n6=j9br?f8xu)IaNf1qN@Hl6`m<_B8GnLZ;kXU1>3ac-}vsCuvKx$P0 zZYI_UbB@kN5DU%8FQ#H6~(#0$ZTN3L;<%>u!q$ZN22KzC;4ZJiu`}P7SKV=p+`LwX6vK zrq7EqjS74?kpx44KLLl@cLPXf@V8EWRK?Zsxo+=^~dM}uHd;GTcF9;lhgw6;< zJ#3+S_i%82?|gh_F_ez+X`tGI8al0smN0ce_#|g~XvAfa5{M=66Eb40Rf;jCgG2Ke z=xtiwvK1EOnMX5;FXU9=p~h`+T)wcFE^L++fzj2ANRF6Vt%QayqOM5*c9DTrMmna3 zYmK9*L5J4}eT3v02)szGwQ&&mkOa_KjyO&`@)YLOQ;Uy6y7J~W8ud;juuwR&RB4Lu zkh-p^DSdr38)3-2fyfQLq#vXWNtPlfGBPp-gyPu%S?=x@pO)!3Xm;sh_T-l17nrx-*7!L~#t`KAv2yTC~ zr@p?l!qrvL-q9n#su#JY!Bm!8^_&x|YVr#Xzd=mppKq|n_YH#b(3^6kt_mb^c68Jf zeF6mjo1Y&$zUPhq>6M{_T6ZK|wWp)zV}IZNXaDg}e|q7oFT8MI-#0%vbm)-3NN8w# z&HpA}?KQ8_gH&^@=CxzTj$tqjckt1pCr_R^bGHT)W^cZV3|B5Uz#dgXUDDkn(A&{b zQqof*oL0ziNzcJs2a)g5E=NV@gkPW>clFmC6|#4-?~we{cIIT!QGZ2I&9NJTz*Qf$ z{P9OCKVmk8#q!7aik)pnZgXBh4I%1gqPB;>61*PMmoA?Gsnz&u>1pzV9=^OGUsyu?dP9XhyFpRSRbEcZ@NXW->qWv(5 zxwJ4wR5FB7ml%mG39SplX3I8W@a1q&UWeTWG$HlOXjLKv%9a#awNtPb=t8pV3$K8= z3MOY-;0`jTx&y7(uBEdC;fcDP9q^&Ri4;~?s6cBtWyz*@k1tFz1)DWVR>J|c5Q5W3 zIA)@db7jRqH=AXvqBH&!1gBK^94e@!*-rtRk0sQq=A+4lSeA{#nl&kisaxS~OsNgX zH@rX=_6l)SjiI*1D&S+ti9?#%I<7o81kdhF;$IFwJZzy>dX5|CIqM=YbrQDcNh_cl zTvBixnq_8W(a8HqBdI8Z27y)U(jpwUj}pYTaaIz_y@e~!1cmp8;Z$p}%dCjq9w>J6%#6(|T&G~2#$6;%g9 z5D^bq54l!lvjFhL!1chz$DKB6lzORMw&7mIV{)W7DYqIM85|TQSt_Xb1}DzFh+jtJ zGKzag1^Li=aPi{iu&r0o_X$7=U&JbTeSD5_Z@a%MQGjKhX^w=oZ-gEWMO54cb^yZytKY}=B zhlk~K0FL2gf`Y4htA@B8K3`@VUo=tfD&Yp-z)T%zOWW5-@Q23~x$hVc6rUqAEA zcli1`uqS?0n(0=c44pnqCP)XsXZOSfJ@}*OFG(x-@?TtuS`w{YHrB)J?%BX z-y0prI)LyuZq%TJu&u2R8m*)FL5^B_vaM=AqM-91UHaptKdxM|UQeMz-pnA%O@uh5 zQZ2%Z?GQ+(S~7KYjg5_8dwlTqmYD78X_%}{r)=q z>*{J@uNY8A?1AgnKs*j$1%je3A(_dnuZ1;wihcJEubc@X_5|)+Ij%dJkDgD$Q3P)< zs(%A^0k@?kx~k+{02*kA<2**-nK)2x9g$cOR3L_fc4H2Vw5$OA!_+$Ch2k_q6DI-T zPS}JPmIYN9qAC$7EkrxM4)0NXy}J5cFjTxG?v;_Ofs=`dAnbsZkB$3uIggKfpK|n6 z_<9z_7q^wsa+%C?E%=fsg%6}G190;QlW&w0j5s1Z0|4!9=%*GLfvv@SuqWp*xABkMV0cy;3tfnh&vQCGrv=4`sb&iF?eT>y9<`>5Y4rnztTS>@h?_amC;vTc ztb~P;3S1j;eHg;~a?g+#qj7~=w<{Go9HN{zh^9aU*Ra}}|` zEUmmcBshw=D8y>iVoZyuN(5&x3)*C|85vuYMhPpf?6}I6=GCjsqvdzD%13VsFD_?o zAKK)uwaQ85oh|6Do&s1s0v5;kR;wA3=d(G3vzd zdr0wF=r){0s79I=0$yG|Xeemm*&4beyH)lJWiw8~pO-6rGXE72!T<|TI zc9gb5SoLOocWGBeSG!Q+?rwok!QQI^u6qPd>;I|)VkNn`!d8h}+x<1dI(t3_%nG*M z5Xvc6c679V+}?5g;GQ4;P^j+Et)YX*-+JqppM3Hb0=E1e-9rZt_Vj%0_kZl?;uQ+1 zfA{Qf{`A7Xm>}?p=MJ2>azG&XSHHqU8mS(K zy3Vw~o@I?Z%YNa^)jU@BsNdaFhW|JrqM6*#QBQzGFk_0rt(d4?Id?vC4;T2}MkW9(R zK=#wDPsr~kJj4RQ4zJf$m3M0b1%$}CoFfBQtw41kZ08)C9Swohb*qKStYt?sZih;{ zF%q_>0s_fVT8w?$g>u4pWPKf_yVN-Qke>lQoZ^isfV9x{;94~X$bi`DrRpUJ|C*%qY4f`K}xtdE5aTu(Hb>E zq=2EY+`T#tUqL)Kx5n5+BY7Ixl2|mS5lR_Sg|n3qPBE2^qOBmD0Q9xs978n(_9(`J zR7##=_wMv0txaU*A?8pzo$v0QPskm@PEuh-cS?XExK>CG(M4Cd5iueLTrQ*u)~dal zg9{nm57a%=*o&LB15y4ECZ6S(H33)f?~SfOteQ1_SspW$U6fnFc&B0vXy*1;FeZlj zB>>eV2fbNP%`9_C1k}FxVkWKSNLdP#e+=yvSa6D&SRqv(6PT?iLtsWTBe7@*J5^2>958-hte8El_pFHUtTOsgPCQ?0%4){i=h~%(m~aIgWh8&w=n<1a}!N!9^-@+ngS{Oq^+w};IOAmJc+Y5KVzopFx;aPYUi%fxz zY1D`Aho}A;p5zCM<3*Jtqn}+5Oq*(pJ3ISLo}ZrU@1GbQ?(Dew1ojH}E6lRiUGV80l+czs~t+Q7Bj19Dn0Ix%7!>1D!(U}y*C&Lc?es2Ho%=`~foPtuyi>?s5R2PE|yQ1jSibkwS#5T zeOJ(3D=7TJd;7Qw7T)_7LGc#wQZQ5i z*nhY0^4EUzr{6qx=Eki(+KTi_kANs5I`BN*$Jrvx4UJ@3{%TlfC6g1{%P zoOtIQ0pqXkdf_Wq4($KQ{>yD`&$P8&ZmSXq1_w6R<*QD4tKi*%g-5`Hlnis;byoMe z<)-D+UTlHM&C{I?(OPFq={He;Cs2hQiAYN7=Pc&RPE`J5veSxQFXW`R-MyOUv4r7oG8qqJ`xnWe zB`K3h3Guz|yKcp%G_?-h6NlS&^RoA}BO?G7iLP?+jAznWE_cLwrhyK_?QMod17Ih8 z_7%Pj)H4Xgf@eqUzh=L0Krk}Q0z-(ioObA-QEr4`aWx4n$IRfZa^4`nOvt2Exh4-= zl0&Ff*t$I_|FI+H#?#A@z3_}CU>$x4w1reEXvAiy zw~45`$lhNIIVeW5+PO3%@HJlGri%)`Y4Av#TJ09PiEo4h3$4s9a@7i=n=sHeL=J8= zHZTGc>t9fH(CS5fA{6>^ISaopb3qE4D*A@gC?kB8ZG?+}ZaheFb_yP1@^V9KC15_a zAv9I-m#sp{I<4M9y5fnNDR1pdq+RJxH&yISawq&xExq~ z>0+6ySWr&D7!g&0>jSstGO#s*Txu+bZOygAvnDu^-ZaM72;Zu&hk+Q{WsIF|_XckY zPBt|mt&-_pCQbJmE>Euh|BStVOq+MUCQ7i)ITIbr&^6v4*pbn^1ln4$_7EuwTD+di=c4=kxp!GTz#;jL2j8 zzhC!TR%hjI3-W>|2Tr*d??s<4qBbBhdvXduqEKlgr0HyPE3;jLg?*Qr^8;$(+ z*Me`WRWD%j+^uuBh@ZD^@rQ%0WWygItN9hIal?0*8+q=fJAk;s!Mc}-hj)m8g28oQ z#e?CK9GWvj^4tiLoUu`U3COM8S?RVuI2V5TH~-~7!!rEO|NQ*>Kl-si@HNV=YAy;M zUi{7QZ;y<-tOMvUT>iN^6Arm_=C-M`uf@H?Wb)8nt(BW1_I|h$K}I11?iFSj?>ql zJA3xkS6_YM1%cnwr$7Jv`5(OhgZG({efDbL>V>}-^8K9ra~OW7pZ~`Hv!5Zl3#(9l z`+FBITt*Tm?8x0$F9_qhfGjTW)z>`U4PbCeRry)B zG0C=CtGh_361E9lR-!~TbX+bIGAhHPrN(rdt;ybB?uvQ4|F6$jMCOH6{!mmCVhWfu0T^zk-)o0h>a&`P?Adk0sClH@VA(vRGa6=%`hFuNTW>c z8Dobr8lsq0X`&wot7Fs(CXu)d!!H0BwGc^F1#DE*75{1H(hxGIkoQ~$*-o+T-orUOn+LS+-7qmh;m9XutPP%xJ zEf-6IFk_$%2uAyZ>K$5-uCEu2#X>`IT_85c>LesYBS+FGfS%4Nol-QXg*mT(2q!P} zS;@6>q_$js40KZcg4_p3@{0M&g@a%zlNuvhgA#5?oMuO$aK=sIuTf*VjNXVGOS?8V zW0AEj_8JO6(sv6z6X(XbsV_d7_-d3aPqQ{;(np_?z6Nt-Ro`U^@zr zo&tY`0jmU$Ee2HpbwG;0)iP=;ugtxWP*KhG7zgISePyXjfiB9%4~_x277}dugPF&% zbR0stMzz-#?aO%Ctz#%iCZ-^~PV8r!9z(o$D4d@UWHK2c?aq3~CLHMk&Sb^vV3j+gF z27%R%`vSs^6O9v76FRtOn-?D}Pb?cc<|h8BfBv^}%TEm{{ZvQDDX6*XX;v9nhFLjf zA)<3b=H-Qd0%IPX161B`L#JWL*?6jd(q!s?^0(<;_2#+d<=L-X@5^93vn(W-mcJ3GaNZdIv+mA!LxBFYU%z;_4jfn>gf;%i2cW}s{tH(+55`QBSZT7wr$5`DWhfS6EdmHm_Ey^wMOkcU zINjcU_WJc6+s+QSz?eYyIKntO1rFc~WxTH31*HtY-xKe@AYZ_fb>jSq^Us|)aUCn@ zv%k3f+|@TP-o1NK-i*6-q~kCN`7gc zdBVtMGF7owy&nIxJovRLIt~yaX;q0Cf~6=61fk66t*knJLJI3zMaCpKC=j@5c%R{9T4o8bef8GRUI zU(cUYztoYHSwkG`i;p#|I_*A*~~b31?pXgSe% zT(Hci(ikwz9@`qfrG{;Goe|91h~NBE$6cvcf*LrH*J!%fkr}k$V&e zYn+rR8R~jPD-|vuex0WBP=Grpth%AW)=Ou_U0dh0esDjREBj_zH&I^jGl@&~?;UNM%9uR*q7-#bX z#b0^sb+IANuaslTUBrJNxr5k=>xPxcF#`WjHw?3(k3L`x(s3_vgh7{ibR!9;hoTF* z?V2WYeGvHCxZs?FDruRG^h6{kUSU={y1alHaii`G@B08XzHNfQLi1P~?5BOWRqN{& zs$5?`q}}R;HKV(4Sy<>C4%7HRrB2QPWkIt+BAN4u7^|WBpghAO#8FJr8W3C^-+yEv zzAw&oU|ziHX?=qOaX5??nfo!f{O$PI*yIzZhKtM=3F%JZN`mQLZTCCO&A09diq9@U z&fKP(LXi{Fy&9WTx)6h5nfFGBuMho{NO9wswVED^EUrjwU0Um9TFh3yChfVb|n zLUJW=L*^@xqX@77@Zh;~%0YB|Bk?653of4|OcUgYRCpknr+{Ag&L9~kC^V#8a(7II zvDU5AsOL%i2we+Gh8BML$3OflNbnEe9QOZQaHi(XpS*hF`Sa&bym0ya7cYMC)_?p@ zuaM848zk@oN(aNJDwJc&aTMJRgZz&0_#qX%vIMs=0UH?F@8WCAJ~~VKOeRdwuc!Cj%CXPtdntI5gf4L3J`^6E@72Xxzed z$WkWrtx)Z3Sw6jea!VR{;aYpwImH+R4BK;omU9}Vm-9^lumKLtiTZZYyoc!kD-1# z#2grYBt~KEDMB4(7zt|qAhSlvbopN7UimNzWN%3E`C~>{eN%hUD%0U0`&>THU)J+M3 z&gzgq88Qc{qY9zFN7uNpj3IP$N66qe2N_$T@V6P$XoNdIz|7e!^coS8oa8=$3u%tw z&+O=h<{D5Z)Uj1t5a0SgKy}p!dr`RggOC;nJx5u!@K5<==N8tytrTT{a8ghnKLBcSkqUe72hSk*4RupM zOX)Mn?a7njV{``mhBaz@jh5rPG6M@WE2 zK$Qhm1zE$OyP&?phtIt<@=_QaSP=Mwle~<;QE_O&w3@rGga==)`Nx{OVL5~x7ch)7 zJomHhn+G?#gj4MZ0{h|?Y-Lxiu1txEm6n|Z5{u=-tWeki1P21`XsnB3M2XK1I#@uV z(UfCJm25qiub+M4>YOlxRw$d$a%~$}V7I_W|ocHCes|e-o zOURw!Z~o325ZGMB0R+N@A(v1y2vv3p%r5HCS5z!CN{%uv4#%t2Z5NVJ;*e3zBeFss zYGst>aCh%(z23l)HNn(weJbulb~ESEJ}ATR_i>1nDlAgtHXu7&5mi?qcy6@F^>0Er zG-4OwA2S(!KCWJ&baup}m`9uB!FtTQ_YweLJ&-L6W06C_uqrH0`2-=1tWdO7^gV*> zJE&Xm?Zu12A>&BQ0OK@P3pn#Z`!g$pksGQEU1|oFoIIje@FWQ_NR%U|no03hUc4HKZ;B+lxi;+k%SV zP;Evm_*L|zL}Ic^ z)iUNxxpn);$mGznvEkZP%44N?zDNA!_E!aCMc3Djf}7<$lCYvVL_ESmCEwU{&>+*s z6ien1qftn&EdhG|B`wz}oQ<6I_`E@~Fz#;gBv;Cqx2slQu6pxd=FxFqtLeNT zR>pXmR;4viSCUc;mQj?j2AC#XK6?nlCPD9WFd)@x<6{b}^PsRyd1f&o%NT&ac|bZr zpF?Q*bD$8IYh^W%#%~Vr^Mi;2WVIHCuQ*a$LoHD=aAm^TArN!tj-UrR37ZEM&m00U z0Rta|5L^XX$fg1m3eAo>Lv1J#R16W)C*iyuZDmAOp6Z=vk0EMI5Y<> z6vbiP(3bw7P@IwUAW`pHJQiLSThq@dxC#>Ze+u z#s{2F4+@;#xdTcGaK&C$AVIJ%j4`m{w*c@D6mjN#GZjU_Ai@gPUSd>)K> zfAf|g@aONJI131V^Qthy^XESm{5|{Qx-c+$WaOL%x-YRR_*g(b0z#VfY^WkU8QX48q1OK(dRjK&?Kd{|y@7XY?hNg1&{%#UH92o(~VfwMPvAc(Tr zuAhG41bUI*I&t>>7f$@$57^Ie;`z@%KYw0$@N?}KyuIDi(--}o4a~WRdl?{7KV3gP z?e`1Dc@e{f&I7M}wW`nTTlSw|eOv8Im=12geuJ{;gIF~F-FLz>J@Qyj??V@tu1A%A z)D7dKIKE%fuOcZ6vgf!UZ3b!38>_4P{n_#H&hc@abv&i7270@Dy%|d!9ZjZq#dCIU%O4J``ebK~`x4YZ3AxFc4+`CKt7m}#0+xk+rbF3WKN)s*!nRX=ff!^WX zjnyYe#>}t`3FauPTu{Jqov{W29EYR0cRxYL6!N$cJe|mv$7*lP<70lD^~BYxx7YI; zcjc@}6tJ!!DH^0YZer@QMr>IdWD)`>^b)mJYCp@uqqHyT=s}xCDhtan%LXkl>jJWc zF#>fNy%D$RQ6;#C5+s{GaU~A;j>a)FZtuZw@JQj7@`-9B03#(DD_BxgG$7z%DO2QL z%x6@FC!7U2HYHa;wX_@^?SYh&`O2_=!arnVFt;sbq{IpT^BIwlQARL08n_S|&6w%3 zz<-><*G5$g$UHCMp9Q2|m6Lmf;8Za!3=*f=BLIv6u__)!lQGW*$;yW)A_mEY2bhao zBukZ52`@?=qKeqc`Q(yHe;p%8flyL2B|JK6%pypWZN4CoF*R`){Iy5zg<=ED#yJkL zO-Y!NYt{Nw39DmjgiU-it``J%g_VK=+tW$%<;cBFj;qKmQ6_?61rf}slNOc+P?QLU;&V%T%n_s~4A z;28Y;%N2kyiWh5d*DM3hf|O!SEjSHB3Q+`#W=E$9IKnMMLRTM5+#GmBlhPs>?p$bD z*yY2KTMNDbu?lV|ph;wO!U@=w8f~RxNg@wj8^AH@ijZW^1MEn!i5^q{#p2hl0Rg{NM#a;NhQNJ^S2=^I!b& zi}UZ*j9||UXg~Lc+BlyB10Ff~hBh&$_-aIfv$|w>gJW@kFRu~QQ@jEf(#tQ`z4DR} z;a32~VZmC8o`KT%BQSk(geUouaA%EFLljLK9Dchyb@2L)mif+ch;ny?s!V205cvXC zv)KgX(K|@MG8R&{(>5%l8d65snD7BKZn|lrYsDxCjG#-oojwf_7IF7HhR-i32tH2` zzI=IOH{ccEL_YJjwHg4d2<}wS4ZMxuNPoARwS6T4P4~t_=3MEk-X^a;ZpzMi1)bchf`*yhKs7NwHb0g}*D$O*t8Vv<+r3-b_x1M+4#ILQ@Sgc~cCwTG zI`U%mR^og~7;~aO3u5G;{CZozkF*VR7Yo5>4Pn(A*wqV|13t;gtE*Pj4GK@bIf*L~ zym$xDxoQ=}v0muy_Vfywm%DnmGsp(%Qx_H6F00quI}Do@h^$;5Fiw&>tT=Sf*=J5( zQyfF^&k{Y>iXgQEC$Rw`+3&PkB`U~;;{p_I4z>)!Sd?<;t?k>#agaO5-GPXQidrae zj;5|K@d}Bg1W6Ebd3;t?0$$;+RZ-pq@)+X|;m=;VYOt|IF%geqYnf$)B&5l3^RfmB zbqJSxNSuX`8nx!!I8l67QKz$M)FYP!&01NLisxbg)f>0oK+e|x0(0;k zj8EZSQd{2+=cA_jR)VQ;-A1{@&^d+2bKGp^i>eP|v)#eDK{G2TaM42g3mOdYqWD=Y zfluB7G|LzA%Rwc{!e|<}tj(oCUEcsZ{(z7*I4BT|dx4y46c>VM1(A0Kxv&juOJi-e z{l+nZGqz-;=B>Z}^NYfO-@9;C@b~}P@*RPX3qHR>hz;{M1o1b>iBIB3pvzEo$?wC2;F0MI z**vU1^PR_W_md`IuezzMhMPM`;A^;ILoq`GlA=4ug#zP~Pu=aNkmM^@K!F9Ne|7rw zb)ov_PoE$dV+(x#{E5GQ@#2dwo^OXN$%=eP?>5q?*jtNQr346Iwfkb-;NALecVfq6 z>UW_)u!{QMT>)B5hp9uV6%1~97yo&Isprzw?f_2{?(=WP$qLZm(NUOY*l*_OalG&sU%5 zrwSM`%<+A_HQ=qTBDQjW-vaHpX;J_JrG`~EBDM6Fs~8^pd!ZzEqe#iJ53q+;ECX59 zhAM0T##u0*^&JA|;*JF7-lcN$m)T3u)bxD*_6(xajp6l{=SNSjlJ{ffPv%O<6qb19%CFc9zSV z_crg9lPU0C#6SxUeiS9q#qt)-5a9hu7;y_s&@joxLqYIfpi^FPitWF}2EQ7Y1< z(>NXhSow^POaFk+pqrF0m!CBNZf-{A1yumW=xqQ6W~Q?$_l*e|&6n4bl$;-~t!-`r zYQeBKmC$)}tz1?+*~csxX5`g6!==}9#`THksyIVX@49g#@RkR!rZ^F}-@1YPsT|%oMS_$O>VQmEw zm{5=738Aloi&<+vg8F%D-%4A{DKX=Uk{RFhCIeTmS?g9FaI=K;Y_ zYq>oJ0M{-psoC_wL5(W?2?o{r7vQ)&F&i?>Ih~D<;PIIY8JH2>x`@SWJt~ZXK`s2M zQFthd4p;{~8gl9urXJ3YLLQANGR#LpaShHk9lShkPL%S_jw%n5a97>jP*Cu_scjBJ zX#vNMkQ0>-S`;-44OJF2&Vkf0DKsfOoJA9Fhl1DEq52NPsB_k-qhe}q6zN{4 z8fSGLTu%V?RYfAzRYZlQ)S7}SC`<*UI~lGj!MuTbDSgIMT>Iftgc3dj~7 zyu)cT;-SOO@RSIRy)O|MhzK9>wYs;%&(u+BL>vzDYr^Kqx|-)c{p*PzB88&;^7%ji z@sH2{{cm0wp%NJ!d4$ZCc>YqDi(dd~9RYPjfiVsX^#6d1U~R#RN%F`uwvIjU$T?D7 zob*e=bb-^@6l)4<+&c_TEDwE&bLexg)D2=CEHC$>*U|}M*>d}!b4)%Zxz`m~FilPp zkFypbQVlx|g0J$aBnZ5N93r;%B5+AaAn5Xr6$gI){1-3&^Y8yC zx+1y_ezU)6qhz`l znQys$yXE$O{jZV3c;At=FG0n4zF`EWgA8o!rMI)2BN zDPpP1g;K%H{&yLDwYp(lwQitIxwjYN?JBE;P2;{S@Us#>^z8{+_Qg%(S>QM-qJYFc zloAQkR@ondoEA)kh35fUK|ZS&P;%(d7O|MtwpWR{ab#iHtnC*BN)rMEH{~oHeLatDVoAjKYu;Sz%&jpS&q<`PwvYyrSQ3Z)fEKJCuYuTe8L^>WLB@ zPSchP`c_6B8B?#asW`1dsbU=PW~AOqs5r{8yu*R2Hq}OkMx>Jhsv3N64(~EJq!PBUMI?k<#46ZG$4HzlV%CVe= zo0nr{By7-WYy?wfROBisZyrz{lKtP>8$RCVFB0v4oI#?X3w2L(Fd*L^TIMDTQu zF6f+)UfsE+0kp=5gTbJDF#)p4E+sRD&hmq)Q&XpOApur7N(eQ#2HnELQ!W>rw*vzM zPX5x!~EiA^<@)T23ZTA<6jf)Q^9=bh4s*s7x+Gh2I`m$9E$s{rh*TX^k)gS{=2pnL4WqLgk2W?oW_3*r z8*x4?l?I;l_n&H%i;ViAknZ6_*pM0<;Y%_P)vGg7O~G=`;aeXtWCZUGZh%`7Z$Hwm zTJZ<}xW#ZvPN(m*@_w3ASRi|_6&zYkoPow+Y>O2IW};x3S?AZtS0)4*ES_ z7gWYj9c=)CGYMdGJt(X@gCMES&anf4a6Vade766cb=R#!=rXs+)eG(>H-T|Om~*eE zX~R{*7#n~2LBF|MKz2GHhYyD_^>U*NtE!W!Jy>6_Nt%?3D`j+--DnfR~-gigdUT@`a z{IGxD8mM{+ql}nFSQa>GRUc37?5LVwJseGFsdBgL6Y*sEFv&1TAB0>?F=2%w5;e(S zDMA}JMKLEXX@hFa7=-d#EOFrH*jU+@=n3c(S^4WLo8tTXao;!=-3hC;y$3W`??9@g z5jzOZd@HuNk+ElZ_>CJko|a9*W?6ZVVi#iSvpB=0V(jsQVW`p`xEcsp6N=z#7GEQ~ zD^o=b#kshRvctg<2N@S)8iPbhuIl8XE@lT~MyQrtqJS17T{0>7#P(g369HR+_2@Ff z`q)Mb6f&J@$5qrDj-?{4$v~z~s+h~_r9fGor^OehUF=Nl>vpK6eEI7gh4;a-?<>cBdi&N8~BfF$kxR>yeb+3H#IBdZDGSc>8s6PptTUFg%c-rS z^hur(r-&F0dDNx=L>by@VU%(<&l(N^qLfO16pKaj`2zvE@(Qx2)^cb>+G6;XiCQb+ zhseE7QUYE;UR4g#?R)uqWhI@IFC$7AWsI&DNNLx>eO0%EAY@BzWG!tk2m;H=**`28 z3qr)ThI?f*LIontOY$%QO^(4)KEVm}55O*p8Xzg_#&2*u908i=WQtVmv!GHk^V^?}IigM-@q z3Uykbyhxg4`EMTIf&63n+yd}lI#^LMFv_x)c>2i4qIyLGfV+pzEy9GjZb!Ky2O zs+>ka^YYZxRHF`~SQH%O=;-LeLSs|?EiJC{e@gcn3e5`Y%PR}bu0CwkwHZQ9 z&^dQ>JkSZ)Lcfi~E3vjkIF z91KWS08C_7NQ@0~J(`B(@@7!bTE4wl?>FOp9%Mq6Jm3zAF6ieSjX@6%aw&|gNGO=k z4ZiYr9VgN!&kf$4hV%(n4JjH!PG1`Ggx;p|y1f?v4)>Z|g_=YRd;^iM8M*CDU^;xyW#g4g`2#;M!8EePdB zKvu%##sU=!QMOYI1hRC{|N%T8cbj6hC7VYyqi)PHYm zz82eU2ejVhLyV0xxDr5emt`j|5JBQBFkALzVLjH!FCsVDFr3=Sf@=%G?Xgy?u7uBr z6*o0$n10(T)}DX>r+|7YDpxorQ(O>qPw)>v$QrTgM?98rXdks$HVxntDr5sO7)D>z zl=el7pV=G`Y$3+7M`*dAwUKcgMF(q)ftzUzloigZfM*0{;AtUjIs{0{E0l|ZfK`yS z=zzl*>gVX5z#u2X6nH^I4S^X>yq(WjwA+i(LKbu5y`ucVb)!5RiJ_b&TPe~!Vak}{ z7EVU(A91{Dk49rT>t>17$T~&yHuJ9L{tJ#0=#KCnU8Hnqr&WUV=f(2 zpMS?LW{PHnc z6Vq4*r!m9kjyfk73h9`Ay|9it@PctG-_-?6ZGIC{X9S5by_zu@v6amgMrN^_P>}K< zPqPxvY71>h;ME)^%bC>Xm$opgrbrnJSYe)Du54|wK{!HYj`)q7ToZtmuPiOK+-~Wj zIIHD099(StU7`UAZYoX5tY+Vc*bro89<==QFNnWfi81#I>TMPzGWJ;$V@0USf@cXN zII>dnx5&GAU*~M2*JlEf<&L?D31&;e$vZkHC>b1@6Fi-0J7ca_sw0Cz81clPI(qvVMJP< zgZN5I_Zl(_^F_dOhXAifl_!})I$hgb$0EuUmAT4HLvu(iycuX6L;{v#!63Se9CQbV z47#a@jRaua-Uev42C2jzlmiQp`_1+KA;0iqIcT@%jK97Cz&zLYg~cDA&M zJ=xzcW%{Z|yAL?j&wAvp?)GIe8Nt_wt3sZeyeO^o`^|!|)AfSw zZeg{&2`$Hp7vx-6?~FjWTaPx03W%}X$8FWKk|+wt5Ufl3%)U@n%&dop5i;gJViJb{ zIR@_n<-JFGIgLuSci4}8x7<&FS|~Jwr>y(s`5Ui~#nAS*zpr96h13#&;|>Bal8&K_ zh5!nCWL5frF|ZGZV4onPpc4)oXm!<^vBZ;vy12#R_)M;^5FKK*?I02gy@v%J!-luI zJ9FIwK$`*L+#XU?JNOr|EAK4BV}3OKPeH>Z)OLXINkLqYp{Dk*t0X?Li!PS^kf z*8}oiv?mJdQF{Y&r{$$P8ZbxCLS>y6yeTX6j?~WA=F91IIW_~Ju}kGFI!zxkn-K+7 z*?>$4E`o0&N<;8Y(8_M>`M7|#U^Fn;?YORp=9soww5MT@hH4vBJr>(si7{t7Nx?L(U<`0tmRFB3j&48k{#rK{LnG1nkF;(>VwMU_w^HZ>^M& z!Ih6yOQ2xwPf_WR7o=TNoq$;QuB>R;9c!C%uS*DzRymZg;=-S#AXxBsW#!V!$|hH~ zk$ZULT5kPMAO30mu^_O(>+P17S_FS!f~@&_yU@3A-1xhMv=6+NEzP2=M9y82B^)@H zlheE;PoKNA#cPX|$MS4Tk!Q9fV(>u=W43BQE{Enq@c6b4-Jh76fLTaDuMuR>OzIh0 zo^4z}MQ&(r?!g2Yp#Tto*ANPMLV_9hoe!MLC<3NJtC`;1*5L8%n37_kuu93o*m+{= z;nc&2DBW%5c)PXP%wOWc9m^9!vUSe;ay39qMk zEU#=)6&ZqFS zm7Asmr8mAYKZbGir2Ih(Ulzq|v~L!Gau zCD!LJ{_@4QelmTx?wbGSufYY3QxDe2B>+kzx;d8i{^H8NUTF^?FS2)d7#b$;1@Bew z#>3T8;z~AFyP33AH#Rn^fk5w!cX!oVn(X|G+_rKB;cesG8w=?Le?FDz&yJ6cb(*5_ zeSy?ILEy~3AXn4@>69hzV2K0btmK2rw4dqAd?uF|8JE8D-G1iDlT)iz_pTuEu6uT7 zX4GFV5bXCf&8X~5m(}VH%v4vAy0tI32cVA|F|5bvx583HCT3}nQp~ zx1t64%otn?5TTh6O}G$Ef$FMnQ)oEMvIQZ!SG-~qw3M%ec2xvd1v!f-FsSG&Xh!mZ z9%r+YCODHSMF6_o$Evqp5TG3%_D|PL%U{rISF70Z$~A=isK#G|sE|*v@-4~9QAQON z9yMQ9jfFH0VFhhNe1{KI7X(y5M=lMFCUz+$waULNlg5n*xJ+SJYfN$aoQTrjOkWt< zi=!CDI2d0oN7l>l_lh=a;JttzoER4XM&phtKc7#g97TaA{5M%-rj=Y2#DFJqry`L% znLPfF`AULW*N~HyAQX1$YsPr)?@pTi(oQVGjofdfKCqICB(Uv_D?SZ{>`!&90|UBe9Q^$ctL$d_+mV z3g6^%TVE;&+tdt3h4u6nfM^q`7ASDev#>X9-;*nYC^M&3%|cGletq5kr}cHFMsI2B zRxXy4Dk+0Q^T*2EMAa74npL8e+@8)qt({lGeM$&0hYIK6B4&f?7H#cXNb8nnz!gPG# zlxs>}0eSn}EYrPQjZGcUH9ME(1;c7|2kg2P(1*i)AMaI<*MaVddNN&rBhOq@HY*cS zE5*;M{P&%vkikDK5Dfg~%LJ(%08YqYB-d5=r9At-86f|^Q zz~F!X^2IuVavbxOyGW?S9J=o1x)C+p=0Z4p*FPN4N4IX@zH#IAcbP!d*$HWuX;R5* z)Fy5xi&{e9Z>JHaSUt*L^)}9*&qD-#UJ&@ax}EqO|NP>Yzx?O-e{#2OaQf$0-+OOZ z0QfFyn*6^(N{JtUJblqWeBr`Xki=eLSMoV8q`0?R2x7OVYTb5Sku$wYvLV+}EEGY77=E7`rRKdLjV5-`{V^9QAtqy)$mCY!ep2d6pCH?>j#8p{>g| zULJ!p2eWt<8=-L-Ma4cOKy{)U*!sIn!V=#xX5-Aqupsp+ZW=F-n;?!oG|A-+0=O)~ zF9m`>k=Lcyle7v>3j*&}tsL_s1H>0E(GOfgPIAvC$f0!2JrJFbs}cvOinBJW)wbs|#r0SU>r29%g^*9ne`R+s z%HNRu%>-tI$s#nB0MAX_FMw}EeMPUK|l_nT7wP$Q}~D(5z{*~GZuT2(rKlwO2??E zPW#XhyjQRb?FIf8iw(BZz~Mrn$l3H~xSUX{VsuOhGhQ#AzTR^g?|{|-sYVNXcFk;L z;xh|c8rT12Ez;GM*HWUlw$_k#5n+~=(U^wWcq_8CnWw=Q?TtokfR|WI2uV|IKEK5& zGxTTAmeE@B7TiIFb(pSj6f9u#sN#i2&6F16EO#?T*VBMt<9b1;^~y>_t$j88r2v{b zEQCu7n~p5C)OO`r6}7pUwy&>8*X`?RRRc`hFA}69wYTS6lydsuIOrM7d>(SH$R<=` zcoHD?!Mp-=_AH_GSKt}Orvs&q<{d!4!Nuo~5x54++Bp;lHV4%xn4!swiyhibwQZsi zsw;uy`^&nCcL2bQo5G6MAVA94iy_j(P#dzG>4?R;Slb$7dn*qQA+N*Gc3%#^sCe-5 zK!0h&1GZYvW^c;7}G`n1Mj1 z1$LL69yo#FG1j%2RXzvrfOId_iWnR+piptb$qNtFprq3^>Lwaz4G?KB3OyxfMX0qI z8(?^xg~mhBZ4Mr%e&L2UDOiuit-xjT;4Ki;lXsds+8P^YXGcfn?EEUo(&Op&E6lD} zKn!*ZSFu@s>^FF3-LoOHeC`VXAIEi|+(B5gzg{V|IDJM*1K@a&Ixj&#xzC`&K?YdX z4Yz;z>93yqzy9sdFAggDtNl)uCLm}!tU{?Y7$*@0MMk(sFbIV;>8{dfg|);j{_bv2 zWk?|<6B6F(yMqdq1+0U2>lA?wBP&z;G4CtCe1(Fs5kzFw)Q}b{QPv25Ji|4?%`Tvzkvdw(yV-_vqYB%j{?pLbvNe!}kKyU63<7L^Eum1?*A zUCH-;?}o5q;bWilb`N{2)eW!L-82KAPt{#@A6Xqyl)Iu|B5^b$$C%k&eR6ZMbMj`Q zdbF#zWR2OBz-lRL%I<%c$s|-6?oEN#%<8EUXWG{N_;|Lo?H%oPuX2*?-W67gjcaFY z9MrnH3cXY%W66%2e23V>3YYE|*mY&(U#6_!ip#aV;l&VoV|5$((%F8Wsq^3_gTtQTZ>R#CN zS@yG8q&dcY<#JS*rB&|`&Yh}Q1A$LI!HiKykRR7MN@V4m!-?M08pzi<~LSj$MeEks)aT|$fZl9)hKv29nO(tGwjlJn?C za&_P{7SL&J6+G<`f(v*Jw71hsrJkvX{4X3cvbiaokW*uH6l0UykV>WZiWFfZ_!1_7 zVl)RZCTm7!v(VP4YEfKcr;;(PrqWb&rCD!eDil(}Gwnrrv=H7Xy~~i0#gQPL6nuos z3we{dk8PK)U+=k&ZfMoSh~g%w#$q6lLbCVv@aEd>{~*AZQ`#sKx#}7K6|yh7v&wWg z<*;JrE&5Rs#Pu5?x9OPj9YfoV$u_tv10-Xy$5=cY(>dy{i~_)0s>UJqB~oJPmwGJ7 zX@WQmtT~tdlUz>ZXiRFEZ+SYe5Ex#d+S+FTy#7sW={7R4@HZaWTua*p!11^oN|~4( z$#JtBqV_muG9NjB9BqZpXgL}XdSxrmTH)Gf_gRVM@&_$cdaZEit)+3yGo@om==E(} z3CJaZ9HU0~tpFn$_5dni!)+nM8OBEmJTRZ*9Yid55N=s&fK4xBt;`%8Bm8*?Kr-4m z^_AOW#;Q_fLN+6zvbmn_+z^CXZO#dS;W=hQb~qoNa_J29YGkcqssPp>;=G(=&2S{h0Ge4LZn9`|`Xq5wkh44^lxp7&ZNu_&*gzlovkaY+^ z^Li|h+3OIRLoAoP4s)wYl@|UkXE!yqFguEuscSR%6>j=*{s`p=(FiPzpJCHNYR{OF zJaRm3Zm#bLoiPB3Z{dwIhn!8QOr9AXZSpjE&d47*BJr2XECJmh5g506^O>f`#>TeS znqF(_R&aar)*Th7B`>g^7Xz&T+Hh;o47zL{9UWDDRMcG~HCi#;p#SRMzw__@_d3<3 z^udTCts47h$3OaFGEC*ZBnY27|F{Qk&P7|d5QKUh_mW2 zpN8KFcr4!v9tQR{pT7RvcYphC%RD{|JIC_^xh!xoG3Ai5t=qT%lKa;yNKv|c`TE&c zU;W_=Z_$AC{`u!W|LYge1AqVeJY>+nfARc}YCxp?KOe4<|ND83|8DTEzx$nPl^jc6 zlz+wp3cH&ynr^17ftguvG~Gw&T1#_rwLyIiZQ zu0)pk{;9}CfTCN0yCU+WnURlVMN(sbPc6N?|LT2TYuIT95 zMrI}worPH%Q}WNfcqQQV1_D^cvg(OV!ljfC3fL4gru8L^YB5xTq+vSV5z@Yy&zp>FX#i6|tiOUaSxzf%(z@Z3ss-^_ zR0V@F*SDx!KsTa^6%L5ngr5l(-twVciL#>1wt_Sn+ShqNEGF1z@wZm<;#OyyxrRbp>U${9RughVXTm0z=~r7xKnyT%*!d7%=R&lQ zwhI+SO%nFqv3yrogj-%B^oO9tct6nr1_5~sv zLY~pt#)ohkef#aBQMMnALMv>phr$^Fl5=wJxwiXlbD_}v`}f-f_ytJY42*IHusNNS zS`CqG)4ki=ytsHD#JOW}2t#flu}YE@_?O4r*ENwTLo;nw`ItIk$OBW$5MT@T&vBb< zsHes|h(xQ=>7a_(aJC_(dP4ZLr(UId3EFZw{cuCaA%K?d6=E0C5MD3f6D1EJkl}h{ zR}z3JmO@PQ;{CQZdC{YsSx?vV(Yo2jcXUl{O=mieQ50}%@Pz#6QWgxIrc@fsUs4e!l zgY+JgEz9?VLI3cuMqVLO7Q`0lnU)KOpq#};fT=o$JndkRW*I-#U)T6g0o;0Z$q;I4 zIs*|m?t2&PSWfuuLAeL36nP6%K^9g84q>jC&mF6-RojCy5}#E2;N#m!c)B;xcNls4 z+jrk>sU1U}dp@r=zo<|bb|>_><@R4Xjiv343m3eBtHXkhtf{^%z^dhgY@ zgbaWF#a}=D;;*0o^~K-+^3S&aQ{GXiuY^tgyt|vOqwd$d?h9V8SHAOm+`FsRRjcdf z&CZ)y3+22JGkdMBs@rYNluD&lWN%omlu9n^Zr^v7)P7=hcek{kISR~dxCCNvvVIUg zppA@W(v)@d>GdT{q4j!KX}@1C9xNr-sZu-&dii9(l!3L#G|o(sLaN&9@viD^mCUM~ zgnSO`)vj1TH&v+!r-k7P?6u4`N7VILtb*X^NQCuQ{swn5eQp|<;5Qb==ysL*EhTH< zDqOb-A&=Dy-V1s_zNN&vdqL`L_c_<%soiVO&KN1N3T?InCIAbL9f_coIMlE8Bp;ZF4QT)C(t1`Ou%#prp`pEuKjC1MB zHrTBZIg-OJJIOu=lQ26IDuDSYsj>$^)wdCMR_pxMuok?p3#&)U=|3nu31%_!&%~8O&0A9R6Psr zwcB&hP#Xmtb1|hiRy$X2YLA0I1Pj;JAjU#zFB*DDiPs2rU0o_wat+exr-F!#;e=uL z;NbhN1UZ$pm>q8Bt)(uMBl3)J`^LDAY_A(FsBX%mxG=J|vPC=8ibjb6%y|Y{)*{AZ zg|XJTl`ofC7;`C)ltVrxKVDhc{3(XnU5p4JlGiT5_8h7Gn-Me#sVYa9>kvqtgXWn? zXbvqqmzSMwx;Cdl>n0GS0}JjTeN@6{L6cCMQ`gw|)k7BqPm=>rR&~x%j$h4l2#7W> zvZjzvvdCu=sA^*oVu!hz_$SyrF(s7NQy*-ms2FfV0T-~FQCbv0DP0$wQG(CdqXPVt z%!?TM03?=^EL`0N<5|^KWRFnSp~RdIgmQ38 z{XP0>7(6)b$@reWj<~G+n4mBac%EL1&as2en- z6$%tZjE8raeq7ba#Fj)kIS8C>5JU?$mP$5_IZOhP|v(X~)4q*cB% zC;vFSiJIqv5NA7>s^jC2$yPbnwMXRvMUI*U`Thkh$K^x8-=+MPqN?S!uPL$?%*-z> zt?*IFy<)*0ORqP;QM?t)se!k^z5wu29;hc+uL}QQ`9aM?%x>pu7qTqYIB5+?TXfTw zx9DHm%B@3~E$6>PDbwa=J_3e`)C|C@U@$NjTICjkEXTbn@i{LDeQ9fp=~D=FRyBk0 zJ;`ZxwLF!pBCd4>S{WXlR|N{F3KoDp&YfI=e0oJeaU`!IuOd)SuVX#^%{RD{u;ITT zloGlud7oDzKm94PuV7z_tgynki<}*rXtL?rrJ6Z9gA9NP450-GofC} z;52lE+K!_*Np6v`aR*Pv^{;M5c&b1U97yD#5Ty~G0D=b3sF34{ucjKEqu{X=NSonK z@(U0enwmyEqkc0XABbl*aDQwzXlgDPo8*F_p6Qs%%cU@uS=Ig~SXs>GX-<;`W6jg` z(^x$Z3FHcef9I=T{Nfiv{Q&jdhHi7W*-!kfhxu5Wij$aMtG^bkZ?5On19)+;nS4KZ zjTWrtX}r3i!tQ#1P^0ZwPn$in52vQ&eUQtrU~BkJ`2WX^8CfGAJOktKpug|%>AUZ~ z%lI0BV9t~B2Vnx~gyY%hiG3f5t%BFFd;LRq$KyD32k0-!uE9zh3|z6j*5Qer9!d^^|L%G_YgY z&$zMZElqYF2o;^2oE*o~EcPwg{%ky<-AeoW+-+7c=}lR{U6}`sIA{wB_xjoMn-GMx zK&WPMZOmY%&TA1Gm}Wkar*?119r~=+Bgnbv;|Uz;p}?(Jp?l^#(d%{Z3cgkPc6Z%J zGc#~Hfy@S~0t)ScfVYYYU09Ih13r#sjPbF1xX8bU@FO{r9+_D3iIPuN0=>hZRIP%0 z0V@w8C|f>gX*oEEp`##Wls7MC+AE^2uo|%HQY{muF} z>+64#+yDE`46y1{8p<8A* zpM3s9U@Sid(ZT?>!+=F8oxbcc0(VqM2Vpb}!xK!4nwnyru+xbm!wH>1F>10kjA049 z!DBXyK;`BkdSL61+judUu79S@I)-1AD$FSj*C-hHgXM`v!Aqt#H<^QI1sqan-K^rh z6f1=FDa1q%6c^4;I61UcNmfvF8-(JslEO@8ZdT)GY`mKUO&8>1!egLt8|Gysel@bL zP_P*L@gX!X8R#@30*4k(4LotVTn{%!sTgk^41aL)&Mm>q=^^vb^bqdfJ*snqT9d~P zX;WP|gNd{tyL`jWV7-jH5CriS*K^%mPg8ciDxosaLMEKkua4ty(lrW`TYWT&(ekue z7?^w1&pEf;{6b#kykF}+W2PNh3BxddrYRY0Sv?DaLzo-JU!!k z7q=U?TW+`9xY2S0{=Cj?#_b2epB@@*+-Ph9it1)(yHI_#xG5Tt53p3-*A07|8fO~P=D>GTe@+FDnZDXDg-0&#TyP`GEx=kG-w?HHfy9XoIn z;nxmf@|4(vdX`X;h=fk`OYXq^CWjnnlVE`oVq=ym&4Pw|LPOIgY<;zvGpZJoR3{-G zgF0cZV9N|=rW-h^`UqpDXgc|kJt|i=#bg;l%1I2x1+U{pnvO8=&yJVJI9Z zJ-kH0bX*R6Tx8-Fy+?9wV@wyY$aXkB-U9=Ms#v%wglokDcEd>G5(0}VhL#(7JKV(N z%(NS$xk{yLD2q=ztr9&{xMZ$S`1lXShQfMoi})=361!4)oiT<~3$#9EOmZz!m(v9! zssJO8*X^7>-#&=Mlv8L4exkJ)AF;G5if zE{AfX2!`Ibrl^mLPvq z`0yVZ{^1Y*tx))rye9n36%aj$qT#kSbMP2|wHw&$13~rW1-VVgv6m-wI_Ibp zpY?>*=An8mwNj;f9oIp0gzmS&R@FSWyf6j35ro@Xyq6if;zl{iAosRBiW%hE$wl=9 z1F>}KYNE+-Mw5UG6*Lt-a(bBrMAd|oiIb04Nbk6^7}`< z8^V9!9feqX%H6@-YuaQRhcOd$`P_a?jTQV0s6h&* zMA{JK9b+zDx!M=wnf=sw8`^YDAvG9RYXIS)2;ugO&LS7>)T3D}#z$u#J(``JnVp?o z=-U-uEbojt1k99M{umt@qQ`txN5DdntL`g_;LcVsb$`yzE zNWY&b^;M5%j*z&aryL3~%L31GI{V-C9pTad`)mC%06PTY;}%Oot_aW|fjH>S@o{i) zR7CU&lppQK;})B>O0JBihu$N|uhFmQJKXaf3g0whCJizP!BrB~NEMZdRe^4~_Y-fx z?FGdSRNVk%U^AjL@TWa+A<$lJ@39r5_F@l!8>s(DfH__zczGcPmJ0(D`V~Io5F0OI z$Fz0um(H9}=@jdNo2}z9aG3rU)0i<2QYf>AFI(p<?K6tFFxp6_ zV|((~02vs&8Rf+u!hn#bJXjDG(Hv=2EL_GAmr|!%OtI-aG9jcon%s;aMsj5>ZHLVm z_+GSsP3kT5bu0bx>Fd`|Hx!^Y&NK0HE4G&JdcCC!{Y8R}Kb1d7AiYr=TVF4vnYx8# zbObUdL|U_yX=?>ZnMnxAgaZTd<+n?62zkKmme+5zFe^hoJOrv+-hKV49Aph5D>#&5 zD->4A2TBBaSitpz2$^%2TJuI$@_7}Qp~lfITDdQ3nka$>EAL{X2eL8CD@du9ga4`U zKMD>1AXh8jq#x%l#gH_eOUsYf|GR+xe9P-kkM&?!Oy`9LU#d|8WcXaoi;T)Z5*0p8 z=Q@-;i~p=|Rpug6S8jCc)hKy!QF9vwm1>FVBnEHXzu!i+GyY&;%HQI7j>pazL;rtN zy-{eJcbfKHEcxW4LN?gKrAOk0??B4Y3SrD1lnO+P&mx<(G2Y;#9LR;w=2P(4)NkX3 zL2Z(SB|B^H3`?v7e-IKTi&Kznk&%RvgoK3fD`8m@Sd45*E}o3j(zL@{#^t+z_y1Aa zSL!6TB|Xpoc{2F=U-y08*F_n7#uUHJnTE%{#@CToUp!!DcjT`1QNw$6Xc?*0%c-g9 z=g;?^qY2|7@c2TWVWYo#XYPf&*8_F;(kk@WjC^{U(+x*oQ6%T6>a{gJJ)`zs=1lTF zAlEi6f5zlYJovOi?+7j1yT%S%y`gR1X>i&W5>y-+jtZUxwyz=n(_um8@xt*j4RK-k zax|M32mtkhYy?KsDGO27mZqIfr;;3 z@{4^@*-eEn9ywf>-+vzy>~0kbf$?B0*eYBHuCHwjRL_UJ@&m7TH`vNv#Jph+7AZ}v zyVklcL83sw9>@wrXDPHsXF+IhFgUTmExLR|2X>*09dx7dy&!<581;ftWX8d4V{2<6 zFiY1oBtO`l4Z0g;P}#LbgZD-NPylSv;j;IF!Q*VnwU)ZPjP!aJ0oT@7bFS>{>}oK8 z=R_Be$ji$gJN|r^F(8!^6Hh3M;9H@#<*l`?wK8;>!nLc+p;C07vCBq}obHs=c{!iD z>W@Y;Tvba)8WaT|Bk6jp@i_|BVJ_S@GI8~<8=~Bn<@8Xqld5FKJv+J@4gvA5d z#1t>m=uNxNcXyxOL@tSp%%cr|`t<4Q)A`k<5=d9>T6s_e8+Pm-GL$rJDS;6sVTaw6 zS~j|u(3;C*^^0A#uzrGz<`=7^JuIoQ#{B<$y0p~s*9Bhfof|pF>eHp&b9Vqmu-!u` zUY1WU{6}H&IEu`kpJN}ru+Uhr+gIdWopfIA5(;RCIwcDLTVaGyvObwo35S+Bso);s zEA3FA(vOsD4$PFlGE~+fMDy*O1`^j*#C+H{bHj50r7FwR(bDfZ+<^uI!O2A-to$Do zsLTk*6oO2tn%U@tKv+{JpQxE91c4W;i}bhE!~$=OqOeS1oe9<0Wr#&S)K0HCFT>SJ zoz<4wGn%J_aR2_~8Pqr9aA=+R_R@xq6x)UH{=D=vt#3w*u$fd}7J>@Z#tQz+%x{ee zx`e~g{Y2<-AHR|!!$({cdn(w4ofhx;(;8Y-3t{%Xb2lL23nJFZC$d&iB zAT0Q3m4yxE+O%4{!+X&wfF!D;G1}@>wAD-`D~W(2?$};58n*P%>KbLZ=PgV33wPF| zk8Ezf(@V|l2{jHIEww>@&~aLAJ!V3TIz4|ig%|THoGy9i9uH9Xg>8I#Mq$#@kC_hh z@bjs6po+T}om(^2bA_RJyk-yQALsZ@xcAe7)*kqY5q1E+8nh6Mc1{)JR`;N^m~A@XpYx92iyd)}qsy zy6p9OKO#(ie7w7I04j8ggSbIdr6vvCN7O5FreYuE8DkUr#w`O6v zUByu$+#SJmhJ=7*Mx4-Emo9>{vrD^6y$icslg?;%@r&@YCCR6@5S8sm_T4uWNbMxzqOw8@R0bBieZ~^s8`?76NQY{Brg^YhOKmWxSOG_(mcSkjH za|};?C&UUxlO_Z^@N!NeW!9)(dC5tWca9L_M4vV~_8qQ-bMcBnHwEBYO*4+c#JsXg zVix1HPwI#Hg5d9ar=``@{ZF2$W$B^ zM5DMa$hq_{PoMsae6_K1d*imCT$4d%pXLy2Od&}Rf)jEuxkRVBPS%Cx*C-Y^sI$kD ziBXR~!C0A7T_2NpQa)z*ubRwN&d!YbNb?GjZwc1q4u+b-jf+4a(FR4qUSF*~x-&Y8 z$yOc1j}zLc!jMTJ{A&%VmqV>OQAInQj5gPbRjpYkYNMkcUbF*ij0{ zb~GQ}pA-Pz8Lj;rqeDJ66xRH1@^$gAf2q~JV`x}zkg(=I9vqz(zr%(rr!HGXhY;W+ zjUA*Fo5K-Wh;#en%6A_h#h1xYs9sG@k`TjV^4Sm~Y+NX>+EuF40>D2!e5mQaLY04a zmOCYpv3e%ghr(N6{^YOpxruJbB~RrqStLrbXIC8eK1coO+5Knt)s^eLyYCW*G+zEw z%YSjipy}`n!WS6jv8H=X>vZ$3ii?c)=+@@mR7^OXfF#BoS}rxPflcynEyUh5?AOfv z$aC+-D;r*u?;I_ZHt+3)Vct;MnHf!In0obKibRANB9vw!@1CIq(yxuU*(gKoG0OasU+)Q^es~(FjoP)9DcBl z0^Cw^kHKvzCo*bailf^;?o+E5h8qs%O{T(&P!?^Ki`dyE{6n6mzuH*8(nuorpOpX7$b1bA6> zNDsx1Bqe0=rg@6F!+S=Osg#176$yn%kVj?>$z;uzlXa#Mp>%jW@LPHkXg7~&< z8fKu22(9jVWhWE*EEJj@Uw64C1epu1i;L`aA@HZ`>)DVBj)DPfn1o7~(+zj<1|9Kg z$ZL3RkTU5!o*J@-va_rVRo74Lh z9HqJr>>CL#AbRnQ%WpypWlP~tVVDA+&nI-UchOM;GjBS=+-gF(1h30nD{^SR3X(c2X>x$`X}{3C6;HY@%(Szj5X>aqzyJQo$~3r@V%*4~p2>c@aAqN0fU+DUL6LxrUo_VHokO`18mX61zn3nr zCi(;hX)T&Ls*KKHsi6m+&;YPpZC(}7FvUOUByrl`r)n$TCGuEXQN`}aZsNAvpYPX& zpbAs<$i>)KkW8mcz@aLfg$Dagy<1>$kz%i)R2@at4imv$K}WeSKW{vJ`p>gVw^z_N z?|8s}A_e7NV?_{mX+!?wx#8iv|FMC2rFo3zM-vt3r(9pME!3^b^*4zkko6k@cSRtY zARx_GVk4jg^Q7+UKTe(@>un=`j#H;?CKKqj`e?ggchzRbCw%*-JClOJNe5@edzQ;)nR3+Z;e+nh;5!$r0tI z5P=k5{wR4eDx_S{y`p=CibgUVsZtAvuJ2?Uuvpb;Jkv1wc(tvdDCo>rfy)FH$`xU5;oa`^f5 z9@#<+Gwty|!&?E+QmcPz#9V0S1_IvjyUEpePMa46m#LyUzcDj?V?{ zwgrI4$D@eA1dU_NYSF$`oB_F>Y%&cz6MhlHJ0wb#*^~qB4o0cWwq|7Px!mOGa5OqS zbx#t&@Lz#`K|!j=GsZmx0EXF)X_wbhP=`ZU zckfM4%lib1g{$9tFz)q!CbU(1%(AT-jtagWv-Ulhd%?y~^RUw5d-t{rg_xY}!T2@| z7r4A9{GVca7RuKeFF;sB3dlk{3j(Ca#{$4nKCctg$kn~J>+6@>;{_hAmQYmL7sP^~ zX2{!;sKK zOhSNz&}G>(%z9U6&r1UA3$FDAq3w-8HjviOZ*{>%CXSZe0a;gf0_6!u(>uc-cGbD{G^c`!{i)pAW8e;=oejIvAl z9iIo#Z#o@WGnH-+Jl4U_b&$8}OkD0q+&GSmcJp>k8Ft&{ZkZ-(#epcxf!~ulA0j0- zSe3^=GVf3I`~AcHr`G7%>N&Lj#=S3huw$3yH`3*D!jf3|{p?R134wmWMoO+-m)sKd ztRxaqZLRiKWY2Lq*B3^tUESoI%BR#>`I(?wDpj9D;KX2Z2Dl(KF-55ucj%%f1___8 z^Ao?2$D&gQgthmnKcte5Nu&^QkNq}I&c@l%uS&3d#;JzUg1^2Dh8m02D*-eT6pD!q z{8KnNQD6=M^^KpOK7A^CB~W$)O}UO0CDD6|u; zCwXrj{am4c z{*A}8;oi8tG5VKc?(FTiMd6ZdPO*%ERWjE^8I2zX9p-wiSp4g2*#pR-f#B0-To!uj z+u8VF^yIsf_o=q~96lxCXsFdA@+c>ynVaJC6|3YesPqcSGmYfsctz;)Y3?+sOxUC; zsB*eZ?vVx`#x1QDlSfA=s|i5@>3ss~a*8W$7Z)MHM+ZL~6@82<{blqUdHx%@h*!wE zj;L!-zGuW#ih(9yPtaI^ReyC44<6to#Z&yFh6RZUq@NklK_L_7u&0I`1Jh(9@_Cmb zY_*3s$JB&!M5R|m9?e+rYueCbTA-aV=}E%^pQiAuIBc0+Q4`mW@rb^A*feX=T|;Dt zHD`DaHn^t@dTceBB zRKMPSpcfc&+0b(aemRz7Z3*IB{X z$lyv;XU!n@nDOKi5*r&Yj6cwJFPT*VWL#s=X0M!QeEeEHO2$I?cE$vGp||(Ow)4$Q&B_oW6Bn*qvtFof z$R@wk<+tTRgT&v@?>>1F-6btBxVtM5TzKPh2_sxv+oHAm54*D2iLS;XE+K~t4b>d2 z1|zPut#VhuGSFxQdV(|pj9GUefURVHAQ|2(+*t0CxJ0t{QN^PtxnEkgO^w!4g=ihAc`)qvIAa3oUYIRW5L|j*o z3BR4F2YbikX8>sqsIL20+$#}3;ZFEEzhy!e=NFYAPfkAj(q!AKzB;M)jt(LnG%v}x zMrA7CIE`0-Kclvr4D!<3?PD#)gmB-Xp@$i~u{_`}{vYfS1b~rGK%N# zs+LI>!k~Ek4{B1yl+(#+F6XOzHW0>T%>0n<2$=V6U;QA+cc9{7F29e_LJ+}sc&HpT7c}q>85HxF7*TQH(a~iw~TWPh3JiTc&`Bx$?&(1Cm<7qgO`i`?4}`j95*)&&Lu@sX^)+?yc%W0q)*v%e z%WN8yQVU}5&8V~+JB_;-N(~cQyghCUzjOC8b6CSlog3v;! z1;?KlgX!OzC2SHKPkY+S=_%(%yp!9nD z9>d3BZ>&{Ve}f2I{%~z=p%)e)e$$xf#W)rf>8L?WD%gccaW)dU5#rtIowq>gF=XEJvN^ck4qOMLG-^Yw!1~(O z-x?QDbk$E*Z@#}2f>^#}$agk4p3MfbaEk~o#M;2H;p%MTwAE6 z0n$bZ6?2+{^YOIMb~`~sL%ADid@Dgop={T-OM zi<0vtby|Uo21&p2O!fVpPNzh*`rPeVxqaL1amh9#HTR`3hU#3tk#==@Pj{D=_B{(} zPda^>PA_yFrX?&Fl>Fi0!-rSN{EDz=cM5f}qt<2I_p&Tsc~)+g2qj*~k9s~KY(wC9 zpa(V-#S%bj4e%D zH}CSN4)NX+T$iWAi5DTM@^UyKyNiooUJX670(2e@Rn-y$H)ThKI<8YEisllklXg~W zY4`1=rOsSa9jlUt#cE(5qe_qK#2Y)C$+v&+8~;lWqs(}i$kxPvDD0Ol1A|lAVir;; zh}*0Rq8)ISId%X|LAa~tTz#kiwyNoOSAS5eEv3SBpH2w(A7|e7{c?$F|3z$)UEcBY z($7D`kBKnWhx|VXVVBcnK5@-w8HM;}rnVzU<Y z+jN_o@!Uym)R&9@bZ018IZ<)h(|>t-d!vq1M?H}gdU|kH)RaV&)5Z5`(C^floch36 zW!8miHk)5Qix)>XHvaF8jhz}2tN5ZE&i9R637fcL@+`iLS(UQcIL+XXh3=~VhUWTy zbe3yh5vg!;f?MT*v2zw?+&)90O&mi~c8Bkq2u9>s2gb2W8^w5Y2=W%KTqd2WLZv3h z^S!_0E9T^YNA29lK>W#HPQH6je&M5n8Z&`Lf?oq1Q(kCc-PaZgRY+3^oEdwkWmYD- zX;_tdYw+nPlRme!Q+!tm@0ek}W(@dK#c3+Zw@iE?g=S8OMFtkqw-k|w2P}C+1B0ih z6uk^no*5Wp3U9UP+|;nOa)WQmJ$ajaU|8v`Ro8{N%Hy8RbcW4Q!W>%}v3}SHu^_`X z4zCcblfQa~y$`KgFg5Jy=iwP4zG%ZC?Un#dPV-R|!L zFkW5SvQ-ml(|{j~J{aG=elSgX^7!`p`qm?PAYBqt4G!6&-q2u!FcpB{<^u|9W>U?44p9C>qr+Hb;%Ztj7ZZ;lMP0 zX@!HfDoWdp>If~T6fP^LK=-^|xEC58F}k$zf_zSZbmGk#VqSq_L7%mC*PBK*YiiN} zylf<*VVHC*Cg6Qt;3qgZO~ z!aj{7*U0>bw(IL4%al*t`-f{G;qvNgbocxJQaSbFBS+dDoE1V185Y|dfwABUXkZ3d4&gx>tF-qH4mf%=O zubl7h?yB1~Gr>>4nEzsR*3F<1qU*Hl5qfy}l`a^rUAmzwOiI7Jx@utiof=IGmbsAZPc{M3$v!E(0=W#;i0? zSe7K;XmuJWIrR4v1JRTUp)(pX2$;(cia_%-NOF+S?9$DKUCZZ))nyw{FPhW{XA^Bzk&)lFT<)kG25T%UgX!m` zjg^k9I#EnGn`n?Sb%DtL0RA=2K^0qSUWJJz$p}Ru(?@63qo%rEB#TM4psqkv1^SN8 za!L8e#6(MYaOQF5vGCT74{FV!-~6jCP4346s*hnMt7jZ z$=s=2r?7Az1|B<}59AFSo}E!&UAySMosFe``Hzinlo>l}zPenL7YD2PMrSP@O`1e4~Gs^$E6A`hukBLCT<^0()Vr~_4Hs^ ziMd~aV8?e9$F(LvVr9B=&Lc~U@q7oy&@Oz zD-?5Y*tl<55H>?283GuVi+C|*{Lt(!Rv1( z1cPH{WLY;2;Hg~l6i`jIc)JioDn;EowE2V>rQhBio*w_x#GCIYvKJuR6#oI?QwX^K z6qqPzrCDIL(31ac2bd}{uM0GLK`&WPp%o)k@d?#;dG{<8>VhKK1hwb@W683*3E3mG zV)p>}UG4sQy;RQ?*kdL?3gTPPH^w+?AS;`W)iHgukW3XglWyVlQf{6Q4!PjM^|-gY zDx`PhiK6g)=y>A$2m)lyDF`v96)a4wKSIg$Xz?qYH#nAeH>mFs{1wQIM0&HUUwpPI z7#zqJvRN|mg2FFDyTRV~Z!o+Nc*-}lLh54jsMNzA1M@0Zx`efIz>Nt=Fc!SYmP(z5 znoE|b8>?Mq!_{4r_m;Q1e-kPk+#SO)BN+Ib{4(Ei;UkHc^F{XhLJ&j{O^20SmzS7o zH9D7m7X!O^JnF-BxrUl6zmRsN0~EMjZ%XbUP%PIJY@r%n`gwo92TM;0y%P*p1yuSI zD75DEIl4k~x{gK1LPLHXJIV><#&)IFa;2OnpHdwY-QPv$TwgG?E8Bs*%Ykl2a|eY= z$(O>=g~l-hby?~y34FR;UwySGMADf`ugLYcZa8N?e<^#2^n&_FmgQ6I1tRHk*X6OV zbULmS`Bom-KI6k*SX&4x7qj~vfnOxp_WagYl!5te@6ci`86AR{bVB?2j^~hE9;Y)! zjXgC-1{0wSDcNJVh5dWVxOE}3(MuwyHpBE!GT9d@@75HARG!Z@GulVSvm&9nLXLU@ z^kI&cqOl`S$=IPT(Dg%MuDEg${QykMrv+XG3Yx~eLjEUPj68B=TDcjup?a*@z=DMS zK2ydRJ(KuQPdt9yubV6*29)Xo@AQxJo(=cymAtXpNa%XBM4T{6E+=N6qn`Rn?&u(n zMjb3aO#I;w8b9z;{C9uf5fI(Lazne-c7~mBLy>F7hZ)9OXVzA4&ym2&!-EPH-p5Hn z^tvBUtPY$QcdWWE^Sh6hUSc z13gzsHm`=_=7btMQLH|@bDvUu95jD#OjS;lMfDHuXU^=sc=2LNOSxm4zf_sENvwKc z1HV=u*EmOgt$L_%)H1Cc+k5_En$RMJYtx-oO#3x=)+nW0gBrGKtoEMk7}2d;zpiX6 z4DSu^y(>R6Jv^+2A1Yxc`r*a%@PPO7DquGqHl%e=W1N&GPiqR286ujoRAINYbNpb+ zsu7P3)M6upB~ZeqFs-#_?cmPn%>Y$Es=we)pex!`8JYPTjnpkOx=fLJ8Y8f2G~_C> zwhG&WvwRrVQwq}_{%|lwtr}-cHoeov350@j*hW1VZ;!(GR5&U}-M-$A*}Q1K3ggGe zjM8p{zv~kd0$&2%56plvux4yB!ckP)+vD3W$8`poDP^sgKiL$z&B0ytT!n$6Pu2y7 zrZ6-U4ty*J0lN#=h3)l;Z3dq4rPhHfW}8ArW%WcA-BDCmNW*l*7Z5$hf@8c@upZe$ zt95)_I6iI#V_JP0^i>p=g*s<{6 z^|b{Tcu~ssdcjz9Rf%6L@TR=h2()H3=4h8`;8LJ5@n+p6oZJOq2Nm#w{1p{;-1{$q z#>TagHJxXBt(I`>KsFd$C7~z+?M!1l)nIf8p4cTJp+S5?32xjF2J0p%>0F1B8UR44 z(Jeb10yM24hR~&kG1qVj6h8JvXh84rzv7uT@eG%F z<-L4kRgD4GPO0N^EiA|y{dh+s5R=^k@xyeROC5iz?~ny|c{j!%YP%ssTjjOgzscYK z*;rVYD_8-58^**LgRYL<)9J`J(0t*8{RE6y$Zgp{FP0W60SUs2Q>y(iXmi8M}0V`kI&Rj zGH1&_J<|kS1X#u&(u7R`kagb)Q@YM}_3B8lsA!mRoMTmoz9chO=;OyphJcG16>pv8 zd@9)P8{f*@!SWqua&tL#tE8G+Ow@EHNnN4o`X+PnGiIfLK<1z1t?C-7sYnX=J^)W{ z)CW7G{RB3eMIYM)q*5o26W?h48zt^%N30!)r2DJYbhxn4-BZ~+V8qqNxmwc^vAjZi zrBg`in8|Y)k4eo=8ZxdO@iz4TsA{ahjtp2A6S7OF*D6WN*kd_e^~fusTzzp_k?Gq7Z1v>EZ!HWSgZKhneuHQn6a{*$_Q zHP#z~;ZqcdH(}c2I6BL_$IYYgQt;d6Rn4*Lzc8&1$&Nrp=ue)Eg={ve%uz*W8!GK^ z)bQJ24AdP*o+YFj0agKQKehqq^IBkz8m;nf)HW{EHk)l7_X=47>Q;eHB0WZrC}yybEQva|5Piwglo46=gsnI{^hjy;lfBVlf} z?x|r`_HxUyxYZ4u3%1|%dfDE2@Z2r0@(KNTx^Y^A@qw5L?lAre& zo=rCb*>g2}WQf<*aB0&RHBom#a5~acH|SC+i*uDQeDz#L4tCRVr7vbN_>ga)>#HEX ztnNk*t#QEGMg{nZZ%8QuHx?)jJIgvPbm>Uea<$6Zpuci_&P%Dc2gO^dqu z6}sp0Bf@Tmgz%PA9*}c&>1JPmvnJ;m387&t zD@&Ay{mPCR?DY#5*35hL{YWO?3TgGLy|W+m6;k)Mf4C#x$nDDaclrpC+RlnPMT7p} ze^oY;ilA;}37 zO)NJ6AglEgR86%j`|Rr3pJk%$6T&NtIa<8%;bMlAz=P%G z$>qVjsK}b=LHfkap`Y$d;+>p$?0b6_e_K3ppnE>hFkalMnz^$py6~#!8bX#P7+gQ8 z$U(0bt12d*WB>{ptD%5bqy;`?j9BiqTxXxj=XNqvp}2l@T4aA9X!~0JhKw7G7hpaC z=!+*Ol^lkVxNcN1;Z#^op5@M(aSc$w6dL}WJUSSnS*#wLCMJpSrs@@Q#bholvz6l0 zz;rd4do2$nX;${3sHX7>%7hhA1;s};jnwKFimMsE>PKvNJ=+QMc4mog-MwXbj(mFS-3*lq zy}!ngL*oyPkV;2;bw~*X8cg`z$dyqyZ<@iWvEk@oR!beghBYS2NRr3sIm^px6f$B2 z%Q%7x)3uFzr@dhaIL&CAZED)mj_rk~RR^_=R7#j}3$PXZ4H)ChsVH6F*!aY{Qr2l} zqzp!^6qxOXRxE@{>Lw}t;AKGG+gK0C2N>HGDmtueM{0@GAg}?bU=9ndKp17zi8(A-=1Ky?5mgA)GdEt5BK< zCOH)ND^_OcUi*4A)_5-1~^mq#nBR?5OFx3;#{g(JrP=#B=DC-7gSmnztD%mI3Cf$*)rEi5ose&V7WvTP>!;o z6dG`sLhxeq%O){}D3+>CG88~H_lkWVj7vAzB_MrCG@DIO+rQ6hgjl1#rU1Hv!PbrX zM!VG_n~0*kG117#l`wLPjfGI-6+y;yM+?zJ|DNA454^+(RE;vMW)lLJLj5%kNSIv0 zFQh(|(Lq~AWtWzq=TDbVCo!}P>2=>;`9xi#=+!3X5(E1wVV?AZ8Jr7 zyvfB1hyl_i@Qv)xIk~g)21bFZ^pfk$WdX^uS$LdDGDo9xyG}*mlwT{wp3!_lh}Ql4 zLti#CIBdkvXbsbDR=IUC$yhD1h4QFsq>%unukN?H&?_sqRkj7-*NerPXX9U%HazMV ztrhQ-nX^u$Nu+6t`o21k)$3HqVo*8HOKA#AZdk!g3Gv72s`JWggL9ImbTUi4+ z1;S+EuvbG@XUWIK$B$)aU_v7*)+=yLCV$C;60n6CtILKF6mu7=u;4pG&k%P1gkwBd zzYOhc=8SRIB5ean!xm^0B|yQdLp#>q;mCe5?3r{nn!&# zyi1a2Z{yt3`;&M^tHETYO}H_(A4jAi9ubo$57HKZ;G>T|ij!4*B5W9|>Rj%1?o3wt zj8I_YTDjuMdqN}861@@#4#O!8%s?(*Olbzg=H@%Gvo>@;RTC`Z46Q;cO~m=sv~rD# z$!d>o4pI&FjGNUv0g`fIIP9L0E6-rf@heNK0nVBl^~hjOcwpG^_1A_xTE*=V%HMLd zu%&}mALVzGO@mZJOYE$g;3(DTP;_i?RhuRsV&oT35Unm7CAS5yo4+h^(=y_ioNY|?W3zHE3d&9kd?EiK*$x@N9p4V{!v|hQl=wkRiEM02xHtuH z*r^U3J&|3&v`wdTueZmQyrNSMPe-YPhs^Q#KSoIBkyuJh(RaLMrjfkd*jP-Eb$dc^ zHYkjDTr13~)jBqlNpyDQ$)5!!?X-w#TL&@V=*er8U4`r(XD1?p%?%K^*CHf0K!KT* zoa)16CPJ(VYlT}xmCj>acz&zw|FVb~A?M?yLax9if?o^=j`nK^GOf%9T#OJeMdUOHysr+}v9yrpcat z0QY=D__JGGw*2{eo~E=W@8bV8S8*Dlo>PZwRri$C2`Kq_bJ1xf5zfi(K)oiheHJ!* z)#mU!{>0oO@dT4UJ-hny>Pw-qugsCTzBp_x?!B@pzU~;o4TOyAluv>O3KQF0q$f$4Bv+?v_p00TMiL}SPp}^eX z-q*1v^Y`Ug6*(Xohw{iV&dYd`U{6i(cSQ%U~-%E)&P1lD|Y zU(rWzUf!I;1uM=Z5asQmYWzwdHFvf=^e}$mvH@=z==aJ&c`#ax^)+z@>cLd3=;z?o4 z4u_%ZZ`o@o2FFiN{#ra006uYiSE+pb@#$%uy(_9VDqWs`{`?WXZv92;ejyf zGo7e@_UuYyi%*NS_q39`$M6f$e#3h+!GS)nqyrlUJ?MwxYI4SftY$H2_RI zTzIt?LknBXJ3wGG%(4&g8n&%c<*+P8HVX5@CZ^%Z$h?l|-W$JnPe3;)=zA?EycawM ziea}rCJGZ-^?#(#d)zBr)5kRgT_8ByGia>M-2wm{K;G55N1$}p!q9AFB0B*+4qUW= zANisrZ_KukDFqtquC>2y%{?lsy|aPfpbb;!S#M~T+W2m)mo2H`qcUld>%E~>B*IU| zLcxm$!@-RS=6D07`)My1+&pjfr|B6UiU2(gDC5n;b3>p)BD0!^2$%QRC;RElX;yR=W6(mHmh zqm=smd2+YtgE6Za$sYArX_X!6kI6|Nx zrQ$GLqsk5^Nx4nuTq-5}D1)@h)uoA?bXJm#S#?t>HOWwSk*@^o1hrFX0cL0{Ls2x_ zv3bP%0^bYHkg8K!w_|tRb*21=hwK9=1rzZH7_td)2nB@IcI0A(Ag|c%dAt3#yK_j4 zVx62m2S!_3RqqIP98yIlOv!bqKF>fgymwJnRZaSK1UFJJ-Hf(m>B=U$HMu?~ld68j zJ1m}MeWN)1{Eioz9X+B1usuVFRf_ZT`%qJro45}GcAX&WmWjQ{wV zKGy69Mse}VBpxYIq|;fKWhXSHsdgftrIUa`<_7XDeqQ(W)g`NFhNpJ$!LAPd8E=b< z&{}ef7z>KG<40$>P{9|~E2H8=Np)0>=U)Ha=Qxpt?d%B2&dV)I9<`H}#)?M{N?O&3 zgv!zKA0HkZ9i8PqB0*u9M5Us@ZT-X{VEJ00SoS9;3Eyi0Ph2$r{&%(5EFR%8LLd6H zQb`z~uhA1mre*5K@tn4V@x>xC=8F6#YS{1l)!(?~*%KD?5r z>?@k@K}6MOISfbDy08VeIzX#c=s|1vRg}~|(*V9Z$bi?b@LdDS!04VH;I8SfernNB z!iXMBy} zZSsjXwYhuCti!N#9k3Br`LY0M+`itnVi9bn7)<4PWMuQ5z8gdhhsFjT7HZ_7$wbD_ z%bJCubeB4^`i~#mZ>Cz znhf=*+lS@Wq5M5W0h`)!6fQllArr=uYs4y#GofX(7&Dl!7cGxt+PjLhf}Y#*eHJN| zz$0%~{LO-JD#GfuS`6#Ji*fKk))f=rMA|H56ac@zZnavpCyy_#1Akio&%nh!gj22S z>%bdiz($c|*XZ8eXb_#WVv71%V()x;DF7^tIEXb?2(t~fg_MII-=n%r!`4Weg@vA< zQ+B38+Y;isZpM79}_2hygK#w4Ek3nO^Nn2{ljD57AZ>b|xUz3LI?w)=Kiw!yH zk3R|=s@6*dTtZy6)D5jHcXggttw7{r?di+>CHiO0e3DleaHOP>s+Jxa%v)xX=PO}< zDUI?2vjwXw&Prvm*>+YKyp>=1wFM8oWdW=?4Q~Ks{aQPBekIWFKTN4(wMz$j8JX!) zYWL&?;GL;N{V;D3Q+Xq`UM&|hMwCf_s6PUHOSd~756+r%=I8m^zd0(-lyXwMygZ%# z&OR2`D>tUs>_7D2PvYu2n$@N=LHAd7BdL5}_7W+bqtecAJuT3L{YVPUmdA5jqlZ)d z6hldj@itAGuW(j@ECM40fHTeHB6&fu*iiz>h_Is{qU>(s^TCm2&PB(6iXf@lJ4A0dTm|8RA%yuAG9 zBiVp>M)CAA0YuyqAKMy_dSX>7M%z5MgJ;Nh6 zRVEBH?-`A>N~FVrpkd2?W5gQiH5q|wtEh=cnv^s=ti>;uJE4Kv(>V( z#b=EdhY4WAgT*|;&wr6w85sWBqQEn%+q(6&DxPPoYVfAjkX2T!mlHNK zy)O$dso8En*rt5DZEQTkR&jaLsv{eq5uzA13Z|*(u!%u>SE&9!9&&eHJpgtKddPq( znkFVR7I~U>vk_uzLUfp42RUZdi(ksZ87#= zHUwE@8|wA|;GDKSxVJ6zQ~-A>6#j7dL&VDAY16h8;Fq5@|J4DRSMGTR3iDdiB}x{QPj}9*^mNQUTa(Fk5=# zdP8-0E#1gov;ZF}!n@c$uI@r))rab`Q4)SV>(yx_hK0xEtKHpMVZ^i0O1mnSjj~vf z6Ya5}+=W~Dvp(z{Xkk`JXSSDhH@aKhZbMmjq(qc~z@!{vA^<$OJM@nO*-|NB&w{3n z4t5NcWg|FyxS03NBKkdd6Vki3AaJ=4 z*UhSFW699eYzMxX*Fh(N_$4i7szB9yzy!W6ISDPP#NmScr8b za(LKJfO1>%bZBscLRt!avutdzcIGGk{3Q$YBL@bgHP7&7_U4>r3DI0yUAjQIRmz)b zTUpoIoDLH+e(U$>ff7s&EmE>3eBiD8re4rkL_d}o=}T8aKr}^fQPAI^@@hCT52B4! z@vWWSx!$kztYHkxqKnH{l9t3f+VrBw+g(WnonjKg$tN;bU)+QM?=78THghHE)Uup&cD_;%K;G>N%5( z?RGntGo&`zKKSFqhw;iu-B)MUDAR;JW{R1!_>i1bwg|X&RAldvlQ+~WZQ20f+kGr6 zcSh^Xfz?lBmm@osW}Gg;!>ekwZOClKw^R4&1Xes}Tqcv1`pyR*fWV_V+a&i#zTNre z3A!@@;FieH7N1cuGiyl4!iHchWpErdF3XN)(9qS69C_4j!58F^O>|8 zKQi`&3kl)zC`kHXoDOSD8wTEKuQkLb79`8Ftb9#X3mLdMR@SEFxs$c zv2E7FG?CZ0uhB|J83n>OOV$$}0JqIhYJp`EfOXn;P5iM}=) z5El@P@kWe7b4iG9iDx!YxGrQFiha|-E4o$Ssd}pDZgkfxy!7}Q!Lt`gl`ldcjy$>h z`RBhMBofaXqz-1&cvfv~xfVc4xFBWZ7Us&qR_{EE6_pb1pe4lGd=R6>Hkb z=x!~Tb#)i=w1EX51w8}udp#m+4(L=)!_GWVgoz{4422>Jc16$yQv(mUTe8sJMK&PV z)XBPAS^1JOv2Z!nMk{|+o(YjYH}g$_i`GR;#afL9al~lCtYsbJc~NQowGc(Gz)ich_b20MPp#e+S~q`0|2|Ah}G9IKSXB<3nbO z$z=e!tW|2Q!Kx95;2&jiO6GaqIsimZ2Tb&IJeIsm;a9M~#62^V)DJU93dOK*T2*A7 zLkjPChrl3p&J>bkHN?gjkxFzoMTAn>Aeu)(HIYaR=6Vv!J+%SbPt_qWs#lvdi%=y>u@yo?1b<+W-v{?QrE6UpkC&c(#flDKW4?5ZXmK%yV<_v7E4{VsQ= zvp+czGkyDvBU0>#mOp*2ADv9}3(rhf^XYv$; zn}m}(PHK2esgFgmB2QIh<8Z~OvM_R!AK~kh31vuj9o<;lSre%C(XjO;&vdXSnG_I1 zg;o)y&d8F^&T`*AP88=Va-ZdXLUxNab?h?#rrfk0-&@$K@Y6HQF|Q7qx#a6_bEY3& zT^?EnAKUC_+CpIe2iIW69=i<@wAAfV_0PUFm3+0M`WhN>idl@->F2_~s+)?#_ zS>pTm?-Kw_vhcFtd{qOAhwigE_({$ZKWcw``krNWF{1%OFJ8PDlvQ!lcs2FH$fvBh z13~INbuF}pcSkHkE7KoV36#lfcsHA*99Eqzc})&s`pbal*Mra8y=xg*j?ws>R7sCv zz33eqQM3FA-tF~5tG!rA-~IjXfB%2|p2z13`{X9J0zlK&*4o0GhAN=Dt_6a8?Eyt& zd%!JxGV3-%X%dH8D*hFA8$gK!3ZG{&M=sI&gqqs5?hQEFvn6*VD}SPX2BPUC3;sqB zFb7Fu_z_PICZ7ag&x1EN!QEaKjdF)tbv6)*bQFLoBnR9Vy`JE;95oVQJ+sUot(xqn z&qA}a*@kN!9Om~XK9K^zpqB7Uom_Ic9<8}tP(5t|Uz`t=(RzGWN=Jj&@_DQkT-~+q zIzH35h6r4CJS729fw+{JAEq6g?~;(Pmj{ZH9=YKOY^P z<|xWup@0VauQX9;`JpK}=RmYLfr~2}LW%Vxo}IeCuH?=T4WJ$z@+BRiP_Nw0c?yYyk zcG$%4Q5Fvm#)asu-qK?Dr$!cL;vbBJOWVq7$)(sUVDn0lQ9%dXd!bWNCb$7Vs_AgZ z0@mSy1D2|^Su=0gQxdJPHZw5(Qe4wcDD~!X6ReCjzH7u(C1+e`q3t%|KtOOIF& zCAA7}Hpn+;v`r}+ozMt^X~AP+2F>i$jAfVUwMAn#Q?O=2n1X?gxCCsFEhnwJq&?{I z=h@LHfsLx&6bKx}?Aa8q$t47j2~(1L?u}}d+N*|H=$2!#u$G}MCr;k0fKSc@BfE&S z#^l^jM(|)Bj;ed5oQyc5sCqsNAO{81WqWcwer$=9vlm*67I=pKs(#Aroo!uY&wB-f zz_uXA|Ln7W^4jh(BRoHUR}t7eKL1=0m`o+ww2gJxB5LBs*7}0{x8C?qf%$dim1)7N zKvq@1J&M9|I!rV4wLnlAaZ4wR*TBvPmE-|MBm*jaW#AYC=sQ$>!IBr`EHbGzw=|wn2nOOLs8bdcVD~T6K^~nj% zb3#ptaWDcaU>=7`i`kleK*kzr(w{q>{d`>(;p@v&$A1M)6KcGq&0DnDSHhc;4q2mM zf`iL)FoSy3E^4SS*$WA6?f(4p($BIT5f1o0GX{9@?YPhE&)Ms~K;O?o80GAO>xZ75eUE^nCOc%D#yNB6koIZ2-EOu8fn_B* zvJd2zRS&9IEysTc%e?xbeOe)HNliA|aWxXHs&@y0Ls#)Cp-DpzhvH@;*;hXlz~oX! zceH!Fv9a_Y0-kDRr4T6>4T2kxBnm=}F&Il~H&AL^76^=_l!k{yClc6>wP?bGj0l;S#S3@i0BD6SE0FCU!(z$&QL zghC8DmLFo6RUsRZ#l!`Xua1EEXOoizF`bb~h3iMral$9xdlxpeIWxBR;+62R8J!c- z$8(C%Q{m@(&vlH*Do*R{tibB#T?9!3KBzVvds=`tPLO++wKIsV{m)I)tR1r)u^8qZ zp0UcO)|ikY<@B(LKpNP7+_h@U#{4R*uF(U>4b!w82*N)9?Z3XG!JE1!1y{u@tSnxR zTf8?M-Wz^5+q;L+W!M;0ndu#3k(eH7e0zV+C$AV;r8cIHdM`0|lFrN?UR= zBV-N@Gb&7>+`7#wht`sTh6(|0(Wp5X3&e^_09aOSo3_Sxjs8oOUSY4X(?suO!@3!* zlrUfe>;{2Hm_Htwmm``)2b(%#+0a#KYH*ZT28MctPcv&2Rt~PCQ_-*>^1TOwz^KHd zSb3T8V;HgUZ#mzz<}w%u$=Go(b`uTF!-EO*6}S)blFF*_iw;FmS{Dl0W0XzmffZ!N zNEvbA*wlh;v$kslOR9^8rg}91X*m2()6*Y@=9$)d@+CFvT`HP%5R#^=m939QF#<_KwM8K*JT?g?jI*b0vmb z0>P0|766Qtm{AgZ60D18?Ky4iumo)F%mi5vBK(Ap%8L}6J3p3~(-DR&thuKWDt%K) z)8%hg)vxQWh8W?yp$Q4DbSkZe&vv&~)Ek^g{<=&n_ci=Gcpm9Q&Xvpev^7m-{34sZ zxVUJcf)=O;y3tsZvcL$GOP8t&YPa@~xggLPyJ=SnzKZy`n-TZ%jyL=6eXh?# zom%V5DRcb1^@q@Rbj-4LDghihkDD`UXb0z)%>lJ)U5LPR(t#~CBSjiUC=l#k+4uYN zg6VyMbz093hZ!`Q16XzS_55L8P`d0iPR;qlIwC95coURe%M>t`agw&1Y|5|fs^#j; zSZ`m4j^!6|GFf3L7xA#u&}Is`hdPK1z-k(T|N6!SEsyq@*wxx$LN;_uV^i=_y7L) z#|gznADa+CWMQi-WD?O_1=@x9@vI6EYort%)@rhCxm^^C2{cW@B878Sn`aRBChitz zbg7$)Yw`gBV-25J6fD)cGy`5cbc^N0>_vpPR+-{8N;h^5ckbW$&7J%A|M*bQ?qd>_ zaww_kHos0P)n-PwSR1X^|DKCqO+JL1=gzDcCRxBDmR(00$Yk~?m_8SiP~KwkWOU~n z!VCqOYqFXhnhQhAKi#?W6LkKxD938cP68CaI%r>AwV7Pyu=$Je*4@o_B-lzzut>0#fJnxn zHlzO){`*_25^Z&{wf0IJF9cWzZEa=}Ds18Yrs2E>)c4Fpu2mV8_pw6v8PZJso8OY%hq9NJfF?1 zkZ(u>^0O@aUA~ZRWSC(3W3J@dLw&-S2I^bQc+Of6q+9~**u>K z2-}2uViFm&sjXB{0k|}wX+gnVFK9>K6mb@C7zp%&l%1c9&3`y1R~8DZHVm$9`oFZH zN62O%>3A%pR2-I5JWCUXR~+lfHCax^UzGK0!{cDo1pF z*bM;7Tjce8;}iEeMQFJ}Q8Q0`LpE;1l!()vl1}2PkCsjl3qQT=lvH=zI(K*cmmT7E zgXcFbEW7mQ!E1;WxM7s9UF2~|R2Qhk}uD_9D5mKXIn&T=02B?m=g_tMSM z`Mw}!T0NK5YubwU6Qr!A28>(}9cBdmz&!;Rdnn7>OTr-51j&)oW zOzr9q)kXDNy{#Bou zyr4`m!ALAI^Ewh#SIEw52YSb^b3li4nMB{dvZOh}x7{1|&L`Ua^;Q0@JDN{4tMVKF zov#$|d-cN)g2DP-pNg(Lfn!g8U|5-$lQkz3ea}vR?(Jf;+5CebuVPdo{SSm( z9KcGGXU$CAuX_ke@mN2qWu{t8VeQBe5Grm)tP+()vi$^)J|^dYnl^Ry6XB1U|8102 z6{e7|@**$kEcqDmw>F3AxE6^H(ij93!v{kLn#GHh8=VvOSJa@3kH1ZtC7?y4nT|`9 z9AtU&p~>$3;o-x{`*-eRhm!pEwb38TJ|Lc}R9+WPb7yf{<0zApPHufJ2Q((tVGFX0;jfkk?k=*EZ<>aKsj8QWAmSQ(K9Rj=uG>{jsG>{N#Td%+G zJB|OjaxzMCMCDXJWb%=60_5%QDvnC+gn;6ehMQPmLvp4ie1_ ze4$Nx;FtyB+Q8oY^w$r=fWgZbVN-s#*`TE|xBmHz9jF!NLb@xo~7AzOI~6o`+HdrbA-8_!Oxt*tMpt0ERw z3e3S{VW3`hlpI?Psh7uURBOG*LEElPP#AYfBux{7wFP0jHf_fhUji|H9G5UoeL?vE-+f$ zXuKhXD810YFZr_Z#>loB6pI4^ck5i|b?usPF92@5u_#+-4Q+<%()6|ZsK~zTuwksN zvXP1Jb>g^j3E*PMuVUvCn2capo1et~YONUbmydtqzQFVn`^o68vA#;HRWm{(~b`t2R1)T;E# zFX(47JekcA$b%imh2iySJj(sXl(~i_ri1N-rXF-WNX!sBBOdZ-p5W6j zm?>V8|NXqNv2=TB<;OmQ*b64fkZlEAyMpxiO0`ovW&&u3?yVp54{FuUrho-;#l$`7 zla9aa7i25qKkWB2mH{*RsXvhSRK(bFNDfM?yDIz;e`f?^%p9F0ibj21ws){QtRnpU}4QH1D^tW$vbhQ(zl6z0zG>o2Z{{m|`JF2?YrAA+$xB^3%$2u?z}jZHagene z0l)PqHizz9HSI=ZTGhp=cet+6b*F0G-7aa=$@b3<4*niLsHxttA&uUF53adg`e5w6 zUO~`-{Hu^a;rwtD2hL3){jV81uQN1#6cxLR1&7ot_PVfOc;O8Fe7?lI3Ah?m`2y4P zn==B*kj)X*5iKlic?8z&&{p{9RE~;j|7jeXr-zs0;h%kzF2-SKNFdN2iO-NaZ_??`;Y@@KK%`8PUFM#FO0n} zE6f=~)~!d5@1I6dVk+KM-=Fl=%c?7|$2ZSpUkZL);1pWB?l>Kcxi^X{ZYVgn>`R`p zAx6vpX+U)!q*HUK9w%i~0mZu0S;xZ@ay=L-YZh>K?C!5ct!cDZ$B{}D#>YFF3C}G~ z&1m3k_?qtY_a&m*zphTcnRs~bciwk2SvpgnZ>L|aUgPOqe?Iq|aWq0B!?a;T*FMPI z@3Vs!u3{0$zHftE&>602og5tk_`{TL>w6~B%E6{+&1?V)-HVr+=rQFxETj$+bK2@Ah#y0l3g6GzkD3CMzk@m#>VbefE2V z>}xib=%~18(cXBee(9pFdj-vg6`0ZM3Bc}6V66Q@66S(eAt5q@_8JZDCyp@nN|78q z$*fbCmWrc)JRbey(o#NpOkn0kpPZoLNyQIxLa%W|are4nr*+aVwfU_C>9b;=vuM8e z@?P;^Jl+^y!SI35i=9guqGGPPrf8n|Fe7DC_mb{03+E$8;{K#qv|TxQpLs+ zmTa_b$%OJX#J$<;w&KW(Fb;{jcI9SeAb@t6>1|U)QiTeQ+Cf_aV{QSGc9`j>xs0GT z1^OK~GsJ<^jPJ1pHL~AoA?4n_$|y;agewvuU5AWLY@1gAQE$s9%`g=Y-ne*LJi(Uxd*ZKNr&=jqPAZnYixt`rkCkb;ZKqL> z!jQ|hVa05IS%hQhlKmYtE9-nWtYbQCd*}mPP z_<`#qek2ZoPoe&!o0~zKtX(1qydJoqv*1Vn@ksMV|1Z5t zfE^WY-HHyhIp&rhgR@Wo6jcW6#|sf2YsMW2W_UzJ4dAb5T}tOH4ty&z3T-Wf<*d7d zX1*2?9xSs1n~$tZt|U`y;k?9T!>_nC2q#?+{w9%GLYL>gHR%PPtcR`eh+C93y5986 zi^n8TX)5c<6SIcEn=iiRWwQz zGV(4CcX$DGv!nquu+72y9S~T;t3~R94A-bs_`)E#|NOa+nHe-=dqR6P_6z&J&@V=Q zb9ZV^d*0vK*{_XR8;i7i7q+;t?_WCxFAjS|mc17qAiT1;$-OBsL7f0TS6g&I)?2HRF z1`Plw>PEb0&j3^wo#w*}XhACPifYh}0{#TF}s(zQPATsVc$_ z?bc=Ea=48Dz;N?eRr9>ZgPxOkt;J*w-Z|Q!h#{w)J>WeTfJu$7)y-EP^Yt+2VHqFq7o6L3CC=Z^QPND9ArwO-#Ss z(NMXKpxWSLx?SvEeQ#WMSFw%)TzjR#V&()PmF_N(UZa%y>GM@ugOe9;PmClt8Yh{d zA3iZE`s9i>J|leFE4$^xRP7*pVECl1Y8)LKHA`=EMg4x%GK33R8Ja06k54iu-ENsi zhdX!dSh;vgFW1PIeXCBts`la!QJ}4E*cA*7Ju$F7G~CO2|L|d>v5QzLVF&3g1is@^})aX^sn~G#zomK zFk=LFV89NqKq(iodezt zfU+sx8X5o{!&!E^qI$$f(2Rc9mqU%v&G32T29*}VlGtTScf(-VV<2xucxu3VE3^YX zQhnhqzg&aDUoeE8*>nIMiLg6FJ*ol8C1vx239LrrDI?P=$UUXRae;g!-)pJCV5;kD6ChhXn z{iiv(cDouak4x&jKg=pPy*{Tss{BqJ?YDHuuNy5l4E_(S!2jd_{`8gu^2puc&S#H5n|(HWJ^q=x3Wq@oIV(Yk?PdU%vVkIAoPzUW!Y5}F{lsbCj(zG2 zTwK6!E|(teEq(dNKaPI+g~wbNJU$dsdWPa`2Qd_F!qQ+JX}7Bz3zZc0=xmU|XswUb zOP*fl+%hdOzNP>{L>S1wWV0+WwF0&h4;Gmn1HgvBM0Kpq*7+@}$q2ES{qo{p+Wo;F z4SoN3UroLw8|zzabiasyaefq|Na*=*e>?Z%TCWc6^)!!ukSE8EF4a9ev6rRl7&Wnm z%D0u>6e&#&{yJp)qSLLp$q$OC;BA>SOiHblRDXZ zx%zVF0!K_ruo-vuF7a}_1!RxHm9gN$#!u`A#>nj!;SX1Lu7-rbMIYuvbyrtUxuY=Z zNVIiUj@#mBF|K^;;#k+ z_L(~(vZqhKi{5(??wbs*XJVqcrP!%#*mV%eC8`(Cb-9NiExIPr(g_idUVD6U3>j`v zvxkTG!B4yiL%-aKc=Ji-2LbS%Cr#RLE3G0WLTrUwNUJ_Ub^n+Mb`0gSlz%mM$ir zGN%qRAN}ba82tI?$#&}?RXcI{+EDpmW8?q${PUl0{55p|0)OuJ2H9NqgliZ*Nd4?x z>Y#RDF#Xd9gQN@}0Y8fPr;kvBXh=y*(I8e+XjZtJ%ML6dF?x)!Lf<4aX7#}@i4yMJ z8CiG_g`<=VVdO}FOP@=REQBm74`aUN1M6E}kl-ItRF$FRvJ}ZCFXAr{w|G zuz52yF=^ZEA@-SkoPeB@nPC(5JLNp5CYQ4?oad-#SkXcgFWce&q)qo*JH0vJ~r7 zUV_zkxKo{c^E(LIJ!z0i1}FQS>i)PFV?*GFBs>#^d~Qd6^JcP25(gp9sG$FcdyvTg`1RfOsVQT&2EUBH`<+gD(QX`` z-$kY6IxYEp))(hW%9^H0m<}TsSoI~b!hvM(W>#7&Y(hs9m2>VVVm^+pVjb=i|9C1P zb*Xf!Suy=a#(!zxWifmy`pj*}kp=;azC`XDW=p;Wvfi6`Gf|l!?x9|fq4-{_Ul!y) zF4)(0ivSJwJQ2LI6E3MnK~FA#Q`brN?{c$2XY4d^Q3-aSpalSW1*(=u4xVH%+xqa_zT z+b8zv#SR^VtIEOtan%T740sU)jpiV)K!5I-hM`J)(I+x8l{$kt}cYUzh zn{I1M-BzveXdLNvgGso=VwH=mFO&mrZd57<@woBHRJQeD<-@p_E1)PMG2@uG)DHI% zZC#ulLmWTPpdC7&t!bG`K$y`?lC(g>EEDjHr*LGbJg-*>a}fq@Kd!d~8qUPPXnGBod)N4Pm$444( zrM_T$g{Izat^FZBqYI|m+uL}OsN?M(%hLN~WxK12DxKY%~QIF8&1fi$%Z00#q}2|0+;O@-vi5hYKJ%mfY4NGK|Z=BYQk zTo*MY*F<^7?vKY+{x`L}JhePeM5J$gxrgw& zq;aKS5Nl<}m|34fKIO@evrL4UL9fpvze3ntojo$*cRe14=%usHq6|PI^HU@@Ga>#b z^&CtM8;Qo9WnG*eo*Q1D(;VBVw30UV z`_(h0LW6r)g9)9q@6S$7JOqKy4crXZXRkY)tS*! z4(c@zi;_e$i|z}673hqTng-rN;Y~fLrMa3P=Sba}n|p33+$VqX@-k?*oFl5Zmlbf` z5DsYCT)0qq z=ri%GaCc(j95B6ibT3?aU6m1rwT{1b5k{^bNUvT0uU@b216@`Rn z2D_B~$NXH>zL4J=9sR<%>yZ}1%IJV?CX#$|Nuo?W_I6{vv>IEbQ2#4yM^k2gfq z;#rBWrVZqljI>vFNX@!X4WXhybV=lHT;O(ARx@=K&Oc)`4{5nec?3skYjd3x3C)3- z-g}gC_c7NjUXMCCTN{m|VQb_><7Ln>TF7!c+sGNAJ05ia200O68B7vxVgF~@foHd} zxlGd+=HFj2gjLW7LtV+YdAqr%2A4aUr>2N}GF(BJWY4NSMGUR3+-~sHc8$UgWkzeG zx%=H_lUCyv#SHerZZ?!VBo(uf^yb61hO?A6#1&#`M<)d&^)r0DDIuYq^=-{=g=(}+ zz+)Q?S`-da7pbQ?t&xjw-@blb%N<{BH+PLDOWsv9@cjGVjcOC)@!((o{I9HN+ih)O ziRZc^`&l&!2J0E4@^%md<6?^V?Trr&Fw1tMkwY7OMSzGA@eF%nDi<>+2)XF>&1~DN z?>u2;T$V2TuzZ*!kYfd(l2LyY+4fT-+v-+i+x&#yWPZG2w*VhJic+mKJ*MwS{qmtr zFj#a)Zd|frUV$p|)r%3~FcBLg0W%le3T!a;3I-fyRxF1q+_4)$wIJQOF9n4QTM^|R z^NaDojm@Za=+W&P{JkCZMQEeU)q7jR$bwe6F2o)VB-XGstZ%`=^<{D3ndOjB$uyl5 z%#r26&J}4G2>a^s@T;i-uQg-}V{GW}V?{H61N(jU%{SxxQ4y~OxxPq_xU_4liIy^6 zD+!eVcz?f2cxAxfXRbYVpRO};FqX*Wh;To475DJ`)cpLE&H){sa)v)IZ;~PSFoDs- z>+57|ps3>ZfbLy5@IDBsJJZ>UaKdnxptaOp7l&~i(WPN~+T z`Wi`=9jTv@PjgYHa~h8)`X04u@LN|(X79hIr$f}_grJff%$U<_gWDrU-XvruptEFk z6i|dMs-3~^1pdoQlMHvI^-X~2fvLuNg=u+!CrI=t815wt9!T9QME500^wD8r{_%sv zD!MB~&`E_P+SBtb3AsO3vbA?J8F#Im8!hurB_XZ7gFU5h7_|Jq@$*)TY-cv5XpFOT zFEjuhKo&h0v`)s}W0E)W%8JfsNr*BG`=cOvn*B5HciKZ0wHaR;mG(+y21P{9-wBhQ zsW$&$f3BK;=r*Hp$P5av`y@+rRdtX(PAkm;ui*~%KJ z&fT}G6fxaNCZ#9q@y7C^^dN9no??Y}j4s*tHjpT1L-TbUN0=!vtesdNu5RQ zWNXDy?R}4r%Q@uTq27U(UcwY@2Y<`^|rAdP}^$I~sZ$(OGdgVlynFYjk5-0ct=36an(7N~hA`+mDTUhviJ>wGO{C{x?JH zw72rk4SRGm0IX(V$`*&|MT{V}>JVG4Uhku-N(-3xeJjkYxaw5AdS?F}c4MtU@c87> znXLqL2JS{;GdKeLR9<0 zto@F-t6?6ENzR82wtx5Lhz~NGj7Qr`PdjJVoirvVbv7w5`YuV)(o&zD;S#FryngzU z;wtQ2&{y=^MVgPQ#<8!j6*Sp5THl}R(}zgwlH(DC7Z9bux1$#?&IMoaB3h-pKDwS` zwQDdq>!4q%8+s+qNb3OeE@9NA1eT_Lf04GNMPr!C#flM~g}C`r1QtJ)UL9p)}nJa1D$(Y!#OF;3H42Y!Y=`7&8{!Nph5wZ6`9=w zB|US?b+(vnrz_`Q#J{+IKPTuhjBaU9J^JOShgOclNT+p($m_djEVz|#McL9Jk3+L! zgG!^oay=_-$I7#LQElC;tx2ax-tw^A3;t@k}2UYW8x*Up6~lB41p0t z=RykQsP@4apyE^qVxN`TnR-C(0kW=DE{ZVcHI|h*m*|U{eOm)@Hrq9~;wZe!KHAL2 zE9z&Y;xEf?HCxHnYN7BKramgqYwmuL2{Tni93)K($J@U|!BqMB5SckKUBb?j9SL0p z6?y|zwJ@{(YT0GHP`AxUz_k_5j+ept3rkbdsAttymcTwla98&o1S;IpeV=%-GoFbUduNR*F(#a6k%-` z%102aR7qDy0hX_bfD9x$?VS+gp-@QkWqlv4p7PbP!Rfj#H0}I&CS0hKXg-;vM|afaim)k~^5=o1bAolszx; z?e)Zoz3lKb5o!Gyp}lv}8D4 zQ8csP0@R7tu)BmRE6=n|9T3DMi6v0~Q9_G?&W zu{>cAEc>u-G$@D2XX9Uj)hvFqZKYCC(?_6)QCwm~1jOfJgjxE0lL)qnlxAPM=Sk6q zj5Q~$+29}+!YQ*kP6o$?QMJ*=C}l&i!?>iz<)&dWqhbme<3>P_kCDC^OrPZBUSccC z*qQ%iGu9=0q=NC*7*;Clrzs+fUV^=PU?pg+SVv90VZJpThL;PH*T>70K@vrsMJkqZ^_kAe>FwFw?)~n4QP^X8mTQd$N!4Ew z-qr2?vdcieOI&id(ICa*SR!bWI&w{vO&Ub+5<_LbEf{kxm&zX45oiUv$}sFb&V6T$ zSvDiP0oiG*zc^Pb9+s(dPzyx2NmI}eE9ke!lsMQ+HTFKVBX$*(-9?{V)|R#l{?aAo z85?l+RIBwfS#{gRa)z9ZQIyujoN;7AKMqwLY*?!FtsjQ&e8r&nE2hh8NV1b19;AL| ze4F1gN^5O!?>xasOv&$V#wFBL`+nuE!Q!@d3?z2Bw+7Pj+QH#r?QehGSl#$}@CWcN`cOFf7z(Ler*)HTmIm-XFWzjEZ?^-c+Y&)u`qBUd2hp}SRyq_3qeU7WmGKy z$Ya6QGZr?g(MZ`C>Y&&mJ^YH!+s%a=8*)%EKk^tW1x;^lxi!M%|Gxt==TK!^1mV3;2uS)*Q zk3ioeZHc)BSR7`)yomHFy>AdN;0$BslK1p78lH31>~}oBisu9>3PkHA2Bzv>FvzOz z+p+dJ%$fZ)=}B0pK(9gBSxLm0j-+~Em-f%MlO^}$`nuTntY=kr#`};_t!d8!_Lg`n zXPj%6UI&E6OuA3|hWGVvk8nWE!d%(c&ejcnCJKYTL4%u8Nn>dEbecI=WwAOWyHaHn>|jn)uy>Jil;U0;zymdX8pe#%0f#`L4whYcXmfN(5s* zlq#7@;~$wS-!;ZgRAg`t(=fCKNEoWUO!Nx!D%-c{`c;6H(j|>{CrY!deZ7l9cNJi} zap+ki#}5`I-TL)!pa1w{X^p9WL0&2)J`w3Wkpw^Mii9>I3Id}KQ*b5kVV1?R=FiEV zV|C1+wo&2w2TE(m6=ou3{YX-Z@MJBn(sWk)t?{ zn#V+zDB+lKIL}$~Z0FJY$CO9FfJu$Gkml>YM_U>uH+*?r(dgSiwHS{=s)_;G8GL&y z;r(NUU%vW6fdAO|vf<(osaAN~Hx zkP=IjBW-_n4-LKBe{HdQ{%=I#2EgS*ZZXOR!A7S)xE-ZkM8jrLy@jw@9rMNR!a@YV z@0IY`ledDBIb=(+2o_`qftIVCH$w>4CbHz=ZypaD3O#-`o;C=MLM)-YA-?(1r(UNJ zyiE(CW$DpY$OiFSg`nXYdlV9u$2M;iRrbFZ(mVUS*xgc_K0cRtOcjHhn}jaXi{yp4 z&z>1SbUzT~KZefh;^(&_eRw$Etq|R@K1j+EM5{YEaAMK>;M;QH*UbDtpF9)B%XU?F z)wXb#K&rIhR|qWS)XY>mOrtT`4150LO@SZ=A|tE#i&&~w87`9zz0Qk1bEPwwZUmXh zFQvPs&OS9m&)4ZuP*eqZ8%9FY`*Zuqq!A@|WM)E;Y;ehvdajdJP6SyS2GjMr#99Wb z9Rx~(U_1V-esAJ;fam^xCmJXl{(^vf6X{h+9e=ZRjl(ejfo<3QY6k{=ZP19w8j>m1 zSc&WovZiJe^-0mp$pE7e@^A{}Rf(z329!0Z)2AG}55BL}3w0_RerJa-^-oK&i9L1l zIR4HaiPp|SBkh&&YJ+1#1baQ&ZLj#HIO)i%ktkX^BLlKT)vq?%edogteHv^Z`L6=C z^TZo~k=qR^mHU(;m7E!0=9fml+?$Yw+(7a-kW|BHC1w$v+2cvhnG-0UW@pb5d{Dd; zc&q((@HN>Hfn$EDPM|?CVKj94R5NJs_gnkny}i99H=-zM(z}H`%^LjWxM!zl4xIWW z3yMiwo_0oDr|eEd*&w?&-3z_FM+N1BBz*aM`ap)G2S$U5phRhvWOut4hS3!^y{pWi z(L$rm%AYHd>WjFyFWKc!PZ&C0AhMe7C11v(?%p4NOsuYP55V^gMPIJ=UNUlqfkSBH zOM4PZ_ojC)+I~LtP@}aa@6*jnk+m9IjlE>7zJq3Y6bLrpZ)N@Ic@3y{1W!Jvu834K zAI`#(y(2Lv=TuEcMI~MI-UCulic3p`Zqz)rDc{;-T&@sBmcM>Ul=>aR32A0>^O4x^ zecw2TL=pS>{ZV2ZTOJV7J=SJC>)<*H+P1V2ZaDyh%f*1aqYdzE)IY~b)lP0)WQ}2F zatr~OgCpijc~3&wpEjEN4s&dgt?kQ~J3Cn+Fb3L2EuP8}F%f6`jqFH^=MxExGQKA* zr`j86xY|-(C3l`aRlT8DHH;Cmc}Ky?%`y^ZS(Di$Yxq&bYTwVd8VLxjC=R2?>tjLAyg3qSvtB3<^08`o$2GRybkZ!1vpb(W z0QynDWc4-($F~OE3uB%Dt>y2dsNXQm$lY_~JT$CwNv<4O2yIFWUi7Qh!+8Z-0cn76 z^_jW=C($#Dho;?0Hsg0goFuioBkO~*U>{Zcq}e4{>)wF0 zj`ev87g0KdWoSWcXImF39{0tnFKazfQ>$QyV1TtVzGxVGU6sMd4>C0s)K}xCSdCF=-Y3F?cAF zl9gzzBMDpS zz*#!&8`$*aH>yK8?b~&EZ6-9fm9%P6BILTKVHG^cQn*@=1-Vk+{&xnKtW1-r#ZFi) zhkZ9B^>xBRh|F|#l%b_JKp3`PPV9}+Ec8dB7`_};;er4dkoTmmBYaXY*N%a=f58EdB*cO#D`5MQ{)l8DNr^&?^yY+<=a20GNf6lB_nh?G51_#3Xsw{7sy1Y< zoG_|v^!~CClB7v9A$&8h#7KQCUF0wFJBHYaRReRwVf%P##Mt;T)eSw}98B-1u$VP0 zpgSE~eQ5}6NOy0-_r3;^S@ybc@LmYAdg(i5#a74jtqNY?Bu&556|~S7_+~59?YvNQ zdOBH91#rBURYPo6+G44>5J(wpjlz`K9Dn!Sl0;XY^L%mP%V({25lDmX2Ds-&$d5IY zwpSVcF42F8Z#yUJ5?mB=Y{zW1?2K6fY|foYtyIe)xYjx-=3E9XPHph;U0{4o`Gw$= zb|J{89jLR02S&T?ge`j;mG%WSKw6~Q>+G3N4SjQ{v@a?U-KkH%+vUivWx-5#c8bvL5DI|(rcjyzVoE%%4Sb^ zMz~fiK829Kefw7T7qvram8o@L=#E%gNzf_zcALBCy_&{oIl3Y3?nipET`X>DSniR6)osgwPeSvwc&m-(2lLdM+uy+wa=%UNZ;C zWH^nfqIVAu|Mo8Rv;REIXdZ6g-B#Qdg-~_}VfcIJD`UsUj0+5^F*$$mD6CQq zfPXQ95lE05cEV8tWVEP_nixW?)q4?^4u=cQcSDU|bf8T)5YuTe^Z0Sv@U76Owc`N*&A{Q%3Yz(@xOycvwJ3!5PrOLm``P2V$*EZ>A|4R+Y!X)k8njYKzwYd-fXI;7;CDT35DX$qcC|hwaTX6(PloYsjhwWTd#jRs10P){08kc5IpI-;WL)e zM|wWG=5(h-X!G@TbyDMJ6#|35U^@gH0Jh(el+p&mv9&r(_w-C8QW(rLee@Nh*0iWyQsyXq4l(}Oar;3(n1PqV33v#zP%cT z%>c38CM09T7yp(ZD}Zy=SThAkMnrL%C6m+twIc{#eaRSExgG`3y~2omDU|1;-l5jF zxI|Lb^z_T#%fyc_U#?D5I%s6RlCKz|<&|9>lvRXdF}5bEiaLfpkD1(4rw<72Ns_Tu z0+dlz=SPb|x@_vAk`yveD;jHw_uS^*!{}`GVuM!Sym$T)Q9(+jp>Y0uZ;vG|TU^P) z>}W+vwi-1hZ4GJ%?NP&jdl4!l+<+`qmQpXt%hK37?t*3so?EJC;7#q3F`X)6U8cn$ zbzvtn%rpqhD0vc;g@*&tv^>Z&d_dcSapY_*6&F=*WwQ;}Ovj~QYK$`Tb?p_)(zj1@ z!e6_NrP|Y!{R-k0q&M>(XfThvDOWb$ju@E1Fw0mJ;-H`5=@N@=``s1s zbq!(T3hruwwy|N%JY_?&X7{*T=AZlVxb)5Ze;fnpILR5KHu28Fwzz=lSI*tq}?w5ZKMa?ES?sZxSsxzn*zz z*gE`5W9u20KtID5G_@X5Ic2s|NuWf|>+1@19`R&JhT72_x=QTil;*&O!0RgQ9ZyH| zWe|8>k<6WOyD4Bl`@1*4d-G<}2&$v6z}g{pZgE%@M4uS~18KAPjJ&f*pr%RoA{e_Sa!8`L<2k~yR*2H1ehU*W1oJW=Zn+;4ju$?b;fQ0fd%!N;BRCIIJzbiqVjfxw-! zPGHsSb>XVBNTn0TjmdoUeuWY#8?(ZUOOLCP)L9p&3c#3qdF!pl1`Y$Op9ca*fl+H1JibbSz=;nUGVdFNU0`^9?q} zDhyQ4W5u5uD-Zy6Jo=@wp4kykP=J)Q=dS^~WKzWvXPP4SC=FbT`I%#tJTum%y{sKd zE}(&sII11aPrzprEP@55$r#@T_8&Y@h$P}@t&j68diT!H5V{=n84SK40~%VYo1d&`A(<&s!cmnM){Cli*AG z;au+IzK@*gMr7@54B1{eie=UimglzV*=3+^h|KSa>ITYjubTHoEWJ{R)#@?B-0uB` z?jo2<$6FVya_tv+&`Nm$03J&n~g16G-JQzTJ1G3z4AnrNi|g5e?Kr7 zE@$j8cPKI*S_zxr*9QlwpZ%=d5&%UA9#EmQbr%t!yU&V562QoAvOYQfccN0EU)@aqP1@Estv7n$URRZf;q(An;;Wuo8A=gKklekxaxf;Gw++c`K z!X&BFvka{#97z#I!>MQC`|cAm{%J_89k5Cc!Y-IVsn}7}%HXL|?9LP33@9*8pcEe5 z6oBR|hdrm_3xi(#M-?w;RF{M6tir)!k&V~Dv~Hl<+ff%%C`P5_93A!7sL_V#tMr^2LjdfUWfIUbKyf*K}t1SK=k53MoS*&>Cd2W8ftUXp{5q zrqQM7?x@B21g>^lz|h*eA2@Uc8ms(A*HqAXN@a>{_D;3vQ~HNDuq{$YaE}-{#(`;82#LtD#*OZuz(@Qxhp0 zLqvjXQ|BbInnC?#S?TSv5OoM2t4->#s?` zcsv6EwmskcEx5HZa_U-rQ(hF*17!HPBpA9SiYW~GMYGd6P zjQD_h%zK0v0s`YPdZEPXv|UshCDu1yOT?x&otA?+W@$3Q32Ef4I@En8YeQkNiBhZZ8LDdbl$@m@D99NTmHAmoWE*#sWwLUEuU*oleNG8h$=!ApD!V zch?8G9qBnGXQkb~Bo&m=#|cUW@44NE4#0wAm49hpoCQ2S@@?>udXDN^V)y4xUFek{ zKr0eg2L(3c>i${azVJyt(-Hhs;+!~&V$yvvu_cqEUJo$7R-y;+2v}y6OZ5>G`!{d= z$ z`zWU4h_n`_Whs6rQ5fdmqa%i~OG=Tfz)tO`b_-F^9@_v|K_GTe`Fcgk-Qe5nU0!DQ zD)QoH4Q|iReaxyLs;oMb_PioVK_5Nz(CDdyDp|*XDclWlZaTpmxxgT#ST{#ab5m?3B z5b9#TiRY!aQX_$aAuD-TN0GLLJ@^Ya>8N5Yvr%L;vvr(U6&(@*@=N(@-Lgak)~GSK zTzB{W_mnNtF&IAwtXuZWQ^qwMmV1~zgkh?mH~dx0j{%POe9=Q9ITXKa&0JTf+fOg- zg@(NBg^^b&3`3(@g>B>zf)zvfq~^|z2%Ravt<}O7_`QeWxZN7Cms03L! zglO``Jj5z^S6<+cG9N)x0pzCY9>VUo%s%2o>~<7St!k7soL26%0C)%(ET5Ed+=90Z zfSZ&vuBc(y$S}oA#}YnY4bgkN`)-3OBPQBtu2u{ceQP_kqF2~kJXC~qt#K^YI<(zw zq*@!H&WLW{U1Zl%aHkHkt@z>YpFYCR)jcT}izg?4Qj^jZhNYFvM}PXic%RK~v#f6e zzyk>0^44C+uct0YyjRe8`!-Ftj(-6V4RM1t2ovvSGQa{`Z+smz*i3Cr8jL+KcB1 z5FX@LUF*sF1T9OF)dA}X$mn-SxiD%8A)QNq=Bwaq@R|K8M~lettOIRnQeP5cb={G% zNN77LJ(P>7qQ|6?uBrppDVM8jrch@wc18vbBj0zQZ!i!6%K~IRZocLCs~d*JDJlh3 zrPOy6md$t{#dAN{lp^Ia)LoTBmzRqBAJ9F!5r|R6TPH<%a<(3=WTl+8-;CzU9vmsB zkg_-Wo&L=`OvsZ&OK=D0QB>_)SDhduYI=i8XR~!@zp>~A3FOvVkpp+V0@o%n^bv_0 zl}K6T@~FZ;JT8U9-Z+SdiGzso6P~5l_#J?oeq>BC;O+TW{!rY9zc`jSgS@Jb_u<~) zRMUcfuQe_lF(_u>3~#1XxF;);KTYS+Lbl?gZjG9gDqCRO9GC3KpbO=)5kfnWmpuv3 z4QE$z_b{urAD&O(@I@3ANOhQ8SEjL2N%!UT4FRX^Z(K1-&=fNb-)Yafm=QcUr~ z`?AG0eLAheKP`guZSd8=G<%#G`o1B|;hU(addZ$MTx3&l%RL#EdcBwAW+r-MKs(*b zqLQMg(3_PcbXKNg)(*rq_vBKl82jBxM*8TiLNhOnxRR1#=okMY-l}{^)<$eKnTUB5 zR~tmm=VjYvI;#!`T_>1Ht`$<}TrKYCs_4lbA3$rmoK=MZ696AA*OqEbu8ZJ*N>Chk z2ySO3ebTSZ;W-<37F;tT8dv2JMZ_F4bzuxS3niA-I4gQgH$h5I;Lc)WXQS1QYa*O& zw^ASd@QFd{>m0sdIeCc<@%BI{B!pGCMR;X7N6}C>N7B|w?u5Z?v)RpPv<%uAUu*)T z2#+%>Y-@7>ut7Y&U_+e1(Je&h{_=_vb(TKmYOPKmW92e0rCYi=1A$xN2p{y-B1``q0?E z?3Rrc|Mi_>wvy<)G7Wa)8$YKN!~WO)Ta9@>imlY!la-UQin#Bmk3N0$tJ}_d?b~9;zq%dt$x#6k4xF*AtwAQ05J@v=*l#E>7!fpY zj(k0{Jo7cw^y~Ro2E@yh2yS|lk+Wd1{JoT`8=!T>2Z-NK!WxSj4d)}x^ZctU>Gp6yUOUVWx;3oN^HK41PuxLLjS{sy+SQ^Ueg8GCUJ2}upU#s$Cw_KVtiZam;E zr9;(8mq6{~B0?+8(AQCnmv$66l{TE?>>feIcQ`0m8>LoN5zZeQ*TW`i!9EibJn()UXH_g^>q+BH(E6AHm ze(Mn37W7a1zVfy2$=4%mQOT?AIaD3Bm0efD(>xL-ck3G1x=|>hf`z&!%69hY%ZX_a z6#;ae%!*1VI8sM&Ub|umu^4R!SbnJZjI5dqgN{o=<`B!_PcC?+U(zK@F;xI!S1QB? zXl^$Nl1*Js?B$h0T@cUA=XV%qtD{NSZ6LnZ3(MuYOQmNOl$Dqjf*ZpNrzD-3f`S6> z--3q=SG@AqS*-rjMTOzDiW7PgT(#utRXqc{;ABPFmvj?Oi(dO%n9gewAZXECSdZ*p zTtSY`B7_Ge8h7A+- zn~Lk-_>%vujiR~Xd^f8&EFVvg65>(J`CUpYC4%0}#Yc^a){sFn&xgO+zbSl7xuW6k z#zjryu3G9HFe+-_R@GukGPI|ePgXLXMPed+3K}Q3l`nn%hXv-2P#0Iqo}j*>M8cxm~NQlcZk0VLvR`LJxH*iL-iy>PM<&s*|Ry4e^=SE<~2ltiGY})<3)FV_-SgFw-r>#qk9qudPR>GcjS%?^VO!(Ww zlv~7M8{ezkizO3lJ@LQFgjlv6X}SRLOIJ+}vX-h)tvIy^=W_1gMbcwbfrb7s=4$|q zFxpu%4p%yTjn=xuczRmW=Z03RahFQ%XjVLJr(*wmffs6T4^vXIuuAbg{MP|h^|_** z2%%kDbzg~AhIV_t5EcU4jYB1`e5|(GmEy|FRBD&Qtr4OhSAR@ApliV^dubhfNy6u9 za&>3p?b}>;`-;4Y8lGEkE08P72g#LG+rjQag}z1K?fOI*iXP>6pvA6`?QxOySv1b# zB^rzLB^?YTL<^u#s$~x}*wzjjxfkP3!yuUZu2%NYpub_a7q3qw(Qb0uzoqQS_C6>=RKv z-i}U z3s_mTuf9FvLuTMhhdu_mb_C7G>#l3+vA#Vsa6gm9_jI4EtIiqgV6@(W{?^&&+UYM< zOT^Zb*s0kPF5W)D8wshY3PH`x2Q9wkX>BF_u{+$XUY{TKaS1N(Sf#=4ILyCbG0uoMWp-M}Fr&1x=I#Tz6y;$+m#7Sw^ z?9N>l%bGjKP&>P{TcyIWx{pc?7h_3{%=7umdjoTWV}Re$`O<$<89c|>GC!W425j?+ zzaV$fU=Cc?6Z2jTHSI9Yq`IP-pm@Bf)&wKI%Cgc=D*h4$Mvi*tFY!K(WWDEDJ-Q;~iVIPmWijMcvsEs-lSkjnxfQB5a8Mz! z!o&NWJ*g4NxKeU4Q#_P1@Gce=4k^&e)#4R9;fBDUI>C!~!cS$T0S!l|TLP!$%nj z)^oHuZ2QdFwbNJ1*I+*Iy68jkZiZ!u0q`#gYGmo9Sb4I&`^#U_ z-LUP}qbHf&+CeLI05oU9{l-b=gGg&7Y<0`gE!7cz%GUK)N`@3Q-Wqew^Oiy}7DRp@ zZEeY8kY9Y)A&rNq+c`Q!Iv^m}PVf8+Cr8y+i zCs6BUJ>~6b)(qoC~BktMKJet|0YtKEh$1 z=tX{eSv!BWa#8VM=zOS7$_m-?l0GM$8!LOG(ze&{=_C>U7L{!Y-s$)pt6dQnEl^*W z5`jFvk73D=BvH2^aS!2H?`3Z_@pz$-|;0bGiBkgQE!s3?tF5`4MCZep-=whf8BY4p$Myz zJ~I9T*z1r%x^5)iy+&M?$sLx9uO*7cxz#|9wUM>^FLJdQF?YMop&<^w{lp%2#R`eG z3$i<{#=*hs@(Hn>_6sG4>x0`jj$iK}ymgb!>~rZ~xhYqAZ5?7o@g22uMt|iPR+GDokZPLOnO4WN%)Z_)MZQ+>1_FlsATv^VO9>C zT*H!xuU}MQFvx}`>#icGuO{;OFr_Z|WSV*+Z(#z~nF$!J?M;Wl@g<$TI=LiVF~He= zKC!p7^gaX|rYf4s{Y;=ch!|7buPAQ55+=nF{N^W|mD~M+-8Z24uH?^!kl^oxpb;)Fb?)z%$=an59@u7@AD&}Wf?A;I@jR`7elZW*@~Uq1PlJKO3Q zU}8+dk~@rhR41#lZ(3R|!YA+Njx{|t8ejbG*obh_D5%&k6^cp_dHVJ{`iD+VjstKy z;fuat%ncJZJg#Y!jGc+(N1~cBKa~e4Oj&|jADaG0(G-4cdCy z8WZSP(>A!+B8f63Js5G6cAA=pf*5fus{^4JG*g*CFS`h!yRNWm1`SoYj8%v{$yBSI zI|jkH4Bk|(-1XUVlj;PdTeY07C$nqVy<0|CopA}(SB#pk?pz6hK~oXnTJANfr~tnl z>Mw?rhUZMRdH&FQk1H=NylQesV5i&OwKwtZouWvxM*myw5A}8_J|>;yAl}Gje)!}Q zVB3y5bj5o+>1Hr0T|tvy*9?H~V9z?Rmq!5n=+nUr8ialHk4mVZdU`Y#=Ff0pN8v|e z!y}#?jYfJ))+1r4+`nIILkin8sC?vcS-#DcuXoJ7M~s?%_N=w8TYNo7QetY&m;WJ* z+R@jsJCZr80&&?RuA*4S8C=IRzJ?xK4kgB_3pRkoA-wEYyD-4tP^W~*c|P<2&ba| zzCO)D1MQVUHB=-x9-Tl)tJvnw_%&3OWBO88L6x!|b<)ODHMb52tKM8+iOX<7)uRAVbnI|9$af#KvOg=z%*(4uU~eTkv%v%WX&8c3aC?GZPf zE&Zdox}=Cp0xy&XEo&|LRrV2s829_99jfl_)P0>>Jl2StU|T^PM+3EzAUO0l%-%$5 z9r=HctGek~j)tMXUcu=C%eU^$iqDsdWOAxjB;!-%tY z5{7ke7=_E-i;o!dFHbb4S_$nC>IKF^w5LCUW>&ic@+)GkTxwT9I|KIJu>e{IUeR3x z*m{)IT`Zb)BmZ|Pysu93eCfwQ<2d@$9Tk%Da@J|NBA%U)UpO<3x8morZxxcO|NObqv174+j>V{^{nID^@-KIud~eLK zhWR#kY;-c-vR@f;=TKI!O?6E*4%9wmVaXMP#!&zm1TBW>52B^Y8Lun$wB)F~n8%PP z?0up>qC!QrD4>bXl2=uX8w9f|ZmQh@s8%HtyxE(Xz^$U9pLu7s-2JZM$srTyEH2+{ z(SKTtH{vkhjg-R^a7|>#g?;@L0J9g^xnYk*d5i#eu(6yuW}SPLiTa{Wj(1NGDj~v7 z)lTR+xO3IKFP&9+w|l&c6neLd=eJR7wOYRUuI0QlN<;VWPL7q5MR$_u_O{eqCzzDV zhc$llu1@AhfARi=jHC9|P^gaZL=6;Jz_Srjox z8XFsVFPM_pW#8p)E^H1Oir5STz^>YQ6r!D@-EvTLMLAa^5e6@Kh%@;8LgVQ`d&i>N zf%l`hgx(`E77Z(E>y}F)%`%%)s734(;WqNKw&%Y;josq za~goB5lctSLi_!&ogPm|cufzIq}KWY@m9*$=t$w69@dNdERIV9U9&V+ZbSAVd7V3g z;I5tJ4q?z>IP2!%0EE%J*gdr++J5NRmCAdr55KoRr=|C;L$je<@ZLi&p*O%Hh>8_& z@cYgR&6Oxp$6d50zmZhU&d3wNYh3VI@WeoS3~)x4EA>41v>KKg@~`AJ0_PAH)roEl za;Ca+G$~3DvG!SY9o5rX)NoG*WydYI!g7Ope8dxb5uw#TZ}iewkE^?kz;jlmfl9av z?qY{upthcj1*4JNweNeLS5%NsV@&RG^oJatJA|Giun(}$1-}!40VmZz+wAl%u7DV-izS3!ueZ@prjpQTGry}>7BeHqNnlq4sgBgOY91I=}MSj%VZVG zj3PrX8&}T4#Fvv?P#&~nSYBzzc+c|KKcFcpKLP_b*b1W_}h{X$#}Kv+}KnTHXR=gQf4~?dva=ZvqjH~K32al zFlqd5NPuhHt|@^MLAQDhdi_L>S{$jMoJjN(zFYd){KQ_Q#ConIOoRB#Rkjs)YGB{+3aC6 zBF5VW!0_3R47TI(gM-xTa#?O+WL3>wduCIm3V5jKEmX)QSt4b+neL#z%6yc;_|&NV zXU;Q44sy+vJKK%cU+q?g@`uy`;Tv{iKn|rA$=fGyU$@$SZ8Msu&Dh`Kwlb!3?*Z^& z>g>qKepln>N5LX=lLkF#Yk&%G-2_y6TIJS2w(K#=n`o<`vI`OSg)MId5*+1BJ{k+a z`iK_=v6cM9n=YJQezEB;AHdx+xI7}$ZyRn!ZX>}cxclm{2XnYCD?qPOt9&TV;}>Cc zt%Y(lonA%>ji8z5uMZEW{~@Rf@*AehaL-}FvBuN17^nql%Ht%{gkOZme)Qz=P$UT3 z4YdlNr6ZHlluks>B($~af~na7QI*PBE7z&1=gx+S^S~FRwCD6^hRQJN@y@lLk5L#3 zTn!%Kxp8@YhJ7g`^`E1&E%fZSU6(v+P z;!c#-NUA*g-JoVccAUf+ukb&o{j>gcsdIzbp-;(OM1BHe)%DBEiNGX}q6M#4HpHR{ zx$swJCq2RbR}mYnA9;X=?gtWrS*f`w>rFs*3z`G#ZbBb=oEiQuMqRu7+|iN)7bYT$ zQX%9nA0cTD^I;OJjvPT_g{0(G!ABg%+CtyJcBu}^54=oa4;)0(m+Wv|+=W=H&-atn ztUoj{%t#n)^zP~pLw^Y1JMgU5=Ou z{MRoz6WAkAXOLdbdFRlbm2D+#Vak zwzfhHq6xHh|zLT4VX{z#cpv5Sab01MoA2Lz16i#~%-Ey?5cju1+4{wi|rM)4t&y z?7+!>60E@We9lPaTe&5)uq-zJGmRct74Z)Uaks* zA;3aHcCp$o(}n~Zra@u^&1`D{;kzI(ACgcxNb^@(T>g68Q>2x_(cxA0F_jK!T{I%9 zJ9s~6tV`NWV?Bc2Kj){EL)g{9(w*^E2S()ZxDKByZsSr}5b)u(*)la zTNN#JurpB&*mofnWf5VG3KS;#r@Ug(2jQ*_8|bgj_CwhceZ6%j#7LhXYBzi2oxGPJ zh4P3ovLR|o-eRY}h0AHft-Nf#$gET5Bt zVd#^qG#!#QqCky-z$zdzfgTU@OL?)?f+s>l424bq@Q4+pg^tC1OYJjZRWAUrzC@-H z84WTRiOOmsZ-}%PayydzxpdL6Cg2h|S6n%!VKl4VY3H;BX`XQPP$B4}b?g>%x^*Lgf$=jZH@ z^9Ig#;ua}g=X=86SW+>Vg(R28SX_E+jg6gE(zc|qEF;D{{vFAYE}|iHHa-AWp0$zO zXs98$2f%E8Gv%=rTs4yp+1AWk*Mk??No<^pO@iDAsyX}b3t#ygM80&4*< zljj?iGbqlkwo7M`a#KdV2kC^v+P}NX7pX;FBW-;VS{qphf$fr9b`1w6XDe4jQT-O# z)HY)0U1qpJyd@vdfhSY84(y=iT&taIZ*0iflzLZui|Xrm_auX?OH_E53=f1_T=_e_ zt1bxK9160o@c4^8Gb6(;i{C3bf;E3utn{`*E$LM1HZ%B{44MD3lKBV@eKquCdzXjX ziCIHG85;VCjrl>m#+`(^nR2_L*LOa6FZlxe-SQmDv75p3AcJ{O#<1`R1m1^LM8>AkE2zsM`aMzd^eQ#&Om@8wDmA&IfR#^Rj@-awqRjndUz(V+i@=t ze)ep3Qmb9waS$!=B;OY>&O1)8g819Sr!{B=76CVD33@muENt50uukrJDhCgv9-* zve37ob;+ZMytKO=qp@>yKQehnffe;YxGzZ&8}&giLj>#EOHVPmp7UJlzD!Omk^3Rd zD|8svwFFiXZog{oPYT zq2aGe=o4#o%8yjo>#kjO4O6ldpjW5w9WgZaNwnIF98iy(?&?NGmv{8qmSu(f_IUwFWzGOG6CA#pO>+7sCC;PMdyx3gi=EqrVf73sCWNu0ilm;_5T z4;BEAdK~rWKt^11cWyRFqxnp)aU=(S+jjO#3XqUc8_Lp*n7v4SXXwymN60eKa9MO) z)IG~>K_#0V@Npk#(`Q($Ej32(BahPDSrB}sS+m3MA2LJ#Hh^EParG#sJV-N@^-1!m z|KpVR9}qN{fDDyujks=v5Aeuf=#S=eZe}m$sXkC}x_*0_9v8 z*(FFh?(hrL8qaLX8@!G3*mus@Z<}4rvnOR{;0+_WwWsAWA(OdAw;@LQ|Izh6p^fEf zmS|whOQB4#Ogv(xt(2=4BJe6nfi~W?Y;ceyO|EJo&msyO^eUid<)&&gBt-|jO==OV z7#K(bB!_4uAtYg8BZP%zTVPSPEM;S&J=wgj2e0Ua_nmXT-@S5nj~wZ+<*TdfD5!JK z_nkjA%z=mbizE^FVvvG`X$UHOf&M~@vh0LR-jbyHhD}KTU?oCd!i~${7xQlfZIJ!0 zsXnQL%`c>3vl@Gg3^*0}q1&8eE~9IIHYk7af$}koQ7}LqJk;!e)`Nos#7`PLLj-0V zc{pgOwGn6UASC2q?cmwll}p zWY7X*Au)REbD+jY+qs<`=ezbrc|+@G^4`iuXb=|glP{`|w;ED7$byX>z6ne>8YQp$ zG}-V8#YEdVFB$}Ov?35ac>E{l>WWg}@%8wi} zwx-xzQ?aG1osZ^By%cG+ciE#M8N7HAG+$C=|Mmfg@AFeO+oRZk@fqwIMgX${s@RO^ zZY3I#xW7FN4GhIlN=zB~kEI`TrKoZk=*Z7l{ub4m#HJlm=1fTL}zZwBPT&V9J-)kI=Bn&Q$GfuFX zYI$`_9t$VZ+1B4{J?*VaMqy9AD46d9WfY<|kRr{=I>WNyjcRS3{r&yl-%}zj`>)?U z^j+sHp4?|1*O{iypv89h&!X9LEPTOp5$FtQmKQLH^`lbQaPR&s$x5Xx;zWKj>Wn@~R321ZRDT8-odI1W~fI6somhLV`iJ&#u3$-4IZ8 zU2isA}$6l#otDwf9fj+g{{{^ajJN zn;c(&ARh!KTbqHyBK-2^#=W;_I>O*#*6H{J;HKAMhatl|WLM%GnQkb&;DOm8>T<9P z{qR8iMVcgx#~`#Q9RxGxVEF(iIu0^wyzt?n)BF7SvR6BRn2e)rd;f>yhx2FJ@2cM( zaEY}nR<@gQ*^x%kQCu`xv5@!UiWKUjS0(&Th>FdxJvQHlS+Z8T8$M-r4OTS&j(Q72 z;Kr^3Gl;={f&>PMS&5BrQ?k6*_#`ZZAUX^?U6@p6x_yW zcAJ1rFEG}$X%FV8jsoXo9wgHq8PAap;m`)|Jd&585jO_YQ$$nZimKY_R;jWAy=I06 zBQMu;d*H9Q)FXI@atQN~<=3ajB{KKij~GN(S47=KH6zinJ0heRsCKEpo`T*ky24is zlA#=Qby5df&TY6Uu@yf;G))*<%5cXxNC1rRve3LE|&@?w5w$|csZr!8(` zNh!rHb96cg#5Nvxy+0FcWSTx z(HFhIjWzCmKS;+^<2;#MH`QokLuv@wZvTK#kH$HEa>HHiAcef?2vi+j?RS{eFHkyc zuS_P#@MI}-g8X-)O z8O!-VoUhgU+dKa=u#7>`s&24L$g2jap?`h54h+As0LEaq2U6?xe~lV!zz{K$$b$76 z_}0LKf!!U@RP__GFT!37DD89@ym5n(_&JyImxIp(V*9MeI|%y#1AaiPCGHQP$P$hT-sxOke*WC+fE7O+tU(6W0|0lPZEkLc&Ruu*>}rMke$$EY zSJ8TS#i;Z)468rB-CUhfv%(=jDoYp`+40^3ur@T6-i3WM$I z7qNA?;)CQgarO;@II7NdtMQ&UKybxy&2ZHY!}8VpkfP(>*nd^RA3-t~vt}4|nH){e zQIJxzbXVQFlpCi<;W1^_6(Q7N9P3>J!aWX`$*Gwu%{SkpLl<;+U32K%QJHm!<)boR zIXa;;`0?a%gmvp4`V8#|%(d}*fLSX;6Clj%5ph0wguIvoVfH4RXs8Sfo_Fu2(c=v% z=;HCo+SfP1WXdB*oTY7s!`Gnq`E$*wPvr|XIPUTeK(&MZ?El8p89fcL2Z_F0PJ|8h z?;L>_Xjf492IbGJGD_eL4pDa)s4omdx3t$9*7yRL?@eBba7i9VZh6&m(hQB2q)R9{ z0$^vLwKgm)@|d4#qV2bW@i!qAG^Wud?1S;R(_C6{RHtFOe1+k(#7tWOdX-4oZ)(mA zRafS)n>Z8#b6S3i3&=prtZE{xkVB;dgP}P_4tZNj`DiH(aw=toier59`=kK zYc|2EB)VaOCu$>|SMnbbXld_*+ z5S~ObYvfV+iNJpCJ+c$R?~=YJ;JE-;BWWc=r|N`xwgiYWn|Gu&RFmDdSXDu~n zgjw!;jpowRjF`!GbT@N^qn> z<;kRtm*1Q-b?Um-IPbAUgL_lTmw9ZRE+rHgKCqvV-AR9hNf!u=3SDqm#zljN{=zjg znw;#-4Cj~lCp5svNiL9(IiO4EFX%otI6Z#p#Pg3FCCg@X%x*(4=A0D{=6$V3njS>bN z#3BZR-@)Z27RAp(lJiIGbsZN!GMtKH;}vz5_XA3J_0i|ieDP*n)%*5$4%5t~#FY5G ze~w}}$cAMHj!nj2ybZ2i76)$1)VmwE_wp-xcMX5Bs5QVWZ*F)n78F^(V}XR7$R$+U z6~ohBF(nM>T&!em^+ewTg1G#V98*jRM3z)Ce; zfp_$8XU*2&Aum07a|N!C`>xRVuiy)wG=}{ zc9)4C!r?^7n~qtrT}l=|$2^(+M-o26gv9qyD?`@1Ch%f;sS46wot-7I#NOgWTZIRR zlKu(28Im+R@RlZLCSuW)Y&d)mCokKFu~hBfN5NU{M+&`0lub878*od}TkfnH1M&V%-TJ6z2Ke;6-` zld$&yvg*m|5_sV9>OSdk%HCnXUJ8P7N|WVl?S_E{*O7gwAt_YjJFKpaq=ExNN8FRb z+0J9nkbPT(w}bcCd!qhZ#$O!D~NXQVw=u@XH!wdZOX^K@~;& z=HTFXHXA0#dBftDQI5v3025#S*-(;mYjiho(#&}>X5#pYOWpHYPZ$c(bf?$2yd2~| zgL4lrFZrvXAo0AWRj?84KRzhQ1MXssuy3TDuGPL)%EyNff?&UtjyAtAPwAiFUqAn; z^YydMkD&qKE%PN^D20g0&0zN-x%59@1u51??SqBDn{T5&Uppf1RM>S35thL3m9@dl z=UqolNB1wn9Ga)5e9P;L+z4E81lC0ONOI;4a^UjDhV$Uxsnh8ThHBu*ZO_q&AW)AT z>4%BNIX<>4Pars0nl_`Uv>r#fT$OTP2%9u-t}uY3!Uzs9PNT8NwgQP(FlALEYaW~v z>s=R}&V_+CD6#zw$IuCvw+Kvz-nyC&i5pTbDcXu7=aHt;xDGpE#r_cprg#hNo{?Hr zUEiycZvPopSWiB4kb4-XMVl=9#sZ^n_;7$KTUl%)Kif+3YZ)id5dn~F%(#Rz73qd zm^6d^f>dJ?4WI_hV)wh{B5q2p62NMZWNwZ5cuj^*rw?MJ8HT^vK5q!1_nJ78YD^5p zl=It(fi-MK?Y#ER^>~3?ApWZCV7cr|*~N~B6;D*%z}5(La){usrsqNPb361WGBLW* zQ1Vsn+75^Dx99jv3vddh4r^{*nu+tGE}>1W6(F?_#y)nwO>-^&5Pq+X2D02D*(dG+ zoedKQoQIz?2a*Vj*)iVu`ntiJ0U%rrR^LvK;f*ZLCEkOD-^>VlH=5!eV<>!$Smy^< zHo*%#H2&BgTqKiuET)Oy`N_L+etZGnG$6b)8(t*sT5i_<`VTMH*fhANNigy6FEayk z(b&IW{dz7|46zj8mkZm6kc;KXmRKJD36y*|2qh7qu*XtEV`k1F^zr%ZFXx@kpZ>(# z2q>hZ7)!$M2i_3WB%#*Yd2o>*+s(qIz2@1b8*)E-sFgOnqQslgir2+e(Zo1}QFpkIkIX9qy^?U$*YZx7n?6O4daa@mI?Mp zM@~-PRJlbx(xq&?*r2AFiBsv)IxndV{^*cP{M|8_hwKU)X8}J5t1_U$tI-qa@+q%C z(DwCl^mw8{ExQfZ*X_-xY9~55Nuw6H%5`pz_XA~YbgQxl;eyuv!jKD{D-naippia} zOQ<;bLIIZcb|Z8#JR%Hw1PO6Y;wi0iU1?VJeYak`x6benpBHx@7mw&T8ZD;ObX7ez zYwB}z`C{l0fyXoTHfTiR)c1PwoG>H`>iCLr4| zK`$AtmHh;l6v`%y7cDu}O{QFWTyG~0A(`z2AyqP^6|ivrOTWVYa=c_010$fwgm19K z9RtgG7ck&d8O03O*AHudw??}Ugv_05wjtr&+IUCQ1Cxo5xo71M24ug~N6pR~vmvIw zpul;Llup+7+YO*>?HqC^ilYJj+%Y$<;}~YRZ-Bq;(3=DSGPbUm&<=h<-QY0?<2{6O z_ye5rn;D7<>-Ayda>y(xAow_s?k4*)^zC($Wkxq^|A0720Wfj(1ImkL9w1FCQU@*| zh^nD{Mn*G7)-NR^x0?m@C($5w&^fT1h6Yo+?DwK8m|I|?_c`a=f9_zE&{5VU#M}?Z zu>wn1QKK^JnA{uv4a19zi_e#kjbQ}6yX$+|j{#5Le*DVS&mW&Cup*(eXL9U{2}gav z@rHOaf@kz2A&)W?A*h#VGftI!>p=WFy((Oc^vFtaW|5$XZ^gN)x{EfvT@c_11h&WK z7m{#kWgG!;u<@pe#XDN)t_y$Hxw6e^5e%daWlb*x{ouETQ#*iX5Z&N3B7$)}Ow|{S zw0miecLBac?21OgIcM9xxaP%`bLBFxN-}Dd`Wo#WF#+-8z`Li67@t%w6v^(m0X!NP; zt%{n!5=Ncz7NgW?1Kpz1s7@2lPuUG@kP3Zvky~L7l7+)y$SQka_%x237Y%_0n1sJ# zQREe&)4Ib1d)meJ*nVu>cxrf@0iO<8T3u(cc7}vA(~^TK7P$RS{lY}mOloSf zmo1n1Wn>NR)6FaJZL>oOLg=>PC~QjD98U`FnJQ!%1Faf;I=r0deaCiGAsK8e+g4EJM&Uw}*Z=fXO%heCn$e34IIzSr=%v>z*J2*_7Lv zjCMB8*Z%J1!NWN{z_S3BNvw3+NeQ^~8h8(a&KZE$HoUxHClR7M+JmHK0%#?yW6eG2 zVJV6s?@fmgGqC#rTm>b_H#Y)cBvtn*TxVZCU7>~exQR>^H)cWX{`!R}#B$Q)u@X0O z+W~nQVg(S|7Vr{)b2tLL6!`ms5G-xi3;BWp`JP;*z~-D!UIAYAGij*-x6(dikUXkZ zb4S2nK(JwO#gngyz*sHs8oG0>jEh@mAO=FDA#Yxw#)#y%+l`6{MSoGyK(o+@i5@3{ zXvQ>;1Z}w-cEQ@}qN9O{8w~DPPh%EL1TNtpLDdh655aR)uMEaqTU%a^Y85^y3lDoD z0Kxc&_%VkH!u6vg#dauVWaP8*kXvO}1yvZFO(k+?UJb5;fDt@Q3r2~sM=A93O6=?# zUSVqF8h-9Zq~Q7`0(Vd2S_cp1kQghG@RZ5;$Mbon=nyIHS!4mj6>^&azX>FGkpDuu z4LS27V_0i!nSx_Xr-8!+XhY@C+I4;X)KOQrgplyY5HaaLf&y`D?0`kgo|lVeCoqJ__^b zH}~OvMG?Y2H>Y$8aZp_Fd2zqxmnr`1&A?gDoCH821hSuPX(RnB#LFVdtoS4RI$n~$ z7Rbk2Os=y3ng!hs6cE4xAy$IB;8uYYm+wKvG5a1`(m%7viK;E>ph1@9J91=|_sQPB zx%3$=gC;}V1`?j@ihFdZEie~aVU~R@VL9j}*iZ_UBL4Qz&S2W9FFAegf0{7bDk1Uq zME;>k(^XU}@0_HFx{*wBM$O4~-|!dpLMT=6iL!mcIzJWrF}(usc75)<+=k#+GjC44 zq3j|#4+?CN-g*+jm;k|4QW0ANq(|5O`gdy&NW18;^B#ygprne~nGiQE4X2a&s16WU z(H=4>O9SR%n^G(zpW4P6qp$bAJ~)1u*)d4T0{#wC;O^~T+Q0OEK{fEXCf+kzoCa)9 z=rIQCfjd`ZUV<3+IP0~mo5`Xyi!(EmoPzTNI6ni)5a}WO?Ge@Bl7eCQm~Bgl8e@k; zhvAiW51{9dk7sN|0%bMU8*OSIG%N-IcAksC=~)E7Y=AgEfEpSeWh%Dqdf-il)!E_p z;rx7+{&Fm!7DMoGil*(&8=bX-mjqy}aw&X%D+u0Y&PK@Kc)OC5wZe5nC7~nt+uxXp zVie?IEM<^8m!Xegz`Pj=j)RoSoj;Y0_p$&BL}N6C1bRL6BW#niGRi89p}+VdtZyq} zR&7TyN+X?K_hqa=7$#tjrgyZ&)dQ1mvf%QIjgYJ5nrhf$0mVC98s}7CRDt9fUf*&B zTUexEP1A14g&50qPN+%>7+w(rezk#VF`zley(%}gBR1MET;&}3WlsVHR!ZaudD1-k z#COEPNioe_8SlHnWpFyAY?Wvfo~BD-_sm1%SPpM$@b#_znV)pIuw4jAtF$jg0a>sK zL)R5bfY$@L9X;Yh8m#Gw8kyKnY@ZZ_>EY0bB?$nG?x018xmtL$5nGcory4>-{~XGb zo<}QT!7nHCj*Tr%q7^V8Pm6^^zd%N$J;w702bsEQe@KFTu z*5cT3kxS$&50M1=LVrZ~-I5Bc#b%~kWMnhy%YZj$AA1P=GCn-zt-{={+Yp#{1$Ier z7=sb3MZrDCZc#c*?w>^u6%VpdnDxP^C=3Q9-~66tC0dqy_6m_!A8DrIMq^7#a72ta$j{@VivVtePpz zDn-+79xpT4wU6vi+1uBI-@2C!Vwb$Evv^QaYV*I>{<^j{llZqcTM6G7 zcu-{>ex;BZIZQcQO~IWsyPg@wCJo}yZ$%euD{2- z^UN{h1p*^Qi@}!HH3LN2g=@85+!qW82I$q4IyrRVG;&J@E96&maEiGGg!2Y9*mczQ z4u;=+1BEdW_~F?2vjOD|vZuTTaW)*#EewW?@J`U*+6P}8QzXq~>Kd6dhT#O?&N=te z@*qKWb$Llsa&Oo}Td|1r16v#(qACY$zt3+Z1Gl>#D6x8od#JHRL*I0oR2&5e!9%DUGNLfYg; zsOen|rcy^QAoLGJ7Vu!iY2ct&yHBvc;>QE1cUELr1iLg}y1mXGqYc6CQ3Sxcq!%kh z8vm`kZ8wLC;YyHBSGYwz;!DbvU^IeGNnRjMsdX(oq`SFoAn+>zw$`@Mo;bZu%Savl%~!QKQRc?KGw-)OROmb`8FhH2sbcYt0Hm1Yt=d4b+YezHk+%OK-rE_gGTs8Pn?} z^)!Xf27Xb(>8DdhLIcmugH$`%A)`Q(}wV5iR>7=0=%G=_d>xLYpo{XVycs$>k# z=UsecrgNjJUECnx%y2vzTfduU?&b!|z*YWb1ee{r$s{Gl^f!gYb4G6hMRQgWTM0_5 zl$3$*Nv5;k_OZ#;VW|7Te+deyIHT^vluJU|Vl$sc&5%6(+z<5({z>T?qRFaMq#6oA z7-#p$*)j$!rBuHq0{D~s#09a}{nRxhnjv~Fd@4{uT~OW?71zxOW;v2=3YD3{HLjo0 z^aByH&=)2mgGz)>C;1PAo0BMeGFA8GFr7=;f>ys#YzBnPbQ3k{-Zes~2(5N9;Q0>( z;3dIxp#11DBS{>9BkTe0B6D&ELvLzmXK(^sfB+n<`yGVUO3^}$7H8$0|F#F(?n21i zXQE{L8j+6(acr;wa7K(BlGP@;C2lk7y3M!84^n{%r{wod3IOr%CoQvmHTjRvorf7h zvaanidtNM@r)hV{rR~s7yoS&Ql{`J`k80{%2y*S~-Y-3cKQi;N!64{1%Ps6T#Ek(= zN*IgVjnEQ4Y82VG1RF|HiDg z+IaL={_$sszYUOZ1qASJVz3o_X}uTXYqH;_mMH1p2G5z6!~b`u1%|rDQ__A=vXfB&Kr77BVC^nO}9} z#kPIzr0$~8?AFGoAv>7&|(P;U#RWZB~?|)n0JUdl}apH-hJhe3WqN; zD7QnPbL_~il0;*pOGj}fOuPBQz^OM^qoI$)_HtN!hGns2TfpG5{Q%xoqCvDRV`~6_sAy6VPo%Prql^TX<~R}6YhFdL$TO(_wZu= zD54Fh^beowVNo_FU__6I=KMNpJ57a2Is4 z;_$s-unq3JpKSY_8{t?SM=w3f`Mc}yQYrCjJGCL5U{l`Sq|2T0Z74??G!S|T_(ha5 z#Yte$R7y=IpWbl={OQxXzTRRYakT{4in|i41sNYBj|4eY$nEgnz8g0c1)yhL0yJLv zq{{u0L(ZRTHIyE;of9`O$U1 zUNf!hSp9>>t(i<+qtJ^K7-^Fouv*+f7%6Yt=>p#c2ICqo@)K}iyIwsTWrz%*#~M%a zzx2@U)MGUQiydGSZeV2G=^X#@%32I+IWAlPakKQT=OI-|6pvK3y zUwwSiO6bWN$kt#l;jUU1zSxXZ%)YWUFJjiZW0#P_=(@6_xiv#5@nUXpE2taHZC5;g zGE!QXD{)S=oK8k5kB*KwZ(g^ra=P9!FV=om&SBDwm+!z?Y@gQU0HRs=sLX>%mW?_a z*S2$RmZ`6%X_#S{+dFSO+k0%z1C(QcG5MD4=!YqV2~-6_i(N|-Gh;4iw2r{ers z{e`FQS1KlGKt@33-5tSgai>g3mkxsfUj-Sl@-5kLbakcFE}DperUqG@2h)zE%Q=k} z!BMz~T))V?00D+hEMEQ+iT6sN>%4#9k0KBzTfSSd>uUMTM&DNRteGPHWgulM5MWt+ z>HB5C1sQNwY14|vN-)&&=f08CZy8J(f;e7tbDPbI|AGOp^d$9Fd(><7b;_Rfjb0t!Y#dr^YuFM#?}!9BfwA3!(jVf{z5 zR$s(rA=D|ERKe4Ldg%L*V1;0hRKqaz3{z!%7H#Gt*PdzD+sWW_;$9Zh-z4&vze@># z2T3lImyy0Y86ux2aa&Q!n~PF}uhk`EwnHTGJYYE~3G55)iys!v=PZr1h_BA8MLI ze{h_nY1jTm?7+(&twZP@HeNofJwQa&K~V$t$cDc#3inXwfTAP_p6#YWMx-_5jC{aH z%&pf{56mm=(02T6HSu}(E$DFM3=S2+Z{NDu8Ao_m!h1}XcU8#{Iut%epCzCo@gxFQ zqBQ0hY-34m;IHwvcC0|?FK+soxO7I*w6o4z~%}aK%lwhvTL>o!R~(& zVYU<48Z1_Zy_eC6-R_e8|CGjsxQ_qiUY&z~241U|TBO*t8KR6xx` z`(W6mQ{0lcFaQ`z=#>X_$n%wmjLacUF!$hT{B_%c!S=u38;yMZwn{zGPs4D zhXWj{DTt{#j7kU&*fGcZ5+pcD$^w6f6Ydo8%;W zB6BU>x)d2N8FtZ5d1P}#dClyC7({rBHEhz`izf`u$`hhf7<&&58P%~gnT*?pzu$41 zta?FsjFKX@GxY~12d-oq_kD^T1$nIe4Ft9$jb$bWV($ZmizNq4sIbgnz>LZVM+sHo>Sfs(|QyJwskBsZD7sOQK0_iGOt z!#1gIO;yDWPO3dKdf4NXeUO~scEtW04|;#PISAw84=-PShypVRlR)6FZ+`g?!|MS> zQ`kz|eMAp1jFWcGI~_{FjC5c381!`>S`0gk+>rD;45H;SK4vd*N8+uHqOm&9*x)PX z8#NxiUqRp~B~Ziy!j2eSd~y$B!-$3NN*FYvCRdKH6(kr@f-0JZUm0DWxhozp|5#a$iOxP zqH&HLNgIZ#71Cc6HXtL4K^0{mL(6i6skb7Zsh6fVNi4Aup$t7^UArho3Dmv9@wmKEV#Yy+%$CBu5L@72% zZ52g-KF2LlvP}lt4OZaAlqxNmmAXC;M)7`*Ju7#E+!CzE! z1k)AtT3w$FhX=tQ3|KUHZ|}$4UitTXzXvG~!Bn?M_c&z|WJU-K0onX6lW6^n74x?$ z3chM71~SX-ZOd7*KeU+z8E!Euldd0o#XZKihFTgJqpp}FRz*n8Gn<|_sR|{istl6v zRUOPM4iMqKiVj;ILsjT|`w>)L0%y*YiNnm;q*UyuL>5A9<3Xu`5mGyr%iQ`s|G(K4 z&fum)^%r@DGe*k5-z5#WseN_^3V^AdYSJUjQ0mtS1~doH?Sw&BMop9ZNw|uf@Gb+` z-q+)hjexU*VO#Bm{fMyc$M*wuIhSN~q7Euq_Y&f|st;1_A^p86jis+W5Za(FX%sMw zuQ}0%`ih(oLh7OB)nkaI8oipUsoDb|d{Q1I0r0TyhF`#MU32UJ{PxZ%t!)+D0TJ(j zvg82?Dc8qX9p{i z8V$u^#khWsRkHn}!ybK29Rl#|neT2ty7u{_;*^6U_$%#w0k0}&pk536Ulc2d346`L z`(01cTFKH-bs&b#@6{<}=mq?Bic5^#-Ujt^tui#p{-Tx5aLA>472ueXroftg*Soz_ z<~*1w&c8umzA?m3+guiN;JjU-j(MlNkt0MKz6yTJBCK{r2_N@Gg zNbeDji#vd^mEPuS*Tt{PC;&dv6_n+5D!T8XBo*znrD>dxA&Itcf7g#Z@B_6-fcEw2dRjGuL|}p~X1TBjRiUI(=A@)li_s#? zfRTIYQC1@abgcjAw;XuWl8TTP94lk^yogGYN(R9TN}ap>>yb6Si<78=kPu4Okb)q) zp1ctYtL6Y>u~w;}sJ2>!fwEc%xF9x4KMj=*d^=`9dn0hkJCVZQ3)0>$Exn}7`XgM0 z^onv~1Y9W03o54Re9n1wm$4g6%Tk3x;#4E>4AfnU<#5MuB7`#sgOc%XKqAYP>_Fy7 z1Fiv*r`Q8SJGIDo%MsnYi7VH3aZC;hoXM!W;S|f@so?i+&*|^)%fBz@>%{<61t-HKT}q7lbuIKl9F+Q0<5|BXNIQ8d~9;4oJz@+L|YP#wO(b&ZT2mj8VIwI zy=WhVw~c7XW_=~uYURszfY@c*V>M8|Rj5>aRqAw;CP}lt`$H*!1ZEhQL?c@MB zn5@ICV}B3AuQC<^9)}$=suiG&0_g_Mjwhnsp-m9u=k~y9xO-@a+O>jh=Bcu_-}0ia zjqV`DkvS`rX4j2Dn{dWKGmtUqdTXFAWKwyZ1_CU@UvXr6!qYMgpsvAuAI@hgG3+%4 zQMr*IxWmP?p(pxtldAhg6$EzT>W%>H!k1Ps(EG@d&w9}kX&ws zQLVu8h|2+r91sl_Z}nya{qIIJ6JB-qiY;!F zW9lSK%214kHo4`EXqZhUG+_{Ec%i@sqQGf zCo58w^Jqj}Q=~kNa~nN5V{|e-ahnxvz*TCRna^oBy9magac`Qn6e9Dk!0hxzo84rK&)^c{O-bw=KE$h93CWrRkp-^Kiy2|~VWMRaj3VEwZ$ktZr_Q&o zdUnMY&AH*n2?b0?sa+ZtZ{1U9-1;`lS|U~<8LIx=cVhc36DL*Id+$;z?uePG?VP#a zigZ>w4Hu_p_0F548}CcbJ){6yD4rZ3!{Z{E zZ?u1C=Vg3K=CumuA$hdhC+ioyj)|&`RF>3+Y+GSm4T+{1HJKVVl1WiZjG(azW^oa6 zL=0R8CD_5N1z+On^DQRE8{%~e7=htuHg73WXR>92=Bd&-t?!g;D~XtU7Tu(?U| z@`iC@xs72jI!VhCg#JGi0G^z{Ka|#PSDDUi7iKFlhsJ4x&vXf?R@ws}g+G*P0k5la zN0pdRZSOH<{lf_=e5chn>zZy)8IVPSIGQ^CMg>ODXmLD^NUkaOz$Ld8VUEq=uOZ^| zt_I2U_m09G_z}p4N+ry6VH5Vq4zl6rZZF~-xY%8>3(*klVysbj6@iOBv1T{ZeDpY4 z=@h1sc#cqQB!QGl21=lb2ES#DXzek*>mC-_xd7H$bU>?UQ6H~smi*eF)G-76S4F6R5{JWaG*4-NL&3dGZw;f(tPVL z@dBqrOSb@SA7)tBm4mc9igg|)E)$B;%exhkS;8$vxy2M{PNQ$BbT+s+8#AMd1hNnKa?lq3;ym|f2*iluuce?$F?MU_%*T&$<&^b4?_H}%Hiolrj%8=Y&di*orRAq!9v#DgDzkQY; zI1!#KAp=AHG{&uA!X1Z4Yf2m!Dh*KR&>w5@oMc;)j!U-1rh%M8K6^1H9=GWe#z~Tc zWTTNBj3rJ={*NRI?HO=2se|4ofvUW1skiq@#wo@c4%?I*a}SKQFOo5sPuX^a;^5f6 zaDFUfai?LZID_EoM#&j%7iWmU)kc5Lr-PO9H{CjXGy zeK(`D4a}dFOo`F-d!IEM1j9%4Uhs>GBLn0OQe0s0hN=gdqTw1Vs+yVF9E`b@ofu&Q z&O!ma9!AQQ4NsB`4ZZG9da<#&;#A_QcspXi8$w|1kbUD@;iA~zmSBk8^HI)WxNI=! zwMxv&@aEqgPMyKWNgUOWAPmNW_Xx;+6pTo@0KuMV<*@6-H%{F0)(1PgBQWLJ>xAG9 zkYI4&S5$PN)qw~c6#{DlZO9h_n7uui3C?)t4RDz9C>1M}0z^j*5KuW+3AZDdqt@y1 zopO5ps15E&N6<`!PN$KC#-g(jY|+w#*1<g%6o|411Lv(MK+F_BiMhS4^{`P)&oRi#Wx? zyCjbGj(%T;ZC2Z41%4E}@en&BXBC9d)4##3g}o^J3zouK8!{^(lQdX!O~E;h<{~*G zOh(%<=f*`wHlrPc zaw{D&yr-+M`3C)Z_@%}%{-aP>18GP35R1jhEmpp0Sy<+A$T%NFUUIRxXI znEra#f{(LbI07GW-)tbpm9C(7$0_ah&JpBah`r({IG3x0Z7pmZ!|znx3#^ zA-%3xX#jGy%GeBqQKKTE3(HUOIf?HHg~~-tmmg2)0)DRG3&T^6rb|KG%!%^zQ@rrW z!+*%#^PJebAfsJ$BRenRr^Bn%Ur39vPrw(HgWz!yXlFNh?xN zkD0VPGn9q z5^)iy-BDyfJI_e7b%$WgyUgA99ADq5Rybr`QnM6h%2)%37KfD%L3A1Wcv)?{JxrNLz~cD)wg^uEgvu=o&mwc;DYBnXO*nc z?B6#HAn)(7&OMV{xQRjrI+B<_`ICLvtpJgcX0Luz;$;G>zU)i&L`jpQ7SOz}*ev6{ z1YlCAtQ`%mZI6ESH|uCB|^4ESxNuC?>U z6XQC@;mLc@?7Xmg0@Tif3fJMCwYPuAss04h-HY*ka@=Rg7XD$7FQQ*7NdPv~GB^3ZOQGM41*M=2SIME@%kHLIe$-4FL0#3n-WeqWuj*I{mif$7mv+e2JR|T)?~R zyJz(J+z?p+%xO9%)Wlf3 zP{ZGYbGo2NoN?38`I?U1o6b$`YfPry!i(K95SS!;#;xwL9g2Jo$h8}tH6zD?{lbi- zT&&}ulb*>3eEy7JOE<5&fL#c^xl*UF%Vu5i^RrOS?~ zaoVF1-ECj;t{RUp!Clo}MTX+dxEgRHHtBAx?06kz<1h_&Fy!KV4QQ+?l0$8WX*AF< z5^3$=>kV#VD~yneyOaK~p7w`|1-a4H1~`|~(iqEO_=+mq>;I=m8p0>6Vb{}t@MZ|R z;lOfM^7<*!>v=p7? zaA*L2$`?-UqZ^@W@l?HkY&R6gO|Yk_6~#)Tkyx_mc_>75xLz48>&D=3@0evN{;fH* zVEWcSGkEGY8+NyS$eNLLg_&{_GOFeoGrbT=!Zq&}4rvC37N^dILRcxgTpDUA&GM-tw)SMJt2R-o?p!m_OJ3Za6ld8v?VFqGpWBfzCjY+d}VG(cgWsHLzeYv$j`zneRgDS{3C8J2i(QHhN_JAHyF`T3BQNHK!}pClggvx*s_urgz)l4V zU9W}k#N}et645=0vze8yZ1ngMpk3s#SkW?v$`d4MYVO8Km15PLBxj0oLX~vcX)35t zMZ~1&DK^cqka>#qErKvqQztrvG+)g!-<$CCn5w6pRkSv#@{AXHOLYP395YftYY5# zND0kIE7cJ9RRvriFJ?leTuA;xOq@Z0A(6W8yATVj*lZ^8`n6`zltp7!oS|Hbtw@uI zt7585z6c0Mqi;NYZaQWr72uIP3ycyftOC*=v##`pW9bt+jGA;3sitA&F{wABx$_fg zma)~PJV$v%Z#cK6^vftP^i9w#4`@8%_LaX(VN&>Vi4KXehg%g;(U_f(AcwYL5#X`- zt_HOHywqY@A(&J$dw55igcP}s%!y?1h%sRUTAl#pw*dP4IsxOefUh2PEh%n9sUyq0 z)~G4_B^Y;Q-=OLUJ7L3Jd{1xiAdfic8Oje)dvtt$4q&uz4QliJ5J%3#BX!f5DW(cq zFosMS?R}U1a`MjZ3+#^Mq7Ky-#n(xlnh5UGXAofKV%aZms5}S)uZF?x*YxKC`k9H< zfeV+3md1!N3Lf@ITopTs-a+Ck97gI9gq8{=Nm5SPtJRXknuY^A-C%HOr=nB%60Ri! zV7Q;JXN{X!1Wg3CGt@ZFHfUcnU|)N9Mt3i4Nbl8cq&E7un@>c~FdT(`qW2m+hdu9m z>~7yj)8@^9WAUC>saV^=_#3-}6p|b=IaUN(n-S>7B@G*!u5DJ(l`uFSL{~Oe5SYs6 zqxBWc_Z=~Iz>dFvsH&3Ts8aE=;j)?n6{EcE)eULPjdN;F+FtiAC0Akv)T_k5*Ab-0 zI}DaS;=~(^X+KmElLo^7Bu>j*F2m^~Y_4BzG8(IVL}hW6Z^TeaQB6=)mHfhULkEc4p6N23k7I_*$@Ko^|Zep5h(0r%A<2~#&`kSI^ zk!N-ooL&_*hj#Kk@A}}Hcq;xoy)!toKlAxC7=V#<1wj@Dy+!vlO(Xx(-j7G5z*J8| z+{Cf9n}Rtf{&fnv$_z`OEC{gO5FAp~tR@HGvv96^*bU*6#$6HUD9@5aOQg79&-n2RV%_;_Z(3WwbfdYW5K9Y@aT_1OO3^azRQ-~ zE!8wr@Fvrhl z$^V`_OU9r{W3J&|-`z*ex(3Njxnv7)>9%8Elha`J5G7Zq$|^X5fk-6xOA=_NRn=4N z_F$i7e)RE(gc{#10EYpxc_DCN!fkX*w;73oXHP~G=!r)`qYTk~#=bEI{GHRv%OsGt zf|V&KN+r=IVN{sdkHPb6pnLY+PwZIi2Spg}2EL@lSdTFvyN#TzA;P2U?UWY`GMd8Z zC(}cQ5T(~W{mKBhhGgaQ2ev>A(S(Q;si37AU}kIt@K54*>2n`H2u*>DF_ZXU|Sr6;ij@K$e#*9o!Y=Ehp zK0iN4PzK~%xK}t{i_)Uiu5f&eU*MaWQlag4VzVIucVH*Gr2Uw)_}=AZ4~y`D%*GGg z|E{535haGq_e5J$O=S%70R!aV<=tGZG;-b3u7Wn)@e@KLLs{;2Bwc z*iu-+^qQ>-BF?NAbfg=V5O8(k%yqG{&y{|ebLi(B`5IJv#0N|93Y=y>mLQqYjm9>ayYAV0N5Zb*=oIHDTL$RpIIg>FZ#M*;B zmJ?(6nz*xtn7PP_v9!s2f>Y^80bMHPNz#I7GUw+uhU=e*h0imDkf+7 zBjaou=H()#S?E`SDvV}dD9a3i4S*T3k&q@UBSn?ld^4eDc&-7nQ`N2(ys$7)ZdODv z^QmLym7lMOue^-7<-w0FW5Jx)7MXsD^PdXModush;k!!AnzMkRKq++g*5}jnK!Tkz z-^!b`<*?iG0>Z04`+ob5$^AkrDmmH;D5>MOA_s7xAIqNOBBT50TU0<41jYR6k|9}W z4t|XxxPAiiTJYAtX8+7E_r88#KXZibM^dc)RFGlq2k1N#vMs5@0t2?$nAS6;O>{y>NhvBd$&ur>VLa!_c=9pIu+d1}^m_g$X zL)&5dA0P{zwzzmqz=4mPQ==eo>0@r{uV!(KB;qSlg9cNo>Pa$g;FJOXyX;TzfOW6= zcj4V+LTWwvRCot6>`9jxRMYzNOQQ$Tm5M27=N)#82o9lggSMHzVj%scf;WJ`HH2K9 zqk$MHj-j6cv*U|oiV+;_=^YNo7h`5@xa%esAMqeIy+VsgI;=rS+ZRZ0;!;np4mYiO29yVgMsMf zgCaUU7y`4Nn8DJ_v4)wK<9DT7DJDyv<4ZV>?U%b@D5ccclwQ&Bd>vH_s|`tE&?q2U z4bs3+T2>(7;qGQUey&uaTq?#b$H2N;s-RXOA36IbcDu47&Ehk7O?lHt%lJXS-!Fax zz~z9UA!lPFGAcR8)q6?D%r64>^)r*QV**Xdm&5Q*Zsq2oqGYQ8zadLO2~q6j2S>eKh=?L#IU=JO?hvTi{UU+wF$DE1u*u7G5bG`Yt2S5yV;3 zg{pa@LGc|!IihHdbwXk^13!IEp_8X&_(d{dnuYZtA{i@RP*?^!6Te6oS)9bM3vP`A z3Fn}j?=}+AUFcilE)-KnP7&QvVt+%Ilzr~vXs&cAo0?-BeaEC`nv3qhX_=grh~?6b zzm#ABgQJiU2*bP}!jnHZyuJ#{WPIQUYydPq$N-Nk4TB98zh&;D5-mMcTCYM7^{JN6 z>_b!_<27+2jJjK`Z~H7h3eN-|l2k@+K5B|02mIx7*Pkg+ zJ-yOhB%tBr(p8+?2lUKff-kDE;Tyf!!t7AQ0~j1tSF@N;Mh1X zCfLwepFbR{MiIqIlve41Avce}j=RmIj$?En!We}q^{}TMGBF$@Xy5ZfhXo(+#_sOZ zO5e&x=;r3MDyjlxu9GdRzF`|>f-Kne3j1w& zeYiq(ee^cHPPypq9fOZ}x+-VNY0RM0>u&(W;KNmSEFEbP%s^>*cXM$+638zm!%#Te zE7^er(^1sxn}&Rf1Y1eaRqlC7jH^a|HM>U86*>i{qbg0qBY`Zpzf}TRmCd~vLJN7p zx4Ud%S}@>w8dx!^jJi_@w-#ZZJ?fI{o=i`sbQT!|PrE1oh0f|!Yvbq0$~YN4E<(={ z&gd2Qzj+1IpBY)TnlTwLalI5lFwWUMJ@tH!OdO{*?J8MX9SZ=>X?KntaE6&00O2c^ z4>7x0)?gZPF;!OI6B{Uqo4?AW3;Z=CCS8Tjia5*h^J30*Z>AUzn!6r6#d`-{gEBT2 zjJjg>h}2Ybeq>}c3ft|jdIhI<)HW-CI^(vc)szn6CoM#d>FfZCDv7;;*q6>34(yFK zcUQbgBE`{k8Bg6YI{KEaz%9>zd@`q&b~+(km6w>Ufh}(V?khiwT4?F5!j5=lV13q% zzV|4OfWMRA(>ZfLEYEWfchVV4B<|1Tw(av4AqxOL6V|h6K{~IoT982;KC^MDe#X?m-Ox!kZZa zC~GJ~M9?H0xvcaZU}p?GWuD`3_;1iKAqLubxj`xC&om)TmV<`j+41>oh&rN~XIKk? zAqHz)+Qs$9b~v`k7ihhw&It%?hjMc(01j!9vrg@tDlEE!3^u{fYcuGl*o{>41dXWL z_qd}zL2QDr86l==GIqO4g64c0pJ8k2)z;t=)&Y1AAiW={`vC*sjopB`ZzZ-;rnAB{ zHshV_E|WFl@}d~j-aGuRj-hq*)7@?*!s%6OQaIBKJ&RRnSOWXsFIMsQg^#$^%HWJz zd)H9Cz}COY>H;{PLjxR-Sc?RvT-oucNNA8ZH($9IxDuKacGxA%wXYq^o+782+d0=Z zZF>S0bG*qYwa5J$Z0kEE@W8h&NYypLg_q*_19YipKgvl-BJo?GTp^AR4*(_i)mak zcp9Zu&R2_%=G~x+mJoUx1YFN4q9Xi8j^ep$8^Zn=D1V3N$Wn{ZwiFUBV`HpDb{J*yd) zDTy=!C&{A|%%Mbmk_)5~QeZJAnn)Q$U70AbiXqRZgkN}&Ge&U_y%OnE(`@~LZVT`l z=FyqhsTBK|ydh~NjQUnTZ263t*h&wuCdylezRgzCTaeD^PTEosWrVmg4wC?5?HVOm zlK-k6Pz0Ds9iqJiVEgO-zTc0sKG@4E?%Yz9Qb^CDKG*|7f;x){noX>R-6G8Xqhvkh ze3gwxG#iP~I(O!FR@&zADv}!iZL9W|1X#RSPTUmIBYnXfmoRv_Ff*2!nn3^_i=p!#|Z+e%P7uW$qfAyt)Era3wFSX-?2XNNmEJRnr3pJ!T3qs~$ z9t1dlf&J@ckLgrmpUQtckO3FqXjt3$2CA%Cj{(#ijh_=Zao|dc0urqLszolsHb8b& zH1FYptQ)NXht-p!UBei_dgX}JOl$At{P=?;$eyDo*= ziPT-Ivg?h=1_h0iR~bqICbGK?D$Qi(jSyaG?09E=htLZd7GFAfNRjC>&mXCtXSEmPju2+36TSX!>@U_ZkD3ziCsidd1 z3$Ak9jd3{!(MZ4|qcz}#jyf&0O}pp{pP{WzOMHcSG@fx&(aEFJSeSMfiwJj7EF|X4 zp5S0X3h`B7zuhULJWe>e4iJ2DGJPC9PEVK_Z7~0cW+OR)c~-iPsIEF0byph%nfq}f z@6+fc_>yqErq-jm7tu${<-=~`^pGZ@ED7P&)(`)dp_~Wl>{miZLxYaI~k^ z%>jJJcZvp?Gb*F2uSwb+f)lJaq&TWedP+I%RQY)|Y4;It`5hJ;8jGHU_;aQ87^=xV zbwP-mCHB6~`Xm}V**4OnJjMgdVqO+E!ThIy6lsQWP>~f4%W4wk zg307K3HuHPxdz4k$tMtCJeSO4^NXwUtP3V&+3)>BTaj0&Vle#UZdWSjYwSvE4ZPP2@we+kwe{+_h^rDs#Y9-*DZD3~z#YVJbZWgD;BO>c z4sC)T6cQ~2uHD@9ei#fU`TXbJ*EMLfW(uRMu@lKa7>pQNt_M^rg{M1Ggz8ckQ(dZj_k2X1F20vC8Z&b<~n{Ze1B>{f#H#VNcOm3`lCQOwZ^C%%wgPZv=?g6B{^E=DY+kUVNH%FASC^}=rfBx!~USt(ai zTa7%&qojg{=~Q7GQ_Z3=$W?Km(iOQ0&Ok_wUG;ns;GRr+zACcfj}~`+rQ))57sb{l zU~J}4`mlt8ChvkCT7F?eRz+9_Z%cOo(wp6b=wjdrdgQ! z>tOm-mqTcYkPu5JzV+I{752+34eh{jt>J1)v>S&#D0&rzse0}=x$!07-YaqAOx&|h zG~5!PMzqxHkirnQzf$AC;E$F=?0sOjO$J;Nv>jgUI6Q&2M7A3WdJ6_jg!gF1t*%02 zz|A0JHXsI$qO-SOkB7zh%v2EAdOgi!5^-}K0lFCgSwN=05SYf^P&EjNRv^4gk=!4& zQ&0IX7RQ5R*a@R4L8ERuk7S5~CFaSd z0i<8;M%$|q7%4dI#9uE|ZLrR6$^p*;gn7to4ZU zGr%2{S85za)CPbOGUFOTC@~EmvM7lSOi7reXc|n+VVqd}7m#=i@I9yT76b6}8KqRS8rQV#OGI7)8PCDlnUX=m z>msZVYe9nLT}f+d{xufd_+ju%uXl5Ru{H$OUmrl}d`xjP(>X}`YaYF!l0q@yb1jT} z_LVW<_X^oy!n20Qj=%)B-4~l1zkO`RQIU?J^d&vr@2-xT<27w8k}e0@>&~K>Q-cAs z9SGtqA#8a&Vz#-EF}X4WkAzl&&i{Lym6dWN%e%zs!^ga6&=PUsuhvFz@u;~ z+ze2TO|SAEO~Td4jHDpQD9Td);zYCsM*Q^3;JhT+GTI&PKxq{eS-eWf%fwA^k&zii zrCkxHos6q7A|!TjI}2U2;xgw7*vfQcd$BB9;KfC*h^g5+4A2Z>T2#$ZK-NT&9G4pC zB6qX~nu)-YA&&OfBtqt*{&hO3sG#nC2O z6kJ(YnR)bVm`Arf)gyt*pitBxD{$mNTA`dQWFT`KHyK!2M+#QIxfP>t*zz*T(M4GW zEqAl*{$)xB59LdlX+?VbsnBHbWZ!$5@Tt!~1s(6OEZ=cqMPseofhIS_$<%&o;E~b$ z^$@{@Yq5)70xJ-M(GUH9VV*4LCHfkkhT$_7!0l8hF4Esdg;VG^assT5Klo`$e3SA7 zj}iZbX*Vas5M5<4ntwO>1o>5xr3d3sJ}hw<_RAEBtrkMmQ}h8fxBw>Ogb$d)Dg6QE zO{v8f36c!5viC&GA;-fPbp=~N*_;}91JZEd;$w`ojo_jnkfBjNeFja1_ZMSYLqm#| z2VOiZxTFTU&fKav&)JUjdP4j0MLjP!bz6x8d?ux+Yx~mIDE~(Dh7d|zG!?= zr%H@T7fOg^$MB!eg@H3fe42Pmr!)(%`=h3pQ2Y=b?>ZaZUA6r@ z{i3o$WMhrgYU_e4v2vAoJ1lw|A~%T1hMq@d51}mkG&&5Q%asVsDqbgiRM`;*ZO+XC`Xu~hL0u5v(gWoG4E^Q4jX zw(x)Z=!qXHOuw;o-d^`$E&73F2SP!@o3xm3IG1NR^E39t9Q6WotIl5$RmngrLa`Ct z>SzSsT1unacbaBpQk4aSlv4TDcI5Pxc~_vzlst=kmsIYwj-fK$#_ID$LS=wpab7|m zy+%M!;V*g(PkeK`8ggZX*EsHc(G86E(Jv!RgUM%0Y8o`Go{|bH^I7=oFfE)erT4(` znS!+*iJ-|rpU`DvuNVUtxkE0lRs)xU(do`d*t|V>oH9qt9#=8`0(*(Sh?SJ4xwsNm z?H(gUdZ_rou$;NgoIf)sI^)g88KJK|O+f4}qOw7GhB3Qlc$O5&r^s+%Aw=Zr7p1+Yq zR>uYB(6}`q(hs4Zy5KH1`|jPBUrxTvzJ9m-QWcG$5e&JwDrBz%!80)%r zj<$DLHbjy2f7XHRp!>n-Dl;-bPqiH;2YwY%=A)HaHY*c0R5rZvqN0H~E@o$ERW3!S z-QoSg>S+EbjvsL=aZq8gL;-{7DaBYj5?_Ua2YHNq|4Uv<^O3g4>5+ewv=T;Sm7yvs ziAw4ew7>DZYoOiu>s?1x4z^X14{c)DT05MNcno z95UTZ$i^so&Sl08#&`mp6=52O-NSB(wCZMD3avFPrCVG8FM{V+gY8WCjaJ;juGoq; zu!$DsR;nt(MEcZYD4Rbwo6WeEDB`HCaA=TjDHD^{UygN^`pm?sC`+1*xtIt6(4xe* z&WQ1+ADqBsx6Li}EodmM;c>km^$QArwT;zNQ8aSPc{4aLaQ(I*R5t`ZYu4}27+;05 z2EuEhzieuN4T!x(PDdeZekWQvI|c45tivlGLcxL;HzZ+jaz7F-CB;OlX1JzhzrH$o zMwe3K`nr*VO_i1-An+32ph4;yKTzq>xXu_5W7vSeFp^H~tK$!9WOf^|_7^1!qM+ks zJ&Jbj2Wv3da$A`i^@xg3)HaMP5Tnu)fjMHJwR4@JNwA?ec*O20+V8nHyGiA;8aoxe!*M`664X3@pUw$3C+PoNG0U8x*YX+7zM_?F&YwTJw z{I&1?a^7GX^h1p)T4CHwvGq_s;ZAR+Nq2B6;bOQ0Cg#div`eee?gqus8=i#~rp}yA zN0fFqAZg{dvZxh}@{=D%`m4>LtBzz=LGTrcpX0NYSIkU1mDp1(rBoC`8CikFOe;CX zULox9N!BIKgAyh5F9Zb6g}i7|SF!JSXkCs+<7H)K#d%vo;GGbOwH?ZyR>1z~w-t<7 zEK{oGago(G)i+q-zVXD5Tu@i@i^yoi+~+AnIRxEE)F2jDmEa6kT+${vO=%Wjvr5Sp zi+&OH%%w3EUsdgW`4>K>96rMYOgc=$tfC`~vqxI?VxOxOu)UxZcE2lHsS&okMqnSE zan4bwKn>Q2Ur4t!CAIB(H=*23m^m*NtK(vdt~r^Wh8c7CBIutDM&ATcmHxYnssk5K z^;_K#LkZ|bzYz*^*IAs)r*epvo_gi4l*!U`8TcyTd2U2j?xHSLSlvZXG2bEO`Ht&g z+Lcc;;NHL|fa+XDf@)^SFep>Y+k^uviFyFp#39MAY89lE7RJuWm5o26cUY|WFcXDx z_~!R&g^Z$WN&QAf_P{N-Ac+$6;v;c&8bJ6eWMLLP4J1TkYC=7CT#c%d0#Ii{BxRh3 zb?VWVzO}V?Ei|RJigG~sZQX%2l1NeV)C}|I)%~xXqLpPrB^hlY8f(MWJBALLRY`6R znz&etC4#q9OlvH?^ieo4_lZ)=r_qdnL~h4KnN~>;vZ@m<72X_@G$t!82nHSh4(bQo zO=7bP6B5%b;XWe%*7w6AIayZ#R!ICvwUhe>y+(is!BEV<9DUgrSl6_AtZ}#D`;dE6 zdj(@W@~njDQ@ll24;9n^@H)?{*>~jFX{hqSBe``YJh)EQ=vlF!iPy zPZBRuG42j^#)hf}J^8VLjp#LP$KsjFcIG$q05{}oatSnj#RH~vC7pkd^Ldzgv;Q(- z4CU*0@BY8q+QW=7TfpD(#b?UFE{0S-4;+7!d6x;h}jk@ zq7pHPL}D_+$V!Y^mto&wpW-x^d*FW0^Stl(`^>C;G%GRs^QW0rJU;LH{E^&hMHkXg zG1)_LVaUD0=aZqdSbeC%UjN@$1lv#MMIsH>5PDBpS9=jsV=&gvmbhu>H!pi$DQHhW zO|qzVzC+-5Y4+Aj>u=2q7^qt=J7AJ&R>POepGywKRUU*1^7jY~22D>dGa}2x>Z-QN zIJh1wlCp$LBfK@d*ALl=YVTAuOl4Ms5-bR`>XD6SSsXZL&4$<59kcH+7kd(7bR?Br z;?#_jE~!mHZX<*_&lG04zog}eW?m$7DB+nzGRFi-V(ez7MXp#aX|UAK@Dw-c`Lzx~ zlnc>gjI}CLC{HjAz9IrQS#xw^OW>u&Lvc^MOe=T|IA?~$KJ7J;6!8~Isf}8KH?kpt z;cmpMXPbz?KH?d`4`D~NOw$Mlzf8U54+YCEP&5$`LA~51I>`|m))qudIpTo^Y zfZ)>4r9Tpr)ogs0)&FWa%?0%%SvKDJBUv^@&nCQD51ar$ax7fTi`5P)rdI}?MipWB z<-7u?vWg-GH2>!5SSId6CIzR`BZ~#so6JQlef0Tx#ao9(e<^7e@JT)vjlLd8HL@UR zkzQhN+}ou^P0nCS1yL+A06LE+fJ{vp{f2|v^#UjFmS_gr@1Yh(S_F@Y3sP(=V z@OPJ3JGQWn9^uvq@NR2&{J!_z$Shn)-2P(yyKwl0D>yulGwkOA!WYF~$CP-*<^hP0|MI{7 zax}d7kJU7w>+S7$d>bx^ehx^C_j-r<`7Lx{OyQUVi(BmM#Y-yiBGAnt0b1bB*m5RIq=)pWW@Z=7NplEipF#qcBikTz6#w~F<<)b z4%_d$;T?l2De^`YBFEucH^0&bm`NLZS@{Ciz+17-Niavf{#(;$OVfylzl(v9Tj%k< z!JP=dJA4255;-uCuxjq1YF+;+k(n!BN}oz`H(PceF0rwm%CHy(P2yYTF=a0)E_0^M z)7j=X;j%lFg~6v}Vr<7|yg0_$(rc-L>4oU4PLa00@So(>c4bX)x#XY=d3Cj`uXhVpU=<{TtZ7>saC>G5o7=|XVm-~IA>N)h%3#Qdx?1UsLd{Co!BRntP_ z=RczQH+*aG-tgbgaaH`EOs|6Lm=MgDJD*su!X!YcM$$#5V6D~fzz6WH=&NG}VQ>{Z zU?c{oungzsLr z+?B*JwP>8wRU=gj14v~=I(GBXH4>hmtp4{sF&n@9P7D~jX-Di%>IAl$V0;pI9$91Y zu{Rx=04urdW|5J6_&HWBX+%uSV~#XP@_WvNI}{*W0R!_WF%d?@hep*{;!;7yZ*#G9PuR!E%uXiTtQ zz^`esD95__XGeF)<nxj41Z4r z!tT+HczPP^i(VLg)mU8X_r!*hJ{u}Nsg5;*YO@Cx!JNuA7XFE-7L$66A8 zDY|Z&T+75*z&Vp$Y4-}nGF-fvFvGQ!lgb*lT?)iRPtn>Cqpbq2(lq>{9QgYjOH8l_ ze3h#V`eTjZhB?uK`A6unq_;NQTr$O(OgVhqIKxMd(n%u_;Q+M_fbY*g*8s+6xbF#h5L;obEBs~db43}I&_ov}G92+a12rB| zGFIH!m>C9M6gDvDIj@{6MQg+eXh3I-qg48a4}$MCcFuRxe2wH%aX)V|P*xn~28myo zgR5GY`PA!hEf!x+p0`BRW)nIz>~;LjHo6@j7tb|>KG6D?MZKMlyMP72&{sXlYy@Y~ zNGH~qTcWKN^<15iuWTLF4=LL^9=YN#)wCql=*g;St);TVb_$= zqUH-GL?0`TvJeNs0^nXtYuAyja~Ca-vPKYA0rAmo;4gI0#AGnwg1LrGQ8iNNay%^) zn0rcjWMnl7@GkUKV@{AMwL(%xVJt6Gs}(3K@b?;@1~Sdp5y>-W)je#8cd18)0D4yj zDBm}a**Jtx1g!XFVMNa`RK353x&q*F#9wjU&zU`!_={2W>Wd@yRKhE8Y)Z1nV@;(& z>NP7jlhWK0C>Md&f=Y&y|A7E(@XO*Mq;TLTDh$IJ!jGdV&p5tCC|1BG0E1t3snOC@ph|4?t zQ&8&_{*pVxUo531&$_()g_#@*+2b%m7F~L z+!zP!J^8q==_+JeR92mcXw&I~sLGGX$C^b&7B{2PO`mWg&M9;=4wPYbG6i&a9|1|O zwB22bIOlLACDh9olW5IvXGv!R>x^DtZ{@A-`37^-6_TR|%LJEEf`I8Scd-N7jIc%C z2#MFsjZ~!)tA?ecE}ew`8yG~F&KiwBHcCH-uQRNL6Uo+@0WgBF;2@%XI2xW9q%p~( z2x2ff2MAA8_ABsZ&64#UBAN?h>wLviqB)9YbS1N}1_AiiPK1kb_gk!-3uhs8>Q1`e zC0xl67|=U;$fv7ak>6-H@>TCP0_XEDY8Mzqy=GdrVmSWuF^RlMj_pTawAURWaF^a*FkqmmNO0;eHpQ}#{?GyUSkfv3 z0tA87!&6u{=)1U(K5N0ia-e zX-wB!e?DqSJ*@=ic2779cqIuYHP&YV6bj<^0KqME{1#fh$b5U)ubL5fXg8(60=X3( zRzkG!x5rjq0rk*8*;L3=vhOypaaG(NPMPzFR4cRdQW$3MI7^+6Iy(_l?ENnMRnWzrV#C7tamCm`VM+O?CsgvYg(h0qxcFKC)CY0 zw#siZ<$e8%#y4E4b{;^M{q9FQW^dl1+LesjauN)4OShoFRA7N zEBu8*}^-f{sqstqHxW~ zvz#>zfM;C%T7&QvA~C|H^7aaqKx{8UJTtwt8VsBKxhb7BN3#Idl8M5WB)igD&9uH{ ziX}rZauO_^NHlFgiXMhEKvGU&DWrtEHV)T!H!xM=;cufKI;elI@*2N@Mt0I;EJ9o ze~u>M*bbck9)Mv>ioc~s-eS~nIS=Lo8-gv=U&7kQtw8AT{lEL2F$e2Dt3$HUcSe6> z!qt=3yPb%?0^9@BKeu@MAVM(udJE_zYF$4$1Rr*f4{ci9?RvDvfsM51o$Jw)81Mqe ziu{6&AM)$i!#G+tI;LgT0+c(Zr%Fl^I!#N#_q{hUAc137G14>- z_e@HK$|W{6@X={_d{=AMmIPWo&97Z|<(p@@h38T%bJZ-hGLt?Sp4BFa#fVsd&Z;6H zTA`;!?r0wAx&FR!Pm5w8ZJ@tEVB@+4fI5x2^dZR?yvr@H+97&a`SR(lv60@XN{zwrCFX{%RzRVKu(L)8rbf-FG{ux{*R~Dx1#6v8UMxI(7SIQtLg1 zGTSZLi=z>^q_V(rJ(EM@21u{csLEC2zLG$D>{W@sVc2Xvgg{**u&fTwIsC$nD}5L8 zCnd+K5qxVhIO#`JHb;J*ZC<4CX5*L*SZ!7HM& zo(XFeCWEZBFdIxyoO}){Y-u1IZ`Ovf=gh9MVCdq+ExX~~iOmGo0~d318T`jm<4oh` z($BS@DTIc{DeXHv*{H&|$oa6WxZ&G*B@kYOOomrHcV4SHCN6{r8tD=s9}we=gpRyG z8OvM7Sz)ou%*cV(zUD3-WGr)%1Z7mTN4BeZhGSrK^dO1--bXzaeMhdi(vo+;v=1h3 z_yigeU6>T`fk&G+bM)-I7x3#rl-q(WywK!OPGs+8fQ)%`U}mEO3*ETpwZkNh4h+35 zs|-Bouo?l3xYH8+1{j`q4#bqbD)?AdqAX~O|IIbVo}-no3j`)<#!$f4!N)l9d^D09 zmq5MfEbyherRzXcJJ%V`8gT8RC8?9~+!496`uaF#?y<{o4ESyTfe8FQylbRQ^6GA) zaF+Ky1a%-+dhDEfE;Uvm_BNOm39DkRk=a=Yc$Pv-v*_K=vhxN=+=VU~F5=!;Sk9}k zeLhd#wFcRcPh0v%4+&Vvq}&bIRj`hQ!nhDk!3CmPc(c*fWQB?x5bJh`#m*0wVH*~qPb0YOQLccXKeEsj+a$dZZ<5kPx)RE~B?s2D|ue$rxo~DFZD}npXXbuhLlwz@siD zxscCtir>P?GX?a%=UIm5LoF;VGE<^xj9}(M9(7_8eh=*O6){WvFI(fz_l8fFUHVkXBN(J zqVnL!4fR|Bf4RsV&~8NN!a~>9!2VN78O0)>vCqFJcl0>G#nFu$$%&K*6UEoTb9Sbm%-fh z29m!qf~)E!-2J%b?)QAlb0olb`m2nsZ0v3Ld(b+tmO;9J+06jdrC3T?lqAW4<{oq` z5t57;twcm%s-pqe;pvAK=^UO){7st`K!Ibt2igb#(*EIq_pRSKcCiKQ=UybB`}QYbkhp0YKf$Coh58?YPMSiQCon7U|) zs34(IMN+uyt~ZXe>Cc=%3x&*jgg+U{RzzALG|(56ao2l(rJHWekDhOj66y0TKQBy) zzY*M(l^O5i+PAM5Xl{CMRvyeOjW!yXuv88&ij3=_#bn%3#Qf#rGb5~s!OX{E67)a6 z{$~bYK^^^j6gb_r@9xm=7%=$g=y!|7KcSClc=tDid~qAy3pfv`#;Tb~94jq`aeWoD zChI$C5yRe2w(!m3uMBBVx6>(8)|+)U>?Jzrq?UJ2z9-+J){+E|$QF0fY^(@pL_^Zr z1~;~uvxsx&GOCNJ)FT6v8|6k-MZD3`)m9;x??hGm% zxNDUN+_1N=oU9!uxb}-H$7+tywNgED>zWVO8$6K_Y8)FNI747!@P|Fi+Z3L222hfK zI#xDV7*_Kmg<8w2t&4`i$p~16;WHVG!%aXh5SPriB-e3CDO^qFWkJK-jMi8!b|IV& z5S+6xE6kMnLf;e#eHAF@Tk`L#O@QW^ng{(13RX5^JHhDrEl968aD^1OG8nvs-%2)2 zUcZ3j;?{3E0{rq`pu~D335YA!t`JR0B_c2Oz))T>lH(*kY@Xr(yAoL0KpW!b!Nfed z7W{l}Qs#*r0Y$U`J0Pyg39-68AF%ZPd}2|NlvrU9jgJ#~qtSVoi@{E;$GQVTZOrU96mXbxi|4<2=5n}fcT zR9PVWf{0GBpY4&Qa`Z}F6Y)`D9u!>x-{!3j4NX(gXG7QmDX`;fPfXL6!92Od&xKxG z_nM8kmq?*|HcOti4W#k3@e$&*M6)$lp0@F7;m|KDON+L0V!ZSD?GbmRf?dwBr#99m z`c6GKdJgy{&YJ{!$`(QqZ#E3mZR7~-08D`u^vziHQeFj>)sT&eGz|^!_$v5_075)m z-Qmx1e^oya=+(s+XTz`Q9Re4I2>J)euiEXvb^`_0!W!MhxcRrgjltIW2Mve62UlkA zFfG7CmLU=PUpZ_Bz&Jg%Bxs|+r-_nkizS~@Q593MyuT=k!}8O(csc{%RH#)qb=Nlf zCdj+Dg}{uOB9X=7HX<-^milPOt*X*NwhGf*2r1e&H22tB~7&i5F=>%8{vqV-h4hEtg3hO{c3Yc&kdQp{pbwOEHJNXjc((iv=)6`gIs@N>1b$=VuNNb^6Zpx3pASZE(T&=xkpi(mj;~qIi!6@oYf$C`+JB$7#8*at zqq-RaWvQf(wFJf%`1m-wpRgxxY3oca)iZIm6TQchaY>7{`$9qxJq- zPf`Cb0T?&f;{XOsV%$QA)*_iL_cU^TKXz;-FcTALBxdVh3<7)Jl6gThJyv^Cp+^z1 zR8$29V{sV_NmhXy-%-S0TPu5QZ@VXk+vEOsN=??(t;kSfnLlYte{icejhP!O6JfQp z79x$JV@#F;B@0q<-4+DuoM)r2kn3HZ3q478wsF8}2!&1246L0-SCjZJi84LDM;v)G z3M?*p88PKCk9dJ`TOl0nHp>^5|OPTUrN8le* z?{SS7m8@B<%?N{HT7_y(f;ot0#uYd)bXYTi6Mq6!S27%oiff}REa{(Bv|#lOT+P1q9wXKnR4QBE zBQF(FdDCSGd$%Uq5;Ij%ks@IKtDa>0oKA$t~}$zpRN$I&9c zOoGNa)oJ)h2&QwXsO2pH^3VdG3A$F3L?mWp#>0L0!M#Z=8npIclVXMQKWvd@lW+lc zZ2--{N!fmt(`@)FX3DMYv6*@W$Q|1OYyGQc2Dqf;=j|A~wN@g~Kk(o8K;VwWahP`( z%i4~`dAztl*Nk8*X{Gu5vptQ`8R$b~<3TO4( ze-1PoX&TY~J1!V#j>VPdG!f60f)%@li1KZ6V5yr)fgz_R-ckk4z9e~oE!LygZd=KM zIO{YG-5}WK38MfFt@gL4&aaHnPmK5{o0^QnJkDvZT|H zBIBN1DQ#}MOIiX`*Ul?sZl5#Zv1HOV!|(@w&+9x1n&@jKfK{K;6oHs zhwD3xqA>*5BDiFE(UMKE{)lxAFa*zteNE%3&6AHvb`HNcg`XzAQYlhYbs7Agl$uFd z5+IlXTQD-6l4 zBk63W922dImWm||Trzul6NS)QElfbJjqsWMfpp;tkOvjXw;Ht<8wwifGLs=m#_~pZx zm*Zf|rF@iVnv-Y*Qsy)973aqA?BdU$Sa~2-bU<0()ml*1eV0U*Y*iHvB*fkPLpRk@ zZ591a^7rw;NjOr4Nn9^KSkBaOLUgHRc5>Spx%SG`Qs(!yNwLIP-OeZ>z#XP!u;J)h z92oy4CgQ+{b&ggi0`QZYi&XmC^{zp+6O4`{O-5jr+m^CMqfrc>GVr(j4L~rAyR8JQ zM|13s7dE~2VRes-V8&}ia}tN+oyE(~2%h%5owk+eukB%YlszCbe43!*t4BH-;IKz0 zF)zC56=nhEZY!^>IQd%{|$$;YbBHS4Q zPmKW^IUQ5!?2;!pL&@d~*6T{|9`VvMJNhhY!1==K4~GF0p-%!V57jJaWrNeGA`ZO% z2!nd)zM!(QBao-@WjOq@>Z@|dItr)li{x_CXG#@oif$-*4y>4--Icu`wjTz<-oN-g zbE|y-J{~eUlAhw$*bGMFyYXF?|1q`SsR^4?7Ip+_*wOfC-ogp+c>@hg{}J9_|M!?f zUwl>K)}=lJygJQB$MqC~_Y7TMSbTS~1@PXfCq8>|!=BX{YFEtrvW@Y!c{mGNwg}6; zlnvK}!u8m(kTm>3%N+izYDm1Z1<%aDDnp5-#Ak(5Rddm#8y&k2z)baMlx>__RyAR+ z%)ly!VAPn&T&An3r0I4}n`L+WR*m77T`TQGIR34*42rW@N>XAzD)lq}_z$AL;X9<@ zP(<$mm-(;pAwsZTgrOdI+d|K#{-S*r6%vJ)R75XTf`l%l9EQ_N;O@s9ldy8ucW69U zU`t3oF%7iyU|}>eDVNLU$H0Nlm`+Iu2LIi#SP>L>cD1DBT0$@^g~NMbxq@<=nY*!F zY(KCbUl@}rLg32aHyH30r`C+&@Dd2+Xnlvj84bQdDFg<^*!`|~qsT&Ea^TH6X(?QW z4=86JC4Z(Kc>RbVtqAFvz6x9F$wW$Ld5;EALu;xmos`>(ihxgF6&vOjizZ~w4@{di zsd$Hy!lWzb1NIX7{29Q_0W*J2sI9J0%;oZAtZ&_=>mgSVd9gis%cUga?gKjh0Lc&C zqzj25&;A9xp78rt>EJ`$_bQx9KzhJ%3~gqO1AAxhNb_ebc%OWWtKD#Sl$HWMIRsx* z8chxi6n@%@@#r{N9=W@?mE~$tDjo3muRfZFbvQ90j}ip#6ueT9unY426!Eu(0rc*B znT+DSofb&-!o#pK(8R$WAKfyqFk?POha+T&K$o3ZocY-x1~-q=b|nLRfMGN!q1uid}Gk<^ILRWeUO!twQ+n#mx%k$Tt_r+*t9ISeS5I zxMfro-eT`=NDnVR9H4Az2+(Joq$O~Tk5G$9Clv2N8-&TPr4EA)`3TV)7*SIK)`#^M za%`kl3V|7i6#!UXqU~%+_95*h)9F-c6=8YL5~Jk+7U4Aj#?!4`X=l&J)~RFIt8y9L zSljz?s~vbJ4xqL9+{wb1O}uQW8I5FxYQ4UgOcR1jj+E7EIS!u7QcF_=Z5@J2l&1d5 zgwYMAWhq$8#l|@0R)90rSoNf-xMr3pKHvlC9Yt}})hAWcK3LOu9I`_SY_cs8;62Tu zIe^x8=1&WLd8!}d+Bsl8=y)?T1~&r&Yv+rW!zP!!rfREi*5(CHNaYngsm)c(y!S zE+5tJyMFOD&nb8&B@XB|Q0E}(Du_)|dAoe?;EV+`O z82Sz}49^kgd| z+6Ztl|I%q>yI__RlK&q2q8WtuK)xa+S%LiuW^E*mIdn(cUvnclUYeTfsYA~a(e=8O zUR#~{D51%*(ZONUHA}$OV@jn#$}>e)62LKW_OM96r+By#HOzJXFU?j-y-pgW# zTAHcsljw$pO4iC!St%UD)yT$_t3-D2Uspd@lsjg+I4WAoT_Zad00HABpaKx`418iEtl@d4J#e5Ea`><2{KnSjb?rQrB z7W_eG=vuZT*S}2NRo9J%K39}v=4HDtAsD?4oIuZ-$g1Qh`XdSnn`gPeV4G*EIFysv zX3sgLRjB}&8fa505w)}WrhR&k2%8iGSr1ICs|-AB z890oDN;44aswp>jv=0d0P*^i2(v1H=!O}ngJjm*Usgy#yVfdPOjt5GPxY{M|;#OBH z;FkdWo0p39F66ZzP6SpcTLO%BI-P?g0;@yhJ zmc!jMTYO>MMN3l0R<5!*Ef&XEO5-gcx&s-O_5e|wNm-sM?X=mq+s{P%5s;e=JB$$**C6>c41yFvbAyYAK1i&D%fYH^|%a)jRg)3jGM^SZ~ z0Tuy287QepjT^NWVF_&Yz6QS+q`j&WKGEHyCHWd#%8BvsXK;UpP^Bn*F0{u$?e(zuhCj8PC1q_A=>oiSy z-pSNa%)C1Nu4^GR|B@)5+FCf~I`7yY!^7+QAqv5ig$~9St3EFiJ!z$Td^I=DdX`4USh`X5v%f6IF;<#(kmKt#HnVXu{ zDE_UkUCvnvgBUO@Ljfl_DsH-}xhd6^_YT|Q7m&PMD%+Ad&zvkT%{UCLG!xA5<1Uj09 zZK}QYgVzbX1A7t1kspY*h9fG@gdbI3Z24FpSqf}-=!`~maqAp%DPo)z`%W}N=7QJk zzKo@$VydXQF|KIy&AWbTGEhPXvp5DqUqx?J1~$HCR|7hPO(#ug?^^OCw8@jAA+cjG zp|+^f2l3?ae$GL-AJkW5QY-?m`t8&8uXF3T0@ll9%}93tLz1?23~c3unfqVNoEGwS1%%t0oT3VwCV^Lv#ao|p4yg3bD4n!?=O3Vc{Xg5(Yv&Zx(8)R@3xcT zB%N=4%Ow~VYaUlq-C5dmu!-rxsPNi&RMvnsI6ByFg_X2shLQtd2&K)FQ9%yu@|rxtap7i z*t#O3CusK`>%Zl8<_?etm z2t0_1&z0gjmj5c%BhSodu?(9u~qWM>m20YjTCm`KOXXFEOb{Z+{1_N z18(Rr+K!4zs#SU;yoYskClR+zL`^IWaC_jB<^yT2$a47ru118Vjy3=`^rcf65m;7N z*gc3r(C{C%uIC1?9qxo9?nWX!iXy8_>)ibvT+k8`tGEHYv(tGFe2~;Pi<&H`hUo?T zcKpV5D^+0e=QG*sC=QHCLf<<8L;Hk|;z9>aOLzl^{5lrnHSi7h5Plb()*Sofjx*c& z3&M>k=P@HK7dF4fFdA&wD6MU7mC`X*5yWC{eM&7zu&mjzV2RT15C)hrfLU44V@F(* zP8Xt(+Y5lFyFG0?d$KIIB!ThfnMU9>MuGHrWh zW594P2O>*Z^@0m+;Rdtu@%S=Hi-wNeF(P~1sc4H@+uX?2uh;WVEj z1n=y;=o_kO(TVWLQtFd^;UwPqu6`HC%hlVc`eHN*P%g8_Ky=nN!i^jS&DsJhW2zi0 zi_#wiazr&x#EZI8CM#)AZSkjFj8#4q^frCDzp+>&AdT*bW%mUkae#ISOn0 zTl1-WZLb!CPUKhGv7)6qF_a75=6>@dmcZ0O2kgTzS#5&GWf_2#K`=yT4N_>#u>(>Q zR_R^>yjpk`48%a-n*J~g!J1Jgyc~SnM&7HahGxqz*TT>(vuYSWm&p{_3K$5#^bb$o zA`5!5g}+6kx!<6i+I+VnHo)d$cbzP`j z^OnC6PNghK4zO)hJW*lNCdsrq=e#+FM+3W|y2?YqObR^mLZR-1tDy66D|uT(Ot+E` zxRNnroX6cqc{|4_ar*uWBFpG2;VptVejN#OOJa8AmSIwsaS@R$y&k*@>sd@@T86UnONFx@@baBbsO_54X}4v`U`(E;U1c*-7&n;M@I~c zRsy7U!r@~8!?wVvX&I6(i?^pXeI6R5dR>zG5Tt;Xf>~`vtG4-ldJOwe=*V50)kT_E zL&#K*@QU`NRYYizUpR(EWud~J#$LnLztfBC{wM0g!U1(Qu2!6E%w5J(7hX2ah z1G;>2Dw+tkUiJuQtwwM5-n>a_eN)S?zeYe`wGzGPR;qdI1O!rq;NObr*h$JBM9%?+ z)|AvJmnCjaFU;g2d{PD>T#J-*@p7NDR;l z_{*Xq;Iolpqs9O=Bz$o`oHwi;AzY!$AN3JqEYE-l;rBONr3U=(85AS z$F>Cas0}|=Z?^}+XHCD0$V#8*stM-s+ZixnIf}BBEgdj-zR1|@VqqFA;`=d2_e zW?5R(tWr2;X{;=mv3-ZFY?idu>q#@l>cYQ=Bl~g^1;EyB*T&4|@wI@9zPWvFm^yXA z-SWy1c*R9Cx_a9#wQf(NsLZ+z`FR0nTfv4j{NfYtzNxD`i&Lv#Ky<+A;T?5W{3lrn z<1x^_QO6;D$$jQ`0Dv8V0|38l7Bq=+{FYG8YFxFtspj-IDg@vBB;5V!%}+l?NcO1b z?R={$;~=YIx#G07#IFMot(LPj@ZN9aWbI{b#C3B7SL-TkDAya+(sva?`}>M+3|Pd8 zG!u{+F}ZzY1WthxL|vwL!p1d=b*^a*+$cBVuiX7sSyNcDrib+0O$T6O#`=Kq;|_tX z207L{d4iMA8Xp)2Z9{A8sMvvcoIIFE_{P~RNgtcm6TH8~wb^8>)tTtG8GaiYJwr>) ze}I!x?q_QS4hMhKM%dG@P+8d2_P8bs6grXin=_h`W`tSK!ZH^UzGhqlUy&hOuD^E0y`!K&2AZ9ZV0+YmN)8sc>E?_>qUsR zD`rjMTKnIVrNxRo!qg<{yNSjlE`b^1!J#k$mjS+Hi~L@hIPa|xmG4QBy`@)VbRq>- zCHC)Pi|j=R0AQC);p-fSPV!sBWSERAlvMLz8(?o#V}!J7W_nEMbOHuX9v&WG-tDR) z;r`(z{;Dczq}x{LOYFvUnhbg3`(F0?0puRM_SX>hz&5-cWm;+B>!WEdl*hnd_9674wwjtfN`_`oUA*}rb0aZ>#w`4XrlwWjAQ)#rnsdNf zyxnk;f0=UcJ0t|-59xEB9)9gp+ui@thc)W*LjK=N-MYNw2>Ntu*ql+|aNj40iObap zm!DEaau!6Hg7A)0;H`4spWfJNI7@lfI=2kR5CF4GBzC(|w$^35r0r8{Sx9uuklsrb zV)Yjn7?rBkbc(#6`$z=dC-ydHz$FDZ5|h@FZ-a>+7G%l2aGi`dpleO}9J-@kLk|QX+I+^EMSEW0jdbZ{Y!f^o466qCEcdgX2^-Q$TpQ13 z9z9Jz(nbh8m@P4#9$YzgUTxMhO19Qlvu{G;Z?4+n^f_SN+ZYe6ru)i3QmL&#NQ#^D zQK7s6#tL*XQQjzh3(df6CUm9MQjJDgxE6KLCkQ4v5e%PX0xS-s03S<*<& z)P9!md(WkCo^V;2SY_ZO&%LeknUzAV@`b$mfjxJFuB3`;gQ1N+=Z^Q>r^v>Dd5$8b z$nqeaXNIGgAE^v1oWaCW^!dgl%E(!_F*yCv?Ro%~R9c)yPu$59Q0_3Jzg9J#?$DDtK`nyHq9Q$JQ}G@n3H4RRwr>d#c3~A$j{D?=Pi{ukO60|;Aie@ zg>>PqnFVQa?Cal=abJ*E6d^vx+({MyYdAYD5KS?V<_Nb{a8TkHO&3$= zn*jMYuYZ7%*G^3MMTpgqGOe~G(*WQ*E{ca#O!vu)!(*%dlz(2IfgoRnzBiW+#T-Ek zTHkHke0g8B>cIHPOX9=zlOr$>edo(wg6_`NB>JaqZX6*vX-T4IsGQW;^X{s|S#k)O zq&eL^$LgdkZhB{146WTV>XFO_EL`0O`9)k*4r|icKEN>C&i$8{5-S|AGsgK!#7tbh z7`SH5MhK|vN?($l74F<+O2n(3ACg9igSCAqS#c+Ka&>SwZLIjQgm z{VUW=Hf|6c-X;qN!xvphT;sB5fuL*q=@OT}B~Rqg@g-xxRCB@Q3miV#hy7OqFRw6c za520ugRu#(H#3f$xjM!Mdb3duwTDqNigI(MXlUIfQ2sXfMwqU=eQQ(b$=kPYEg?($ z-EV|aIDRUE-@zc>Fm;wEYcSvHSr)vV$+j!G^S4+2$?(DsK^#C=+%G7nrpY zIVh=8^Ma4D1-|)M9=I_GHZaa7N6PLi{B;B#-M_@&gYIu#0KSv1`Hd`A+7hM`=aHR? z_==LFUlsm*fW>cjOXtk7aVMr^bbk%-d5ndxz*?YmAU@lT24REUOzZ5AnqI5pdS~0L zc1Ny%mJj&&d;H}b`zgz>Y+a)_!Qt(Sgt$I9CZr1!al zxwGeA34RZ4>uaRk0P#7xf1jTny(Lv@w;ARMw81QR5S{o7r5-CTXU!(8{ zs%7|b3*nb}xOCzx;>{e=j=W$M13!9#uT%f%O zrq~u6mdrmaiI=jlSn)8O7H*-w9!u@@J^r>M{wi>J7~?0Y4r92cPkZ~rp~;W~+g%M! zfOQkSMd5q6Qw!fdLH3uMUlg}2M!X^k21=8T4mqt>A;a*_@VDK+_!0oPeR27x%dab1 zhAvbLe2G`>Q`by=7c9IhRvq>wnr>@_t;Ka;du+4{bA-)~hl`5YC5B{ls7LTrkuYPIUB<-M#%_#cg-_r6EqsNLdH`4b1m$j;yo7gCk$v8o8E zS7my1#r#s-O|4JcAzO7e3nDEmaCnQsvi;~j@DHKMP0MX;hHnmwxzcywTZ%R&mqJ!tyrtAKR|w5k|dIwI;$Y?9nPMcWk&7;kfoj0z*5=p*|UmSVwtVa7`uF2kQ}Qt3xM>E!I=nHmU}{>Ic-Jh8MY z^c9PjR!Dj$#%%%0Q4LM$l5o{BCeN)%p{NCKo`UMUVK!m6_!1e80yT zF7pV_cOD@GdXxoNq8J#kkpX54R-xyS2Xk=X9H0`6xT7I3+mZm(&nQ%4dlCpE<;_qw zZ)w3s92gvG3eBmrzlvo$oAydeL5bKpWa9FQ_}SLv7@3k6V91bf4f`%qHU_H%EpXf6=k`s&-%C{W zs;>bRNSBwiGhK)Q!{FOzoV893Uhd;+!Y@2WQ>1iB^EGw*@7J$ip@7Ex`L!ePtF7^^ z51&bjcRp2td?mO4RO|mrN?eW2M(_4wfb<)I;=4DQ4(mJmn>7^1#$nlssv@lAs3C?X zDw`uiPzC-;*RPqJUgG+T?nBIf%Z;ijp~}j>0vpyKdY`-CCP&fx1mopCtM{5)(3{*Y zyZ@Jwl=LCx0Ln5Nt+Lva!a>3gCcp@P-iw$XRV!{WN)|;#!*m5ZW!CUxS zdD%R;PJaSK88VHW56+;MkJ{_TQbE$%M?P?3ZNS-%d-+JVY{xz>Pqq-43ug$awpGp( zx`f~kb|AgKM*%O&{wCBsR{*sFRp6q;&xG@HOZBJ}4T2{R+$!^EDWS0hF3LH~U=1jm zV~tVXLOMv3E5#(uiWygO3xNmc(-E^pUR>wR@#;hYn?vm>sY>&TX4?c)VlpS><9YlTefyZiaHLMf5>$lTV4pz1g&fu5i z*GP3ddseYvxb7)dFglI=cQM5dt+U?DV4GUo8gmJ21&COzcCzpc9e0T2DzI;TViEm4 z?D`6tOXvlYq!+HEUMTh1Y()h^U12o3ei8u&col%Ze5vP!>#xG&AgJ4}B_u=d_IlRF z&;p(HKMZ*wBET3l9|1?_XbHZR>u5ADurL9Yf4-&GpEYku{xpUfT1;E`8!+p39(eZA zv~|nj^^u0@)`Y~Oz-cT=9INRlZ8e-`18D4f@2p_Z>F@Z@?e-UOPjm)>dxFNU1jLND zxPcsND2PO;28PZTisHbWn&amS-Vzf9JHEiVK8yb1Hcd?wfVJ7B6i_(8@1I_OT}>HT zh1a`ajFM~!l1z8R^`$)u!mr3T>@4NRFgmsGWiJLPL8la_Lt zuB;Enfw2*mC|dbgwYZ+HsUJBxUBlX#8V1D;s+mc85x&v%!SIPZOAPjCLXeef0-TrZ z4<`67MU1Iyy0VEfz%=0Rx6SfOAsqs5^*;c^g@m)FQnWrQ%o0m#gW$K7L=ioxykx)$ zJE83*Y;P{5`uG2)_3*w}aL8hmvu1yD}EBz1Ms}TFi0_ zd@wR#cX&S_n>{$lkT)AoTSeh<1X>Q4yJ~Uh`25*`_Sb_re2!tz@u#%VhQNn{-%*xE z*@{0pS#4qX^;)#p4MEJdQZ%HmgV}hrh(4%A%YPz5Bc85{*W?fy=nK&^H|615KKvJc zUASIZFJQy$dCS7BtksyUN}t<6M&ssyu7X5Qs#M@p;u1dX!^A=a6eWWMPZxP%PE~vo8@>sFc zg|Q)U+j6p$BKiIP_s$2oG6Pxb9&j=E(|raegD!i~BJ^luNiclNyc zFiY72Uh}Uv(d=q|4(UI(P=`){pc*apLK*MQ5L<4orw%l zRt6@IHik;zHKay;J)FdYVx^chJ3I~^i;nI^C16F_^F#?650f+{vPj}P`3FgnH0@#~ z9l&!!1=YRpeeb*3OqgIixz7MO&7$naWJ)U=6qFw7LUf|&1 z*j-2_SI)?{u$SQ-qQJk}*_0)%9WbWMPiaj9sc*W~?WD_LLt9RskDU!WY5xAQFjlOT zErU}v47Q$)=<*JUshssPM@#&7L3S)36&Ag6`x0%BrN*XQjl*YSyL0|0{Ix+cx$kj! zO}!%|UhIwwPtXmc`Do07BTsp@v9Pjuzs+$H$9>#Mi{h zXU&cA4J%+}anS0tI9wd^DaYW;mdsI*7&{zxL>CU$yYnL~jpxMl1z9lP(QScX&5k8% zt=$BibUK*YN)u=@-}W>nda$*N~Gw=S&gwd2W55rHyUnz7W0Cj-HRp7tSVSNS74FG%-$hLIQ7vj7ufZ$Dr zceO!uIp!w$<-5QLx^FKS&ic!xS&uI5LPPM^0Ku=67

JSC+w1x9qAI51a#Cb zAzQU>;gWkhr`y3B83MogY44}K?M<+u^$RO+-PragL*YiOL@3o03sOBzrL?(sg#QTj zTYKQDkzfqY8O@QCe5#tmK)A}m^ghK{gkc~t>^tt#$x@^_d)8{z)Y%kQ$8c#<)0!sC z4J!-AJet%yrdpOuDXnhCLSj5Z2HntrxL*1W|4Y6+ZhmZL_F)gF+^Jcl){pG9h#gFI zlV&UTL+wd=GDE9N7HicoQjU%!O0EE*Gz(oB3M&{3bxNvp5ae!V8}s!jK$<$^a0Z&4lUEwjQv~|ELDiBr!NgmU z-Vxipw8TiHvrC3}X+u)mWXkss~gF!U%+BBKv!(_%41L0!DB~%p)-yrb~ z1Rf27kE$B>do_<%@CI|Q9v&u^jS-%?9+>PIZlp?@9~r-Mpsd7>$bav@qrO&(^zbr- z61uDVqy;#iu;)Ndk2}E2D1r8I@-Yv%=kiv&-h*)10U?>=>5fNanK0}4Aex2cJvuNS zu-3^>DOz^Z9|`OlE^ZwM{@Kl1bi3JOhus&pq>e3yvGrZFtT)&!K02`^S@_X0s+@EX zTjUl~o@s#U{*J#0flUXdk@mAU9?e@CL~9#ty~1<(UK99V(pi1}KU2t1rL5_Sz&f#av2z9Ya} z3)>f28ug^0uu%<2QDsR&+3rhvA~Gp-mV2oe$1pnDh+{XB->^1dmMc`LjkdNVVz0i3 z>qi$x8S+_LGJU^k8Z|Sg(-m>q{IwRB#k^@F&pa^p7#jLUGccans9KSO;2Mq%8-p;!nls{0I9TT73dz3Q*oD8AkQJ|)03b?wuS}F!h zl$gE0fvvJf>BQHzHmnx@GJYdPUo3ys#U%GI4aR{2pOwt+a{?kPS(dTP3Uja+gEe`Z ztbHfjg~8s;utez9#^ld4gJErn1;ae_1XliWqZ5hT|dQQ zD}H*RC2?zPnH@%hweWRWnG|4$hj}sJu9X= z^4xPpToxFc4CXxN(E+Ic;`8V6l(|(5!$KUir%{fHgsZkqW{JOTwh*EGuh;X+K>~1_ z^!K0tC*b#HHFP8IMgL}Hjl_ZJ-k6m)Rtyt?+e3wGaZPN4Zs9Mn(rOksKDG;Up@)Qb z+L157dIKjPsz~^v|Mh}HaLJwnSMGn|1{g06F}AI>HHOBi$-<}XIK(G|e=#T0jqsPF lY;zz{l=Y|Aum8UQ0{}hCNI*KAXB7Yd002ovPDHLkV1g=K`11e& literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/logLOGO.png b/php-sqlreview/image/logLOGO.png new file mode 100644 index 0000000000000000000000000000000000000000..2e83b2e52105d85ba9fc78afca61e051d92941c9 GIT binary patch literal 4003 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 RFKhvoJ)W+9F6*2Ung9x1y7vG8 literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/logYZM.png b/php-sqlreview/image/logYZM.png new file mode 100644 index 0000000000000000000000000000000000000000..f7cb1f3d2c06bf9ad86a1bad06228d2e09729c04 GIT binary patch literal 6703 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 IL^((Q51i&HB>(^b literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/no.png b/php-sqlreview/image/no.png new file mode 100644 index 0000000000000000000000000000000000000000..56bb0896e6bc0307b13c46e5234d3ac2d145ee84 GIT binary patch literal 1490 zcmeAS@N?(olHy`uVBq!ia0vp^{2c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij}E_k(;5p zi<709g^{bNp`nF^p_`klfs?VhfrYuTkr~VkY$%924Do>N@^jo5Y!fV6#qT#=@j~GH+USH3^>QnL7D0c9rRx~)hb81K zd3f)MLg(HK;gxsSJ}vlsxnTXDugtZ}n?f_0`lF*-=1Q@i+U6L)lh^Ww-{Tv*3_mlx zOBGvq?YGMPs}D9y_UEZE)z%5Tig4eOvbjI8O}{vy>-|4R!#5U=E{+NEeGEU}zZObQ ze9y;dFJtzy=hoA+^Si`T-E~X;>nenCt*J>=;o4Q+^7F>$-IbA+i#M^zO$m48?+J=v zwzhAs@t1ycMkHl<{PVWks|B+>`_xZMG`eqHsu=2-_Jx(J`L0c+XzS~}8;boEMNI?L zgE+R{Q_p_;yT&uE=GRiIlP+`HcAoF4kNrD!Rs`plkDE8lR4mdKI;Vst05kc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij}E_k(;5p zi<709g^{bNp`nF^p_`klfs?VhfrYuTkr~VkYu$h8JcxGNoetEGbD0(2ibxAGCEK5ysE6UGR0Ee$tCKmfmEeZJ>qBn({Fw+M* zMjwre79G19m|q1#*K!|c?Dt}hr6!E z-D}Ry+s}BdLZ;)W1V?kYLr&z%kDug{4~H5~2=-^%$jSWi0gu3J;mPmPwwL9_68rxCFZ z%vM;&$`&e@%*Optfi1C2m5u$PMw|cs`$i^rIg%^>z7}QnkQLdV6z2D&@Ym=0j;tMx zet*sv{CQi(R;H%M7F(yy=9(wFAiU1lB)&g&$KR)1%pSZ#cBgcvANVYPf}@S|AKN42 z_xwhG*qxXev)ek$Pf7CayVvvp7g*n&$jFK^MR}aF5|oE3wfT%C@Z!` z&Mm7d6rZ>4>-PrU2v3(=eEVN~dZg!djDhiNtk8*_TqzwK0{dI7idi}0%c~jBhcYm- YF({zopr0JBf_VgLXD literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/shanchu.png b/php-sqlreview/image/shanchu.png new file mode 100644 index 0000000000000000000000000000000000000000..11a49f186946ac91abb7cf6ea6fe7bbca5701842 GIT binary patch literal 1356 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1SGw?g-k%464!{5;QX|b^2DN42FH~Aq*MjZ z+{E}FfdWj%4dKI|^K-~-sHue<-iOJciB??KY z>6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDnT3-;TxdfoL`ixV5(=Vn`~fcs9E!^lV%s6w~6GOr}DLN~8i8D@e@YH@N=Wx*A$ZZ2GPaY;}r!o64xE)J_=yk-Y7nBro3xGDeq!wkCrKY$Q<>xAZy=;|<+b!le&4cPq z!R;0coO<`QVIb;3*)7Sp}8JiZ#obhaXP{_2Nt-ukwzA7DJ{flFWaMg&y?;Ng{`|xEP~D!dAD{2~e7=##T-VUFt}I0} z+%j%~ql4T3M)o6Z;uriDoON(pyP0WIMcY)J33p20UVZ02-;<-d<7}3Yjl*^am!h7d zsVx@!|NpXndBphABf*T%7p>nn^fB zz94vU@}s9I$#(x=Jic}N{YlSwhu`9JDwtAQBt4m$WnS#wcewwg|7z}adv<<(#C;*t z;oB^r69awrMIK0)B>JdjL#axo<|*g1dR-F|n5r%W^vTODSDDRv#>e5WLvYsjJNN6p zimLcE>Z#t;SuiiAy0Sv4VM$!V0Y@X{%rwUucAg55z&!LzbWcqYB(DQDC+`JhsEhXzIl$J9e2r@XSF PLFJpLtDnm{r-UW|QBmsF literal 0 HcmV?d00001 diff --git a/php-sqlreview/image/topic.png b/php-sqlreview/image/topic.png new file mode 100644 index 0000000000000000000000000000000000000000..5732fb39e31c0467a94dd87c35fbc007d2e941af GIT binary patch literal 544 zcmV+*0^j|KP)BL_t&-l?B1gOOtT`2k`Ij?Rndr zGWB_+jntupVFiIsq8ed#h@fHNsY9)ux+F*t{Q(hl=ui~B(4`JRB~*l=MZp7hs1;aw zGGerF=`)vYYtQ8OJik64;;YiPKLty006<7U0u?GqUt+jpbo%D6Tjxgk$LgzTH{WRh z04Tx$F<}nJ4=ntgzr6oCLk0jhnPr=>SX5`apoSm(J(A4tjvrjAED9>ZPywKUk`(A| z8xmBnZFya0f7+h>T$%sftaHKv0)R3?0$@CG`b27mF`l-MMObuc!=(hAazYgV&Sa0t zG`IZt{LcH1kxH0D?%JbLeZ?`YKt{qK1VD>Fwjb_0xw!gnws>WvGuy5?AJ$)ZO+UTu zknimR4FT}CpJeX%Oey*OdGXFbG%c0?wOZKg3}%xTp3I4nfi?iVubVu4Y2~uF>I68^UjPXQg)2% zCXubizgF<{ec4^E=Z<#A40dmBE#-)*eF>+7Z%JiXQPONQ7$r)fu(I*MUDY_79JBZI iwnq#W1WHjDhV>r~9jYbq=C(Be0000DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XRMoSU}&gdW~OIo zVrph)sH0$HU}&Uo07PcGh9*{~W>!Y#3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2Ntn zTP2`NAzsKWfE$}v3=Jk=fazBx7U&!58GyV5Q|Rl9UukYGTy=3tP%6T`SPd=?sVqp< z4@xc0FD*(2MqHXQ$f^P>=c3falKi5O{QMkPCP^Az7BifB^?{Dj2SqGWM8kxDsRzV_CtDx~p72xifT_I*n5+X9_OvrFFwXFFaSW-r zwPuR1wo9Ny!~4BwkGb1r33NVU*U;G@{F8Ctq@+ZTg)_DWD&I8H)Z~`tPFb$8XyeAu zf|`**r$l_c(k$l%zh8U#?YTQUjXz&2KELz*%H`kZe7=|cEq9J|>ygxo1269Hd687b zz$g*Y&m}S4@a;o`sqF7$e`;$?t&H(}eBs^V9ihHbE&38|#wVxF%!v;z=LlSRL|bS= zOW2O)dN!Lj;%tLjzBY3{dIyzTR_f3=ajxbM#Pp8A_hK7ZiRv}_VT z`Tk(ewzZLRe|2&OCnQ zua!2Za^s$V?k}CZZ0W8&hcCIby4}+B6?6QR`TpL$I*+ImU$P&4-m*Gpa)_5_cml6l gSHN3Ao4?!!44UbYCqD*w?*)}xp00i_>zopr08anme*gdg literal 0 HcmV?d00001 diff --git a/php-sqlreview/left.php b/php-sqlreview/left.php new file mode 100644 index 0000000..30c4b44 --- /dev/null +++ b/php-sqlreview/left.php @@ -0,0 +1,54 @@ + + + + +首页左侧导航 + + + + + + + +

+ + + +
+ + diff --git a/php-sqlreview/login.php b/php-sqlreview/login.php index d7c63c2..5bc8a1b 100644 --- a/php-sqlreview/login.php +++ b/php-sqlreview/login.php @@ -3,7 +3,7 @@ if(!isset($_POST['submit'])){ //exit('非法访问!'); echo "非法访问!
"; - echo ''; + echo ''; } $username = $_POST['username']; $password = $_POST['password']; @@ -11,12 +11,13 @@ //包含数据库连接文件 include('conn.php'); //检测用户名及密码是否正确 - $check_query = mysql_query("select id from login_user where user='$username' and pwd=MD5('$password') limit 1"); + $check_query = mysql_query("select id,privilege from login_user where user='$username' and pwd=MD5('$password') limit 1"); if($result = mysql_fetch_array($check_query)){ //登录成功 session_start(); $_SESSION['username'] = $username; $_SESSION['userid'] = $result['id']; + $_SESSION['prvi'] = $result['privilege']; echo $username,' 欢迎你!进入 用户中心
'; echo '点击此处 注销 登录!
'; header("Location:main.php"); @@ -31,7 +32,7 @@ if($_GET['action'] == "logout"){ unset($_SESSION['userid']); unset($_SESSION['username']); - echo '注销登录成功!点击此处 登录'; + echo '注销登录成功!点击此处 登录'; header("Location:index.html"); exit; } diff --git a/php-sqlreview/mail/mail.php b/php-sqlreview/mail/mail.php new file mode 100644 index 0000000..75f799b --- /dev/null +++ b/php-sqlreview/mail/mail.php @@ -0,0 +1,17 @@ +dev_user = $dev_user; + $this->sql_order = $sql_order; + } + + function execCommand(){ + system("./mail/sendEmail -f youradmin@126.com -t youradmin@126.com -cc {$this->dev_user}@126.com -s smtp.126.com:25 -u '数据运维工单处理提醒' -o message-charset=utf8 -m '工单名称:{$this->sql_order}' -xu youradmin@126.com -xp 'password' -o tls=no"); + } +} + +?> diff --git a/php-sqlreview/mail/sendEmail b/php-sqlreview/mail/sendEmail new file mode 100644 index 0000000..2f2b33b --- /dev/null +++ b/php-sqlreview/mail/sendEmail @@ -0,0 +1,2236 @@ +#!/usr/bin/perl -w +############################################################################## +## sendEmail +## Written by: Brandon Zehm +## +## License: +## sendEmail (hereafter referred to as "program") is free software; +## you can redistribute it and/or modify it under the terms of the GNU General +## Public License as published by the Free Software Foundation; either version +## 2 of the License, or (at your option) any later version. +## When redistributing modified versions of this source code it is recommended +## that that this disclaimer and the above coder's names are included in the +## modified code. +## +## Disclaimer: +## This program is provided with no warranty of any kind, either expressed or +## implied. It is the responsibility of the user (you) to fully research and +## comprehend the usage of this program. As with any tool, it can be misused, +## either intentionally (you're a vandal) or unintentionally (you're a moron). +## THE AUTHOR(S) IS(ARE) NOT RESPONSIBLE FOR ANYTHING YOU DO WITH THIS PROGRAM +## or anything that happens because of your use (or misuse) of this program, +## including but not limited to anything you, your lawyers, or anyone else +## can dream up. And now, a relevant quote directly from the GPL: +## +## NO WARRANTY +## +## 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +## FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +## OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +## PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +## OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +## TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +## PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +## REPAIR OR CORRECTION. +## +############################################################################## +use strict; +use IO::Socket; + + +######################## +## Global Variables ## +######################## + +my %conf = ( + ## General + "programName" => $0, ## The name of this program + "version" => '1.56', ## The version of this program + "authorName" => 'Brandon Zehm', ## Author's Name + "authorEmail" => 'caspian@dotconf.net', ## Author's Email Address + "timezone" => '+0000', ## We always use +0000 for the time zone + "hostname" => 'changeme', ## Used in printmsg() for all output (is updated later in the script). + "debug" => 0, ## Default debug level + "error" => '', ## Error messages will often be stored here + + ## Logging + "stdout" => 1, + "logging" => 0, ## If this is true the printmsg function prints to the log file + "logFile" => '', ## If this is specified (form the command line via -l) this file will be used for logging. + + ## Network + "server" => 'localhost', ## Default SMTP server + "port" => 25, ## Default port + "bindaddr" => '', ## Default local bind address + "alarm" => '', ## Default timeout for connects and reads, this gets set from $opt{'timeout'} + "tls_client" => 0, ## If TLS is supported by the client (us) + "tls_server" => 0, ## If TLS is supported by the remote SMTP server + + ## Email + "delimiter" => "----MIME delimiter for sendEmail-" ## MIME Delimiter + . rand(1000000), ## Add some randomness to the delimiter + "Message-ID" => rand(1000000) . "-sendEmail", ## Message-ID for email header + +); + + +## This hash stores the options passed on the command line via the -o option. +my %opt = ( + ## Addressing + "reply-to" => '', ## Reply-To field + + ## Message + "message-file" => '', ## File to read message body from + "message-header" => '', ## Additional email header line(s) + "message-format" => 'normal', ## If "raw" is specified the message is sent unmodified + ##"message-charset" => 'iso-8859-1', ## Message character-set + "message-charset" => 'utf-8', + "message-content-type" => 'auto', ## auto, text, html or an actual string to put into the content-type header. + + ## Network + "timeout" => 60, ## Default timeout for connects and reads, this is copied to $conf{'alarm'} later. + "fqdn" => 'changeme', ## FQDN of this machine, used during SMTP communication (is updated later in the script). + + ## eSMTP + "username" => '', ## Username used in SMTP Auth + "password" => '', ## Password used in SMTP Auth + "tls" => 'auto', ## Enable or disable TLS support. Options: auto, yes, no + +); + +## More variables used later in the program +my $SERVER; +my $CRLF = "\015\012"; +my $subject = ''; +my $header = ''; +my $message = ''; +my $from = ''; +my @to = (); +my @cc = (); +my @bcc = (); +my @attachments = (); +my @attachments_names = (); + +## For printing colors to the console +my ${colorRed} = "\033[31;1m"; +my ${colorGreen} = "\033[32;1m"; +my ${colorCyan} = "\033[36;1m"; +my ${colorWhite} = "\033[37;1m"; +my ${colorNormal} = "\033[m"; +my ${colorBold} = "\033[1m"; +my ${colorNoBold} = "\033[0m"; + +## Don't use shell escape codes on Windows systems +if ($^O =~ /win/i) { + ${colorRed} = ${colorGreen} = ${colorCyan} = ${colorWhite} = ${colorNormal} = ${colorBold} = ${colorNoBold} = ""; +} + +## Load IO::Socket::SSL if it's available +eval { require IO::Socket::SSL; }; +if ($@) { $conf{'tls_client'} = 0; } +else { $conf{'tls_client'} = 1; } + + + + + + +############################# +## ## +## FUNCTIONS ## +## ## +############################# + + + + + +############################################################################################### +## Function: initialize () +## +## Does all the script startup jibberish. +## +############################################################################################### +sub initialize { + + ## Set STDOUT to flush immediatly after each print + $| = 1; + + ## Intercept signals + $SIG{'QUIT'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + $SIG{'INT'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + $SIG{'KILL'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + $SIG{'TERM'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + + ## ALARM and HUP signals are not supported in Win32 + unless ($^O =~ /win/i) { + $SIG{'HUP'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + $SIG{'ALRM'} = sub { quit("EXITING: Received SIG$_[0]", 1); }; + } + + ## Fixup $conf{'programName'} + $conf{'programName'} =~ s/(.)*[\/,\\]//; + $0 = $conf{'programName'} . " " . join(" ", @ARGV); + + ## Fixup $conf{'hostname'} and $opt{'fqdn'} + if ($opt{'fqdn'} eq 'changeme') { $opt{'fqdn'} = get_hostname(1); } + if ($conf{'hostname'} eq 'changeme') { $conf{'hostname'} = $opt{'fqdn'}; $conf{'hostname'} =~ s/\..*//; } + + return(1); +} + + + + + + + + + + + + + + + +############################################################################################### +## Function: processCommandLine () +## +## Processes command line storing important data in global vars (usually %conf) +## +############################################################################################### +sub processCommandLine { + + + ############################ + ## Process command line ## + ############################ + + my @ARGS = @ARGV; ## This is so later we can re-parse the command line args later if we need to + my $numargv = @ARGS; + help() unless ($numargv); + my $counter = 0; + + for ($counter = 0; $counter < $numargv; $counter++) { + + if ($ARGS[$counter] =~ /^-h$/i) { ## Help ## + help(); + } + + elsif ($ARGS[$counter] eq "") { ## Ignore null arguments + ## Do nothing + } + + elsif ($ARGS[$counter] =~ /^--help/) { ## Topical Help ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + helpTopic($ARGS[$counter]); + } + else { + help(); + } + } + + elsif ($ARGS[$counter] =~ /^-o$/i) { ## Options specified with -o ## + $counter++; + ## Loop through each option passed after the -o + while ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + + if ($ARGS[$counter] !~ /(\S+)=(\S.*)/) { + printmsg("WARNING => Name/Value pair [$ARGS[$counter]] is not properly formatted", 0); + printmsg("WARNING => Arguments proceeding -o should be in the form of \"name=value\"", 0); + } + else { + if (exists($opt{$1})) { + if ($1 eq 'message-header') { + $opt{$1} .= $2 . $CRLF; + } + else { + $opt{$1} = $2; + } + printmsg("DEBUG => Assigned \$opt{} key/value: $1 => $2", 3); + } + else { + printmsg("WARNING => Name/Value pair [$ARGS[$counter]] will be ignored: unknown key [$1]", 0); + printmsg("HINT => Try the --help option to find valid command line arguments", 1); + } + } + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-f$/) { ## From ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { $from = $ARGS[$counter]; } + else { printmsg("WARNING => The argument after -f was not an email address!", 0); $counter--; } + } + + elsif ($ARGS[$counter] =~ /^-t$/) { ## To ## + $counter++; + while ($ARGS[$counter] && ($ARGS[$counter] !~ /^-/)) { + if ($ARGS[$counter] =~ /[;,]/) { + push (@to, split(/[;,]/, $ARGS[$counter])); + } + else { + push (@to,$ARGS[$counter]); + } + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-cc$/) { ## Cc ## + $counter++; + while ($ARGS[$counter] && ($ARGS[$counter] !~ /^-/)) { + if ($ARGS[$counter] =~ /[;,]/) { + push (@cc, split(/[;,]/, $ARGS[$counter])); + } + else { + push (@cc,$ARGS[$counter]); + } + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-bcc$/) { ## Bcc ## + $counter++; + while ($ARGS[$counter] && ($ARGS[$counter] !~ /^-/)) { + if ($ARGS[$counter] =~ /[;,]/) { + push (@bcc, split(/[;,]/, $ARGS[$counter])); + } + else { + push (@bcc,$ARGS[$counter]); + } + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-m$/) { ## Message ## + $counter++; + $message = ""; + while ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + if ($message) { $message .= " "; } + $message .= $ARGS[$counter]; + $counter++; + } $counter--; + + ## Replace '\n' with $CRLF. + ## This allows newlines with messages sent on the command line + $message =~ s/\\n/$CRLF/g; + } + + elsif ($ARGS[$counter] =~ /^-u$/) { ## Subject ## + $counter++; + $subject = ""; + while ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + if ($subject) { $subject .= " "; } + $subject .= $ARGS[$counter]; + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-s$/) { ## Server ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + $conf{'server'} = $ARGS[$counter]; + if ($conf{'server'} =~ /:/) { ## Port ## + ($conf{'server'},$conf{'port'}) = split(":",$conf{'server'}); + } + } + else { printmsg("WARNING - The argument after -s was not the server!", 0); $counter--; } + } + + elsif ($ARGS[$counter] =~ /^-b$/) { ## Bind Address ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + $conf{'bindaddr'} = $ARGS[$counter]; + } + else { printmsg("WARNING - The argument after -b was not the bindaddr!", 0); $counter--; } + } + + elsif ($ARGS[$counter] =~ /^-a$/) { ## Attachments ## + $counter++; + while ($ARGS[$counter] && ($ARGS[$counter] !~ /^-/)) { + push (@attachments,$ARGS[$counter]); + $counter++; + } $counter--; + } + + elsif ($ARGS[$counter] =~ /^-xu$/) { ## AuthSMTP Username ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + $opt{'username'} = $ARGS[$counter]; + } + else { + printmsg("WARNING => The argument after -xu was not valid username!", 0); + $counter--; + } + } + + elsif ($ARGS[$counter] =~ /^-xp$/) { ## AuthSMTP Password ## + $counter++; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { + $opt{'password'} = $ARGS[$counter]; + } + else { + printmsg("WARNING => The argument after -xp was not valid password!", 0); + $counter--; + } + } + + elsif ($ARGS[$counter] =~ /^-l$/) { ## Logging ## + $counter++; + $conf{'logging'} = 1; + if ($ARGS[$counter] && $ARGS[$counter] !~ /^-/) { $conf{'logFile'} = $ARGS[$counter]; } + else { printmsg("WARNING - The argument after -l was not the log file!", 0); $counter--; } + } + + elsif ($ARGS[$counter] =~ s/^-v+//i) { ## Verbosity ## + my $tmp = (length($&) - 1); + $conf{'debug'} += $tmp; + } + + elsif ($ARGS[$counter] =~ /^-q$/) { ## Quiet ## + $conf{'stdout'} = 0; + } + + else { + printmsg("Error: \"$ARGS[$counter]\" is not a recognized option!", 0); + help(); + } + + } + + + + + + + + + ################################################### + ## Verify required variables are set correctly ## + ################################################### + + ## Make sure we have something in $conf{hostname} and $opt{fqdn} + if ($opt{'fqdn'} =~ /\./) { + $conf{'hostname'} = $opt{'fqdn'}; + $conf{'hostname'} =~ s/\..*//; + } + + if (!$conf{'server'}) { $conf{'server'} = 'localhost'; } + if (!$conf{'port'}) { $conf{'port'} = 25; } + if (!$from) { + quit("ERROR => You must specify a 'from' field! Try --help.", 1); + } + if ( ((scalar(@to)) + (scalar(@cc)) + (scalar(@bcc))) <= 0) { + quit("ERROR => You must specify at least one recipient via -t, -cc, or -bcc", 1); + } + + ## Make sure email addresses look OK. + foreach my $addr (@to, @cc, @bcc, $from, $opt{'reply-to'}) { + if ($addr) { + if (!returnAddressParts($addr)) { + printmsg("ERROR => Can't use improperly formatted email address: $addr", 0); + printmsg("HINT => Try viewing the extended help on addressing with \"--help addressing\"", 1); + quit("", 1); + } + } + } + + ## Make sure all attachments exist. + foreach my $file (@attachments) { + if ( (! -f $file) or (! -r $file) ) { + printmsg("ERROR => The attachment [$file] doesn't exist!", 0); + printmsg("HINT => Try specifying the full path to the file or reading extended help with \"--help message\"", 1); + quit("", 1); + } + } + + if ($conf{'logging'} and (!$conf{'logFile'})) { + quit("ERROR => You used -l to enable logging but didn't specify a log file!", 1); + } + + if ( $opt{'username'} ) { + if (!$opt{'password'}) { + ## Prompt for a password since one wasn't specified with the -xp option. + $SIG{'ALRM'} = sub { quit("ERROR => Timeout waiting for password inpupt", 1); }; + alarm(60) if ($^O !~ /win/i); ## alarm() doesn't work in win32 + print "Password: "; + $opt{'password'} = ; chomp $opt{'password'}; + if (!$opt{'password'}) { + quit("ERROR => A username for SMTP authentication was specified, but no password!", 1); + } + } + } + + ## Validate the TLS setting + $opt{'tls'} = lc($opt{'tls'}); + if ($opt{'tls'} !~ /^(auto|yes|no)$/) { + quit("ERROR => Invalid TLS setting ($opt{'tls'}). Must be one of auto, yes, or no.", 1); + } + + ## If TLS is set to "yes", make sure sendEmail loaded the libraries needed. + if ($opt{'tls'} eq 'yes' and $conf{'tls_client'} == 0) { + quit("ERROR => No TLS support! SendEmail can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)", 1); + } + + ## Return 0 errors + return(0); +} + + + + + + + + + + + + + + + + +## getline($socketRef) +sub getline { + my ($socketRef) = @_; + local ($/) = "\r\n"; + return $$socketRef->getline; +} + + + + +## Receive a (multiline?) SMTP response from ($socketRef) +sub getResponse { + my ($socketRef) = @_; + my ($tmp, $reply); + local ($/) = "\r\n"; + return undef unless defined($tmp = getline($socketRef)); + return("getResponse() socket is not open") unless ($$socketRef->opened); + ## Keep reading lines if it's a multi-line response + while ($tmp =~ /^\d{3}-/o) { + $reply .= $tmp; + return undef unless defined($tmp = getline($socketRef)); + } + $reply .= $tmp; + $reply =~ s/\r?\n$//o; + return $reply; +} + + + + +############################################################################################### +## Function: SMTPchat ( [string $command] ) +## +## Description: Sends $command to the SMTP server (on SERVER) and awaits a successful +## reply form the server. If the server returns an error, or does not reply +## within $conf{'alarm'} seconds an error is generated. +## NOTE: $command is optional, if no command is specified then nothing will +## be sent to the server, but a valid response is still required from the server. +## +## Input: [$command] A (optional) valid SMTP command (ex. "HELO") +## +## +## Output: Returns zero on success, or non-zero on error. +## Error messages will be stored in $conf{'error'} +## A copy of the last SMTP response is stored in the global variable +## $conf{'SMTPchat_response'} +## +## +## Example: SMTPchat ("HELO mail.isp.net"); +############################################################################################### +sub SMTPchat { + my ($command) = @_; + + printmsg("INFO => Sending: \t$command", 1) if ($command); + + ## Send our command + print $SERVER "$command$CRLF" if ($command); + + ## Read a response from the server + $SIG{'ALRM'} = sub { $conf{'error'} = "alarm"; $SERVER->close(); }; + alarm($conf{'alarm'}) if ($^O !~ /win/i); ## alarm() doesn't work in win32; + my $result = $conf{'SMTPchat_response'} = getResponse(\$SERVER); + alarm(0) if ($^O !~ /win/i); ## alarm() doesn't work in win32; + + ## Generate an alert if we timed out + if ($conf{'error'} eq "alarm") { + $conf{'error'} = "ERROR => Timeout while reading from $conf{'server'}:$conf{'port'} There was no response after $conf{'alarm'} seconds."; + return(1); + } + + ## Make sure the server actually responded + if (!$result) { + $conf{'error'} = "ERROR => $conf{'server'}:$conf{'port'} returned a zero byte response to our query."; + return(2); + } + + ## Validate the response + if (evalSMTPresponse($result)) { + ## conf{'error'} will already be set here + return(2); + } + + ## Print the success messsage + printmsg($conf{'error'}, 1); + + ## Return Success + return(0); +} + + + + + + + + + + + + +############################################################################################### +## Function: evalSMTPresponse (string $message ) +## +## Description: Searches $message for either an SMTP success or error code, and returns +## 0 on success, and the actual error code on error. +## +## +## Input: $message Data received from a SMTP server (ex. "220 +## +## +## Output: Returns zero on success, or non-zero on error. +## Error messages will be stored in $conf{'error'} +## +## +## Example: SMTPchat ("HELO mail.isp.net"); +############################################################################################### +sub evalSMTPresponse { + my ($message) = @_; + + ## Validate input + if (!$message) { + $conf{'error'} = "ERROR => No message was passed to evalSMTPresponse(). What happened?"; + return(1) + } + + printmsg("DEBUG => evalSMTPresponse() - Checking for SMTP success or error status in the message: $message ", 3); + + ## Look for a SMTP success code + if ($message =~ /^([23]\d\d)/) { + printmsg("DEBUG => evalSMTPresponse() - Found SMTP success code: $1", 2); + $conf{'error'} = "SUCCESS => Received: \t$message"; + return(0); + } + + ## Look for a SMTP error code + if ($message =~ /^([45]\d\d)/) { + printmsg("DEBUG => evalSMTPresponse() - Found SMTP error code: $1", 2); + $conf{'error'} = "ERROR => Received: \t$message"; + return($1); + } + + ## If no SMTP codes were found return an error of 1 + $conf{'error'} = "ERROR => Received a message with no success or error code. The message received was: $message"; + return(2); + +} + + + + + + + + + + +######################################################### +# SUB: &return_month(0,1,etc) +# returns the name of the month that corrosponds +# with the number. returns 0 on error. +######################################################### +sub return_month { + my $x = $_[0]; + if ($x == 0) { return 'Jan'; } + if ($x == 1) { return 'Feb'; } + if ($x == 2) { return 'Mar'; } + if ($x == 3) { return 'Apr'; } + if ($x == 4) { return 'May'; } + if ($x == 5) { return 'Jun'; } + if ($x == 6) { return 'Jul'; } + if ($x == 7) { return 'Aug'; } + if ($x == 8) { return 'Sep'; } + if ($x == 9) { return 'Oct'; } + if ($x == 10) { return 'Nov'; } + if ($x == 11) { return 'Dec'; } + return (0); +} + + + + + + + + + + + + + + + + +######################################################### +# SUB: &return_day(0,1,etc) +# returns the name of the day that corrosponds +# with the number. returns 0 on error. +######################################################### +sub return_day { + my $x = $_[0]; + if ($x == 0) { return 'Sun'; } + if ($x == 1) { return 'Mon'; } + if ($x == 2) { return 'Tue'; } + if ($x == 3) { return 'Wed'; } + if ($x == 4) { return 'Thu'; } + if ($x == 5) { return 'Fri'; } + if ($x == 6) { return 'Sat'; } + return (0); +} + + + + + + + + + + + + + + + + +############################################################################################### +## Function: returnAddressParts(string $address) +## +## Description: Returns a two element array containing the "Name" and "Address" parts of +## an email address. +## +## Example: "Brandon Zehm " +## would return: ("Brandon Zehm", "caspian@dotconf.net"); +## +## "caspian@dotconf.net" +## would return: ("caspian@dotconf.net", "caspian@dotconf.net") +############################################################################################### +sub returnAddressParts { + my $input = $_[0]; + my $name = ""; + my $address = ""; + + ## Make sure to fail if it looks totally invalid + if ($input !~ /(\S+\@\S+)/) { + $conf{'error'} = "ERROR => The address [$input] doesn't look like a valid email address, ignoring it"; + return(undef()); + } + + ## Check 1, should find addresses like: "Brandon Zehm " + elsif ($input =~ /^\s*(\S(.*\S)?)\s*<(\S+\@\S+)>/o) { + ($name, $address) = ($1, $3); + } + + ## Otherwise if that failed, just get the address: + elsif ($input =~ /<(\S+\@\S+)>/o) { + $name = $address = $1; + } + + ## Or maybe it was formatted this way: caspian@dotconf.net + elsif ($input =~ /(\S+\@\S+)/o) { + $name = $address = $1; + } + + ## Something stupid happened, just return an error. + unless ($name and $address) { + printmsg("ERROR => Couldn't parse the address: $input", 0); + printmsg("HINT => If you think this should work, consider reporting this as a bug to $conf{'authorEmail'}", 1); + return(undef()); + } + + ## Make sure there aren't invalid characters in the address, and return it. + my $ctrl = '\000-\037'; + my $nonASCII = '\x80-\xff'; + if ($address =~ /[<> ,;:"'\[\]\\$ctrl$nonASCII]/) { + printmsg("WARNING => The address [$address] seems to contain invalid characters: continuing anyway", 0); + } + return($name, $address); +} + + + + + + + + + + + + + + + + +############################################################################################### +## Function: base64_encode(string $data, bool $chunk) +## +## Description: Returns $data as a base64 encoded string. +## If $chunk is true, the encoded data is returned in 76 character long lines +## with the final \CR\LF removed. +## +## Note: This is only used from the smtp auth section of code. +## At some point it would be nice to merge the code that encodes attachments and this. +############################################################################################### +sub base64_encode { + my $data = $_[0]; + my $chunk = $_[1]; + my $tmp = ''; + my $base64 = ''; + my $CRLF = "\r\n"; + + ################################### + ## Convert binary data to base64 ## + ################################### + while ($data =~ s/(.{45})//s) { ## Get 45 bytes from the binary string + $tmp = substr(pack('u', $&), 1); ## Convert the binary to uuencoded text + chop($tmp); + $tmp =~ tr|` -_|AA-Za-z0-9+/|; ## Translate from uuencode to base64 + $base64 .= $tmp; + } + + ########################## + ## Encode the leftovers ## + ########################## + my $padding = ""; + if ( ($data) and (length($data) > 0) ) { + $padding = (3 - length($data) % 3) % 3; ## Set flag if binary data isn't divisible by 3 + $tmp = substr(pack('u', $data), 1); ## Convert the binary to uuencoded text + chop($tmp); + $tmp =~ tr|` -_|AA-Za-z0-9+/|; ## Translate from uuencode to base64 + $base64 .= $tmp; + } + + ############################ + ## Fix padding at the end ## + ############################ + $data = ''; + $base64 =~ s/.{$padding}$/'=' x $padding/e if $padding; ## Fix the end padding if flag (from above) is set + if ($chunk) { + while ($base64 =~ s/(.{1,76})//s) { ## Put $CRLF after each 76 characters + $data .= "$1$CRLF"; + } + } + else { + $data = $base64; + } + + ## Remove any trailing CRLF's + $data =~ s/(\r|\n)*$//s; + return($data); +} + + + + + + + + + +######################################################### +# SUB: send_attachment("/path/filename") +# Sends the mime headers and base64 encoded file +# to the email server. +######################################################### +sub send_attachment { + my ($filename) = @_; ## Get filename passed + my (@fields, $y, $filename_name, $encoding, ## Local variables + @attachlines, $content_type); + my $bin = 1; + + @fields = split(/\/|\\/, $filename); ## Get the actual filename without the path + $filename_name = pop(@fields); + push @attachments_names, $filename_name; ## FIXME: This is only used later for putting in the log file + + ########################## + ## Autodetect Mime Type ## + ########################## + + @fields = split(/\./, $filename_name); + $encoding = $fields[$#fields]; + + if ($encoding =~ /txt|text|log|conf|^c$|cpp|^h$|inc|m3u/i) { $content_type = 'text/plain'; } + elsif ($encoding =~ /html|htm|shtml|shtm|asp|php|cfm/i) { $content_type = 'text/html'; } + elsif ($encoding =~ /sh$/i) { $content_type = 'application/x-sh'; } + elsif ($encoding =~ /tcl/i) { $content_type = 'application/x-tcl'; } + elsif ($encoding =~ /pl$/i) { $content_type = 'application/x-perl'; } + elsif ($encoding =~ /js$/i) { $content_type = 'application/x-javascript'; } + elsif ($encoding =~ /man/i) { $content_type = 'application/x-troff-man'; } + elsif ($encoding =~ /gif/i) { $content_type = 'image/gif'; } + elsif ($encoding =~ /jpg|jpeg|jpe|jfif|pjpeg|pjp/i) { $content_type = 'image/jpeg'; } + elsif ($encoding =~ /tif|tiff/i) { $content_type = 'image/tiff'; } + elsif ($encoding =~ /xpm/i) { $content_type = 'image/x-xpixmap'; } + elsif ($encoding =~ /bmp/i) { $content_type = 'image/x-MS-bmp'; } + elsif ($encoding =~ /pcd/i) { $content_type = 'image/x-photo-cd'; } + elsif ($encoding =~ /png/i) { $content_type = 'image/png'; } + elsif ($encoding =~ /aif|aiff/i) { $content_type = 'audio/x-aiff'; } + elsif ($encoding =~ /wav/i) { $content_type = 'audio/x-wav'; } + elsif ($encoding =~ /mp2|mp3|mpa/i) { $content_type = 'audio/x-mpeg'; } + elsif ($encoding =~ /ra$|ram/i) { $content_type = 'audio/x-pn-realaudio'; } + elsif ($encoding =~ /mpeg|mpg/i) { $content_type = 'video/mpeg'; } + elsif ($encoding =~ /mov|qt$/i) { $content_type = 'video/quicktime'; } + elsif ($encoding =~ /avi/i) { $content_type = 'video/x-msvideo'; } + elsif ($encoding =~ /zip/i) { $content_type = 'application/x-zip-compressed'; } + elsif ($encoding =~ /tar/i) { $content_type = 'application/x-tar'; } + elsif ($encoding =~ /jar/i) { $content_type = 'application/java-archive'; } + elsif ($encoding =~ /exe|bin/i) { $content_type = 'application/octet-stream'; } + elsif ($encoding =~ /ppt|pot|ppa|pps|pwz/i) { $content_type = 'application/vnd.ms-powerpoint'; } + elsif ($encoding =~ /mdb|mda|mde/i) { $content_type = 'application/vnd.ms-access'; } + elsif ($encoding =~ /xls|xlt|xlm|xld|xla|xlc|xlw|xll/i) { $content_type = 'application/vnd.ms-excel'; } + elsif ($encoding =~ /doc|dot/i) { $content_type = 'application/msword'; } + elsif ($encoding =~ /rtf/i) { $content_type = 'application/rtf'; } + elsif ($encoding =~ /pdf/i) { $content_type = 'application/pdf'; } + elsif ($encoding =~ /tex/i) { $content_type = 'application/x-tex'; } + elsif ($encoding =~ /latex/i) { $content_type = 'application/x-latex'; } + elsif ($encoding =~ /vcf/i) { $content_type = 'application/x-vcard'; } + else { $content_type = 'application/octet-stream'; } + + + ############################ + ## Process the attachment ## + ############################ + + ##################################### + ## Generate and print MIME headers ## + ##################################### + + $y = "$CRLF--$conf{'delimiter'}$CRLF"; + $y .= "Content-Type: $content_type;$CRLF"; + $y .= " name=\"$filename_name\"$CRLF"; + $y .= "Content-Transfer-Encoding: base64$CRLF"; + $y .= "Content-Disposition: attachment; filename=\"$filename_name\"$CRLF"; + $y .= "$CRLF"; + print $SERVER $y; + + + ########################################################### + ## Convert the file to base64 and print it to the server ## + ########################################################### + + open (FILETOATTACH, $filename) || do { + printmsg("ERROR => Opening the file [$filename] for attachment failed with the error: $!", 0); + return(1); + }; + binmode(FILETOATTACH); ## Hack to make Win32 work + + my $res = ""; + my $tmp = ""; + my $base64 = ""; + while () { ## Read a line from the (binary) file + $res .= $_; + + ################################### + ## Convert binary data to base64 ## + ################################### + while ($res =~ s/(.{45})//s) { ## Get 45 bytes from the binary string + $tmp = substr(pack('u', $&), 1); ## Convert the binary to uuencoded text + chop($tmp); + $tmp =~ tr|` -_|AA-Za-z0-9+/|; ## Translate from uuencode to base64 + $base64 .= $tmp; + } + + ################################ + ## Print chunks to the server ## + ################################ + while ($base64 =~ s/(.{76})//s) { + print $SERVER "$1$CRLF"; + } + + } + + ################################### + ## Encode and send the leftovers ## + ################################### + my $padding = ""; + if ( ($res) and (length($res) >= 1) ) { + $padding = (3 - length($res) % 3) % 3; ## Set flag if binary data isn't divisible by 3 + $res = substr(pack('u', $res), 1); ## Convert the binary to uuencoded text + chop($res); + $res =~ tr|` -_|AA-Za-z0-9+/|; ## Translate from uuencode to base64 + } + + ############################ + ## Fix padding at the end ## + ############################ + $res = $base64 . $res; ## Get left overs from above + $res =~ s/.{$padding}$/'=' x $padding/e if $padding; ## Fix the end padding if flag (from above) is set + if ($res) { + while ($res =~ s/(.{1,76})//s) { ## Send it to the email server. + print $SERVER "$1$CRLF"; + } + } + + close (FILETOATTACH) || do { + printmsg("ERROR - Closing the filehandle for file [$filename] failed with the error: $!", 0); + return(2); + }; + + ## Return 0 errors + return(0); + +} + + + + + + + + + +############################################################################################### +## Function: $string = get_hostname (boot $fqdn) +## +## Description: Tries really hard to returns the short (or FQDN) hostname of the current +## system. Uses techniques and code from the Sys-Hostname module. +## +## Input: $fqdn A true value (1) will cause this function to return a FQDN hostname +## rather than a short hostname. +## +## Output: Returns a string +############################################################################################### +sub get_hostname { + ## Assign incoming parameters to variables + my ( $fqdn ) = @_; + my $hostname = ""; + + ## STEP 1: Get short hostname + + ## Load Sys::Hostname if it's available + eval { require Sys::Hostname; }; + unless ($@) { + $hostname = Sys::Hostname::hostname(); + } + + ## If that didn't get us a hostname, try a few other things + else { + ## Windows systems + if ($^O !~ /win/i) { + if ($ENV{'COMPUTERNAME'}) { $hostname = $ENV{'COMPUTERNAME'}; } + if (!$hostname) { $hostname = gethostbyname('localhost'); } + if (!$hostname) { chomp($hostname = `hostname 2> NUL`) }; + } + + ## Unix systems + else { + local $ENV{PATH} = '/usr/bin:/bin:/usr/sbin:/sbin'; ## Paranoia + + ## Try the environment first (Help! What other variables could/should I be checking here?) + if ($ENV{'HOSTNAME'}) { $hostname = $ENV{'HOSTNAME'}; } + + ## Try the hostname command + eval { local $SIG{__DIE__}; local $SIG{CHLD}; $hostname = `hostname 2>/dev/null`; chomp($hostname); } || + + ## Try POSIX::uname(), which strictly can't be expected to be correct + eval { local $SIG{__DIE__}; require POSIX; $hostname = (POSIX::uname())[1]; } || + + ## Try the uname command + eval { local $SIG{__DIE__}; $hostname = `uname -n 2>/dev/null`; chomp($hostname); }; + + } + + ## If we can't find anything else, return "" + if (!$hostname) { + print "WARNING => No hostname could be determined, please specify one with -o fqdn=FQDN option!\n"; + return("unknown"); + } + } + + ## Return the short hostname + unless ($fqdn) { + $hostname =~ s/\..*//; + return(lc($hostname)); + } + + ## STEP 2: Determine the FQDN + + ## First, if we already have one return it. + if ($hostname =~ /\w\.\w/) { return(lc($hostname)); } + + ## Next try using + eval { $fqdn = (gethostbyname($hostname))[0]; }; + if ($fqdn) { return(lc($fqdn)); } + return(lc($hostname)); +} + + + + + + + + +############################################################################################### +## Function: printmsg (string $message, int $level) +## +## Description: Handles all messages - printing them to the screen only if the messages +## $level is >= the global debug level. If $conf{'logFile'} is defined it +## will also log the message to that file. +## +## Input: $message A message to be printed, logged, etc. +## $level The debug level of the message. If +## not defined 0 will be assumed. 0 is +## considered a normal message, 1 and +## higher is considered a debug message. +## +## Output: Prints to STDOUT +## +## Assumptions: $conf{'hostname'} should be the name of the computer we're running on. +## $conf{'stdout'} should be set to 1 if you want to print to stdout +## $conf{'logFile'} should be a full path to a log file if you want that +## $conf{'debug'} should be an integer between 0 and 10. +## +## Example: printmsg("WARNING: We believe in generic error messages... NOT!", 0); +############################################################################################### +sub printmsg { + ## Assign incoming parameters to variables + my ( $message, $level ) = @_; + + ## Make sure input is sane + $level = 0 if (!defined($level)); + $message =~ s/\s+$//sgo; + $message =~ s/\r?\n/, /sgo; + + ## Continue only if the debug level of the program is >= message debug level. + if ($conf{'debug'} >= $level) { + + ## Get the date in the format: Dec 3 11:14:04 + my ($sec, $min, $hour, $mday, $mon) = localtime(); + $mon = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')[$mon]; + my $date = sprintf("%s %02d %02d:%02d:%02d", $mon, $mday, $hour, $min, $sec); + + ## Print to STDOUT always if debugging is enabled, or if conf{stdout} is true. + if ( ($conf{'debug'} >= 1) or ($conf{'stdout'} == 1) ) { + print "$date $conf{'hostname'} $conf{'programName'}\[$$\]: $message\n"; + } + + ## Print to the log file if $conf{'logging'} is true + if ($conf{'logFile'}) { + if (openLogFile($conf{'logFile'})) { $conf{'logFile'} = ""; printmsg("ERROR => Opening the file [$conf{'logFile'}] for appending returned the error: $!", 1); } + print LOGFILE "$date $conf{'hostname'} $conf{'programName'}\[$$\]: $message\n"; + } + + } + + ## Return 0 errors + return(0); +} + + + + + + + + + + + + +############################################################################################### +## FUNCTION: +## openLogFile ( $filename ) +## +## +## DESCRIPTION: +## Opens the file $filename and attaches it to the filehandle "LOGFILE". Returns 0 on success +## and non-zero on failure. Error codes are listed below, and the error message gets set in +## global variable $!. +## +## +## Example: +## openFile ("/var/log/sendEmail.log"); +## +############################################################################################### +sub openLogFile { + ## Get the incoming filename + my $filename = $_[0]; + + ## Make sure our file exists, and if the file doesn't exist then create it + if ( ! -f $filename ) { + print STDERR "NOTICE: The log file [$filename] does not exist. Creating it now with mode [0600].\n" if ($conf{'stdout'}); + open (LOGFILE, ">>$filename"); + close LOGFILE; + chmod (0600, $filename); + } + + ## Now open the file and attach it to a filehandle + open (LOGFILE,">>$filename") or return (1); + + ## Put the file into non-buffering mode + select LOGFILE; + $| = 1; + select STDOUT; + + ## Return success + return(0); +} + + + + + + + + +############################################################################################### +## Function: read_file (string $filename) +## +## Description: Reads the contents of a file and returns a two part array: +## ($status, $file-contents) +## $status is 0 on success, non-zero on error. +## +## Example: ($status, $file) = read_file("/etc/passwd"); +############################################################################################### +sub read_file { + my ( $filename ) = @_; + + ## If the value specified is a file, load the file's contents + if ( (-e $filename and -r $filename) ) { + my $FILE; + if(!open($FILE, ' ' . $filename)) { + return((1, "")); + } + my $file = ''; + while (<$FILE>) { + $file .= $_; + } + ## Strip an ending \r\n + $file =~ s/\r?\n$//os; + } + return((1, "")); +} + + + + + + + + + +############################################################################################### +## Function: quit (string $message, int $errorLevel) +## +## Description: Exits the program, optionally printing $message. It +## returns an exit error level of $errorLevel to the +## system (0 means no errors, and is assumed if empty.) +## +## Example: quit("Exiting program normally", 0); +############################################################################################### +sub quit { + my ( $message, $errorLevel ) = @_; + $errorLevel = 0 if (!defined($errorLevel)); + + ## Print exit message + if ($message) { + printmsg($message, 0); + } + + ## Exit + exit($errorLevel); +} + + + + + + + + + + + + +############################################################################################### +## Function: help () +## +## Description: For all those newbies ;) +## Prints a help message and exits the program. +## +############################################################################################### +sub help { +exit(1) if (!$conf{'stdout'}); +print <${colorNoBold} + +Synopsis: $conf{'programName'} -f ADDRESS [options] + + ${colorRed}Required:${colorNormal} + -f ADDRESS from (sender) email address + * At least one recipient required via -t, -cc, or -bcc + * Message body required via -m, STDIN, or -o message-file=FILE + + ${colorGreen}Common:${colorNormal} + -t ADDRESS [ADDR ...] to email address(es) + -u SUBJECT message subject + -m MESSAGE message body + -s SERVER[:PORT] smtp mail relay, default is $conf{'server'}:$conf{'port'} + + ${colorGreen}Optional:${colorNormal} + -a FILE [FILE ...] file attachment(s) + -cc ADDRESS [ADDR ...] cc email address(es) + -bcc ADDRESS [ADDR ...] bcc email address(es) + -xu USERNAME username for SMTP authentication + -xp PASSWORD password for SMTP authentication + + ${colorGreen}Paranormal:${colorNormal} + -b BINDADDR[:PORT] local host bind address + -l LOGFILE log to the specified file + -v verbosity, use multiple times for greater effect + -q be quiet (i.e. no STDOUT output) + -o NAME=VALUE advanced options, for details try: --help misc + -o message-content-type= + -o message-file=FILE -o message-format=raw + -o message-header=HEADER -o message-charset=CHARSET + -o reply-to=ADDRESS -o timeout=SECONDS + -o username=USERNAME -o password=PASSWORD + -o tls= -o fqdn=FQDN + + + ${colorGreen}Help:${colorNormal} + --help the helpful overview you're reading now + --help addressing explain addressing and related options + --help message explain message body input and related options + --help networking explain -s, -b, etc + --help output explain logging and other output options + --help misc explain -o options, TLS, SMTP auth, and more + +EOM +exit(1); +} + + + + + + + + + +############################################################################################### +## Function: helpTopic ($topic) +## +## Description: For all those newbies ;) +## Prints a help message and exits the program. +## +############################################################################################### +sub helpTopic { + exit(1) if (!$conf{'stdout'}); + my ($topic) = @_; + + CASE: { + + + + +## ADDRESSING + ($topic eq 'addressing') && do { + print <" + Just Address: "john.doe\@gmail.com" + +The "Full Name" method is useful if you want a name, rather than a plain +email address, to be displayed in the recipient's From, To, or Cc fields +when they view the message. + + +${colorGreen}Multiple Recipients${colorNormal} +The -t, -cc, and -bcc options each accept multiple addresses. They may be +specified by separating them by either a white space, comma, or semi-colon +separated list. You may also specify the -t, -cc, and -bcc options multiple +times, each occurance will append the new recipients to the respective list. + +Examples: +(I used "-t" in these examples, but it can be "-cc" or "-bcc" as well) + + * Space separated list: + -t jane.doe\@yahoo.com "John Doe " + + * Semi-colon separated list: + -t "jane.doe\@yahoo.com; John Doe " + + * Comma separated list: + -t "jane.doe\@yahoo.com, John Doe " + + * Multiple -t, -cc, or -bcc options: + -t "jane.doe\@yahoo.com" -t "John Doe " + + +EOM + last CASE; + }; + + + + + + +## MESSAGE + ($topic eq 'message') && do { + print < + -o message-header=EMAIL HEADER + -o message-charset=CHARSET + -o message-format=raw + +-u SUBJECT + This option allows you to specify the subject for your email message. + It is not required (anymore) that the subject be quoted, although it + is recommended. The subject will be read until an argument starting + with a hyphen (-) is found. + Examples: + -u "Contact information while on vacation" + -u New Microsoft vulnerability discovered + +-m MESSAGE + This option is one of three methods that allow you to specify the message + body for your email. The message may be specified on the command line + with this -m option, read from a file with the -o message-file=FILE + option, or read from STDIN if neither of these options are present. + + It is not required (anymore) that the message be quoted, although it is + recommended. The message will be read until an argument starting with a + hyphen (-) is found. + Examples: + -m "See you in South Beach, Hawaii. -Todd" + -m Please ensure that you upgrade your systems right away + + Multi-line message bodies may be specified with the -m option by putting + a "\\n" into the message. Example: + -m "This is line 1.\\nAnd this is line 2." + + HTML messages are supported, simply begin your message with "" and + sendEmail will properly label the mime header so MUAs properly render + the message. It is currently not possible without "-o message-format=raw" + to send a message with both text and html parts with sendEmail. + +-o message-file=FILE + This option is one of three methods that allow you to specify the message + body for your email. To use this option simply specify a text file + containing the body of your email message. Examples: + -o message-file=/root/message.txt + -o message-file="C:\\Program Files\\output.txt" + +-o message-content-type= + This option allows you to specify the content-type of the email. If your + email message is an html message but is being displayed as a text message + just add "-o message-content-type=html" to the command line to force it + to display as an html message. This actually just changes the Content-Type: + header. Advanced users will be happy to know that if you specify anything + other than the three options listed above it will use that as the vaule + for the Content-Type header. + +-o message-header=EMAIL HEADER + This option allows you to specify additional email headers to be included. + To add more than one message header simply use this option on the command + line more than once. If you specify a message header that sendEmail would + normally generate the one you specified will be used in it's place. + Do not use this unless you know what you are doing! + Example: + To scare a Microsoft Outlook user you may want to try this: + -o message-header="X-Message-Flag: Message contains illegal content" + Example: + To request a read-receipt try this: + -o message-header="Disposition-Notification-To: " + Example: + To set the message priority try this: + -o message-header="X-Priority: 1" + Priority reference: 1=highest, 2=high, 3=normal, 4=low, 5=lowest + +-o message-charset=CHARSET + This option allows you to specify the character-set for the message body. + The default is iso-8859-1. + +-o message-format=raw + This option instructs sendEmail to assume the message (specified with -m, + read from STDIN, or read from the file specified in -o message-file=FILE) + is already a *complete* email message. SendEmail will not generate any + headers and will transmit the message as-is to the remote SMTP server. + Due to the nature of this option the following command line options will + be ignored when this one is used: + -u SUBJECT + -o message-header=EMAIL HEADER + -o message-charset=CHARSET + -a ATTACHMENT + + +${colorGreen}The Message Body${colorNormal} +The email message body may be specified in one of three ways: + 1) Via the -m MESSAGE command line option. + Example: + -m "This is the message body" + + 2) By putting the message body in a file and using the -o message-file=FILE + command line option. + Example: + -o message-file=/root/message.txt + + 3) By piping the message body to sendEmail when nither of the above command + line options were specified. + Example: + grep "ERROR" /var/log/messages | sendEmail -t you\@domain.com ... + +If the message body begins with "" then the message will be treated as +an HTML message and the MIME headers will be written so that a HTML capable +email client will display the message in it's HTML form. +Any of the above methods may be used with the -o message-format=raw option +to deliver an already complete email message. + + +EOM + last CASE; + }; + + + + + + +## MISC + ($topic eq 'misc') && do { + print < + -o timeout=SECONDS + -o fqdn=FQDN + +-a ATTACHMENT [ATTACHMENT ...] + This option allows you to attach any number of files to your email message. + To specify more than one attachment, simply separate each filename with a + space. Example: -a file1.txt file2.txt file3.txt + +-xu USERNAME + Alias for -o username=USERNAME + +-xp PASSWORD + Alias for -o password=PASSWORD + +-o username=USERNAME (synonym for -xu) + These options allow specification of a username to be used with SMTP + servers that require authentication. If a username is specified but a + password is not, you will be prompted to enter one at runtime. + +-o password=PASSWORD (synonym for -xp) + These options allow specification of a password to be used with SMTP + servers that require authentication. If a username is specified but a + password is not, you will be prompted to enter one at runtime. + +-o tls= + This option allows you to specify if TLS (SSL for SMTP) should be enabled + or disabled. The default, auto, will use TLS automatically if your perl + installation has the IO::Socket::SSL and Net::SSLeay modules available, + and if the remote SMTP server supports TLS. To require TLS for message + delivery set this to yes. To disable TLS support set this to no. A debug + level of one or higher will reveal details about the status of TLS. + +-o timeout=SECONDS + This option sets the timeout value in seconds used for all network reads, + writes, and a few other things. + +-o fqdn=FQDN + This option sets the Fully Qualified Domain Name used during the initial + SMTP greeting. Normally this is automatically detected, but in case you + need to manually set it for some reason or get a warning about detection + failing, you can use this to override the default. + + +EOM + last CASE; + }; + + + + + + +## NETWORKING + ($topic eq 'networking') && do { + print < + -o timeout=SECONDS + +-s SERVER[:PORT] + This option allows you to specify the SMTP server sendEmail should + connect to to deliver your email message to. If this option is not + specified sendEmail will try to connect to localhost:25 to deliver + the message. THIS IS MOST LIKELY NOT WHAT YOU WANT, AND WILL LIKELY + FAIL unless you have a email server (commonly known as an MTA) running + on your computer! + Typically you will need to specify your company or ISP's email server. + For example, if you use CableOne you will need to specify: + -s mail.cableone.net + If you have your own email server running on port 300 you would + probably use an option like this: + -s myserver.mydomain.com:300 + If you're a GMail user try: + -s smtp.gmail.com:587 -xu me\@gmail.com -xp PASSWD + +-b BINDADDR[:PORT] + This option allows you to specify the local IP address (and optional + tcp port number) for sendEmail to bind to when connecting to the remote + SMTP server. This useful for people who need to send an email from a + specific network interface or source address and are running sendEmail on + a firewall or other host with several network interfaces. + +-o tls= + This option allows you to specify if TLS (SSL for SMTP) should be enabled + or disabled. The default, auto, will use TLS automatically if your perl + installation has the IO::Socket::SSL and Net::SSLeay modules available, + and if the remote SMTP server supports TLS. To require TLS for message + delivery set this to yes. To disable TLS support set this to no. A debug + level of one or higher will reveal details about the status of TLS. + +-o timeout=SECONDS + This option sets the timeout value in seconds used for all network reads, + writes, and a few other things. + + +EOM + last CASE; + }; + + + + + + +## OUTPUT + ($topic eq 'output') && do { + print < The help topic specified is not valid!", 1); + }; + +exit(1); +} + + + + + + + + + + + + + + + + + + + + + + +############################# +## ## +## MAIN PROGRAM ## +## ## +############################# + + +## Initialize +initialize(); + +## Process Command Line +processCommandLine(); +$conf{'alarm'} = $opt{'timeout'}; + +## Abort program after $conf{'alarm'} seconds to avoid infinite hangs +alarm($conf{'alarm'}) if ($^O !~ /win/i); ## alarm() doesn't work in win32 + + + + +################################################### +## Read $message from STDIN if -m was not used ## +################################################### + +if (!($message)) { + ## Read message body from a file specified with -o message-file= + if ($opt{'message-file'}) { + if (! -e $opt{'message-file'}) { + printmsg("ERROR => Message body file specified [$opt{'message-file'}] does not exist!", 0); + printmsg("HINT => 1) check spelling of your file; 2) fully qualify the path; 3) doubble quote it", 1); + quit("", 1); + } + if (! -r $opt{'message-file'}) { + printmsg("ERROR => Message body file specified can not be read due to restricted permissions!", 0); + printmsg("HINT => Check permissions on file specified to ensure it can be read", 1); + quit("", 1); + } + if (!open(MFILE, "< " . $opt{'message-file'})) { + printmsg("ERROR => Error opening message body file [$opt{'message-file'}]: $!", 0); + quit("", 1); + } + while () { + $message .= $_; + } + close(MFILE); + } + + ## Read message body from STDIN + else { + alarm($conf{'alarm'}) if ($^O !~ /win/i); ## alarm() doesn't work in win32 + if ($conf{'stdout'}) { + print "Reading message body from STDIN because the '-m' option was not used.\n"; + print "If you are manually typing in a message:\n"; + print " - First line must be received within $conf{'alarm'} seconds.\n" if ($^O !~ /win/i); + print " - End manual input with a CTRL-D on its own line.\n\n" if ($^O !~ /win/i); + print " - End manual input with a CTRL-Z on its own line.\n\n" if ($^O =~ /win/i); + } + while () { ## Read STDIN into $message + $message .= $_; + alarm(0) if ($^O !~ /win/i); ## Disable the alarm since at least one line was received + } + printmsg("Message input complete.", 0); + } +} + +## Replace bare LF's with CRLF's (\012 should always have \015 with it) +$message =~ s/(\015)?(\012|$)/\015\012/g; + +## Replace bare CR's with CRLF's (\015 should always have \012 with it) +$message =~ s/(\015)(\012|$)?/\015\012/g; + +## Check message for bare periods and encode them +$message =~ s/(^|$CRLF)(\.{1})($CRLF|$)/$1.$2$3/g; + +## Get the current date for the email header +my ($sec,$min,$hour,$mday,$mon,$year,$day) = gmtime(); +$year += 1900; $mon = return_month($mon); $day = return_day($day); +my $date = sprintf("%s, %s %s %d %.2d:%.2d:%.2d %s",$day, $mday, $mon, $year, $hour, $min, $sec, $conf{'timezone'}); + + + + +################################## +## Connect to the SMTP server ## +################################## +printmsg("DEBUG => Connecting to $conf{'server'}:$conf{'port'}", 1); +$SIG{'ALRM'} = sub { + printmsg("ERROR => Timeout while connecting to $conf{'server'}:$conf{'port'} There was no response after $conf{'alarm'} seconds.", 0); + printmsg("HINT => Try specifying a different mail relay with the -s option.", 1); + quit("", 1); +}; +alarm($conf{'alarm'}) if ($^O !~ /win/i); ## alarm() doesn't work in win32; +$SERVER = IO::Socket::INET->new( PeerAddr => $conf{'server'}, + PeerPort => $conf{'port'}, + LocalAddr => $conf{'bindaddr'}, + Proto => 'tcp', + Autoflush => 1, + timeout => $conf{'alarm'}, +); +alarm(0) if ($^O !~ /win/i); ## alarm() doesn't work in win32; + +## Make sure we got connected +if ( (!$SERVER) or (!$SERVER->opened()) ) { + printmsg("ERROR => Connection attempt to $conf{'server'}:$conf{'port'} failed: $@", 0); + printmsg("HINT => Try specifying a different mail relay with the -s option.", 1); + quit("", 1); +} + +## Save our IP address for later +$conf{'ip'} = $SERVER->sockhost(); +printmsg("DEBUG => My IP address is: $conf{'ip'}", 1); + + + + + + + +######################### +## Do the SMTP Dance ## +######################### + +## Read initial greeting to make sure we're talking to a live SMTP server +if (SMTPchat()) { quit($conf{'error'}, 1); } + +## We're about to use $opt{'fqdn'}, make sure it isn't empty +if (!$opt{'fqdn'}) { + ## Ok, that means we couldn't get a hostname, how about using the IP address for the HELO instead + $opt{'fqdn'} = "[" . $conf{'ip'} . "]"; +} + +## EHLO +if (SMTPchat('EHLO ' . $opt{'fqdn'})) { + printmsg($conf{'error'}, 0); + printmsg("NOTICE => EHLO command failed, attempting HELO instead"); + if (SMTPchat('HELO ' . $opt{'fqdn'})) { quit($conf{'error'}, 1); } + if ( $opt{'username'} and $opt{'password'} ) { + printmsg("WARNING => The mail server does not support SMTP authentication!", 0); + } +} +else { + + ## Determin if the server supports TLS + if ($conf{'SMTPchat_response'} =~ /STARTTLS/) { + $conf{'tls_server'} = 1; + printmsg("DEBUG => The remote SMTP server supports TLS :)", 2); + } + else { + $conf{'tls_server'} = 0; + printmsg("DEBUG => The remote SMTP server does NOT support TLS :(", 2); + } + + ## Start TLS if possible + if ($conf{'tls_server'} == 1 and $conf{'tls_client'} == 1 and $opt{'tls'} =~ /^(yes|auto)$/) { + printmsg("DEBUG => Starting TLS", 2); + if (SMTPchat('STARTTLS')) { quit($conf{'error'}, 1); } + if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) { + quit("ERROR => TLS setup failed: " . IO::Socket::SSL::errstr(), 1); + } + printmsg("DEBUG => TLS: Using cipher: ". $SERVER->get_cipher(), 3); + printmsg("DEBUG => TLS session initialized :)", 1); + + ## Restart our SMTP session + if (SMTPchat('EHLO ' . $opt{'fqdn'})) { quit($conf{'error'}, 1); } + } + elsif ($opt{'tls'} eq 'yes' and $conf{'tls_server'} == 0) { + quit("ERROR => TLS not possible! Remote SMTP server, $conf{'server'}, does not support it.", 1); + } + + + ## Do SMTP Auth if required + if ( $opt{'username'} and $opt{'password'} ) { + if ($conf{'SMTPchat_response'} !~ /AUTH\s/) { + printmsg("NOTICE => Authentication not supported by the remote SMTP server!", 0); + } + else { + my $auth_succeeded = 0; + my $mutual_method = 0; + + # ## SASL CRAM-MD5 authentication method + # if ($conf{'SMTPchat_response'} =~ /\bCRAM-MD5\b/i) { + # printmsg("DEBUG => SMTP-AUTH: Using CRAM-MD5 authentication method", 1); + # if (SMTPchat('AUTH CRAM-MD5')) { quit($conf{'error'}, 1); } + # + # ## FIXME!! + # + # printmsg("DEBUG => User authentication was successful", 1); + # } + + ## SASL LOGIN authentication method + if ($auth_succeeded == 0 and $conf{'SMTPchat_response'} =~ /\bLOGIN\b/i) { + $mutual_method = 1; + printmsg("DEBUG => SMTP-AUTH: Using LOGIN authentication method", 1); + if (!SMTPchat('AUTH LOGIN')) { + if (!SMTPchat(base64_encode($opt{'username'}))) { + if (!SMTPchat(base64_encode($opt{'password'}))) { + $auth_succeeded = 1; + printmsg("DEBUG => User authentication was successful (Method: LOGIN)", 1); + } + } + } + if ($auth_succeeded == 0) { + printmsg("DEBUG => SMTP-AUTH: LOGIN authenticaion failed.", 1); + } + } + + ## SASL PLAIN authentication method + if ($auth_succeeded == 0 and $conf{'SMTPchat_response'} =~ /\bPLAIN\b/i) { + $mutual_method = 1; + printmsg("DEBUG => SMTP-AUTH: Using PLAIN authentication method", 1); + if (SMTPchat('AUTH PLAIN ' . base64_encode("$opt{'username'}\0$opt{'username'}\0$opt{'password'}"))) { + printmsg("DEBUG => SMTP-AUTH: PLAIN authenticaion failed.", 1); + } + else { + $auth_succeeded = 1; + printmsg("DEBUG => User authentication was successful (Method: PLAIN)", 1); + } + } + + ## If none of the authentication methods supported by sendEmail were supported by the server, let the user know + if ($mutual_method == 0) { + printmsg("WARNING => SMTP-AUTH: No mutually supported authentication methods available", 0); + } + + ## If we didn't get authenticated, log an error message and exit + if ($auth_succeeded == 0) { + quit("ERROR => ERROR => SMTP-AUTH: Authentication to $conf{'server'}:$conf{'port'} failed.", 1); + } + } + } +} + +## MAIL FROM +if (SMTPchat('MAIL FROM:<' .(returnAddressParts($from))[1]. '>')) { quit($conf{'error'}, 1); } + +## RCPT TO +my $oneRcptAccepted = 0; +foreach my $rcpt (@to, @cc, @bcc) { + my ($name, $address) = returnAddressParts($rcpt); + if (SMTPchat('RCPT TO:<' . $address . '>')) { + printmsg("WARNING => The recipient <$address> was rejected by the mail server, error follows:", 0); + $conf{'error'} =~ s/^ERROR/WARNING/o; + printmsg($conf{'error'}, 0); + } + elsif ($oneRcptAccepted == 0) { + $oneRcptAccepted = 1; + } +} +## If no recipients were accepted we need to exit with an error. +if ($oneRcptAccepted == 0) { + quit("ERROR => Exiting. No recipients were accepted for delivery by the mail server.", 1); +} + +## DATA +if (SMTPchat('DATA')) { quit($conf{'error'}, 1); } + + +############################### +## Build and send the body ## +############################### +printmsg("INFO => Sending message body",1); + +## If the message-format is raw just send the message as-is. +if ($opt{'message-format'} =~ /^raw$/i) { + print $SERVER $message; +} + +## If the message-format isn't raw, then build and send the message, +else { + + ## Message-ID: + if ($opt{'message-header'} !~ /^Message-ID:/iom) { + $header .= 'Message-ID: <' . $conf{'Message-ID'} . '@' . $conf{'hostname'} . '>' . $CRLF; + } + + ## From: "Name" (the pointless test below is just to keep scoping correct) + if ($from and $opt{'message-header'} !~ /^From:/iom) { + my ($name, $address) = returnAddressParts($from); + $header .= 'From: "' . $name . '" <' . $address . '>' . $CRLF; + } + + ## Reply-To: + if ($opt{'reply-to'} and $opt{'message-header'} !~ /^Reply-To:/iom) { + my ($name, $address) = returnAddressParts($opt{'reply-to'}); + $header .= 'Reply-To: "' . $name . '" <' . $address . '>' . $CRLF; + } + + ## To: "Name" + if ($opt{'message-header'} =~ /^To:/iom) { + ## The user put the To: header in via -o message-header - dont do anything + } + elsif (scalar(@to) > 0) { + $header .= "To:"; + for (my $a = 0; $a < scalar(@to); $a++) { + my $msg = ""; + + my ($name, $address) = returnAddressParts($to[$a]); + $msg = " \"$name\" <$address>"; + + ## If we're not on the last address add a comma to the end of the line. + if (($a + 1) != scalar(@to)) { + $msg .= ","; + } + + $header .= $msg . $CRLF; + } + } + ## We always want a To: line so if the only recipients were bcc'd they don't see who it was sent to + else { + $header .= "To: \"Undisclosed Recipients\" <>$CRLF"; + } + + if (scalar(@cc) > 0 and $opt{'message-header'} !~ /^Cc:/iom) { + $header .= "Cc:"; + for (my $a = 0; $a < scalar(@cc); $a++) { + my $msg = ""; + + my ($name, $address) = returnAddressParts($cc[$a]); + $msg = " \"$name\" <$address>"; + + ## If we're not on the last address add a comma to the end of the line. + if (($a + 1) != scalar(@cc)) { + $msg .= ","; + } + + $header .= $msg . $CRLF; + } + } + + if ($opt{'message-header'} !~ /^Subject:/iom) { + $header .= 'Subject: ' . $subject . $CRLF; ## Subject + } + if ($opt{'message-header'} !~ /^Date:/iom) { + $header .= 'Date: ' . $date . $CRLF; ## Date + } + if ($opt{'message-header'} !~ /^X-Mailer:/iom) { + $header .= 'X-Mailer: sendEmail-'.$conf{'version'}.$CRLF; ## X-Mailer + } + ## I wonder if I should put this in by default? + # if ($opt{'message-header'} !~ /^X-Originating-IP:/iom) { + # $header .= 'X-Originating-IP: ['.$conf{'ip'}.']'.$CRLF; ## X-Originating-IP + # } + + ## Encode all messages with MIME. + if ($opt{'message-header'} !~ /^MIME-Version:/iom) { + $header .= "MIME-Version: 1.0$CRLF"; + } + if ($opt{'message-header'} !~ /^Content-Type:/iom) { + my $content_type = 'multipart/mixed'; + if (scalar(@attachments) == 0) { $content_type = 'multipart/related'; } + $header .= "Content-Type: $content_type; boundary=\"$conf{'delimiter'}\"$CRLF"; + } + + ## Send additional message header line(s) if specified + if ($opt{'message-header'}) { + $header .= $opt{'message-header'}; + } + + ## Send the message header to the server + print $SERVER $header . $CRLF; + + ## Start sending the message body to the server + print $SERVER "This is a multi-part message in MIME format. To properly display this message you need a MIME-Version 1.0 compliant Email program.$CRLF"; + print $SERVER "$CRLF"; + + + ## Send message body + print $SERVER "--$conf{'delimiter'}$CRLF"; + ## Send a message content-type header: + ## If the message contains HTML... + if ($opt{'message-content-type'} eq 'html' or ($opt{'message-content-type'} eq 'auto' and $message =~ /^\s*( 0) { + ## Disable the alarm so people on modems can send big attachments + alarm(0) if ($^O !~ /win/i); ## alarm() doesn't work in win32 + + ## Send the attachments + foreach my $filename (@attachments) { + ## This is check 2, we already checked this above, but just in case... + if ( ! -f $filename ) { + printmsg("ERROR => The file [$filename] doesn't exist! Email will be sent, but without that attachment.", 0); + } + elsif ( ! -r $filename ) { + printmsg("ERROR => Couldn't open the file [$filename] for reading: $! Email will be sent, but without that attachment.", 0); + } + else { + printmsg("DEBUG => Sending the attachment [$filename]", 1); + send_attachment($filename); + } + } + } + + + ## End the mime encoded message + print $SERVER "$CRLF--$conf{'delimiter'}--$CRLF"; +} + + +## Tell the server we are done sending the email +print $SERVER "$CRLF.$CRLF"; +if (SMTPchat()) { quit($conf{'error'}, 1); } + + + +#################### +# We are done!!! # +#################### + +## Disconnect from the server (don't SMTPchat(), it breaks when using TLS) +print $SERVER "QUIT$CRLF"; +close $SERVER; + + + + + + +####################################### +## Generate exit message/log entry ## +####################################### + +if ($conf{'debug'} or $conf{'logging'}) { + printmsg("Generating a detailed exit message", 3); + + ## Put the message together + my $output = "Email was sent successfully! From: <" . (returnAddressParts($from))[1] . "> "; + + if (scalar(@to) > 0) { + $output .= "To: "; + for ($a = 0; $a < scalar(@to); $a++) { + $output .= "<" . (returnAddressParts($to[$a]))[1] . "> "; + } + } + if (scalar(@cc) > 0) { + $output .= "Cc: "; + for ($a = 0; $a < scalar(@cc); $a++) { + $output .= "<" . (returnAddressParts($cc[$a]))[1] . "> "; + } + } + if (scalar(@bcc) > 0) { + $output .= "Bcc: "; + for ($a = 0; $a < scalar(@bcc); $a++) { + $output .= "<" . (returnAddressParts($bcc[$a]))[1] . "> "; + } + } + $output .= "Subject: [$subject] " if ($subject); + if (scalar(@attachments_names) > 0) { + $output .= "Attachment(s): "; + foreach(@attachments_names) { + $output .= "[$_] "; + } + } + $output .= "Server: [$conf{'server'}:$conf{'port'}]"; + + +###################### +# Exit the program # +###################### + + ## Print / Log the detailed message + quit($output, 0); +} +else { + ## Or the standard message + quit("Email was sent successfully!", 0); +} + diff --git a/php-sqlreview/main.php b/php-sqlreview/main.php index 6704b58..7c10a82 100644 --- a/php-sqlreview/main.php +++ b/php-sqlreview/main.php @@ -24,7 +24,7 @@ name="headmenu" id="mainFrame" title="mainFrame"> - + diff --git a/php-sqlreview/my_order.php b/php-sqlreview/my_order.php new file mode 100644 index 0000000..9b1d5ad --- /dev/null +++ b/php-sqlreview/my_order.php @@ -0,0 +1,119 @@ + + + +数据库上线工单查询 + + + + 0) { + //echo "Hi,管理员,等待你审批工单,开发等着上线。
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

数据库上线工单查询

"; +echo "
"; + +echo ""; +echo " + + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"已审批":"待审批"; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1 || $exec_status==1){ + echo ""; +} +else if($exec_status==2){ + echo ""; +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; +} +echo ""; +} +echo "
工单号申请人数据库名申请时间工单名称上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}{$row['ops_order_name']}
{$row['ops_content']}
$status
+ 审批人:
{$row['approver']}
审批不通过
+ 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行
"; + echo "自行撤销工单
"; + +if ($page != 1) { //页数不等于1 +?> +上一页 + + + +下一页 + + + + diff --git a/php-sqlreview/sql_interface.php b/php-sqlreview/sql_interface.php new file mode 100644 index 0000000..207dff6 --- /dev/null +++ b/php-sqlreview/sql_interface.php @@ -0,0 +1,94 @@ + + + + + + +SQL自动审核-自助上线平台 + + + + + + + + + + + + +
+
+SQL自动审核-自助上线平台 +
+
+
+
+

输入SQL语句

+
+
+
+ +
+ + + +
+
+ + + + +
+

使用说明:
+ 1、针对select/insert/update/create/alter加了规则,delete需要审批。
+ 2、语句之间要有空格,例where id = 100,没有空格会影响判断的准确性。
+ 3、SQL语句后面要加分号; MySQL解析器规定分号才可以执行SQL。
+ 4、反引号`可能会造成上线失败,需要用文本编辑器替换掉。
+ 5、支持多条SQL解析,用一个分号;分割。例如:
+      insert into t1 values(1,'a');
+ +      insert into t1 values(2,'b');

+ 6、JSON格式里的双引号要用反斜杠进行转义,例如:{\"dis_text\":\"nba\"}。

+
+

 

+ + + diff --git a/php-sqlreview/sql_review.php b/php-sqlreview/sql_review.php index fc3ff5f..c4bb4b9 100644 --- a/php-sqlreview/sql_review.php +++ b/php-sqlreview/sql_review.php @@ -1,18 +1,21 @@ - - + + - + + + - SQL语句未发现问题
'; + echo 'SQL语句未发现问题
'; } echo '
'; //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; @@ -141,7 +144,7 @@ $is++; } if($is==0){ - echo '
insert语句未发现问题

'; + echo 'insert语句未发现问题
'; $c_insert=1; } break; @@ -166,7 +169,7 @@ } mysql_close($con1); if($up==0){ - echo '
语句未发现问题

'; + echo 'update语句未发现问题
'; $c_update=1; } echo '
'; @@ -206,10 +209,6 @@ if(!preg_match('/auto_increment=1 /i',$multi_sql[$x])){ echo "提示:id自增字段默认值为1,auto_increment=1
"; } - if(!preg_match('/.*\bid\b.*int.*/',$multi_sql[$x])){ - echo "警告!$parmArr[2]表主键字段名必须是id。
"; - $c++; - } if(preg_match_all('/\bkey\b/i',$multi_sql[$x],$match)){ if(!in_array('index',$parmArr)){ $countkey = array_count_values($parmArr); @@ -255,32 +254,34 @@ } } if(preg_grep('/.*utf8_bin/',$parmArr)){ - echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符集核对utf8_general_ci。
"; + echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符>集核对utf8_general_ci。
"; $c++; } if(preg_grep('/float.*/',$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 ,应该用定点数decimal类型存储。
'; - $c++; + $c++; } if(preg_grep("/double.*/",$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 ,应该用定点数decimal类型存储。
'; - $c++; - } - if(in_array('foreign',$parmArr)){ - echo "警告!$parmArr[2]表避免使用外键,外键会导致父表和子表之间耦合,十分影响SQL性能,出现过多的锁等待,甚 -至会造成死锁。
"; $c++; - } + } + //-------------------------------------- + foreach($Keywords as $value) { + if(preg_match('/'.'\b'.$value.'\b'.'/' ,$parm)){ + echo "警告!$parmArr[2]表存在系统保留关键字
"; + $c++; + } + } if($c==0){ - echo '
建表语句未发现问题

'; + echo '建表语句未发现问题
'; $c_create=1; } break; case 'alter': array_push($alter_array,$parmArr[2]); - array_push($alter_parm,$parmArr[0]); + array_push($alter_parm,$parmArr[0]); $con2=mysql_connect($ip.":".$port,$user,$pwd); mysql_select_db($db, $con2); $result = mysql_query("explain select * from ".$parmArr[2], $con2); @@ -319,17 +320,29 @@ exit; } } + if($c_create==1 || $c_insert==1 || $c_alter==1 || $c_update==1){ echo '
'; - echo '
'; - echo ' 输入你的DB用户名: '; - echo ' 输入你的DB密码: '; - echo ''; - echo ''; - echo ''; - echo ''; - echo ('   ').''; - echo '
'; - echo ''; + echo '
上线的SQL已经通过系统审核,待审批。

'; +######记录上线操作###### + session_start(); + echo '工单提交人:',$_SESSION['username']."
"; + $dbuser=$_SESSION['username']; + +$sql_replace=preg_replace('/(#*|-*|`)/', '', $parm); +$conn=mysqli_connect("192.168.148.9","admin","123456","sql_db"); +$ops_time="NOW()"; +$str_replace_sql=str_replace("'","\'",$sql_replace); +$ops_sql = "INSERT INTO sql_order_wait (ops_name, ops_db, ops_time, ops_order_name, ops_content) VALUES ('$dbuser','$dbname',$ops_time,'$sql_order','$str_replace_sql')"; +mysqli_query("SET NAMES utf8"); +mysqli_query($conn,$ops_sql); +mysqli_close($conn); + +######发邮件给管理员审核SQL工单###### +require 'mail/mail.php'; + +$sendmail = new mail($_SESSION['username'],$sql_order); +$sendmail->execCommand(); + } ?> diff --git a/php-sqlreview/sqladvisor_config.php b/php-sqlreview/sqladvisor_config.php index 1426d7c..c1f44f2 100644 --- a/php-sqlreview/sqladvisor_config.php +++ b/php-sqlreview/sqladvisor_config.php @@ -1,8 +1,8 @@ diff --git a/php-sqlreview/update.php b/php-sqlreview/update.php new file mode 100644 index 0000000..2666024 --- /dev/null +++ b/php-sqlreview/update.php @@ -0,0 +1,15 @@ + +
+ + + + +
+ diff --git a/php-sqlreview/update_status.php b/php-sqlreview/update_status.php new file mode 100644 index 0000000..2c2d380 --- /dev/null +++ b/php-sqlreview/update_status.php @@ -0,0 +1,25 @@ +"; + header("location:wait_order.php"); + } + } +} +?> diff --git a/php-sqlreview/wait_order.php b/php-sqlreview/wait_order.php new file mode 100644 index 0000000..b6c9cda --- /dev/null +++ b/php-sqlreview/wait_order.php @@ -0,0 +1,128 @@ + + + +数据库上线工单查询 + + + +"; + //echo ''; + exit; + } + +$mysql_server_name='192.168.148.9'; +$mysql_username='admin'; +$mysql_password='123456'; +$mysql_database='sql_db'; + +$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting"); +mysql_query("set names 'utf8'"); +mysql_select_db($mysql_database); + +$perNumber=50; //每页显示的记录数 +$page=$_GET['page']; //获得当前的页面值 +$count=mysql_query("select count(*) from sql_order_wait"); //获得记录总数 +$rs=mysql_fetch_array($count); +$totalNumber=$rs[0]; +$totalPage=ceil($totalNumber/$perNumber); //计算出总页数 +/*if (!isset($page)) { + $page=1; +} //如果没有值,则赋值1 */ + +if (empty($page)) { + $page=1; +} //如果没有值,则赋值1 + +$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录 + +$sql1 = "select user from login_user where user = '${login_user}' and privilege = 1"; +$result1 = mysql_query($sql1,$conn); +if (mysql_num_rows($result1) > 0) { + echo "Hi,管理员,等待你审批工单。
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

数据库上线工单查询

"; +echo "
"; + +echo ""; +echo " + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"已审批":"待审批"; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1){ + if($exec_status==0){ + echo ""; + } + if($exec_status==1){ + echo ""; + } + if($exec_status==2){ + echo ""; + } +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; + //echo ""; +} +echo ""; +} +echo "
工单号申请人数据库名申请时间上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}
{$row['ops_content']}
$status
$status
+ 审批人:
{$row['approver']}
审批不通过
+ 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行自行撤销工单
"; + +if ($page != 1) { //页数不等于1 +?> +上一页 + + + +下一页 + + + + From 4d4d30362bc8e456ba8830b0d0df3aee9afdb275 Mon Sep 17 00:00:00 2001 From: ppabc8 Date: Wed, 9 May 2018 11:26:48 +0800 Subject: [PATCH 3/4] update --- Dockerfile.sqlops | 10 + php-sqlreview/cancel_status.php | 44 +- php-sqlreview/conn.php | 12 +- php-sqlreview/db_config.php | 34 +- php-sqlreview/execute_status.php | 136 +++--- php-sqlreview/my_order.php | 238 +++++----- php-sqlreview/sql_interface.php | 188 ++++---- php-sqlreview/sql_review.php | 696 ++++++++++++++-------------- php-sqlreview/sqladvisor_config.php | 26 +- php-sqlreview/stat/db.php | 50 +- php-sqlreview/update_status.php | 50 +- php-sqlreview/wait_order.php | 256 +++++----- 12 files changed, 875 insertions(+), 865 deletions(-) create mode 100644 Dockerfile.sqlops diff --git a/Dockerfile.sqlops b/Dockerfile.sqlops new file mode 100644 index 0000000..c90c90d --- /dev/null +++ b/Dockerfile.sqlops @@ -0,0 +1,10 @@ +# */ +FROM centos:centos6.9 +MAINTAINER ppabc@qq.com "ppabc" + +COPY SQLAdvisor /SQLAdvisor +COPY php-sqlreview /php-sqlreview + +RUN chmod +x /SQLAdvisor/install_sqlreview.sh && chmod +x /SQLAdvisor/run.sh && bash /SQLAdvisor/install_sqlreview.sh + +CMD ["/php-sqlreview/run.sh"] diff --git a/php-sqlreview/cancel_status.php b/php-sqlreview/cancel_status.php index 191c7dd..13fa426 100644 --- a/php-sqlreview/cancel_status.php +++ b/php-sqlreview/cancel_status.php @@ -1,22 +1,22 @@ -"; - header("location:my_order.php"); - } -} - -?> +"; + header("location:my_order.php"); + } +} + +?> diff --git a/php-sqlreview/conn.php b/php-sqlreview/conn.php index d52f1ab..86ee9df 100644 --- a/php-sqlreview/conn.php +++ b/php-sqlreview/conn.php @@ -1,6 +1,6 @@ - + diff --git a/php-sqlreview/db_config.php b/php-sqlreview/db_config.php index c7713aa..079210f 100644 --- a/php-sqlreview/db_config.php +++ b/php-sqlreview/db_config.php @@ -1,17 +1,17 @@ - + diff --git a/php-sqlreview/execute_status.php b/php-sqlreview/execute_status.php index d4da03b..08c8675 100644 --- a/php-sqlreview/execute_status.php +++ b/php-sqlreview/execute_status.php @@ -1,68 +1,68 @@ -"; - echo $db."
"; - echo $user."
"; - echo $pwd."
"; - echo $port."
"; - echo $ops_content."
";*/ - } - mysql_close($con); - //上线(客户端请使用mysql5.5及以下版本,或者MariaDB10版本。) - $dbsql_exec="/usr/bin/mysql --default-character-set=utf8 --skip-column-names --safe-updates -h$ip -u$user -p"."'".$pwd."'"." -P$port $db --execute=\"SHOW MASTER STATUS;".$ops_content.";SHOW MASTER STATUS;"."\"" ; - - ##########上线执行################### - $remote_user="hechunyang"; - $remote_password="123456"; - $script=$dbsql_exec; - $connection = ssh2_connect('192.168.148.10',60000); - ssh2_auth_password($connection,$remote_user,$remote_password); - $stream = ssh2_exec($connection,$script,NULL,$env=array(),100000,100000); - $correctStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); - $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); - stream_set_blocking($errorStream, true); - $message=stream_get_contents($errorStream); - $measage_stdio=stream_get_contents($correctStream); - - if ($message == ''){ - $con2=mysqli_connect("192.168.148.9","admin","123456","sql_db"); - $sql = "update sql_order_wait set finish_status=2 WHERE id={$id}"; - if(mysqli_query($con2,$sql)){ - echo "
"; - echo "对,就这样,上线成功了!
"; - echo "666"; - } - mysqli_close($con2); - //header("refresh:3;location:wait_order.php"); - echo "
"; - echo "点击返回工单界面
"; - } - else{ - echo $message."
"; - echo "上线失败!
"; - echo "fail"; - } - fclose($stream); - fclose($errorStream); - ####################################### - } -else{ - echo "没有执行.
"; - } -} - -?> +"; + echo $db."
"; + echo $user."
"; + echo $pwd."
"; + echo $port."
"; + echo $ops_content."
";*/ + } + mysql_close($con); + //上线(客户端请使用mysql5.5及以下版本,或者MariaDB10版本。) + $dbsql_exec="/usr/bin/mysql --default-character-set=utf8 --skip-column-names --safe-updates -h$ip -u$user -p"."'".$pwd."'"." -P$port $db --execute=\"SHOW MASTER STATUS;".$ops_content.";SHOW MASTER STATUS;"."\"" ; + + ##########上线执行################### + $remote_user="admin"; + $remote_password="123456"; + $script=$dbsql_exec; + $connection = ssh2_connect('127.0.0.1',60000); + ssh2_auth_password($connection,$remote_user,$remote_password); + $stream = ssh2_exec($connection,$script,NULL,$env=array(),100000,100000); + $correctStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); + $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); + stream_set_blocking($errorStream, true); + $message=stream_get_contents($errorStream); + $measage_stdio=stream_get_contents($correctStream); + + if ($message == ''){ + $con2=mysqli_connect("localhost","admin","123456","sql_db"); + $sql = "update sql_order_wait set finish_status=2 WHERE id={$id}"; + if(mysqli_query($con2,$sql)){ + echo "
"; + echo "对,就这样,上线成功了!
"; + echo "666"; + } + mysqli_close($con2); + //header("refresh:3;location:wait_order.php"); + echo "
"; + echo "点击返回工单界面
"; + } + else{ + echo $message."
"; + echo "上线失败!
"; + echo "fail"; + } + fclose($stream); + fclose($errorStream); + ####################################### + } +else{ + echo "没有执行.
"; + } +} + +?> diff --git a/php-sqlreview/my_order.php b/php-sqlreview/my_order.php index 9b1d5ad..cd0e5d6 100644 --- a/php-sqlreview/my_order.php +++ b/php-sqlreview/my_order.php @@ -1,119 +1,119 @@ - - - -数据库上线工单查询 - - - - 0) { - //echo "Hi,管理员,等待你审批工单,开发等着上线。
"; - $sql ="select a.* from sql_order_wait a"; -} -else{ - $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; -} -$result = mysql_query($sql,$conn); - -echo "

数据库上线工单查询

"; -echo "
"; - -echo ""; -echo " - - - - - - - - - "; -while($row = mysql_fetch_array($result)) -{ -$status = $row['status']?"已审批":"待审批"; -$exec_status = $row['status']; -$exec_finish_status = $row['finish_status']; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -if($prvi==1 || $exec_status==1){ - echo ""; -} -else if($exec_status==2){ - echo ""; -} -else{ - echo ""; -} -####################################################### -if($exec_finish_status==1){ - echo ""; -} -else if($exec_finish_status==2){ - echo ""; -} -else{ - echo ""; -} -echo ""; -} -echo "
工单号申请人数据库名申请时间工单名称上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}{$row['ops_order_name']}
{$row['ops_content']}
$status
- 审批人:
{$row['approver']}
审批不通过
- 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行
"; - echo "自行撤销工单
"; - -if ($page != 1) { //页数不等于1 -?> -上一页 - - - -下一页 - - - - + + + +ݿ߹ѯ + + + + 0) { + //echo "HiԱȴߡ
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

ݿ߹ѯ

"; +echo "
"; + +echo ""; +echo " + + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"":""; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1 || $exec_status==1){ + echo ""; +} +else if($exec_status==2){ + echo ""; +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; +} +echo ""; +} +echo "
ݿʱSQL
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}{$row['ops_order_name']}
{$row['ops_content']}
$status
+ ˣ
{$row['approver']}
ͨ
+ ˣ
{$row['approver']}
ȴִйִûִ
"; + echo "г
"; + +if ($page != 1) { //ҳ1 +?> +һҳ + + + +һҳ + + + + diff --git a/php-sqlreview/sql_interface.php b/php-sqlreview/sql_interface.php index 207dff6..475c03f 100644 --- a/php-sqlreview/sql_interface.php +++ b/php-sqlreview/sql_interface.php @@ -1,94 +1,94 @@ - - - - - - -SQL自动审核-自助上线平台 - - - - - - - - - - - - -
-
-SQL自动审核-自助上线平台 -
-
-
-
-

输入SQL语句

-
-
-
- -
- - - -
-
- - - - -
-

使用说明:
- 1、针对select/insert/update/create/alter加了规则,delete需要审批。
- 2、语句之间要有空格,例where id = 100,没有空格会影响判断的准确性。
- 3、SQL语句后面要加分号; MySQL解析器规定分号才可以执行SQL。
- 4、反引号`可能会造成上线失败,需要用文本编辑器替换掉。
- 5、支持多条SQL解析,用一个分号;分割。例如:
-      insert into t1 values(1,'a');
- -      insert into t1 values(2,'b');

- 6、JSON格式里的双引号要用反斜杠进行转义,例如:{\"dis_text\":\"nba\"}。

-
-

 

- - - + + + + + + +SQLԶ-ƽ̨ + + + + + + + + + + + + +
+
+SQLԶ-ƽ̨ +
+
+
+
+

SQL

+
+
+
+ +
+ + + +
+
+ + + + +
+

ʹ˵
+ 1select/insert/update/create/alter˹deleteҪ
+ 2֮Ҫпոwhere id = 100ûпոӰжϵ׼ȷԡ
+ 3SQLҪӷֺ; MySQL涨ֺŲſִSQL
+ 4`ܻʧܣҪı༭滻
+ 5ֶ֧SQLһֺ;ָ磺
+      insert into t1 values(1,'a');
+ +      insert into t1 values(2,'b');

+ 6JSONʽ˫Ҫ÷бܽת壬磺{\"dis_text\":\"nba\"}

+
+

 

+ + + diff --git a/php-sqlreview/sql_review.php b/php-sqlreview/sql_review.php index c4bb4b9..d4f625d 100644 --- a/php-sqlreview/sql_review.php +++ b/php-sqlreview/sql_review.php @@ -1,348 +1,348 @@ - - - - - - - -"; -echo "------你刚才选择的数据库名字是:" . $dbname . "------
"; -for($x=0;$x<$arrlength;$x++){ -echo "
"; -echo "第" . $sql_count . "条、你刚才输入的SQL语句是:" . $multi_sql[$x] . "
"; - -echo "
"; -if($multi_sql[$x]){ - $parmArr_enter = str_replace("\r\n"," ",$multi_sql[$x]); - $parmArr = preg_split("/[\s]+/",ltrim($parmArr_enter)); - switch ($parmArr[0]) { - case 'select': - if(in_array('*',$parmArr)){ - echo '提示:select *是否有必要查询所有的字段?
'; - $s++; - } - if(!in_array('where',$parmArr)){ - echo '警告!没有where条件,注意where后面的字段要加上索引
'; - $s++; - } - if(!in_array('limit',$parmArr)){ - echo '提示:没有limit会查询更多的数据
'; - $s++; - } - if(in_array("exists",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - if(in_array("in",$parmArr)){ - $countIn = array_count_values($parmArr); - if(preg_match_all('/\(.*\)/',$parm,$out)){ - echo "提示:in里面的数值不要超过1000个
"; - $s++; - } - if(in_array("(select",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - if($countIn['select']>1){ - echo '警告!!子查询性能低下,请转为join表关联
'; - $s++; - } - } - if(in_array("in(select",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - - if(in_array("join",$parmArr)){ - echo '提示:采用join关联,注意关联字段要都加上索引,如on a.id=b.id
'; - $countArr = array_count_values($parmArr); - if($countArr['join']>1){ - echo '提示:MySQL对多表join关联性能低下,建议不要超过3个表以上的关联
'; - $s++; - } - } - if(in_array("like",$parmArr)){ - if(preg_match_all("/'%(.)*%'/",$parm,$out)){ - echo "警告!like '%%'双百分号无法用到索引,like 'mysql%'这样是可以利用到索引的
"; - $s++; - } - } - if(in_array('group',$parmArr)){ - if(in_array('by',$parmArr)){ - echo '提示:默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
'; - $s++; - if(!in_array('having',$parmArr)){ - echo '提示:是否要加一个having过滤下?
'; - $s++; - } - }} - if(in_array('order',$parmArr)){ - if(preg_match_all("/by.*rand().*/",$parm,$out)){ - echo '警告!MySQL里用到order by rand()在数据量比较多的时候是很慢的,因为会导致MySQL全表扫描,故也不会用到索引
'; - $s++; - } - /*if(in_array('group',$parmArr)){ - if(in_array('by',$parmArr)){ - echo '提示:是否要加一个having过滤下?
'; - $s++; - } - }*/ - if(!in_array('group',$parmArr)){ - if(preg_match_all("/count(.*)/",$parm,$out)){ - echo '警告!禁止不必要的order by排序,因为前面已经count统计了
'; - $s++; - } - } - } - if(in_array('where',$parmArr)){ - if(preg_match_all("/\(.*\)\s{0,}(>|<|=)/",$parm,$out)){ - echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; - $s++; - } - if(preg_match_all("/\(.*\)\s{0,}(>|<|=|between)/",$parm,$out)){ - echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; - $s++; - } - } - if($s==0){ - echo 'SQL语句未发现问题
'; - } - echo '
'; - //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; - require 'sqladvisor_config.php'; - if ($message === ''){ - echo "查询字段索引已经创建了,无需创建.
"; - }else{ - echo "查询的字段没有创建索引,建议添加如下索引:
"; - echo $message."
"; - echo "大表创建索引风险很高,如果一定要创建,请联系DBA进行执行。
"; - } - echo "
"; - echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; - fclose($stream); - fclose($errorStream); - break; - case 'insert': - if(preg_match('/insert.*select/i',$multi_sql[$x])){ - echo "警告: insert 表1 select 表2,会造成锁表。
"; - $is++; - } - if($is==0){ - echo 'insert语句未发现问题
'; - $c_insert=1; - } - break; - case 'update': - if(!in_array('where',$parmArr)){ - echo '警告!没有where条件,update会全表更新,禁止执行!!!
'; - exit; - } - $con1=mysql_connect($ip.":".$port,$user,$pwd); - mysql_select_db($db, $con1); - $result = mysql_query("explain ".$multi_sql[$x], $con1); - while($row = mysql_fetch_array($result)){ - $record_rows=$row[8]; - if($record_rows<=50000){ - echo "
"; - echo $parmArr[1]."表 where条件字段,扫描影响的行数小于50000行,可以由开发自助执行。
"; - } - else{ - echo ''.$parmArr[1].'表 where条件字段,扫描影响的行数是:'.$record_rows.' 行,超过50000行请联系DBA执行!!!
'; - $up++; - } - } - mysql_close($con1); - if($up==0){ - echo 'update语句未发现问题
'; - $c_update=1; - } - echo '
'; - //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; - require 'sqladvisor_config.php'; - - if ($message === ''){ - echo "更新的where条件字段索引已经创建了,无需创建.
"; - }else{ - echo "更新的where条件字段没有创建索引,建议添加如下索引:
"; - echo $message."
"; - echo "InnoDB存储引擎是通过给索引上的索引项加锁来实现的,这就意味着:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。
"; - } - echo "
"; - echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; - fclose($stream); - fclose($errorStream); - break; - case 'delete': - echo 'delete删除数据属于高危语句,需要人工审核
'; - break; - case 'create': - if(preg_match('/create\s*index/',$multi_sql[$x])){ - echo "警告!不支持create index语法,请更改为alter table add index语法。
"; - break; - } - if(!in_array('primary',$parmArr)){ - echo "警告!$parmArr[2]表没有主键
"; - $c++; - } - if(in_array('primary',$parmArr)){ - if(!preg_match('/AUTO_INCREMENT[ |,]/i',$multi_sql[$x])){ - echo "警告!$parmArr[2]表主键应该是自增的,缺少AUTO_INCREMENT
"; - $c++; - } - } - if(!preg_match('/auto_increment=1 /i',$multi_sql[$x])){ - echo "提示:id自增字段默认值为1,auto_increment=1
"; - } - if(preg_match_all('/\bkey\b/i',$multi_sql[$x],$match)){ - if(!in_array('index',$parmArr)){ - $countkey = array_count_values($parmArr); - if($countkey['key'] == 1){ - echo "警告!$parmArr[2]表没有索引
"; - $c++; - } - } - } - if(in_array('key',$parmArr)){ - $countkey = array_count_values($parmArr); - if($countkey['key']>=15){ - echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间,请让dba使用pt-duplicate-key-checker --user=root --password=xxxx --host=localhost --socket=/tmp/mysql.sock来检查重复的索引
"; - $c++; - } - $countkey = array_count_values($parmArr); - if($countkey['index']>=15){ - echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度 -并占用磁盘空间。
"; - $c++; - } - } - if(!in_array('comment',$parmArr)){ - echo "警告!$parmArr[2]表字段没有中文注释,COMMENT应该有默认值,如COMMENT '姓名'
"; - $c++; - } - if(!preg_match_all("/comment=.*/",$parm,$out)){ - echo "警告!$parmArr[2]表没有中文注释,例:COMMENT='新版授信项表'
"; - $c++; - } - if(!preg_match_all("/.*utf8.*/",$parm,$out)){ - echo "警告!$parmArr[2]表缺少utf8字符集,否则会出现乱码
"; - $c++; - } - if(!in_array('engine=innodb',$parmArr)){ - echo "警告!$parmArr[2]表存储引擎应设置为InnoDB
"; - $c++; - } - if(in_array('timestamp',$parmArr)){ - if(!in_array('current_timestamp',$parmArr)){ - echo "警告!$parmArr[2]表应该为timestamp类型加默认系统当前时间。例如:update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
"; - $c++; - } - } - if(preg_grep('/.*utf8_bin/',$parmArr)){ - echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符>集核对utf8_general_ci。
"; - $c++; - } - if(preg_grep('/float.*/',$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 -,应该用定点数decimal类型存储。
'; - $c++; - } - if(preg_grep("/double.*/",$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 -,应该用定点数decimal类型存储。
'; - $c++; - } - //-------------------------------------- - foreach($Keywords as $value) { - if(preg_match('/'.'\b'.$value.'\b'.'/' ,$parm)){ - echo "警告!$parmArr[2]表存在系统保留关键字
"; - $c++; - } - } - if($c==0){ - echo '建表语句未发现问题
'; - $c_create=1; - } - break; - case 'alter': - array_push($alter_array,$parmArr[2]); - array_push($alter_parm,$parmArr[0]); - $con2=mysql_connect($ip.":".$port,$user,$pwd); - mysql_select_db($db, $con2); - $result = mysql_query("explain select * from ".$parmArr[2], $con2); - while($row = mysql_fetch_array($result)){ - $record_rows=$row[8]; - if($record_rows<=1500000){ - echo "
"; - echo $parmArr[2]."表记录小于150万行,可以由开发自助执行。
"; - } - else{ - echo ''.$parmArr[2].'表记录是:'.$record_rows.' 行,表太大请联系DBA执行!!!
'; - exit; - } - } - mysql_close($con2); - if(in_array('drop',$parmArr)){ - if(!preg_match('/drop.*index/i',$multi_sql[$x])){ - echo "警告!你要对$parmArr[2]表删除字段,数据会存在丢失的风险,请走审批!!!
"; - exit; - } - } - if($at==0){ - echo 'alter语句未发现问题
'; - $c_alter=1; - }else{exit;} - break; - default: - echo '请输入正确的sql语句
'; - break; - } -} -$sql_count=$sql_count+1; - if (($alter_parm[0] == $alter_parm[1] && $alter_parm[1] == 'alter') && $alter_array[0] == $alter_array[1]){ - echo "

"; - echo "警告!更改表结构要减少与数据库的交互次数,应改为,例alter table t1 add index IX_uid(uid),add index IX_name(name);

"; - exit; - } -} - -if($c_create==1 || $c_insert==1 || $c_alter==1 || $c_update==1){ - echo '
'; - echo '

上线的SQL已经通过系统审核,待审批。

'; -######记录上线操作###### - session_start(); - echo '工单提交人:',$_SESSION['username']."
"; - $dbuser=$_SESSION['username']; - -$sql_replace=preg_replace('/(#*|-*|`)/', '', $parm); -$conn=mysqli_connect("192.168.148.9","admin","123456","sql_db"); -$ops_time="NOW()"; -$str_replace_sql=str_replace("'","\'",$sql_replace); -$ops_sql = "INSERT INTO sql_order_wait (ops_name, ops_db, ops_time, ops_order_name, ops_content) VALUES ('$dbuser','$dbname',$ops_time,'$sql_order','$str_replace_sql')"; -mysqli_query("SET NAMES utf8"); -mysqli_query($conn,$ops_sql); -mysqli_close($conn); - -######发邮件给管理员审核SQL工单###### -require 'mail/mail.php'; - -$sendmail = new mail($_SESSION['username'],$sql_order); -$sendmail->execCommand(); - -} -?> + + + + + + + +"; +echo "------你刚才选择的数据库名字是:" . $dbname . "------
"; +for($x=0;$x<$arrlength;$x++){ +echo "
"; +echo "第" . $sql_count . "条、你刚才输入的SQL语句是:" . $multi_sql[$x] . "
"; + +echo "
"; +if($multi_sql[$x]){ + $parmArr_enter = str_replace("\r\n"," ",$multi_sql[$x]); + $parmArr = preg_split("/[\s]+/",ltrim($parmArr_enter)); + switch ($parmArr[0]) { + case 'select': + if(in_array('*',$parmArr)){ + echo '提示:select *是否有必要查询所有的字段?
'; + $s++; + } + if(!in_array('where',$parmArr)){ + echo '警告!没有where条件,注意where后面的字段要加上索引
'; + $s++; + } + if(!in_array('limit',$parmArr)){ + echo '提示:没有limit会查询更多的数据
'; + $s++; + } + if(in_array("exists",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + if(in_array("in",$parmArr)){ + $countIn = array_count_values($parmArr); + if(preg_match_all('/\(.*\)/',$parm,$out)){ + echo "提示:in里面的数值不要超过1000个
"; + $s++; + } + if(in_array("(select",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + if($countIn['select']>1){ + echo '警告!!子查询性能低下,请转为join表关联
'; + $s++; + } + } + if(in_array("in(select",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + + if(in_array("join",$parmArr)){ + echo '提示:采用join关联,注意关联字段要都加上索引,如on a.id=b.id
'; + $countArr = array_count_values($parmArr); + if($countArr['join']>1){ + echo '提示:MySQL对多表join关联性能低下,建议不要超过3个表以上的关联
'; + $s++; + } + } + if(in_array("like",$parmArr)){ + if(preg_match_all("/'%(.)*%'/",$parm,$out)){ + echo "警告!like '%%'双百分号无法用到索引,like 'mysql%'这样是可以利用到索引的
"; + $s++; + } + } + if(in_array('group',$parmArr)){ + if(in_array('by',$parmArr)){ + echo '提示:默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
'; + $s++; + if(!in_array('having',$parmArr)){ + echo '提示:是否要加一个having过滤下?
'; + $s++; + } + }} + if(in_array('order',$parmArr)){ + if(preg_match_all("/by.*rand().*/",$parm,$out)){ + echo '警告!MySQL里用到order by rand()在数据量比较多的时候是很慢的,因为会导致MySQL全表扫描,故也不会用到索引
'; + $s++; + } + /*if(in_array('group',$parmArr)){ + if(in_array('by',$parmArr)){ + echo '提示:是否要加一个having过滤下?
'; + $s++; + } + }*/ + if(!in_array('group',$parmArr)){ + if(preg_match_all("/count(.*)/",$parm,$out)){ + echo '警告!禁止不必要的order by排序,因为前面已经count统计了
'; + $s++; + } + } + } + if(in_array('where',$parmArr)){ + if(preg_match_all("/\(.*\)\s{0,}(>|<|=)/",$parm,$out)){ + echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; + $s++; + } + if(preg_match_all("/\(.*\)\s{0,}(>|<|=|between)/",$parm,$out)){ + echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; + $s++; + } + } + if($s==0){ + echo 'SQL语句未发现问题
'; + } + echo '
'; + //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; + require 'sqladvisor_config.php'; + if ($message === ''){ + echo "查询字段索引已经创建了,无需创建.
"; + }else{ + echo "查询的字段没有创建索引,建议添加如下索引:
"; + echo $message."
"; + echo "大表创建索引风险很高,如果一定要创建,请联系DBA进行执行。
"; + } + echo "
"; + echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; + fclose($stream); + fclose($errorStream); + break; + case 'insert': + if(preg_match('/insert.*select/i',$multi_sql[$x])){ + echo "警告: insert 表1 select 表2,会造成锁表。
"; + $is++; + } + if($is==0){ + echo 'insert语句未发现问题
'; + $c_insert=1; + } + break; + case 'update': + if(!in_array('where',$parmArr)){ + echo '警告!没有where条件,update会全表更新,禁止执行!!!
'; + exit; + } + $con1=mysql_connect($ip.":".$port,$user,$pwd); + mysql_select_db($db, $con1); + $result = mysql_query("explain ".$multi_sql[$x], $con1); + while($row = mysql_fetch_array($result)){ + $record_rows=$row[8]; + if($record_rows<=50000){ + echo "
"; + echo $parmArr[1]."表 where条件字段,扫描影响的行数小于50000行,可以由开发自助执行。
"; + } + else{ + echo ''.$parmArr[1].'表 where条件字段,扫描影响的行数是:'.$record_rows.' 行,超过50000行请联系DBA执行!!!
'; + $up++; + } + } + mysql_close($con1); + if($up==0){ + echo 'update语句未发现问题
'; + $c_update=1; + } + echo '
'; + //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; + require 'sqladvisor_config.php'; + + if ($message === ''){ + echo "更新的where条件字段索引已经创建了,无需创建.
"; + }else{ + echo "更新的where条件字段没有创建索引,建议添加如下索引:
"; + echo $message."
"; + echo "InnoDB存储引擎是通过给索引上的索引项加锁来实现的,这就意味着:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。
"; + } + echo "
"; + echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; + fclose($stream); + fclose($errorStream); + break; + case 'delete': + echo 'delete删除数据属于高危语句,需要人工审核
'; + break; + case 'create': + if(preg_match('/create\s*index/',$multi_sql[$x])){ + echo "警告!不支持create index语法,请更改为alter table add index语法。
"; + break; + } + if(!in_array('primary',$parmArr)){ + echo "警告!$parmArr[2]表没有主键
"; + $c++; + } + if(in_array('primary',$parmArr)){ + if(!preg_match('/AUTO_INCREMENT[ |,]/i',$multi_sql[$x])){ + echo "警告!$parmArr[2]表主键应该是自增的,缺少AUTO_INCREMENT
"; + $c++; + } + } + if(!preg_match('/auto_increment=1 /i',$multi_sql[$x])){ + echo "提示:id自增字段默认值为1,auto_increment=1
"; + } + if(preg_match_all('/\bkey\b/i',$multi_sql[$x],$match)){ + if(!in_array('index',$parmArr)){ + $countkey = array_count_values($parmArr); + if($countkey['key'] == 1){ + echo "警告!$parmArr[2]表没有索引
"; + $c++; + } + } + } + if(in_array('key',$parmArr)){ + $countkey = array_count_values($parmArr); + if($countkey['key']>=15){ + echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间,请让dba使用pt-duplicate-key-checker --user=root --password=xxxx --host=localhost --socket=/tmp/mysql.sock来检查重复的索引
"; + $c++; + } + $countkey = array_count_values($parmArr); + if($countkey['index']>=15){ + echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度 +并占用磁盘空间。
"; + $c++; + } + } + if(!in_array('comment',$parmArr)){ + echo "警告!$parmArr[2]表字段没有中文注释,COMMENT应该有默认值,如COMMENT '姓名'
"; + $c++; + } + if(!preg_match_all("/comment=.*/",$parm,$out)){ + echo "警告!$parmArr[2]表没有中文注释,例:COMMENT='新版授信项表'
"; + $c++; + } + if(!preg_match_all("/.*utf8.*/",$parm,$out)){ + echo "警告!$parmArr[2]表缺少utf8字符集,否则会出现乱码
"; + $c++; + } + if(!in_array('engine=innodb',$parmArr)){ + echo "警告!$parmArr[2]表存储引擎应设置为InnoDB
"; + $c++; + } + if(in_array('timestamp',$parmArr)){ + if(!in_array('current_timestamp',$parmArr)){ + echo "警告!$parmArr[2]表应该为timestamp类型加默认系统当前时间。例如:update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
"; + $c++; + } + } + if(preg_grep('/.*utf8_bin/',$parmArr)){ + echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符>集核对utf8_general_ci。
"; + $c++; + } + if(preg_grep('/float.*/',$parmArr)){ + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 +,应该用定点数decimal类型存储。
'; + $c++; + } + if(preg_grep("/double.*/",$parmArr)){ + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 +,应该用定点数decimal类型存储。
'; + $c++; + } + //-------------------------------------- + foreach($Keywords as $value) { + if(preg_match('/'.'\b'.$value.'\b'.'/' ,$parm)){ + echo "警告!$parmArr[2]表存在系统保留关键字
"; + $c++; + } + } + if($c==0){ + echo '建表语句未发现问题
'; + $c_create=1; + } + break; + case 'alter': + array_push($alter_array,$parmArr[2]); + array_push($alter_parm,$parmArr[0]); + $con2=mysql_connect($ip.":".$port,$user,$pwd); + mysql_select_db($db, $con2); + $result = mysql_query("explain select * from ".$parmArr[2], $con2); + while($row = mysql_fetch_array($result)){ + $record_rows=$row[8]; + if($record_rows<=1500000){ + echo "
"; + echo $parmArr[2]."表记录小于150万行,可以由开发自助执行。
"; + } + else{ + echo ''.$parmArr[2].'表记录是:'.$record_rows.' 行,表太大请联系DBA执行!!!
'; + exit; + } + } + mysql_close($con2); + if(in_array('drop',$parmArr)){ + if(!preg_match('/drop.*index/i',$multi_sql[$x])){ + echo "警告!你要对$parmArr[2]表删除字段,数据会存在丢失的风险,请走审批!!!
"; + exit; + } + } + if($at==0){ + echo 'alter语句未发现问题
'; + $c_alter=1; + }else{exit;} + break; + default: + echo '请输入正确的sql语句
'; + break; + } +} +$sql_count=$sql_count+1; + if (($alter_parm[0] == $alter_parm[1] && $alter_parm[1] == 'alter') && $alter_array[0] == $alter_array[1]){ + echo "

"; + echo "警告!更改表结构要减少与数据库的交互次数,应改为,例alter table t1 add index IX_uid(uid),add index IX_name(name);

"; + exit; + } +} + +if($c_create==1 || $c_insert==1 || $c_alter==1 || $c_update==1){ + echo '
'; + echo '

上线的SQL已经通过系统审核,待审批。

'; +######记录上线操作###### + session_start(); + echo '工单提交人:',$_SESSION['username']."
"; + $dbuser=$_SESSION['username']; + +$sql_replace=preg_replace('/(#*|-*|`)/', '', $parm); +$conn=mysqli_connect("localhost","root","111111","sql_db"); +$ops_time="NOW()"; +$str_replace_sql=str_replace("'","\'",$sql_replace); +$ops_sql = "INSERT INTO sql_order_wait (ops_name, ops_db, ops_time, ops_order_name, ops_content) VALUES ('$dbuser','$dbname',$ops_time,'$sql_order','$str_replace_sql')"; +mysqli_query("SET NAMES utf8"); +mysqli_query($conn,$ops_sql); +mysqli_close($conn); + +######发邮件给管理员审核SQL工单###### +require 'mail/mail.php'; + +$sendmail = new mail($_SESSION['username'],$sql_order); +$sendmail->execCommand(); + +} +?> diff --git a/php-sqlreview/sqladvisor_config.php b/php-sqlreview/sqladvisor_config.php index c1f44f2..0a2d11b 100644 --- a/php-sqlreview/sqladvisor_config.php +++ b/php-sqlreview/sqladvisor_config.php @@ -1,13 +1,13 @@ - + diff --git a/php-sqlreview/stat/db.php b/php-sqlreview/stat/db.php index 727b4fd..fcabda3 100644 --- a/php-sqlreview/stat/db.php +++ b/php-sqlreview/stat/db.php @@ -1,25 +1,25 @@ -ops_db = $row['ops_db']; - $user->count = $row['count']; - $array[]=$user; - } - $data=json_encode($array); - // echo "{".'"user"'.":".$data."}"; - echo $data; -?> +ops_db = $row['ops_db']; + $user->count = $row['count']; + $array[]=$user; + } + $data=json_encode($array); + // echo "{".'"user"'.":".$data."}"; + echo $data; +?> diff --git a/php-sqlreview/update_status.php b/php-sqlreview/update_status.php index 2c2d380..7e90f5a 100644 --- a/php-sqlreview/update_status.php +++ b/php-sqlreview/update_status.php @@ -1,25 +1,25 @@ -"; - header("location:wait_order.php"); - } - } -} -?> +"; + header("location:wait_order.php"); + } + } +} +?> diff --git a/php-sqlreview/wait_order.php b/php-sqlreview/wait_order.php index b6c9cda..b34196a 100644 --- a/php-sqlreview/wait_order.php +++ b/php-sqlreview/wait_order.php @@ -1,128 +1,128 @@ - - - -数据库上线工单查询 - - - -"; - //echo ''; - exit; - } - -$mysql_server_name='192.168.148.9'; -$mysql_username='admin'; -$mysql_password='123456'; -$mysql_database='sql_db'; - -$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting"); -mysql_query("set names 'utf8'"); -mysql_select_db($mysql_database); - -$perNumber=50; //每页显示的记录数 -$page=$_GET['page']; //获得当前的页面值 -$count=mysql_query("select count(*) from sql_order_wait"); //获得记录总数 -$rs=mysql_fetch_array($count); -$totalNumber=$rs[0]; -$totalPage=ceil($totalNumber/$perNumber); //计算出总页数 -/*if (!isset($page)) { - $page=1; -} //如果没有值,则赋值1 */ - -if (empty($page)) { - $page=1; -} //如果没有值,则赋值1 - -$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录 - -$sql1 = "select user from login_user where user = '${login_user}' and privilege = 1"; -$result1 = mysql_query($sql1,$conn); -if (mysql_num_rows($result1) > 0) { - echo "Hi,管理员,等待你审批工单。
"; - $sql ="select a.* from sql_order_wait a"; -} -else{ - $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; -} -$result = mysql_query($sql,$conn); - -echo "

数据库上线工单查询

"; -echo "
"; - -echo ""; -echo " - - - - - - - - "; -while($row = mysql_fetch_array($result)) -{ -$status = $row['status']?"已审批":"待审批"; -$exec_status = $row['status']; -$exec_finish_status = $row['finish_status']; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -if($prvi==1){ - if($exec_status==0){ - echo ""; - } - if($exec_status==1){ - echo ""; - } - if($exec_status==2){ - echo ""; - } -} -else{ - echo ""; -} -####################################################### -if($exec_finish_status==1){ - echo ""; -} -else if($exec_finish_status==2){ - echo ""; -} -else{ - echo ""; - //echo ""; -} -echo ""; -} -echo "
工单号申请人数据库名申请时间上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}
{$row['ops_content']}
$status
$status
- 审批人:
{$row['approver']}
审批不通过
- 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行自行撤销工单
"; - -if ($page != 1) { //页数不等于1 -?> -上一页 - - - -下一页 - - - - + + + +ݿ߹ѯ + + + +"; + //echo ''; + exit; + } + + $mysql_server_name='localhost'; + $mysql_username='root'; + $mysql_password='111111'; + $mysql_database='sql_db'; + +$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting"); +mysql_query("set names 'utf8'"); +mysql_select_db($mysql_database); + +$perNumber=50; //ÿҳʾļ¼ +$page=$_GET['page']; //õǰҳֵ +$count=mysql_query("select count(*) from sql_order_wait"); //ü¼ +$rs=mysql_fetch_array($count); +$totalNumber=$rs[0]; +$totalPage=ceil($totalNumber/$perNumber); //ҳ +/*if (!isset($page)) { + $page=1; +} //ûֵ,ֵ1 */ + +if (empty($page)) { + $page=1; +} //ûֵ,ֵ1 + +$startCount=($page-1)*$perNumber; //ҳʼ,ݴ˷ʼļ¼ + +$sql1 = "select user from login_user where user = '${login_user}' and privilege = 1"; +$result1 = mysql_query($sql1,$conn); +if (mysql_num_rows($result1) > 0) { + echo "HiԱȴ
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

ݿ߹ѯ

"; +echo "
"; + +echo ""; +echo " + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"":""; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1){ + if($exec_status==0){ + echo ""; + } + if($exec_status==1){ + echo ""; + } + if($exec_status==2){ + echo ""; + } +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; + //echo ""; +} +echo ""; +} +echo "
ݿʱSQL
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}
{$row['ops_content']}
$status
$status
+ ˣ
{$row['approver']}
ͨ
+ ˣ
{$row['approver']}
ȴִйִûִг
"; + +if ($page != 1) { //ҳ1 +?> +һҳ + + + +һҳ + + + + From 25a895a02062cbc7976a722d813511b179051519 Mon Sep 17 00:00:00 2001 From: ppabc8 Date: Wed, 9 May 2018 13:27:54 +0800 Subject: [PATCH 4/4] update --- php-sqlreview/cancel_status.php | 44 +- php-sqlreview/conn.php | 12 +- php-sqlreview/db_config.php | 34 +- php-sqlreview/execute_status.php | 136 +++--- php-sqlreview/my_order.php | 238 +++++----- php-sqlreview/sql_interface.php | 188 ++++---- php-sqlreview/sql_review.php | 696 ++++++++++++++-------------- php-sqlreview/sqladvisor_config.php | 26 +- php-sqlreview/stat/db.php | 50 +- php-sqlreview/update_status.php | 50 +- php-sqlreview/wait_order.php | 256 +++++----- 11 files changed, 865 insertions(+), 865 deletions(-) diff --git a/php-sqlreview/cancel_status.php b/php-sqlreview/cancel_status.php index 13fa426..c08f3b0 100644 --- a/php-sqlreview/cancel_status.php +++ b/php-sqlreview/cancel_status.php @@ -1,22 +1,22 @@ -"; - header("location:my_order.php"); - } -} - -?> +"; + header("location:my_order.php"); + } +} + +?> diff --git a/php-sqlreview/conn.php b/php-sqlreview/conn.php index 86ee9df..43af91a 100644 --- a/php-sqlreview/conn.php +++ b/php-sqlreview/conn.php @@ -1,6 +1,6 @@ - + diff --git a/php-sqlreview/db_config.php b/php-sqlreview/db_config.php index 079210f..75eb720 100644 --- a/php-sqlreview/db_config.php +++ b/php-sqlreview/db_config.php @@ -1,17 +1,17 @@ - + diff --git a/php-sqlreview/execute_status.php b/php-sqlreview/execute_status.php index 08c8675..ac09fd7 100644 --- a/php-sqlreview/execute_status.php +++ b/php-sqlreview/execute_status.php @@ -1,68 +1,68 @@ -"; - echo $db."
"; - echo $user."
"; - echo $pwd."
"; - echo $port."
"; - echo $ops_content."
";*/ - } - mysql_close($con); - //上线(客户端请使用mysql5.5及以下版本,或者MariaDB10版本。) - $dbsql_exec="/usr/bin/mysql --default-character-set=utf8 --skip-column-names --safe-updates -h$ip -u$user -p"."'".$pwd."'"." -P$port $db --execute=\"SHOW MASTER STATUS;".$ops_content.";SHOW MASTER STATUS;"."\"" ; - - ##########上线执行################### - $remote_user="admin"; - $remote_password="123456"; - $script=$dbsql_exec; - $connection = ssh2_connect('127.0.0.1',60000); - ssh2_auth_password($connection,$remote_user,$remote_password); - $stream = ssh2_exec($connection,$script,NULL,$env=array(),100000,100000); - $correctStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); - $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); - stream_set_blocking($errorStream, true); - $message=stream_get_contents($errorStream); - $measage_stdio=stream_get_contents($correctStream); - - if ($message == ''){ - $con2=mysqli_connect("localhost","admin","123456","sql_db"); - $sql = "update sql_order_wait set finish_status=2 WHERE id={$id}"; - if(mysqli_query($con2,$sql)){ - echo "
"; - echo "对,就这样,上线成功了!
"; - echo "666"; - } - mysqli_close($con2); - //header("refresh:3;location:wait_order.php"); - echo "
"; - echo "点击返回工单界面
"; - } - else{ - echo $message."
"; - echo "上线失败!
"; - echo "fail"; - } - fclose($stream); - fclose($errorStream); - ####################################### - } -else{ - echo "没有执行.
"; - } -} - -?> +"; + echo $db."
"; + echo $user."
"; + echo $pwd."
"; + echo $port."
"; + echo $ops_content."
";*/ + } + mysql_close($con); + //上线(客户端请使用mysql5.5及以下版本,或者MariaDB10版本。) + $dbsql_exec="/usr/bin/mysql --default-character-set=utf8 --skip-column-names --safe-updates -h$ip -u$user -p"."'".$pwd."'"." -P$port $db --execute=\"SHOW MASTER STATUS;".$ops_content.";SHOW MASTER STATUS;"."\"" ; + + ##########上线执行################### + $remote_user="hechunyang"; + $remote_password="123456"; + $script=$dbsql_exec; + $connection = ssh2_connect('127.0.0.1',60000); + ssh2_auth_password($connection,$remote_user,$remote_password); + $stream = ssh2_exec($connection,$script,NULL,$env=array(),100000,100000); + $correctStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); + $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR); + stream_set_blocking($errorStream, true); + $message=stream_get_contents($errorStream); + $measage_stdio=stream_get_contents($correctStream); + + if ($message == ''){ + $con2=mysqli_connect("localhost","root","111111","sql_db"); + $sql = "update sql_order_wait set finish_status=2 WHERE id={$id}"; + if(mysqli_query($con2,$sql)){ + echo "
"; + echo "对,就这样,上线成功了!
"; + echo "666"; + } + mysqli_close($con2); + //header("refresh:3;location:wait_order.php"); + echo "
"; + echo "点击返回工单界面
"; + } + else{ + echo $message."
"; + echo "上线失败!
"; + echo "fail"; + } + fclose($stream); + fclose($errorStream); + ####################################### + } +else{ + echo "没有执行.
"; + } +} + +?> diff --git a/php-sqlreview/my_order.php b/php-sqlreview/my_order.php index cd0e5d6..c3f0145 100644 --- a/php-sqlreview/my_order.php +++ b/php-sqlreview/my_order.php @@ -1,119 +1,119 @@ - - - -ݿ߹ѯ - - - - 0) { - //echo "HiԱȴߡ
"; - $sql ="select a.* from sql_order_wait a"; -} -else{ - $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; -} -$result = mysql_query($sql,$conn); - -echo "

ݿ߹ѯ

"; -echo "
"; - -echo ""; -echo " - - - - - - - - - "; -while($row = mysql_fetch_array($result)) -{ -$status = $row['status']?"":""; -$exec_status = $row['status']; -$exec_finish_status = $row['finish_status']; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -if($prvi==1 || $exec_status==1){ - echo ""; -} -else if($exec_status==2){ - echo ""; -} -else{ - echo ""; -} -####################################################### -if($exec_finish_status==1){ - echo ""; -} -else if($exec_finish_status==2){ - echo ""; -} -else{ - echo ""; -} -echo ""; -} -echo "
ݿʱSQL
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}{$row['ops_order_name']}
{$row['ops_content']}
$status
- ˣ
{$row['approver']}
ͨ
- ˣ
{$row['approver']}
ȴִйִûִ
"; - echo "г
"; - -if ($page != 1) { //ҳ1 -?> -һҳ - - - -һҳ - - - - + + + +数据库上线工单查询 + + + + 0) { + //echo "Hi,管理员,等待你审批工单,开发等着上线。
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

数据库上线工单查询

"; +echo "
"; + +echo ""; +echo " + + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"已审批":"待审批"; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1 || $exec_status==1){ + echo ""; +} +else if($exec_status==2){ + echo ""; +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; +} +echo ""; +} +echo "
工单号申请人数据库名申请时间工单名称上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}{$row['ops_order_name']}
{$row['ops_content']}
$status
+ 审批人:
{$row['approver']}
审批不通过
+ 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行
"; + echo "自行撤销工单
"; + +if ($page != 1) { //页数不等于1 +?> +上一页 + + + +下一页 + + + + diff --git a/php-sqlreview/sql_interface.php b/php-sqlreview/sql_interface.php index 475c03f..69aeb3c 100644 --- a/php-sqlreview/sql_interface.php +++ b/php-sqlreview/sql_interface.php @@ -1,94 +1,94 @@ - - - - - - -SQLԶ-ƽ̨ - - - - - - - - - - - - -
-
-SQLԶ-ƽ̨ -
-
-
-
-

SQL

-
-
-
- -
- - - -
-
- - - - -
-

ʹ˵
- 1select/insert/update/create/alter˹deleteҪ
- 2֮Ҫпոwhere id = 100ûпոӰжϵ׼ȷԡ
- 3SQLҪӷֺ; MySQL涨ֺŲſִSQL
- 4`ܻʧܣҪı༭滻
- 5ֶ֧SQLһֺ;ָ磺
-      insert into t1 values(1,'a');
- -      insert into t1 values(2,'b');

- 6JSONʽ˫Ҫ÷бܽת壬磺{\"dis_text\":\"nba\"}

-
-

 

- - - + + + + + + +SQL自动审核-自助上线平台 + + + + + + + + + + + + +
+
+SQL自动审核-自助上线平台 +
+
+
+
+

输入SQL语句

+
+
+
+ +
+ + + +
+
+ + + + +
+

使用说明:
+ 1、针对select/insert/update/create/alter加了规则,delete需要审批。
+ 2、语句之间要有空格,例where id = 100,没有空格会影响判断的准确性。
+ 3、SQL语句后面要加分号; MySQL解析器规定分号才可以执行SQL。
+ 4、反引号`可能会造成上线失败,需要用文本编辑器替换掉。
+ 5、支持多条SQL解析,用一个分号;分割。例如:
+      insert into t1 values(1,'a');
+ +      insert into t1 values(2,'b');

+ 6、JSON格式里的双引号要用反斜杠进行转义,例如:{\"dis_text\":\"nba\"}。

+
+

 

+ + + diff --git a/php-sqlreview/sql_review.php b/php-sqlreview/sql_review.php index d4f625d..4d9f653 100644 --- a/php-sqlreview/sql_review.php +++ b/php-sqlreview/sql_review.php @@ -1,348 +1,348 @@ - - - - - - - -"; -echo "------你刚才选择的数据库名字是:" . $dbname . "------
"; -for($x=0;$x<$arrlength;$x++){ -echo "
"; -echo "第" . $sql_count . "条、你刚才输入的SQL语句是:" . $multi_sql[$x] . "
"; - -echo "
"; -if($multi_sql[$x]){ - $parmArr_enter = str_replace("\r\n"," ",$multi_sql[$x]); - $parmArr = preg_split("/[\s]+/",ltrim($parmArr_enter)); - switch ($parmArr[0]) { - case 'select': - if(in_array('*',$parmArr)){ - echo '提示:select *是否有必要查询所有的字段?
'; - $s++; - } - if(!in_array('where',$parmArr)){ - echo '警告!没有where条件,注意where后面的字段要加上索引
'; - $s++; - } - if(!in_array('limit',$parmArr)){ - echo '提示:没有limit会查询更多的数据
'; - $s++; - } - if(in_array("exists",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - if(in_array("in",$parmArr)){ - $countIn = array_count_values($parmArr); - if(preg_match_all('/\(.*\)/',$parm,$out)){ - echo "提示:in里面的数值不要超过1000个
"; - $s++; - } - if(in_array("(select",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - if($countIn['select']>1){ - echo '警告!!子查询性能低下,请转为join表关联
'; - $s++; - } - } - if(in_array("in(select",$parmArr)){ - echo '警告!子查询性能低下,请转为join表关联
'; - $s++; - } - - if(in_array("join",$parmArr)){ - echo '提示:采用join关联,注意关联字段要都加上索引,如on a.id=b.id
'; - $countArr = array_count_values($parmArr); - if($countArr['join']>1){ - echo '提示:MySQL对多表join关联性能低下,建议不要超过3个表以上的关联
'; - $s++; - } - } - if(in_array("like",$parmArr)){ - if(preg_match_all("/'%(.)*%'/",$parm,$out)){ - echo "警告!like '%%'双百分号无法用到索引,like 'mysql%'这样是可以利用到索引的
"; - $s++; - } - } - if(in_array('group',$parmArr)){ - if(in_array('by',$parmArr)){ - echo '提示:默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
'; - $s++; - if(!in_array('having',$parmArr)){ - echo '提示:是否要加一个having过滤下?
'; - $s++; - } - }} - if(in_array('order',$parmArr)){ - if(preg_match_all("/by.*rand().*/",$parm,$out)){ - echo '警告!MySQL里用到order by rand()在数据量比较多的时候是很慢的,因为会导致MySQL全表扫描,故也不会用到索引
'; - $s++; - } - /*if(in_array('group',$parmArr)){ - if(in_array('by',$parmArr)){ - echo '提示:是否要加一个having过滤下?
'; - $s++; - } - }*/ - if(!in_array('group',$parmArr)){ - if(preg_match_all("/count(.*)/",$parm,$out)){ - echo '警告!禁止不必要的order by排序,因为前面已经count统计了
'; - $s++; - } - } - } - if(in_array('where',$parmArr)){ - if(preg_match_all("/\(.*\)\s{0,}(>|<|=)/",$parm,$out)){ - echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; - $s++; - } - if(preg_match_all("/\(.*\)\s{0,}(>|<|=|between)/",$parm,$out)){ - echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; - $s++; - } - } - if($s==0){ - echo 'SQL语句未发现问题
'; - } - echo '
'; - //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; - require 'sqladvisor_config.php'; - if ($message === ''){ - echo "查询字段索引已经创建了,无需创建.
"; - }else{ - echo "查询的字段没有创建索引,建议添加如下索引:
"; - echo $message."
"; - echo "大表创建索引风险很高,如果一定要创建,请联系DBA进行执行。
"; - } - echo "
"; - echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; - fclose($stream); - fclose($errorStream); - break; - case 'insert': - if(preg_match('/insert.*select/i',$multi_sql[$x])){ - echo "警告: insert 表1 select 表2,会造成锁表。
"; - $is++; - } - if($is==0){ - echo 'insert语句未发现问题
'; - $c_insert=1; - } - break; - case 'update': - if(!in_array('where',$parmArr)){ - echo '警告!没有where条件,update会全表更新,禁止执行!!!
'; - exit; - } - $con1=mysql_connect($ip.":".$port,$user,$pwd); - mysql_select_db($db, $con1); - $result = mysql_query("explain ".$multi_sql[$x], $con1); - while($row = mysql_fetch_array($result)){ - $record_rows=$row[8]; - if($record_rows<=50000){ - echo "
"; - echo $parmArr[1]."表 where条件字段,扫描影响的行数小于50000行,可以由开发自助执行。
"; - } - else{ - echo ''.$parmArr[1].'表 where条件字段,扫描影响的行数是:'.$record_rows.' 行,超过50000行请联系DBA执行!!!
'; - $up++; - } - } - mysql_close($con1); - if($up==0){ - echo 'update语句未发现问题
'; - $c_update=1; - } - echo '
'; - //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; - require 'sqladvisor_config.php'; - - if ($message === ''){ - echo "更新的where条件字段索引已经创建了,无需创建.
"; - }else{ - echo "更新的where条件字段没有创建索引,建议添加如下索引:
"; - echo $message."
"; - echo "InnoDB存储引擎是通过给索引上的索引项加锁来实现的,这就意味着:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。
"; - } - echo "
"; - echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; - fclose($stream); - fclose($errorStream); - break; - case 'delete': - echo 'delete删除数据属于高危语句,需要人工审核
'; - break; - case 'create': - if(preg_match('/create\s*index/',$multi_sql[$x])){ - echo "警告!不支持create index语法,请更改为alter table add index语法。
"; - break; - } - if(!in_array('primary',$parmArr)){ - echo "警告!$parmArr[2]表没有主键
"; - $c++; - } - if(in_array('primary',$parmArr)){ - if(!preg_match('/AUTO_INCREMENT[ |,]/i',$multi_sql[$x])){ - echo "警告!$parmArr[2]表主键应该是自增的,缺少AUTO_INCREMENT
"; - $c++; - } - } - if(!preg_match('/auto_increment=1 /i',$multi_sql[$x])){ - echo "提示:id自增字段默认值为1,auto_increment=1
"; - } - if(preg_match_all('/\bkey\b/i',$multi_sql[$x],$match)){ - if(!in_array('index',$parmArr)){ - $countkey = array_count_values($parmArr); - if($countkey['key'] == 1){ - echo "警告!$parmArr[2]表没有索引
"; - $c++; - } - } - } - if(in_array('key',$parmArr)){ - $countkey = array_count_values($parmArr); - if($countkey['key']>=15){ - echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间,请让dba使用pt-duplicate-key-checker --user=root --password=xxxx --host=localhost --socket=/tmp/mysql.sock来检查重复的索引
"; - $c++; - } - $countkey = array_count_values($parmArr); - if($countkey['index']>=15){ - echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度 -并占用磁盘空间。
"; - $c++; - } - } - if(!in_array('comment',$parmArr)){ - echo "警告!$parmArr[2]表字段没有中文注释,COMMENT应该有默认值,如COMMENT '姓名'
"; - $c++; - } - if(!preg_match_all("/comment=.*/",$parm,$out)){ - echo "警告!$parmArr[2]表没有中文注释,例:COMMENT='新版授信项表'
"; - $c++; - } - if(!preg_match_all("/.*utf8.*/",$parm,$out)){ - echo "警告!$parmArr[2]表缺少utf8字符集,否则会出现乱码
"; - $c++; - } - if(!in_array('engine=innodb',$parmArr)){ - echo "警告!$parmArr[2]表存储引擎应设置为InnoDB
"; - $c++; - } - if(in_array('timestamp',$parmArr)){ - if(!in_array('current_timestamp',$parmArr)){ - echo "警告!$parmArr[2]表应该为timestamp类型加默认系统当前时间。例如:update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
"; - $c++; - } - } - if(preg_grep('/.*utf8_bin/',$parmArr)){ - echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符>集核对utf8_general_ci。
"; - $c++; - } - if(preg_grep('/float.*/',$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 -,应该用定点数decimal类型存储。
'; - $c++; - } - if(preg_grep("/double.*/",$parmArr)){ - echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 -,应该用定点数decimal类型存储。
'; - $c++; - } - //-------------------------------------- - foreach($Keywords as $value) { - if(preg_match('/'.'\b'.$value.'\b'.'/' ,$parm)){ - echo "警告!$parmArr[2]表存在系统保留关键字
"; - $c++; - } - } - if($c==0){ - echo '建表语句未发现问题
'; - $c_create=1; - } - break; - case 'alter': - array_push($alter_array,$parmArr[2]); - array_push($alter_parm,$parmArr[0]); - $con2=mysql_connect($ip.":".$port,$user,$pwd); - mysql_select_db($db, $con2); - $result = mysql_query("explain select * from ".$parmArr[2], $con2); - while($row = mysql_fetch_array($result)){ - $record_rows=$row[8]; - if($record_rows<=1500000){ - echo "
"; - echo $parmArr[2]."表记录小于150万行,可以由开发自助执行。
"; - } - else{ - echo ''.$parmArr[2].'表记录是:'.$record_rows.' 行,表太大请联系DBA执行!!!
'; - exit; - } - } - mysql_close($con2); - if(in_array('drop',$parmArr)){ - if(!preg_match('/drop.*index/i',$multi_sql[$x])){ - echo "警告!你要对$parmArr[2]表删除字段,数据会存在丢失的风险,请走审批!!!
"; - exit; - } - } - if($at==0){ - echo 'alter语句未发现问题
'; - $c_alter=1; - }else{exit;} - break; - default: - echo '请输入正确的sql语句
'; - break; - } -} -$sql_count=$sql_count+1; - if (($alter_parm[0] == $alter_parm[1] && $alter_parm[1] == 'alter') && $alter_array[0] == $alter_array[1]){ - echo "

"; - echo "警告!更改表结构要减少与数据库的交互次数,应改为,例alter table t1 add index IX_uid(uid),add index IX_name(name);

"; - exit; - } -} - -if($c_create==1 || $c_insert==1 || $c_alter==1 || $c_update==1){ - echo '
'; - echo '

上线的SQL已经通过系统审核,待审批。

'; -######记录上线操作###### - session_start(); - echo '工单提交人:',$_SESSION['username']."
"; - $dbuser=$_SESSION['username']; - -$sql_replace=preg_replace('/(#*|-*|`)/', '', $parm); -$conn=mysqli_connect("localhost","root","111111","sql_db"); -$ops_time="NOW()"; -$str_replace_sql=str_replace("'","\'",$sql_replace); -$ops_sql = "INSERT INTO sql_order_wait (ops_name, ops_db, ops_time, ops_order_name, ops_content) VALUES ('$dbuser','$dbname',$ops_time,'$sql_order','$str_replace_sql')"; -mysqli_query("SET NAMES utf8"); -mysqli_query($conn,$ops_sql); -mysqli_close($conn); - -######发邮件给管理员审核SQL工单###### -require 'mail/mail.php'; - -$sendmail = new mail($_SESSION['username'],$sql_order); -$sendmail->execCommand(); - -} -?> + + + + + + + +"; +echo "------你刚才选择的数据库名字是:" . $dbname . "------
"; +for($x=0;$x<$arrlength;$x++){ +echo "
"; +echo "第" . $sql_count . "条、你刚才输入的SQL语句是:" . $multi_sql[$x] . "
"; + +echo "
"; +if($multi_sql[$x]){ + $parmArr_enter = str_replace("\r\n"," ",$multi_sql[$x]); + $parmArr = preg_split("/[\s]+/",ltrim($parmArr_enter)); + switch ($parmArr[0]) { + case 'select': + if(in_array('*',$parmArr)){ + echo '提示:select *是否有必要查询所有的字段?
'; + $s++; + } + if(!in_array('where',$parmArr)){ + echo '警告!没有where条件,注意where后面的字段要加上索引
'; + $s++; + } + if(!in_array('limit',$parmArr)){ + echo '提示:没有limit会查询更多的数据
'; + $s++; + } + if(in_array("exists",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + if(in_array("in",$parmArr)){ + $countIn = array_count_values($parmArr); + if(preg_match_all('/\(.*\)/',$parm,$out)){ + echo "提示:in里面的数值不要超过1000个
"; + $s++; + } + if(in_array("(select",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + if($countIn['select']>1){ + echo '警告!!子查询性能低下,请转为join表关联
'; + $s++; + } + } + if(in_array("in(select",$parmArr)){ + echo '警告!子查询性能低下,请转为join表关联
'; + $s++; + } + + if(in_array("join",$parmArr)){ + echo '提示:采用join关联,注意关联字段要都加上索引,如on a.id=b.id
'; + $countArr = array_count_values($parmArr); + if($countArr['join']>1){ + echo '提示:MySQL对多表join关联性能低下,建议不要超过3个表以上的关联
'; + $s++; + } + } + if(in_array("like",$parmArr)){ + if(preg_match_all("/'%(.)*%'/",$parm,$out)){ + echo "警告!like '%%'双百分号无法用到索引,like 'mysql%'这样是可以利用到索引的
"; + $s++; + } + } + if(in_array('group',$parmArr)){ + if(in_array('by',$parmArr)){ + echo '提示:默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
'; + $s++; + if(!in_array('having',$parmArr)){ + echo '提示:是否要加一个having过滤下?
'; + $s++; + } + }} + if(in_array('order',$parmArr)){ + if(preg_match_all("/by.*rand().*/",$parm,$out)){ + echo '警告!MySQL里用到order by rand()在数据量比较多的时候是很慢的,因为会导致MySQL全表扫描,故也不会用到索引
'; + $s++; + } + /*if(in_array('group',$parmArr)){ + if(in_array('by',$parmArr)){ + echo '提示:是否要加一个having过滤下?
'; + $s++; + } + }*/ + if(!in_array('group',$parmArr)){ + if(preg_match_all("/count(.*)/",$parm,$out)){ + echo '警告!禁止不必要的order by排序,因为前面已经count统计了
'; + $s++; + } + } + } + if(in_array('where',$parmArr)){ + if(preg_match_all("/\(.*\)\s{0,}(>|<|=)/",$parm,$out)){ + echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; + $s++; + } + if(preg_match_all("/\(.*\)\s{0,}(>|<|=|between)/",$parm,$out)){ + echo "警告!MySQL里不支持函数索引,例DATE_FORMAT('create_time','%Y-%m-%d')='2016-01-01'是无法用到索引的,需要改写为create_time>='2016-01-01 00:00:00' and create_time<='2016-01-01 23:59:59'
"; + $s++; + } + } + if($s==0){ + echo 'SQL语句未发现问题
'; + } + echo '
'; + //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; + require 'sqladvisor_config.php'; + if ($message === ''){ + echo "查询字段索引已经创建了,无需创建.
"; + }else{ + echo "查询的字段没有创建索引,建议添加如下索引:
"; + echo $message."
"; + echo "大表创建索引风险很高,如果一定要创建,请联系DBA进行执行。
"; + } + echo "
"; + echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; + fclose($stream); + fclose($errorStream); + break; + case 'insert': + if(preg_match('/insert.*select/i',$multi_sql[$x])){ + echo "警告: insert 表1 select 表2,会造成锁表。
"; + $is++; + } + if($is==0){ + echo 'insert语句未发现问题
'; + $c_insert=1; + } + break; + case 'update': + if(!in_array('where',$parmArr)){ + echo '警告!没有where条件,update会全表更新,禁止执行!!!
'; + exit; + } + $con1=mysql_connect($ip.":".$port,$user,$pwd); + mysql_select_db($db, $con1); + $result = mysql_query("explain ".$multi_sql[$x], $con1); + while($row = mysql_fetch_array($result)){ + $record_rows=$row[8]; + if($record_rows<=50000){ + echo "
"; + echo $parmArr[1]."表 where条件字段,扫描影响的行数小于50000行,可以由开发自助执行。
"; + } + else{ + echo ''.$parmArr[1].'表 where条件字段,扫描影响的行数是:'.$record_rows.' 行,超过50000行请联系DBA执行!!!
'; + $up++; + } + } + mysql_close($con1); + if($up==0){ + echo 'update语句未发现问题
'; + $c_update=1; + } + echo '
'; + //echo '开始调用美团网SQLAdvisor进行第二次索引检查
'; + require 'sqladvisor_config.php'; + + if ($message === ''){ + echo "更新的where条件字段索引已经创建了,无需创建.
"; + }else{ + echo "更新的where条件字段没有创建索引,建议添加如下索引:
"; + echo $message."
"; + echo "InnoDB存储引擎是通过给索引上的索引项加锁来实现的,这就意味着:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。
"; + } + echo "
"; + echo "如果你觉得审核意见比较满意,请心中默念666,并推广给其他小伙伴使用。
"; + fclose($stream); + fclose($errorStream); + break; + case 'delete': + echo 'delete删除数据属于高危语句,需要人工审核
'; + break; + case 'create': + if(preg_match('/create\s*index/',$multi_sql[$x])){ + echo "警告!不支持create index语法,请更改为alter table add index语法。
"; + break; + } + if(!in_array('primary',$parmArr)){ + echo "警告!$parmArr[2]表没有主键
"; + $c++; + } + if(in_array('primary',$parmArr)){ + if(!preg_match('/AUTO_INCREMENT[ |,]/i',$multi_sql[$x])){ + echo "警告!$parmArr[2]表主键应该是自增的,缺少AUTO_INCREMENT
"; + $c++; + } + } + if(!preg_match('/auto_increment=1 /i',$multi_sql[$x])){ + echo "提示:id自增字段默认值为1,auto_increment=1
"; + } + if(preg_match_all('/\bkey\b/i',$multi_sql[$x],$match)){ + if(!in_array('index',$parmArr)){ + $countkey = array_count_values($parmArr); + if($countkey['key'] == 1){ + echo "警告!$parmArr[2]表没有索引
"; + $c++; + } + } + } + if(in_array('key',$parmArr)){ + $countkey = array_count_values($parmArr); + if($countkey['key']>=15){ + echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间,请让dba使用pt-duplicate-key-checker --user=root --password=xxxx --host=localhost --socket=/tmp/mysql.sock来检查重复的索引
"; + $c++; + } + $countkey = array_count_values($parmArr); + if($countkey['index']>=15){ + echo "警告!表中的索引数已经超过5个,索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度 +并占用磁盘空间。
"; + $c++; + } + } + if(!in_array('comment',$parmArr)){ + echo "警告!$parmArr[2]表字段没有中文注释,COMMENT应该有默认值,如COMMENT '姓名'
"; + $c++; + } + if(!preg_match_all("/comment=.*/",$parm,$out)){ + echo "警告!$parmArr[2]表没有中文注释,例:COMMENT='新版授信项表'
"; + $c++; + } + if(!preg_match_all("/.*utf8.*/",$parm,$out)){ + echo "警告!$parmArr[2]表缺少utf8字符集,否则会出现乱码
"; + $c++; + } + if(!in_array('engine=innodb',$parmArr)){ + echo "警告!$parmArr[2]表存储引擎应设置为InnoDB
"; + $c++; + } + if(in_array('timestamp',$parmArr)){ + if(!in_array('current_timestamp',$parmArr)){ + echo "警告!$parmArr[2]表应该为timestamp类型加默认系统当前时间。例如:update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
"; + $c++; + } + } + if(preg_grep('/.*utf8_bin/',$parmArr)){ + echo "警告!$parmArr[2]表 utf8_bin应使用默认的字符>集核对utf8_general_ci。
"; + $c++; + } + if(preg_grep('/float.*/',$parmArr)){ + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 +,应该用定点数decimal类型存储。
'; + $c++; + } + if(preg_grep("/double.*/",$parmArr)){ + echo '警告!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。浮点数的缺点是会引起精度问题,对货币等对精度敏感的数据 +,应该用定点数decimal类型存储。
'; + $c++; + } + //-------------------------------------- + foreach($Keywords as $value) { + if(preg_match('/'.'\b'.$value.'\b'.'/' ,$parm)){ + echo "警告!$parmArr[2]表存在系统保留关键字
"; + $c++; + } + } + if($c==0){ + echo '建表语句未发现问题
'; + $c_create=1; + } + break; + case 'alter': + array_push($alter_array,$parmArr[2]); + array_push($alter_parm,$parmArr[0]); + $con2=mysql_connect($ip.":".$port,$user,$pwd); + mysql_select_db($db, $con2); + $result = mysql_query("explain select * from ".$parmArr[2], $con2); + while($row = mysql_fetch_array($result)){ + $record_rows=$row[8]; + if($record_rows<=1500000){ + echo "
"; + echo $parmArr[2]."表记录小于150万行,可以由开发自助执行。
"; + } + else{ + echo ''.$parmArr[2].'表记录是:'.$record_rows.' 行,表太大请联系DBA执行!!!
'; + exit; + } + } + mysql_close($con2); + if(in_array('drop',$parmArr)){ + if(!preg_match('/drop.*index/i',$multi_sql[$x])){ + echo "警告!你要对$parmArr[2]表删除字段,数据会存在丢失的风险,请走审批!!!
"; + exit; + } + } + if($at==0){ + echo 'alter语句未发现问题
'; + $c_alter=1; + }else{exit;} + break; + default: + echo '请输入正确的sql语句
'; + break; + } +} +$sql_count=$sql_count+1; + if (($alter_parm[0] == $alter_parm[1] && $alter_parm[1] == 'alter') && $alter_array[0] == $alter_array[1]){ + echo "

"; + echo "警告!更改表结构要减少与数据库的交互次数,应改为,例alter table t1 add index IX_uid(uid),add index IX_name(name);

"; + exit; + } +} + +if($c_create==1 || $c_insert==1 || $c_alter==1 || $c_update==1){ + echo '
'; + echo '

上线的SQL已经通过系统审核,待审批。

'; +######记录上线操作###### + session_start(); + echo '工单提交人:',$_SESSION['username']."
"; + $dbuser=$_SESSION['username']; + +$sql_replace=preg_replace('/(#*|-*|`)/', '', $parm); +$conn=mysqli_connect("localhost","root","111111","sql_db"); +$ops_time="NOW()"; +$str_replace_sql=str_replace("'","\'",$sql_replace); +$ops_sql = "INSERT INTO sql_order_wait (ops_name, ops_db, ops_time, ops_order_name, ops_content) VALUES ('$dbuser','$dbname',$ops_time,'$sql_order','$str_replace_sql')"; +mysqli_query("SET NAMES utf8"); +mysqli_query($conn,$ops_sql); +mysqli_close($conn); + +######发邮件给管理员审核SQL工单###### +require 'mail/mail.php'; + +$sendmail = new mail($_SESSION['username'],$sql_order); +$sendmail->execCommand(); + +} +?> diff --git a/php-sqlreview/sqladvisor_config.php b/php-sqlreview/sqladvisor_config.php index 0a2d11b..0dc88b4 100644 --- a/php-sqlreview/sqladvisor_config.php +++ b/php-sqlreview/sqladvisor_config.php @@ -1,13 +1,13 @@ - + diff --git a/php-sqlreview/stat/db.php b/php-sqlreview/stat/db.php index fcabda3..727b4fd 100644 --- a/php-sqlreview/stat/db.php +++ b/php-sqlreview/stat/db.php @@ -1,25 +1,25 @@ -ops_db = $row['ops_db']; - $user->count = $row['count']; - $array[]=$user; - } - $data=json_encode($array); - // echo "{".'"user"'.":".$data."}"; - echo $data; -?> +ops_db = $row['ops_db']; + $user->count = $row['count']; + $array[]=$user; + } + $data=json_encode($array); + // echo "{".'"user"'.":".$data."}"; + echo $data; +?> diff --git a/php-sqlreview/update_status.php b/php-sqlreview/update_status.php index 7e90f5a..0defd8a 100644 --- a/php-sqlreview/update_status.php +++ b/php-sqlreview/update_status.php @@ -1,25 +1,25 @@ -"; - header("location:wait_order.php"); - } - } -} -?> +"; + header("location:wait_order.php"); + } + } +} +?> diff --git a/php-sqlreview/wait_order.php b/php-sqlreview/wait_order.php index b34196a..75411fd 100644 --- a/php-sqlreview/wait_order.php +++ b/php-sqlreview/wait_order.php @@ -1,128 +1,128 @@ - - - -ݿ߹ѯ - - - -"; - //echo ''; - exit; - } - - $mysql_server_name='localhost'; - $mysql_username='root'; - $mysql_password='111111'; - $mysql_database='sql_db'; - -$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting"); -mysql_query("set names 'utf8'"); -mysql_select_db($mysql_database); - -$perNumber=50; //ÿҳʾļ¼ -$page=$_GET['page']; //õǰҳֵ -$count=mysql_query("select count(*) from sql_order_wait"); //ü¼ -$rs=mysql_fetch_array($count); -$totalNumber=$rs[0]; -$totalPage=ceil($totalNumber/$perNumber); //ҳ -/*if (!isset($page)) { - $page=1; -} //ûֵ,ֵ1 */ - -if (empty($page)) { - $page=1; -} //ûֵ,ֵ1 - -$startCount=($page-1)*$perNumber; //ҳʼ,ݴ˷ʼļ¼ - -$sql1 = "select user from login_user where user = '${login_user}' and privilege = 1"; -$result1 = mysql_query($sql1,$conn); -if (mysql_num_rows($result1) > 0) { - echo "HiԱȴ
"; - $sql ="select a.* from sql_order_wait a"; -} -else{ - $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; -} -$result = mysql_query($sql,$conn); - -echo "

ݿ߹ѯ

"; -echo "
"; - -echo ""; -echo " - - - - - - - - "; -while($row = mysql_fetch_array($result)) -{ -$status = $row['status']?"":""; -$exec_status = $row['status']; -$exec_finish_status = $row['finish_status']; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -echo ""; -if($prvi==1){ - if($exec_status==0){ - echo ""; - } - if($exec_status==1){ - echo ""; - } - if($exec_status==2){ - echo ""; - } -} -else{ - echo ""; -} -####################################################### -if($exec_finish_status==1){ - echo ""; -} -else if($exec_finish_status==2){ - echo ""; -} -else{ - echo ""; - //echo ""; -} -echo ""; -} -echo "
ݿʱSQL
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}
{$row['ops_content']}
$status
$status
- ˣ
{$row['approver']}
ͨ
- ˣ
{$row['approver']}
ȴִйִûִг
"; - -if ($page != 1) { //ҳ1 -?> -һҳ - - - -һҳ - - - - + + + +数据库上线工单查询 + + + +"; + //echo ''; + exit; + } + +$mysql_server_name='localhost'; +$mysql_username='root'; +$mysql_password='111111'; +$mysql_database='sql_db'; + +$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting"); +mysql_query("set names 'utf8'"); +mysql_select_db($mysql_database); + +$perNumber=50; //每页显示的记录数 +$page=$_GET['page']; //获得当前的页面值 +$count=mysql_query("select count(*) from sql_order_wait"); //获得记录总数 +$rs=mysql_fetch_array($count); +$totalNumber=$rs[0]; +$totalPage=ceil($totalNumber/$perNumber); //计算出总页数 +/*if (!isset($page)) { + $page=1; +} //如果没有值,则赋值1 */ + +if (empty($page)) { + $page=1; +} //如果没有值,则赋值1 + +$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录 + +$sql1 = "select user from login_user where user = '${login_user}' and privilege = 1"; +$result1 = mysql_query($sql1,$conn); +if (mysql_num_rows($result1) > 0) { + echo "Hi,管理员,等待你审批工单。
"; + $sql ="select a.* from sql_order_wait a"; +} +else{ + $sql ="select a.* from sql_order_wait a join login_user b on a.ops_name = b.user where a.ops_name = '${login_user}'"; +} +$result = mysql_query($sql,$conn); + +echo "

数据库上线工单查询

"; +echo "
"; + +echo ""; +echo " + + + + + + + + "; +while($row = mysql_fetch_array($result)) +{ +$status = $row['status']?"已审批":"待审批"; +$exec_status = $row['status']; +$exec_finish_status = $row['finish_status']; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +if($prvi==1){ + if($exec_status==0){ + echo ""; + } + if($exec_status==1){ + echo ""; + } + if($exec_status==2){ + echo ""; + } +} +else{ + echo ""; +} +####################################################### +if($exec_finish_status==1){ + echo ""; +} +else if($exec_finish_status==2){ + echo ""; +} +else{ + echo ""; + //echo ""; +} +echo ""; +} +echo "
工单号申请人数据库名申请时间上线SQL审批结果操作
{$row['id']}{$row['ops_name']}{$row['ops_db']}{$row['ops_time']}
{$row['ops_content']}
$status
$status
+ 审批人:
{$row['approver']}
审批不通过
+ 审批人:
{$row['approver']}
等待审批中执行工单已执行完没审批不能执行自行撤销工单
"; + +if ($page != 1) { //页数不等于1 +?> +上一页 + + + +下一页 + + + +