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_ÛHò8ü÷äóÙ÷ÐÑÌ;H¾¹ì~ !Ç9&�™�/aYÙjÛJdÉ£ãÏkªª[§å#�ÙÌfa& õQ]]]]Wztÿé›ýãßß°a0²wÿvïþe¶á t…;Úû#…¹aâß ÖžÏ]yüLÛVâtÇq]9·ødìz�Âz®pÊM,3ê&?·z\£•YŽX†­ù=Ãæz� Ø–ó‰yÜÖ•±çö-›+lèñ¾® ƒ`ì·«ÕÁh<¨¸Þ zÑwªuQ)°›ï{†ãLÙÀ›{líÇíF½Þao�g[ñëÑ�� 5öÆcÏ-ÏÞ{T•Óø?ðÜ®øb쌌 Í$mìqì]Û6¼Àª»)”˜Ž�ú<è ¼T«}€âW®;°¹1¶üJÏåj*†pÏ1èn0 �ñضzF`¹NÕóýõ‹‘ Yˆª®äûÀÖ<ã�Ðí°gœ›yzù¢0P ŠbÓÕ>”ª* ûîhóWĤ'‹ÿ™(½u}À§;eYöX A# †®W5̑夑ôƒ)´e™À×c`Œ�]Í·>s_C¦1,G³è ×z¾¯ìÞƒ2mË/�PK3ëT¯ÿ‚žA‚ª@Rù2©x–ã[=ÛnÖjµñ«oàŸë{Õ‡?2ß ½ÿîP_ ö°zïQ•Ïw k»½Ošmu=Ûfñn{®\jZ\ÊŸ:=n|ÛõÚ?nµšÙïÌÉ×4oÐm× µ¦6MYÌ SPÎ ¯4BYÔᦸžáœ¾Ö5zŸ‚iÿhš¦(BC¤0‚�yì§r±ÊèœÙÖ`hϘ¦Lôè2ŸÐþ‘s>û½2€fÿ[„…¨¹R{™¢�­sË„’”cojÀh¹2�ÞºvÈŽiµbTSX·qŠ^\ªãiò� œ`Ö¶[ðws§É›åt«ãÐÛÀ^èo ¾Ùâ à[[�z¿Ë6jW4ºu³Ï3M �ÏHމsÓvú†Ñ3¶ÕMìñ^¶vÍæ·k[ç7&Sßè¼®þ¸¹elnÕ3ð�À�ÐìyÜݼiní8-cc'ÞA†ò‡†ycÜ›ÍÚÎ&ЦY~øÈ2�ˆaoÄ=�ZsÈÒØÞjõ#²‹ Žv lš†Ö) Ms\ô]»¾9¾èÌ-4 ¼ÝBiB(z|‚í“”¸ŒŸÚu>…È8*.Ó¨l66¢r�Âr±R˜�xYA¿ÖÊÐ>à�f€¼€9ÍQ¢]&)m‘2§¸ÍûAº0¾Ï)êáè¦ËR‚èGß ¨èådh\óÇF�·wâãûÖÍià ®ä ó ;Ög£ Ò@jFŸ÷P²_š–?¶�)Tsøu…š��é�íéµÁ¬^WüÈ×>†~`õ-˜ŠÔñ:Õ¤ÍÛîÛüBóà f+H˜ù*’J3ÅE¯ €ÞÌ–§®k]L@ÂÎÔËä^WüÉa˜î¨ºA�iH·¶`”„|¡áÚµN϶ÆÚ؆m0²xPQXî 9bÚ®Ã| [N[ÃgÔCßv'í¡ešÜéŒ Ó´œ@»¾E*Õè’våÒ��°è^ŸfÐ(ºMú¶@³¡‰“`‹#Û‘9­V«�8ÙN�Ì\ŒºƒfaǸ ª¼CÆ�ÌxÅý©C>k4ÑÌlAIbS“÷\�LnÑtàŽ Œè'�þ &£É/Úõþ\“óØž ¹ÇKÄØÒªÝ¥|#´ D³ÌL�Êø—ž®„†2¦>Ô•N:]Ig°lΗ6ýšÛXœWØ`*7nÓVl˜&ÇܦS¹…�gòãæEꊀL•9ƒtv! Ù12yE$�=ç¢�d"�ÎŽ›§Ä'^.h—Ò ›”97a²y�Åys™,ßè3Ù¼¦S¹ ˜,ßüM˜léìEL–ÇáL6…$s>“å›_Èdà‘ŸôlÃ÷ ÿ£GP5-”1¬$F­ö÷kY±o B�—/¥ ª±CË*#W-ð¤î¬Þ§i9íÈEþjI9·ßM—˜E³Enjm|QŽ|G¡¨˜á˜àFÆènbúò•PÂ�Æõ½\P£ŠTszvhr¿Úóý*¨º š‰UPÉu*¸² ÄA£>�pª)Ýφ9ªï³ã¡å3Œ82øK¡”w8è>n"àJ þïÙFª"'±ßïw œÒFs«Ù‹§XëàQïÀ(Ю æø`VÅZ¤m#ÍÜ3ì^©²¹¹ÅGl��1^f”T¯4›Í8-­þ+uafÇXcÏÎΤïž¡H$S)B%rš� ‘ýÂ!I�ÉÀv»ú-Œ"¯ÅðÇ`âj„�¦ù„†ÇÛ¬ÞYTª¥5Û¬Um.,ÔÔZmÖ¬¶–j`¡ÆÂB l®±¤¹ú¦¶xoVwÛ�‚m¶S­oæŠÉØU׆l³É⪗‰b–L¡¸Ñín÷òÊâäu@™>ý—àrŒ�í±ÜÖ¶il—Á�›P®×oð/.g‡À&nET€ßœ�Àasg^·ruŒQìy¨Òëί"}ê(^Å·ºf¯»±ûLq–Y@”8ð…·¹Yï÷ÁN—‘žE¥EàŠît7ê<ßÇ8T0‚Š£R€9aoÐ-mªõÖ–Úhl•Yíï”RߨP·ë�Ô*3ÔNå¹íæÉ›4œ¦á‚Æ1BÜhÔÔúv-n¾¦6jÛj½Y[Úz? sxk�� °¡&H4€õ¥|¢±„4¶·µ\ÛR[›ðÿ²–óQNhsvâ/jº¹­ÊÉÐoî!Zj}gcYó=×µ±Í‰á�†"Ì G ÜjA[-ï«ÕÕzG|§Ìi à€ ZQ Új ®ØŒÇ¨N´Ûü·ã4h µ­n-%� ¨$è·Â4Á�jÔ6¡›)ìË À¾µ”MDkdáÅ’–  ЭúæFŠ[jkþ/Sä–*ÕÔÍÆÊ j†þ§ºØTëõFÒÅ�”õ�FÒò&ˆ‡mœ¤Ëš&ùèöø!@í¶¨í¤Ým —ꩆq¼7·€1êËZæ6ò#Ø$�äû‹[¯5ˆcê�Ô4¨7i°ë�¥ln·¡U;1üH¼:ðÒÆœÑKE+ý‘aÛ`74EjÑ`ÇÉר-*E±Y°f}/¢bøÍÃøؤ®\±Z¥Õòøh^‘&ÙÜZP¤Eê ò70¿²± Ä&”hT‹ŠlA‘f¥¹½ È6Ù¨Ô6 Š�•®iŽ„žä£`Æ3H”“ÿWùQŒj›œ�¡' Œ®á¯�ZAíÖ¼Úð×'-Õ�۲ȕf¶ºÖ0hâ±èWY� -L°çAîy–?‹URë:ï4å¬zÓqÇGGPklÀ nü½3·òˆ€ù¶ÂÖ"0ÇÚ4Ñ:‘§ÝuÍi™]2éi³Z‡EYˆ¹�qxBß/³]ö0.­TctÐÆ`i6‡ƒcµZ»oy~ õ†–mμ8\sê'ÍÓ*Ä%4!gK“eÆ8B]K9ò¶1®Ñ0è�Çõ²Óå0t/‹�] àaaËÔƒ/‚×s?𠜷í[ÔM»˜ƒóµzŠ+,åËd çx–™)ˆƒå Å‹K ß`nç²i=‡V]þîˆ/ZÛi3±44S ‰fù¥‡*3­ó8â…}Êc€(&à[&,v)c)6m£¨Š‚+"�™MqÅl­ PJŽŽ3[#TV,*Ï®î°\ŒH„×ç(}qRÌ}cdÙÐuË�V­ ëÉ%Q82›61Ç8ÑæA€Qk¡ûR驵¡81C7Š:Õ2‘¨<‹Syº.#è\%—bIà f�ã÷]o”à-VU)R’ÙÐÁf×…ÓQ•2K- y‡jEpùj�ÅRïjà¨lŒ8(³"œ¸|¬Ø]]V\¾V±O¼ܺËÛÎÿ�š ªE-äƒ+BÏU›Kë/†œ¯6�#’8аE\i.¾_ 6Wk.ÜhwÓU Š9¿|ÓØW�·ideùp›F–K�Û@_M–ܦ…/—0·iíVrç+6¼²4ºU›7�Q·Ê/‘\·fÍ/‘g·ïÚÊRîöM-“}©½0—é—¯"ón|uYwà+ȸ@]Q¶Ýò dÚ Z¹�,»}ƒ«Ë°›´uÙuã¡ú"™uSVû"Yu㮬.£nÜÄ\Ù´d�rÙ®ç‚vW^ü\… –-o…Ò* ¬:ç-hÞÁ/iieY•^õüšè€/â±åë¡·ã³åð‹thÑ2é­ð(„Xhä8oÕì,¸¹mFËœ_¡½Ô"ąͯÃnižœ§uÌ[5“€)h#»by«v²  ÚZõ°ÉÂV" ðiͲð`FÄüZg¾´¼y€¢bïàç R½x7†xQ3·ãnÞŽ¹Ü»ä4²(9ä�´ÛáÀr°a˜KX£Ê4m÷‘ßó¬qÀL#0€¯EŽæ¸®lFW@%q…íç³³¨€~© ´ÒÆLU¹nS¥]ShÏv 3Ê�W ‰B,J‘‹,ЈáX#ZðgóÆã(í\i+¢g 4Äýà,ôlH�üPý0;°�}×ùPU®;¥RYß½ ¼é¥Ã'ìUP›oº>÷À (õC‡N]•Ê—×e‹¼õÜ‘åó\ΛîGèE·ÇœÒ嵊‰¦Û ㊸M+Á�;ÙÊ×=#è /}<§-hZ>žüÒëŠjé1Ûçâ+ÈjªUaµRõdoí4W±Z¾º*¹ºÕ+tnçM¿¤ì)e]×ê{©¤e’«[ë�¿î·á ðÛF�c¶J©ëX°=¯ÞZa½µ¨žZŒ¿î–¯‘i|ÕRÝÎu¹TîÜCGü¶:߉áC@çºb˜æÁ9´thùnëVT¼QÀã#÷œç3teÀƒÇhÏnpE=Ô?“Ð�«¦÷u”@*á] +„`/‘.vôOú»`]ylÛŠúšî3àŽ¹�ëÅŠúϤ|?€6ðkÀo+êcèš1xmŒø',ßL`º1÷‚éS.ƒíLéúŒÀÅ{õ³®œ�Ù®û)?§•¿³3EÅ{:¢Ô£$UWž¾yµ/„Ñ!LG¨ôu…f¦úÀ�wîDQ€{4×AÛúxÀ�¨½˜+Õç\ïU¢7Ù *üJÇ%o׿‚@iÿäúýšú:m$¿Kâ!’ &B0´üÊ'Ç�8úÉé5Þ‰6X :ª¯—<ÕÀ±¶ú¥òµ5þ¯ô�µµû^å,–<¢‚«ÇóË*_z<=‡Yº®{{ØH»Ô;9?-�TÁUz @K=ÕSMUùø Žå+·÷I)ÃÆÒåëN‚Ye ¦jéÄS±m1¡Å#¢»W‰ÇcOä�–SuwQѵµRœ›dF5NÒK áµì•wÝCR¨_]Éן"‘dò>•äÊž*ê%0X)&Rp­âAI c û@ñ¨XùZ…Á¢C+(_Ú€@yI?åa;1lGÀþ©ìu茀þ†ê€Ò,•NˆNIf'”uÔ`e} n0—¸>Ž42fýúš˜tLß»rÓÝ|`7)ê¹Ì"Q7�<†®� ÌQºøb’üŸ,í°å Û—étJÈ�“© p¯‡ñϳXÀ„êËhÆ}äúËJ^ÀUº�YzYVy¹‚..ðºHšMy^ ¾ òbð=×O”À {CÚ¢’�^RôŒhËÇžáô8>åŸÖ@1e†“­œªA€Fà{qzL²U$þ€3Õb{ýß?]Êù-Í�ëWü± ¢²zòÁ?�§ëU¿Ü!ùòD?*aç´,0Å-!Ì᪺+$©+ñX[{™å°è½Œ™÷ÝŠå{!°’� : !@ü¾ç•茂ƒyU.£9åVð% èSÞ7B�´s®ÝЏã—#²_"™10„9¤  «?îyBÚzAÉ-—ÛŸ‚™vPP—êæ'oƒÓÒ›uQB½_ƒ- Úyyò„Ÿ–p¸÷¡OîHŒ÷ð-ÃÌŸ�]¥s® ë0ˆ¨ �a¦j¨—c4öÎiPå€[”aÊ,,^˧Qq;P£Ôqu¯â­>«S&«ÆÒ£Žu¬“)Ç®¥§ � ›ŒïG©Ë{¥l š¹`f¨«Z'¯g�çR 6Ø�2QB²‚9‡ÌœP 8ì#/¹«Rª¨xŽRR<;�þ†Óçó �>‚™CwBÛŽ2N‚Óµµø1FÀ×wý’­B•Té«+œ3I ¢›ûý\I½”ªtrZ®ô-¼ßŠ`ß×u'êÂS:\ôâ zqr$T@F9J¹sÆOáÍBÑ—ø<òZµ‘kò¤ u?SL^:à:6hm‚AÄtäåÒL‡^7Ë�¼>-�Áøoí»£1H{ó=]HT•¶ÑÄ•rEú¬±q_UªU> Ø. R~2ŽqÎB·ZãjPƼžAYí <.m4ÁújÊÂyÀux_ ôWF0ç¢ôœW@¿á®¹««šjƒ€Ù½ƒWVPúmpK�Ê`K‚hŒÝK�‘ÐßÜk’­ä^’çÓÎcÏ3¦•>Hb°(‚nV’q°œsË·@D©bó¤Ò1`žÙŸ`ìÍrû„ò;Ð"%ÝFäãº�H¸¶ýû#Ì\£‚{æâÄ> HÊ"4KÿÇћו1ÞÖWòh,H‚"º�ƒP­ (õÁ|oJkÜ·IÈa¿º²*3I55THXÑð뵎ûž;ƒ`Øq××ËØÐ‰âžž–/t|PCÝ:98íÐ5×�б~¦»h ª¿è!ˆ{÷ù){ÏÚÏÖ&šå&SÖCõ ˜¢<8¶F¨è…¿³ÚSIxòC·€ðºUbTÕ�éÿ&Ðw¡#`0ëäM€æ9±g–\*‘ÓÇ«ÙV >Ø©f¹ó´|ªô-Ehºm%Bë °6aE}Š1ÃiþŽ.Æ%åCz³ŽÊ„˜ºB#¢“’q• „)üGs̤]c9ÚˆŒ3Òzªv4�hòH9bZç0÷¹düãW‡úƒG([MC°ð®f@C±g\XKÊî#+*Ð7` <ËÐÄe(ÒÛÞ}TµàBÚ}Ц p´’ÉŸ…‰èKTÐÊ*Í×}2,°°¤wx£¤í”¥ òcS ¼隥äÂì,ãyósƒ®�C:°ÐNÏ2_Ø6>Î#(G|.Òbª…P>t‘° ¸ô§O !Ø´‚ºt‘[ŒÍŠë²4§À_Å -e=”sË闓ǧÈß�ÖØË6 Öc,“ê¢K-Пr¢m€x  ÁÈÓ @àÁÌy j¡hu ë®UÍD³Ðá5gê,nbU¿^#…qæ� âAÅ�ìca’Õ×ÖdoŽÞ>~­�2NþIÚ_wÄ·åŠ+š,�:§½òhS ÷.aì º$à�¡ÕË{C\ùSÔ®®Œ¸ïƒ‹$¬÷Ÿ¡­ýw/ß+ê`ƾW�õBë[ý�fXÜWßêÊGãÜqqÕºa\¯þëƒÿ°”º€ò ·—?T“òW ~C-þߪ–z`þ¹<Žå3�B7‡IÖKÓæû†mãr Èr°¤ØPÔ?(BcNcdõõ…Ž!ÊØ˜©àU¥ëJ»­¨†Yг&Aï@¥ ¾;(:;–ÒHiç‘°L„ v@PsøȰ9qNÁÁ�á9L�Àc2z?™ÆæxÔ©ú$(w”8û £Ä}U�ljÔÜ<Ç=NŠÃÃ`ΡæT Ë�ǘ�î±Ó!G[nB¿úm¡ç¯^àãP¿¼VŸÑû«@¯©¿ÉI™XàaM��M‘÷#žgŸœ§mûä§êÓ@·OÑìûMˆ0%©±6 ê›Á¼ØÿŠ)�Ó Ýc黊é²­8Üî\]ªƒ²’‰4D7ˆ< I‰wäC2É`°eÅüö ´‚Nírõw0™|¯‡¾8FÁ_—óKõлNÏ1¥óéÄΜ*§d‚�,D öá$=)`¤bÈñ4,å]½¢‹ö®®èÙªe¬G‚(†að©ã¿¶CДõI–”ý'"S”é§Ë¬­9ýßÒP:Õã'´áÕøMÚýX0G1Ž>3H/PDnŸ!‘”�znmí÷6äUó“`ç<ïã-3(Å}ýÓÉ(nœ¼�c"Ú¥ •IÅ(ë@¢rº—~“˜«^¹í#fÉûµš‰¾ÉJƒ4„A ÖÄõÉ™K#š 9: ”Ò@tJ­#‰™FQ$SyàX²Åµä�Ê’W�SPj!QŒG嘙 $ªr')dÿTɆÈ�¦£®kû@ñº9„ ú‰ëäò‹ØÁô¦®ú8È'Žù©jsý'.âi½²ú2ÐñÛó8Ë.«GI¼=ô§28Žr-íWM®?O „(âÏÎ(>yvvò„HŠåËq93±z°¡`—žš™Ù «)#º<•¢ók)OBrß."C£«*h_ÎØû%ž0°ðöÕÊåK¦¨–‡Œu"GŒ¡bµ.jÇg€F2 O¼ÓH#ÂuÀ¤ã42n”mW*• ‹3ÀèÅ*q� ¨F5‚y5  b œ–ËÄ�Ù2Ï8Êú˜ô»õòÓ &PC>&0PtÛ•w蹇Æç)®a ËË'—´0§â…N´Ò$м »öÜуCà–¡? ­EªÄ‰´À) õŽ—¢aÒêŸ&ü±$xé&pÍÆ0%¯Ñš{g>(MA­Þñ�¥;¾¦•�ÿ”ÔK…bñþoV0, €™ AĹ*=ÑšR�ˆX‘ u°wö„jÒ½¶|PЫMù´à˜À|€4¹# A—˜"&¬�¨Õ2‚OêêHI€.‹�%/¶ ³uµIö˜,㎂ñµöÄC,È“ÈA¡(6;àÓLhâf¹qŠKÉðGÇçØš#ë-�-X2MõŒH@)áDÆ~d+rŠÑ¥ešÎ>ˆFL~i€àÀlNæuvhaœfFR†&ÁO# åŠ%Ç1 ’LÄ À/�<~Pâr�P (|)VÉú‰$8=-qô·{¥/Ãô¤�* W×àÂMìéÜ[ÿ÷½È.ÄIý=? ¹T„‰FC‘¸† Ë€g Ÿ»–Éj*˜”êX¬^¨ ë"ç•‚‘!�ÖØ\S v}fs�(b\ŠçN²™¤ 6%)´_U HK^�Ûˆ £ãä>!TáÿNÊÛ|�w†0ßuü%}S_º¥~t@Zò˜-#ËæIo®Õþl稹L3¿ó’”Œ ¼ R:¿qÀýúÑÎúcék¤®Utžrûù‚�¹$>ŹÈKŠÈýÌ3øÄðÏÒêð9nÆ¥¨3…/KÀ±¥^·JbüÓ'�ºÐá @á©0€‰q‘ìJSá~9^j¶Ðûw‡%´â2ÚPÀ4,Z&Ç­Iès®­¥Kº>B è!"9è·›‚œÀ]‚ô]¤xc¤ê‹ýrà¸pê[Y%°¨ŠÀö"Ë*ñ‚Ôcò|~’ƒì_Nh†T35ì)B@sÊz¿­ˆ¿ªW1p•@ÎTèˆX%éy®ï‹B*P8ÊH&14GÞ_@'ú!ì‰ÎqÙ9¬S,œéœú+OœÀƒ¼œèUz%Lj£€«�Â<|?soßðÁ Rÿ|uuÿI4ÙéZ � ¨EÅ,DQ ¯ãäÕƒW�Mñ»ïûÉ« ¯h¢'ªÍs¾´ìä¾4އ_‹¶úRþâï@ÆNq3+ŒidÜs²�g7ϸ\MmÐà•^ìv$Ö€D<Šb<ºøyï%Â@�ô„C)^z†DœÊí|N€©Ñ9 ä²W¸G}‹þøœYéÒJ—äˆóY·÷Å��x;vâíb'þÅz?Ý_½^äü÷…óÿ^ü‘¡€.EÚãxåì¡»Þ~qÃÈÀót``Zègpx?§õ\Àà(0°‹çù8Àùœ€Á4_pš ~áI¤Uv¯ðL‹“$¬­ýŽ!pa1ø£GQ"z‹v÷ª + �ÎóÒÿqU6…›•6¶·�k­³À°lt"qÞ˜[PÄÓ}i]àöGÖ:>…½r‰Éò"J´g‘ºQ¸<­%¶Ü3kH‡:f|´�Ç)çWéÊ)Ö~áÈ�¨LìxÓ®\ÑIÂã’” ©lH´¸\ U" ý¤ÃŒ“¨­.d¤õ\f.P6½…„L´-ÖÕ/•Ö@i×5UiÂ<ÀSC>]Ÿ”ãܸö*nÓºº¼.Wx¿�¯çd ŸâNUkþ.[0M/ñ®K­þ�k®J×QÂsÏòúJö©¸ì2Xw¯%cÝ/Y´ wW7+žØOl‰‡G�‚9˜€±€„ â ‹@ê[½„g¸"úzŒ*­_^fD8w}]Õ40HIxf¦öyj³“\ ƒi–Þ(‰—ºÖ2=' KÊÃô>ÉP¶ >SAk:”vÚËWÏ1ÏÏô0V ^ïê*¬€áÑ9£g`žÞ?‹ ÐbhW-Tû¥°"Wþ„=¸‡î$’QlãóT¹ºrÀàÇòúY9v@$?—Á@Óö~j}(kO†ÅöäIÎʹ’Í?¢šÇqï(ƃÁü sægÜbéðìÌFy�ý/zéY%¹Ká%ïÊ®¡„žýÁø¡Tª<Ü+(‘¨^f“€$÷/Âòmp_J-U«—göÝwRž(‰Û6ÁÓ;9 .¸(X³ø”%˜ëL³,žÀ°7ÁÀ:ÃÖ)DÓ›=¶LœiŠÛ<ík{$Qür×w}a Š£½Õj½R«´g|凿 6eæŽÿ¯^1ù…ëܽ} z†²{µÄØ6Ï>úg.…˜Î.úTÕ™ñѸÈŸst_|\|Þ ëTÆÃ1žH€8®>g[©ïð­fƒo4¹r�ýÎ~Ã{– UîýÙdÉWÇñ^Ü÷Û] ѪÕê[¦¸hZßýz*Kix¿6x»S]ºßŒþ¢þŸ'„Ù3¶[½þN!â»&âö�±U™ÐÅ Ë?`/¯3 ÏÖ§@²spO ¬ÀÊá¹ER;µÍ¹ŠµWof2®ž7ª!ø/~µžkóÀ´‚÷ï^5âùæúÅÈŽ‘ywôty›PÁ÷p²íA}…®¹€á2 ñð*}¼Í…¡–c£+¿¹žù¯µ`[•z¥%ꈛS¢T¾ãíÞK.rR¾¼÷ÈÞji¯½?-Ì?T›*µ•z«¿7›ìÈèžõ¡ºÑÜúPiÖ¯Ù>ÁqÌýà•ë‹Y6]�ì0¼ÝU¹¼\Á$œý™E³æÌ2�3uÉì™;,ÆR5­ÈP˜;š ŽDEöÆcÏ¡ê^1 Œ"®¯Ž�^¶7i«ÛÔè–’‚Ê/Ü F1¾"RþûÝçž÷@Þ/Æ!/DŠà»pœWã‚™Z³`GÙ]XL†9A-zYvÚ¶â)nfÀ} ‡ÛöÔí ]ƒØ!ð@ÐT_ï·>~üeÿ‡.?>_í·àý±2¿wbÁVWκ¶á|’Œ…׈bì‡9®‡b�¤Ú"ްFF~€®ìÔj€3-d‚eŠ/«Ç�óâ`]ÔñŸÑ‘eG±2º:°t"+˜ž�aÐ(……XÎáõU\”†·{œf=}ᘼ~ÊR¦ÍüŸùN$�¡¸«ˆúƬÕ[L1q}•'Íë„emnv§}œ§^ñÓ¨’FA6âଛtË« ˜ÈÀ’ÐEîZb3þ¶åŒéK¼n‹ÎG”&gyÔpD/h(š¼ £� C×�¨+G²$íøG­&,>ª7 8Íø©†5ƒ þ�iF7‹ÆˆHq$1 »#+ˆ1Aѹ»x$óóC΢”GˆÝ™Ñ½«jؘïc~^Ý:I:¡!cPï)PƒR¶‘½º »……¢ûÚŠ¬ñ³HGB!£æØ<=ÉñHg$r™®PÛÎL 42iýu–ÁS‘ÄDÂÃÇ‘GB‚)¸ �*Cª–‘u@O�o¤³) µÕF–Ý�È®¹ž†ÙU¥@qHi=O0,(² {`™�§Œ§`™Â°Íç¼,´Ý�ñHÆ>' eYÜO8I|·¾d�(˯Ê`î¯Ç¥)›¸ÜÇ+/�bî\ó�¢ÒKŠ O�h[L‹a+ê.M¹uEŠüÖlŽó>f²W/Ÿ­ý¸ÝhÖ:é¥Z»ø [ógä¼ýsI•áþ¨îbÈN�&€p=gíízÍÈ¢ø8„ÀŒõM•a±ü¨¤Y½ h—°!î»XÁE$í,*Ì 3ÓgÜY¬õ,¯gËÛÝ3ê¼M‘’›¦KF*ÞÓ±`Ñmw‡5^sÆ 6_S,À+^›ÛOŸ>EfôU㉷‘C#`×A†ªouÖ·œ=´XÒÜd¹áø´‰ Ž4Œû÷C�Ç`Ïâ÷ÐxCŽDèq•=’”YP…øTÀ]²63×wp¹®˜Åˆs–]rD“êq åÙº¥òlÝ)ϹÊÓvÁ% 8tðÃxa )@ï® �25z¾ÓŸß“þœ?ÈGIªËCùü¿ 2kw*s±Êl²:;ž¸ ðºF&î_Ç%üÀðU*Aˆ@û×7zCæb†T�0m|îê÷+ ¿õ‰Sp‰9óø ´ñÜGŠ�^6“䌳T¬*ŒãÍšøìÃ,@ �shý›jÓíÍÛiÓíÍ;mZ¬M·¤ù�û“ÿŠtཡq§7¿'½�ész¸ÿ]hÅ­B­ø�О²ÆÆ�N\¬ _2ül0üé»®�Ç#Àç#Orê†l‚>æhÊl@쯢äf¯,Ûb¯ ü˜–Ê&CWj8 9y…] æÜÀê�Λ¸#éà`¦ Órˆ§2 6áýqèûS•ùî·Õu�[êºÆ××uÈ\ÿõŠndÁ þ•½Eé×ÞE\#ÍGl7_í=\¹ŠÎ£¢ßZá-ß'”ûý‡ZhÈzýNC.óì-j?«Çº®Û§m,_1´*‚¦çd·øì³Ép�lûˆ¥þ�Þ9FQÑ¡Ä8)^�ðt€)¼¿Ý?€kè>¾¢ú”TY7$ÇÒ�òtw@7ݰ‹_^¥ìs»¯~S͹uK/qëÎKœ«<}~1ý¯ˆ¸"ž¸eÍ1îtè÷ì=.è#Èe‡”û¿ªLwºt™·Ù 7ä#]œÌ°S ïtã#Ž·IpÇ/R^'†cÁB°¾íNPã Kh1Ç=á�‰ �áºY F�Áè›Ûl`ã—GÕ”&� õ‡÷×â½E¨{'ßxs«yKmÚ¼Ó¦ÅÚt£úÉð Y C¯Üÿ+kÓpŒçB}ozBö–�²ð�Rý®”ê*ã}„ïì± :‘pœ}"Eöêûд…šö•1ew»ƒ–(Úz¼;ÈIy©rƒ²³­Oøñ×*ô ú ‚ɽʹ7Äöznh›¬‹1[¼@ý^¢;ÆÊLTqÔoŽ~,Í­ ;rUfó Z<ý¶ÚµvKíZ»Ó®ÅÚµU5|Ëp —îƒû kW~á[h¸öç«~Ïjuñ@P.ˆæ.ÿ®}ÕVñ†¡±¢¨±s§DWY%g•›K Ÿ]k ÂÀL¬-øQ�¦`:P­1ë]Ë�àò)~TáÜ2qu5À–1ܸ¦1½Ïö‡Ô,Þ/‹nm—Ŭ~hÓf[RÜ´]$‚Jß� dÔ«ßRŸnÞr¿íæÝ~ÛùúÔÆ/„8¦gh0ë/í²Â”Ð`JÓ;½úÝëÕ¥cýäã,ð?®][wÚu™‹Ú`O„2 ¦ªôÚ| |Uö}&v'}×´9'‹·Í4ïv&-Ý™Ôb/¥.£ë‚@aù´¯È�ÎgÊaƒ,vX�hùÕu8ûˆÛ“&î'Žû–hC]n~¨OgDGœ6ïÆç_è"RfÈS/ �ÙüVŽ:Ô+î$þ¦^éÆ-w$mü‰;’X` ´!Tê¹ϦF'ƒð9ðå�-AŒz`RÚ®LE{o•øïVÅ=RþʪX¬Á Ý Þƒ…·øçGï[5¯^î�½X}Å{¬ŸÈ Øù²Âÿ¬olÝéðå µI˜”21ŸÊB;ð ÐÕ#ã3¨r{Ê€YÄŽøÝ°`HêzDêlÂ}пbi—Ÿs¯¬âF(ÜÔ4à�ðq¹ÉºSRù´[Ù†¤)„Sq67(ûì�T"ësü£Cñ·Uæ·<˜³ñ'Ìù>BÌ�ªØÈùVÀ(~ånÓ»¸ò÷®q—6*W±½øû�,7 uê3âßðîí¬¢V[ì˜BÅ´v*ù9‹bÃ0”ѱtœå)HÀM6é3‡™}ņib;’'¨¸?Qˆ4)ßc�å *›rÿÛªÕæ-ïñmÞÝã;W­}ËûôWö[aôîTæ÷¤2Å€‚ÿp ¼¼45 ;8Ãý¯jÇÖ�r\Þ%?T¬½Ê#5äu)žK¾âK˜$ÅàÕHâZ¼Cɩɸ”³¾çŽp±â7‘x’â› ¥¡�•Tf)×RBíZƒûe\›¥Ë#Œ jÔoª·SŠ��;¥X¬ëPØõ çŸ,/ø kÆ1Ä×r嚚ߺ®�Ùè}ˆ·»C®ß¡ý²�K¥“•Ô#Ê'… ÊU¼}?]iþÍÖ×î¹Ð²�Ú�š]áf_T³ò� ]+!½L�,á8FRu08žx°4ÍX\¨Ä“{'H.ãnàOSŒ«”h9ŽK±áøh {—ý¡1Æ;,h3i`[ðxQ[ÛÓoë�ÞrSTó¹ª_ÃAÿ +^yáðݦâï^Ó.iñm™ï}gñr•Z߸S©Ëú/蚥]JxäâýICy?¾XFŽDto}tÄ�§âÌ$ý‡×�pw1ÈY\k�¶OŒ©Šñ^Óò{ø™?pR RÈ!ÞÇDš–ÊWØ!íQ¢/ÿDtS£ŸÓ<âC�¿"Å(•(îž¶úÓˆ¦s¾Ózï‡GøÇH�%_hËŸWÏ|}ý-I¡Tîî½~x4lD üžÇ9~*¿æ¨!^`6çêÀnPµT_¢¯çúiÁ:öø¹øÜ®âìð¿�±±ju³:ûÑKà[�>6ïɧ/ï¥Ú½y“Ên]Ë(Ö®Z�ûÈø{›å}¨ûŒ¾?¹ŠÄÊ1| ‡YÔb˜ˆ_õÆ{h?M D9`"jŠ� ƒ|Ã|óäÄ2<Ð � Ñgœ�èc›�€9± t凸K Qk‚Îi;OdPé¤x„¢;:#[k嚸úh¸ƒ“I/'p»ÞAG€¼ÉM|›ÑNS�°aÙ¨hM#ERθŽüèZN¥k p]3@EŒ‡ð‘1á¥÷©úz¿õùðã/øoãðãÁÅáÇWµWO_í·&‡#§‚Ïá{½…gÁ d ¿ÚªÕ.ð_}%Åé^ aGÜ´Œ3rY´†’%QŠ˜©b_HÌWœÓ…ÃlŒà.nËp ¶ïz¦Û5Ò„-¢Và�D…ž(?C®ƒðÕQëþ!‰ˆT’N€U0Ô•Æ}rd3]©oÕ�{–�°Ð3kÔªõZµ¡ù=(lQ£žUÔTÜÙj2¼’Ãè ‘óµ~>}Ÿ¤sû�#ãB#TÛ¬^«ý½#Qm3ü.zGÁ­c.~7ìCêô†Ñ»m|žR_|ü¾ô­»Ã�R•ÝÐ6ðÚFs“ ÁóÍmmn_lÔ[žo¨è\Ôk�m…o7‡Õ¨µ¶/êÍ­º ¼MSa·»*+¥)9¾(〞C›â¿yžš…E‚móÏlÇ0 ŸXƒ.:‚�¶*&¢mËÅpQq¢þæzö×�x~4‰‡¡3ˆ¼ãŠÃƒìžÈ ï>]Ä“8ÿáô”ð‹eÁý#�S,ä~H>RNŠ‹¾NÍ~ŒU›ýœ´,¸ÀHéw€VM”:­°ç|;VºÙï^�,ßçfôñò‹ kþ:†,>7”E_É^}(ôVV‹¶P FðÛ|oP~ÿ:.‹C1¿ô°µû;z~ÔÃù�„Õ½µy8É®6‹°É“Ĉ~è}“�CÛÇ.耀›_—¢Ø]úæ S�Å.‚ÅõuË Z‡ÎvZÍZ]d (ó»{ºþ¢3«ˆDE,½¬Îÿj¸�Ê$!?9W‰r-72Ô•·Üƒ ÜŒ¸m&/çéú �P«Äî±å¡ÂE#ÿ 66ªµÍ9»;œ5èÂÙÆF~l¿ÏpaRè+nÒ»‹$uQ…ï]²7ÑPíÃpýIR}‚kC7I;¡ç߉õÿ±¾tàŠåú ¨F·�³×Xm�`_±äÿŒd¯oÝIöeYw’ý‹löÙìÍÖöŸe³÷<üz+ÞJßÇžŽ˜ÝYðÿU¢þËF±XîïÇ0ÀZO`,³îoRíG#4î4²¬;�ð%¶~m§úòÕó³��Ú–Æë›;ÛõÖÆÎVmçÏ êÒ½©°#núºS ùŸo®V»9Áª)ŒûÅ;¼0À³ráïKðÏÿ¦PãÎXšõ5ä~Fáî¬ì¶ ½à‡={óæøà{üîà1+*�Y-zÔw]Ü´W¼E¢?= iöŽi¶1-ÜÐ hágq]D€ÓR[*–é²ÂJ –�r+PBxµE£Â…Ì�Â…Ìx§ ØŠ0_:O݉sÈûA¬p¿`­ó&[/nÛS·7tg·ü2� ± ùøf;.º¶Ó¨ý³Q«ý³¾dßEš\[Mr#׳»³¤ª~|q+R!d¤ÔE}w¨ ¬þŠ”Úþ‹R D'høžeÎPë÷ðµU¸?eUR ÐÚîåÙ¨sÕ�˜1rÁº@:Þ›)š^Ã^$]£ ޹šðúYW,ãºn€#sk7¯¦I_ÖÁ}­¤$—o©ËÊÊ‚c/óÄg⮴橹‚µøÍ�fÏÈ�õã®°ä_ky×g77øâ`žáà>%¹“8¥Ç™rdwÊa]ÍœU˜‡û™‡îÆ&2-ßdNŒç·gÂ4õ¬1n³�­2Ss\g¼.eªâ+]ï¾Çpó�Éazóû ð¥çW §&þ¬<Êb{¸ØãN� Ï6…vz†Û³Œydfª¦Ì­m)MõkACû«{_Y.}‘<¢ …‚¦çާr+ðj‡!Ëœlª¥‹„1.|¦Ì;õ3ï@C~~M\Ϥkë*0ŪsØå­ç†¦=xÂ=qéëoPï-Á(je^ ã™ù| è_ENPa…c˜�¼=‹v€é†ãÉ„¾ÇA”`Úa ˆÄ%jxäDÙ}M9ä}B–Á”@`€,Gátç#ˆJqÇ è¾âþ£L•¹cO«Ê”ÈË黲nñ“™dh‹Ã hÇ^$÷@½ÆFÜ ÅS&#Oƒ°ånksxA’ ém[KÄ­ûgôdzîØcOÀ$­Q„Î Nt× ƒj¬Pü•¹Bî Çv®[ºÔ´*Úw(=ɬOšör«B‚¥œ^™"«ä]âêÄ3ÆãÔ~Å4h¯õ<×¶Ù± ÿ� h4Ÿ~Œ�ôÀ8 Ç o… À0Ç©àêÌQUqò"§Žöä±`Õ lVüíÞ#¡áéh1H™1ï…6_òBq8øÏ'õyÐ*í“KÅwC¯Ç•¶bº½·l+ªB PÚ— X1T»vˆ÷†¢­T*×ê¥â¸Êfž(·}XÇ ŸEhæ¡|ËGtóéù÷±,g¶\VÞQîÃöJ•õ²rz�BÏç¸Ã×õRø' Üþ?ýé9ÝÉåTYR§â¸ZD8•¥ß˜uO¯U%¾ÅŠš>÷Î�òç\�Ü{ çi`ð ÄéˆGzD‡Y4ŸÓ ïù„³3:ÁÖnwyßõ8´œ8sIY «�Ù°‘)%Ï’dk�ÔÉBK¶¡[IŽ4S•‡›Q.»DÜHúmf9À3VÐÁŒk<êRM:±¤äÉ�ƹ!Rª„=Ìf�¡MÆ#€XÒD9”ñÕ¤°ÂXµxÐ/'¸ù/W­ ^"U’G]¯‚¾Ç(P^[‹Xºèˆ£8O¦/͵µ‰å€à¬¦yp‰‡–<޹%ehøÃÞýQEíÃtÆU*_ž}•ëКd,Wñîh:ƒR½Ü©þëä±ö¹¦íœi§ë?U¾°+ú!ó«ÿ*íµ�+ÁŒW–3ƒ«n¾Ÿs…´A[®üSD� ƒ× éËWWôÒ}é˜üB×êe5¨ô¡!¿T._«÷%1>‚ñù+�,&c÷ æ{dBÖ´�¾ñþ=¤Ö&œX¯9Lg `>g¡gÃŒY¸$dýÖ°Ž/ˆÂÙİ`Ò*à¦xÌÆ�ìxü�7ùãµP�â²Ëq5vì¹=Ž{¨+ì­Í Ÿ3¬‰_»ZÀü•J%‚x,>Eë.paŒQ:õ¹Ö`\cÚ�5¶Q޾2.¬Q8bâ`žç…ú´ŒË(`BÂd�ZþÐ�œÉÓ,P©%õ“”ëνjõG&ôûw‡ú\Ò¦„ËŸ=–ù꫟&ê I!ÁÕðcýiµ¾µSÛÚnìl6ª yà§2£&›;|£¶ÑìU ¹òOÙþGzZÿÏ÷Ô¬ÕûµnÓü3{*Kixþ.àƒ)Ú÷}0îý)"Dã?OˆÍ­�ZmkË("DwvБ KîŠÃ¡ûØŠpËÞjoÆ�5²>sV|¶Æe¦Å‡žnŒÂ±éý ÂÓ•…«Pì%ÇÈ5­¾…S4¾Ù I«X›¬ÕÆ/Y�Xéýñ~»V&Ûëÿ@d×V