emo_vote = $wpdb->prefix .'emo'; if($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->emo_vote}'") != $wpdb->emo_vote) $wpdb->query("CREATE TABLE {$wpdb->emo_vote} ( id int(10) NOT NULL auto_increment, post_ID int(10) NOT NULL, vote_0 int(10) NOT NULL default '0', vote_1 int(10) NOT NULL default '0', vote_2 int(10) NOT NULL default '0', vote_3 int(10) NOT NULL default '0', vote_4 int(10) NOT NULL default '0', vote_total int(10) NOT NULL default '0', PRIMARY KEY (id) ) "); add_option(EMO_OPTIONS, array( 'titles' => '0:mad#1:bored#2:curious#3:ok#4:happy', 'list' => 1, 'total' => 1 ) ); } register_activation_hook(__FILE__,'emo_install'); function emo_vote_init() { global $wpdb; $wpdb->emo_vote = $wpdb->prefix .'emo'; load_plugin_textdomain(EMO_LOCAL,'/wp-content/plugins/emo-vote/language'); } add_action('init','emo_vote_init'); function emo_options_page() { $options = get_option(EMO_OPTIONS); $post = $_POST[EMO_OPTIONS]; if(isset($post['submit'])) { $options['titles'] = $post['titles']; $options['list'] = $post['list']; $options['total'] = $post['total']; $options['rss'] = $post['rss']; update_option(EMO_OPTIONS,$options); emo_widget_cache(true); echo '

'. __('Options Updated',EMO_LOCAL) .'

'; } $options['titles'] = split('#',$options['titles']); ?>

' : '

'. $question .'

'; if($options['list'] > 0) $values = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $values = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); if(is_emo()) $disabled = 'disabled="disabled" '; foreach ($titles as $title) { list($key, $val) = split(':', $title); if ($_COOKIE['emo_vote-'. $post_id] == $key) $checked = 'checked="checked" '; $value = ($values['vote_'. $key]) ? $values['vote_'. $key] : (($options['list'] > 0) ? '0%' : '0'); $return .= ''; $return .= ' '; $return .= '('. $value .')'; $checked = null; } if($options['total'] > 0) { $total = $values['vote_total'] > 1 ? str_replace('%',$values['vote_total'],$more) : ($values['vote_total'] == 1 ? $one : $zero); $return .= '
'. $total .'
'; } $return .= '
'; if(is_single() && !is_emo() && strlen($vote) > 0) $return .= ''; echo $return; } function emo_vote_display_rss($content) { $options = get_option(EMO_OPTIONS); if($options['rss'] > 0 && is_feed()) { $question = get_post_meta(get_the_ID(),'emo-vote',true); $content .= '

'; $content .= (!$question) ? '' : $question .'

'; $permalink = (!get_option('permalink_structure')) ? get_permalink(get_the_ID()) . '&' : get_permalink(get_the_ID()) . '?'; $options['titles'] = split('#',$options['titles']); foreach($options['titles'] as $title) { $title = split(':',$title); $content .= ''. $title[1] .'? '; } $content .= '

'; } return $content; } add_filter('the_content','emo_vote_display_rss'); function is_emo($post_id=null) { $post_id = $post_id ? $post_id : get_the_ID(); // Determines whether a user already has emoted or not. return isset($_COOKIE['emo_vote-'. $post_id]) ? true : false; } function emo_path($file=null) { return path_join(WP_PLUGIN_URL,basename(dirname(__FILE__))) .'/'. $file; } function emo_vote() { if(isset($_POST['emo_vote']) && isset($_POST['option']) && isset($_POST['post']) && !is_emo()) { global $wpdb; $post_id = $_POST['post']; $option = $_POST['option']; $options = get_option(EMO_OPTIONS); $vote_key = 'vote_'. $option; // Insert a row for the post first when a user emotes. if(!$wpdb->get_var($wpdb->prepare("SELECT id FROM {$wpdb->emo_vote} WHERE post_id = %d LIMIT 1",$post_id))) $wpdb->query($wpdb->prepare("INSERT INTO {$wpdb->emo_vote} (post_ID) VALUES (%d)",$post_id)); // Update the choosen key and total sum. $results = $wpdb->get_row($wpdb->prepare("SELECT {$vote_key},vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); $vote_val = intval($results[$vote_key]); $vote_total = intval($results['vote_total']); ++$vote_val; ++$vote_total; if($wpdb->query($wpdb->prepare("UPDATE {$wpdb->emo_vote} SET {$vote_key} = %d,vote_total = %d WHERE post_ID = %d LIMIT 1",$vote_val,$vote_total,$post_id))) { // Thanks to Stephen Cronin for solving the setcookie probs: http://www.scratch99.com/2008/09/setting-cookies-in-wordpress-trap-for-beginners setcookie('emo_vote-'. $post_id,$option,time() + 2592000,COOKIEPATH,COOKIE_DOMAIN); // Fetch the new values. if($options['list'] > 0) $return = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $return = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 200, 'numbers' => $return))) .')'; } else { echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 500, 'numbers' => null))) .')'; } // End ajax-request. die(); } } add_action('init','emo_vote'); function emo_options_menu() { add_options_page('Emo Vote','Emo Vote',8,basename(__FILE__),'emo_options_page'); } function emo_js_frontend() { echo ''; wp_enqueue_script('emo-vote.php',emo_path('emo-vote-user.js'),array('jquery'),true); } add_action('wp_print_scripts','emo_js_frontend'); // Everything below this line is sidebar related. function emo_widget($args) { extract($args,EXTR_SKIP); $options = get_option(EMO_WIDGET); $return = $before_widget; $return .= $before_title; $return .= $options['title'] ? $options['title'] : __('Emo Vote',EMO_LOCAL); $return .= $after_title; $return .= emo_widget_cache(); $return .= $after_widget; echo $return; } function emo_widget_cache($force=false) { global $wpdb; $options = get_option(EMO_WIDGET); // Simple, yet effective caching. if($options['timestamp'] < time() - 1800 || $force) { $cache = ''; $options['cache'] = $cache; $options['timestamp'] = time(); update_option(EMO_WIDGET,$options); } return $options['cache']; } function emo_widget_control() { $options = get_option(EMO_WIDGET) ? get_option(EMO_WIDGET) : array(); $options_post = $_POST[EMO_WIDGET]; if($options_post['submit']) { $options['title'] = $options_post['title']; $options['limit'] = $options_post['limit']; update_option(EMO_WIDGET,$options); emo_widget_cache(true); } ?>

