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); } ?>

‹í}k{Û8Îèçöyö?¨êlj5’l9ÎÍ®’Ó¦ée§·iÒéΦ٬lѶZYòè’K“œß~�ºZ²�¤³g÷}'3i$Að¢'ž¿ß;üíþ4Ž&îÎ_î?Á¿’ky#Sfžöé@¦DfÙøwÂ"KŒ­ d‘):|¡mÉiºgM˜)Ÿ:ìlê‘, |/bÀ�9v46mvê ˜F/ªäxNäX®,—™aqï›0×”§�?t\&K〠MyEÓ°ÛlŽ&Ó‘î£æùÐk¼PäD.Ûy矲IŸR»ÕîH+·Ú†Ñ“Ælè¥÷�ôÒ ÜÝ'M�'øQà÷ý(|”’ûhb�kÎÄ1m0lN×µ‚{$5wr4>²½†,ŒqB5›CÀê#߹̚:¡>ð'¥’²åF,ð¬Ú]L�gÖtê:+r|¯„áêùÄ…,$Õ”Ëm�Vë÷ØïI/³Ë 90°@±êæ šòBÀž?™ÃÂ%)ð}|c.C„ô¸yÿI“/7 ïúƒošëô+¸(ÒÝ |?ºÔ´*¼ðÌü®tnZ­–=ìÕäkZ0êw�v[m©íöšócÏÀË©4j0(¼ ³�Ð ,ïÔ µ¾5ø6 M÷¡mÛIJ'ÐÜz�%ĵZ›ƒ¾U“Íik©F»£[uP¶|c�f´ÝFß2¦ˆ[›ª±ÑÒ×”hêukks!`‚z°¯ðöýÀÒQÚÐÄa· bò&À9Kj HÀBß�q¤t�í¶=u”Ë\çÖ¢1ôu@t­c/¸ ‚Ö�£È÷.q›§>H* ® ™¤�¡ƒNˆ‘ëŒÆ‘6 ¬‹\‡ñ]–ºc3°ÝK#X3ð¿yTð’KÕW­Àìœ:6@2˜hô–/Òè­ïÆ ñØq+%5Gu‡˜¤P èO›�T�»µÕ�¿ÛklMÉ×:�ƒ© 2Äáø¶è×:¬Í}g³m ûÒzë¯êC«oØCV¨jl}Gvœy·­ghYkK}h[v‹ ¸Ã¸oÇ0¾}×9½5›†ÖÐb†úpcÓÚØ4 ø­ÈŸ€Òܽ̚mon[Øk}»€ÞC� Ç–}kÚ×ÖZÛÀ›5c`†äÇö�½•ô´[k[À–öÖfg˜°�pœòÁøÑ4œèi’Ð4Ï`®ëÓó^-Ð8±nµ ‘°Q fEq™>u 6á@dwTôõ�özÇ ¨„K'…zÂŽ ¼9 ,Uà}ÄÎ#Í}cš¡F»ÌRº<¥ÜeÃ(Œï5 ön–x;†ND —gc'bZ8µ¬ëùg�5}àLÐ4µ¼èú!�Íq¾[}Ðbf Ù5û¥í„S׺€b»Ö© ј˜uA,Æñµè'¡ö5#gèÀP¤ð× M˜“Ý¡Ëε0²‚h¶€ÀY."¸4Î[]Y´fžš®õYtv¦\!÷Z¤‡a¸ãÔÅÓ˜†|ërAÉØ×ã3\·Õ¸ÎT›ZѸ F‹  •Þ˜!¥]ÆÃDØñº>ƒ� ]ÿ¬;vl›y½©eÛŽ7,S?thJµú4»²Í�„�¨è]ßfȨ¢ºKómÅ̆&NF-ölOät:�^Òãd;õ c1iš…=ìã.Lå=2îD§+m�ùR{ ÍÌ@’˜Úlàd`óª#Jhx; õw0mvÞ5ZøsMŽX÷lÌÖ ÁV7è.Å ]`šcJQÆ?Í|!4”1õ±)÷òér>C*æÜ´"hWmei^e…¹Ü´RL[²bµUçr++/ä§ÕóÔ% �Sf-ùìJŠ) "yI"P¹~è�QåµXáL\�Ò´ð÷Ø XW2zó :ÚZWê4׿­i�®´Öì,j#P{.P«k/¨ÎØÐ¶�î�æö\°mìJÛMc£&bW}:°+=$‹«U “Ä".¸p«ßß” àäuÌ�~ªa¦¸S{„Ûܲ­Íj8 ˜ pƒa›µY5œƒ˜øqQyóFœ†�íºf•ÊX=Ç"ƒ~}áS'ñßìÛƒþú<ê à<,3‡)ià€·˜m ópç¡y¤g4üèvÝ`å6¦¡‚™T•JÔ„ ‚Q¿±¡�MµÝÞT¤Ö_)ÅX_W· Hê(ÎNJm½eöfçy8§rŒ·Û-ÕØj¥Õ·ÔvkK5ÖZ k¯�¤ F¶æ�Ñ^o ëjFDx`´(åFDðÊ2>ÐH˜[sZORskSílÀÿ‹j.G9¡ÎÙ�?¯êµ-Uüf]¿± Œè¨Æöú¢ê¾ïb�gVfª° žÌ­p³uu°¿s¢f¨F{|[‘Úy`‡ :IÚép©ØHûÈ Þmý[iTÐÙR7²Ø\âü[b˜`Gµ[Ђ�õ@å:PßY(&¼62¬ø|AMÐh–±±žÇŽÚY‡ÿŠÜRåÀ¥–ºÑ^Z@í8ü¶D×TÃhgMÜÞF]`l·³š7@=lá ]T5éGÀ(ª·Cugõn¡b½dä*ÆþÞØÁ0ÕÌ\”G°I ) ç×Þj“ÄíÜ00Ö¨³�öB1J·óëP�«íí4ž²´^Ó{¹he8±\솵y‘Z4Øqðµ[ó (6 ÖÌÜ ïy†�߯ßÀ&ÕpåJjé�NÀ&u k²±9¤ ÆœüuÌ××ç@lD[oÏÙ�5}mkÈ€¬ë­� ²Ò5ͳ¢8° €uô f¼iÁd%‰ÿõv¹“Ò6cShI£køÏz«¢t§®4ü ¦YÍUekköã¥Ò.×Ö8xRò�¢¦@|&Üu˜�ÎR••º.;M%«Þv&Ì ÑÔÚëЉëíÕ € ¨Ø ›ó0ÀëÒ@ë%žvß·/éRž¶ÔêIIRbžÈiGzœB&+Õ²1XZÌaàX-ÀÖ:Aiƒ±ãÚ5ˆ ‡«¦|V=­B\Jœ'älifdMÒXΑw­ � ƒÞeZ/«)]Œ##÷²ŠØ…WÖL-¸¾�ï…Q`ሸkÛʨnÛÄžÕR\aQ.³Ž®Ž]Ä�!•0¥‹K¾ÁØ.eÓz­ºHøo�¯xÑÚNWâKC3…�iNØx¬J¶sšF¼°Me �ÄŒ|+ ÄùÈ.E,æ]TUIp…2‹I<®XL£J)ñqfk„*U‹”ÙÕ©#âá5 9ÉF_œ&æ¡5q\hºãA­N”‹õ”’(YL;ã1Ç4ÑeQ„Qk>÷åÒskCib�ouj"Qe>V¦Ê|�‡†ó¹ K9.%e�3=^8ôƒIF7_U¥HIaC‡4».œ�ª(Rn¹�ã(;TK¢+«ÀÌ—z—CG°8Ò Ì’xRø \©»º$®¾WµO¼Þʲ‹ëàÎÿ­ª ¢U5”ƒKb/«åõ�1—‹ÕIDº�X¤…jé½)ÚR©Z¼Éî¦ åE*0ò1¿xÓØÐw©diýp—Jk�»`_N—Ü¥†›k˜»Ôv'½ó+^ZÝ©Î[註wåM4×�Eó&úìîM[ZËݽªEº/·æ2ÿòCtÞ-�/¯ën�| w ¬Kê¶[`¾…N»E-wÓew¯pyv›ºn£»nÝU7ÒY·µéª[7eyuë*juÓ‚ÊE»ž+ê]zñs9¬X¶¼IËT°ìx¬[м�7©ii]•_õü‘äU ¯’±Åë¡w“³Åø«æÐªeÒ;ÑQ‰±Ò(/pÞ©ÚYtµu&Ëœ? ¾Õ<Ä…Í#nˆ©NÏÓ:æ�ªÉÐTÔQ\±¼S=ETu-{Ødn- ’ ü´fYy0£cy­³Š^ZÞ¼B^°Jvp�ó©\¾ó[c<¯ÂYÚqW·c®´Å.;èË!ÇŒE�pËÝ£³©‚[0ÇüÐA '€ë�¿žáîv:yÑXƒ1ƒºÝs†Mcs»µ¹ÕÞÞh7AÆXæ2“j†[¬½¾¾µžì|$ÑÆRóôrùhòŠ�Åë†=0ŒíµŠ ½uCŠÛÿŠ–½ÞÞdýz?Ð4éý4r& n¶tæDcéóé-‹€ étMïèÆ¶¤I ‰xvÅ4¤SëS79V c K4%MÛygI¶Y ××·ì$^�'(±$E,²@%–çLh œÍ›N“´S¹+ó–ÉP £“8p!�7òKóËlO|Á6~ }ïKS¾î5йs—;“ÞÆÕù¾²Ì€Æ0öèÔUC¹¼VTùø'd¥œ÷ý¯Ð ·Ç޼ÆåµŠ‰¶?ˆ‘b�¼Çƒ@z4f^±ðõÀŠãËÏisÚNˆ'¿LCV3Åâúü¼Ž¢¦:ú‹5šG»+Ç¥‚Måêªá›2×éÜÎûaCÞ•ÓÔŒÝ\ÒC‘ä›Î*䯆]x:§®5`˜­Rê*vëÊ­T–[IÊ©Õô›¾r�BªŽê÷®•†Ò»�*Žämy¹ã݇ˆNMÙ²íýS¨é�F¸­[Vñþ€€MüSVÎ0勞F0{öãˆÉêS ôh.qÏ”aÈ%|ŒLù÷ìÅš‹}@ý“ù1Z•Ÿº®¬¾£Û ˜gïáz±¬þ=A)Þ÷¡<ı}.Û²úšf�ÞY@~ÀˆÊ÷gÝ”ÑÅsƃõ\ÐU‘�·$ÈêwS>9q}ÿ[<}I+''²Šw^$©Yª)?ÿv�+£70�24e™ê'@k�@ßùg²:, ºòØ5Ï@ü3u�J¥ú’™=yÍ à·&.yû.Ó ¥ý�™Zê?LÚH~É—Äcd „hì„ú7Ï?óÌ£ãk¼ƒ]I‘ê©¡ÙT ûÚ6þÎVVø_z++ý$Õ<¼€o¦ãËQ.Å�'9¦i»XI·18:=nLTÑéP ��¨¶*ýûò­?ø&+0€Z¹îe”éS0UG�ŠuóÍ‘Ü]=í�]žw¬äMèÊJ#ÍÍ2“’ˆ'k%ððZ´*¸îñ.Ñ9éWWâõ§D%ÙlFD"@ Ñ�¢¥²z ÖH™]«xPø™!p<S®Uè,:´‚ú¥ ( *ø©ŒÛKq{÷O•h¯coü/(Ð`&ÍF㈄á˜tvÆYO�æq6æFµÌ ±§Q0�ëkÒ1ýpê‹M#tó�EÒ$«§"‹TÝÌÉSh¸À µKÈÉ?L²_À#lO¤Ó)¡0Mþ•§Â´€{=8НxžÅ!T_'#î+3_ëe§÷!³ñZQY¹Š.xW¥Í.XY ~ˆÊjð3�äÈ�cÚ¢š�^SòŒd‹Ç�å (>ù»ª�còN®|¬F š€ïÅð¨-dðçP~=V¿E•ÕT¡®ÅñÞ”‹ógæ3h%n*ÁÙ’˜#«Ad2� R.&Íûˆ‡2_ÕKºW‡éøGíÇ}�ÌDS夂Úr]= " Í}¨íò,p"^ÌPO-<Àtž‰:æZ}Ï„B ÑúHB¬õ’©‘Ø›ÿúéRŒoa†\ÿK§.¨ÊæÑ—ðJ¯6C¥Jòõ¨~œ„½c…SŠ[B¤”«j™>פ¾ ceå“OJÞÌ|àëNxÄ Jv‚‚ÊdŒõû‰éÉ!DãJQМòu¼¡8úœ ­ØE ìœk_#úzBökD,³F7‡TŽtõ×Ý€kÛ jøŠÒýÍÔƒS�øTŽ(?ú7Þ¯rõA  ¶P„ÓÎë£gì¸�ݽmò'¼¿Ç@¯#vt5N™Ê­Ã(U@0e€³UK½œ¢±wJ�*:ŒÄB�!3¼U§^ñ{P¢ÑóÍ@ÇΘÕSȪq̤a=çè‚aÓòÃXPLƉ’Ô¯Ên£A#ìÃwUçèÝ,òR*á;P$ŠN d+˜s(̧@¾²†¿,§ªÀKœêÙ‹Ì÷Œž«7$\4"ØF̦»n’q¯¬¤�)¡¹6<¨ÄŠä ¯®pÌd%ˆo‡%H³‘+tt¬èCo³"ÜLÓKšðœ”ã­8�Ví eÐQž¬ôNØÑxsPõe>�¸¢lâÛ,ƒ¡æÀÄ¥¾ç¬MøÏI�„‘‰²Ü8‡á0Ðq³ÜÑ»ãÆ ôÈÖž?™‚¶·ÐÓ…DUîZC \Vt᳦Æ}SnŽTä€pû¤HÙÑ4¥$ ݨ�©‘‚y9:#Ep:.]4Á†jÎÂqÀÌd_�Ì·V4ç¼ñ’é0Ÿq×ÜÕUKuAÀèLÞÁ+«€~EÜrài‚¶$¨ÆÔ½ í-½fÙré%{>î= ëB‚&‹ò'h¦žõƒã�:¡*X•ÊX & Æ9°ýÆÞo´G$„Y¤AªÛÒA?®ºx�„ﺿ=1Á̵tÜ3—&þýIDZ±9æßÞ¿Ó§xó]# ¾ y&ò°‡ØY€ÕÑaR�Ààñ¦ü¬`ƒû–c 9ìWWŽ>“ÔRcuŸ”u¿ÙêùO@à™7ŠÆ=uUÁŠŽÂ#ÿøX¹Ü7ñA�Mçhÿ¸G×d\C~Ìûú…é£5¨þbÆ îeÜç'ï¾è¾X•%^-³%y5VŸ�)Ê¢Cg‚=÷÷`Tê/™L~éW0þK¿I‚ª†)ÿßGæ4¬É9z¡yNâYd—Jì ñj¶‘3¼ìT[é=×ANå¡#óY�n[IÈz¢MTQ›RÊp˜d£ýóiCþÒ‡Ö¬â…èS—ψè¤\%He ÿѳ"a×8ž6a#ë$œ€v†ÖÆ@ª› 'H±›e!·mB V¤$rÎòjJIB(_úÈXÂRógH!Úüu飴Xš׊0§< _Å-t=ÀùJþåèé1Ê÷SÀ5õ§b„ƒM‚e&ÖarMô©f Ú£”0º¨Ž*L<ÝŒœw0-4€¬ž…jÝ硪™h:¼væL]‚ÅÃl,vãk£8ÍÜçLÜ×=È>ä&™±²²/Zsðáé;™4�uôwšý…qGr«è>¯²Ó9í•G›Š»w™`Ÿ¡KZ½l0Æ•?Yí›ò„…!¸HÜzÿêÚûøúᬎfì{õЬ´¾ÕϬ2Ãa¡úÁ”¿Z§�£ð«Ð ;gfóŸ_ÂÇ�Üu“W¸íXùÒÌà¯`ú�Aµ„�j:êI„-ø=faô4Q”/ ݼɲ^Û.Û³\—[@·�ƒ%Ô†¬þNû³&Î@V_™¢L�o]•»]Yµ0ÌR�ueñœtÁw‡‰ÎMµ´ZÚ{Â-®¨=PÔŒ>"2l޼cp0D¸CF‰À“Á#pÁ˜LÞ�.Rs <êŠTó,Rz2jœ=˜£ø}U ’bjUm!LãGÕáa0çpæT+á¦SÌG÷ƒÄé C[îŒþ�è_=õÇæåµú‚ÞßFfKý ,§ÉÄëâÅe?™ØwÝ£“è¸ëýíX}™îÑ4û>s&gÑ&E};œ×œú_1rú’{(|W>\ö �¹½ÃHÇÕ%&+1�h†èG‰g!8ñ‘\`H& v (؆ÃH m€¢SûLý L¦0 /ŽÑFð×ÅøRô®ócLî}; @2/äc²Á@æªÛ ‚p”†žd0R1äxœ–#eÇl�jDÐÁÕý![UÁr¤,ˆcVŸ:ýëz„M^=+áºÿˆgr˜afeÅÓCôctl¦Ohë雰û0C5Ž>3h/˜ˆü¡„B|@ZBÌs++¿•¨!¯šE«8æÙo™A-šßŽ`âÆÁÛ;$¦]ŠP™˜EH”�wó/|35Pº!R–½_«…è›(4Êcå0`ùQZžœ¹<¡¹�£§SÀ ‘GbR"Ì:‚™yMÎ2•%…X\ I­,d%µ2ÅÃxD¤¤Âù ¡@Q)½ ØþM/†È.&}ß �ã•evð)è'f’ËÈcÇ0tÕ§Q9qÊŽU—™?1O(êëÈ|¥o/Ó,WQ²,x{™ÏEpõZ!Ú¯ÚÌ|™a‰QÅŸœP|òääè;(‘œÈ+)œñX=ØP2ˆË@-ŒŒbÐÕ]–K1ÙµÐ'1¹o牡�ÑUf‚PŒØ – 0÷öŸ´åÒƒ!ê�å!bE½Äc¨zŠZå¥Ó޳`F²žŒ�‚ãdF²¸ë€IGÖqbܼtÈÿX8ä¼eàSˆq B™Ú`tp\ꀩoªòßIÅ�ÏD�atÌo` +h™áüNhƒ%¼N�’´š{K˜�w˜„ ‡ÉÐ0rÔxšmZ·à‚Ÿ4ßþÐ j ô¬óMÚnZDîÛhuUÅ0Ðâ�äetƒZuv.O¡#¥ëÀ?Âïìm#VÁ\7ÖŠ, ³,y} Ö/˜éœ¿|Q„Bùj0¥¦æÁ17˜g Šœ•м¼A%®(1¤/h©©¾Ü0_N}vuõ{ãh¢ž©}u¨~˜>-¨ûÓB8Êö"3�†úŒJB±>€«¯p~ÇqŸÎÝà+~ÆÄ +¥þ.¿ƒ¨ÑW÷@½‚ܽZMmç$þ$$ë € ×:®šÃE£û*B=Ñýaß¾ä8‰úwÜÊøGï]¤óE9JþÎÍŠËÏ0ÚÈ@ç?›ÇTK©Ÿ?§>7`æ|Á®®°“¨øw`¯qÌò)ÜÙÞ+¦¥žÎ·À” ó7ÎY"^Îãƒ`ÖiƱú‘ÛáÕc‰†ÿ?z`šIøÝ$1¯®~�ÏuŒò�ñ\ýUŽÊ3´òŽö–ÆiÑ P(6Z%I�éu}8¼äMvô;;ÞEUîñÝÌ~AՉ镋o|dªÁÖÔKN`—a˜ôƒ ì#À}Dvù+§¨Š‰€ÞœžXYA Q ÇÜ,•aã,i¬òFÔ­ëú€¥`ôb‘´DTU"‚Q] hÇŠò{úX„yÁP×§¬ß1”çQ  ‡xÌp êvõ�è¹Eo¬ï¸†Í-¯�\ÒÊ=ˆ½d ´h2Tyqø“)‡À-C>Y‹TIR)h�Sê#k$ݤŸ&ú¼ˆü ¸æ?c˜’éV²°¦ÞY“&çƒfôBé^¨iŠwÓô¢S,>üìDãÆ„)ÂDš«Ò­)%ñˆDÉP{g—OMfÐ2zµ9Ÿ�&v"#èSÄDªdjSAôYY³€) Ð¥hào5"°äùÂVe¶)¢6Ù“9}Ü“1¾Ö�CXfˆ€y”ø!¨ùf|š MÃ(·Žq)þ˜øœZ“`d}`©K¦©YP ¨%¼ÄØOlEF1º¼N@Ó9ÕŠ)lŒ˜ÍÙ¸.v-ôÓLOr`¨Lð4òØQ¡Zò|à ÍD üÙF &ðˆ”ˆÂ—|•lXÐH\ÒóÇü°Û¸¥GCœÒpu}.Ü…Œ-­í°ÕÝÿôè\šÔßÊ]S"aæ‡QWd®¡„0à˜§¾cK-LJuÊW/TÐu‰óJA�Ä�Gkl®)p›>‚°ù1n¤c'ÛLÒ›’&´_U K^MëH £ãä>!Vîÿž)‰ØXl•õÆ0ÞMüGø¦¡pK1ü 䀶d©X&þ–˲Ö\«ÃÙÆQu…j~c�8™`xå0ô>3 ýÚÑ-úSákä®UtžJ€Ã2 $$.IHq.ò’v¿¬þ5ü³°:B†›q)êLáËHlc ãVIŒ†4§ÎA|Ø�ÐExÎ�`Bf\d»ÁTx`@'§K-ÜúôñM­¸Â†6Tð�‡–ÉqkÒ>úœ++yH?D¬=$,‡ùAÆí¦ 'p— }c(Ý©†|¿8.ŒÚ¦¨„§"°½È²Ê¼ õ�<ŸŸD'{Ü—ã3C®š€ª‰ve®  :yuØ•ù_5Ð-\%#ÂWI�†¼�� N2²A Õ‘÷Áæð‰þMxã˜h\Ö).4Ný•eN�A¦dó*½’cÄPÁµŽa~šNY°g…`«¾ºzð,ìt-hœEù(DU ¯Óì5€WÐMé»ï{Ù«¯h¢gSyâšGé|ð[jx;‚û6/夠j )hÕgIY଩íö¯q}º²²ŸSÙûÊ®×pÔ}0ƒ€€ÛW,%s½Õ¦˜ÚoÙÖ'Yï)0ÌÎ1Ìæ ³K ³‹ ³ëf †Ù)Ãzᵊ¼*l>ä}ŸÅŒî†T¬‹Ô.dª½Sm¬{ï¸jãc¹r‹Wná*#(ÃGG0¼ü†rœ¸O¶¹c“Ýù a”BKX�Þ¸Äô.Ï3`nõs¤(»"/1áh�( ¶EÙÜ”¥½Ø×¿sM]÷ª7Yå"kjy#í¥{!­¿¢ÚU_–«>h�_ÓpØ7®¶X¤þ�?ά ádÁr+h|O�XC‹ÔÜ‚š§ ã$¼»s›‚Ò²Úϸ9õè)ÌrbCáºI°²ò�é|Åt#î@/ Ù)bB¿*ÁE#£ˆNá%’4àÌ1Z®ß‹ïà}›Ëï]]ýVXå1¬Uœ/ô¨rR&,ŸÔ;Ä�Ÿ|Üû¼‹âÜ �Ëýãˆqß»&Ê6õ7²ñÊÊÛ†üÚƒ^ÂmÑ™3€±à¶Ù©€<`Ÿ(—=„tˆøbÑWÂeÙüªpsMô¯á—]ÜO�ú€;õ‘p‹¡ªç¬a�#Îá@PqûÌÕ•�c[XÜ»è�—Àna.Yæ�tÈ��Ÿ¢†¥æq¨6?ã>8¾´�OTyZÎÀVÔ7iõ„ø.\a!‘¿ha7‰” >€§d)à�ÏæI-|ÑøÍëw?Ë ±Vˆ‡R3(4™g¡~“ú _NV?�±–_GVøŒ6†õþÆÒåæ™�èPRÄ«"Mx‘ŒQÐz ¾tÍaoN^nq51<¾‹u\0UY¶¨ ãî,lè'š”£Œ(AMÖÈ…‘ø²ÖýšÖ�3 T!ã‡srË{·q�Èqh8õ‚ÁnEZ—eë<|Á—lq0FÅΘŠ2àš…ù2è`¿4DœîW¦k<@}ÚGüŠ»3µ+æKT±ºí„ÂÌÅ= …Mº3û4OÙB ؉}i ¿<ålõµø;‰øß‘ˆ�âfVèÓĸgd!Ïnžñ™šÛ ÁôAêvdÖˆT<ªb<º øy÷5â@…ôŒk¼@&MJ·œajr¥ì-®ÀQÀ¢>™¹i<‰é_},ä`à÷€Ÿ8y ÞRJnœî6<±¦ªRäÉ›w@…f©nèÉëO71>#ôÅ€>$Ü ‰¿J×g«�PØ5�Oøš5”Qq1yL�±Wà’’O/œIZÅ-y‰¯Xyé 8sµ*–|Kà㙕®1­t ‰8�u{_ÝÚ‰wS'Þ­vâ_­3ÔÃåË%Îÿ�;ÿŸø èS¤=�PÎ.ºëÝW·Œ ¼Ì.ªÃ Ÿjj/ Ê·*`pZŽœÖ .Ê€YÀà–EZEó*Ï´xYÂÊÊoƒ?f%¢·dw¯ ºêè½lüƒ©¢‚$Ü©´±½ë]›h�E–㢉ûvùØ�À …u�Û<Xë…ö*%fË‹¨Ñ^$Ó�ÌÄi€ ÜbϬ%Fh˜ñÉ6O)¯Ò)=¡Ö~a(�8™¸é¦ \¹¢%<Ò„‡ ¡rÙ �hq¹"ªFèú3%Å™.&Q]}ÈÈÏs…=¸ÀÙü^P2ɶXß¼”;#¹k´×[ª¼OðOmñt}Ôð¬SgdáÚ«˜8p›ÖÕåµ¢³á_OÉ>Æ�ªNý.[0M/ñ®KÍxÌ4_¥ë(á9‚gq}%û”_v­ú×B°4Ú†»cÚzÀ÷;üá ¤`&bàˆ0�?!dá|k6ð WÂË4À¨Ò øò(#Æù««ª¦�AJʳ¸0µÇr›�ÄZ ³üFIl¸˜kÃg‡üDaC~œß'‹ú÷Õê/hMÇÂN{ýö¥ÌÇù‰§SB0¸ºŠu0}|- öæö57ƒÐ^=Ÿ¸�åD.ä}daôÖ÷žù‘Òä!ãÌêˆÁm{ M�À —DhLº¾�jˆóƒ ^²�Ái¤J`4Ù.Þ“DU’8#=sà�ÜK/L˜9�˜Ç¦JC f'Э÷î]Kb¢ÊPSƒJÏ`Ͳ�|ï‘´*¨$„÷ï�ò¢VåN/Ý°Š“Èe**@nÐ<4ºkš—ËZ¦y�B»‘ÌžÓ±Éî»tüZ²kDÿ0Ï#P(ønî)£'<ŠL´Sžü©$Ž?ã_ºbâ©DÇ•)ƒž�Rr„YJÏ5ó§œÎOKüÔ×#qØ÷‘ôHô»þèU<±¼|ßÌôÇÙð�ûˆWR$÷^ `Ã#?È+:©1„ú!-er!˜ÓxÄ!Ñt�`ɱA¶–Æé£ ‚"©¹zx*(aHƒ Ýöh%0±ûèt_݆-UÑH騴r¡Æ}¤€%uuµ}‚TôÜE ¢…ª[Y¢m:�ÕêÁŸ'$2ÉNÉY]˜“h”äðÈ9VÓîÉ‹Ýò8P�ïú>ØV�ªTõîY¢ËNܱi¬Œa ì¼0^ìÏ·Ÿmm·¶¶ÛƳ�ÎÞúæþscïÅöúV«…½—NIÒ_’ï8æÔ-~¹‘k“bn…nñ£Ž¹/Á�ކ˜‚_J_B`Œ�Ôý%½Ì*©g~??ö‰}$Yé‡ ø-Xù[³ÒosçÓ/©æ¯×JªAªDTsÊñ‡’‚¾ÂBs£d©•™¶¸ˆ†›t™AàOþ«Y´9{á8ú(ÓôÕ ¦Xi'þä÷Šùìø#¾ìŠÇ€k>ï*mtðû®U5ÝŠ¼‰ˆ¼W¦J�zWÊ×6×ÿ@Ê×ÚKSŽ2I¦·Ìþr`JYÊxKÌÊxŠ^sØl·Ú­¦a4AåÃ@²µ§ïžjkíóµ¶þu:’%¤24eJ‘‹W•ýØ:�íö9üjiåzѸÄk;ãÁXû±4lµÎá—ÓP²8'aΦÕ—‘‡›³?ï\}{³u¿YõMœ[Pk‘.Çe­`0vЀ9QÂ/ÅLú ï. §¾‡7`ÿ.1¸á!Lìã!ÃUJ:_ ºŠiV�éô²æâÉ; ë°�SÒ·SÞ*qxÏ=a®•¦|s¦õ…8üp�¥?鈇¢µXòà¥ÈOØô¤i‘ðRu¥ÐáK¨û'ܽI NFäïÀ@ÅsA;ɈÁ»éÌŠéðýéÙÓ�RU¦¦eås´‰*4x•øeí<£(‹MÄO.�êÆŽ�TãйOiüKFyèYÄ®6±µ ÔöP·f´ËÐT"v“Ž7ôé³7UpU?Oš±[&  üH¢€•¡?p,W"ò(’ùéË¿'ÏE˜õ¸r4tÎÑ3æ0 T�€W¦qAÓ,yPPT¨�ÍG9i¥ —ºhT6n£Z©Fxî¾×Ö Íà:Aé=ªbqŽP´èñúÃX€Bá²$—gŒ&úàZ[ílªÛ†Jßõ •k]Rì« Ìr³N n>lêH$Y]“èÓN¼dn/*ÔâWæ¹ò™/²ùbd € í/+åè*áìϬ*šµLÑðdZ(KLm·X g\YD˜üI-ü9à¥÷�ôŠîVóÀª’úæt^ï[“7 m�.ÿ¨(üÊ�R‚ÀkÂW$*Ü•~óÁOg˜?TÓPV"Õ?sè�ÛÏËIÁL©Ù°-ïÌÑCPGsº^ÀNc×J<' ¸]@÷˜ë^øƒ±o‘8D(𿻽Î÷7_9ƒßö›¯ûço¾>�ßîuàý©\ß:¾jÊ'}×ò¾ ÁÂÛ91Œ#y~€q×€´Ú<‰p&#‰LzSÞnµ€fZ#_–Ç–Õ5à:7ð—«èÄH£°ÝÈ7>‘AKO2è0¨í»J*kd½b*®JÃKyF£ž>,í¿{.åL›úŸz«Î™M�7!—¦çâd€a0Μ TnQûJB ³ó)h5Í% gÓ:CkîÄD¼úˆ"€ˆÊ<*P(ÿ�f�&-¿.ªÃ~´Øa«$…ÎÐËÉul ƦÃO‚N>+5F›Âêá¤"¬^OxMÐîÉØHàÄ[ tÜå#gç4 ?Ô'µ[íNêOŽ�‚ßÉÝOŸÓŸÓÍØË'µ|'ÐúPâ,V3]Ëc¿Ã#OàÖϸDs»¦þ§¢Ó¶ä�YmŽÒ½„׆(YÙ mÖ6øx(uj=x*•eÄM R‘c9\}|/ˆè¾e4ÃØÜ– ™ ”øTaH)z"�ËaqjÓ¸ï:áXB…iEÞnh[�-Ñ×ñ°l4¹öhå 0Ò÷\úÁ…6d} £‚çu]$.Z-SYÝ´­DÃØáÄ–+VMrË=Ë}Ž«¼üylEáÓéT£åd “�cZ{C†¬éëm½½®}x«�²Ñ#¥·0ÞA¤ÓĽ33‹ `êÄMʹ«•gû?)ƒæ¬†çÓš´ck:½vÁ䎜S\qÀsZRã†Âì<#”{�"™ß­dDÀ�›r¹:Ö°“k¤¢¬:]¤%U0çiBI²frÇ?Lk,æJR¢™HjSÄ~u®d¹4&B¼xòE*Ës–ÒŸz(w,ˆ·Õ¼w’æÒЛVÄ ±ÄÏMºýÂJ‡9X a“å–÷ÁK�•S=îÔ�êº~Ľµ , ‘¤n…(Ž’€F ÷_g�ö%x‚S(ŽêªašÍ³m•æÚroå‡@Eì/Oܾ±„§I›<ø1‚‚fZ�{�µ� \q÷úa`yÞ…ô Ï`Õdò”Òð]ÐWéÖ�9kw; ©·¤ÏL:ÃÉáÂ�%KÂÏÒȶ.h³äùà™Ãf “C:Øë¡ïéˆÃ XÌ0Þ.$’U/×�q·1š�!aÂ0÷lþ|fy„XƒÔwFÒá«§ï~^ƒ¹ìL{¸ìW-eÄ‹šå›×Ä<[L®[ÇHlÂÜòµ$æá¯qáÆÁ×%&j*]à¢pS¾Ykv¤æ]œDa¡2w–aZÄ ›•ØÑ‘0cHÀ€Á·‹ ‰Â}KT’»´À"°..Rc&¿A8ÄüR>\·C@hʽÔðLjKž¹ ˆgtÎ÷1�Œ£‰«uJUžÐVA(Ê_%‘š+C°8l$17Rt"éÐòý‘ñ­6³A‡n$uV,*­ˆÀdUAÃ%K¹ ÿP wñ<˜ g×sñw�¯ç¾m½}þ[º¦»C‹® ÖVûx“x6;­Ö9þò-€;Ùô•k2–vlž8ÜZ’‹,Ê13vCf¾exºw̤î;—Þb¤Å³¤=?°ý¾•gl·"ܳƒ~†]ûñÛƒÎ9üž%Ëß‚Obqº½¾‘_�Þ4:wYžnká€íÂê4q÷ r.no®IÒâkaüæ¶Æ­Ö_{‚Ô®„Q¸ƒø¸þlŠëK$q:SÄĶ„ìvÛ%‹Í‘�SgªtKD[ këk„ žo�hscë|Ýè"x¾="È97Zí-B…o·ÇÕnu¶Î�µMƒs ÞÎÒmµØQja�3r79C‡žB�ü•Nxe£°J±müÑŠí†á3üŽPH[sö` ‘²o7Ð¥íñÙÜ¡ñÂd�co$ꋊøLü‚¾û–îa™ Óå”_ªãïï1Ì8ÕJî^£‰‹‚!ÒÃtêš]ÐMçØ#ÅH3ÉOØ51—š0ËÄ Cf'¡² ‹ h�TÚ5‡Ÿ”Y¼¥Ê`ZÎ $’Ë[½Q*Â-),vE=480¸gŒ·°ÞŸYÞ`¬£)ÙÙXEM™%îˆ;ÇVÜ�¦1sK>~u‡™" kÐ6oœ‹Žôi½¨rgé]b$í¦ÑnB'Û�5Úÿˆ6¤Ösþñ 0p´¾ï÷C­oõYâ¿jàæ#ˆZ,ëß‹ªDzQ™?<‘(´ú8D²&¹\"�¾c‚`²X„ˆË8Û‹ú-Y÷ýÀÈÀÅâÈïât"=ÃRàÚöÙÊíöZ«—ß÷IQ�‚åioqÄb^Ïÿ§D.Ö›­�ÊÈÅßb�Ií ŠZ¬—ûöfÔ"úŠ›æÝyšºªÀÿt;††êºëÒêãxDÛØCÍ‹ƒðOµþ_£Öv\µ^ŤC(&½Ãbsû’�ÿk4»±ù§f_”õ§f¿‘ÍÞ"›}­³õGÙìƒÀ�cPS`üùx_Œ\�úÓ‚ÿoRõ7ëÅj½¿—âk=ñȺ¿M±ÿ=3BûÏaQÖŸ3ÂMlýÖvóõÛ—'ëë­M�Ûë[ëFg}{³µýGu€èÁ·#¡Ážýç´ð_3-,Ów5Á*É�ûgTr^€giàÿYнRñ¿µ.¤öŸžÀ¬¡÷K8*7ˆ·]Tî{~ñþýáþGééÇý§‹î4‘pß¿ew§ˆ·Dõ×mV®¼P"kñÝBËÑnÈX0—Uš³ 4³»z.öúE£Ê…ÌõÊ…Ìt§ ØŠ0_{Ïý3ï Fé„{ƒµÎÛl½¸ñ)úí¸ ìÚv»õ÷v«õwcÁ¾‹<»6ÿ3ÙeMüÀíϲÊxóõÓù�X…˜‘SçÆ:îP9Ã%9µõÊ)P�0Ã{†[¿ÅïœÊý)Ë²Š£Öðb„öz«Zª(ļŠ ÖÚñþ h~ {žvM ì{örÊ뺮ZÇñ[Ùï®ãêJÂ#Þ)_¼¥®¨++OõU«ÏÌ]éÔMsU×D-i4çîÌYzc×â¦Ïnn˜[NÕÍ8¢[—3g wá”o¼á#cZ__îîQkz…ÍRÖÌ^R3ŸwU9K÷2ß¡J[$ù#^²T_aÅå`Kö{ÞÜêЖÒ\»æ´°|Æ6˹±±÷ƒõÒ�ô¨T4z±ðjµåuÎ6ÕˆE&ç¡$×G¨ÛS]_xÛ,]sÌ/,¯.õ!ðcÛ½øŒ0›ö/¤ìzðªZêÏ,dS ÿ*q‚* âqËî,Ùt ÓòB+ �0 ãG3ÑÃ`@¢&ÄÝ�* ~°‘¼OhÁ"œ( Ð娜Ó|D¡W7¼‚ïKî?*©ísxZV¢Ò-†¼lõ.÷™d¨ /Ïþó"�9:wù¾­uKšVUû…'YôI §D¹Ë9½"%9°[r‰›âÞЪKnÈ^£[Ì¥CþŸV*ÐÜëÄ–¶Nâ)^?N!(0Ìãi.¸:s l]°ðŒ{r†zF÷KÍÒì ð—ôÛâDú” b—ÎJ1íî_â×e†,Œåîѥ̿ñ!wåäÂqY•ÏÆ èäî¥ V aÓNè«-€¢+7Ë×ê¥ìù3�dŒÛ>Ÿɾ@òX¼•#ºåôòûÔ�GŽ7 WÔw”ûøË—݆¾ªÈÇ×9òB†;|ý G¿uÊíÿš_dìôϾÈÇò‚2ºçk ãT)ÿ&YPöøZ• ÃÀƒYÀ�Lü|"]s!Cnî;)÷ž$÷.ß»§C‹è0‹¸@*'œœÐ½ ÝnŸ¾¸5gÎ\KwHãvJœ%)– ­SÄ–mCw²aæ �7’\¼‹úÞ½{Y@¿+9ÈŒõ0ã�º4³Fþ°/e²f#  ]^t5 ¦4�úï\¬¬TÜ¡ÿìâµ½²Ró‹ÚŒ†<¶Âqò ±ìs—x~¤23ûÎ1ÀéaÜù×ø ¥×üçÑSí{KÛ>ÑŽWßå �LFf ���ùÍ6v»ÖÆ+º�âŠßq…¼A[Nù)á@¤GüÛÊÕ½ô_ãç¢LÍPTü„/¸óôõø@ï.ŽøüG|¸G¨ÛÙïÁ€ ß-�Ëèn_1BNÎ,­üžÂ��åò{Œ›ü�P‚)¯®`¸; üÃ=ÔºôÁeVÈ$,‰GþÆ¿®ë ÆSð`AñÉl0ö}\“(�ZŠ<k0-1‰ÝÈ™º¨GßZçÎ$žH^L4ý!–w f\F ”ÂkkNÄiüöR’4ÌRj?Â4ÃÚ?ú#L¹ ÿ]ßU®m³õÖúÚà�üSEKÿ�_YUÚ-cØê¯Ùÿ!Ÿ›TµÿýŒØØ\oµ67­*F4qg¿å%š€aJFÑÖÂݲÚûiäLœïLjŒ¾;SEÒÒCO³&ñÔ¬a”Ðé à&€½AÍ1ñmgèàMX¯Ñ*Ö†dt×7¥éDj|:Üë¶²½þ¿Mßèë