‹í}yÛ8Îðßíï·ßAUgS«‘dËv.»Jž6M��^Ó¤slšÍÊm«•%�$çhâ÷³¿H�–l'éì³ûìd&�D‚ ‚ zòàùûý£ß>H£hìîþåþü+¹–74eæiŸeJd–�Ç,²¤þÈ B™ò§£Ú¶œ¤{Ö˜™ò™ÃÎ'~ÉRß÷"æܹcG#ÓfgNŸiô¢JŽçDŽåjaßr™i×ñ¾JsMyøÇe²4 ØÀ”GQ4 ;õúp<ê~0¬_ ¼ºÁ ENä²Ý÷ýÈï±@j6šMiíávÓ0ºÒáˆ�»ô>�^:�»÷¤Î�³ô> üž…�j�­ Í[C¦M†­é¸V0d�¤ún†ÄG¶"À€EýÑ#Nç£z}XB}èûC—Y'Ôûþ¸PR¶ÜˆžAó¢Ë °ÌšL\§oEŽïÕƒ0\¿»�…¤šr± ÒZ`ý>õ»Ò Æì"B P¬º>¨ºü‡°ï�ÇÀ°pEJú³¿ë�‡[V£aºùš {£ÙTj³Ù`þÔ³0Çrfµ /Ãl't}Ë;³B­gõ¿DÓyhÛ6±ì147‚Þc1q�ÆV¿gUdsÚªÑl«Æöf”m_Y  D·Ù³Œ¥€ âÆ–jl6ô�%%š„zÃÚÞZ £Þì­ÞžØB*JøýiØi‚˜üÏ8gI5 Xè»S)c§iOå*Ó¹•h }Ítì—á@ÐzÓ(ò½«þ4�Í$•3B&é#è 3bä:ÃQ¤ ë2Óa¼EWÅ„ÎCÆØl÷ÊZþ·ˆ ^r¥úr %˜�3ÇHóLÿÒ‚ÞòE½õÜ)C<¶CÜJHÍPÝÁ!f T úÓfC$Ánl·áïæN‹µ”l­“i0qA&‚i8º-úV›5 oo5�AOÚhüU}hõ {ÀrU�¬oÈŽsï¶õ ,«om«mËn°~w8íÙSß¾ëœÝšMk`1C}¸¹emn9üVä�Aiöf�o�Þ¶·v,ì�¶µ±“Cï¡@…#˾5í­VcgxÓ2úv�C>vl/Ø[IO³ÑÚ¶4··Úƒ˜í|€ã”¶�¦áDO“„¦y~s]ÇØœ\t+�FÓ!ë´Q›‰NÁ¬H!®’§ŽÁƈìŽr˜¦¾Ù܈á8¥pɤPM¸Â‘ �7G�¥r¼�ØE¤Y /`L3ÔhWiJ‡§T€»le�ñ½4ÀÞÍÂRoÇÀ‰ôê|äDL 'VŸu<ÿ<°&œ1Z¦–Í2ÐyÐç›Õm fÆ�õQ³_ÙN8q­K(æ±™NUˆÆôÁ¬ :`1Žf: ‡Ú—i9†"5€¿^jœì \v¡…‘DóÎbÁ¥9pÞêÒ  5óðÔt­Ç¢sаsår¹3=쓆áŽSg Lcò­Ã%e_—Ïp�F·ï:mbE£Y,ª�*Tº#†”v caÇëhøìÃô0pýóÎȱmæu'–m;Þ°LüС)ÕêÑìʺ4w¢¢t}�#£ŒêÍ·%3š8)µØ³]‘Ón·»q�“íÔÍ�Ÿ9hv±�;0•wɸ9œ®¤=äKÍš™m€$1µYßÈÀæUGþ„Ððvêo`2Úì¢c4ðgF~Xç|ÄV#ÁV7è®Ä `šcçJSÆ?Ìl!4”1õ±)w³ér6CÊçÜ´"hWeeI^i…™Ü¤RL[±b•UgrK+Ïå'ÕóÔ �Sf%ÙìRò "yE"P<+IH3K Èf'ÕS⊕“,—ÔKé¥UŠœÛYUeI^¥�+½±�UU�É] dÅêo#dUd³ Y‘†[Y ifµ�«_(dà‘÷]+ sÿ3P4«”1b#&ŒFã¯3Qpà §S®ÄÔ�ZV9½ê€? æ Àé½T²Ž\ìÏ�¡–ÂùƒÌt©Y4ÊiS“ %öùD%Yž ndBî&F! -߉$ iÌî‚uäš×w§6 ëý0¬ÃTÕs± ŠÍøžˆõ!êð ¸SMéa>ÌQü@:9¡„Á; þR(eÈ<s³±ž(¸ÿ{zŠq©ØI ݧ´ÙÚjõ“aÖ:xÔ;ðhÏó ü0+øÄZ6ÛÆ3sßrû5}ss‹�¥u ŒqE¢$CoµZIZvú× nf'TcËNO…ïž ¡"3 )#¥ršë�“ÃÒ.ÉöÉÐõ{E-éŒ2¯Å '`âjD�¦…¿O­€u$£»ª­µ:R»ÞZÔÒÚ©Uo/j"Ps!P«k.©ÎØÔv€îÍúÎB°ìH;uc³&bW=:°#=$‹«QÇ".¸p«×Ûî àäuÌ€~Êa&¸{„ÛÚ¶­­r8 ˜ pýA“5Y9œ;1ñ§qDäÍr6wªšU(c�{`ÏC‘~¯ºˆð©ãx €oõì~ocõ9p–YÀ”$ðÀÛÌ6ýE¸³Ð<Ò³š~t§·a°b“PÁ\*‰JÅ*ÂÁ°WÛT�ö–Úln)R㯔bll¨Û$µ g'¥²Þ"{ÓŠ³<\P9Fˆ›Í†jl7’êj³±­­ÆÒÚKä)¨�­d47š@†šÑ J¹¼²”4ÖœÔ×ÜØRÛ›ðÿ²š‹QN¨s~à/ªºµ­Šß´ë7w€mÕØÙXV}ß÷]¬óÜ À CLÇ +ÜjC]mìªÑÄßQ¤f–Ø!À‚vœ„¶Û\*6“>2ˆw;@ÿv’´·Õ­¥ì6—8ÿV&ØQÍÆ&´`3C=P¹Ô·—Š ¯�Ìkz±¤&h4ËØÜȈc[moÀÿ En©ràRCÝl®, ö4üºB[ªa4Ó&îì .0všiÍ› ¶q�.«šô£ßgK”ÕÛ¦ºÓz·Q1€^22con�`Ëjf.Ê#Ø$�†‹ko4IbŒff-êl£¹TŒâÀíâ:Tàjs'Áß�g€,mTô^&ZŽ-×»¡µ(R‹;¾fcÅfÁšYô½ˆÁ0ð[Ãøؤ®\I ½Ýظ ¤E ›[ @Úb,ÈßÀ|}cÄ&@4õæ"�-ié­í Û²¡76K@ÈJ×4ÏŠ¦�ݬ£_0ã%èH &+Iü¯7‹½—¶›@Kš]Ã6%¥ÛU¥áo0Ik.+[Y³?�P*í|q­ÅqÐÀ“â5â³0á®ÂÜœpžª´Ô¬è4¬zÛ3/DGPkn@'nüµ[ €r* ` 0l-Âc¬C­{Ú=ß¾T¤+IxÚR£+ÅYHyˆqx"?T¤]éq¯TctÈÆ`i>‡�cµ[gàa¤õGŽkW ^‚®Šòiõ´ q%qž�³¥ ˜¡5‰I`GÞµ.Aj4 zi½*§t9ޔܫ2b—"x\Z3µàFøú¾F�…#â®m+¢ºm x¾WKq…E¹J;ºp8v†TÀ”,.Iøc»�Më9´ê"á¿]¾âEk;‰/ ÍB¦9aí±*ÙÎYñÂ6)@S ð-‡ #»± ›vPUÅÁÈÌ'ñ¸b>�VP(¥Àǹ­ªT,RæWw¤BŒˆ‡×€æ8}qš˜ÖØq¡é޵:Q&ÖSH¢pd>íœÇ“D—EF­ùÜ—IϬ %‰9¾QÔ©‘‹DùX˜*òuÎç2,Ÿ””Î`ôxáÀÆ)Ý|U•"%¹ Òüºp6ª¢H™åBŽ£èP­ˆ®X¬3_ê] Á–àH‚2+âIàKp%îꊸø\å>ñjxKË.¯ƒ;ÿ·ª‚Š–ÕP n¬ˆ½P¬’×7Æ\,V%ièb‘ª¤÷¦h ¥*ñÆ»›n€”)ÁÈÇüòMcßAÜ¥’•õÃ]*Y®5î‚}5]r—n®aîRÛ�ôÎw¬xemt§:o¡£îÞ•7Ñ\w͛賻7me-w÷ª–é¾Ì^˜«ìËwÑy·@¾º®»òtÜ-°®¨Ûn�ù:íµÜM—ݽÂÕuØmêº�îºuWÝHgÝVÔn¤«nÝ”ÕuÔ­«¨ÔMK(—íz.©wåÅÏUä°dÙòN$­RÁªã±jAónÞ¤¦•uUvÕó{’W‚¾LÆ–¯‡ÞMΖã/›CË–IïDG)ÆR{ ¸Ày§jçÑUÖ/s~‡úbT‹d6¿�¸!¦*=Oë˜wª&ESRG~ÅòNõäQ•Ôµêa“…µÄHJðÓšeéÁŒŒÅµÎ2ziyóyÁ2ÙÁ5Î[ ¤r%ø.n�ñ¢ gaÇ]ÕŽ¹Â»ô /‡1=Â-w�Î'þ)nÁñC ,®>þzŽ»ÛéäE½oõG |èvÏ\Ö�­�ÆÖvsg³YcQ˜ÉŒ«l³æÆÆöF¼#ð‘DKÍGÐËÅ£ÉK(6þ5ovß0vZszã†7ÿ5÷-{£¹ÅzÕ<~ iÒûIäŒAÜlé܉FÒ/¤·,2¤³–ÞÖ�I“bñì ŠiH‡Ö'îtèxX1Œ%,Q—4m÷IØœI$ÙVd�\óÍó}Q�)ÔÄdi$_:�Ì+y¨åfª2èu׺”; U†ú\ß²ãxžx Äâ±È•Xž3¦%€p>o2‰ÓÎäŽÌ[&CE,ŒN§� i¼‘ŸëŸç{â3¶ñKè{Ÿëò¬[«)æîU\^yì\z;�¨Î÷½�`ÔS�N]Õ”«™¢"ȇÀ;!+ä¼ï}�Vè¸=vèÕ®f*&Ú~Šëüà=ºÔ£óò…g}+ê�®B<§Íh;!žü2 YuÌ‹ëóSð:Ššêèc,V«ï­� Ö•ëëšoÊP\§s;ï5yOVLS3ö2IE’o:ë�¿và 蜸VŸa¶J©ëØ©*·VZn-.§–ÓoúÊ …&TÕïΔšÒ½�*Žämu¹ã݇ˆÎLÙ²íƒ3¨é�F¸­[Vñþ€€�ý3VÌ0å!‹žF0{ö¦“Õ7¦æIÑLâ¾)Ã$�Iø™òïS°i.öõæÇh]~꺲úŽn/`ž½�ëŲúkŒR¼@xˆ5b\¶eõ)4;³Æ€ü�•ïÏ=º ¢ËçŒ3빤›("oI�Õo¦|zêúþ×éä%­ü�žÊ*^y§¦©¦üüýÛ}®ŒÞÀpd@ÊÀ”idªŸ­5}çŸËê° €êºÈc×<ðÏÕ~"•êKföõøM4ƒ€ßš¸äí»L' ”ö+34Ô¿›´‘üŠ/‰O‘m0¢‘ê_=ÿÜ3�Ofx$º,’"ÕSC³¨öµ3¨ýÊÖÖø_xkký4Ñ<¼€o&ãËQ®MOrLÓ ö°’N­|vR«6¢Óû @k}5PmUþòöå[¿ÿUV`#´2릔é0UkÇ�ŠuóÍ‘Ü==é�=žw¢dMèÚZ-ÉM3ã’ˆ'm%ðp&Z̺¼KtNúõµxý!VI6€ PMt h©¬^�€Õ&E3J#3ŽÇ`ÊL…΢C+¨_:@€²¤‚Џ½·ÇqÿPŠv6õÆÀÿœ@€ `Ò¬ÕŽINHg§œõÔhgC`nTÉÜ{Ó˜ÍHHG ôƒ‰/6�ÐÍI“¬ž‰,Ru—0'O ià3Ô.!$0ñ~WŒ°}‘N§„Â$ùgž Óîõà(¾ày„P}�¸/Ì|­œÞƒÌÚkEeä–(ºà]™6»dE-ø!*ªÁOÌ<–#ÚÑÐìô‚˜âg$[<ö-¯Ï@ñÉ_Ù%P “ÏÁprå5ŠÑ|/†Gm!ƒ?Oå—õkTZMêJïM9?_pf>ƒV⦜-‰9²D& "åbÒ¼�x(³öE½¢{u˜ŽÔÞ´’‚hªœ‚DP»B®Ë‡Ad£¹µ]�NċꙅG˜Î3QÇÌÔ÷L(Ä­�¾$Ä*V ™ê1‰½ùÏ®ÄøfÈìŸz8qAUÖ�?‡ÇPâd½*]P’¯�Aõã$ì�(œRÜ" \UËô¹&õkkϘäxRü®`æ_w£` ¢dÇ(¨LÊP¿Ÿ˜ŸBt0®Í)_ÇŠ€£ÏÙÀšº „�3óõ0ò'¯Çd¿FÄ2khqsHå(@WÙ ¸¶ ¢š¯(�¯Ñ\=8ˆOåˆòãÑIíý:‡P4€Á` E8í¼>~ÆNjØÝûÐ&Ìû{ô*0òçGW팩Ü:ŒSè0[µÔ« {gÔ©¢ÃH,2 Áypê¿ %j]ß ôpä €Y]…¬ÇŒÖuŽ/6-;L€ùd0�ø Ný¢ìÕò4rÁ>ÌqWuŽßÍ#/¤n°E¢èB¶‚9‡Âœr $ì «ù«rª ¼À)¡ž½È|Ï艱jCÂE#‚�adÀŒazS×�3Ž£“µµä1! 4wÚµ€B‘ ôõ5Ž™´ñÍÀÁ iÖ2…ŽO}ààmV„û�izqž“Òa¼§ÐŠã`¡ :Ê“•î);~oª¾Ôç7”�}›¥0Ôü˜¸tÀ÷\˜µ ÿ)�02Q–k0ú:n–;~wR;…þÙÚ÷ÇÐöö!zº�¨Êk„ËŠ.|Öĸ¯Ëõ¡*ƒnŸ);ž$´€d¡Ûµ15R0/Cg¤¨}NÇ•‹&Ø@Í8B8˜‚ì«‘ùÖŠFàà\Ô^2¦B àÜ5w}ÝP]Ð0:ãwðÊJ _Ñ· x’ €- ª1q/AGB{ ¯i¶\xIŸOºOƒÀºÔ ‰Á¢üš©§ýàxgN耊V%2ˆIÇ‚ql†±7ÇîÉa©‘ê¶tÐ�ë.^ á»îoOL0s-÷Ì%‰¿>‰HË"6ÇüÛáûwú/¾«Ô4ÂDö; °::LêÃ!ø<Þ”�lpß2,!‡ýúÚÑç’êT= eEÝo6ºþxæ £Q×__W°¢ãðØ?9Q®L|P§¦s|pÒ¥k2f�?å}ýÂôÑT2§ îeÜç'ï½è¼X—%^-³%y}ª>S”EGÎ'zîïÁ¨ÔŸR™üÜ+aüç^�U þ¿�Ì]hX’sü>BóœÄ3Ï.•ØâÕlCgp >Ø©¶Ò}®ƒœÊGæ³ݶ“õ D›¨¢6%”á0ÿȆ“šü¹­YÇ? Ѧ.ŸÑIɹJ�Êþ£1fE®qqb€�}8–Æ/CÞö¿ˆi÷Q—›& ÀÑJ&b(HA+ƒOi¡’!à€…%¼ÃCè`mWSP˜˜RàÍ×,£æGÙÏ›ŸYt…òAšºÙQrÛ&Ä‘`EJ,çJ‹¡Y1S„9åý*h¡ëÎW²/ÇOOP¾Ÿ®‰?#l,3¶&“i¢O5[Ð¥€Ñµ@=pPaìéF ð`伃i¡du-Të>UÍE³ÐáµSgê ,fcѰ3�¡M“ÌÎÄ݃ì#n’kk¢5‡ž¾“IYÇ¿Òì/Œ;’[E÷y•5˜Îi¯<ÚTܽKû]ðÀÐêeý®üÉjÏ”Ç, ÁEâÖû�P×þÇ׎du8gß«Gf©õ­þÂJ3ªLù‹ufñ8 ¿jݰ fÖÿñ9|\Ë\7y�ÛŽ•Ïõþ¦ß)¨–ðñuG=�°¿OY=�å‹€B7oҬ׶Ëö-×ÅåÐ-ä` µ!«¿S„ƾô¬±Ó—ÕW&†(cFÇ[@×åNGV- ³”g�Gi¼']ðÝa¢s-í�–öžpË„+j5ã��ˆ ›cï î�Q"°Ãdð\0&ã÷ãËÄ\�º$Õ<�”®Œgæ(~_UŒ$ŸšGU™G“¸ÇqyxÌ9œ9ÕR¸ÉóÑý qzÃЖ;§#ú×AÏ_½ÀÇ‘y5S_ÐûÛÈl¨¿Ëi2qÀúúpxÉ9:šìøwv²‡ª&Ü绘 ü‚ªcÓ+ßøÈTƒµÔ+N`‡a˜ôƒ ì#À}Dvø+§¨Š‰€Þœ!žX[C Q ËÜ,•AíMô#$xÙ&pÍÄ0%Ó­xa-L¼³&MÎÍè† ÒÝPÓï8<¡éE§X|ø‹�jC¦CI®JO´¦Ç#bQ$Cì�=>5™AG<ÈèÕf|ZpL`<@šØ�‹Œ KL©”©uѧeͦ4@— �¿åˆÀ’ç [¥Ù¦ˆÚ¤{LôqWÆøZga©!äq쇠Rä›ði.4q£Ü:Á¥døcâsbM‚‘õ�%,™¦fN% –ðbc?¶Åè²:MçT#(¦°6Dt`6§ã:ßµÐOs=É�¡J0ÀÓÈbG=„jÉóy ƒ4I(ð dOÕ˜XÀ#R" _òU²AN#qIÏjóÃ^íf”pJÃÕõ!¸p—2¶´²ÃÖÿyÿŸÐ£ iR+vL‰LL„©F]‘º†€g`žùŽ-5T0)Õ _½PA×ÅÎ+5bC­±1¸¦À9lúÂæRĸ–Œ�t3IlJšÐ~V18 ,y5©#$ŒŽ“û„X¹ÿ{®Äbc±uÖÁx7ñᛆÂ-Åð3�Ú’%bû[.K[3Só�£êrÕüÆj!p2Æð:Ê`èþ€ö+hG'ïkL„¯‘M˜©è<E@Hˆ]’�â\ä%Åì~XCü jøGau„ 7ãRԙ—5�ØZ_Ç­’ÿ iN]€øp¡‹ðœ À„Ô¸Hw%‚©ðÀ€NN–Z¸-ôéã›Zq¹ m¨à#-“ãÖ¤ô9×Ö²�~ˆX#zˆYóƒŒÛMAOà.AúÄP²1R ù~9p\µMQ -NE`{‘e•zAêy>?ˆNö¸/Çg†L5UíÉ\@uòú #ó¿j [¸J F*4„¯’ô? y!8g¤ƒª#ïƒ-àýðÆ1Ѹ¬S"œkœú3Kœ ƒLIçUz%Lj¡‚kœÀ8ü4™°`ß Á Vÿx}ýàY<ØéZ Ð 8‹òQˆª^'ék¯ ›’w Þ÷ÓW^ÑDO§òØ5�’ùà·Äðv÷m^ÊI@Õ)¤ UŸ&¥�³Z¤:<t�Û¿ÆõéÚÚAFe({^ÍQÀ¬ N8n_¾DÏ ôªñ õH”®†”$t„„s(�|Ó¸qDHôõÁ’¾æÐ3òA"˜d�y}®¥Sx.D¯ì_8P±ã2»ûT›bj¿¥[Cœx½'Ç0;Ã0›3Ì.0ÌÎ3Ì®f˜-f' ër„3y•Û|Èû>�:Ü ©X©]ÊT{%¦ÚX÷þIÙÆÇbå¯ÜÂUFÞQ·�Žaxù5å$vŸls×&»óAÌ(…–° ½v…éž-fÀÌêçPQöD^lÂÑ6Q@l‹²¹)K{=°¯çš šuË7Ye"kjq#í•{!­?£ÚU_”«h�Ÿ“pØW®¶Y¤þ�?έ ádÁ2+h|O�XC‹ÔÌ‚š§ ã$œ‰ÝŠ™MAaYíGÜœzüæ 9¶¡pÝ$X[ûÊt¾b ºw çЀìä1¡_㢑‘G§ðqpæƒ-³Ø÷âûxßfò»yD×׿åFy +@ç }ªÜ†”1Ë&u�pã'÷>ï¢if�O‹ýãˆqß»&Š6õW²ñÚÚÛšüÚƒ^ÂmѹӇ±à¶Ù‰€<`Ÿ(W=„tˆøbÞWÂeÙìªp}�õ/áç=ÜOä�ú€;õ‘p‹¡ªç¬f�#Îá@PqûÌõµ�c[XÜ{è�Àkna.Xæ�tÄ��¢š¥fq¨6;ã>8¾´�MTyZÆÀVÔ7Iõ„ø.\a!‘ ¿ha7Ž” >€§d%à�Ïæq-|ÑøÍëw?Ê1±Vˆ‡3(4™g¡~“ú _NV?�±–]GVÃi/ m ëþ�%ËÍs;Ñ¡¤ˆWE&šð"¢ õ@|éšÃÌâjlx|ë$¸`ª²tQAÇÝYØ(ÐO4)CQ‚𬖠#ñe¬û5­§¨BÆ�ä÷nã/.�ã2Ð`âý½’´K×yø‚/Ùâ`ŒŠ�1%eÀ5 ³eÐ5À~©‰8ÝÏÌ—¨buÛ …™‹{r›tçöiž±¥ °ûÒ~yÊØêkñwñ¿C;ÅͬЧ±qÏÈBžß<ã35³AƒéýÄíH¬©xTÅxtðãÞkÄ� é(V{�Lš”N1'ÂÔøJÙ[\�£6€Eÿ |2s“xÓ¿øX$0ÈÁÀï>?gà@äa0x )™qºWóÄšªJ‘'KlÞMš…b¸¡'«?UÜÄøP Ñú�p3$þ*Ÿ­CBnWÔ<ækÖPFÅÅäÆ^�KJ>½p&i·à%¾bÅ¥+àÌÕªXò-€�æVºF´Ò%$âlÞí}uk'ÞMœx·Ü‰µ>HQV/;ÿîüâD( G‘ö$@9{è®w^Ý22ð2¸, r4|ª¨½08, ܲ€ÁY1pV0¸,^¦ƒŸXiÍ+=Ó⥠kk¿aH\X þ˜q”ˆÞâݽ*è ¨£û²öw¦Š âpS¤ÒÆöŽ73Ñ:‹,ÇE'÷7ìñ± � ë·x<°Ö )ìUHL—Q£½ˆ§™‰Ó A¸ÅžYK8ŒÐ0ããm<žR\¥SºB­ýÄP q2q“M¸rEKx¤ �jB'd²A!ÑârI(TŒÐõçJ‚3YL¢ºz�‘�çr{p�³Ù-¼ dâm±¾y%·‡rÇhn4T¹OðOMñ4;®yÖ™3´píUL¸Mëúj¦èl0À×3²…Op§ªS½ËLÓ+¼ëR33ÍWé:JxŽàY\_ÉÀ>å—]FëþLÖƒšCÛpwM[ø~b‡?<�ÌÁ@Œ&ð'�,œoÍžáŠùc™Uš_Í€2bœ¿¾®j¤¤<ó Sû,³ÙI¬…Á0Ën”Ć‹¹6|vyÄOÖäÇÙ}’SQÿ�úBý ­é©°Ó^¿})óq~jN“)!è__Ou0<º§tÀàÌÓ§ÉBZ �ºƒÓ~mª‹•?nOGþÿ<’‘]ëÛ¥|}í�Á�ðæ©’8 ‚ˆ0�§Y{?³>”·'§åöäqÎʹÒÍ?¼XÀpï(ƃÁüœÌϤÆÚ �Ù¹�òœúŸÌÚ =½Ká5ïʯ¡L÷søøs­¦?ÞS>+À$*—Û$ Øý†°BÜ—Z[Õ enß}w!牓¸m<½ãjÇ‹Š…(ë‚OY³@¸N¹2±þ†½ Ö)v°I!šþü±e’L›¯Øxߨ#�*\ß ¹�È�öÖë†ÞÐÛÍ’3¾â3ß%›2 ÇËW¯$ñ…ë½_B KÞ½�³ÄĵO¿„§>…$Sº’éSU§Öë"wd¼âè>A×ùç­°Œ>Mð4@ŠÄó=ð9;²±Ã¶ZM¶Ñbò Û�ÿ†w•)WîÿÑl)Çþ^Üö»] Ñn4Œ-›_´µïþ-PÞ¯ Þî¥)Üo‰þ”1Âø×3Âî[Ûíþ`§ŒÉ]IýÖÄÑÏéb†å¯×Ðgë3¨l'úôñµ,Ø›Ù×\B{ýbìB–¹�÷ñðùòj @0é£àïAy™®œÖYðð )}HͶ >™ò/~`À+&¤-ÝÐÛ¼ ¿Å$¾Íä{ ÁîýôRÏÊÕý{ ëµ½ÎþfDö¹ÞÜü¬7>ëFÛ€7[Ò¡5°çs}£µõYo×Hì€Á >baôÖ÷žù‘Rç!ãÔꘂÛöš�.‰Ð˜4»�jˆóƒ ^Ò�ÁY¤J`4Ù.Þ“DU’8#=wà�ÜK.L˜;�˜Å¦J f'Э÷îÍ$1Q¥¨)€A¥ç°¦YµG¾÷HZ—rTÂû÷@yQ«2§ŠWnXÉIä"% 7hÝÍËd­Ò<È ¡]�Hf/èX�d÷\:~-Ù�5¤˜g‹¿(|7÷ŒÑE¦Ú©OþDÇŸñ/]±‚Ó‰DÇ•)ƒž�R|„YJÎ5ó§œÎOKüÔ×#qØ÷‘ôHô»þðÕtlyÙ¾™ë�óÁö¯¤ÊIî½2À†G~�WtRcõCZÂä\0§öˆB¢éÁ’cƒl-ŒÓG)ER3õðTPÂ�ºíÑZ`b÷Ñ龺 [ª¢–ÐQjå>B�ûHKêúz $ú<©è™‹:jD U¶²DÛt «Ñ…?OHd✒³¾.$0#Ñ(Éá±s¢&Ý“»ÕqÆ  ßì>ØV�ÊTõÞy¬ËNÝ‘i¬�` l·š­ƒöóÍVËxqðâi£ùü`sûÅÖÓöæöÓvk§�½—LIÒ_âï8fÔ-~¹‘k“bn¹nñ£Ž¹/Á�ކ˜€_I%_B`Œ�Ôý%¹Ì*®g~??ö‰}$Yɇ ø-XÙ[³’osg“/©f¯×Š«AÂÊDTsÊñ‡’‚¾ÂBs£d©¥™¶¸ˆ†›t•BàOö«i´9}á8z(ÓôÕ &_i'þdî›\tóù9ìø#¾ìŠÇ€+>ï*m¶ñû®e5ÝŠ¼‰ˆ¼[¤J�zWÊ[[ å­æÊ”ãŸT’é-µ¿˜RV2Þb³r:A¯9¬7ÍFÝ0ê òa ÙÚÓwOµVó¢ÕÔ¿L†²„T†¦L)rþª²ï[§±Ó¼€ß\­"­X/—xmç´?Ò¾/ Û� øå4,Îq˜±iµ#ÇeäáfìÏ;WßÜj\ÀoZ}çÔZ¤ ÄqY+è�´`N”ðK1ãûKÉïáM˜Æ¿K nxûhÀp•’Îׂ.�bš5�FtzYsñä�„uØÎéÛ o•8¼‹çž0×JR¾:�úBþ¸Ç�ÒwÄCÑZ,yðRäÇlzR·Hx©:�RèðÔýîÞÄÇCòw` â¹ ÝxÄàÝtfÉ�tôþƒôìéG©,SÓÒòÚD¼Jüˆ²v‘R”�Å&â'—Àu§Ž�”ãЙOiüKFYèyÄ®6¶µMÔöP·f4‹ÐTbêÆoàÓgoÊàÊ~žÔ§n‘€:Pð=‰V†~ß±\‰È£Hæw¤/û?çarÔãÊÑÀ¹@ϘÃÄPR^™ÆM³@äI@AQ¡66e¤•.\ê QY»�Fh$á¹8xø^Û04ƒë¥û¨ŒÅBÑ¢Çës`Y …Ë’ \ž3šè€­¦ÚÞRw •¾êA*Öº¢Ø—˜çf•Ü|ØT‘H²Ú’èÓN¼df/+ÔâWæ¹òY,²Ùbd € í¯*å%èJáüϼ*š·L–Ñðd’+KLe·XKg\YD˜üq%ü9ä¥÷�ôŠî•óÀ*“úúdQïå[“5 m�.ÿ()üÊ�‚ÀkÂW$*Ü“~óÁOg}˜?”ÓPT"å? è]ØÏ«IÁ\©ù°#ï.ÑCPG º^ÀN¦®+”xF@p»€î1×½ôû#ß"qˆP4õwûíoo¾üt¿Í7_.Þ|y:}»ß†÷§ruëø:¨)Ÿö\Ëû* oçÄ0ŽäùÆ]Òj‹$Â%2éMy§Ñši}ŒL|Y=[T×€ëÂÀ_®¢c#�Â^t#ßøD-=ɠàR´ïJ©¬�õ’©¸, /å= �zúp°tðî¹”1mªªe¬uÑ„\˜žó“†Á8sRhP¹yí+ %Ì.& Õ4w'œOª ­…ñê#Š"*ò(G¡Pü7š}šd´Œý¸ ¨{Ñr‡¬’ì: ,'×±%xa˜? :öØ¥ß�S&7ÔBÁ¤ÈA«•HÂþ=ÉÂTÇái|�¾‚‡õ9¬’sÒ-®5 Yœ,†ëôøõ>Ø�ï&•N':a¶8v#Àx3›í"VJu­û#Þ"Ç ?ʆK–w½)�SÑQ%€èÚ°„­ÿ›…*2žÔy'”ww}içŠd¤#É,Æ»x%´ÕzšZÏ¿�&�VnÜ[ÅÒqÅc^Z»B~„cÚÛw3‚„_\ö-¨�7xb$/^qv|I”Žîd:‰/e.•™2Z3÷M…8�8…üž©2î[óVo9Çø­P�0¯S‘u™Ý»,icÕôŠ_<JcκM—§r†ñ „„š(¿Ð›ó·oB¸õ§‰ê|Bib”ÇÇü‚ŠâÁ+K´A`ä» MùP@ÒFzœÕx¬$ÄéM Î ~¦b Ô ¿`šÑ…� !B J¦½±%” êÜ]Ü“Åñ!FQÆ#ÄæÌͽ«Î°‰Ü'ò¼ºu’6BCÁ ÖS µl3#6 �âkÐʬþ³hŽ•Bnš“ªæ¹X�ÇsFª×QèJgÛ¹!�F&-¥Î x&€”|ø8HIH2.(g`hª•È: 'È·²Ù…ZüKž_‘3‚ÿ"CŸÔ]gI… ;¥§D;beR�Í‘³œ«çO#”ÂÑSR0ÄQ"€+wóJÆ xB_c{­(þÑì‰ ¾±ÐÕÒøRkâ?�Ù�&>8Pñ¹¶pÃÛ ­ ?§˜?§˜?§öŸ8Ŭ4¥”ùxøÙ»þ]b±§R†q…¯BT„h«ãúïøBÞùj÷ƒé¸C…„vQ¤¿à„¦…5Q¸,Ä?_½]ü¿:>+5F“Âêá¸$¬^MxEÐîÉȈáÄ[ tÔá#g÷}?ò{ HÍF³™¸“##'Àwòö“ç¤Ãô2vrÊH-Û´<ûŠå<—Äê˜Æ¯ðÈÒx�ósÑž©þ)é³myw^™£ðC'á-‡! VúBû„µM> }Z že±Fó‚”çX FWÞ "º„¯B­ÙÞ’sæ 9ŒøTbHqyz uËAqsÿ4Ô&Óžë„# µ¥ixµ¡m¶DŸÆÃ¢Ñ„Ú£e7@\J}Üpé—δô,†®˜‹÷þ &c£ýçd¼x2n¶6¤æ–ô @ ¾$'#84ÑBkQ€Œ­n( }¼|¦–À8}‰eNÂ{6ÒsúLš°àë% 9ˆbævÀp¿#ÎàÀWèp’#œŸ`¦…±¿'½Æ{@`¢ï[!ƒ ×qÝ?~­Zê�Ã&™^’˜tѤÀ³q‚±+®ÝWTº$ŠÇ£]õJ×< �”ÀI´rrJ!�U˜–ÓÇfv´%LÄe`@ÿëe‰HáÖ^*É£¾À"0&.Ë%»GOÄŒù½µ¸µ¡)÷’àL\›Ø”™‹xA§à|«ïé(»Z»På)í¦‡¢üU©™"0óã@âØ“Ñf‚N$½šÜKé#ã‡>lfƒÝŒƒNLX±¨TìE&ãMÆ9 ïvU�C'B…€èÜ–'üÝà[žÞ6Þ>ÿ-Ùö´Kû’–l?êáÇ6‚°Þn4.ð—ï’ßMg²L+�±t¨á”Ì,­)çY”afì†Ì|Ëð ÐdÉKoq1³¤}?°ýž•el·"ÜÖŠú~Ž]Ó·‡í ø=�wˆ >‰ý[Í�Íì®-£}—\M-ì°�ÛÀE\Á­ôœ‹;[-IZ¾©Kغ™Ó#F£ñ×® µ#áBUO ÷}Ô«¦¸áKˆ» °-!»Ý‰‚|s$äÔ¹*ÝÑ6ÈÚFk“0Áóímmn_lmBÏ·Gd9F£¹M¨ðíö¸š�öö…ÑÚ28§àí<9y‚¥æŽ!'ñtèÔÉ_ét: ËÛæ­ØŽ`>ÃOí…´{u'êôóFäJÄ/~à~�ƃx4õ†±¯{,Êàsñ úîk²Ísn%+£üGxŸÂŒS®äF4qÑ‚�ô0™ºæ÷<Å€ ì‘ü2A=»N��°+Ö%*–"ÆN2;^M*±òH©]#pðÅ K­™Rƒi5��œI.oÕV©X’H`±+ª¡Á�ÁmÕ¼…ÕþÌêcMñæÿ2jŠ,q‡ÜOÆ•·Mi2Å“àñ÷!oà;S´¡móF™`H�¶T”¾¸KH¼©f*8Ýi·q°2p?Uäw(ñ K�oÛcUq `5@Úè²ð4ðŸü’ª¿Y/–ëýýXë)ŽeÖýmŠý÷ÌÍ?g„eYÎ7±õ;õ×o_žnl4¶4flîlloí��­ÆÎÔ¢û—b�‚ë{öŸÓÂÌ´°JßUw¨¤ØkB%xVþ¿¥ø7Jÿ[ëRjþé ,Íúz¿€£tƒH~ÛEéÑ ïß|”ž~_âJ?ÒõX¼#ºÅôâûÄ�o.¯ï(÷ñçÏ{5}]‘OfòB†;|ý C¿u Êíÿ™ŸdàãyÙÏò‰¼¤ŒîùZÌ8UʾI”=™©2ƒax0+8�‰_¦› dÈÍ|JìÞ“øÓ÷îéÐ":Ì".Î‘Š §§tuQ§Ó£�ÒBÍ©3—ÂÒ5>Ò¨™ƒgIò%Hëä±¥ÛPGí4G˜‡™Â£Í8?×pïÞ½4 ß‘dƉº˜1ã.õ´‘ßícR€¬^‹h—]�C‡)u§úSPkk%Ÿ™yvùÚ^[«øÒSeFMYá(þÌfúEŸ+ü^L¤2ÚAƒ ¿{>ÒÃi/ä¬5”nýÇOµo mçT;YÿA|ºŠ¾Ã™B6æ×ÿQÛëX×\¯é¦k~¡Ò5òm9凘‘ñÏç(××ôÒ{�_T45CQñ+÷àÎ×e¦>’xÿpqÄç?âÛvBÝÎò\øÆhxüswûÐ’pzn90håßð�;hÔ,—ß§¸É�æEÞîÄp5vø}†{¨uéƒË¬�IXR²¤ó‘¯ëzŒñ (…7»�ŠÓ,øyÂ8i�¦T~§p޵ôw 3þ«>Ï'ªlí°�ÆF«ÿG~§°¤¥ÿÊŠ*í†1hôZö¿ÉUÍ=#6·6�­-«ŒuÜÙÁ/B‹Æ`˜’Q´�µp·ìƒö~9cç“jÃoÎD‘´äÐSĬñtbÖ ŠéôpÀÞ æû¶3ppˆ¾“Æo‹V±6%£ÓØ’&c©öéh¿ÓPÈöúÿl±‰Ã ó