/var/softaculous/cmssimple/upgrade
NameSizeModeActions
cmsms-2.2.24-install.php90636110644editdlrm
Edit: /var/softaculous/cmssimple/upgrade/cmsms-2.2.24-install.php (9063611B)
2, 'c' => 'text/plain', 'cc' => 'text/plain', 'cpp' => 'text/plain', 'c++' => 'text/plain', 'dtd' => 'text/plain', 'h' => 'text/plain', 'log' => 'text/plain', 'rng' => 'text/plain', 'txt' => 'text/plain', 'xsd' => 'text/plain', 'php' => 1, 'inc' => 1, 'avi' => 'video/avi', 'bmp' => 'image/bmp', 'css' => 'text/css', 'gif' => 'image/gif', 'htm' => 'text/html', 'html' => 'text/html', 'htmls' => 'text/html', 'ico' => 'image/x-ico', 'jpe' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'js' => 'application/x-javascript', 'midi' => 'audio/midi', 'mid' => 'audio/midi', 'mod' => 'audio/mod', 'mov' => 'movie/quicktime', 'mp3' => 'audio/mp3', 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'pdf' => 'application/pdf', 'png' => 'image/png', 'swf' => 'application/shockwave-flash', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'wav' => 'audio/wav', 'xbm' => 'image/xbm', 'xml' => 'text/xml', ); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); $basename = basename(__FILE__); if (!strpos($_SERVER['REQUEST_URI'], $basename)) { chdir(Extract_Phar::$temp); include $web; return; } $pt = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], $basename) + strlen($basename)); if (!$pt || $pt == '/') { $pt = $web; header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $_SERVER['REQUEST_URI'] . '/' . $pt); exit; } $a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt); if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) { header('HTTP/1.0 404 Not Found'); echo "\n \n File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>"; exit; } $b = pathinfo($a); if (!isset($b['extension'])) { header('Content-Type: text/plain'); header('Content-Length: ' . filesize($a)); readfile($a); exit; } if (isset($mimes[$b['extension']])) { if ($mimes[$b['extension']] === 1) { include $a; exit; } if ($mimes[$b['extension']] === 2) { highlight_file($a); exit; } header('Content-Type: ' .$mimes[$b['extension']]); header('Content-Length: ' . filesize($a)); readfile($a); exit; } } class Extract_Phar { static $temp; static $origdir; const GZ = 0x1000; const BZ2 = 0x2000; const MASK = 0x3000; const START = 'index.php'; const LEN = 6643; static function go($return = false) { $fp = fopen(__FILE__, 'rb'); fseek($fp, self::LEN); $L = unpack('V', $a = fread($fp, 4)); $m = ''; do { $read = 8192; if ($L[1] - strlen($m) < 8192) { $read = $L[1] - strlen($m); } $last = fread($fp, $read); $m .= $last; } while (strlen($last) && strlen($m) < $L[1]); if (strlen($m) < $L[1]) { die('ERROR: manifest length read was "' . strlen($m) .'" should be "' . $L[1] . '"'); } $info = self::_unpack($m); $f = $info['c']; if ($f & self::GZ) { if (!function_exists('gzinflate')) { die('Error: zlib extension is not enabled -' . ' gzinflate() function needed for zlib-compressed .phars'); } } if ($f & self::BZ2) { if (!function_exists('bzdecompress')) { die('Error: bzip2 extension is not enabled -' . ' bzdecompress() function needed for bz2-compressed .phars'); } } $temp = self::tmpdir(); if (!$temp || !is_writable($temp)) { $sessionpath = session_save_path(); if (strpos ($sessionpath, ";") !== false) $sessionpath = substr ($sessionpath, strpos ($sessionpath, ";")+1); if (!file_exists($sessionpath) || !is_dir($sessionpath)) { die('Could not locate temporary directory to extract phar'); } $temp = $sessionpath; } $temp .= '/pharextract/'.basename(__FILE__, '.phar'); self::$temp = $temp; self::$origdir = getcwd(); @mkdir($temp, 0777, true); $temp = realpath($temp); if (!file_exists($temp . DIRECTORY_SEPARATOR . md5_file(__FILE__))) { self::_removeTmpFiles($temp, getcwd()); @mkdir($temp, 0777, true); @file_put_contents($temp . '/' . md5_file(__FILE__), ''); foreach ($info['m'] as $path => $file) { $a = !file_exists(dirname($temp . '/' . $path)); @mkdir(dirname($temp . '/' . $path), 0777, true); clearstatcache(); if ($path[strlen($path) - 1] == '/') { @mkdir($temp . '/' . $path, 0777); } else { file_put_contents($temp . '/' . $path, self::extractFile($path, $file, $fp)); @chmod($temp . '/' . $path, 0666); } } } chdir($temp); if (!$return) { include self::START; } } static function tmpdir() { if (strpos(PHP_OS, 'WIN') !== false) { if ($var = getenv('TMP') ? getenv('TMP') : getenv('TEMP')) { return $var; } if (is_dir('/temp') || mkdir('/temp')) { return realpath('/temp'); } return false; } if ($var = getenv('TMPDIR')) { return $var; } return realpath('/tmp'); } static function _unpack($m) { $info = unpack('V', substr($m, 0, 4)); $l = unpack('V', substr($m, 10, 4)); $m = substr($m, 14 + $l[1]); $s = unpack('V', substr($m, 0, 4)); $o = 0; $start = 4 + $s[1]; $ret['c'] = 0; for ($i = 0; $i < $info[1]; $i++) { $len = unpack('V', substr($m, $start, 4)); $start += 4; $savepath = substr($m, $start, $len[1]); $start += $len[1]; $ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24))); $ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3] & 0xffffffff); $ret['m'][$savepath][7] = $o; $o += $ret['m'][$savepath][2]; $start += 24 + $ret['m'][$savepath][5]; $ret['c'] |= $ret['m'][$savepath][4] & self::MASK; } return $ret; } static function extractFile($path, $entry, $fp) { $data = ''; $c = $entry[2]; while ($c) { if ($c < 8192) { $data .= @fread($fp, $c); $c = 0; } else { $c -= 8192; $data .= @fread($fp, 8192); } } if ($entry[4] & self::GZ) { $data = gzinflate($data); } elseif ($entry[4] & self::BZ2) { $data = bzdecompress($data); } if (strlen($data) != $entry[0]) { die("Invalid internal .phar file (size error " . strlen($data) . " != " . $stat[7] . ")"); } if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) { die("Invalid internal .phar file (checksum error)"); } return $data; } static function _removeTmpFiles($temp, $origdir) { chdir($temp); foreach (glob('*') as $f) { if (file_exists($f)) { is_dir($f) ? @rmdir($f) : @unlink($f); if (file_exists($f) && is_dir($f)) { self::_removeTmpFiles($f, getcwd()); } } } @rmdir($temp); clearstatcache(); chdir($origdir); } } Extract_Phar::go(); __HALT_COMPILER(); ?> K�������������������README-PHAR.TXT4��aj4�� �"Ӷ������ ���README.TXT4��aj4��GtŶ���������app/README.txt-��aj-��8���������app/assets/css/install.cssj��ajj��5Fn���������app/assets/fonts/cmsms-ui.eot| ��aj| ��#���������app/assets/fonts/cmsms-ui.svg��aj��T{���������app/assets/fonts/cmsms-ui.ttf ��aj ��1���������app/assets/fonts/cmsms-ui.woff ��aj ��=���������app/assets/fonts/selection.json)��aj)�� ������ ���app/assets/images/cmsms-logo.png��aj��06���������app/assets/images/favicon.ico~��aj~��gܶ������"���app/assets/js/css3-mediaqueries.js[:��aj[:�����������app/assets/js/functions.js ��aj ��z���������app/assets/js/functions.min.js��aj��P���������app/assets/js/html5.js ��aj ��/gc������&���app/assets/vendor/jquery-1.11.2.min.jsv�ajv�'������L���app/assets/vendor/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png��aj��<������L���app/assets/vendor/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png_��aj_��$ٶ������B���app/assets/vendor/jquery-ui/images/ui-bg_flat_10_000000_40x100.png���aj���������C���app/assets/vendor/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png-��aj-��޶������C���app/assets/vendor/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png��aj��Η������B���app/assets/vendor/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png���aj���%;%������I���app/assets/vendor/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png��aj��K,;������L���app/assets/vendor/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png=��aj=���5������K���app/assets/vendor/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.pngo��ajo��f������>���app/assets/vendor/jquery-ui/images/ui-icons_222222_256x240.png^��aj^��C[Z������>���app/assets/vendor/jquery-ui/images/ui-icons_228ef1_256x240.png��aj��$ﳶ������>���app/assets/vendor/jquery-ui/images/ui-icons_ef8c08_256x240.png��aj��=������>���app/assets/vendor/jquery-ui/images/ui-icons_ffd27a_256x240.png��aj��\������>���app/assets/vendor/jquery-ui/images/ui-icons_ffffff_256x240.pngD��ajD��` ������-���app/assets/vendor/jquery-ui/jquery-ui.min.cssu��aju��1`������,���app/assets/vendor/jquery-ui/jquery-ui.min.jsا�ajا�9������ ���app/build.ini��aj��<Jl���������app/class.cms_install.phpT��ajT��J8p������ ���app/cli.php"���aj"���N3׶���������app/config.ini��aj��cv���������app/install/base.php'��aj'��KL���������app/install/createseq.php��aj��A���������app/install/extra.php�aj�{���������app/install/initial.php��aj��2T���������app/install/schema.phpEf��ajEf��B���������app/install_profiles/README.txt��aj�� ������/���app/install_profiles/default/generic/footer.tpl���aj���������7���app/install_profiles/default/generic/simplex_footer.tpl��aj��1������:���app/install_profiles/default/generic/simplex_slideshow.tpl���aj��� g������(���app/install_profiles/default/install.php ��aj ��GA������0���app/install_profiles/default/manifest/copies.php��aj��/a������1���app/install_profiles/default/manifest/designs.php ��aj ��}������/���app/install_profiles/default/manifest/pages.php9��aj9��0.������5���app/install_profiles/default/manifest/stylesheets.phpQ��ajQ��G������8���app/install_profiles/default/manifest/template_types.phpU��ajU��=ö������3���app/install_profiles/default/manifest/templates.php��aj��h������U���app/install_profiles/default/module_templates/navigator/Simplex_Footer_Navigation.tpl��aj��J0������S���app/install_profiles/default/module_templates/navigator/Simplex_Main_Navigation.tpl��aj��fN������N���app/install_profiles/default/module_templates/news/Simplex_Detail_template.tpl��aj��ݬ*)������O���app/install_profiles/default/module_templates/news/Summary_Simplex_template.tpl_ ��aj_ ��{0^������P���app/install_profiles/default/module_templates/search/Simplex_Search_template.tpl��aj��)d������&���app/install_profiles/default/pages.phpj��ajj��,(������0���app/install_profiles/default/pages/0553_home.tpl]��aj]��V������;���app/install_profiles/default/pages/0575_how-cmsms-works.tpl��aj��͆������E���app/install_profiles/default/pages/0593_templates-and-stylesheets.tpl ��aj ��������@���app/install_profiles/default/pages/0611_pages-and-navigation.tpl��aj��I������3���app/install_profiles/default/pages/0630_content.tpl] ��aj] ��?޶������8���app/install_profiles/default/pages/0648_menu-manager.tpl��aj���H������6���app/install_profiles/default/pages/0666_extensions.tpl ��aj ���������9���app/install_profiles/default/pages/0684_event-manager.tpl5��aj5��_ϸ������4���app/install_profiles/default/pages/0702_workflow.tpl��aj��Jö������?���app/install_profiles/default/pages/0720_where-do-i-get-help.tpl��aj��J44������=���app/install_profiles/default/pages/0743_default-templates.tpl��aj��㜉,������4���app/install_profiles/default/pages/0762_cms-tags.tpl%��aj%��A������3���app/install_profiles/default/pages/0781_navleft.tpl��aj��$������4���app/install_profiles/default/pages/0800_top-left.tpl5 ��aj5 ��=������>���app/install_profiles/default/pages/0819_cssmenu-horizontal.tpl0��aj0��K������F���app/install_profiles/default/pages/0821_cssmenu-horizontal_sidebar.tpl��aj��W>������<���app/install_profiles/default/pages/0840_cssmenu-vertical.tpl��aj��'$������<���app/install_profiles/default/pages/0858_minimal-template.tpl��aj��c������6���app/install_profiles/default/pages/0876_higher-end.tpl��aj�� 0������6���app/install_profiles/default/pages/0894_ncleanblue.tpl���aj���C'������D���app/install_profiles/default/pages/0912_shadowmenu-tab-2-columns.tpl��aj��w@Ķ������L���app/install_profiles/default/pages/0914_shadowmenu-tab-2-columns_sidebar.tpl-��aj-��w i������D���app/install_profiles/default/pages/0932_shadowmenu-left-1-column.tpl��aj��v1������>���app/install_profiles/default/pages/0949_welcome-to-simplex.tpl��aj��������>���app/install_profiles/default/pages/0971_default-extensions.tplb��ajb��H<������3���app/install_profiles/default/pages/0989_modules.tplj��ajj��Zt������0���app/install_profiles/default/pages/1007_news.tpl��aj��q������:���app/install_profiles/default/pages/1026_menu-manager-2.tpl���aj��� ������9���app/install_profiles/default/pages/1044_theme-manager.tplB��ajB��gR������5���app/install_profiles/default/pages/1062_microtiny.tplk��ajk��`ה������2���app/install_profiles/default/pages/1081_search.tplS��ajS��qo������:���app/install_profiles/default/pages/1100_module-manager.tpl��aj��������0���app/install_profiles/default/pages/1119_tags.tpl��aj��q*������4���app/install_profiles/default/pages/1137_cms-tags.tpl��aj��׶������=���app/install_profiles/default/pages/1155_user-defined-tags.tpl��aj��-������-���app/install_profiles/default/post_install.phpe��aje��oݶ������)���app/install_profiles/default/profile.json��aj��s�?������0���app/install_profiles/default/profile_helpers.php ��aj ��ԌN������G���app/install_profiles/default/stylesheets/accessibility_crossbrowser.cssc ��ajc ��-s������5���app/install_profiles/default/stylesheets/handheld.css��aj��������E���app/install_profiles/default/stylesheets/layout_left_sidebar_1col.css+��aj+��gk������A���app/install_profiles/default/stylesheets/layout_top_menu_2col.css)��aj)��}������8���app/install_profiles/default/stylesheets/module_news.css��aj��ö������J���app/install_profiles/default/stylesheets/navigation_cssmenu_horizontal.css��aj�� ������H���app/install_profiles/default/stylesheets/navigation_cssmenu_vertical.css��aj��/������C���app/install_profiles/default/stylesheets/navigation_fatfootmenu.css��aj��}������M���app/install_profiles/default/stylesheets/navigation_shadowmenu_horizontal.cssN��ajN��.F������K���app/install_profiles/default/stylesheets/navigation_shadowmenu_vertical.css)L��aj)L��X4������I���app/install_profiles/default/stylesheets/navigation_simple_horizontal.css ��aj ��ŞL������G���app/install_profiles/default/stylesheets/navigation_simple_vertical.css��aj��@������<���app/install_profiles/default/stylesheets/ncleanblue_core.css ��aj ��$H������>���app/install_profiles/default/stylesheets/ncleanblue_layout.css<��aj<��|5ն������=���app/install_profiles/default/stylesheets/ncleanblue_utils.css��aj��ִK������2���app/install_profiles/default/stylesheets/print.css-��aj-��1ّ������9���app/install_profiles/default/stylesheets/simplex_core.cssC��ajC��V-������;���app/install_profiles/default/stylesheets/simplex_layout.css5��aj5�� $P������:���app/install_profiles/default/stylesheets/simplex_print.cssO��ajO��BM������>���app/install_profiles/default/stylesheets/simplex_slideshow.css+��aj+��0t������<���app/install_profiles/default/templates/cssmenu_left_1col.tpl��aj��; Uܶ������;���app/install_profiles/default/templates/cssmenu_top_2col.tpl��aj��lͶ������:���app/install_profiles/default/templates/leftsimple_1col.tpl��aj��o������2���app/install_profiles/default/templates/minimal.tpl��aj��>������5���app/install_profiles/default/templates/ncleanblue.tpl��aj��ţ������?���app/install_profiles/default/templates/shadowmenu_left_1col.tpl��aj���������>���app/install_profiles/default/templates/shadowmenu_tab_2col.tpl��aj��.������2���app/install_profiles/default/templates/simplex.tpl<'��aj<'��m������D���app/install_profiles/default/templates/topsimple_leftsubnav_1col.tpl��aj��eն������>���app/install_profiles/default/uploads/simplex/fonts/simplex.eot��aj��XԶ������>���app/install_profiles/default/uploads/simplex/fonts/simplex.svg��aj��Ue������>���app/install_profiles/default/uploads/simplex/fonts/simplex.ttf@��aj@��PĶŶ������?���app/install_profiles/default/uploads/simplex/fonts/simplex.woff��aj��!?������G���app/install_profiles/default/uploads/simplex/images/body-background.png���aj���y1������J���app/install_profiles/default/uploads/simplex/images/cmsmadesimple-logo.png:��aj:��z������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-120x120.png!��aj!��P������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-152x152.png=&��aj=&��A������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-196x196.png0��aj0��(K������I���app/install_profiles/default/uploads/simplex/images/icons/cmsms-60x60.png��aj��皘)������I���app/install_profiles/default/uploads/simplex/images/icons/cmsms-76x76.png��aj��rQ������I���app/install_profiles/default/uploads/simplex/images/icons/favicon_cms.ico~��aj~��gܶ������>���app/install_profiles/default/uploads/simplex/images/index.html���aj���������C���app/install_profiles/default/uploads/simplex/images/palm-circle.png��aj��l?޶������7���app/install_profiles/default/uploads/simplex/index.html���aj���������<���app/install_profiles/default/uploads/simplex/js/functions.js$��aj$�� \Ҷ������@���app/install_profiles/default/uploads/simplex/js/functions.min.js ��aj ��3������:���app/install_profiles/default/uploads/simplex/js/index.html���aj���������F���app/install_profiles/default/uploads/simplex/js/jquery.sequence-min.jsg��ajg��|)������9���app/install_profiles/default/uploads/simplex/js/touchr.js=��aj=��������E���app/install_profiles/default/uploads/simplex/teaser/browser-scene.pngOX�ajOX�WL*������>���app/install_profiles/default/uploads/simplex/teaser/index.html���aj���������C���app/install_profiles/default/uploads/simplex/teaser/mate-zimple.pngp��ajp��Qx������L���app/install_profiles/default/uploads/simplex/teaser/mobile-devices-scene.png3�aj3�R w������F���app/install_profiles/default/uploads/simplex/teaser/notebook-scene.png��aj��xX������A���app/install_profiles/default/uploads/simplex/teaser/palm-logo.png$��aj$��n������+���app/install_profiles/developer/profile.json��aj��I������2���app/install_profiles/minimal/manifest/designs.json|���aj|���_Yh������0���app/install_profiles/minimal/manifest/pages.jsonT��ajT��j������9���app/install_profiles/minimal/manifest/template_types.json��aj��k϶������4���app/install_profiles/minimal/manifest/templates.json��aj��cE������,���app/install_profiles/minimal/pages/home.html��aj��|`������)���app/install_profiles/minimal/profile.json��aj��_.������2���app/install_profiles/minimal/templates/default.tplv��ajv��04���������app/lang/app/en_US.php~��aj~��ߥf.���������app/lang/app/ext/ca_ES.php��aj��DD���������app/lang/app/ext/da_DK.phpF��ajF��Ń���������app/lang/app/ext/de_DE.php(��aj(��$m+Ƕ���������app/lang/app/ext/fr_FR.php��aj��d���������app/lang/app/ext/it_IT.phpF��ajF��7ɶ���������app/lang/app/ext/nb_NO.php{��aj{��Jd-���������app/lang/app/ext/nl_NL.phpqj��ajqj��MG���������app/lang/app/ext/pt_PT.php~��aj~��!���������app/lang/app/ext/ru_RU.php��aj��7���������app/lang/app/ext/sk_SK.phpC��ajC��5���������app/lang/app/ext/sv_SE.php��aj�� +j���������app/lang/app/ext/uk_UA.phpP��ajP��Z¶���������app/lib/class.filehandler.php��aj�� ������(���app/lib/class.install_config_manager.php ��aj ��LǶ������%���app/lib/class.install_filehandler.phpw��ajw��N������)���app/lib/class.install_profile_manager.phpS��ajS��KH>������!���app/lib/class.manifest_reader.php��aj��)������)���app/lib/class.optional_bundle_manager.php%��aj%��M0���������app/lib/class.utils.phpk,��ajk,��~�s���������app/lib/class.wizard_step.php ��aj ��d���������app/lib/compat.functions.php���aj����eI���������app/optional/README.txt��aj��Ӱ���������app/optional/addons/README.txt{���aj{���-Ҷ���������app/optional/modules/README.txt���aj���"mG������<���app/optional/modules/news/files/modules/News/News.module.phpA��ajA��1������B���app/optional/modules/news/files/modules/News/action.addarticle.phpF��ajF��贶������C���app/optional/modules/news/files/modules/News/action.addcategory.php ��aj ��������I���app/optional/modules/news/files/modules/News/action.admin_addfielddef.php ��aj ��̫������L���app/optional/modules/news/files/modules/News/action.admin_deletefielddef.phpD��ajD��q������J���app/optional/modules/news/files/modules/News/action.admin_editfielddef.php\��aj\��`>F|������J���app/optional/modules/news/files/modules/News/action.admin_movefielddef.php��aj��'D������J���app/optional/modules/news/files/modules/News/action.admin_reorder_cats.php��aj�� =̡������F���app/optional/modules/news/files/modules/News/action.admin_settings.php.��aj.��Kx2������F���app/optional/modules/news/files/modules/News/action.approvearticle.php��aj��3G������A���app/optional/modules/news/files/modules/News/action.browsecat.php��aj��Ny������?���app/optional/modules/news/files/modules/News/action.default.php4��aj4��q϶������D���app/optional/modules/news/files/modules/News/action.defaultadmin.php���aj���be������B���app/optional/modules/news/files/modules/News/action.defaulturl.phpY���ajY���|������E���app/optional/modules/news/files/modules/News/action.deletearticle.php��aj��+������F���app/optional/modules/news/files/modules/News/action.deletecategory.php<��aj<�� ̶������>���app/optional/modules/news/files/modules/News/action.detail.php> ��aj> ��3������C���app/optional/modules/news/files/modules/News/action.editarticle.phpU��ajU��Ζ������D���app/optional/modules/news/files/modules/News/action.editcategory.php��aj��YtP������@���app/optional/modules/news/files/modules/News/action.fesubmit.php0*��aj0*��oIf������E���app/optional/modules/news/files/modules/News/action.updateoptions.php��aj�� 6������:���app/optional/modules/news/files/modules/News/changelog.incV&��ajV&��K8������F���app/optional/modules/news/files/modules/News/doc/tpltype_browsecat.inc��aj��:������C���app/optional/modules/news/files/modules/News/doc/tpltype_detail.inc��aj��L������A���app/optional/modules/news/files/modules/News/doc/tpltype_form.inc ��aj ��1M������D���app/optional/modules/news/files/modules/News/doc/tpltype_summary.inc��aj��e������K���app/optional/modules/news/files/modules/News/function.admin_articlestab.php/*��aj/*��C������M���app/optional/modules/news/files/modules/News/function.admin_categoriestab.php��aj��׆R������O���app/optional/modules/news/files/modules/News/function.admin_customfieldstab.php ��aj ��J[������J���app/optional/modules/news/files/modules/News/function.admin_optionstab.php��aj��uT������<���app/optional/modules/news/files/modules/News/images/icon.gif��aj��c3������<���app/optional/modules/news/files/modules/News/images/icon.png��aj��a϶������;���app/optional/modules/news/files/modules/News/lang/en_US.phpq��ajq��Զ������?���app/optional/modules/news/files/modules/News/lang/ext/ar_AR.phph ��ajh �� 7������?���app/optional/modules/news/files/modules/News/lang/ext/bg_BG.php'��aj'��z 5������?���app/optional/modules/news/files/modules/News/lang/ext/ca_ES.phpD��ajD�� ������?���app/optional/modules/news/files/modules/News/lang/ext/cs_CZ.phpc��ajc��QOD������?���app/optional/modules/news/files/modules/News/lang/ext/da_DK.phpeg��ajeg��m ������?���app/optional/modules/news/files/modules/News/lang/ext/de_DE.php5|��aj5|��ʼk������?���app/optional/modules/news/files/modules/News/lang/ext/el_GR.phpyg��ajyg��w������?���app/optional/modules/news/files/modules/News/lang/ext/en_CY.php��aj��������?���app/optional/modules/news/files/modules/News/lang/ext/es_ES.php�e��aj�e��X϶������?���app/optional/modules/news/files/modules/News/lang/ext/et_EE.php 5��aj 5���K������?���app/optional/modules/news/files/modules/News/lang/ext/eu_ES.php)%��aj)%��W������?���app/optional/modules/news/files/modules/News/lang/ext/fa_FA.php1#��aj1#��<������?���app/optional/modules/news/files/modules/News/lang/ext/fa_IR.php1#��aj1#��<������?���app/optional/modules/news/files/modules/News/lang/ext/fi_FI.php!\��aj!\��,Ѽ������?���app/optional/modules/news/files/modules/News/lang/ext/fr_FR.phpր��ajր��+������?���app/optional/modules/news/files/modules/News/lang/ext/hr_HR.php��aj��>Ui������?���app/optional/modules/news/files/modules/News/lang/ext/hu_HU.phpM��ajM�� KJ ������?���app/optional/modules/news/files/modules/News/lang/ext/id_ID.php��aj��Vk������?���app/optional/modules/news/files/modules/News/lang/ext/it_IT.php+x��aj+x��RKڶ������?���app/optional/modules/news/files/modules/News/lang/ext/iw_IL.phpE��ajE��������?���app/optional/modules/news/files/modules/News/lang/ext/ja_JP.phpE,��ajE,��6������?���app/optional/modules/news/files/modules/News/lang/ext/lt_LT.php?��aj?��Ɔ`������?���app/optional/modules/news/files/modules/News/lang/ext/mn_MN.php��aj��? Ab������?���app/optional/modules/news/files/modules/News/lang/ext/nb_NO.phpt��ajt��������?���app/optional/modules/news/files/modules/News/lang/ext/nl_NL.phpu��aju��U0n������?���app/optional/modules/news/files/modules/News/lang/ext/pl_PL.phpvE��ajvE��83������?���app/optional/modules/news/files/modules/News/lang/ext/pt_BR.php3��aj3��53b۶������?���app/optional/modules/news/files/modules/News/lang/ext/pt_PT.php]W��aj]W��pȞ������?���app/optional/modules/news/files/modules/News/lang/ext/ro_RO.phpR��ajR��1Z������?���app/optional/modules/news/files/modules/News/lang/ext/ru_RU.php��aj��θ������?���app/optional/modules/news/files/modules/News/lang/ext/sk_SK.php]��aj]��������?���app/optional/modules/news/files/modules/News/lang/ext/sl_SI.php-Q��aj-Q��P������?���app/optional/modules/news/files/modules/News/lang/ext/sr_YU.php|i��aj|i��a������?���app/optional/modules/news/files/modules/News/lang/ext/sv_SE.php@W��aj@W��O(������?���app/optional/modules/news/files/modules/News/lang/ext/tr_TR.phpT>��ajT>��$b������?���app/optional/modules/news/files/modules/News/lang/ext/uk_UA.php^��aj^��r.M������?���app/optional/modules/news/files/modules/News/lang/ext/vi_VN.php��aj��������?���app/optional/modules/news/files/modules/News/lang/ext/zh_CN.php ��aj �� n������?���app/optional/modules/news/files/modules/News/lang/ext/zh_TW.phpY,��ajY,��Fb������O���app/optional/modules/news/files/modules/News/lib/class.CreateDraftAlertTask.php^ ��aj^ ��n)������L���app/optional/modules/news/files/modules/News/lib/class.DraftMessageAlert.php=��aj=��g ������Q���app/optional/modules/news/files/modules/News/lib/class.News_AdminSearch_slave.php ��aj ��3 ������I���app/optional/modules/news/files/modules/News/lib/class.news_admin_ops.php��aj��������G���app/optional/modules/news/files/modules/News/lib/class.news_article.php ��aj ��X/������E���app/optional/modules/news/files/modules/News/lib/class.news_field.php��aj��_wQV������C���app/optional/modules/news/files/modules/News/lib/class.news_ops.phpL<��ajL<��2������?���app/optional/modules/news/files/modules/News/method.install.php93��aj93��XSA������A���app/optional/modules/news/files/modules/News/method.uninstall.php$��aj$��������?���app/optional/modules/news/files/modules/News/method.upgrade.phpo��ajo��.w������R���app/optional/modules/news/files/modules/News/templates/Simplex_Detail_template.tpl��aj��ݬ*)������S���app/optional/modules/news/files/modules/News/templates/Summary_Simplex_template.tpl_ ��aj_ ��{0^������M���app/optional/modules/news/files/modules/News/templates/admin_reorder_cats.tpl��aj��g%Rn������E���app/optional/modules/news/files/modules/News/templates/adminprefs.tpl��aj��H������F���app/optional/modules/news/files/modules/News/templates/articlelist.tpl��aj��}趏������D���app/optional/modules/news/files/modules/News/templates/browsecat.tpl%��aj%��^������G���app/optional/modules/news/files/modules/News/templates/categorylist.tplb��ajb��š������J���app/optional/modules/news/files/modules/News/templates/customfieldstab.tpl��aj��h������F���app/optional/modules/news/files/modules/News/templates/editarticle.tpl(5��aj(5��H(������G���app/optional/modules/news/files/modules/News/templates/editcategory.tpl��aj��c������N���app/optional/modules/news/files/modules/News/templates/editdefaulttemplate.tpl[��aj[��9z������G���app/optional/modules/news/files/modules/News/templates/editfielddef.tpl<��aj<��PR������G���app/optional/modules/news/files/modules/News/templates/edittemplate.tpl��aj��ﯶ������H���app/optional/modules/news/files/modules/News/templates/edittemplates.tpl/��aj/��W 'ն������O���app/optional/modules/news/files/modules/News/templates/orig_detail_template.tpl��aj��94������M���app/optional/modules/news/files/modules/News/templates/orig_form_template.tpl ��aj ��v:������P���app/optional/modules/news/files/modules/News/templates/orig_summary_template.tpl ��aj ��7������&���app/optional/modules/news/package.json��aj��Gж������K���app/optional/modules/userguide/files/modules/UserGuide/UserGuide.module.php��aj��bmڶ������P���app/optional/modules/userguide/files/modules/UserGuide/action.admin_settings.php��aj��t������I���app/optional/modules/userguide/files/modules/UserGuide/action.default.php!��aj!��!c������N���app/optional/modules/userguide/files/modules/UserGuide/action.defaultadmin.phpO ��ajO ��@4������M���app/optional/modules/userguide/files/modules/UserGuide/action.delete_page.phpA��ajA��'������K���app/optional/modules/userguide/files/modules/UserGuide/action.edit_page.phpf��ajf��N������N���app/optional/modules/userguide/files/modules/UserGuide/action.reorder_page.php��aj��x������T���app/optional/modules/userguide/files/modules/UserGuide/action.toggle_active_page.php��aj��;ɶ������S���app/optional/modules/userguide/files/modules/UserGuide/action.toggle_admin_only.php��aj��ܷ������G���app/optional/modules/userguide/files/modules/UserGuide/lang/LICENCE.txt��aj��6U@������E���app/optional/modules/userguide/files/modules/UserGuide/lang/en_US.php.��aj.�� ������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/de_DE.php5��aj5��Ǝm������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/fr_FR.php��aj��˶������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/pt_PT.php6���aj6���<������^���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideImporterExporter.phpC��ajC��C������R���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideItem.php��aj�� dH������S���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideQuery.php��aj��Q������R���app/optional/modules/userguide/files/modules/UserGuide/lib/css/UserGuide_admin.csst��ajt��Վܶ������M���app/optional/modules/userguide/files/modules/UserGuide/lib/images/loading.gifU��ajU��4������P���app/optional/modules/userguide/files/modules/UserGuide/lib/js/UserGuide_admin.js ��aj ��s<Z������X���app/optional/modules/userguide/files/modules/UserGuide/lib/userguide_default_content.xml* ��aj* ��ƍ������I���app/optional/modules/userguide/files/modules/UserGuide/method.install.php ��aj ��$4������K���app/optional/modules/userguide/files/modules/UserGuide/method.uninstall.phpe��aje��0Q������I���app/optional/modules/userguide/files/modules/UserGuide/method.upgrade.php��aj��������T���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_edit_page.tpl,��aj,��KW������S���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_settings.tplI��ajI��!������Z���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_user_guide_page.tpl ��aj ��-^������+���app/optional/modules/userguide/package.json!��aj!��gyf���������app/templates/error.tpl���aj���؄&F���������app/templates/index.tpln��ajn��Es^���������app/templates/wizard_step.tpl~���aj~���3g���������app/templates/wizard_step1.tplK��ajK��t���������app/templates/wizard_step2.tplz��ajz��ðݶ���������app/templates/wizard_step3.tpl ��aj �� R7���������app/templates/wizard_step4.tpl��aj��9���������app/templates/wizard_step5.tpl ��aj ��l���������app/templates/wizard_step6.tpl��aj��~65���������app/templates/wizard_step7.tpl��aj��ܶ���������app/templates/wizard_step8.tpl��aj��c8���������app/templates/wizard_step9.tpl��aj�� r���������app/upgrade/1.0.1/MANIFEST.DATp��ajp��r@ڶ���������app/upgrade/1.0.1/changelog.txt����aj�����������������app/upgrade/1.0.1/dropover.zip��aj��'s������#���app/upgrade/2.0.1.1/MANIFEST.DAT.gz���aj���V8������!���app/upgrade/2.0.1.1/changelog.txt���aj���޶۶������!���app/upgrade/2.0.1/MANIFEST.DAT.gzG��ajG��u���������app/upgrade/2.0.1/changelog.txtN ��ajN ��H���������app/upgrade/2.0.1/readme.txt~ ��aj~ �����������app/upgrade/2.0.1/upgrade.php��aj��[n���������app/upgrade/2.0/MANIFEST.DAT.gz^��aj^��3ā���������app/upgrade/2.0/readme.txt(��aj(��A���������app/upgrade/2.0/tmp.txt����aj�����������������app/upgrade/2.0/upgrade.php7[��aj7[��dU������!���app/upgrade/2.1.1/MANIFEST.DAT.gz��aj��`���������app/upgrade/2.1.1/changelog.txt��aj��N���������app/upgrade/2.1.1/readme.txtl��ajl��#���������app/upgrade/2.1.1/upgrade.php��aj��~( ������!���app/upgrade/2.1.2/MANIFEST.DAT.gz+��aj+��6V3���������app/upgrade/2.1.2/changelog.txt��aj��~eV���������app/upgrade/2.1.2/upgrade.php��aj��EĶ������!���app/upgrade/2.1.3/MANIFEST.DAT.gz$��aj$��"`���������app/upgrade/2.1.3/changelog.txt��aj��ɠo������!���app/upgrade/2.1.4/MANIFEST.DAT.gz��aj��~x���������app/upgrade/2.1.4/changelog.txth��ajh��xmR������!���app/upgrade/2.1.5/MANIFEST.DAT.gz��aj��43���������app/upgrade/2.1.5/changelog.txt`��aj`�� ���������app/upgrade/2.1.5/upgrade.php��aj��������!���app/upgrade/2.1.6/MANIFEST.DAT.gz%��aj%�����������app/upgrade/2.1.6/changelog.txt��aj��<���������app/upgrade/2.1/MANIFEST.DAT.gz��aj��h���������app/upgrade/2.1/changelog.txt ��aj ��*���������app/upgrade/2.1/upgrade.php��aj��/������!���app/upgrade/2.2.1/MANIFEST.DAT.gz��aj�����������app/upgrade/2.2.1/changelog.txt��aj��-)ض���������app/upgrade/2.2.1/upgrade.php��aj��*ܶ������"���app/upgrade/2.2.10/MANIFEST.DAT.gz��aj��Nڶ������ ���app/upgrade/2.2.10/changelog.txt��aj��iͶ������"���app/upgrade/2.2.11/MANIFEST.DAT.gzt��ajt��_������ ���app/upgrade/2.2.11/changelog.txt��aj��q������"���app/upgrade/2.2.12/MANIFEST.DAT.gzG��ajG��)������ ���app/upgrade/2.2.12/changelog.txt5��aj5�� N������"���app/upgrade/2.2.13/MANIFEST.DAT.gz��aj��<VRض������ ���app/upgrade/2.2.13/changelog.txtP��ajP��O������"���app/upgrade/2.2.14/MANIFEST.DAT.gz%��aj%��Dry������ ���app/upgrade/2.2.14/changelog.txt��aj��fg������"���app/upgrade/2.2.15/MANIFEST.DAT.gz��aj��EQ$x������ ���app/upgrade/2.2.15/changelog.txt ��aj ��}���������app/upgrade/2.2.15/upgrade.php;��aj;��1������"���app/upgrade/2.2.16/MANIFEST.DAT.gz]��aj]��E������ ���app/upgrade/2.2.16/changelog.txt��aj��W���������app/upgrade/2.2.16/readme.txto��ajo��.E���������app/upgrade/2.2.17/MANIFEST.DAT��aj��jYo������ ���app/upgrade/2.2.17/changelog.txt���aj���a���������app/upgrade/2.2.17/dropover.zipI��ajI��K������!���app/upgrade/2.2.2/MANIFEST.DAT.gzk��ajk�����������app/upgrade/2.2.2/changelog.txt ��aj ��mG0���������app/upgrade/2.2.2/readme.txt ��aj ��<wY���������app/upgrade/2.2.2/upgrade.php8��aj8��lö���������app/upgrade/2.2.22/MANIFEST.DATv ��ajv ��Up�������"���app/upgrade/2.2.22/MANIFEST.DAT.gz5 ��aj5 ��Yض������ ���app/upgrade/2.2.22/changelog.txt����aj��������������4���app/upgrade/2.2.22/cmsms-2.2.22-install.patch.tar.gzһ�ajһ�)1������"���app/upgrade/2.2.23/MANIFEST.DAT.gzA��ajA��n]"������ ���app/upgrade/2.2.23/changelog.txt����aj��������������#���app/upgrade/2.2.3.1/MANIFEST.DAT.gz��aj��Z������!���app/upgrade/2.2.3.1/changelog.txt���aj���Ƕ������!���app/upgrade/2.2.3/MANIFEST.DAT.gz��aj��(͙~���������app/upgrade/2.2.3/changelog.txt���aj��� i������!���app/upgrade/2.2.4/MANIFEST.DAT.gz ��aj ��sDD���������app/upgrade/2.2.4/changelog.txt����aj�����������������app/upgrade/2.2.4/upgrade.php;��aj;��C{k������!���app/upgrade/2.2.5/MANIFEST.DAT.gzK��ajK��,���������app/upgrade/2.2.5/changelog.txt��aj��5������!���app/upgrade/2.2.6/MANIFEST.DAT.gz"��aj"�� ���������app/upgrade/2.2.6/changelog.txt��aj��-f6(������!���app/upgrade/2.2.7/MANIFEST.DAT.gz#��aj#��_ ���������app/upgrade/2.2.7/changelog.txtO��ajO��C������!���app/upgrade/2.2.8/MANIFEST.DAT.gzy��ajy��ֶ���������app/upgrade/2.2.8/changelog.txtO��ajO��W?������#���app/upgrade/2.2.9.1/MANIFEST.DAT.gz��aj��,������!���app/upgrade/2.2.9.1/changelog.txtG��ajG��"������!���app/upgrade/2.2.9/MANIFEST.DAT.gz=��aj=��^���������app/upgrade/2.2.9/changelog.txt6��aj6��fI���������app/upgrade/2.2/MANIFEST.DAT.gzk��ajk��j{���������app/upgrade/2.2/changelog.txt6��aj6��s���������app/upgrade/2.2/upgrade.php ��aj ��9������!���app/wizard/class.wizard_step1.phpU��ajU��������!���app/wizard/class.wizard_step2.php]��aj]��Ί������!���app/wizard/class.wizard_step3.php(G��aj(G��γX������!���app/wizard/class.wizard_step4.phpt(��ajt(�� ������!���app/wizard/class.wizard_step5.php ��aj ��Ti������!���app/wizard/class.wizard_step6.php ��aj ��ȶ������!���app/wizard/class.wizard_step7.php��aj��������!���app/wizard/class.wizard_step8.php.��aj.��'8������!���app/wizard/class.wizard_step9.php3��aj3��c���������app/wizard/msg_functions.php[��aj[�����������data/data.tar.gzD>�ajD>�i<p���������data/version.php��aj��`*������ ���index.phpo ��ajo ��/������'���lib/CMSMS/Database/class.Connection.phpc��ajc��JZ������+���lib/CMSMS/Database/class.ConnectionSpec.php��aj��iG������+���lib/CMSMS/Database/class.DataDictionary.php&s��aj&s��R������+���lib/CMSMS/Database/class.EmptyRecordSet.php��aj��iW������&���lib/CMSMS/Database/class.ResultSet.php��aj��UhpR������&���lib/CMSMS/Database/class.Statement.php��aj��dJƶ������*���lib/CMSMS/Database/class.compatibility.php��aj��NIĶ������.���lib/CMSMS/Database/mysqli/class.Connection.php?��aj?��̔������2���lib/CMSMS/Database/mysqli/class.DataDictionary.php+��aj+��J������-���lib/CMSMS/Database/mysqli/class.ResultSet.php"��aj"��CI8������-���lib/CMSMS/Database/mysqli/class.Statement.php��aj��-h2���������lib/Smarty/Autoloader.php ��aj ��L ���������lib/Smarty/Smarty.class.php��aj��k���������lib/Smarty/bootstrap.php��aj��՜���������lib/Smarty/debug.tpl��aj��a ������'���lib/Smarty/plugins/block.textformat.php��aj��8b2������'���lib/Smarty/plugins/function.counter.php^��aj^��\������%���lib/Smarty/plugins/function.cycle.phpI ��ajI ��k������%���lib/Smarty/plugins/function.fetch.phpQ ��ajQ ��S獶������/���lib/Smarty/plugins/function.html_checkboxes.php&��aj&��!U������*���lib/Smarty/plugins/function.html_image.php��aj��;8������,���lib/Smarty/plugins/function.html_options.php!��aj!���;b������+���lib/Smarty/plugins/function.html_radios.php!��aj!��o֝������0���lib/Smarty/plugins/function.html_select_date.php.=��aj.=��\������0���lib/Smarty/plugins/function.html_select_time.php9��aj9��<;ʶ������*���lib/Smarty/plugins/function.html_table.php��aj��"'7m������&���lib/Smarty/plugins/function.mailto.php��aj��ٺ������$���lib/Smarty/plugins/function.math.php$��aj$�� mM������*���lib/Smarty/plugins/modifier.capitalize.php$��aj$��q������+���lib/Smarty/plugins/modifier.date_format.php ��aj ��*/������/���lib/Smarty/plugins/modifier.debug_print_var.php��aj��������&���lib/Smarty/plugins/modifier.escape.php'��aj'��P1:������'���lib/Smarty/plugins/modifier.explode.php6��aj6��3S������+���lib/Smarty/plugins/modifier.mb_wordwrap.phpr ��ajr ��&Զ������-���lib/Smarty/plugins/modifier.number_format.php��aj��ת������-���lib/Smarty/plugins/modifier.regex_replace.php��aj��������'���lib/Smarty/plugins/modifier.replace.php ��aj ��Q[+������'���lib/Smarty/plugins/modifier.spacify.php��aj��Ydζ������(���lib/Smarty/plugins/modifier.truncate.php ��aj ��y������+���lib/Smarty/plugins/modifiercompiler.cat.php��aj�� Y������8���lib/Smarty/plugins/modifiercompiler.count_characters.php��aj��'p������8���lib/Smarty/plugins/modifiercompiler.count_paragraphs.php��aj��G\������7���lib/Smarty/plugins/modifiercompiler.count_sentences.php��aj��$Le������3���lib/Smarty/plugins/modifiercompiler.count_words.php��aj�� 6_������/���lib/Smarty/plugins/modifiercompiler.default.php2��aj2��w������.���lib/Smarty/plugins/modifiercompiler.escape.php��aj��1 ������4���lib/Smarty/plugins/modifiercompiler.from_charset.php��aj��������.���lib/Smarty/plugins/modifiercompiler.indent.php��aj�� Y5������-���lib/Smarty/plugins/modifiercompiler.lower.php��aj�� ������/���lib/Smarty/plugins/modifiercompiler.noprint.phph��ajh��n������5���lib/Smarty/plugins/modifiercompiler.string_format.phpW��ajW��ݶ������-���lib/Smarty/plugins/modifiercompiler.strip.php=��aj=��7������2���lib/Smarty/plugins/modifiercompiler.strip_tags.php��aj��{������2���lib/Smarty/plugins/modifiercompiler.to_charset.php��aj��Sz%������0���lib/Smarty/plugins/modifiercompiler.unescape.php��aj��+7������-���lib/Smarty/plugins/modifiercompiler.upper.php��aj��f������0���lib/Smarty/plugins/modifiercompiler.wordwrap.php��aj��[T������2���lib/Smarty/plugins/outputfilter.trimwhitespace.php��aj��F������2���lib/Smarty/plugins/shared.escape_special_chars.php��aj��6@r������4���lib/Smarty/plugins/shared.literal_compiler_param.php:��aj:��䱶������,���lib/Smarty/plugins/shared.make_timestamp.php��aj��J������,���lib/Smarty/plugins/shared.mb_str_replace.php��aj��ZF������(���lib/Smarty/plugins/shared.mb_unicode.php-��aj-��y������6���lib/Smarty/plugins/variablefilter.htmlspecialchars.php��aj��Mɶ������.���lib/Smarty/sysplugins/smarty_cacheresource.php��aj��Pn¶������5���lib/Smarty/sysplugins/smarty_cacheresource_custom.php'��aj'��`������<���lib/Smarty/sysplugins/smarty_cacheresource_keyvaluestore.php G��aj G��˨Զ������%���lib/Smarty/sysplugins/smarty_data.php��aj��T������/���lib/Smarty/sysplugins/smarty_internal_block.php��aj��d������<���lib/Smarty/sysplugins/smarty_internal_cacheresource_file.php ��aj ��;uO������8���lib/Smarty/sysplugins/smarty_internal_compile_append.php3��aj3��VAn������8���lib/Smarty/sysplugins/smarty_internal_compile_assign.php ��aj ��e������7���lib/Smarty/sysplugins/smarty_internal_compile_block.php��aj�� ?ݶ������=���lib/Smarty/sysplugins/smarty_internal_compile_block_child.php��aj��*������>���lib/Smarty/sysplugins/smarty_internal_compile_block_parent.phpf��ajf��������7���lib/Smarty/sysplugins/smarty_internal_compile_break.php��aj��B:������6���lib/Smarty/sysplugins/smarty_internal_compile_call.php ��aj ��)������9���lib/Smarty/sysplugins/smarty_internal_compile_capture.php��aj��S������7���lib/Smarty/sysplugins/smarty_internal_compile_child.php ��aj ��P"�������=���lib/Smarty/sysplugins/smarty_internal_compile_config_load.php ��aj ��5vn������:���lib/Smarty/sysplugins/smarty_internal_compile_continue.php��aj��ع`$������7���lib/Smarty/sysplugins/smarty_internal_compile_debug.phpc��ajc��������6���lib/Smarty/sysplugins/smarty_internal_compile_eval.php��aj��Z+������9���lib/Smarty/sysplugins/smarty_internal_compile_extends.php��aj��������5���lib/Smarty/sysplugins/smarty_internal_compile_for.php��aj��Rغ/������9���lib/Smarty/sysplugins/smarty_internal_compile_foreach.php-/��aj-/��R9������:���lib/Smarty/sysplugins/smarty_internal_compile_function.php+(��aj+(��^������4���lib/Smarty/sysplugins/smarty_internal_compile_if.php=!��aj=!��3������9���lib/Smarty/sysplugins/smarty_internal_compile_include.php;<��aj;<��\������8���lib/Smarty/sysplugins/smarty_internal_compile_insert.php��aj��`\C������8���lib/Smarty/sysplugins/smarty_internal_compile_ldelim.phpB��ajB��0â������>���lib/Smarty/sysplugins/smarty_internal_compile_make_nocache.php��aj��6ZO:������9���lib/Smarty/sysplugins/smarty_internal_compile_nocache.php��aj��ȶ������8���lib/Smarty/sysplugins/smarty_internal_compile_parent.phpT��ajT��Ӷ������F���lib/Smarty/sysplugins/smarty_internal_compile_private_block_plugin.phpX��ajX��Q������H���lib/Smarty/sysplugins/smarty_internal_compile_private_foreachsection.php��aj��6(l������I���lib/Smarty/sysplugins/smarty_internal_compile_private_function_plugin.php- ��aj- ��c@Ҷ������B���lib/Smarty/sysplugins/smarty_internal_compile_private_modifier.php ��aj ��[1������O���lib/Smarty/sysplugins/smarty_internal_compile_private_object_block_function.phpv��ajv��Paa������I���lib/Smarty/sysplugins/smarty_internal_compile_private_object_function.php ��aj ��XSƶ������J���lib/Smarty/sysplugins/smarty_internal_compile_private_print_expression.php��aj��s P������J���lib/Smarty/sysplugins/smarty_internal_compile_private_registered_block.php ��aj ��ߢT������M���lib/Smarty/sysplugins/smarty_internal_compile_private_registered_function.php ��aj ��ض������J���lib/Smarty/sysplugins/smarty_internal_compile_private_special_variable.phpD��ajD��G#;������8���lib/Smarty/sysplugins/smarty_internal_compile_rdelim.php��aj��vi�������9���lib/Smarty/sysplugins/smarty_internal_compile_section.phpI��ajI��N�5������;���lib/Smarty/sysplugins/smarty_internal_compile_setfilter.php��aj��FG/������D���lib/Smarty/sysplugins/smarty_internal_compile_shared_inheritance.php6��aj6��VrX������7���lib/Smarty/sysplugins/smarty_internal_compile_while.phpR��ajR��3Pi������5���lib/Smarty/sysplugins/smarty_internal_compilebase.php��aj��6������>���lib/Smarty/sysplugins/smarty_internal_config_file_compiler.php}��aj}��qpq������9���lib/Smarty/sysplugins/smarty_internal_configfilelexer.phpc��ajc��-R������:���lib/Smarty/sysplugins/smarty_internal_configfileparser.phpf��ajf��Lƶ������.���lib/Smarty/sysplugins/smarty_internal_data.php ��aj ��yԶ������/���lib/Smarty/sysplugins/smarty_internal_debug.php>��aj>�� ������6���lib/Smarty/sysplugins/smarty_internal_errorhandler.php< ��aj< ��'������;���lib/Smarty/sysplugins/smarty_internal_extension_handler.php ��aj ��}Qy������C���lib/Smarty/sysplugins/smarty_internal_method_addautoloadfilters.php��aj��`;E������D���lib/Smarty/sysplugins/smarty_internal_method_adddefaultmodifiers.php��aj��s4������7���lib/Smarty/sysplugins/smarty_internal_method_append.php~ ��aj~ ��n: ������<���lib/Smarty/sysplugins/smarty_internal_method_appendbyref.php;��aj;��%������<���lib/Smarty/sysplugins/smarty_internal_method_assignbyref.php ��aj ��/f������=���lib/Smarty/sysplugins/smarty_internal_method_assignglobal.php��aj��Q������?���lib/Smarty/sysplugins/smarty_internal_method_clearallassign.php/��aj/��$)������>���lib/Smarty/sysplugins/smarty_internal_method_clearallcache.php ��aj �� j������<���lib/Smarty/sysplugins/smarty_internal_method_clearassign.php]��aj]�� Oc������;���lib/Smarty/sysplugins/smarty_internal_method_clearcache.php8��aj8��˟U������F���lib/Smarty/sysplugins/smarty_internal_method_clearcompiledtemplate.php��aj��-T������<���lib/Smarty/sysplugins/smarty_internal_method_clearconfig.php��aj�� 8������A���lib/Smarty/sysplugins/smarty_internal_method_compileallconfig.php��aj��Hж������D���lib/Smarty/sysplugins/smarty_internal_method_compilealltemplates.php��aj��EmY������;���lib/Smarty/sysplugins/smarty_internal_method_configload.php9��aj9��^q������;���lib/Smarty/sysplugins/smarty_internal_method_createdata.php_��aj_��/������C���lib/Smarty/sysplugins/smarty_internal_method_getautoloadfilters.phpn��ajn�� ������B���lib/Smarty/sysplugins/smarty_internal_method_getconfigvariable.php��aj��0hö������>���lib/Smarty/sysplugins/smarty_internal_method_getconfigvars.php��aj��݌������A���lib/Smarty/sysplugins/smarty_internal_method_getdebugtemplate.php��aj��EO������D���lib/Smarty/sysplugins/smarty_internal_method_getdefaultmodifiers.php ��aj ��@Ե������:���lib/Smarty/sysplugins/smarty_internal_method_getglobal.php��aj��Tڂ������D���lib/Smarty/sysplugins/smarty_internal_method_getregisteredobject.phpm��ajm��&UR������B���lib/Smarty/sysplugins/smarty_internal_method_getstreamvariable.php'��aj'��������8���lib/Smarty/sysplugins/smarty_internal_method_gettags.phpX��ajX��v������@���lib/Smarty/sysplugins/smarty_internal_method_gettemplatevars.php-��aj-��������9���lib/Smarty/sysplugins/smarty_internal_method_literals.phpM ��ajM ��.J[������;���lib/Smarty/sysplugins/smarty_internal_method_loadfilter.php��aj��BO������;���lib/Smarty/sysplugins/smarty_internal_method_loadplugin.php��aj��������<���lib/Smarty/sysplugins/smarty_internal_method_mustcompile.php��aj��݌������F���lib/Smarty/sysplugins/smarty_internal_method_registercacheresource.php��aj��f]5������>���lib/Smarty/sysplugins/smarty_internal_method_registerclass.php��aj��O������M���lib/Smarty/sysplugins/smarty_internal_method_registerdefaultconfighandler.php��aj��ն������M���lib/Smarty/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php&��aj&��������O���lib/Smarty/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php ��aj ��GrG������?���lib/Smarty/sysplugins/smarty_internal_method_registerfilter.php ��aj ��撶������?���lib/Smarty/sysplugins/smarty_internal_method_registerobject.phpA��ajA��Զ������?���lib/Smarty/sysplugins/smarty_internal_method_registerplugin.php��aj��Xt������A���lib/Smarty/sysplugins/smarty_internal_method_registerresource.php��aj��杸c������C���lib/Smarty/sysplugins/smarty_internal_method_setautoloadfilters.php. ��aj. ��I ������A���lib/Smarty/sysplugins/smarty_internal_method_setdebugtemplate.php(��aj(��ۢ������D���lib/Smarty/sysplugins/smarty_internal_method_setdefaultmodifiers.php��aj��FP������=���lib/Smarty/sysplugins/smarty_internal_method_unloadfilter.php��aj�� ������H���lib/Smarty/sysplugins/smarty_internal_method_unregistercacheresource.php[��aj[��,3ȶ������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterfilter.php��aj��+"������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterobject.phpL��ajL��?������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterplugin.php��aj��D. ������C���lib/Smarty/sysplugins/smarty_internal_method_unregisterresource.phpG��ajG��)#]������8���lib/Smarty/sysplugins/smarty_internal_nocache_insert.php��aj��72ƶ������3���lib/Smarty/sysplugins/smarty_internal_parsetree.php��aj��v������8���lib/Smarty/sysplugins/smarty_internal_parsetree_code.php��aj��d ������6���lib/Smarty/sysplugins/smarty_internal_parsetree_dq.phpR ��ajR ��$1������=���lib/Smarty/sysplugins/smarty_internal_parsetree_dqcontent.php��aj��>������7���lib/Smarty/sysplugins/smarty_internal_parsetree_tag.php3��aj3��˻������<���lib/Smarty/sysplugins/smarty_internal_parsetree_template.php>��aj>��0V������8���lib/Smarty/sysplugins/smarty_internal_parsetree_text.phpk��ajk��Q������7���lib/Smarty/sysplugins/smarty_internal_resource_eval.phpA ��ajA ��*,������:���lib/Smarty/sysplugins/smarty_internal_resource_extends.php��aj��ס������7���lib/Smarty/sysplugins/smarty_internal_resource_file.php.��aj.��J������6���lib/Smarty/sysplugins/smarty_internal_resource_php.php��aj��A������9���lib/Smarty/sysplugins/smarty_internal_resource_stream.php ��aj ��,Ĕ������9���lib/Smarty/sysplugins/smarty_internal_resource_string.phpm ��ajm ��Ԩ������=���lib/Smarty/sysplugins/smarty_internal_runtime_cachemodify.phpe ��aje ��ڬ_������C���lib/Smarty/sysplugins/smarty_internal_runtime_cacheresourcefile.phpu��aju��:q/������9���lib/Smarty/sysplugins/smarty_internal_runtime_capture.php ��aj ��ߌ<������;���lib/Smarty/sysplugins/smarty_internal_runtime_codeframe.phpZ��ajZ��$z������?���lib/Smarty/sysplugins/smarty_internal_runtime_filterhandler.php ��aj ��������9���lib/Smarty/sysplugins/smarty_internal_runtime_foreach.php��aj��SJR������@���lib/Smarty/sysplugins/smarty_internal_runtime_getincludepath.phpH��ajH��8+������=���lib/Smarty/sysplugins/smarty_internal_runtime_inheritance.php!��aj!��̶������>���lib/Smarty/sysplugins/smarty_internal_runtime_make_nocache.phpL��ajL��(������=���lib/Smarty/sysplugins/smarty_internal_runtime_tplfunction.phpO��ajO��sw������=���lib/Smarty/sysplugins/smarty_internal_runtime_updatecache.php��aj��2r1������=���lib/Smarty/sysplugins/smarty_internal_runtime_updatescope.php��aj�� ������;���lib/Smarty/sysplugins/smarty_internal_runtime_writefile.php ��aj ��_W������@���lib/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php��aj��'^������2���lib/Smarty/sysplugins/smarty_internal_template.php)h��aj)h��U7������6���lib/Smarty/sysplugins/smarty_internal_templatebase.php9��aj9��1������>���lib/Smarty/sysplugins/smarty_internal_templatecompilerbase.phpg��ajg��I������7���lib/Smarty/sysplugins/smarty_internal_templatelexer.phpΏ��ajΏ��v k������8���lib/Smarty/sysplugins/smarty_internal_templateparser.php�aj�Yd϶������5���lib/Smarty/sysplugins/smarty_internal_testinstall.php5~��aj5~�� \������3���lib/Smarty/sysplugins/smarty_internal_undefined.php��aj��|������)���lib/Smarty/sysplugins/smarty_resource.php%��aj%��~������0���lib/Smarty/sysplugins/smarty_resource_custom.php$ ��aj$ ��lP������4���lib/Smarty/sysplugins/smarty_resource_recompiled.php ��aj ��o������4���lib/Smarty/sysplugins/smarty_resource_uncompiled.php��aj��PD������)���lib/Smarty/sysplugins/smarty_security.php\��aj\��Irj ������0���lib/Smarty/sysplugins/smarty_template_cached.phpY��ajY��Kݶ������2���lib/Smarty/sysplugins/smarty_template_compiled.php%��aj%��_r������0���lib/Smarty/sysplugins/smarty_template_config.php[ ��aj[ ��cB������7���lib/Smarty/sysplugins/smarty_template_resource_base.php;��aj;��Zֶ������0���lib/Smarty/sysplugins/smarty_template_source.php��aj�� y������3���lib/Smarty/sysplugins/smarty_undefined_variable.phpX��ajX��������)���lib/Smarty/sysplugins/smarty_variable.php��aj��өض������1���lib/Smarty/sysplugins/smartycompilerexception.php0��aj0��@������)���lib/Smarty/sysplugins/smartyexception.phpa��aja��Nj3������"���lib/classes/accessor.functions.php���aj������������lib/classes/base/class.app.php ��aj ��p1*������"���lib/classes/base/class.request.php ��aj ��׶������"���lib/classes/base/class.session.php��aj��-[϶������ ���lib/classes/base/class.utils.php@��aj@��������%���lib/classes/base/compat.functions.php���aj���5������#���lib/classes/base/misc.functions.php���aj���1������ ���lib/classes/class.cms_smarty.php��aj��J���������lib/classes/class.database.php���aj���fH������"���lib/classes/class.http_request.php��aj��5J���������lib/classes/class.langtools.phpE*��ajE*�����������lib/classes/class.nls.php ��aj �����������lib/classes/class.nlstools.phpV��ajV��9Q������*���lib/classes/class.smarty_resource_phar.php��aj��%���������lib/classes/class.wizard.php��aj��*(������!���lib/classes/class.wizard_step.phpR��ajR��&+^������(���lib/classes/tests/class.boolean_test.php��aj��2(������.���lib/classes/tests/class.informational_test.php��aj��s������)���lib/classes/tests/class.matchall_test.php��aj��b2]������)���lib/classes/tests/class.matchany_test.php��aj��j}O������&���lib/classes/tests/class.range_test.phpe��aje��h)[������%���lib/classes/tests/class.test_base.php��aj��+L������.���lib/classes/tests/class.version_range_test.php��aj��&F������(���lib/classes/tests/class.warning_test.php��aj��@ ���������lib/nls/class.de_DE.nls.phpa��aja��Eж���������lib/nls/class.en_US.nls.phps��ajs��`Vȶ���������lib/nls/class.fr_FR.nls.php��aj�� h���������lib/nls/class.nb_NO.nls.php��aj��¥1���������lib/nls/class.nl_NL.nls.phpf��ajf��)`���������lib/nls/class.pt_PT.nls.phpx��ajx��6(5)���������lib/nls/class.ru_RU.nls.phpR��ajR��H/'Q������(���lib/plugins/modifier.cms_date_format.php% ��aj% ��ӈ������*���lib/plugins/modifier.localedate_format.php>$��aj>$��sl������-------------------------------------------------- CMS Made Simple PHAR Based Installation Assistant -------------------------------------------------- This document describes using the CMS Made Simple PHAR Based installation assistant. The PHAR based installation assistant is a stand-alone PHP application built to provide the ability to install, upgrade, or freshen CMS Made Simple from within a single easy-to-use PHP script. ------------------- NOTE: ------------------- The PHAR based installation assistant is a binary file and must be transferred in binary mode! ------------------- Requirements ------------------- 1. The installation assistant requires a PHP environment with a minimum version of PHP 7.1. 2. The website's PHP environment must include the PHAR extension. 3. For new installations of CMS Made Simple you should create a new mysql database and database user. - The database user must have ALL PRIVILEGES to all tables within the new database. - Your database user account must have a password. 4. CMS Made Simple itself requires at least PHP 7.1 with numerous libraries enabled (the install assistant will check for these) including json, tokenizer, xml, and gd. ------------------- Instructions ------------------- 1. Upload the cmsms-<version>-install.php file to your website top directory. 2. In your web browser, navigate to <your web directory>/cmsms-<version>-install.php For example: http://www.mywebsite.site/cmsms-3.44.55-install.php You should now be presented with a welcome screen. If, instead, you see a white screen it probably means that your server is running old, or incompatible, software and that you may be forced to use the traditional installer. It is a good hint that if the Phar installer will not run you may have further problems with CMS Made Simple on that server. The installation assistant can then be used to guide you through the process of installing a new version of CMSMS, Upgrading an existing installation of CMSMS, or freshening an existing version of CMSMS. There are various options for each path through the installation assistant and 9 steps Step 1: The first step asks you to select a language and optionally allows you to enable "Advanced Mode". Advanced Mode enables several additional options throughout the assistant and increases the verbosity of status output. Step 2: The second step does checks for existing software in your installation directory. If an existing installation of CMS Made Simple is detected you will be presented with options to proceed through the "upgrade" or "freshen" paths (depending upon the version detected). If no version of CMS Made Simple is installed you will be guided through the "installation" process. Step 3: Step 3 performs various tests on your PHP environment to try to ensure that it is compatible with CMS Made Simple. If important tests fail, you will be notified of them and not allowed to continue. However, if some non-critical tests fail you will be allowed to continue. We recommend that you adjust your PHP environment (you may need to contact your host for assistance) until all tests pass. Step 4: This step is used only during installation and freshen sessions. It asks you to provide basic configuration information for the CMS Made Simple environment. This includes database information and credentials, and a server time zone. As mentioned in the requirements above, CMSMS requires a mysql database to store data, and user credentials to access that mysql database. The user account provided must have ALL PRIVILEGES to the database. You can normally create databases, and create user accounts for database from within your web host's control panel. Additionally, you are asked to specify the time zone of the server (not your local time zone). You may need to ask your host for information about this. Upon submit, the installation assistant will validate your database credentials, and check the database to ensure you are not accidentally overwriting an existing installation of CMSMS. Step 5: This step is used only during an installation session. It asks you to provide basic credentials of the first admin user account. This admin user account allows you to log in to the CMSMS admin console with all privileges and access to all of its functionality. From within the CMSMS admin console you can create user groups, and further user accounts for additional site managers or editors. Unless you have enabled "advanced mode" in step 1, you must also provide an email address. The email address will be used to send you your login credentials in the event of a lost or forgotten password. Step 6: This step asks you for a human readable name for your website, and allows you to select additional language packs to install. Additional language packs allow users who login to the CMSMS admin console to display the output in their native language. Please note: although there are multiple languages available, not all of them are complete. Step 7: This step copies all of the CMSMS core files from within the installation assistant into your CMS Made Simple install. It also cleans up those files. Step 8: This step interacts with the database to ensure that all tables and initial content are created properly. During the installation process numerous tables and indexes are created in the database, and necessary initial data are installed. Additionally (if so selected) sample site-content is installed. That provides useful instruction on how to interact with, and build sites with, CMS Made Simple. It is recommended reading. During an upgrade session, any necessary database changes are performed to ensure that the database tables, and their contents, are compatible with the new version of CMSMS. Step 9: This step finishes the installation and performs a clean-up. During the installation process all core modules and selected non-core modules (if any) are installed, necessary temporary directories created, and the configuration file is written. During the upgrade process core modules and selected non-core modules (if any) are upgraded if necessary, and a new version of the configuration file is written. Any existing configuration file is backed up for safety. Additionally, the CMSMS cache is cleared. After everything is complete you will be presented with links to either visit the CMSMS website, or to log in to its admin console. ----------- Afterwards ----------- After confirming that the site is working as expected, confirm that the installer .php file and related folder (with all its contents) have been deleted from the server. If not so, delete them manually, using the site's file manager (in cPanel or the like). Likewise for any intaller.ini file, in the site-root folder, that was used to facilitate the installer session. --------------------- Additional Features --------------------- The single installation assistant package provides these features: 1. Installing a new version of CMSMS into an empty directory. 2. Upgrading an existing version of CMSMS to a new version 3. Freshening (or repairing) an existing installation of CMSMS This option may be useful for fixing a corrupted installation of CMSMS. Only available when the current version of CMSMS and the new version are identical, it will replace all of the core files with those distributed by the system and re-generate a new config.php file. 4. Installing additional language packages As part of the "Freshen" functionality, when repairing an installation you have the option to install additional language packs. 5. Advanced vs. Simple mode --------------------------- Parameter Details --------------------------- 1. tmpdir=/absolute/path Specify the absolute path to the directory to be used for temporary files. This directory must be writable by the PHP process. This option should not be needed on most hosts. 2. debug=true Attempt turn on error reporting, and to display some meaningful help information. 3. nobase=true Do not output a base href tag in the generated HTML. 4. dest=/absolute/path Allow specifying a custom destination directory (must be an absolute path). 5. nofiles=true Do not overwrite files. This is useful when needing to setup the database when the files have been manually extracted from the source code repository. 6. clear=true Usable only on the first step, this will ensure that all preset config information is cleared from the session (for development purposes only). --------------------------- Frequently Asked Questions --------------------------- Q: What is a PHAR? A: A Phar is a single, self contained, executable PHP Archive. It allows us to distribute the CMSMS installation assistant as a single file even though it contains numerous libraries, classes, stylesheets, and scripts. This allows CMSMS users to install, upgrade or freshen their CMSMS systems by uploading a single file to their web server. Q: Why is there a .php file inside the archive, and not a .phar? A: Most web servers are not configured to treat files ending with .phar as executable PHP scripts. Therefore we have renamed the file as a .php file so that web servers will know to execute the script. Please note however, that this is a binary file and must be treated as such. Q: How do I upload this thing via FTP? A: We do not recommend FTP as a file transfer mechanism. In fact, we highly discourage it. If your only mechanism to transfer files is via FTP because your host does not support shell/sftp or does not provide a reasonable web control panel with upload and unzip capabilities, then that could indicate that the host is not running up-to-date software, and you may have further difficulties. Consider evaluating and moving to a different host. If you still insist on using FTP then use a decent FTP client (such as filezilla) and ensure that you transfer ALL files in binary mode. Q: I get a message saying: "unable to create temporary file for decompression of gzipped phar archive" A: Some hosts have restricted PHP's write access to the system temporary directory, which the installer needs to expand archives. However there is a mechanism to use a different temporary directory for the installer. You can add a TMPDIR=/absolute/path/to/writable/directory argument to the URL on the first page. If this directory is writable it will be used for storing temporary files throughout the execution of the installation assistant. Q: The installation assistant says it cannot write to all files in the directory. Why? A: The installation assistant is capable of upgrading from different different versions of CMSMS, and to do that it must be able to create, update, and delete files. Including the config.php file. In order to do that the PHP processor it must be able to write to each and every file and directory in the installation directory. Additionally, the installation assistant will change the permissions on the config.php file so that by default it is protected. When performing an installation, or an upgrade you may need to manually change these permissions so that the installation assistant can adjust your config.php file. Q: I Get a white screen, what can I do? A: A white screen indicates an error of some sort. It can be caused by permissions problems, an incompatible host, or something else. There are a few things to try: 1. Try to browse to the README-PHAR.TXT file with your browser. If that also generates a white screen then it is indicative of permissions or .htaccess limitations. Note: Depending upon host configuration, Some hosts do not allow browseable files to be writable, or even readable by users other than the file owner. You can try changing the permissions of the extracted files to 600. 2. Rename your .htaccess file(s) out of the way. (Rewrite rules and bad configuration options in the .htaccess file can cause 500 errors). 3. Enable and find your php error logs so that you can find an actual error message to aide in further diagnosis. 4. Add ?debug=1 to the URL for the installer. This will attempt to enable a simple debug mode. This, depending on your host configuration may allow you to see error messages. Q: I still get a white screen, and I've enabled debug mode... now what? A: This could indicate that either your installer upload is corrupted OR that your host does not allow you to change debug settings in the standard way. You will probably have to contact your host in order to get at the actual error. Q: I Get a redirection loop, what can I do? A: Some hosting environments (nginx, and litespeed) particularly can cause redirection loops when executing even the simplest of phar archives. This is due to one or more bugs in php. Specifically: https://bugs.php.net/bug.php?id=71465 and https://bugs.php.net/bug.php?id=67587 (though more may exist). For these environments we recommend that you use the expanded installer. Be sure you read it's README file in it's entirety. --------------------------------------- CMS Made Simple Expanded Installation Assistant --------------------------------------- This document describes using the expanded CMS Made Simple installation assistant. As opposed to the PHAR based installation assistant, this version is not compressed into a single archive file and contains numerous files and directories. It is useful for installing, upgrading and freshening CMSMS installs on servers which are not necessarily running up-to-date software or those with special configurations that do not support using the simpler phar installer. ------------------- WARNINGS: ------------------- 1. We DO NOT recommend the use of this version of the installation assistant. Please use the PHAR version of the installer whenever possible. When using this installer, please execute extreme caution. 2. DO NOT INSTALL THIS PACKAGE IN A POPULATED DIRECTORY. At all times you MUST use a clean directory for the expanded version of the installation assistant. This clean directory can be located below an existing CMSMS install, or parallel to it. ------------------- Requirements: ------------------- 1. The installation assistant requires a PHP environment with a minimum version of PHP 5.4.0. 2. For new installations of CMS Made Simple you should create a new mysql database and database user. - The database user must have ALL PRIVILEGES to all tables within the new database. - Your database user account must have a password. 3. CMS Made Simple itself requires at least PHP 5.6 with numerous libraries enabled (the install assistant will check for these) including json, tokenizer, xml, and gd. 4. Your PHP environment must include the PHAR extension (yes, even for the expanded installer). This is for expanding the archive(s) included within the installation assistant. ------------------- Instructions: ------------------- 1. Using your web host's file manager (usually accessible within the control panel), create a new directory below the location where you want to install CMSMS. Typically, you could name this directory cmsms_install For example: /home/<myusername>/public_html/cmsms_install 2. Upload the cmsms-<version>-install.expanded.zip file to this subdirectory. 3. Extract the files from the .zip archive into this subdirectory. This will create numerous files and directories. So use caution that you are extracting the files into the proper directory. 3. Using your browser, navigate to the directory created in step 1. For Example: http://www.mywebsite.site/cmsms_install You should now be presented with a welcome screen. If instead you see a white screen it probably means that your server is running outdated software versions (e.g. PHP, plugins such as ion-cube or zend-guard). It is a good hint that if the installer will not run you may have further problems with CMS Made Simple on that server. The installation assistant can then be used to guide you through the process of installing a new version of CMSMS, Upgrading an existing installation of CMSMS, or freshening an existing version of CMSMS. There are various options for each path through the installation assistant and 9 steps Step 1: The first step asks you to select an installation directory (the default value is your current directory's parent), to select a language for use in the remainder of the installer, and optionally allows you to enable "Advanced Mode". ------- WARNING Use extreme caution and ensure that the destination directory you select is correct. ------- Advanced mode enables various additional options throughout the assistant and increases the verbosity of the status output. Step 2: The second step does checks for existing software in your installation directory. If an existing installation of CMS Made Simple is detected you will be presented with options to proceed through the "upgrade" or "freshen" paths (depending upon the version detected). If no version of CMS Made Simple is installed you will be guided through the "installation" process. Step 3: Step 3 performs various tests on your PHP environment to try to ensure that it is compatible with CMS Made Simple. If important tests fail, you will be notified of them and not allowed to continue. However, if some non-critical tests fail you will be allowed to continue. We recommend that you adjust your PHP environment (you may need to contact your host for assistance) until all tests pass. Step 4: This step is used only during the installation, and freshen paths. It asks you to provide basic configuration information for the CMS Made Simple environment. This includes database information and credentials, and a server time zone. As mentioned in the requirements above, CMSMS requires a mysql database to store data, and user credentials to access that mysql database. The user account provided must have ALL PRIVILEGES to the database. You can normally create databases, and create user accounts for database from within your web host's control panel. Additionally, you are asked to specify the time zone of the server (not your local time zone). You may need to ask your host for information about this. Upon submit, the installation assistant will validate your database credentials, and check the database to ensure you are not accidentally overwriting an existing installation of CMSMS. Step 5: This step is used only during the installation path. It asks you to provide basic credentials to the first Admin user account. This Admin user account allows you to login to the CMSMS Admin console with all privileges and access to all of its functionality. From within the CMSMS Admin console you can create user groups, and further user accounts for additional site managers or editors. Unless you have enabled "Advanced mode" in step 1, you must also provide an email address. The email address will be used to send you your login credentials in the event of a lost or forgotten password. An email will also be sent to you with your initial login credentials. Step 6: This step asks you for a human readable name for your website, and allows you to select additional language packs to install. Additional language packs allow users who login to the CMSMS Admin console to display the output in their native language. Please note: though there are multiple languages available, not all of them are complete. Step 7: This step copies all of the CMSMS Core files from within the installation assistant into your CMS Made Simple install. it also cleans up those files. Step 8: This step interacts with the database to ensure that all tables and initial content are created properly. During the installation process numerous tables and indexes are created in the database, and necessary initial data is installed. Additionally (by default) sample data is installed. The sample data provides useful instructions on how to interact with, and build sites with, CMS Made Simple. This is recommended reading. During the upgrade process, any necessary database changes are preformed to ensure that the database tables, and thier contents, are compatible with the new version of CMSMS. Step 9: This step finishes the installation and performs a clean up. During the installation process all core modules are installed, necessary temporary directories created, and the configuration file is written. During the upgrade process core modules are upgraded if necessary, and a new version of the configuration file is written. Any existing configuration file is backed up for safety. Additionally, the CMSMS cache is cleared. Once everything is complete you will be presented with links to either visit your CMSMS website, or to login to its Admin console. ----------- Afterwards ----------- After successful completion of the installation assistant, you should, using either the command line or your web hosts file manager, It is important for security purposes that you delete the installation assistant .php file and this text file from your server after verifying that the operation has succeeded. --------------------------- Additional Features --------------------------- The single installation assistant package provides these features: 1. Installing a new version of CMSMS into an empty directory. 2. Upgrading an existing version of CMSMS to a new version 3. Freshening (or Repairing) an existing installation of CMSMS This option may be useful for fixing a corrupted installation of CMSMS. Only available when the current version of CMSMS and the new version are identical, it will replace all of the core files with those distributed by the system and re-generate a new config.php file. 4. Installing additional language packages As part of the "Freshen" functionality, when repairing an installation you have the option to install additional language packs. 5. Advanced vs. Simple mode --------------------------- Available Options --------------------------- The installation assistant supports the following URL based options 1. TMPDIR=/absolute/path Specify the absolute path to the directory to be used for temporary files. This directory must be writable by the PHP process. This option should not be needed on most hosts. 2. debug=1 Attempt Turn on error reporting, and to display some meaningful help information. 3. nobase=1 Do not output a base href tag in the generated HTML. 4. dest=/absolute/path Allow specifying a custom destination directory (must be an absolute path). 5. nofiles=1 Do not overwrite files. This is useful when needing to setup the database when the files have been manually extracted from the source code repository. 6. clear=1 Usable only on the first step, this will ensure that all preset config information is cleared from the session (for development purposes only). ---- FAQ: ---- Q: The installation assistant says it cannot write to all files in the directory. Why? A: The installation assistant is capable of upgrading from different different versions of CMSMS, and to do that it must be able to create, update, and delete files. Including the config.php file. In order to do that the PHP processor it must be able to write to each and every file and directory in the installation directory. Additionally, the installation assistant will change the permissions on the config.php file so that by default it is protected. When performing an installation, or an upgrade you may need to manually change these permissions so that the installation assistant can adjust your config.php file. Q: I get a message saying: "unable to create temporary file for decompression of gzipped phar archive" A: Some hosts have restricted PHP's write access to the system temporary directory, which the installer needs to expand archives. However there is a mechanism to use a different temporary directory for the installer. You can add a TMPDIR=/absolute/path/to/writable/directory argument to the URL on the first page. If this directory is writable it will be used for storing temporary files throughout the execution of the installation assistant. Q: I Get a white screen, what can I do? A: A white screen indicates an error of some sort. It can be caused by permissions problems, an incompatible host, or something else. There are a few things to try: 1. Try to browse to the README-PHAR.TXT file with your browser. If that also generates a white screen then it is indicative of permissions or .htaccess limitations. Note: Depending upon host configuration, Some hosts do not allow browseable files to be writable, or even readable by users other than the file owner. You can try changing the permissions of the extracted files to 600. 2. Rename your .htaccess file(s) out of the way. (Rewrite rules and bad configuration options in the .htaccess file can cause 500 errors). 3. Enable and find your php error logs so that you can find an actual error message to aide in further diagnosis. 4. Add ?debug=1 to the URL for the installer. This will attempt to enable a simple debug mode. This, depending on your host configuration may allow you to see error messages. Q: I still get a white screen, and I've enabled debug mode... now what? A: This could indicate that either your installer upload is corrupted OR that your host does not allow you to change debug settings in the standard way. You will probably have to contact your host in order to get at the actual error. Q: How do I upload this thing via FTP? A: We do not recommend FTP as a file transfer mechanism. In fact, we highly discourage it. If your only mechanism to transfer files is via FTP because your host does not support shell/sftp or does not provide a reasonable web control panel with upload and unzip capabilities, then that could indicate that the host is not running up-to-date software, and you may have further difficulties. Consider evaluating and moving to a different host. If you still insist on using FTP then use a decent FTP client (such as filezilla) and ensure that you transfer ALL files in binary mode. Quick notes for debugging/developing the .phar installer 1: -- For developing with the .phar installer without building the thing for each test specify a ?dest=/full/path/to/directory argument on the INITIAL url i.e: http://www.mysite.com/phar_installer/index.php?dest=/var/www/cmsms_dir /* ========================================================================== * Application: CMSMS Phar Installer styles - Version 0.99 - Since 1.99-alpha0 * Copyright: 2014 CMS Made Simple DEV Team * Author: Goran Ilic - uniqu3e<at>gmail<dot>com ========================================================================== */ /* --------------------------------------------------------------------------- * Browser consistency - normalize.css v1.1.0 | MIT License | git.io/normalize -------------------------------------------------------------------------- */ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } html { min-height: 100%; background : #f6f6f6; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2Y2ZjZmNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQyJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjNGM0YzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, rgba(246,246,246,1) 1%, rgba(242,242,242,1) 42%, rgba(196,196,196,1) 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,rgba(246,246,246,1)), color-stop(42%,rgba(242,242,242,1)), color-stop(100%,rgba(196,196,196,1))); background: -webkit-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: -o-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: -ms-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: linear-gradient(to bottom, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); margin: 0 20px; font-size: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } html.lt-ie9 { filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#c4c4c4',GradientType=0 ); } html, button, input, select, textarea { font-family: sans-serif; } p, pre { margin: 1em 0; } img { border: 0; -ms-interpolation-mode: bicubic; } form { margin: 0; } button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } button, input { line-height: normal; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; *overflow: visible; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *height: 13px; *width: 13px; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } textarea { overflow: auto; vertical-align: top; } table { border-collapse: collapse; border-spacing: 0; } /* --------------------------------------------------------------------------- * Base Styles & Helpers -------------------------------------------------------------------------- */ *, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } img, object, embed, video { max-width: 100%; } strong { font-weight: 700; } abbr[title], dfn[title] { border-bottom: 1px dotted #ddd; cursor: help; } .hidden { display: none !important; visibility: hidden; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .no-list { list-style: none; } .no-margin { margin: 0; } .no-padding { padding: 0; } .text-centered { text-align: center; } .text-right { text-align: right; } body { margin: 0; min-height: 100%; line-height: 1.6; font-size: 1em; -webkit-font-smoothing: subpixel-antialiased; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; } .row { width: 100%; max-width: 1140px; margin: 0 auto; position: relative; } .row .row { max-width: none; } .row:before, .row:after, .cf:before, .cf:after { content: " "; display: table; } .row:after, .cf:after { clear: both; } .row [class*="-col"] { position: relative; } .inner { padding: 20px; } @media only screen and (min-width: 768px) { /* GRID */ .row .one-col { width: 4.85%; } .row .two-col { width: 13.45%; } .row .three-col { width: 22.05%; } .row .four-col { width: 30.75%; } .row .five-col { width: 39.45%; } .row .six-col { width: 48.1%; } .row .seven-col { width: 56.75%; } .row .eight-col { width: 65.4%; } .row .nine-col { width: 74.05%; } .row .ten-col { width: 82.7%; } .row .eleven-col { width: 91.35%; } .row .twelve-col { width: 100%; margin-left: 0; } .row [class*="-col"] { margin-left: 3.8%; float: left; min-height: 1px; position: relative; } .row [class*="-col"]:first-child, .row [class*="-col"].first { margin-left: 0; } } h1, h2, h3, h4, h5, h6 { margin: .5em 0; } /* --------------------------------------------------------------------------- * UI Layout -------------------------------------------------------------------------- */ .cmsms-ui { color: #222; } /* --- Typography and Elements --- */ .cmsms-ui hr { clear:both; border-width: 0; border-color: #ddd; border-style: solid; border-top-width: 1px; margin: 1em 0; min-height: 0; height: 1px; } .cmsms-ui .small-font { font-size: .75em; } .cmsms-ui a { color: #F79838; text-decoration: none; outline: 0; } .cmsms-ui a:hover, .cmsms-ui a:active { color: #EC7A06; } /* --- Icons --- */ @font-face { font-family: 'cmsms-ui'; src: url('../fonts/cmsms-ui.eot'); } @font-face { font-family: 'cmsms-ui'; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggi/MIAAAC8AAAAYGNtYXAaVcxjAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZlJgS2gAAAFwAAAJHGhlYWT/99PHAAAKjAAAADZoaGVhA+IB8gAACsQAAAAkaG10eBsAAAcAAAroAAAARGxvY2EMMA4YAAALLAAAACRtYXhwAB4AtwAAC1AAAAAgbmFtZefgE4YAAAtwAAABQnBvc3QAAwAAAAAMtAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmDAHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYM//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAgAAAAACAAGgAAMACgAAJRMhAxMDETMXMxUBoGD+YGBAQJBA0AABAP8AASD+4AGgQEAAAAQAB//gAfkB4AADABwAMQA/AAABAyEDNTEyHgIXEx4BDgEjISIuATY3Ez4DMwM0PgIzMh4CFRQOAiMiLgI1NzIeAhUHIyc0PgIzAQCsAVisBAgIBwPbBgIJEg3+Tg0SCQIG2wMHCAgEIAUJCwcHCwkFBQkLBwcLCQUgBwsJBQosCgUJCwcBkf6PAXFPAwUJBf5MCxQOCQkOFAsBtAUJBQP+gAcLCQUFCQsHBwsJBQUJCwfABQkLB2BgBwsJBQAAAAMAAP/gAgAB4AAUABkAJAAAASIOAhUUHgIzMj4CNTQuAiMHMxUjNRMjNTM1IzUzFTMVAQA1XUYoKEZdNTVdRigoRl01IEBAYIAgIGAgAeAoRl01NV1GKChGXTU1XUYoYEBA/sAggCCgIAAAAAIAAP/gAgAB4AAUACUAAAEiDgIVFB4CMzI+AjU0LgIjFwcXFSMnByM1Nyc1Mxc3MxUBADVdRigoRl01NV1GKChGXTWAU1MtU1MtU1MtU1MtAeAoRl01NV1GKChGXTU1XUYorVNTLVNTLVNTLVNTLQACAAD/4AIAAeAAFAAbAAABIg4CFRQeAjMyPgI1NC4CIwMnNxc3FwcBADVdRigoRl01NV1GKChGXTUwai87uRfQAeAoRl01NV1GKChGXTU1XUYo/mCKMUuXF/AAAAMAAP/gAgAB4AAJAA4AEwAAJQMjBxUXMzc1JwMjNTMVNSM1MxUCAJDgkJDgkJBQQEBAQHABcJDgkJDgkP5gQECAwMAAAgAA/+ACAAHgABkAMwAAAS4DIyIOAgcXPgMzMh4CFwczNQcDIi4CJzcjFTceAzMyPgI3Jw4DIwG1ESkuMhspSz8vDjwKJC84HxQmIh8NSMBLtRQmIh8NSMBLESkuMhspSz8vDjwKJC84HwGVERwUChksPSQXHC0iEggOFQ1IwEv+iwgOFQ1IwEsRHBQKGSw9JBccLSISAAAEAAAAAAIAAcAABAAJAA8AFQAAASUNASUlFwcnNx8BBSU3FzcXBSU3FwIA/wD/AAEAAQD/AKurq6vNM/8A/wAzzc0z/wD/ADPNAUCAgICAVlZWVlacGoCAGmcHGoCAGmcAAAAADAAA/+AB4AHgAAMABwALAA8AEwAXABsAHwAjACcANAA5AAATMxUjNzMVIzczFSMFMxUjNzMVIzczFSMnMxUjNzMVIzczFSMlMxUjARUjNSMVIzUjESERIxMhESERoEBAYEBAYEBA/uBAQGBAQGBAQGBAQGBAQGBAQP7gQEABYEDgQEAB4EAg/mABoAEgQEBAQECAQEBAQECgQEBAQEBAQAFgICAgIP4AAgD+IAFg/qAAAAAABgAA/+ACAAHgAAoAHwBoAIkAlAC0AAA3MDQwNBU0FDAUMTc+AycuAyMmDgIXHgMXJTU0LgInBSYOAgc+Axc2FjYWNQcnHgMVFA4CBw4DFRQeAhceAxUUBhQGBxc+AzURJxUnNSc1NzU3FTcBNhY2FjcuAzU0PgI3BiIGJgcuAycdAT4DFwcwJjwBIzIcARYxFy4DJy4BIiYHJg4CBx4DFzc8ATY0NTwBLgE1AHYRHBMIAwMSGyERERwTCAMDExohEQGKDRgfEf6qER8XDQELGhwfDxE8OysoOA4VDwcHDhILCw4HAwsOEAYSGA8GAQEBmhEfGA1gIGBgIGD+XQQIBwgEBQkHAwECBAICBAUEAg4aFxQJChYXGQ1bAQEBAeIDDRIYDgUKDAsGESAcGAkDDxYcD5ABAQEtAgIBAQIClwEPHiYYFigdEgEQHCcWGCcfEQKcKhIeGQwBAQEOFh8QCRIMCAEBAQEBASMBBhQcIBEOGxYWBwoMDAoIBhAPDwMNGB0eFQIHBQcCAQEMGR4SAQoBYQFfAR8BXwFhAf8AAQEBAQEEDAwOBwUICQcFAQEBAQEECQsIImQDCQQEATwDAgMDAgMhDBARDwoBBAIBAggKEgkPGBQJAQEBBQQFAQQDBgMEAAIAAP/gAgAB4AAYADEAAAEhIg4CBxMGHgIzITI+AicTLgMjEyMXIzcjNzM3Jj4COwEHIyIOAgcXMwcBq/6rEh4ZDAEBAQ4XIBABVxAgFw4BAQEMGR4SCVQBYQEvAS0BAQwYKBxZAUcJCAYBAQFfDAHgDRgfEf6qER8YDQ0YHxEBVhEfGA3/AODgSTAYJhsOTwQIDAgoSQAAAgAA/+ACAAHgABgAggAAASEiDgIHEwYeAjMhMj4CJxMuAyMHBhYGFgcWDgIjIi4CJzIWOgEzMj4CNy4DJxYyFjIzMjYyNjMuAycyJjIiMx4DMy4DNyY+AjceAxcmNiY2Jz4DMzIeAhc+AzcOAwc+AzcOAwcBq/6rEh4ZDAEBAQ4XIBABVxAgFw4BAQEMGR4SBwEBAQEBASA8WjkTISIdDwMEBgUDDh0ZGgoNGhQQAwEFAwUBBAQHBAQPGBMKAQEBAQEBBAoICwUIDwkGAQEDAgUCECYtMBsCAQIBAQEMGB0TCBIPDwQIDQ8MBwQGCgsHBwwNCgcFCQsLBwHgDRgfEf6qER8YDQ0YHxEBVhEfGA2rAQMDAwEqV0YtBgoOCQEFCQ4IAQkPFg0BAQECAxAWHA8BAgQDAQUQEhULBgsLCgUUHxgNAgMFBAUDEh8XDgQHCgcCBAUHAwcODAoEAQIEBAIGDAsKBQAABAAA/+ACAAHgABgAHQAyAE8AAAEhIg4CFREUHgIzITI+AjURNC4CIwMjNTMVAyIuAjU0PgIzMh4CFRQOAiMBIzU0LgIjIg4CHQEjNTMVPgMzMh4CHQEBqv6sEh8XDg4XHxIBVBIfFw4OFx8S6kBAIAcLCQUFCQsHBwsJBQUJCwcBAEAFCQsHBwsJBUBABQwPEAgPGhQLAeAOFx8S/qwSHxcODhcfEgFUEh8XDv5g4OABAAUJCwcHCwkFBQkLBwcLCQX/AIAHCwkFBQkLB4DgKAcODAcNFR0RkAAAAAEAAAABAAAubcCrXw889QALAgAAAAAAz2xJhQAAAADPbEmFAAD/4AIAAeAAAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAAgAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAABAAAAAgAAAAIAAAcCAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAACgAUAB4AOACYAM4BBgE0AVYBogHUAi4DIANsBCAEjgABAAAAEQC1AAwAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEAEAAAAAEAAAAAAAIADgBOAAEAAAAAAAMAEAAmAAEAAAAAAAQAEABcAAEAAAAAAAUAFgAQAAEAAAAAAAYACAA2AAEAAAAAAAoAKABsAAMAAQQJAAEAEAAAAAMAAQQJAAIADgBOAAMAAQQJAAMAEAAmAAMAAQQJAAQAEABcAAMAAQQJAAUAFgAQAAMAAQQJAAYAEAA+AAMAAQQJAAoAKABsAGMAbQBzAG0AcwAtAHUAaQBWAGUAcgBzAGkAbwBuACAAMQAuADAAYwBtAHMAbQBzAC0AdQBpY21zbXMtdWkAYwBtAHMAbQBzAC0AdQBpAFIAZQBnAHUAbABhAHIAYwBtAHMAbQBzAC0AdQBpAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAqcAAoAAAAAClQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAABuYAAAbmU8XliU9TLzIAAAfcAAAAYAAAAGAIIvzCY21hcAAACDwAAABMAAAATBpVzGNnYXNwAAAIiAAAAAgAAAAIAAAAEGhlYWQAAAiQAAAANgAAADb/99PHaGhlYQAACMgAAAAkAAAAJAPiAfJobXR4AAAI7AAAAEQAAABEGwAAB21heHAAAAkwAAAABgAAAAYAEVAAbmFtZQAACTgAAAFCAAABQufgE4Zwb3N0AAAKfAAAACAAAAAgAAMAAAEABAQAAQEBCWNtc21zLXVpAAECAAEAOvgcAvgbA/gYBB4KABlT/4uLHgoAGVP/i4sMB4tr+JT4dAUdAAAAwQ8dAAAAxhEdAAAACR0AAAbdEgASAQEJERMVGB0iJywxNjtARUpPVFljbXNtcy11aWNtc21zLXVpdTB1MXUyMHVFNjAwdUU2MDF1RTYwMnVFNjAzdUU2MDR1RTYwNXVFNjA2dUU2MDd1RTYwOHVFNjA5dUU2MEF1RTYwQnVFNjBDAAACAYkADwARAgABAAQABwAKAA0AMQCpAQABVQGaAd0COwKMAyoEPQSiBVwF8fyUDvyUDvyUDvuUDvg0ixXr95T8NIsr+5QFy/e0FUv7tIv4NPcki8tL92SLi0sFDveU+CUV+0D8Bffsi/tA+AUFi9oVi4sFlouWhJN8CPdv/EgFnG18c2mLCPxGiwVpi3yjnKkI92/4SAWTmpaSlosIa/wUFYudmZmdi52LmX2LeYt5fX15i3mLfZmLnQir91QVnYuZfYt5CIErX4uB6wWLnZmZnYsIDveU+HQV+yGL+wf7B4v7IYv7IfcH+wf3IYv3IYv3B/cHi/chi/ch+wf3B/shiwhrKxXLi4tLS4uLywXr+9QV+xSLi6uri4v3FGuLi6vri4v7NKuLi2sFDveU+HQV+yGL+wf7B4v7IYv7IfcH+wf3IYv3IYv3B/cHi/chi/ch+wf3B/shiwj3FPtBFTg43jiLXl6LON44OF6Li7je3jjei7i4i9443t64i4teBQ73lPh0Ffshi/sH+weL+yGL+yH3B/sH9yGL9yGL9wf3B4v3IYv3IfsH9wf7IYsIW/w0FSH3Hrq8xkD3TfcronT7ZPuEBQ74lPcEFfsk+AT7dIv7JPski/t09yT7JPd0i/ck9ySL93T7JPckBTv8NBVLi4vLy4uLSwWL9xQVS4uL91TLi4v7VAUO+En4KRVduUuoRIv7AosuRmYqCMd0BabU0r/di8CLu3auaAhDQ/dUi4v3VEBABftJ/AkVVotboGiuCNPT+1SLi/tU1tYFuV3LbtKL9wKL6NCw7AhPogVwQkRXOYsIDviU99QV+5T3FPuU+xT3lPsU95T3FAX7lOEV9z81+z81+z/h9z/hBfdh+zAVvnH7lPsU+5T3FL6l92EkBfdhkhW+cfuU+xT7lPcUvqX3YSQFDvc097QVy4uLS0uLBevLFcuLi0tLiwXryxXLi4tLS4sF+7T7FBXLi4tLS4sF68sVy4uLS0uLBevLFcuLi0tLiwUr9zQVy4uLS0uLBevLFcuLi0tLiwXryxXLi4tLS4sF+7TLFcuLi0tLiwX39Pf0FYtrS4uLq/t0i4trS4uLq0uLi/yU+HSLi/iUS4sFq/x0Ffw0i4v39Pg0i4v79AUOi7gVi4yLjYuMi4qLiYuKCPcK9ywVuYqqu4PHg8dfvF2MXYxsXZNPk0+3WbmJCPge9y8Vi7YFi7plsVyLCPvqiwVdi2Vmil2opbSgtIu4i/cai4uLCGNpU4sFsH2fX4tfi2V2a250bnSFgot4i3qqcJt/u2qabItXi4OKg4mDCPcuiwW6i7Gxi7oIi/efK4uLK2uLi+sri4ur64uL66uLiyvriwX8N/uTFZaLlYuVi32YgZyLn4uWjpeRlYWKhouFi2aLa5d0nwiLaosmBaaXqpOuiwgwThWKjouOio6MiIuIjIgI93ZrFYOocJpmpH6QfI17i16MYXl0cJNkrW60iwj3JIsFi5GMkIuRi5GKkoqRCA74P/h0FfvqiwVci2Vli1wIi/vqBYtcsWW6iwj36osFuouxsYu6CIv36gWLumWxXIsIk/uUFTiLi/t0K4uL93Rdi4vUuYuLuwWLzKex14sI44uLPEOLBXaLiICLdgiLY+uLfkIFDvg/+HQV++qLBVyLZWWLXAiL++oFi1yxZbqLCPfqiwW6i7Gxi7oIi/fqBYu6ZbFciwiD+z8Vi4eLiIuHi/sFN/sX+y+LW4tfmmajkoqRi5KLsouwmKiiZoxspICtkIqQipGLkouTjJKNCGSTbq6LtIuMi4uLi5eFmIeZi3SafKWLqYubj5mTmLRXyWnRh4mSi5GLkou6sLK6iwiji6GAmnqej52SnJWEd357eoCcjZuQmpGAenx8e38IDvg++HQV++iLBVyLZGSLXAiL++gFi1yyZLqLCPfoiwW6i7Kyi7oIi/foBYu6ZLJciwj7fvw0FUuLi/d0y4uL+3QFa/eUFXmLfZmLnYudmZmdi52LmX2LeYt5fX15iwj3lPuUFUuLi/cUBYudfZl5i3mLfX2LeQiL+xRLi4v3dMuLi2MFmJ2foaKLs4urZ4tfCIv7JAUO+JQU+JQViwwKAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmDAHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYM//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAIVfVH9fDzz1AAsCAAAAAADPbEmFAAAAAM9sSYUAAP/gAgAB4AAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAEAAAACAAAAAgAABwIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAABQAAARAAAAAAAOAK4AAQAAAAAAAQAQAAAAAQAAAAAAAgAOAE4AAQAAAAAAAwAQACYAAQAAAAAABAAQAFwAAQAAAAAABQAWABAAAQAAAAAABgAIADYAAQAAAAAACgAoAGwAAwABBAkAAQAQAAAAAwABBAkAAgAOAE4AAwABBAkAAwAQACYAAwABBAkABAAQAFwAAwABBAkABQAWABAAAwABBAkABgAQAD4AAwABBAkACgAoAGwAYwBtAHMAbQBzAC0AdQBpAFYAZQByAHMAaQBvAG4AIAAxAC4AMABjAG0AcwBtAHMALQB1AGljbXNtcy11aQBjAG0AcwBtAHMALQB1AGkAUgBlAGcAdQBsAGEAcgBjAG0AcwBtAHMALQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { font-family: 'cmsms-ui'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; } .icon-stack:before { content: "\e607"; } .icon-folder-open:before { content: "\e600"; } .icon-calendar:before { content: "\e608"; } .icon-warning:before { content: "\e601"; } .icon-info:before { content: "\e602"; } .icon-cancel-circle:before { content: "\e603"; } .icon-checkmark-circle:before { content: "\e604"; } .icon-spam:before { content: "\e605"; } .icon-loop:before { content: "\e606"; } .icon-googleplus:before { content: "\e609"; } .icon-facebook:before { content: "\e60a"; } .icon-twitter:before { content: "\e60b"; } .icon-linkedin:before { content: "\e60c"; } .icon-asterisk { font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif !important; } .icon-asterisk:before { content: " *"; } /* --- Colours --- */ .cmsms-ui .red { color: #A95252; } .cmsms-ui .blue { color: #4D8796; } .cmsms-ui .green { color: #52A954; } .cmsms-ui .yellow { color: #96904D; } .cmsms-ui .orange { color: #F79838; } /* --- Messages --- */ .cmsms-ui .message { position: relative; min-height: 18px; margin: 1em 0; height: auto; background-color: #EFEFEF; padding: 1em; line-height: 1.33; color: rgba(0,0,0,.6); -webkit-transition: opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease; -moz-transition: opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease; transition: opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; border-radius: .225em; } .cmsms-ui .message.red { background-color: #F1D7D7; color: #A95252; } .cmsms-ui .message.blue { background-color: #E6F4F9; color: #4D8796; } .cmsms-ui .message.green { background-color: #DEFCD5; color: #52A954; } .cmsms-ui .message.yellow { background-color: #F6F3D5; color: #96904D; } .cmsms-ui .icon.message { display: table; width: 100%; } .cmsms-ui .icon.message > .message-icon { display: table-cell; vertical-align: middle; text-align: left; font-size: 3.5em; opacity: .3; } .cmsms-ui .icon.message > .message-icon + .content { padding-left: .5em; display: table-cell; vertical-align: middle; margin-top: 0; } /* --- Labels --- */ .cmsms-ui .label { display: inline-block; vertical-align: middle; margin: -.25em .25em 0; background-color: #efefef; padding: .1em .5em; text-transform: uppercase; font-weight: 400; font-size: .875em; border-radius: 3px; -webkit-transition: background .1s linear; -moz-transition: background .1s linear; transition: background .1s linear; } .cmsms-ui .label.circle { min-height: 1em; max-height: 2em; padding: .5em !important; line-height: 1em; text-align: center; border-radius: 500px; } .cmsms-ui .label.red { background-color: #A95252; color: #fff; } .cmsms-ui .label.blue { background-color: #6ECFF5; color: #fff; } .cmsms-ui .label.green { background-color: #52A954; color: #fff; } .cmsms-ui .label.yellow { background-color: #96904D; color: #fff; } .cmsms-ui .label.orange { background-color: #F05940; color: #fff; } /* --- Forms --- */ .cmsms-ui .form-row { margin-bottom: .7em; } .cmsms-ui .installer-form label { display: inline-block; padding-right: 25px; } .cmsms-ui .installer-form .form-field { display: inline-block; height: 34px; padding: 6px 12px; font-size: .875em; line-height: 1.42857143; color: #666; background-color: #fff; border: 1px solid #ddd; border-radius: 2px; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -o-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; } .cmsms-ui .installer-form select.form-field { height: auto; } .cmsms-ui .installer-form .corner { background-color: transparent; border-color: #f2f2f2; position: absolute; top: 1px; right: 1px; z-index: 10; margin: 0; width: 25px; height: 25px; padding: 0; text-align: center; -webkit-transition: color .2s ease; -moz-transition: color .2s ease; transition: color .2s ease; } .cmsms-ui .installer-form .corner:after { position: absolute; content: ""; right: 0; top: 0; z-index: -1; width: 0; height: 0; border-top: 0 solid transparent; border-right: 25px solid transparent; border-bottom: 25px solid transparent; border-left: 0 solid transparent; border-right-color: inherit; -webkit-transition: border-color .2s ease; -moz-transition: border-color .2s ease; transition: border-color .2s ease; } .cmsms-ui .installer-form .corner.red:after { border-right-color: #F1D7D7; color: #A95252; } .cmsms-ui .installer-form .form-field:focus { border-color: rgba(0,0,0,.2); border-bottom-left-radius: 0; border-top-left-radius: 0; outline: 0; } .cmsms-ui .installer-form input[type="text"].form-field:focus, .cmsms-ui .installer-form input[type="password"].form-field:focus, .cmsms-ui .installer-form textarea.form-field:focus, .cmsms-ui .installer-form input[type="email"].form-field:focus { border-color: #FDA66B; -webkit-appearance: none; -webkit-box-shadow: .3em 0 0 0 #FDA66B inset; box-shadow: .3em 0 0 0 #FDA66B inset; } .cmsms-ui .installer-form .full-width { width: 100%; } .cmsms-ui .bigtext { max-height: 20em; max-width: 60em; overflow-y: none; overflow-x: none; } /* --- Buttons --- */ .cmsms-ui .action-button { display: inline-block; margin: 20px 0; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; color: #666; border: none; white-space: nowrap; padding: 6px 18px; font-size: .875em; line-height: 1.42857143; text-decoration: none; border-radius: 2px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.05))); background-image: -webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); background-image: -moz-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset; box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset; -webkit-transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,-webkit-box-shadow .25s ease; -moz-transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease; transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease; } .cmsms-ui .action-button.positive { background-color: #5BBD72 !important; color: #fff; } .cmsms-ui .action-button.negative { background-color: #D95C5C !important; color: #fff; } .cmsms-ui .action-button.blue { background-color: #6ECFF5 !important; color: #fff; } .cmsms-ui .action-button.orange { background-color: #E96633 !important; color: #fff; } .cmsms-ui .action-button.social { color: #fff; font-weight: 700; text-transform: uppercase; } .cmsms-ui .action-button.google { background-color: #D34836; } .cmsms-ui .action-button.facebook { background-color: #3B579D; } .cmsms-ui .action-button.twitter { background-color: #4092CC; } .cmsms-ui .action-button.linkedin { background-color: #1F88BE; } .cmsms-ui .action-button:hover, .cmsms-ui .action-button:active { background-image: none; } .cmsms-ui .action-button.positive:hover, .cmsms-ui .action-button.positive:active { background-color: #58CB73 !important; color: #fff; } .cmsms-ui .action-button.negative:hover .cmsms-ui .action-button.negative:active { background-color: #D24B4C !important; color: #fff; } .cmsms-ui .action-button.blue:hover, .cmsms-ui .action-button.blue:active { background-color: #1AB8F3 !important; color: #fff; } .cmsms-ui .action-button.orange:hover, .cmsms-ui .action-button.orange:active { background-color: #FF7038; color: #fff; } /* --- Tables --- */ .cmsms-ui .table { width: 100%; border-collapse: collapse; } .cmsms-ui .table caption { font-weight: bold; text-align: left; font-size: 1.25em; } .cmsms-ui .table thead { border-bottom: 1px solid rgba(0,0,0,.03); } .cmsms-ui .bordered-table td, .cmsms-ui .bordered-table th { border: 1px solid #ddd; } .cmsms-ui .table th, .cmsms-ui .table tr, .cmsms-ui.table td { border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .1s ease-out; -moz-transition: all .1s ease-out; transition: all .1s ease-out; } .cmsms-ui .table th { cursor: auto; background-color: #f2f2f2; text-align: left; color: rgba(0,0,0,.8); padding: .5em .7em; vertical-align: middle; } .cmsms-ui .table td { padding: .4em .7em; vertical-align: middle; } .cmsms-ui .table.zebra-table tr.even, .cmsms-ui .table.zebra-table td.even { background-color: #f9f9f9; } .cmsms-ui .table tr.warning, .cmsms-ui .table td.warning { background-color: #FBF6E9 !important; color: #7D6C00; } .cmsms-ui .table tr.error, .cmsms-ui .table td.error { background-color: #F9F4F4; color: #CD2929; } .cmsms-ui .table tr.warning:hover, .cmsms-ui .table td.warning:hover { background-color: #F3EDDC !important; color: #7D6C00; } .cmsms-ui .table tr:hover.error, .cmsms-ui .table td:hover.error { background-color: #F2E8E8; color: #CD2929; } .cmsms-ui .table .tests-infotext { display: inline-block; font-size: .875em; line-height: 1.3; } /* HEADER */ .cmsms-ui .header-section { text-align: center; padding: 28px 0 25px 0; line-height: 1; } .cmsms-ui .header-section .installer-title { display: block; font-size: 1.75em; font-weight: 300; } /* CONTENT */ .cmsms-ui .installer-section { background: #fff; border-radius: 2px; -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .1); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, .1); -o-box-shadow: 0 0 6px rgba(0, 0, 0, .1); box-shadow: 0 0 6px rgba(0, 0, 0, .1); } .cmsms-ui .existing-info li { margin-bottom: .3em; word-break: break-word; } /* -- Aside steps indicator --- */ .cmsms-ui .installer-steps ol { margin: 0; padding-left: 20px; list-style: decimal; } .cmsms-ui .installer-steps ol > li { margin-bottom: 1.2em; } .cmsms-ui .installer-steps ol > li:hover { color: #666; } .cmsms-ui .installer-steps { color: #666; font-size: .875em; } .cmsms-ui .step-title { margin-bottom: 0; } .cmsms-ui .current-step { color: #F79838; } .cmsms-ui .done-step { color: #7AB949; } .cmsms-ui .step-description { margin-top: 0; line-height: 1.3; font-size: .928571em; color: #333; } .cmsms-ui .current-step .step-description { color: #333; } /* --- main content section --- */ .cmsms-ui .info { font-size: .875em; } .cmsms-ui .installer-form label { font-size: .875em; } .cmsms-ui .installer-form fieldset { margin: 0; padding: 15px; border: 1px solid #ddd; border-radius: 3px; background-color: #fefefe; } .cmsms-ui .installer-form .corner .icon-asterisk { margin-left: 12px; } .cmsms-ui .installer-content-section h1 { font-size: 1.5em; } .cmsms-ui .installer-test-legend { margin-top: 25px; } .cmsms-ui .installer-test-legend th { background-color: #f2f2f2 !important; } .cmsms-ui .table.installer-test-information { font-size: .875em; } #bottom_nav { display: none; } /* FOOTER */ .cmsms-ui .footer-section { text-align: center; padding: 10px 0 15px 0; } .cmsms-ui .footer-info a { font-size: .875em; color: #666; font-weight: 700; } .cmsms-ui .footer-section small { display: block; } | �� �����������������������LP�����������������������T_�������������������c�m�s�m�s�-�u�i����R�e�g�u�l�a�r����V�e�r�s�i�o�n� �1�.�0����c�m�s�m�s�-�u�i��������� ���0OS/2"������`cmapUc�����Lgasp�����h���glyfR`Kh��p�� head�� ���6hhea�� ���$hmtx���� ���Dloca 0�� ,���$maxp���� P��� name�� p��Bpost����� ��� �����Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������������79���������������79���������������79����������� ��%!33```@@@��� @@������1�?��!512#!".67>34>32#".572#'4>3�X  N          ,  qO L         `` ���������$��"32>54.#3#5#535#533�5]F((F]55]F((F]5 @@` ` (F]55]F((F]55]F(`@@ ��������%��"32>54.##'#57'5373�5]F((F]55]F((F]5SS-SS-SS-SS-(F]55]F((F]55]F(SS-SS-SS-SS-��������"32>54.#'77�5]F((F]55]F((F]50j/;(F]55]F((F]55]F(`1K������ ����%#375'#535#53�P@@@@pp`@@������3��.#">3235".'7#732>7'#).2)K?/< $/8&" HK&" HK).2)K?/< $/8 ,=$-" HK HK ,=$-"��������� ����% %%'7%77%7������3��33��3@VVVVVgg���� ����� ������#�'�4�9��3#73#73#3#73#73#'3#73#73#%3##5##5#!#!!@@`@@`@@@@`@@`@@`@@`@@`@@@@`@@@@ ` @@@@@@@@@@@@@@@@@` �� `�������� ��h�����704044017>'.#&%54.'&>665'>5''5'57577667.54>7"&.'>0&<#21.'."&&7<645<.5�v!!   <;+(8   ` `` `]   [    -&(''*   #     a__a�   "d <!     ������1��!"3!2>'.###7#737&>;#"3  W   Ta/- (YG _   V �I0&O (I���������!"3!2>'.##".'2:32>7.'22326263.'2&2"33.7&>7&6&6'>32>7>7  W   <Z9!"     &-0        V *WF-           ��������2�O��!"3!2>54.##53".54>32##54.#"#53>32T@@     �@  @@  T`�    �  (  ��������.m_<� �����lI����lI�������������������������������������������������������������������������������������������������� ���8��4V. l ������ ������������������������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg xmlns="http://www.w3.org/2000/svg"> <metadata>Generated by IcoMoon</metadata> <defs> <font id="cmsms-ui" horiz-adv-x="512"> <font-face units-per-em="512" ascent="480" descent="-32" /> <missing-glyph horiz-adv-x="512" /> <glyph unicode=" " d="" horiz-adv-x="256" /> <glyph unicode="" d="M416 0l96 256h-416l-96-256zM64 288l-64-288v416h144l64-64h208v-64z" /> <glyph unicode="" d="M256 400.638l-172.417-368.638h344.834l-172.417 368.638zM256 480v0c11.035 0 22.070-7.441 30.442-22.324l218.536-435.556c16.745-29.766 2.5-54.12-31.651-54.12h-434.654c-34.152 0-48.395 24.354-31.652 54.12l218.537 435.556c8.372 14.883 19.407 22.324 30.442 22.324zM224 96c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32zM256 288c17.673 0 32-14.327 32-32l-10-96h-44l-10 96c0 17.673 14.327 32 32 32z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM224 384h64v-64h-64v64zM320 64h-128v32h32v128h-32v32h96v-160h32v-32z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM384 306.745l-82.744-82.745 82.744-82.744v-45.256h-45.256l-82.744 82.744-82.745-82.744h-45.255v45.256l82.745 82.744-82.745 82.745v45.255h45.255l82.745-82.745 82.744 82.745h45.256v-45.255z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM208 64l-106 138 47 49 59-75 185 151 23-23-208-240z" /> <glyph unicode="" d="M512 112l-144 368h-224l-144-144v-224l144-144h224l144 144v224l-144 144zM288 64h-64v64h64v-64zM288 192h-64v192h64v-192z" /> <glyph unicode="" d="M437.011 405.010c-46.326 46.328-110.318 74.99-181.011 74.99-109.744 0-203.345-69.064-239.749-166.094l59.938-22.477c27.302 72.773 97.503 124.571 179.811 124.571 53.020 0 101.010-21.5 135.753-56.247l-71.753-71.753h192v192l-74.989-74.99zM256 32c-53.020 0-101.013 21.496-135.756 56.244l71.756 71.756h-192v-192l74.997 74.997c46.323-46.331 110.309-74.997 181.003-74.997 109.745 0 203.346 69.064 239.75 166.094l-59.938 22.477c-27.302-72.773-97.503-124.571-179.812-124.571z" /> <glyph unicode="" d="M512 320l-256 128-256-128 256-128 256 128zM256 405.515l171.029-85.515-171.029-85.515-171.029 85.515 171.029 85.515zM460.722 249.639l51.278-25.639-256-128-256 128 51.278 25.639 204.722-102.361zM460.722 153.639l51.278-25.639-256-128-256 128 51.278 25.639 204.722-102.361z" /> <glyph unicode="" d="M160 288h64v-64h-64zM256 288h64v-64h-64zM352 288h64v-64h-64zM64 96h64v-64h-64zM160 96h64v-64h-64zM256 96h64v-64h-64zM160 192h64v-64h-64zM256 192h64v-64h-64zM352 192h64v-64h-64zM64 192h64v-64h-64zM416 480v-32h-64v32h-224v-32h-64v32h-64v-512h480v512h-64zM448 0h-416v352h416v-352z" /> <glyph unicode="" d="M0.403 45.168c-0.122 1.266-0.226 2.535-0.292 3.815 0.065-1.28 0.17-2.549 0.292-3.815zM117.954 197.426c46.005-1.369 76.867 46.349 68.931 106.599-7.947 60.24-51.698 108.584-97.704 109.961-46.013 1.365-76.87-44.741-68.926-105 7.941-60.234 51.676-110.187 97.699-111.56zM512 352v42.655c0 46.94-38.391 85.345-85.329 85.345h-341.328c-46.138 0-84.006-37.116-85.282-82.963 29.181 25.693 69.662 47.158 111.437 47.158 44.652 0 178.622 0 178.622 0l-39.974-33.809h-56.634c37.565-14.402 57.578-58.062 57.578-102.861 0-37.624-20.905-69.977-50.444-92.984-28.822-22.451-34.286-31.854-34.286-50.939 0-16.289 30.873-44 47.016-55.394 47.191-33.269 62.458-64.156 62.458-115.728 0-8.214-1.021-16.415-3.033-24.48h153.871c46.937 0 85.328 38.375 85.328 85.345v266.654h-96v-95.999h-32v96h-95.999v32h95.999v96h32v-96h96zM92.943 97.032c10.807 0 20.711 0.295 30.968 0.295-13.573 13.167-24.313 29.3-24.313 49.19 0 11.804 3.782 23.168 9.067 33.26-5.391-0.385-10.895-0.497-16.563-0.497-37.178 0-68.753 12.038-92.102 31.927v-33.621l0.003-100.865c26.72 12.687 58.444 20.311 92.94 20.311zM1.71 36.371c-0.556 2.729-0.983 5.503-1.271 8.317 0.287-2.814 0.715-5.588 1.271-8.317zM227.725 3.577c-7.529 29.403-34.227 43.982-71.444 69.784-13.536 4.366-28.447 6.937-44.447 7.104-44.809 0.482-86.554-17.471-110.108-44.186 7.96-38.853 42.517-68.279 83.617-68.279h143.222c0.908 5.564 1.348 11.316 1.348 17.216 0 6.267-0.767 12.396-2.188 18.361z" /> <glyph unicode="" d="M426.672 480h-341.33c-46.936 0-85.342-38.407-85.342-85.344v-341.313c0-46.969 38.406-85.343 85.342-85.343l341.33 0.001c46.938 0 85.328 38.373 85.328 85.344v341.311c0 46.937-38.391 85.344-85.328 85.344zM435.296 224h-83.296v-224h-96v224h-46.263v73.282h46.263v47.593c0 64.671 27.896 103.125 103.935 103.125h87.622v-79.285h-71.565c-21.241 0.035-23.876-11.076-23.876-31.756l-0.116-39.677h96l-12.704-73.282z" /> <glyph unicode="" d="M426.671 480h-341.328c-46.937 0-85.343-38.405-85.343-85.345v-341.311c0-46.969 38.406-85.344 85.343-85.344h341.328c46.938 0 85.329 38.375 85.329 85.345v341.31c0 46.94-38.391 85.345-85.329 85.345zM419.026 309.083c0.164-3.671 0.245-7.364 0.245-11.074 0-113.107-84.608-243.534-239.329-243.534-47.502 0-91.717 14.174-128.943 38.459 6.58-0.794 13.276-1.197 20.065-1.197 39.411 0 75.679 13.685 104.467 36.641-36.808 0.69-67.872 25.438-78.577 59.441 5.137-1 10.406-1.537 15.826-1.537 7.672 0 15.103 1.048 22.16 3.004-38.48 7.866-67.475 42.458-67.475 83.928 0 0.361 0 0.719 0.008 1.076 11.34-6.41 24.312-10.26 38.1-10.705-22.571 15.349-37.421 41.546-37.421 71.244 0 15.685 4.147 30.389 11.389 43.029 41.487-51.785 103.468-85.86 173.377-89.431-1.435 6.266-2.179 12.798-2.179 19.507 0 47.269 37.663 85.59 84.115 85.59 24.195 0 46.059-10.393 61.401-27.029 19.16 3.838 37.162 10.96 53.416 20.771-6.281-19.988-19.617-36.761-36.983-47.355 17.013 2.069 33.226 6.67 48.31 13.477-11.273-17.162-25.535-32.238-41.972-44.305z" /> <glyph unicode="" d="M426 480h-340c-47.3 0-86-38.7-86-86v-340c0-47.3 38.7-86 86-86h340c47.3 0 86 38.7 86 86v340c0 47.3-38.7 86-86 86zM192 64h-64v224h64v-224zM160 320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM416 64h-64v128c0 17.673-14.327 32-32 32s-32-14.327-32-32v-128h-64v224h64v-39.736c13.199 18.132 33.376 39.736 56 39.736 39.765 0 72-35.817 72-80v-144z" /> </font></defs></svg>���� ���0OS/2"������`cmapUc�����Lgasp�����h���glyfR`Kh��p�� head�� ���6hhea�� ���$hmtx���� ���Dloca 0�� ,���$maxp���� P��� name�� p��Bpost����� ��� �����Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������������79���������������79���������������79����������� ��%!33```@@@��� @@������1�?��!512#!".67>34>32#".572#'4>3�X  N          ,  qO L         `` ���������$��"32>54.#3#5#535#533�5]F((F]55]F((F]5 @@` ` (F]55]F((F]55]F(`@@ ��������%��"32>54.##'#57'5373�5]F((F]55]F((F]5SS-SS-SS-SS-(F]55]F((F]55]F(SS-SS-SS-SS-��������"32>54.#'77�5]F((F]55]F((F]50j/;(F]55]F((F]55]F(`1K������ ����%#375'#535#53�P@@@@pp`@@������3��.#">3235".'7#732>7'#).2)K?/< $/8&" HK&" HK).2)K?/< $/8 ,=$-" HK HK ,=$-"��������� ����% %%'7%77%7������3��33��3@VVVVVgg���� ����� ������#�'�4�9��3#73#73#3#73#73#'3#73#73#%3##5##5#!#!!@@`@@`@@@@`@@`@@`@@`@@`@@@@`@@@@ ` @@@@@@@@@@@@@@@@@` �� `�������� ��h�����704044017>'.#&%54.'&>665'>5''5'57577667.54>7"&.'>0&<#21.'."&&7<645<.5�v!!   <;+(8   ` `` `]   [    -&(''*   #     a__a�   "d <!     ������1��!"3!2>'.###7#737&>;#"3  W   Ta/- (YG _   V �I0&O (I���������!"3!2>'.##".'2:32>7.'22326263.'2&2"33.7&>7&6&6'>32>7>7  W   <Z9!"     &-0        V *WF-           ��������2�O��!"3!2>54.##53".54>32##54.#"#53>32T@@     �@  @@  T`�    �  (  ��������.m_<� �����lI����lI�������������������������������������������������������������������������������������������������� ���8��4V. l ������ ������������������������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������wOFFOTTO�� � ���� T�����������������������CFF �������SOS/2�����`���`"cmap��<���L���LUcgasp�����������head�����6���6hhea�����$���$hmtx�����D���D��maxp�� 0�������P�name�� 8��B��Bpost�� |��� ��� ����� cmsms-ui���: �S �S kt��������� ��� "',16;@EJOTYcmsms-uicmsms-uiu0u1u20uE600uE601uE602uE603uE604uE605uE606uE607uE608uE609uE60AuE60BuE60C�������� � �1��U;*=\44+K4$KdK%@@|oHm|siFi|oHk}yy}}yy}T}y+_t!!!!!!!!k+ˋKKk닋4kt!!!!!!!!A888^^888^8ދ8޸^t!!!!!!!![4!@M+td$t$$t$$t$$t$$;4KˋKKTˋTI)]KD.Ff*tҿ݋vhCCTT@@I V[hTT]nҋаOpBDW9?5?5??a0qa$aqa$4ˋKKˋKKˋKKˋKKˋKKˋKK+4ˋKKˋKKˋKKˋKKkKtkKKtKt44 ,ǃ_]]l]OOY/e\]ef]ciS}__evkntntxzpjlW.++k+닋뫋+7}fktj&0Nvkpf~|{^aytpdn$?t\ee\\ee\8t+t]Թ̧׋㋋<Cvvc~B?t\ee\\ee\?7/[_ffldnt|Wiчzw~{zz||{>t\dd\\dd\~4Ktˋtky}}yy}}yK}yy}}yKtˋcg_$ �������Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������_T_<� �����lI����lI�����������������������������������������������������������������������������������������������P�������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������{ "IcoMoonType": "selection", "icons": [ { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM416 832l-212-276 94-98 118 150 370-302 46 46-416 480z" ], "tags": [ "checkmark-circle", "tick", "correct" ], "grid": 16 }, "properties": { "id": 251, "order": 1, "prevSize": 32, "code": 58884, "name": "checkmark-circle", "ligatures": "" }, "setIdx": 0, "iconIdx": 251 }, { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM768 346.51l-165.488 165.49 165.488 165.488v90.512h-90.512l-165.488-165.488-165.49 165.488h-90.51v-90.512l165.49-165.488-165.49-165.49v-90.51h90.51l165.49 165.49 165.488-165.49h90.512v90.51z" ], "tags": [ "cancel-circle", "close", "remove", "delete" ], "grid": 16 }, "properties": { "id": 250, "order": 2, "prevSize": 32, "code": 58883, "name": "cancel-circle", "ligatures": "" }, "setIdx": 0, "iconIdx": 250 }, { "icon": { "paths": [ "M1024 736 736 0h-448l-288 288v448l288 288h448l288-288v-448l-288-288zM576 832h-128v-128h128v128zM576 576h-128v-384h128v384z" ], "tags": [ "spam", "notice", "notification", "exclamation" ], "grid": 16 }, "properties": { "id": 252, "order": 3, "prevSize": 32, "code": 58885, "name": "spam", "ligatures": "" }, "setIdx": 0, "iconIdx": 252 }, { "icon": { "paths": [ "M832 960l192-512h-832l-192 512zM128 384l-128 576v-832h288l128 128h416v128z" ], "tags": [ "folder-open", "directory", "category", "browse" ], "grid": 16 }, "properties": { "id": 47, "order": 4, "prevSize": 32, "code": 58880, "name": "folder-open", "ligatures": "" }, "setIdx": 0, "iconIdx": 47 }, { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM448 192h128v128h-128v-128zM640 832h-256v-64h64v-256h-64v-64h192v320h64v64z" ], "tags": [ "info", "information" ], "grid": 16 }, "properties": { "id": 248, "order": 5, "prevSize": 32, "code": 58882, "name": "info", "ligatures": "" }, "setIdx": 0, "iconIdx": 248 }, { "icon": { "paths": [ "M512 158.724l-344.834 737.276h689.668l-344.834-737.276zM512 0v0c22.070 0 44.14 14.882 60.884 44.648l437.072 871.112c33.49 59.532 5 108.24-63.302 108.24h-869.308c-68.304 0-96.79-48.708-63.304-108.24l437.074-871.112c16.744-29.766 38.814-44.648 60.884-44.648zM448 768c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM512 384c35.346 0 64 28.654 64 64l-20 192h-88l-20-192c0-35.346 28.654-64 64-64z" ], "tags": [ "warning", "sign" ], "grid": 16 }, "properties": { "id": 244, "order": 6, "prevSize": 32, "code": 58881, "name": "warning", "ligatures": "" }, "setIdx": 0, "iconIdx": 244 }, { "icon": { "paths": [ "M874.022 149.98c-92.652-92.656-220.636-149.98-362.022-149.98-219.488 0-406.69 138.128-479.498 332.188l119.876 44.954c54.604-145.546 195.006-249.142 359.622-249.142 106.040 0 202.020 43 271.506 112.494l-143.506 143.506h384v-384l-149.978 149.98zM512 896c-106.040 0-202.026-42.992-271.512-112.488l143.512-143.512h-384v384l149.994-149.994c92.646 92.662 220.618 149.994 362.006 149.994 219.49 0 406.692-138.128 479.5-332.188l-119.876-44.954c-54.604 145.546-195.006 249.142-359.624 249.142z" ], "tags": [ "loop", "repeat", "reload", "refresh", "update", "upgrade", "synchronize", "media control", "arrows" ], "grid": 16 }, "properties": { "id": 284, "order": 7, "prevSize": 32, "code": 58886, "name": "loop", "ligatures": "" }, "setIdx": 0, "iconIdx": 284 }, { "icon": { "paths": [ "M1024 320l-512-256-512 256 512 256 512-256zM512 148.97l342.058 171.030-342.058 171.030-342.058-171.030 342.058-171.030zM921.444 460.722l102.556 51.278-512 256-512-256 102.556-51.278 409.444 204.722zM921.444 652.722l102.556 51.278-512 256-512-256 102.556-51.278 409.444 204.722z" ], "tags": [ "stack", "layers" ], "grid": 16 }, "properties": { "id": 45, "order": 8, "prevSize": 32, "code": 58887, "name": "stack", "ligatures": "" }, "setIdx": 0, "iconIdx": 45 }, { "icon": { "paths": [ "M320 384h128v128h-128zM512 384h128v128h-128zM704 384h128v128h-128zM128 768h128v128h-128zM320 768h128v128h-128zM512 768h128v128h-128zM320 576h128v128h-128zM512 576h128v128h-128zM704 576h128v128h-128zM128 576h128v128h-128zM832 0v64h-128v-64h-448v64h-128v-64h-128v1024h960v-1024h-128zM896 960h-832v-704h832v704z" ], "tags": [ "calendar", "schedule", "date", "time", "day" ], "grid": 16 }, "properties": { "id": 78, "order": 9, "prevSize": 32, "code": 58888, "name": "calendar", "ligatures": "" }, "setIdx": 0, "iconIdx": 78 }, { "icon": { "paths": [ "M852 0h-680c-94.6 0-172 77.4-172 172v680c0 94.6 77.4 172 172 172h680c94.6 0 172-77.4 172-172v-680c0-94.6-77.4-172-172-172zM384 832h-128v-448h128v448zM320 320c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM832 832h-128v-256c0-35.346-28.654-64-64-64s-64 28.654-64 64v256h-128v-448h128v79.472c26.398-36.264 66.752-79.472 112-79.472 79.53 0 144 71.634 144 160v288z" ], "tags": [ "linkedin", "social" ], "grid": 16 }, "properties": { "id": 415, "order": 10, "prevSize": 32, "code": 58892, "name": "linkedin", "ligatures": "" }, "setIdx": 0, "iconIdx": 415 }, { "icon": { "paths": [ "M853.344 0h-682.66c-93.872 0-170.684 76.814-170.684 170.688v682.626c0 93.938 76.812 170.686 170.684 170.686l682.66-0.002c93.876 0 170.656-76.746 170.656-170.688v-682.622c0-93.874-76.782-170.688-170.656-170.688zM870.592 512h-166.592v448h-192v-448h-92.526v-146.564h92.526v-95.186c0-129.342 55.792-206.25 207.87-206.25h175.244v158.57h-143.13c-42.482-0.070-47.752 22.152-47.752 63.512l-0.232 79.354h192l-25.408 146.564z" ], "tags": [ "facebook", "social" ], "grid": 16 }, "properties": { "id": 362, "order": 11, "prevSize": 32, "code": 58890, "name": "facebook", "ligatures": "" }, "setIdx": 0, "iconIdx": 362 }, { "icon": { "paths": [ "M853.342 0h-682.656c-93.874 0-170.686 76.81-170.686 170.69v682.622c0 93.938 76.812 170.688 170.686 170.688h682.656c93.876 0 170.658-76.75 170.658-170.69v-682.62c0-93.88-76.782-170.69-170.658-170.69zM838.052 341.834c0.328 7.342 0.49 14.728 0.49 22.148 0 226.214-169.216 487.068-478.658 487.068-95.004 0-183.434-28.348-257.886-76.918 13.16 1.588 26.552 2.394 40.13 2.394 78.822 0 151.358-27.37 208.934-73.282-73.616-1.38-135.744-50.876-157.154-118.882 10.274 2 20.812 3.074 31.652 3.074 15.344 0 30.206-2.096 44.32-6.008-76.96-15.732-134.95-84.916-134.95-167.856 0-0.722 0-1.438 0.016-2.152 22.68 12.82 48.624 20.52 76.2 21.41-45.142-30.698-74.842-83.092-74.842-142.488 0-31.37 8.294-60.778 22.778-86.058 82.974 103.57 206.936 171.72 346.754 178.862-2.87-12.532-4.358-25.596-4.358-39.014 0-94.538 75.326-171.18 168.23-171.18 48.39 0 92.118 20.786 122.802 54.058 38.32-7.676 74.324-21.92 106.832-41.542-12.562 39.976-39.234 73.522-73.966 94.71 34.026-4.138 66.452-13.34 96.62-26.954-22.546 34.324-51.070 64.476-83.944 88.61z" ], "tags": [ "twitter", "tweet", "social" ], "grid": 16 }, "properties": { "id": 366, "order": 12, "prevSize": 32, "code": 58891, "name": "twitter", "ligatures": "" }, "setIdx": 0, "iconIdx": 366 }, { "icon": { "paths": [ "M0.806 869.664c-0.244-2.532-0.452-5.070-0.584-7.63 0.13 2.56 0.34 5.098 0.584 7.63zM235.908 565.148c92.010 2.738 153.734-92.698 137.862-213.198-15.894-120.48-103.396-217.168-195.408-219.922-92.026-2.73-153.74 89.482-137.852 210 15.882 120.468 103.352 220.374 195.398 223.12zM1024 256v-85.31c0-93.88-76.782-170.69-170.658-170.69h-682.656c-92.276 0-168.012 74.232-170.564 165.926 58.362-51.386 139.324-94.316 222.874-94.316 89.304 0 357.244 0 357.244 0l-79.948 67.618h-113.268c75.13 28.804 115.156 116.124 115.156 205.722 0 75.248-41.81 139.954-100.888 185.968-57.644 44.902-68.572 63.708-68.572 101.878 0 32.578 61.746 88 94.032 110.788 94.382 66.538 124.916 128.312 124.916 231.456 0 16.428-2.042 32.83-6.066 48.96h307.742c93.874 0 170.656-76.75 170.656-170.69v-533.308h-192v191.998h-64v-192h-191.998v-64h191.998v-192h64v192h192zM185.886 765.936c21.614 0 41.422-0.59 61.936-0.59-27.146-26.334-48.626-58.6-48.626-98.38 0-23.608 7.564-46.336 18.134-66.52-10.782 0.77-21.79 0.994-33.126 0.994-74.356 0-137.506-24.076-184.204-63.854v67.242l0.006 201.73c53.44-25.374 116.888-40.622 185.88-40.622zM3.42 887.258c-1.112-5.458-1.966-11.006-2.542-16.634 0.574 5.628 1.43 11.176 2.542 16.634zM455.45 952.846c-15.058-58.806-68.454-87.964-142.888-139.568-27.072-8.732-56.894-13.874-88.894-14.208-89.618-0.964-173.108 34.942-220.216 88.372 15.92 77.706 85.034 136.558 167.234 136.558h286.444c1.816-11.128 2.696-22.632 2.696-34.432 0-12.534-1.534-24.792-4.376-36.722z" ], "tags": [ "google plus", "social" ], "grid": 16 }, "properties": { "id": 358, "order": 13, "prevSize": 32, "code": 58889, "name": "googleplus", "ligatures": "" }, "setIdx": 0, "iconIdx": 358 } ], "height": 1024, "metadata": { "name": "cmsms-ui" }, "preferences": { "showGlyphs": true, "showQuickUse": true, "fontPref": { "prefix": "icon-", "metadata": { "fontFamily": "cmsms-ui", "majorVersion": 1, "minorVersion": 0 }, "metrics": { "emSize": 512, "baseline": 6.25, "whitespace": 50 }, "embed": true, "showVersion": true, "showMetadata": true, "showMetrics": true, "resetPoint": 58880 }, "imagePref": {}, "historySize": 100, "showCodes": true, "search": "", "gridSize": 16 } }PNG  ��� IHDR��L���M���E]N���tEXtSoftware�Adobe ImageReadyqe<��IDATxOlWǟ')Ŕro *z}q*$RE" '.TYz�y6Q q薞/C6JƿqǓ7߼Y_i̛7g~{O           PSH/4GҼX9܏2@Ay�9+?9T$My%@c,ʖ$vyE �<Z#YW%8Hy0(ccDTsE �sae2\&|Fi("`v$80 4s#UIđ|{wŃ %4Ü7^-)ֵPGCB P$?:{q2zKm<Pf l2,$H=,ıO6-ox邡°%9B:?3ԢK=K/PMGNJ<;V`@ /|Ym\ =ߎzbZhCsIO ]` 2PXa`92ܣ ڝ(Nkܿ A] 8],t�s`9)iaZgY6d=*.7o21’6&KNk`8%-F:F;w> Ym(fUIM2kAtu7t'՗4EGvAoѽ7_N`ߐ UB ,|45LDE9ԯwguJҀ A3;=wy[O^c鏩,C9z0tkpj1UIEO4I¼&c.<Q(B2뺚`{Xq =Tȼg3qkΏ9~}ս4lS {o4'hAhº|_1@jQȐ>s?;]MY:fQY7\ nUQnr/ru&)|q^ʤ'|.ݟiIE4 d sk L@eRdLX3tI䋵*g3#fM-,ĮAͩ/>N'H&OZ3.KX{#72$)L->W .*?EےCܤ\3t9?glYg"C>RtcJwO'qAx�ʘ-+?Ea[/ el6Mq,o=KPҠ �=SR̜]NΣl4MR|mZ\;e | xp8kf.(=g 9 op/s cyXS=0 Uί/Y}q-V7F 8`:MSE*KftP"Z٧p嬋R`X|5Kk0fHYdeQDq[,]fܺs벡 ftFI34?=|Ŝsh%ئiXua*7- ǀxp>6iS4fX5#fpgϟ`fmh*Pxo)'@>~ X_*#S#?] ia@%{W+尨LE'@D LZ5܇gţ LJ5 0m2>GW#s 5U_K Kÿ*.iA NIH+Ftvd궨VC}SR=.jzZ, 3UzIKbᬜ.C>:{m4W -LWY#%>[UHnDyRx;woB\3*uP,:+$E)K[ܒ鞝#N4/&l,o/�0GF03*x ڰ4oAADkyk3',܏nVV`F]YՇ Y*%ۨIN˜gO~nwm  \T8`#zS<Qפ&/~DʹY3g`K _\~CV{`n3`檰XL  3!YS?h>n׼�$v!>/ �3cE߬+`,- IUb:Y+Lsh᎝>"@SiZ4 rӨ K>zN|yLB b_0թɭ'G,02yy(>9|+U n[`_έ:n<[T,MJI`Z5K^?"x[d�̜Vtg-Hr+`m;j ֩SnBE䦕5+UG 3{0i-Bf#f\Y<i$SW~4Ҧjk�V]f䜞,!:d `z){>&Mtv�4,,+r"rk Rv/2ɮtҴZ`8mfqSm5!GG0iƏ2Rtvor Pcp=407Xe+aSc]6+Rg>0ɊE5.Ö 8;{d <tնEXRQx U:E5E+T̤7``<|#[pz_OE5lE&wGiuL)aM]l&) Mϲ54QJT*^'hOE)EJkQQIӸsP X Boڔwˈt>Gi-�!�z ´K,˗^.Fm-}Ǔ}~��3 6.!�jZ)Oe֡!j2S<ql.r6�Lh"5Qek+&mN@46fzX婢UV9,qibsTǺd؜MgXYN0ůYN@Kh4%kAM֬,i'jUV'u==!<i>Ue&Q]$DtKIJym\,87D9?UaG6d]x^EJ+kfB=|8TBm.Kjiͭ+🕤+k2|J&m. **cUf$f_C{2]}Jka |}`eF,{'V]H [k\Z/ޛ/DY !Bvԁ,-[NW6-7gK+@c-kA ŀQf$\n+VD@*>{yA܂`Ky*H4N7w]\-i]`^(K(QnzfE4{ԕ1cM7Cs!9v^”jTw^ 4]3=Nxh D rt#צ#=HKÒ$YGyBT*U?@=rRA5˰#3C.1 ˪Y#/t & E|-AC؝LxED˸9Z D0#׾ o0/J˲ѷoPW5-ټj(xK&8)kba,r^3^0-MW4Bi"?\Ig¶3g56<yU>e"5A5% gI`RAH{]Bn҅I;w-ouh �s@h[B M44 ^�qiQ4C.A9NʃV](E8 $App&A1j*W`UB9fl9f!AY8imXA1PB9IlϦQsw .J}p x&7~/AAAAAAAAAA �W����IENDB`������� �h�����(������ ���� �������������������������������������I/jVIIXoL)������������������������8D<888888?F����������������8L8888888888R������������R88Fq}V88Y����=.<8{>H'Z88McO88L>UB8888l{nK88HB888Qh88888HM8J8D888TW8V888d<58ga88=F+����L8vu?88R��������8 H8BB8lE8L8������������8 B8888sL:D8������������������������87XLA=HW81��������������������������������������������������������if(typeof Object.create!=="function"){Object.create=function(e){function t(){}t.prototype=e;return new t}}var ua={toString:function(){return navigator.userAgent},test:function(e){return this.toString().toLowerCase().indexOf(e.toLowerCase())>-1}};ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1];ua.webkit=ua.test("webkit");ua.gecko=ua.test("gecko")&&!ua.webkit;ua.opera=ua.test("opera");ua.ie=ua.test("msie")&&!ua.opera;ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined";ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined";ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined";var domReady=function(){var e=[];var t=function(){if(!arguments.callee.done){arguments.callee.done=true;for(var t=0;t<e.length;t++){e[t]()}}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",t,false)}if(ua.ie){(function(){try{document.documentElement.doScroll("left")}catch(e){setTimeout(arguments.callee,50);return}t()})();document.onreadystatechange=function(){if(document.readyState==="complete"){document.onreadystatechange=null;t()}}}if(ua.webkit&&document.readyState){(function(){if(document.readyState!=="loading"){t()}else{setTimeout(arguments.callee,10)}})()}window.onload=t;return function(t){if(typeof t==="function"){e[e.length]=t}return t}}();var cssHelper=function(){var e={BLOCKS:/[^\s{;][^{;]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,WHITESPACE_IN_PARENTHESES:/\(\s*(\S*)\s*\)/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g};var t,n=false;var r=[];var s=function(e){if(typeof e==="function"){r[r.length]=e}};var o=function(){for(var e=0;e<r.length;e++){r[e](t)}};var u={};var a=function(e,t){if(u[e]){var n=u[e].listeners;if(n){for(var r=0;r<n.length;r++){n[r](t)}}}};var f=function(e,t,n){if(ua.ie&&!window.XMLHttpRequest){window.XMLHttpRequest=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}if(!XMLHttpRequest){return""}var r=new XMLHttpRequest;try{r.open("get",e,true);r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest")}catch(i){n();return}var s=false;setTimeout(function(){s=true},5e3);document.documentElement.style.cursor="progress";r.onreadystatechange=function(){if(r.readyState===4&&!s){if(!r.status&&location.protocol==="file:"||r.status>=200&&r.status<300||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){t(r.responseText)}else{n()}document.documentElement.style.cursor="";r=null}};r.send("")};var l=function(t){t=t.replace(e.REDUNDANT_COMPONENTS,"");t=t.replace(e.REDUNDANT_WHITESPACE,"$1");t=t.replace(e.WHITESPACE_IN_PARENTHESES,"($1)");t=t.replace(e.MORE_WHITESPACE," ");t=t.replace(e.FINAL_SEMICOLONS,"}");return t};var c={stylesheet:function(t){var n={};var r=[],i=[],s=[],o=[];var u=t.cssHelperText;var a=t.getAttribute("media");if(a){var f=a.toLowerCase().split(",")}else{var f=["all"]}for(var l=0;l<f.length;l++){r[r.length]=c.mediaQuery(f[l],n)}var h=u.match(e.BLOCKS);if(h!==null){for(var l=0;l<h.length;l++){if(h[l].substring(0,7)==="@media "){var p=c.mediaQueryList(h[l],n);s=s.concat(p.getRules());i[i.length]=p}else{s[s.length]=o[o.length]=c.rule(h[l],n,null)}}}n.element=t;n.getCssText=function(){return u};n.getAttrMediaQueries=function(){return r};n.getMediaQueryLists=function(){return i};n.getRules=function(){return s};n.getRulesWithoutMQ=function(){return o};return n},mediaQueryList:function(t,n){var r={};var i=t.indexOf("{");var s=t.substring(0,i);t=t.substring(i+1,t.length-1);var o=[],u=[];var a=s.toLowerCase().substring(7).split(",");for(var f=0;f<a.length;f++){o[o.length]=c.mediaQuery(a[f],r)}var l=t.match(e.BLOCKS_INSIDE);if(l!==null){for(f=0;f<l.length;f++){u[u.length]=c.rule(l[f],n,r)}}r.type="mediaQueryList";r.getMediaQueries=function(){return o};r.getRules=function(){return u};r.getListText=function(){return s};r.getCssText=function(){return t};return r},mediaQuery:function(t,n){t=t||"";var r,i;if(n.type==="mediaQueryList"){r=n}else{i=n}var s=false,o;var u=[];var a=true;var f=t.match(e.NOT_WHITESPACE);for(var l=0;l<f.length;l++){var c=f[l];if(!o&&(c==="not"||c==="only")){if(c==="not"){s=true}}else if(!o){o=c}else if(c.charAt(0)==="("){var h=c.substring(1,c.length-1).split(":");u[u.length]={mediaFeature:h[0],value:h[1]||null}}}return{getQueryText:function(){return t},getAttrStyleSheet:function(){return i||null},getList:function(){return r||null},getValid:function(){return a},getNot:function(){return s},getMediaType:function(){return o},getExpressions:function(){return u}}},rule:function(e,t,n){var r={};var i=e.indexOf("{");var s=e.substring(0,i);var o=s.split(",");var u=[];var a=e.substring(i+1,e.length-1).split(";");for(var f=0;f<a.length;f++){u[u.length]=c.declaration(a[f],r)}r.getStylesheet=function(){return t||null};r.getMediaQueryList=function(){return n||null};r.getSelectors=function(){return o};r.getSelectorText=function(){return s};r.getDeclarations=function(){return u};r.getPropertyValue=function(e){for(var t=0;t<u.length;t++){if(u[t].getProperty()===e){return u[t].getValue()}}return null};return r},declaration:function(e,t){var n=e.indexOf(":");var r=e.substring(0,n);var i=e.substring(n+1);return{getRule:function(){return t||null},getProperty:function(){return r},getValue:function(){return i}}}};var h=function(e){if(typeof e.cssHelperText!=="string"){return}var n={stylesheet:null,mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}};var r=n.stylesheet=c.stylesheet(e);var s=n.mediaQueryLists=r.getMediaQueryLists();var o=n.rules=r.getRules();var u=n.selectors;var a=function(e){var t=e.getSelectors();for(var n=0;n<t.length;n++){var r=t[n];if(!u[r]){u[r]=[]}u[r][u[r].length]=e}};for(i=0;i<o.length;i++){a(o[i])}var f=n.declarations;for(i=0;i<o.length;i++){f=n.declarations=f.concat(o[i].getDeclarations())}var l=n.properties;for(i=0;i<f.length;i++){var h=f[i].getProperty();if(!l[h]){l[h]=[]}l[h][l[h].length]=f[i]}e.cssHelperParsed=n;t[t.length]=e;return n};var p=function(e,t){return;e.cssHelperText=l(t||e.innerHTML);return h(e)};var d=function(){n=true;t=[];var r=[];var i=function(){for(var e=0;e<r.length;e++){h(r[e])}var t=document.getElementsByTagName("style");for(e=0;e<t.length;e++){p(t[e])}n=false;o()};var s=document.getElementsByTagName("link");for(var u=0;u<s.length;u++){var a=s[u];if(a.getAttribute("rel").indexOf("style")>-1&&a.href&&a.href.length!==0&&!a.disabled){r[r.length]=a}}if(r.length>0){var c=0;var d=function(){c++;if(c===r.length){i()}};var v=function(t){var n=t.href;f(n,function(r){r=l(r).replace(e.RELATIVE_URLS,"url("+n.substring(0,n.lastIndexOf("/"))+"/$1)");t.cssHelperText=r;d()},d)};for(u=0;u<r.length;u++){v(r[u])}}else{i()}};var v={stylesheets:"array",mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"};var m={stylesheets:null,mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null};var g=function(e,t){if(m[e]!==null){if(v[e]==="array"){return m[e]=m[e].concat(t)}else{var n=m[e];for(var r in t){if(t.hasOwnProperty(r)){if(!n[r]){n[r]=t[r]}else{n[r]=n[r].concat(t[r])}}}return n}}};var y=function(e){m[e]=v[e]==="array"?[]:{};for(var n=0;n<t.length;n++){var r=e==="stylesheets"?"stylesheet":e;g(e,t[n].cssHelperParsed[r])}return m[e]};var b=function(e){if(typeof window.innerWidth!="undefined"){return window["inner"+e]}else if(typeof document.documentElement!=="undefined"&&typeof document.documentElement.clientWidth!=="undefined"&&document.documentElement.clientWidth!=0){return document.documentElement["client"+e]}};return{addStyle:function(e,t,n){var r=document.createElement("style");r.setAttribute("type","text/css");if(t&&t.length>0){r.setAttribute("media",t.join(","))}document.getElementsByTagName("head")[0].appendChild(r);if(r.styleSheet){r.styleSheet.cssText=e}else{r.appendChild(document.createTextNode(e))}r.addedWithCssHelper=true;if(typeof n==="undefined"||n===true){cssHelper.parsed(function(t){var n=p(r,e);for(var i in n){if(n.hasOwnProperty(i)){g(i,n[i])}}a("newStyleParsed",r)})}else{r.parsingDisallowed=true}return r},removeStyle:function(e){return e.parentNode.removeChild(e)},parsed:function(e){if(n){s(e)}else{if(typeof t!=="undefined"){if(typeof e==="function"){e(t)}}else{s(e);d()}}},stylesheets:function(e){cssHelper.parsed(function(t){e(m.stylesheets||y("stylesheets"))})},mediaQueryLists:function(e){cssHelper.parsed(function(t){e(m.mediaQueryLists||y("mediaQueryLists"))})},rules:function(e){cssHelper.parsed(function(t){e(m.rules||y("rules"))})},selectors:function(e){cssHelper.parsed(function(t){e(m.selectors||y("selectors"))})},declarations:function(e){cssHelper.parsed(function(t){e(m.declarations||y("declarations"))})},properties:function(e){cssHelper.parsed(function(t){e(m.properties||y("properties"))})},broadcast:a,addListener:function(e,t){if(typeof t==="function"){if(!u[e]){u[e]={listeners:[]}}u[e].listeners[u[e].listeners.length]=t}},removeListener:function(e,t){if(typeof t==="function"&&u[e]){var n=u[e].listeners;for(var r=0;r<n.length;r++){if(n[r]===t){n.splice(r,1);r-=1}}}},getViewportWidth:function(){return b("Width")},getViewportHeight:function(){return b("Height")}}}();domReady(function(){var t;var n={LENGTH_UNIT:/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,RESOLUTION_UNIT:/[0-9]+(dpi|dpcm)$/,ASPECT_RATIO:/^[0-9]+\/[0-9]+$/,ABSOLUTE_VALUE:/^[0-9]*(\.[0-9]+)*$/};var r=[];var i=function(){var e="css3-mediaqueries-test";var t=document.createElement("div");t.id=e;var n=cssHelper.addStyle("@media all and (width) { #"+e+" { width: 1px !important; } }",[],false);document.body.appendChild(t);var r=t.offsetWidth===1;n.parentNode.removeChild(n);t.parentNode.removeChild(t);i=function(){return r};return r};var s=function(){t=document.createElement("div");t.style.cssText="position:absolute;top:-9999em;left:-9999em;"+"margin:0;border:none;padding:0;width:1em;font-size:1em;";document.body.appendChild(t);if(t.offsetWidth!==16){t.style.fontSize=16/t.offsetWidth+"em"}t.style.width=""};var o=function(e){t.style.width=e;var n=t.offsetWidth;t.style.width="";return n};var u=function(e,t){var r=e.length;var i=e.substring(0,4)==="min-";var s=!i&&e.substring(0,4)==="max-";if(t!==null){var u;var a;if(n.LENGTH_UNIT.exec(t)){u="length";a=o(t)}else if(n.RESOLUTION_UNIT.exec(t)){u="resolution";a=parseInt(t,10);var f=t.substring((a+"").length)}else if(n.ASPECT_RATIO.exec(t)){u="aspect-ratio";a=t.split("/")}else if(n.ABSOLUTE_VALUE){u="absolute";a=t}else{u="unknown"}}var l,c;if("device-width"===e.substring(r-12,r)){l=screen.width;if(t!==null){if(u==="length"){return i&&l>=a||s&&l<a||!i&&!s&&l===a}else{return false}}else{return l>0}}else if("device-height"===e.substring(r-13,r)){c=screen.height;if(t!==null){if(u==="length"){return i&&c>=a||s&&c<a||!i&&!s&&c===a}else{return false}}else{return c>0}}else if("width"===e.substring(r-5,r)){l=document.documentElement.clientWidth||document.body.clientWidth;if(t!==null){if(u==="length"){return i&&l>=a||s&&l<a||!i&&!s&&l===a}else{return false}}else{return l>0}}else if("height"===e.substring(r-6,r)){c=document.documentElement.clientHeight||document.body.clientHeight;if(t!==null){if(u==="length"){return i&&c>=a||s&&c<a||!i&&!s&&c===a}else{return false}}else{return c>0}}else if("device-aspect-ratio"===e.substring(r-19,r)){return u==="aspect-ratio"&&screen.width*a[1]===screen.height*a[0]}else if("color-index"===e.substring(r-11,r)){var h=Math.pow(2,screen.colorDepth);if(t!==null){if(u==="absolute"){return i&&h>=a||s&&h<a||!i&&!s&&h===a}else{return false}}else{return h>0}}else if("color"===e.substring(r-5,r)){var p=screen.colorDepth;if(t!==null){if(u==="absolute"){return i&&p>=a||s&&p<a||!i&&!s&&p===a}else{return false}}else{return p>0}}else if("resolution"===e.substring(r-10,r)){var d;if(f==="dpcm"){d=o("1cm")}else{d=o("1in")}if(t!==null){if(u==="resolution"){return i&&d>=a||s&&d<a||!i&&!s&&d===a}else{return false}}else{return d>0}}else{return false}};var a=function(e){var t=e.getValid();var n=e.getExpressions();var r=n.length;if(r>0){for(var i=0;i<r&&t;i++){t=u(n[i].mediaFeature,n[i].value)}var s=e.getNot();return t&&!s||s&&!t}return t};var f=function(e,t){var n=e.getMediaQueries();var i={};for(var s=0;s<n.length;s++){var o=n[s].getMediaType();if(n[s].getExpressions().length===0){continue}var u=true;if(o!=="all"&&t&&t.length>0){u=false;for(var f=0;f<t.length;f++){if(t[f]===o){u=true}}}if(u&&a(n[s])){i[o]=true}}var l=[],c=0;for(var h in i){if(i.hasOwnProperty(h)){if(c>0){l[c++]=","}l[c++]=h}}if(l.length>0){r[r.length]=cssHelper.addStyle("@media "+l.join("")+"{"+e.getCssText()+"}",t,false)}};var l=function(e,t){for(var n=0;n<e.length;n++){f(e[n],t)}};var c=function(e){var t=e.getAttrMediaQueries();var n=false;var i={};for(var s=0;s<t.length;s++){if(a(t[s])){i[t[s].getMediaType()]=t[s].getExpressions().length>0}}var o=[],u=[];for(var f in i){if(i.hasOwnProperty(f)){o[o.length]=f;if(i[f]){u[u.length]=f}if(f==="all"){n=true}}}if(u.length>0){r[r.length]=cssHelper.addStyle(e.getCssText(),u,false)}var c=e.getMediaQueryLists();if(n){l(c)}else{l(c,o)}};var h=function(e){for(var t=0;t<e.length;t++){c(e[t])}if(ua.ie){document.documentElement.style.display="block";setTimeout(function(){document.documentElement.style.display=""},0);setTimeout(function(){cssHelper.broadcast("cssMediaQueriesTested")},100)}else{cssHelper.broadcast("cssMediaQueriesTested")}};var p=function(){for(var e=0;e<r.length;e++){cssHelper.removeStyle(r[e])}r=[];cssHelper.stylesheets(h)};var d=0;var v=function(){var e=cssHelper.getViewportWidth();var t=cssHelper.getViewportHeight();if(ua.ie){var n=document.createElement("div");n.style.position="absolute";n.style.top="-9999em";n.style.overflow="scroll";document.body.appendChild(n);d=n.offsetWidth-n.clientWidth;document.body.removeChild(n)}var r;var s=function(){var n=cssHelper.getViewportWidth();var s=cssHelper.getViewportHeight();if(Math.abs(n-e)>d||Math.abs(s-t)>d){e=n;t=s;clearTimeout(r);r=setTimeout(function(){if(!i()){p()}else{cssHelper.broadcast("cssMediaQueriesTested")}},500)}};window.onresize=function(){var e=window.onresize||function(){};return function(){e();s()}}()};var m=document.documentElement;m.style.marginLeft="-32767px";setTimeout(function(){m.style.marginLeft=""},5e3);return function(){if(!i()){cssHelper.addListener("newStyleParsed",function(e){c(e.cssHelperParsed.stylesheet)});cssHelper.addListener("cssMediaQueriesTested",function(){if(ua.ie){m.style.width="1px"}setTimeout(function(){m.style.width="";m.style.marginLeft=""},0);cssHelper.removeListener("cssMediaQueriesTested",arguments.callee)});s();p()}else{m.style.marginLeft=""}v()}}());try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}function get_message_target() { return document.getElementById("inner"); } function append_message_line(type, str) { var theDiv = get_message_target(); if( !theDiv ) return; var newNode = document.createElement('p'); if( type === 'error' ) { newNode.className = 'message red'; } else if( type === 'verbose' ) { newNode.className = 'verbose'; } else { newNode.className = 'message blue'; } newNode.innerHTML = str; theDiv.appendChild(newNode); theDiv.scrollTop = theDiv.scrollHeight; } function add_message(str) { append_message_line('message', str); } function add_verbose(str) { append_message_line('verbose', str); } function add_error(str) { append_message_line('error', str); } function set_block_html(id, html) { var theDiv = document.getElementById(id); if( !theDiv ) return; theDiv.innerHTML = html; } function finish() { var theDiv = document.getElementById("bottom_nav"); if( !theDiv ) return; theDiv.style.display = 'block'; } function cmsms_installer_event(eventName, payload) { switch( eventName ) { case 'message': add_message(payload); break; case 'verbose': add_verbose(payload); break; case 'error': add_error(payload); break; case 'set_block_html': if( payload ) { set_block_html(payload.id, payload.html); } break; case 'finish': finish(); break; } } function socialShare() { // Twitter if (document.getElementById('twitter')) { document.getElementById('twitter').onclick = function() { window.open('https://twitter.com/intent/tweet?button_hashtag=cmsms&text=' + cmsms_lang.message, 'sharertwt', 'toolbar=0,status=0,width=540,height=345'); }; } // Google+ if (document.getElementById('google')) { document.getElementById('google').onclick = function() { window.open('https://plus.google.com/share?url=http://www.cmsmadesimple.org', 'sharergplus', 'toolbar=0,status=0,width=524,height=505'); }; } // Facebook if (document.getElementById('facebook')) { document.getElementById('facebook').onclick = function() { window.open('http://www.facebook.com/sharer.php?u=http://www.cmsmadesimple.org', 'sharerfacebook', 'toolbar=0,status=0,width=525,height=368'); }; } // Linkedin if (document.getElementById('linkedin')) { document.getElementById('linkedin').onclick = function() { window.open('https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.cmsmadesimple.org%2F&isFramed=true', 'sharerlinkedin', 'toolbar=0,status=0,width=540,height=528'); }; } } window.onload = function() { var freshen = document.getElementById('freshen'), upgrade = document.getElementById('upgrade'); if( freshen ) { freshen.onclick = function() { return confirm(cmsms_lang.freshen); }; } if( upgrade ) { upgrade.onclick = function() { return confirm(cmsms_lang.upgrade); }; } socialShare(); }; function add_message(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.className='message blue';newNode.innerHTML=str;theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function add_verbose(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.className='verbose';newNode.innerHTML=str;theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function add_error(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.innerHTML=str;newNode.className='message red';theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function set_block_html(id,html){var theDiv=document.getElementById(id);theDiv.innerHTML=html;} function finish(){var theDiv=document.getElementById("bottom_nav");theDiv.style.display='table';} function socialShare(){if(document.getElementById('twitter')){document.getElementById('twitter').onclick=function(){window.open('https://twitter.com/intent/tweet?button_hashtag=cmsms&text='+cmsms_lang.message,'sharertwt','toolbar=0,status=0,width=540,height=345');};} if(document.getElementById('google')){document.getElementById('google').onclick=function(){window.open('https://plus.google.com/share?url=http://www.cmsmadesimple.org','sharergplus','toolbar=0,status=0,width=524,height=505');};} if(document.getElementById('facebook')){document.getElementById('facebook').onclick=function(){window.open('http://www.facebook.com/sharer.php?u=http://www.cmsmadesimple.org','sharerfacebook','toolbar=0,status=0,width=525,height=368');};} if(document.getElementById('linkedin')){document.getElementById('linkedin').onclick=function(){window.open('https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.cmsmadesimple.org%2F&isFramed=true','sharerlinkedin','toolbar=0,status=0,width=540,height=528');};}} window.onload=function(){var freshen=document.getElementById('freshen'),upgrade=document.getElementById('upgrade');if(freshen){freshen.onclick=function(){return confirm(cmsms_lang.freshen);};} if(upgrade){upgrade.onclick=function(){return confirm(cmsms_lang.upgrade);};} socialShare();};/* HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>"; c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document); /*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e) }m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); PNG  ��� IHDR���(���(���S y���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDATh1 1F6^@-y'kZ@dyɫdLO~2z_}r9oo7[ܹ R `65@Ui]-"U q�GfP$j̣`*�fS3pTHTK:qnpt̠6I G5Tj̦fj촸ԱӢS$j̣`*�fS3pT5vZ\iѩnpt̠hp���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���(���(����;���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���zIDATH EQM6jE2 bݝ!K2g}/\)W@ -@3K,7:ׁ@k U Hrd sM u ESt.s/rڧ+���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���(���d����O���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�݊���IDAT(c`��X�u6w���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������D���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���HIDAT8c5a"oK1|a~Ï ?~Ne%7\(1d4F1�G#NP���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR��������A���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDATH? H&](v_W`5_YmFѤt?˧;=eY<#��aƷAY&IRɆh`5`u8FD[9tF'pe�͞zΧ=W]{EpK:_ 0~2UE\���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������G#7v���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�݊���IDAT(ch`p�h4i���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR�����d���5i���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X��IDATx_gULTT,` JI<Tй< VZ|De`$gp &%|˽36'P0{|83wܜk}ɜoww�����6u;������7;����`����0ظ����L�6�����;����`����0ظ����L�6�����;����`����0ظ����L�6�����;����`����0ظ����L�6�����feworEjc^bپ:nPFyyu-dߛ͕^Z3WɬMfS9yk9u[z_ł7s_\+%sA_mxEa/k}X@y}#{c*?6?~}?3T�����X We~ؽM')k(Ur% y_Mm^evVrfWCXZuXbme3/y:Q.߶S7GuUTӪdvx#^ yx-G׻׾UA&�����h<,ކt�����H2�����;����a5vwȝq=Gz[vnWJi]YWRɑ^T}R֔:Q|RRo%͠YV+sj =UnJU)kR-ՕFW޵N==Xj%o5F֫x,˕d6/ƔJ.^߾USaڵe+1cm)^ q)S:ڤS<FW΅dj\(i<eGɑ2t >-,㭓Wz5WE3HG)veZQ{múIf^yƥ֭ٹw>%:%:3Hϸ*y{ERq���� Se�����&�����L�6�����`aU����fy �����^�����Sefa;Oz }׵SˇU2f[nqw߁ IYV RWƱB-Uf'%S 6Wʎnsp Oل'ׂrҳ\˷v5S[nS~53|w9 �����eY\9pea'z{{,;:݂QyFGlҧ<<;z/EX %vT{œڦbѵ<*Y|+uuKհz"75n޺e^+*)sS -<-ך)ޖy xuVYW>ςmYΦwס k|i�����X!| ����0 Sǽq{C˒S|gg?&S>0PtfMEΠRvt[z]4]me*բ%/wayc) ͻWy);C>~,^+uK_ymg[%+73U,גqjV˰v?0 ǿ?Ӧ6㟕޻%}7A>l*ǿ>,&Be^jixklM*}شe\sͼ*Mcϗ<yq]߸����{6qKBݼQRRQ{.ADQқk=w^tl*\ϠzUm֪LZK֫R^^^ޕJA]|e]xgkYNyk8t q~*j]WMn!eӛA=ޒo<<{2W,lӡ΀mMoNl3UO}q_otWu2zyfL)LX^W2)jX[+k=[+\[[OxןWFiJ+m+5E樓^굡oykWsIZ(]Oʛy9-ػ?yѝT �����q�����`',v2wsSnܓlSRѪ.%ZjnTKy%^o\yJtֳB͔oފ]͚o+1z=V؎Ru+YJu}9dk9ϫ^R5\t>'z%wbǔ%3´|Kޭ;aGgUvS$w^?^z(fᵜꫫ蟧dyf㾺%Qm|Gɋ׾]jg[ ]1aG3vZѥtսg{ҳkWc,+ת[U爒Me%|*ϝZ+F~=EyD4p�����6y=~/~~pݢD|??.{W4][f :'继S ��`tOYp'|?zG"k3÷'2׿v�vlq6'3݅[p?z0랾I{fτG³6wvol lx{p2�Lwמ? bOnT~4-m.|,\ 7 � ép:=;ݓsSݝ፭~[Hlt7c]ݍ?սug=.;`��hKW~O ��,l}ͩӍ㾭_;4f\a��_Z>>o{z{y oL,^x/zbxBnW>Xw��0qn tφ{ m7óݧ˳p{w&\ <rp{wX's[O_{I �>߱|!\N_ ?аpbB _/-;5 J0iG+ſX��� ^C:=ץ?xp".t-G |f/9|>{뼣@ t،F/W›}aKz{8}Ob|yvUKz)00;[Kʯ2|-iꛚJ?SsmӪBGѼEُLcZRK]l}}[&^Sa',~-?/_`e OãqyհfbiXbEZl4dſn����s����&�w���� 0˰?w�����>����&<|2S G 6x,w,)u=)]o;F)\@?mQϵk3(}֌>䭐Ʋӽݴ5'E,Ԋ&^5άueFd|5G|lW)y}t_x0����� ^����������H~�����4f ����3WSe�����`q*����e����`ÙeT����͆S����&@e_N'ۤ*x-}R*Sؚ ԭqVR+^UJ"euJfzlz}G37^^5[relѕLzz#zJEyV<ک]Z<O-O=Z����N���������0as ����ë2�����`',v6z)c.x*9ҟZ>>zWJR]t=? d2G+-ݾ^>mkLYЂJSlz+Qfwezt˰v3/ٯ~g��������LyX}6�����<,�����l6é2����vòU���� 2'U3tujJj|%u7MYU[Q+j( lyMϣRy}mUXlFW %>}E<V&gܻcb] [rkyzr)yuIW)D$͔}czTK=ާ@>D֋fRZR{"x#[gGg3kPuN#?ۏ+w^q2=Q%tb}(lJ꠫Z^e?6llyU(Q(ӕO;_%/j]8޼uF^5fKE$sM;QuЭzv{hGuȦn~oY؞kmp+ަ{-ގ-t˶}2azS~֚v{G[b!/׵"^/k-*Į :GOd[{K(R}o5zs7u>]+*ܫVU %9b?Rf�����`%̯>[f[<F7ܪ2|+YKl&RϔڲNޟSa'\J]ۙڤ*cqOoI.tXR)TC(ʈ6z,v*֫[:Inxk>%w̋W<v.=kizfPvs+#=.oysd'[w>J$ֻ\oܗ^f]nJ|7ؾ}65J|7%5>Em_=eV /)m۵dgSWWNBʪ zYcX˫.}(Z>tUKfJz+dPS'ZڊyOXj=JW~i����� f<&uXRkƭE;7S刺v>xS*kGQJ"ڜo7AZ|צŨyn[j `-#GO p:X(T1%ǁU0} <OdK׶1&[7zԊ1%+1Wg{֔Cl[譺Cy*7忽2+UTҏS̛Q+C$#ywKæS͑Z̎Z>U=)zNz,˰vϞw�����Vȼ^-mqJݯMmq:E7J-NQSjN𰕬unIzEf7oŶ^e5{׸~u+YJu}9dk9ϫ%g(g(} ObN(Z wMɌ0w_:_ ˰v,l˿׾p}`|7u]<g!F5=n.uWDG-&>WJ[ɔe%hT>Cˣn珒}ExgJUFT7Fj*تz[oFVZsD NI~ujEn<c򞹵fW2n} le�����+a޿{GW?n7����� <a`c_���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR������d����2���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���XIDAT½ @@�я4tU3 #U9-xy<'+w-n[bfL1&T<2GR.���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR������d���t���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDAT(1 PDSZ 6M!rKJFf,>Ao`x;,,cs�p>҇uQ`߯i%S)~ζ rV =O・ pl:]ZO?q|���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������Er@���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�"b��TIDATxm%Uy $!,h ,%&@|IEMrݱD2;f ܉A^$5Ƣj^K@U-wWD`|q"t>ν3}S~9}<><yNp M)` pxht%�yYD^`Or%`: $%{�0LL?a|6܉]A7P'@/:]5JH&ay 2:8ty@#*'?t緝;Ywגm׸�{>|Dg7\J{4K 3tfZޱ`7u7Yɶ~f]<4m*<%%{^`FR� l8<Oh8<Ok2�n6cL`>]=u$,`&+hk6J_*|K0�?@lxdom]L3ݞߌ0.;TE,;4tMOmPLUA&e+`8u]577~"h8<Oh8<]C8YsZ}iA ֠)Ȟs�W.!m. z[#R䨚 \R{v r R ?˝#[|f`�y)A-QN 4wϮ:Kr{河3ZP!0t{l\YwSnPIA.Vm-R $ysI@;eغX.vYvB �n]gWcVn*ôy�T=Mhpt +3 '@ px4� '@ pC`=x?.jlk]R Q.ޫ5@P,[Zj6ƵKɟڕ[ ,P/5/thzG]Yn!wk9څR+@K tťa.mKu D<i5Еcn[@z@VmPgQO c:Ӕ%{%܄.緯ןߖF�{h'@{ "ȕ.=>M篂U!LgK\At$VrX˒�`LoMe/R+X.X.]L]Nq%e�7w"< ּp뻴ʩ@  uǤ OO7� '@ px4� PdrvM{wQve{Ȯ]0d1w%L,vQwqyyx`]jW.!WWl/D3,v܁6]iZ<:IݯtM~9UPi!snS!QyU緯lJ Ț!$(7-/ޮB¤F[^)F#*U$`7\!OUŪ3ǐ_J:𨃏ܽX6X!|.!}t$ePROQա/P[Cmb,=XA!tho14]Zh=Oh8<#@keEٲM&IKѢ&b04(.%thtIH2>Dgͳ]ݢ@NE]hɟ|T=m5@ .#BW2wQ׿¨alrvEb)n#ය݄F/N6%t]KX" nz"t.'`[A-<d�#]/\# sDbVGӫ @u>y-LTi rgW=)lj&˺;YeF,6CG_0l;y1|�5'@ px4�SLT_ʿߐ:ADV\cK !e8L}F{=.y0~w,ݭ9^n gH<sٌgd}ܠ):$:N" <S!,qg 駹\v'g{;W3pIm bni;J)�s�<.$_.[5{IV\ⷸ"[$@d Ke%b!ѮFn0#l§8�o($%f)@6[L9(?Ko?wjSl2^9�EL VH)0ͭ!k@}CnU:l|4 2sPRQ,Qgdp6صpKi*B?O_1?Ʒd'%d;§\k:?r7p#'reL3[[$꿟3D N_8״)<z'i>]Y,b}H!0 La4-Uڣ$R|crQx/a _seRmDz�$V\ 3<ɔ0㗹1VD<n&S LC4*5O`KA`5D$n }5Bf"GPM rU/j"$!f+{/ fjtkPt쇘S�ӹr#q>#a=5!*,6~ ^#Jt Wg{ȃsd,o9X1 ?*uuB,=`޻'1l$[Gx4� '@ DΞ�-z)E}:g˖ gÁyk>fiNa~  ɏk`.73PȸҜ;+ ZpMlbinFݬLپȓ4 :a.0JN.pk8NPx\lh݅x2iǹ?OH5M@.K4p\a/>ay%^zU25O'0VOsMR4"0VܞFqyYEL0])PK~Irx /Qs*SL1fn>6U4>i#\}cJjrjo_u8n,JFgyFk6a[0y|kS\6 + )L*g EDخq|Y_'-?Z";<Wϼ= [\IL}‹7OqX 4<z7=~CP6w'ƟL~*?7ȳg�%npMBC{ L^O2;C!<n$7B5F&XQ?̧>-c%DP]y_VaX1uҗEc_t'[PP> `4B "O7ՑF3 �<5ϝ|B.0#bb],ҥK{/QWܯd0~.ꏜ}eK Y@3>?_"X,u5OԘ(xsG4DI� 4� '@ p4�XNIMs(,ѡކ<&R=>@]ZG^ _Hk|p7rFp,/^>G-B+7(z3d-A^'qzj z_`I:L0T|aɄ܇<SIU̅囌3I'.GÓҐl{UŘ"gh.Gj,NUi0` rƀ1�GlKTQzy"?or>'/CTS̤ U (.2Rr ?< aGBKsRƔ[IlcylU_ɷxO� QH1NcӺ#?5f4ߣ�3lgGA<aW9w@I68F߮U3hC'aQ?m*w\9$;`[6q5e(|E"8ODHF+~Sm<*Mʖ ._S9<ΐҫQw ʼnW)p? gW,  '!pFQ8_/_z�{!XZ7&9W&Ef!GU)ŸY:l{`s6Ãld,GyxIC _kJwiKs88Mq,y SV{ycPI#ిűoos:*i@Z8]^ext7 )%-T,)O\NKQ|0w �fKl.Xګ=_;fl⧅;ϱm ]/OB.ySW/))xsp;+<.pƴjqICE[kOy�� '@Q$6^=|;6 o\ |ˤt_⽃G}{KT {q8b  vK"kK/n8'@ e6e^ jԪp؀l)l㩻7hkdC]H4nnF[:b l[ꑬ'n(|[Ƹ4%t]BFh%Z`%>njԄ&"\r'VZvD)ykCbW;I[‰k!fuiQ*tWsN_~W< g)'8}ږj�HzD6�6Dkx3?xFy zno�O+v,bcxsLwxtnGĝlNn2ھIOΐlƟw g kг=ޜlAl)l; )"W2:-.H٥aq66$\0oqnjcC[Oh8<O":F@j1Xg dbݖ3<cw 'úlajdiiK[:Jw@!? ~iy 0\]#cY9%& BsQ@6[sJ8NIW߭C'QۥdFPM�P8a#�$Q(+K :eBziX|N~<ƜGc̥5P\|t+ss(A[P}� |-Vܘ `UZLhv$0sƼyihH ?KQ`a#d*A S#\j=i,]6� '@ px4Ezl@dh�!MUc]"!@n~RJ%O2!Eah=P~`$AGSr52rb&ATZ-JC�-W8?<8ʽ*[4FTjGp8&)vU<Uji,~|?=lWj�˻RR$3}n|TK�5..NQE\)k )ʿ�xS,qEi!{�q}g.r gUSqs=W2^�).BhW.yw ȼ=}06O8A6ϫ O '@ px4lԕT ž--@]-\A+õ2{]$ g-h"MM-|9ZvY?0䷕_,mo9 aa.IK*V J6[B:n.aP/0 Ks�Զ_rSFOVh (ɸ5@Y P}x5yoEZ=UJȯ|?tk3=hvn'SO!`�Շ]~r պpSn=ҝ/ A=p/cNء葜&(G)JG$6yI/,MP%P(iCC~[vWB篾ꒈV$˹}工(k& Z^8S8>zELHWW+wx0- pxk` px4� '@ pAܣDkH2u]AzwnPExFyAum 0F0bG:1;L6|CGICHRݿ6y~˘{o}@]Q~"h8<Oh8/~B P-d׻͒�£"D ;R򠫹 `d] a{ -+PS#R3@O z-̒ ¿rvJQz�`W_9HGx\EA2͌r͠&~U�>wS[Σ- `9'C~ C@eCٹq_ X�zN���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTE"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""anX���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTE18���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTEzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=b+I���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������Er@���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�̿��:IDATx]m]Y~)*|&q4!KK$dk~#>uҪn?švBRi]9?7Z?XST18jڵCOi"k>8ܻ<{yg9gwfNBF]" pDu!�":XM_?}M& 9CD!5N"%}cc?7i5<6 z͕!@<yZs.Sw:nP(^z ‘w6 z(ק�n%s-@?sp?֤�F4߂:F]$$tXu1�#ZG$@�# pDHiG]ftyimJͦZ| |�/2/2Wo�79rm*]]oe^ r7&oJ]\@vl�u>Ǿ^�kޠCf9s `at>˿!G4H 8"G$@�Q`@HFxPw7K>Fe YTIuN9˷�B Yj{WS'\䨛گ>*%EpU?9}@>U0_>Y DԀ"/|Ot6MJ@EꄕgΒ_^2Enϻ2K�UqagkOG6[lO6Ueٻ@7yX.uYnR Twp裀}8 pDK`�# pDH 8Dt@hpihtzVZx.~9[㷬̷ywuX[0N.eytiR}Xn-O b9^NmFQ>[/N:o93O�- }}�tT=I~%("һJ{ͥtyrW�0vHx!>w>m篃g?IGG+ARԖ3Il]t rӁKgޅނr)+N"®&4E5<Aӯ.|rG "q\|_@D( 8"G$@�6V\y} Pc楳NǺ+v0f+>0|-M-qTK?PDfla64Җq=rd絧?,:y5,՘X.tu= חT8ʝ;{eXR;xلUFg9WHK@oB¦FW៳m-F, ~:E[6pygؑ=Cȟ\\cL/Bqxll2FׯIQ~J˛yw<fRQ*ƨ;f8m!dz1~>n)y>'(b34Dw隷 �#G$@�# p ϗmsِ-zA}NpAyVmWwu<;2Vj;Xe)_ ĥ%ҮHcՐ>VoSuYBAd-wiQrLe k Ehmf/ouI\#`|߶D'v@)a t50OeaT4%/k (?EL .'FvnGp=G䳉]6"@Q� �~ƍm�)�FgVĝ10B[~4ORTq0,G0nb/ bK 8"G$@IP?V@sdk.5t]5݊ݚ9�h:e+L:e8YJ : -z+<n&H}źD¾Ezr ]M5uE-"s谵D]"Fj ,��A.pDq&&$$ʙ,1߯)I $8VuƄY g1g\krfMJISLb!&�PoQZ+n Y"8W;w)~KoUFpu|Y>4ƸϒUܐ DW)NfqJ؀憼-~ -2#P'L.(G:ő/<)~ܒ1|z(]gpY#@IYbsh+z~Z-> a:f1Wm-r3N*~ � w1��β2WS�88 `<|}{>y�3 zR.3u ~W;� j8ۤ&s�Lq�o3."�;~/`1�w0{-JfqU҄gB .bC8I˞0 B4>'HRmf$ޕ\/_Az˷ l{pH1נ_kY � 0F0$l0a`>H*?M貣mՆnyX{b A`O<:>.~ߨՍ78!\=hLt#;Q�# pDHdAp-6 GFӡEܤYa:Ia"_Q+y�%GЫn`G}_BK]JaZ"M"k"V"{e l"Y=ېƙlyԨJzAk2ڵo-kƤ>'mgV0b)@"|`pK!W] &'n2-0$9Ԣy}Wn+|EKž.-;8wRaF-rNs'66pXw]a?;C~ ؋o|+X}ź]\1XL-~� m�@P�״9u*�bg"zBD? +rX/NRUߗ%ٗ<NfDЛx>L3_˳LH'igKU5"&g9ᙊPu3M;"j,k"Pa'~zv!ڠ'1tS1*n[&AP)o%�!#Wy(]T')Q&r8r)�^;ك ݡnϡ3mҲ]*f5kZ]NdESyߩ~0@ې\ pVKm| Ud~R�#G$@�#<ncnL+Fg7{ݞ1t1FvX]ƌ6g׍EՑ:C'i~Bz$}3tRK_ZB9k0H]]1G-"gK$@?+4kTI/En9Κ~?C-t xM~L67ۍ]LQ8Q$@nϑshQ^Oi7B D+|'ym�, �i+M#oѱ,dr�{;QT>cw-\��\g|m<n-�ヌ N�tp )&c=-90IvFAO�XpݾwU`?& ăayqh65)XUh '=*ºUҺE5[,=+Z_@xn:x<W ]z;PJ|�p㓸ܓ5r\@)wig )9@U?i/ҭ1�.iߓ^V|xNnNc' d0{3.hr]<H`rgϔW~?-IGoá,q_�p !f _nNǚul{p{;1ҋ &p&0 �'ud(scG B+t*dzv]Ga q-𣀕l0!pD�0JC ѷHOGQK<u,Dʂ6t[`]AڧڴmJrC8DH�C%"kxxrxG]@~| :⽦?_u#C^�tBAe;fsqO1IiyvcaLQg~K-Ik̸ncvU.9f1>lPmʯ/I ~Pq<mg|LfhE/s%[DErmͰBea7IV2ŷ3"po/Zr �=R!*�|-t3ߗ�v}wfth6iƐ;8p C�Wȕ?UIl $ +j*0ӏMm|djv ( 3r �&XҤKF5LֆF�w<~e߯oɨ.1E870pDH 8"G$tB$�a10WB p* JGaƉ�UksFц%M|Eʩ06<R-06K7I6fiRr0އ�6ѣKwITI~Z� ߲ByL0wRn6 CM,7jOnbH'/6 ,G&o v7@cN~p62`; Ht[ Tó..݆8"G$@�C%� /�%<�`/FZ.9X-}g+xS +je&d-NDD /RrM~ͣ~Ô`RnE6NN)uʶ;ն0DidN+ xW� �*ǣt38c8 ` &��ai}�avÌNpdэ/R_@/8z{qUp lz}?~fqj &d]oⒺB8-g�|ac0Ktn=�Df0tO>__>}C@8r�# pp|o7 [>Z^YפbSkaˇ]Qk4q8]Dk*wm49l7jy+:񕭏1Dղ%+5awU~{J/5R𵮈TZ, "O| QI_Q5}K~|2]~�"Uq;G}rR~W͟ 5<skwu!>'\,>} x oͻxsum+O)Dz@)ʗ(w/)rS%99娑*bo/M@7\ M* CcLOUWm rOUU@ZWEƄn!jڡ:OoAZԦf!1b [>Z^3 !#zG$@�# pD;e<dodmT1voT̡ٕ4!BJ�װfObMt(N@5} ĤUI+A d&TDT~ ڞCEA~ zG4H 8"G$@ۗ�hd4 t^ptg �2fNտ<bXF ?@�W ̪$z4yF^[ efb?j/gA(;ٟ:KZtqar .c_֠ 8տĖA3`soC8Ǜ мVխ~0Ac"|޻6���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`/*! jQuery UI - v1.11.2 - 2014-10-16 * http://jqueryui.com * Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}/*! jQuery UI - v1.11.2 - 2014-10-16 * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1),r=this;return n=!a&&o.length?e.widget.extend.apply(null,[n].concat(o)):n,a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))}),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,M=e.extend({},y),C=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=d:"center"===n.my[0]&&(M.left-=d/2),"bottom"===n.my[1]?M.top-=c:"center"===n.my[1]&&(M.top-=c/2),M.left+=C[0],M.top+=C[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+C[0],p[1]+C[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,e.top+p+f+m>u&&(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>d&&(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.length&&(!t.length||e.index()<t.index()),l=this.options.animate||{},u=h&&l.down||l,d=function(){o._toggleComplete(i)};return"number"==typeof u&&(a=u),"string"==typeof u&&(n=u),n=n||u.easing||l.easing,a=a||u.duration||l.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:d,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?r+=i.now:"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,d):e.animate(this.showProps,a,n,d)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i) }},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p="ui-button ui-widget ui-state-default ui-corner-all",f="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",m=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,m),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(p).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];g(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),c=this,t.document.one("mouseup",function(){c=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(p+" ui-state-active "+f).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?g(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(f),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.2",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.2"}});var v;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0 },_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,z,H,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="<div class='ui-datepicker-group",K[1]>1)switch(T){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",C=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+u)%7,C+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[N]+"'>"+p[N]+"</span></th>";for(M+=C+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),z=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=z,H=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;z>F;F++){for(M+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[H]):[!0,""],j=H.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>H||$&&H>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(j?" ui-datepicker-other-month":"")+(H.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===H.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(j&&!v?"":" "+O[1]+(H.getTime()===G.getTime()?" "+this._currentClass:"")+(H.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(j&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"'")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(j&&!v?" ":W?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===R.getTime()?" ui-state-highlight":"")+(H.getTime()===G.getTime()?" ui-state-active":"")+(j?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(Q?"</div>"+(K[0]>0&&T===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(a||!g)_+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");_+="</select>"}if(y||(b+=_+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":" ")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.2",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0) },_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=this.element.children(this.handles[i]).first().show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=u-t.height,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.2",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0; if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.2",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y="ui-effects-",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.2",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()}; f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.2",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.2",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this,i=this.element.attr("tabindex");this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:i||this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.attr("value"),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=(this.options.max-this._valueMin())%this.options.step;this.max=this.options.max-e},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===e.axis||this._isFloating(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this)); return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-e(document).scrollTop()<o.scrollSensitivity?r=e(document).scrollTop(e(document).scrollTop()-o.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<o.scrollSensitivity&&(r=e(document).scrollTop(e(document).scrollTop()+o.scrollSpeed)),t.pageX-e(document).scrollLeft()<o.scrollSensitivity?r=e(document).scrollLeft(e(document).scrollLeft()-o.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<o.scrollSensitivity&&(r=e(document).scrollLeft(e(document).scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?t.currentItem.children().each(function(){e("<td> </td>",t.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(e("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.2",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0] }).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){o.html(e),s._trigger("load",i,r)},1)}).complete(function(e,t){setTimeout(function(){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.2",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&n._delay(function(){t&&(t.type=a),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){u.of=e,o.is(":hidden")||o.position(u)}var a,o,r,h,l,u=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(l=s.clone(),l.removeAttr("id").find("[id]").removeAttr("id")):l=s,e("<div>").html(l).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(u.of),clearInterval(h))},e.fx.interval)),this._trigger("open",t,{tooltip:o}),r={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}},i[0]!==this.element[0]&&(r.remove=function(){this._removeTooltip(o)}),t&&"mouseover"!==t.type||(r.mouseleave="close"),t&&"focusin"!==t.type||(r.focusout="close"),this._on(!0,i,r)}},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);a&&(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)))},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});[build] ; Generated by build/build_release.php build_number = 5 build_label = "2.2.24+build.5" build_time = 1788869310 build_iso8601 = "2026-09-08T12:08:30+00:00" build_user = "JM" build_host = "DESKTOP-L97P147" cms_version = "2.2.24" source_mode = "local" source_branch = "trunk" final_upgrade_history = "E:\wamp64\www\2026_Phar_Builder\history\upgrades\final" beta_upgrade_history = "E:\wamp64\www\2026_Phar_Builder\history\upgrades\beta" minimum_upgrade_version = "" include_beta_upgrades = 0 reuse_generated_payload = 0 <?php namespace cms_autoinstaller; use \__appbase\utils as app_utils; include_once(__DIR__.'/lib/compat.functions.php'); include_once(\dirname(__FILE__, 2) . '/lib/classes/base/class.app.php'); class cms_install extends \__appbase\app { private static $_instance; private $_archive; private $_dest_version; private $_dest_name; private $_dest_schema; private $_destdir; private $_custom_destdir; private $_nls; private $_orig_tz; private $_orig_error_level; private $_custom_tmpdir; private function trace_runtime($message) { if( !defined('CMS_INSTALLER_DEBUG_TRACE') || !CMS_INSTALLER_DEBUG_TRACE ) { return; } $tmpdir = \function_exists('sys_get_temp_dir') ? \sys_get_temp_dir() : null; if( !$tmpdir ) return; $fn = \rtrim($tmpdir,'\\/') . '/cmsms-installer-flow.log'; $line = '['.\date('Y-m-d H:i:s').'] '.$message."\n"; @\file_put_contents($fn,$line,\FILE_APPEND); } public function get_tmpdir() { // because phar uses tmpfile() we need to set the TMPDIR environment variable // with whatever directory we find. $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } return $config['tmpdir']; } private function fixup_tmpdir_environment() { // if the system temporary directory is not the same as the config temporary directory // then we attempt to putenv the TMPDIR environment variable // so that tmpfile() will work as it uses the system temporary directory which can read from environment variables $sys_tmpdir = null; if( \function_exists('sys_get_temp_dir') ) $sys_tmpdir = \rtrim(\sys_get_temp_dir(), '\\/'); $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } if( (!$sys_tmpdir || !\is_dir($sys_tmpdir) || !\is_writable($sys_tmpdir)) && $sys_tmpdir != $config['tmpdir'] ) { @\putenv('TMPDIR=' . $config['tmpdir']); $try1 = \getenv('TMPDIR'); if( $try1 != $config['tmpdir'] ) throw new \RuntimeException('Sorry, putenv does not work on this system, and your system temporary directory is not set properly.'); } } public function __construct() { parent::__construct(__FILE__); // initialize the session. $sess = \__appbase\session::get(); $junk = $sess[__CLASS__]; // this is junk, but triggers session to start. // get the request $request = \__appbase\request::get(); if( isset($request['clear']) ) { $sess->reset(); } $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } // setup autoload \spl_autoload_register(__NAMESPACE__ . '\cms_install::autoload'); $this->fixup_tmpdir_environment(); // handle debug mode early so third-party/bootstrap deprecations follow the same policy. if( $config['debug'] ) { @\ini_set('display_errors', 1); @\error_reporting(\E_ALL); @\ini_set('error_log', \Phar::running(FALSE) . '/error.log'); } else { @\error_reporting(\E_ALL & ~\E_DEPRECATED & ~\E_USER_DEPRECATED); } // setup smarty $smarty = \__appbase\smarty(); $smarty->assign('APPNAME','cms_installer'); $smarty->assign('config',$config); $smarty->assign('installer_version',$config['installer_version']); $fn = $this->get_appdir().'/build.ini'; $build = null; if( \file_exists($fn) ) $build = \parse_ini_file($fn); if( isset($build['build_time']) ) $smarty->assign('build_time',$build['build_time']); if( isset($build['build_number']) ) $smarty->assign('build_number',$build['build_number']); if( isset($build['build_label']) ) $smarty->assign('build_label',$build['build_label']); if( $this->in_phar() && !$config['nobase'] ) { $base_href = $_SERVER['SCRIPT_NAME']; if( \__appbase\endswith($base_href,'.php') ) { $base_href = $base_href . '/'; $smarty->assign('BASE_HREF',$base_href); } } // find our archive, copy it... and rename it securely. // we do this because phar data cannot read from a .tar.gz file that is already embedded within a phar // (some environments) $tmpdir = $this->get_tmpdir().'/m' . \md5(__FILE__ . \session_id()); $src_archive = $this->get_archive_source_path(); if( !\file_exists($src_archive) ) throw new \Exception('Could not find installation archive at ' . $src_archive); $dest_archive = $tmpdir . \DIRECTORY_SEPARATOR . "f" . \md5($src_archive . \session_id()) . '.tgz'; $src_md5 = \md5_file($src_archive); for( $i = 0; $i < 2; $i++ ) { if( !\file_exists($dest_archive) ) { @\mkdir($tmpdir,0777,TRUE); @\copy($src_archive, $dest_archive); } $dest_md5 = \md5_file($dest_archive); if( \is_readable($dest_archive) && $src_md5 == $dest_md5 ) break; @\unlink($dest_archive); } if( 2 == $i ) throw new \Exception('Checksum of temporary archive does not match... copying/permissions problem'); $this->_archive = $dest_archive; // get version details (version we are installing) // if not in the session, save them there. if( isset($sess[__CLASS__.'version']) ) { $ver = $sess[__CLASS__.'version']; $this->_dest_version = $ver['version']; $this->_dest_name = $ver['version_name']; $this->_dest_schema = $ver['schema_version']; } else { $verfile = $this->get_payload_version_file(); if( !is_file($verfile) ) throw new \Exception('Could not find version file'); $ver = utils::read_cms_version_file($verfile); $sess[__CLASS__.'version'] = $ver; $this->_dest_version = $ver['version']; $this->_dest_name = $ver['version_name']; $this->_dest_schema = $ver['schema_version']; } } private function is_absolute_path($path) { $path = \trim((string) $path); if( $path === '' ) return FALSE; if( \preg_match('/^[a-zA-Z]:[\\\\\\/]/', $path) ) return TRUE; if( \strpos($path, '\\\\') === 0 ) return TRUE; if( \strpos($path, '/') === 0 ) return TRUE; if( \strpos($path, '\\') === 0 ) return TRUE; return FALSE; } public function resolve_root_path($path = null) { $path = \trim((string) $path); if( $path === '' ) return $this->get_rootdir(); if( $this->is_absolute_path($path) ) return $path; $path = \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $path); return $this->get_rootdir() . \DIRECTORY_SEPARATOR . $path; } public function get_archive_source_path() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['archive']) ? $config['archive'] : 'data/data.tar.gz'; return $this->resolve_root_path($path); } public function get_payload_version_file() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['version_file']) ? trim($config['version_file']) : ''; if( $path ) return $this->resolve_root_path($path); return \dirname($this->get_archive_source_path()) . \DIRECTORY_SEPARATOR . 'version.php'; } public function get_upgrade_dir() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['upgrade_dir']) ? $config['upgrade_dir'] : 'app/upgrade'; return $this->resolve_root_path($path); } public function get_upgrade_version_dir($version = null) { $dir = $this->get_upgrade_dir(); $version = \trim((string) $version); if( !$version ) return $dir; return $dir . \DIRECTORY_SEPARATOR . $version; } public function get_install_dir() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['install_dir']) ? $config['install_dir'] : 'app/install'; return $this->resolve_root_path($path); } public function get_install_profiles_dir() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['install_profiles_dir']) ? $config['install_profiles_dir'] : 'app/install_profiles'; $dir = $this->resolve_root_path($path); if( \is_dir($dir) ) return $dir; $external = $this->find_workspace_payload_dir('install_profiles'); if( $external ) return $external; return $dir; } public function get_optional_payload_dir() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $path = isset($config['optional_dir']) ? $config['optional_dir'] : 'app/optional'; $dir = $this->resolve_root_path($path); if( \is_dir($dir) ) return $dir; $external = $this->find_workspace_payload_dir('optional'); if( $external ) return $external; return $dir; } public function get_workspace_root() { return \dirname(\dirname($this->get_rootdir())); } private function find_workspace_payload_dir($segment) { $segment = \trim((string) $segment); if( !$segment ) return; $dir = $this->get_workspace_root() . \DIRECTORY_SEPARATOR . 'payload' . \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $segment); if( \is_dir($dir) ) return $dir; } static public function autoload($classname) { if( \__appbase\startswith($classname, 'cms_autoinstaller\\') ) $classname = \substr($classname, \strlen('cms_autoinstaller\\')); $dirs = [__DIR__, __DIR__ . '/base', __DIR__ . '/lib', __DIR__ . '/wizard']; foreach( $dirs as $dir ) { $fn = $dir."/class.$classname.php"; if( \file_exists($fn) ) { include_once($fn); return; } } } protected function set_config_defaults() { $tmp = [ 'timezone' => null, 'tmpdir' => null, 'dest' => null, 'debug' => false, 'nofiles' => false, 'nobase' => false, 'lang' => null, 'verbose' => false ]; $config = \array_merge(parent::get_config(), $tmp); $this->_orig_tz = $config['timezone'] = @\date_default_timezone_get(); if( !$this->_orig_tz ) $this->_orig_tz = $config['timezone'] = 'UTC'; $config['dest'] = \realpath(\getcwd()); return $config; } protected function load_config() { // setup some defaults $config = $this->set_config_defaults(); // override default config with config file $config_file = \realpath(\getcwd()) . '/custom_config.ini'; if(\is_file($config_file) && \is_readable($config_file) ) { $tmp = \parse_ini_file($config_file); if(\is_array($tmp) && count($tmp) ) { $config = \array_merge($config, $tmp); if( isset($tmp['dest']) ) $this->_custom_destdir = $tmp['dest']; } } // override current config with url params $request = \__appbase\request::get(); $list = [ 'TMPDIR', 'tmpdir', 'timezone', 'tz', 'dest', 'destdir', 'debug', 'nofiles', 'no_files', 'nobase' ]; foreach( $list as $key ) { if( !isset($request[$key]) ) continue; $val = $request[$key]; switch( $key ) { case 'TMPDIR': case 'tmpdir': $config['tmpdir'] = \trim($val); break; case 'timezone': case 'tz': $config['timezone'] = \trim($val); break; case 'dest': case 'destdir': $this->_custom_destdir = $config['dest'] = trim($val); break; case 'debug': $config['debug'] = app_utils::to_bool($val); break; case 'nobase': $config['nobase'] = app_utils::to_bool($val); break; case 'nofiles': case 'no_files': $config['nofiles'] = app_utils::to_bool($val); break; } } return $config; } protected function check_config($config) { foreach( $config as $key => $val ) { switch( $key ) { case 'tmpdir': if( !$val ) { // no tmpdir set... gotta find or create one. $val = parent::get_tmpdir(); } if(!\is_dir($val) || !\is_writable($val) ) { // could not find a valid system temporary directory, or none specified. gotta make one $dir = \realpath(\getcwd()) . '/__m' . \md5(\session_id()); if(!@\is_dir($dir) && !@mkdir($dir) ) throw new \RuntimeException('Sorry, problem determining a temporary directory, non specified, and we could not create one.'); $txt = 'This is temporary directory created for installing CMSMS in punitively restrictive environments. You may delete this directory and its files once installation is complete.'; if( !@file_put_contents($dir.'/__cmsms',$txt) ) throw new \RuntimeException('We could not create a file in the temporary directory we just created (is safe mode on?).'); $config[$key] = $dir; $this->_custom_tmpdir = $dir; $val = $dir; } $config[$key] = $val; break; case 'dest': if(!\is_dir($val) || !\is_writable($val) ) { throw new \RuntimeException('Invalid config value for '.$key.' - not a directory, or not writable'); } break; case 'nobase': case 'nofiles': case 'debug': case 'timezone': // do nothing break; } } return $config; } public function get_config() { $sess = \__appbase\session::get(); if( isset($sess['config']) ) { // already set once... so you must close and re-open the browser to reset it. return $sess['config']; } // gotta load the config, then store it in the session $config = $this->load_config(); $config = $this->check_config($config); $sess['config'] = $config; return $config; } private function set_config_val($key,$val) { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } $config[\trim($key)] = $val; $sess = \__appbase\session::get(); $sess['config'] = $config; } public function get_orig_error_level() { return $this->_orig_error_level; } public function get_orig_tz() { return $this->_orig_tz; } public function get_destdir() { $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', TRUE); } return $config['dest']; } public function set_destdir($destdir) { $this->set_config_val('dest',$destdir); } public function has_custom_destdir() { $p1 = \realpath((string)\getcwd()); $p2 = \realpath((string)$this->_custom_destdir); return ($p1 !== $p2); } public function get_archive() { return $this->_archive; } public function get_dest_version() { return $this->_dest_version; } public function get_dest_name() { return $this->_dest_name; } public function get_dest_schema() { return $this->_dest_schema; } public function get_phar() { return \Phar::running(); } public function in_phar() { $x = $this->get_phar(); if( !$x ) return FALSE; return TRUE; } public function get_nls() { if( is_array($this->_nls) ) return $this->_nls; $archive = $this->get_archive(); $archive = str_replace('\\','/',$archive); // stupid windoze if( !file_exists($archive) ) throw new \Exception(\__appbase\lang('error_noarchive')); $phardata = new \PharData($archive); $nls = array(); $found = false; $archiveBase = basename($archive); $nls['language'] = array(); $nls['alias'] = array(); $nls['htmlarea'] = array(); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { $p = \strpos($file, $archiveBase); if( $p === FALSE ) continue; $tmp = \substr($file, $p + \strlen($archiveBase)); if( \strpos($tmp, '/lib/nls/') !== 0 ) continue; if( !\preg_match('/\.nls\.php$/', $tmp) ) continue; $found = true; $name = \basename($file); $name = \trim(\substr($name, 6, \strlen($name) - 14)).'_nls'; $classname = __NAMESPACE__.'\\'.$name; if( !class_exists($classname, false) ) { include_once($file); } if( !class_exists($classname, false) ) continue; $obj = new $classname; $nls['language'][$obj->name()] = $obj->display(); $nls['htmlarea'][$obj->name()] = $obj->name(); $aliases = $obj->aliases(); if( is_array($aliases) ) { foreach( $aliases as $alias ) { $alias = trim((string) $alias); if( $alias === '' ) continue; $nls['alias'][$alias] = $obj->name(); } } } if( !$found ) throw new \Exception(\__appbase\lang('error_nlsnotfound')); $this->_nls = $nls; return $nls; } public function get_language_list() { $this->get_nls(); return $this->_nls['language']; } public function get_root_url() { $prefix = null; //if( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off' ) $prefix = 'https'; $prefix .= '//'.$_SERVER['HTTP_HOST']; // if we are putting files somewhere else, we cannot determine the root url of the site // via the $_SERVER variables. $b = $this->get_destdir(); if( $b != getcwd() ) { if( \__appbase\startswith($b,$_SERVER['DOCUMENT_ROOT']) ) $b = substr($b,strlen($_SERVER['DOCUMENT_ROOT'])); $b = str_replace('\\','/',$b); // cuz windows blows if( !\__appbase\endswith($prefix,'/') && !\__appbase\startswith($b,'/') ) $prefix .= '/'; return $prefix.$b; } $b = dirname($_SERVER['PHP_SELF']); if( $this->in_phar() ) { $tmp = basename($_SERVER['SCRIPT_NAME']); if( ($p = strpos($b,$tmp)) !== FALSE ) $b = substr($b,0,$p); } $b = str_replace('\\','/',$b); // cuz windows blows. if( !\__appbase\endswith($prefix,'/') && !\__appbase\startswith($b,'/') ) $prefix .= '/'; return $prefix.$b; } public function run() { $this->trace_runtime('run:start'); // set the languages we're going to support. $list = \__appbase\nls()->get_list(); foreach( $list as &$one ) $one = substr($one,0,-4); \__appbase\translator()->set_allowed_languages($list); // the default language. \__appbase\translator()->set_default_language('en_US'); // get the language preferred by the user (either in the request, in a cookie, or in the session) $lang = \__appbase\translator()->get_selected_language(); if( !$lang ) $lang = \__appbase\translator()->get_default_language(); // get a preferred language // set our selected language... \__appbase\translator()->set_selected_language($lang); // for every request we're gonna make sure it's not cached. //session_cache_limiter('private'); // and make sure we are in UTF-8 header('Content-Type:text/html; charset=UTF-8'); // and do our stuff. try { $tmp = 'm'.substr(md5(realpath(getcwd()).session_id()),0,8); $wizard = \__appbase\wizard::get_instance(__DIR__.'/wizard','\cms_autoinstaller'); // this sets a custom step variable for each instance // which is just one more security measure. // nobody can guess an installer URL and jump to a specific step to // nuke anything (even though database creds are stored in the session // so are all the other parameters. $wizard->set_step_var($tmp); $res = $wizard->process(); $this->trace_runtime('run:process:done'); } catch( \Throwable $e ) { $this->trace_runtime('run:error:'.get_class($e).': '.$e->getMessage()); $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); $smarty->display('error.tpl'); } } public function cleanup() { if( $this->_custom_tmpdir ) { app_utils::rrmdir($this->_custom_tmpdir); } } } // end of class <?php die('not implemented'); ?>[main] installer_version = '1.4.1'; min_upgrade_version = '1.12' ; Runtime payload locations are relative to the installer root. archive = 'data/data.tar.gz' version_file = 'data/version.php' upgrade_dir = 'app/upgrade' install_dir = 'app/install' install_profiles_dir = 'app/install_profiles' optional_dir = 'app/optional' dbtype = 'mysqli' dbhost = 'localhost' dbprefix = 'cms_' install_excludes = '/find-mime$/||/scripts\/.*$/||/\/svn.*/||/\/tests\/.*/||/\/build\/.*/||/\/tmp\/.*/' <?php global $admin_user; status_msg(ilang('install_requireddata')); $query = 'INSERT INTO '.CMS_DB_PREFIX.'version VALUES (202)'; $db->Execute($query); verbose_msg(ilang('install_setschemaver')); // // site preferences // verbose_msg(ilang('install_initsiteprefs')); cms_siteprefs::set('sitedownmessage','<p>Site is currently down for maintenance</p>'); cms_siteprefs::set('metadata',"<meta name=\"Generator\" content=\"CMS Made Simple - Copyright (C) 2004-" . date('Y') . ". All rights reserved.\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n"); cms_siteprefs::set('global_umask','022'); cms_siteprefs::set('auto_clear_cache_age',60); // cache files for only 60 days by default cms_siteprefs::set('adminlog_lifetime',3600*24*31); // admin log entries only live for 60 days. cms_siteprefs::set('allow_browser_cache',1); // allow browser to cache cachable pages cms_siteprefs::set('browser_cache_expiry',60); // browser can cache pages for 60 minutes. $mail_from = 'noreply@localhost'; if( isset($adminaccount['emailaddr']) && $adminaccount['emailaddr'] ) { $mail_from = $adminaccount['emailaddr']; } $mailprefs = array( 'mailer' => 'mail', 'host' => 'localhost', 'port' => 25, 'from' => $mail_from, 'fromuser' => 'CMS Administrator', 'sendmail' => '/usr/sbin/sendmail', 'smtpauth' => 0, 'smtpautotls' => 1, 'username' => '', 'password' => '', 'secure' => '', 'timeout' => 60, 'charset' => 'utf-8' ); cms_siteprefs::set('mailprefs',serialize($mailprefs)); cms_siteprefs::set('mail_is_set',1); // // permissions // verbose_msg(ilang('install_initsiteperms')); $all_perms = array(); $perms = array('Add Pages','Manage Groups','Add Templates','Manage Users','Modify Any Page', 'Modify Permissions','Modify Templates','Remove Pages', 'Modify Modules','Modify Files','Modify Site Preferences', 'Manage Stylesheets','Manage Designs','Modify User-defined Tags','Clear Admin Log', 'Modify Events','View Tag Help','Manage All Content','Reorder Content','Manage My Settings', 'Manage My Account', 'Manage My Bookmarks'); foreach( $perms as $one_perm ) { $permission = new CmsPermission(); $permission->source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } // // initial groups // verbose_msg(ilang('install_initsitegroups')); $admin_group = new Group(); $admin_group->name = 'Admin'; $admin_group->description = 'Members of this group can manage the entire site.'; $admin_group->active = 1; $admin_group->Save(); $editor_group = new Group(); $editor_group->name = 'Editor'; $editor_group->description = 'Members of this group can manage content'; $editor_group->active = 1; $editor_group->Save(); $editor_group->GrantPermission('Manage All Content'); $editor_group->GrantPermission('Manage My Account'); $editor_group->GrantPermission('Manage My Settings'); $editor_group->GrantPermission('Manage My Bookmarks'); $designer_group = new Group(); $designer_group->name = 'Designer'; $designer_group->description = 'Members of this group can manage stylesheets, templates, and content'; $designer_group->active = 1; $designer_group->Save(); $designer_group->GrantPermission('Add Templates'); $designer_group->GrantPermission('Manage Designs'); $designer_group->GrantPermission('Modify Templates'); $designer_group->GrantPermission('Manage Stylesheets'); $designer_group->GrantPermission('Manage All Content'); $designer_group->GrantPermission('Manage My Account'); $designer_group->GrantPermission('Manage My Settings'); $designer_group->GrantPermission('Manage My Bookmarks'); $designer_group->GrantPermission('Modify Files'); $designer_group->GrantPermission('Modify User-defined Tags'); // // initial user account // verbose_msg(ilang('install_initsiteusers')); $sitemask = cms_siteprefs::get('sitemask'); $admin_user = new User; $admin_user->username = $adminaccount['username']; if( isset($adminaccount['emailaddr']) && $adminaccount['emailaddr'] ) $admin_user->email = $adminaccount['emailaddr']; $admin_user->active = 1; $admin_user->adminaccess = 1; $admin_user->password = md5($sitemask.$adminaccount['password']); $admin_user->Save(); UserOperations::get_instance()->AddMemberGroup($admin_user->id,$admin_group->id); cms_userprefs::set_for_user($admin_user->id,'wysiwyg','MicroTiny'); // the one, and only user preference we need. // // User Tags // verbose_msg(ilang('install_initsiteusertags')); UserTagOperations::get_instance()->SetUserTag('user_agent', "//Code to show the users user agent information. echo \$_SERVER['HTTP_USER_AGENT'];", 'Code to show the user\'s user agent information'); $txt = <<<EOT //set start to date your site was published\n\$startCopyRight='2004';\n\n// check if start year is this year\nif(date('Y') == \$startCopyRight){\n// it was, just print this year\n echo \$startCopyRight;\n}else{\n// it wasnt, print startyear and this year delimited with a dash\n echo \$startCopyRight.'-'. date('Y');\n} EOT; UserTagOperations::get_instance()->SetUserTag('custom_copyright',$txt,'Code to output copyright information'); // // Events // verbose_msg(ilang('install_initevents')); Events::CreateEvent('Core','LoginPre'); Events::CreateEvent('Core','LoginAttempted'); Events::CreateEvent('Core','LoginVerified'); Events::CreateEvent('Core','LoginPost'); Events::CreateEvent('Core','LogoutPost'); Events::CreateEvent('Core','LoginFailed'); Events::CreateEvent('Core','LostPassword'); Events::CreateEvent('Core','LostPasswordReset'); Events::CreateEvent('Core','AddUserPre'); Events::CreateEvent('Core','AddUserPost'); Events::CreateEvent('Core','EditUserPre'); Events::CreateEvent('Core','EditUserPost'); Events::CreateEvent('Core','DeleteUserPre'); Events::CreateEvent('Core','DeleteUserPost'); Events::CreateEvent('Core','AddGroupPre'); Events::CreateEvent('Core','AddGroupPost'); Events::CreateEvent('Core','EditGroupPre'); Events::CreateEvent('Core','EditGroupPost'); Events::CreateEvent('Core','DeleteGroupPre'); Events::CreateEvent('Core','DeleteGroupPost'); Events::CreateEvent('Core','AddStylesheetPre'); Events::CreateEvent('Core','AddStylesheetPost'); Events::CreateEvent('Core','EditStylesheetPre'); Events::CreateEvent('Core','EditStylesheetPost'); Events::CreateEvent('Core','DeleteStylesheetPre'); Events::CreateEvent('Core','DeleteStylesheetPost'); Events::CreateEvent('Core','AddTemplatePre'); Events::CreateEvent('Core','AddTemplatePost'); Events::CreateEvent('Core','EditTemplatePre'); Events::CreateEvent('Core','EditTemplatePost'); Events::CreateEvent('Core','DeleteTemplatePre'); Events::CreateEvent('Core','DeleteTemplatePost'); Events::CreateEvent('Core','AddTemplateTypePre'); Events::CreateEvent('Core','AddTemplateTypePost'); Events::CreateEvent('Core','EditTemplateTypePre'); Events::CreateEvent('Core','EditTemplateTypePost'); Events::CreateEvent('Core','DeleteTemplateTypePre'); Events::CreateEvent('Core','DeleteTemplateTypePost'); Events::CreateEvent('Core','AddDesignPre'); Events::CreateEvent('Core','AddDesignPost'); Events::CreateEvent('Core','EditDesignPre'); Events::CreateEvent('Core','EditDesignPost'); Events::CreateEvent('Core','DeleteDesignPre'); Events::CreateEvent('Core','DeleteDesignPost'); Events::CreateEvent('Core','TemplatePreCompile'); Events::CreateEvent('Core','TemplatePreFetch'); Events::CreateEvent('Core','TemplatePostCompile'); Events::CreateEvent('Core','ContentEditPre'); Events::CreateEvent('Core','ContentEditPost'); Events::CreateEvent('Core','ContentDeletePre'); Events::CreateEvent('Core','ContentDeletePost'); Events::CreateEvent('Core','AddUserDefinedTagPre'); Events::CreateEvent('Core','AddUserDefinedTagPost'); Events::CreateEvent('Core','EditUserDefinedTagPre'); Events::CreateEvent('Core','EditUserDefinedTagPost'); Events::CreateEvent('Core','DeleteUserDefinedTagPre'); Events::CreateEvent('Core','DeleteUserDefinedTagPost'); Events::CreateEvent('Core','ModuleInstalled'); Events::CreateEvent('Core','ModuleUninstalled'); Events::CreateEvent('Core','ModuleUpgraded'); Events::CreateEvent('Core','ContentPreCompile'); Events::CreateEvent('Core','ContentPostCompile'); Events::CreateEvent('Core','ContentPreRender'); // 2.2 Events::CreateEvent('Core','ContentPostRender'); Events::CreateEvent('Core','SmartyPreCompile'); Events::CreateEvent('Core','SmartyPostCompile'); Events::CreateEvent('Core','ChangeGroupAssignPre'); Events::CreateEvent('Core','ChangeGroupAssignPost'); Events::CreateEvent('Core','StylesheetPreCompile'); Events::CreateEvent('Core','StylesheetPostCompile'); Events::CreateEvent('Core','StylesheetPostRender'); $create_private_dir = function($relative_dir) { $app = \__appbase\get_app(); $destdir = $app->get_destdir(); $relative_dir = trim($relative_dir); if( !$relative_dir ) return; $dir = $destdir.'/'.$relative_dir; if( !is_dir($dir) ) { @mkdir($dir,0777,true); } @touch($dir.'/index.html'); }; /* $move_directory_files = function($srcdir,$destdir) { $srcdir = trim($srcdir); $destdir = trim($destdir); if( !is_dir($srcdir) ) return; $files = glob($srcdir.'/*'); if( !count($files) ) return; foreach( $files as $src ) { $bn = basename($src); $dest = $destdir.'/'.$bn; rename($src,$dest); } @touch($dir.'/index.html'); }; */ // create the assets directory structure verbose_msg(ilang('install_createassets')); $create_private_dir('uploads'); $create_private_dir('assets/templates'); $create_private_dir('assets/configs'); $create_private_dir('assets/admin_custom'); $create_private_dir('assets/module_custom'); $create_private_dir('assets/plugins'); $create_private_dir('assets/images'); $create_private_dir('assets/css'); <?php if (isset($CMS_INSTALL_CREATE_TABLES)) { $table_ids = array( 'additional_users' => array('id' => 'additional_users_id'), 'admin_bookmarks' => array('id' => 'bookmark_id'), 'content' => array('id' => 'content_id'), 'content_props' => array('id' => 'content_id'), 'events' => array('id' => 'event_id'), 'event_handlers' => array('id' => 'handler_id', 'seq' => 'event_handler_seq'), 'group_perms' => array('id' => 'group_perm_id'), 'groups' => array('id' => 'group_id'), 'users' => array('id' => 'user_id'), 'userplugins' => array('id' => 'userplugin_id'), 'permissions' => array('id' => 'permission_id') ); status_msg(ilang('install_update_sequences')); foreach ($table_ids as $tablename => $tableinfo) { $sql = 'SELECT COALESCE(MAX(?),0) AS maxid FROM '.CMS_DB_PREFIX.$tablename; $max = $db->GetOne($sql,array($tableinfo['id'])); $tableinfo['seq'] = isset($tableinfo['seq']) ? $tableinfo['seq'] : $tablename . '_seq'; verbose_msg(ilang('install_updateseq',$tableinfo['seq'])); $db->CreateSequence(CMS_DB_PREFIX.$tableinfo['seq'], $max); } } # vim:ts=4 sw=4 noet ?> <?php global $admin_user; // // Themes // // minimal theme has the minimal template, and no styesheets. verbose_msg(ilang('install_default_collections')); $minimal_theme = new CmsLayoutCollection(); $minimal_theme->set_name('Minimal'); // id = 19 $minimal_theme->set_description('Minimal templates and stylesheets'); $minimal_theme->save(); $simplex_theme = new CmsLayoutCollection(); $simplex_theme->set_name('Simplex'); $simplex_theme->set_description('Simplex Template is a HTML5 based theme, introduced with CMSMS 1.11 release and improved with 2.0 release. Purpose of this theme is to demonstrate what and how can be done with CMSMS Templates using HTML5 and responsive CSS for a better mobile experience. All Smarty templates which are used by Simplex Theme are prefix with "Simplex", therefore be careful when renaming or deleting these templates. Theme itself is using jQuery, which is included with {cms_jquery} tag, the functions JavaScript file is minified, in case you wish to change some JavaScript functions, refer to /uploads/simplex/js/functions.js file and replace functions.min.js file.'); $simplex_theme->set_default(TRUE); $simplex_theme->save(); $css_menuleft_1col_theme = new CmsLayoutCollection(); $css_menuleft_1col_theme->set_name('CSSMenu left + 1 column'); $css_menuleft_1col_theme->set_description('This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn\'t a whole lot to say about it.'); $css_menuleft_1col_theme->save(); $css_menutop_2col_theme = new CmsLayoutCollection(); $css_menutop_2col_theme->set_name('CSSMenu top + 2 columns'); $css_menutop_2col_theme->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $css_menutop_2col_theme->save(); $leftsimple_1col_theme = new CmsLayoutCollection(); $leftsimple_1col_theme->set_name('Left simple navigation + 1 column'); $leftsimple_1col_theme->set_description('This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.'); $leftsimple_1col_theme->save(); $ncleanblue_theme = new CmsLayoutCollection(); $ncleanblue_theme->set_name('NCleanBlue'); $ncleanblue_theme->set_description('This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.'); $ncleanblue_theme->save(); $shadowmenu_left_1col_theme = new CmsLayoutCollection(); $shadowmenu_left_1col_theme->set_name('ShadowMenu left + 1 column'); $shadowmenu_left_1col_theme->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $shadowmenu_left_1col_theme->save(); $shadowmenu_tab_2col_theme = new CmsLayoutCollection(); $shadowmenu_tab_2col_theme->set_name('ShadowMenu Tab + 2 columns'); $shadowmenu_tab_2col_theme->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $shadowmenu_tab_2col_theme->save(); $topsimple_leftsubnav_1col_theme = new CmsLayoutCollection(); $topsimple_leftsubnav_1col_theme->set_name('Top simple navigation + left subnavigation + 1 column'); $topsimple_leftsubnav_1col_theme->set_description('With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.'); $topsimple_leftsubnav_1col_theme->save(); // // Types // verbose_msg(ilang('install_templatetypes')); $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $gcb_template_type->save(); // // Template Categories // // // Templates // $template_list = array(); verbose_msg(ilang('install_templates')); $gcb = new CmsLayoutTemplate(); $gcb->set_name('footer'); $gcb->set_type($gcb_template_type); $gcb->set_owner(1); $gcb->set_content(default_profile_read_asset('generic/footer.tpl')); $gcb->save(); $css_menuleft_1col_theme->add_template($gcb); $css_menutop_2col_theme->add_template($gcb); $leftsimple_1col_theme->add_template($gcb); $ncleanblue_theme->add_template($gcb); $shadowmenu_left_1col_theme->add_template($gcb); $shadowmenu_tab_2col_theme->add_template($gcb); $topsimple_leftsubnav_1col_theme->add_template($gcb); $template_list[$gcb->get_name()] = $gcb->get_id(); $txt = default_profile_read_asset('templates/minimal.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Minimal'); $template->set_owner(1); $template->set_content($txt); $template->set_description('A Simple, minimal page template'); $template->set_type($page_template_type); $template->add_design($minimal_theme); $template->save(); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/cssmenu_left_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('CSSMenu left + 1 column'); // id = 15 $template->set_owner(1); $template->set_content($txt); $template->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $template->set_type($page_template_type); $template->save(); $css_menuleft_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/cssmenu_top_2col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('CSSMenu top + 2 columns'); // id = 16 $template->set_owner(1); $template->set_content($txt); $template->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $template->set_type($page_template_type); $template->save(); $css_menutop_2col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/leftsimple_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Left simple navigation + 1 column'); // id = 17 $template->set_owner(1); $template->set_content($txt); $template->set_description('This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.'); $template->set_type($page_template_type); $template->save(); $leftsimple_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/topsimple_leftsubnav_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Top simple navigation + left subnavigation + 1 column'); // id = 18 $template->set_owner(1); $template->set_content($txt); $template->set_description('With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.'); $template->set_type($page_template_type); $template->save(); $topsimple_leftsubnav_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/shadowmenu_tab_2col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('ShadowMenu Tab + 2 columns'); // id = 20 $template->set_owner(1); $template->set_content($txt); $template->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $template->set_type($page_template_type); $template->save(); $shadowmenu_tab_2col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/shadowmenu_left_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('ShadowMenu left + 1 column'); // id = 21 $template->set_owner(1); $template->set_content($txt); $template->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $template->set_type($page_template_type); $template->save(); $shadowmenu_left_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/ncleanblue.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('NCleanBlue'); // id = 22 $template->set_owner(1); $template->set_content($txt); $template->set_description('This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.'); $template->set_type($page_template_type); $template->save(); $ncleanblue_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/simplex.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Simplex'); $template->set_owner($admin_user->id); $template->set_content($txt); $template->set_description('A HTML5 based responsive template'); $template->set_type($page_template_type); $template->set_type_dflt(TRUE); $template->save(); $simplex_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('generic/simplex_slideshow.tpl'); $gcb_sx_slideshow = new CmsLayoutTemplate(); $gcb_sx_slideshow->set_name('Simplex Slideshow'); $gcb_sx_slideshow->set_type($gcb_template_type); $gcb_sx_slideshow->set_owner($admin_user->id); $gcb_sx_slideshow->set_description('A sample slider for Simplex Theme. Note: required jQuery Framework is already included at the bottom of Simplex Page Template. If any of Modules that you are going to use requires or adds additional jQuery Framework, remember to either remove jQuery Framework from Module template (for example Gallery module) or to move {cms_jquery} tag in Simplex Page Template to <head> section of template if needed. All current Browser come with some kind of Developer Tools (usually F12 key) or you can also install Firebug in Firefox or Chrome, if some JavaScript function doesn\'t work your first step would be to open Developer Tools and look into console errors.'); $gcb_sx_slideshow->set_content($txt); $gcb_sx_slideshow->save(); $simplex_theme->add_template($gcb_sx_slideshow); $txt = default_profile_read_asset('generic/simplex_footer.tpl'); $gcb_sx_footer = new CmsLayoutTemplate(); $gcb_sx_footer->set_name('Simplex Footer'); $gcb_sx_footer->set_type($gcb_template_type); $gcb_sx_footer->set_owner($admin_user->id); $gcb_sx_footer->set_description('Custom footer section template for Simplex Theme'); $gcb_sx_footer->set_content($txt); $gcb_sx_footer->save(); $simplex_theme->add_template($gcb_sx_footer); // // Stylesheets // $css_list = array(); verbose_msg(ilang('install_stylesheets')); $txt = default_profile_read_asset('stylesheets/handheld.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Handheld'); $css->set_description('Stylesheet for older mobile devices'); $css->set_content($txt); $css->set_media_types('handheld'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/print.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Print'); $css->set_description('Default stylesheet for print devices'); $css->set_content($txt); $css->set_media_types('print'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/accessibility_crossbrowser.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Accessibility and cross-browser tools'); $css->set_description('Accessibility and cross-browser CSS rules attached to multiple Themes'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/layout_left_sidebar_1col.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout Left sidebar + 1 column'); $css->set_description('CSS rules used for Layout Left sidebar + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_cssmenu_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation CSSMenu - Vertical'); $css->set_description('Navigation CSS rules used in CSSMenu left + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_cssmenu_horizontal.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation CSSMenu - Horizontal'); $css->set_description('Navigation CSS rules used in CSSMenu top + 2 columns Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/module_news.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Module News'); $css->set_description('Default News module CSS rules used in multiple Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_simple_horizontal.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation Simple - Horizontal'); $css->set_description('Navigation CSS rules used in Top simple navigation + left subnavigation + 1 column and Left simple navigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/layout_top_menu_2col.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout Top menu + 2 columns'); $css->set_description('Navigation CSS rules used in CSSMenu top + 2 columns, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_simple_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation Simple - Vertical'); $css->set_description('Navigation CSS rules used in Left simple navigation + 1 column and Top simple navigation + left subnavigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_shadowmenu_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation ShadowMenu - Vertical'); $css->set_description('Navigation CSS rules used in ShadowMenu left + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_fatfootmenu.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation FatFootMenu'); $css->set_description('Footer navigation CSS rules used in CSSMenu left + 1 column, CSSMenu top + 2 columns, Left simple navigation + 1 column, ShadowMenu left + 1 column, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_core.css'); $css = new CmsLayoutStylesheet(); $css->set_name('ncleanbluecore'); $css->set_description('Grid CSS rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_utils.css'); $css = new CmsLayoutStylesheet(); $css->set_name('ncleanblueutils'); $css->set_description('Reset and browser helper CSS style rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_layout.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout NCleanBlue'); // id = 49 $css->set_description('Main layout rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_core.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Core'); $css->set_description('Simplex Theme core Stylesheet, containing 12 column grid system and HTML5 resets (normalize.css)'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_layout.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Layout'); $css->set_description('Simplex Theme main layout Stylesheet'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_slideshow.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Slideshow'); $css->set_description('Simplex Theme Stylesheet for header slideshow'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_print.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Print'); // id = 52 $css->set_description('Default Print style rules attached to Simplex Design'); $css->set_content($txt); $css->set_media_types('print'); $css->save(); $css_list[$css->get_name()] = $css; // now attach stylesheets to the themes. verbose_msg(ilang('install_attachstylesheets')); $css_menuleft_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Navigation CSSMenu - Vertical']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Print']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $css_menuleft_1col_theme->save(); $css_menutop_2col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Navigation CSSMenu - Horizontal']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Module News']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Print']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $css_menutop_2col_theme->save(); $leftsimple_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Navigation Simple - Vertical']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Handheld']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Print']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $leftsimple_1col_theme->save(); $ncleanblue_theme->add_stylesheet($css_list['ncleanblueutils']->get_id()); $ncleanblue_theme->add_stylesheet($css_list['ncleanbluecore']->get_id()); $ncleanblue_theme->add_stylesheet($css_list['Layout NCleanBlue']->get_id()); $ncleanblue_theme->save(); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Navigation ShadowMenu - Vertical']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Print']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $shadowmenu_left_1col_theme->save(); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Navigation ShadowMenu - Horizontal']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Module News']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Print']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $shadowmenu_tab_2col_theme->save(); $simplex_theme->add_stylesheet($css_list['Simplex Print']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Core']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Layout']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Slideshow']->get_id()); $simplex_theme->save(); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation Simple - Horizontal']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation Simple - Vertical']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Module News']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Print']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']); $topsimple_leftsubnav_1col_theme->save(); $content_list = array(); ContentOperations::get_instance()->LoadContentType('content'); ///////////////////////// // // HOME PAGE // // ///////////////////////// verbose_msg(ilang('install_createcontentpages')); // Home / -1 / NCleanBlue DEFAULT $contentobj = new Content; $contentobj->SetName('Home'); $contentobj->SetAlias(); $contentobj->SetMenuText('Home'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetDefaultContent(TRUE); // this is the default page. $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you mentioned during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don\'t have to leave a link back to us in these templates or on your site as much as we would like it.</p><p> Some third party add-on modules may include additional license restrictions.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////// // // HOW CMSMS WORKS // // /////////////////////////////// // How CMSMS Works / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('How CMSMS Works'); $contentobj->SetAlias(); $contentobj->SetMenuText('How CMSMS Works'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.</p><p>You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.</p><p>That doesn\'t sound too hard, does it? Basically you don\'t need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some <a class="external" href="http://www.w3schools.com/css/" target="_blank">CSS</a>.</p><p>In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Templates and stylesheets / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Templates and stylesheets'); $contentobj->SetAlias(); $contentobj->SetMenuText('Templates and stylesheets'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>A <em>template</em> is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn\'t need any web design skills.</p><p>In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.</p><p>The template is the HTML structure. It is then styled in one or more <em>style sheets</em> that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don\'t worry, there are themes with ready-made templates and style sheets for you to download!</p><p>When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section {cms_selflink page=default_templates text=\'Default Templates Explained\'}. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at <a class="external" href="http://themes.cmsmadesimple.org" target="_blank">The CMSMS Themes site</a>.</p><h3>Templates and style sheets in the CMSMS Admin Panel</h3><p>In the CMSMS Admin Panel you will find the templates and style sheets in the <strong>Layout</strong> menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Pages and navigation'); $contentobj->SetAlias(); $contentobj->SetMenuText('Pages and navigation'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.</p><h3>Navigation/Menu</h3><p>The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.</p><p>Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.</p><p>The page template determines where on a page the navigation is placed.</p><p>You can create any kind of navigation you can dream of by customizing a menu template for <em>Menu Manager</em>. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is <a class="external" href="http://css.maxdesign.com.au/listutorial/index.htm" target="_blank">listutorial at maxdesign</a></p><h3>Pages in the CMSMS Admin Panel</h3><p>You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Content / How CMSMS Works / Left simple navigation + 1 column // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Content'); $contentobj->SetAlias(); $contentobj->SetMenuText('Content'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.</p><p>A template can define one or several content areas, or content blocks. To add more content blocks to your template, use <code>{ldelim}content block=\'block name\'}</code>. These blocks will then appear as text areas when you edit or add a page that uses that template.</p><p>You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: <code>{ldelim}content block=\'block name\' oneline=true}</code>. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.</p><h3>Content Types</h3><p>There are currently 6 main content types in version {cms_version} "{cms_versionname}". These content types determine the type of content for each menu item.</p><ul><li>Content</li><li>Error Page</li><li>External Page Link</li><li>Internal Page Link</li><li>Section Header</li><li>Separator</li></ul><p>The <strong>Content</strong> type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each <strong>content</strong> page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.</p><p>The <strong>Error Page</strong> type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.</p><p>The <strong>External Page Link</strong> type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This <strong>external page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type.</p><p>The <strong>Internal Page Link</strong> type is also just what it sounds like, a link to another internal page. This <strong>internal page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.</p><p>The <strong>Section Header</strong> type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.</p><p>The <strong>Separator</strong> type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / How CMSMS Works / Left simple navigation + 1 column17 $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Menu Manager is a module that reads your page hierarchy and builds a navigation using a \'Menu Manager Template\'. By default a few sample menu manager templates are included with your default installation. For most users these are enough, as a menu basically is just an unordered list that is styled with CSS.</p><p>The Menu Manager module also accepts various optional attributes (parameters) in the {ldelim}menu{rdelim} tag to allow you to customize its behavior. You can see the list and explanation of these parameters in the Menu Manager Help which can be found on the right side of the screen when you click on "Layout » Menu Manager" in the administration console.</p><p>Customizing templates in the Menu Manager is as simple as clicking the \'Import Template to Database\' button, which will then allow you to create a template with a new name, and modify the layout of the template. You can use your new navigation template by specifying the new name in the call to {ldelim}menu{rdelim} in your page template. i.e: {ldelim}menu template=\'mynewtemplate\'{rdelim}.</p><h3>Menu Manager in the CMSMS Admin Panel</h3><p>Read more about how to do this in the <strong>Help</strong> for the Menu Manager in the CMSMS Admin Panel. It can be found in the Layout menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Extensions / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are three kinds of extensions, that can add many kinds of functionality to your default CMS Made Simple install. They are called tags, user defined tags, and modules.</p><h3>Tags</h3><p>Tags are the simplest form of extensions. They are designed to accomplish just one small and specific task.</p><p>There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look in Extensions » Tags in the Admin Panel.</p><p>To insert any of these in a template or a page, simply type e.g. <code>{ldelim}content}</code>. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc.</p><p>Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.</p><h3>User defined tags</h3><p>Users can also create their own tags to insert in templates or pages., these are called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality to your site. User defined tags are inserted in templates and pages just like tags: <code>{ldelim}tagname}</code>.</p><p>Typically, user defined tags provide a utility that is special to a website, and likely won\'t need to be re-used on another site. Also they are typically small and used for simple tasks.</p><h3>Modules</h3><p>Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.</p><p>An extremely well defined API <em>(Application Programming Interface)</em> has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.</p><p>There are {cms_selflink page=\'modules\' text=\'a few modules included\'} with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.</p><p>The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.</p><p>To insert modules in a template or a page, you actually use the module name as a parameter to the <code>{ldelim}cms_module}</code> tag. It looks like this: <code>{ldelim}cms_module module=\'modulename\' parameter1=\'this\' parameter2=5 parameter3=\'that\'}</code>. It is normal for modules to accept parameters to effect changes to their default behavior, though it is not always required.</p><h3>Read more</h3><p>You can read more about extensions in the <a class="external" href="http://docs.cmsmadesimple.org/modules/add-ons">CMSMS documentation</a>.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Event Manager / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Event Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Event Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.</p><p>In brief here\'s how it works:</p><p>a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there\'s some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.</p><p>b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.</p><p>c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Workflow / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Workflow'); $contentobj->SetAlias(); $contentobj->SetMenuText('Workflow'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>These are the basic steps when creating a website with CMS Made Simple:</p><ol><li><em>Plan</em> -- Determine what pages you want (structure) and how you want these pages to look (design). </li><li><em>Create Templates</em> -- Create one or several template(s) that determine the layout of your pages. </li><li><em>Style the Templates</em> -- Attach one or more stylesheets to each template and style the layout and content with CSS. </li><li><em>Create Pages</em> -- Then you create pages, add content to them and select what template to use for each page. </li></ol><p>When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Where do I get Help / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Where do I get help?'); $contentobj->SetAlias(); $contentobj->SetMenuText('Where do i get help?'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:</p><ul><li><a class="external" href="http://docs.cmsmadesimple.org/">The CMSMS Documentation Website</a> -- Start here, the documentation is maintained by the CMSMS Dev-team</li><li><a class="external" href="http://forum.cmsmadesimple.org/">The CMSMS Forums</a> -- here you can search for answers to your questions or ask just about anything.</li><li><a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.</li></ul><p>Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.</p><p>Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on <a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> or hit the <a class="external" href="http://forum.cmsmadesimple.org/">forums</a> to get involved.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////////////////// // // DEFAULT TEMPLATES EXPLAINED // // /////////////////////////////////////////// // Default Templates Explained / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Templates Explained'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Templates Explained'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('default_templates'); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>CMS Made Simple {cms_version} was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.</p><p>The tags that are unique to templates in CMS Made Simple are described on the page {cms_selflink page=\'cmsms_tags\' text=\'CMSMS tags in the templates\'} (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.</p><h4>Changing the style of Default Templates</h4><p>All of the templates and style sheets have comments throughout them to help you find where to change the look of them.</p><h3>Menus/navigation</h3><p>Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. <strong>CSSMenu </strong>is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation, {cms_selflink page=\'cssmenu_horizontal\' text=\'one with the menu horizontally at the top\'} and the other {cms_selflink page=\'cssmenu_vertical\' text=\'with the menu vertically to the left\'}.</p><p>The other navigation type is what we call <strong>Simple Navigation</strong>. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here {cms_selflink page=\'top_left\' text=\'one page template is using a horizontal simple navigation\'} and the other {cms_selflink page=\'navleft\' text=\'a vertical menu\'}.</p><p>The menu tag in each template is used like this: <code>{ldelim}menu template=\'cssmenu\'}</code>, where the <code>cssmenu</code> is the name of the Menu Manager template, if you make a custom menu template you don\'t need to use the on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CMSMS tags in the templates / Default Templates Exlplained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('CMSMS tags in the templates'); $contentobj->SetAlias(); $contentobj->SetMenuText('CMSMS tags in the templates'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('cms_tags'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the <a class="external" href="http://docs.cmsmadesimple.org/layout/create-your-own-template">documentation website</a>.</p><div class="templatecode"><h3>Page title</h3><pre><title>{ldelim}sitename} - {ldelim}title}</title></pre><p>For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.</p><p><em>Read more</em> about the <code>{ldelim}sitename}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Metadata</h3><pre>{ldelim}metadata}</pre><p>This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.</p><p>It is also used for knowing the base folder for your site when using pretty URLs. So don\'t remove this if you use Pretty URLs!</p><p><em>Read more</em> about the <code>{ldelim}metadata}</code>tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets (deprecated)</h3><pre>{ldelim}stylesheet}</pre><p>This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p><em>Read more</em> about the <code>{ldelim}stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets</h3><pre>{ldelim}cms_stylesheet}</pre><p>This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p>The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.</p><p><em>Read more</em> about the <code>{ldelim}cms_stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Relational links</h3><pre>{ldelim}cms_selflink dir="start" rellink=1}{ldelim}cms_selflink dir="prev" rellink=1}{ldelim}cms_selflink dir="next" rellink=1}</pre><p>These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page width in Internet Explorer 6</h3><pre>{ldelim}literal}<script type="text/JavaScript"><!--//pass min and max -measured against window widthfunction P7_MinMaxW(a,b){ldelim} var nw="auto",w=document.documentElement.clientWidth; if(w>=b){ldelim}nw=b+"px";}if(w<=a){ldelim}nw=a+"px";}return nw;}//--></script><!--[if lte IE 6]><style type="text/css">#pagewrapper {ldelim}width:expression(P7_MinMaxW(720,950));}#container {ldelim}height: 1%;}</style><![endif]-->{ldelim}/literal}</pre><p>This isn\'t a tag really, but displays how to insert JavaScript in a CMSMS template.</p><p>The default templates use fluid page width. But Internet Explorer 6 doesn\'t understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout ..."</p></div><div class="templatecode"><h3>Skip links for accessibility</h3><pre>{ldelim}anchor anchor=\'main\' title=\'Skip to content\' accesskey=\'s\' text=\'Skip to content\'}</pre><p>Anchor links (links to an anchor in the same page) are inserted with the <code>{ldelim}anchor}</code> tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.</p><p><em>Read more</em> about the <code>{ldelim}anchor}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Header with logo image that links to default page</h3><pre>{ldelim}cms_selflink dir="start" text="$sitename"}</pre><p>In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The <code>dir="start"</code> parameter in the {ldelim}cms_selflink} tag is used for this. To get the site name as the text for the link, the <code>$sitename</code> variable is used.</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Search</h3><pre>{ldelim}search}</pre><p>To insert a search form on your site, simply use the {ldelim}search} tag. Search is actually a module and should therefore be called as a parameter in the {ldelim}cms_module} tag, like this: <code>{ldelim}cms_module module=\'search\'}</code>. But to simplify matters, we did a wrapper tag so that it\'s easier to remember.</p><p><em>Read more</em> about the Search module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>Breadcrumbs</h3><pre>{ldelim}breadcrumbs starttext=\'You are here\' root=\'Home\' delimiter=\'»\'}</pre><p>Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text \'You are here\' before the path and force \'Home\' to always be the root in the path, even if it isn\'t. With the delimiter parameter you can select the delimiter that separates entries in the path.</p><p><em>Read more</em> about the <code>{ldelim}breadcrumbs}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Navigation</h3><pre>{ldelim}menu template=\'simple navigation\' collapse=\'1\'}</pre><p>This is how you insert a menu where you want it to appear. Like the <code>{ldelim}search}</code> tag, this is actually just a wrapper tag, as the Menu Manager is a module.</p><p>In the default templates the menu manager template that is used for the menus are stored in files. That\'s why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.</p><p><em>Read more</em> about the Menu Manager module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>News</h3><pre>{ldelim}news number=\'3\' detailpage=\'news\'}</pre><p>This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias \'news\'. That\'s what the detailpage parameter is doing.</p><p>Like all core modules there is a wrapper tag for the News module, to make it easier to use.</p><p><em>Read more</em> about the News module tag in Extensions » News in the Admin Panel.</p></div><div class="templatecode"><h3>Print button</h3><pre>{ldelim}print showbutton=true script=true}</pre><p>The <code>{ldelim}print}</code> tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.</p><p>The <code>{ldelim}print}</code> tag prints everything that is in your <code>{ldelim}content}</code> tag, that is only the content for a page.</p><p><em>Read more</em> about the <code>{ldelim}print}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page content</h3><pre><h2>{ldelim}title}</h2>{ldelim}content}</pre><p>Maybe the most important tag in your template. Where you put the <code>{ldelim}content}</code> is where the content for your page will appear.</p><p>We have also chosen to put the page title on every page (the <code>{ldelim}title}</code> tag), so that you don\'t have to put that in the content for every page.</p><p>The default <code>{ldelim}content}</code> tag is <strong>required</strong> for all templates.</p><p><em>Read more</em> about the <code>{ldelim}content}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Previous/next links</h3><pre>{ldelim}anchor anchor=\'main\' text=\'^ Top\'}{ldelim}cms_selflink dir="previous"}{ldelim}cms_selflink dir="next"}</pre><p>Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).</p></div><div class="templatecode"><h3>Page footer</h3><pre>{ldelim}global_content name=\'footer\'}</pre><p>Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the <code>{ldelim}global_content}</code> tag. It\'s also useful for content or HTML code that is reused on several pages or templates.</p><p>In the default templates we have put the footer text in a Global Content Block with the name \'footer\'. You find the Global Content Blocks in the Content menu in the Admin Panel.</p><p><em>Read more</em> about the <code>{ldelim}global_content}</code> tag in Extensions » Tags in the Admin Panel.</p></div>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Left simple navigation + 1 column / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Left simple navigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Left simple navigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('navleft'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This template has the menu in left sidebar. The menu is using the <strong>Simple Navigation</strong> menu template. It is styled in the stylesheet called <strong>Navigation Simple - Vertical</strong>.</p><p>You can easily float the sidebar with the menu to the right instead. Look in the <strong>Layout Left sidebar + 1 column</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Top simple navigation + left subnavigation + 1 column / Default Templates Explained / Top simple navigation + left subnavigation + 1 column $contentobj = new Content; $contentobj->SetName('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$topsimple_leftsubnav_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Top simple navigation + left subnavigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('top_left'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to <strong>Default Templates Explained</strong>.</p><h3>The {ldelim}menu} tag</h3><p>The <code>{ldelim}menu}</code> tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: <code>{ldelim}menu template=\'Simple Navigation\' number_of_levels=\'1\'}</code>.</p><p>The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.</p><p>The tag for the sub navigation looks like this: <code>{ldelim}menu template=\'simple_navigation.tpl\' start_level=\'2\' collapse=\'1\'}</code>.</p><h3>Attached style sheets for the menu</h3><p>As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. <strong>Navigation Simple - Horizontal</strong> is for styling the horizontal main menu. <strong>Navigation Simple - Vertical</strong> on the other hand, contains the style for the sub navigation to the left.</p><h3>Both using the same Menu Manager template</h3><p>However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.</p><h3>Floating the sidebar to the right</h3><p>You can easily float the sidebar with the sub navigation to the right instead. Look in the <strong>Layout Top menu + 2 columns</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu top + 2 columns / Default Templates Explained / CSSMenu top + 2 columns $contentobj = new Content; $contentobj->SetName('CSSMenu top + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu top + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menutop_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu top + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetAlias('cssmenu_horizontal'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.</p><p>The code we have inserted in the template that this page is using is simply <code>{ldelim}menu template=\'cssmenu.tpl\'}</code>. You style the menu in the stylesheet <strong>Navigation CSSMenu - Horizontal</strong> or <strong>Navigation CSSMenu - Vertical</strong> for the vertical CSSMenu.</p><p>But to be on the safe side, copy this style sheet and attach your new style sheet to the template instead (and make your changes in your new style sheet). Then you can always revert to the default style sheet if something goes wrong.</p>'); $contentobj->SetPropertyValue('Sidebar', '<p>Just some test content goes here as an example of a very long sentence that probably should have been divided into several smaller sentences, were it not for this just being a test sentence on one of the default pages of CMS Made Simple, an excellent Content Management System for easily creating web sites, this sentence is added when adding/editing a page in the Sidebar: text area, this comes from the template place holder {ldelim}content block=\'Sidebar\'}.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu left + 1 column / Default Templates Explained / CSSMenu left + 1 column $contentobj = new Content; $contentobj->SetName('CSSMenu left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menuleft_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu left + 1 column']); $contentobj->SetAlias('cssmenu_vertical'); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn\'t a whole lot to say about it.</p><h3>Filler Text</h3><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut ac leo in lorem ultricies sollicitudin. Vivamus molestie elit nec nulla. Suspendisse potenti. Suspendisse at lorem. Donec pulvinar, magna eget molestie pretium, justo sem iaculis urna, eget condimentum nibh augue pellentesque arcu. Integer tristique tempor mauris. Sed justo orci, commodo volutpat, sagittis vitae, varius vitae, massa. Maecenas pede ligula, iaculis sit amet, pharetra eu, adipiscing consectetuer, eros. Duis ullamcorper nisl ac magna. Nunc neque dolor, posuere dapibus, convallis non, tristique sed, nibh. Suspendisse quis leo. Phasellus pretium erat ut purus. Duis facilisis consectetuer sapien. Nulla eget pede ut nisl faucibus consequat. Quisque erat lectus, luctus in, pellentesque ac, adipiscing eu, enim. Donec ultrices laoreet urna.</p><h3>Subheading</h3><p>Vestibulum vitae tellus. Fusce quis ligula. Cras mi. Mauris congue, lacus eget rhoncus venenatis, mi nunc volutpat nisl, ut ornare erat augue quis mauris. Nulla in sem. Donec semper odio ac ante. Cras a libero in risus mattis commodo. Phasellus pellentesque lectus. Donec a mi. Integer euismod neque at arcu. Morbi ligula nulla, dapibus nec, fermentum ut, tristique vel, pede. Morbi at diam. Vestibulum quam. Cras consectetuer wisi id neque. Etiam dictum vulputate ligula. Aliquam erat volutpat. Proin vitae lorem in justo imperdiet nonummy. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse leo. Sed in eros ut lectus lacinia condimentum.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Minimal template / Default Templates Explained / Minimal template $contentobj = new Content; $contentobj->SetName('Minimal template'); $contentobj->SetAlias(); $contentobj->SetMenuText('Minimal template'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$minimal_theme->get_id()); $contentobj->SetTemplateId($template_list['Minimal']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is an example of the very minimal that needs to be in a CMSMS template. No stylesheet is attached to the template, which is why it doesn\'t look very nice...</p><p>However, to make it slightly more appealing, some inline styling was used, for floating the content to the right of the menu.</p><p>The menu in this page template is using the <strong>Minimal Navigation</strong> template for Menu Manager. No accessibility stuff is in there, so it\'s recommended that the <strong>Simple Navigation</strong> menu template is rather used.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Higher End / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Higher End'); $contentobj->SetAlias(); $contentobj->SetMenuText('Higher End'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>These are more complex then some of the other templates, especially the menus, they all 3 use the same menu template. Which shows you the power of CSS.</p><p>Be forewarned, if you use IE6 you won\'t see the best effects in any of the shadow menus that you see using a more standards compliant browser. I mean it\'s still nice grant you but... just upgrade your browser if you can.</p><h3>The Differences</h3><p>Starting with NCleanBlue you get a really nice, subtle Tabbed menu, then it goes on to have a real nice drop down effect.</p><p>You get a real nice 2.0 header and footer, great color scheme and the search is way cool, it\'s just a great theme, what can I say, thanks Nuno.</p><p>Then the next 2 submenus have another version of the shadowed drop, the first step will point up for the top sub menu and to the right for the left sub menus.</p><p>These 2 are the same layout as CSSMenu top + 2 columns and CSSMenu left + 1 column, respectively, except for the menu template and some CSS.</p><p>We hope you enjoy these, for any changes you want to make it\'s always best to copy the original style sheet for safe keeping, you never know when you may need it.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // NCleanBlue / Higher End / NCleanBlue $contentobj = new Content; $contentobj->SetName('NCleanBlue'); $contentobj->SetAlias(); $contentobj->SetMenuText('NCleanBlue'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$ncleanblue_theme->get_id()); $contentobj->SetTemplateId($template_list['NCleanBlue']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Nuno has graciously supplied us with another of his great looking designs.</p><p>This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">&nbsp; </li> this is used to hold the bottom image.</p><h3>Filler Text</h3><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu Tab + 2 columns / Higher End / ShadowMenu Tab + 2 columns $contentobj = new Content; $contentobj->SetName('ShadowMenu Tab + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Tab + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_tab_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu Tab + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); $contentobj->SetPropertyValue('Sidebar', '<h4>Filler Text</h4><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras sodales gravida est. Nullam enim ipsum, convallis quis, iaculis quis, facilisis eu, felis. Proin euismod hendrerit tortor. Aliquam erat volutpat. Morbi tempus diam sit amet neque. Sed sem metus, sagittis vel, lobortis ac, tempus sit amet, wisi. Phasellus in diam. Maecenas ultrices rutrum mauris. Vestibulum dolor justo, blandit a, posuere quis, varius at, tellus. Vestibulum convallis. Nulla ut leo sed elit eleifend varius. Aenean eget est id lorem posuere laoreet.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu left + 1 column / Higher End / ShadowMenu left + 1 column $contentobj = new Content; $contentobj->SetName('ShadowMenu Left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_left_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu left + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Again using the same menu template as the two previous themes. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the second level and third level ul are now using the same image that has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); // Welcome to Simplex / Default Templates Explained / Higher End / Simplex $contentobj = new Content; $contentobj->SetName('Welcome to Simplex'); $contentobj->SetAlias(); $contentobj->SetMenuText('Simplex Theme'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Simplex Theme has been created to demonstrate HTML5 and CSS3 functionality within CMS Made Simple™.<br />It is shipped with a CSS Framework making it possible for you to create Responsive and Mobile capabale layouts with ease.</p><h2>What is included?</h2><p>With this Template you will find four Stylesheets attached to it.</p><ul><li>Simplex Core</li><li>Simplex Layout</li><li>Simplex Mobile</li><li>Simplex Print</li></ul><p>Main Functionality of this Template is included in Core Stylesheet. It contains a simple Fluid Grid Framework based on <a class="external" href="http://960.gs/" title="960 Grid System" target="_blank">960 Grid System</a>.<br />In this same Stylesheet CSS <a class="external" href="http://www.w3.org/TR/css3-mediaqueries/" title="W3C Media Queries" target="_blank">Media Queries</a> are being used that make it possible for a flexible layout based on Screen width.<br /><br />With Simplex Theme it is very easy to quickly change appearance of complete Site at once. If you look at Page Template code you will find "boxed" id in the <code><body></code> tag.<br />When this id is removed the Layout of the Site is changed and you would face a simple layout with White background.<br />You can also quickly change allignement of the complete Site. If you change the class of "wrapper" div to leftaligned or rightaligned, whole Page will be aligned to left or right.</p><h2>Support for Mobile Devices</h2><p>As mentioned above this Theme is shipped with Stylesheet Framework that gives you a starting point for easy developement of Responsive Layout.<br />Mobile world is very versatile and Framework itself is by no means perfect, it is only a starting point but as a Developer you should decide which technique you should use for your current Project.<br />Responsive Template is only one small step towards Mobile support.</p><p>This Theme requires <a class="external" href="http://jquery.org/" title="jQuery" target="_blank">jQuery</a> which is included with <code>{ldelim}cms_jquery{rdelim}</code> tag.</p><p><cite>Note: {ldelim}cms_jquery{rdelim} tag is included at the bottom of the Template. You should be carefull with it when you are using Modules that include jQuery in <head> section.</cite></p><p>In file functions.js a section is included that makes it possible of Navigating through site with some Mobile Devices. This part of the code, covers only few devices and it is only meant as an example and a starting point for Developer.</p><h2>This and that</h2><p>As an example of <a class="external" href="http://www.smarty.net/" title="Smarty" target="_blank">Smarty</a> power within CMS Made Simple™ Templates a very simple Slider has been included, which demonstartes how easy it is to quickly create a Slideshow without a single Module.</p><pre><code>{ldelim}assign var=\'teaser\' value=\'uploads/simplex/teaser/*.jpg\'|glob{rdelim}<br />{ldelim}foreach from=$teaser item=\'one\'{rdelim}<br /> <div><img src=\'{ldelim}root_url{rdelim}/{ldelim}$one{rdelim}\' width=\'852\' height=\'275\' alt=\'\' /></div><br />{ldelim}/foreach{rdelim}<br /> {/strip}</code></pre><p><cite>If you would like to make this Slider responsive you should include a additional jQuery Plugin like for example <a class="external" href="http://swipejs.com" target="_blank" title="SwipeJS">SwipeJS</a></cite></p><p>In included Stylesheets, Smarty has been used as well. This should make it possible for you, to quickly change Color scheme of the theme by simply changing HEX code within assign Tags.</p><pre><code>[[assign var=\'boxed_bg\' value="#d1d1d1 url(`$path`/boxed-bg.gif)"]][[assign var=\'light_grey\' value=\'#f1f1f1\']]<br />[[assign var=\'grey\' value=\'#e9e9e9\']]<br />[[assign var=\'dark_grey\' value=\'#555\']]<br />[[assign var=\'white\' value=\'#fff\']]<br />[[assign var=\'orange\' value=\'#f39c2c\']]<br />[[assign var=\'dark_orange\' value=\'#e6870e\']]<br />[[assign var=\'yellow\' value=\'#fdbd34\']]</code></pre><p>If you are using a modern Browser, you will notice that the Theme is using some of <a class="external" href="http://www.w3.org/TR/CSS/#css3" title="CSS3" target="_blank">CSS3</a> techniques. There are no Internet Explorer fallbacks included but this doesn\'t mean that it does not work in Internet Explorer.<br />A Visitor that is using Internet Explorer will simply see a Layout with gracefull fallback, meaning animations will not animate, rounded corners will be edges...</p><p><em>Note from Theme Develper Goran Ilic (uniqu3e):</em></p><blockquote><cite>The Simplex Theme was kept simplistic which should make it possible for a Developer to easily read code used in Theme and either create a new Layout from it or editing this Theme.<br /><br />A full Internet Explorer or Mobile support was intentionally not included, as each Developer should decide how far a old Browser like Internet Explorer (7,8) or which Mobile devices he wants to support and which Technique he will use.<br />Each Project is different and with each Project there is a need for different techniques.</cite></blockquote>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ////////////////////////////////// // // DEFAULT EXTENSIONS // // ////////////////////////////////// // Default Extensions / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>With the default installation of CMS Made Simple come six modules and a number of tags. The features of these are described and displayed on the following pages.</p><p>To find out more about the core modules, click {cms_selflink page=\'modules\' text=\'Modules\'}. For an explanation the core tags, simply click {cms_selflink page=\'tags\' text=\'Tags\'}.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Modules / 24 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Modules'); $contentobj->SetAlias(); $contentobj->SetMenuText('Modules'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are six modules that come with the default installation of CMS Made Simple. On the following pages we explain how these are used. Click on each module name in the menu to the left or in the list below.</p><p>To insert a module in a template or a page you normally use the <code>{ldelim}cms_module}</code> tag with the module name as one of the parameters. But to simplify things, all core modules also have a tag wrapper, so that they are called simple by their name, like <code>{ldelim}news}</code>.</p><ul><li>{cms_selflink page=\'news\' text=\'News\'}</li><li>{cms_selflink page=\'menu-manager-2\' text=\'Menu Manager\'}</li><li>{cms_selflink page=\'theme-manager\' text=\'Theme Manager\'}</li><li>{cms_selflink page=\'microtiny\' text=\'MicroTiny\'}</li><li>{cms_selflink page=\'search\' text=\'Search\'}</li><li>{cms_selflink page=\'module-manager\' text=\'Module Manager\'}</li></ul>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // News / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('News'); $contentobj->SetAlias(); $contentobj->SetMenuText('News'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Most web sites have a section for the latest news. In CMS Made Simple the best way to accomplish that is by using the News module.</p><p>To display a list of news items you insert the tag <code>{ldelim}news number=\'5\' category=\'General\'}</code>. On this page the tag is inserted in the template. But it can also be inserted on a page. You can see the News module in use in the sidebar to the left.</p><p>There are a number of parameters that can be used in conjunction with this tag. To read about how a module is used, navigate to Extensions » Modules in the Admin Panel and click on "Help" for the module you want to read about.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetAlias('menu-manager-2'); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Menu Manager has already been explained on the How CMSMS Works » {cms_selflink page=\'menu-manager\' text=\'Menu Manager\'} page. It is a very powerful module that can be used for any kind of navigation system on your web site.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Theme Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Theme Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Theme Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Theme Manager module allows you to import and export templates and their attached stylesheets, including any images they use, as "themes". This allows you to share your look and feel with other CMSMS users.</p><p>It is very easy to convert any kind of template to be used with CMS Made Simple. Many templates like this have already been converted and can be installed using the Theme Manager, the CMSMS community also shares themes for anyone to download and use at the <a class="external" target="_blank" href="http://themes.cmsmadesimple.org">CMSMS Themes site</a>.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // MicroTiny / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('MicroTiny'); $contentobj->SetAlias(); $contentobj->SetMenuText('MicroTiny'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>MicroTiny is a so called WYSIWYG editor for editing pages. WYSIWYG stands for What You See Is What You Get. It works similar to a word processor, where you can select the style for the content and see how it is going to look on the page.</p><p>Among available WYSIWYG editors CMS Made Simple has decided to use MicroTiny (the stripped down version of TinyMCE). TinyMCE is among the most developed WYSIWYG editors, with regular updates, a large following and customizable features.</p><p>However, it is very difficult to create a cross-browser online editor that works in all different kinds of environments. If you are familiar with HTML you can select no WYSIWYG in My Preferences » User Preferences in the Admin Panel. That gives you more control over the code that will be on the page.</p><p>There are also other WYSIWYG editor modules available for download.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Search / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Search'); $contentobj->SetAlias(); $contentobj->SetMenuText('Search'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Search is a module for searching "core" content along with certain registered modules. You put in a word or two and it gives you back matching, relevant results.</p><p>You can see the search module in use in the default templates, like on this page. Simply put <code>{ldelim}search}</code> in your template, where you want the search form to appear. If you want the results of a search to appear on a different page, you can specify this with the parameter <code>resultpage=\'page alias\'</code>.</p><p>For more information, see the Search module in the Admin Panel, in the Extensions menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Module Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Module Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Module Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>A client for the ModuleRepository, this module allows you to see what modules are available, the version number, size, and Status/Action (whether it is already installed or not), read the Help and About for each module, letting you install modules from remote sites without the need for FTP\'ing, or unzipping archives. Module XML files are downloaded using SOAP, integrity verified, and then expanded automatically.</p><p>ModuleManager now checks dependencies. When dependencies are set, the module wont install until dependencies are met. Also a new tab is available, that shows newer versions of installed modules.</p><p>In short, this means that you can download and install modules directly from the Admin Panel. Any module that has been released as an XML file can be downloaded and installed. Go to Extensions » Module Manager in the Admin Panel to see the list of modules from the official CMSMS repository in the CMSMS Development Forge.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags / Default Extensions / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are a number of custom tags included with the default CMS Made Simple installation. They are all described and demonstrated in the following page, and user defined tags are in the next one.</p><p>To use a tag, simply put it in the template or page like this: {ldelim}nameoftag}. Some tags can also take parameters, which are described in the Help that is accessible for each tag in Extensions » Tags in the Admin Panel.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags in the core / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags in the core'); $contentobj->SetAlias('cms_tags'); $contentobj->SetMenuText('Tags in the core'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are plenty of tags included with the CMSMS core. Some of them are demonstrated here, for any questions as to the parameters they can take or anything else please see the Tags Help.</p><h3>{ldelim}anchor}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}anchor anchor=\'here\' text=\'Scroll Down\' class=\'myclass\' title=\'mytitle\' tabindex=\'1\' accesskey=\'s\'}</code></dd> <dt>Display</dt> <dd>Creates a link to an anchor on the same page. Used for example for the ^Top link at the bottom of this page.</dd> </dl><h3>{ldelim}cms_breadcrumbs{rdelim}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_breadcrumbs root=\'Home\'{rdelim}</code></dd> <dt>Display</dt> <dd>Breadcrumbs are a navigational technique displaying all visited pages leading from the home page to the currently viewed page. You find it under the header on this page.</dd></dl><h3>{ldelim}cms_module}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_module module=\'somemodulename\' param1=\'something\' param2=true}</code></dd> <dt>Display</dt> <dd>This tag is used to insert modules into your templates and pages. Used for any module that you download. In the default templates, wrapper tags are used for inserting modules though. That is, a tag is made to insert a cms_module tag.</dd> </dl><h3>{ldelim}cms_selflink}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_selflink page="1"}</code> or <code>{ldelim}cms_selflink page="alias"}</code></dd> <dt>Display</dt> <dd>Creates a link to another CMSMS content page inside your template or content. Can also be used for external links with the ext parameter. </dd> <dt>Example</dt> <dd>{cms_selflink page=\'modules\' text=\'Link to the modules page\'} </dd> <dd><a class="external" href="http://www.cmsmadesimple.org">This is an external link to the CMS Made Simple website</a></dd> </dl><h3>{ldelim}cms_version}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_version}</code></dd> <dt>Display</dt> <dd>Displays current version number of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}cms_versionname}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_versionname}</code></dd> <dt>Display</dt> <dd>Displays current version name of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}current_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}current_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the current date and time.</dd> <dt>Example</dt> <dd>{current_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}embed}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}embed url="http://www.cmsmadesimple.org"}</code></dd> <dt>Display</dt> <dd>Enable inclusion (embeding) of any other application into the CMS. The most usual use could be a forum. </dd> </dl><h3>{ldelim}global_content}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}global_content name=\'footer\'}</code></dd> <dt>Display</dt> <dd>Inserts a Global Content Block (previously known as HTML blob) into your template or page. The code for the footer of this page is in a Global Content Block. </dd> </dl><h3>{ldelim}menu_text}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}menu_text}</code></dd> <dt>Display</dt> <dd>Prints the menu text of the page.</dd> <dt>Example</dt> <dd>{menu_text}</dd> </dl><h3>{ldelim}modified_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}modified_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the date and time the page was last modified. </dd> <dt>Example</dt> <dd>{modified_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}print}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}CMSPrinting}</code></dd> <dt>Display</dt> <dd>Creates a link to only the content of the page.</dd> <dt>Example</dt> <dd>{ldelim}CMSPrinting}</dd> </dl><h3>{ldelim}site_mapper}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}site_mapper}</code></dd> <dt>Display</dt> <dd>Prints out a sitemap.</dd> <dt>Example</dt> <dd>{site_mapper}</dd> </dl>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // User Defined Tags / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('User Defined Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('User Defined Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>One of the little known features of CMS Made Simple is the User Defined tag. Basically, this allows you to write PHP code inside the Admin Panel. Use the \'Add User Defined Tag\' button in Extension » User Defined Tags in the Admin Panel, write some code, and then insert into a template or page with {literal}{newpluginname}{/literal}. Simple!</p><p>As an example, I\'ve put together a one line plugin/tag that will show your current User Agent information (which browser you\'re using). The output is right here: <strong>{user_agent}</strong>.</p><p>If you\'re not looking at the source, all that is in the page is {literal}{user_agent}{/literal}. To see how this code works, edit the user_agent tag in the Extensions » User Defined Tags page of the admin.</p><p>This is a VERY powerful feature if used right. Remember, user defined tags do not get cached, therefore, scripts to rotate ad banners and such will work just fine. Note also that tag code has to be written <em>without</em> opening < ? php and ending ? > tags.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ?> <?php global $admin_user; // // Stylesheets // # no stylesheets for a no sample content option // // Designs // $design = new CmsLayoutCollection(); $design->set_name('Default'); $design->set_description('Default design with just the default template.'); $design->set_default(TRUE); $design->save(); $design->save(); // // Types // $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $gcb_template_type->save(); // // Template Categories // // // Templates // $app = \__appbase\get_app(); $fn = $app->get_destdir() . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'orig_page_template.tpl'; $txt = file_get_contents($fn); $template = new CmsLayoutTemplate(); $template->set_name('Default'); $template->set_description('This is the default minimal template. A simple starting point to build templates from.'); $template->set_type($page_template_type); $template->set_content($txt); $template->set_type($page_template_type); $template->set_type_dflt(TRUE); $template->add_design($design); $template->set_owner(1); $template->save(); // // Extra global templates // # // // Default Content Object // ContentOperations::get_instance()->LoadContentType('content'); $content = new Content; $content->SetName('Home'); $content->SetAlias(); $content->SetOwner(1); $content->SetMenuText('Home Page'); $content->SetTemplateId($template->get_id()); $content->SetParentId(-1); $content->SetActive(TRUE); $content->SetShowInMenu(TRUE); $content->SetCachable(TRUE); $content->SetDefaultContent(TRUE); $content->SetPropertyValue('searchable',1); $content->SetPropertyValue('design_id',$design->get_id()); $content->SetPropertyValue('content_en', '<p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you specified during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don\'t have to leave a link back to us in these templates or on your site as much as we would like it.</p><p>Some third party addon modules may include additional license restrictions.</p>'); $content->Save(); ?> <?php if (isset($CMS_INSTALL_DROP_TABLES)) { status_msg(ilang('install_dropping_tables')); $db->DropSequence(CMS_DB_PREFIX."additional_users_seq"); $db->DropSequence(CMS_DB_PREFIX."admin_bookmarks_seq"); $db->DropSequence(CMS_DB_PREFIX."additional_users_seq"); $db->DropSequence(CMS_DB_PREFIX."content_seq"); $db->DropSequence(CMS_DB_PREFIX."content_props_seq"); $db->DropSequence(CMS_DB_PREFIX."events_seq"); $db->DropSequence(CMS_DB_PREFIX."event_handler_seq"); $db->DropSequence(CMS_DB_PREFIX."group_perms_seq"); $db->DropSequence(CMS_DB_PREFIX."groups_seq"); $db->DropSequence(CMS_DB_PREFIX."module_deps_seq"); $db->DropSequence(CMS_DB_PREFIX."module_templates_seq"); $db->DropSequence(CMS_DB_PREFIX."permissions_seq"); $db->DropSequence(CMS_DB_PREFIX."users_seq"); $db->DropSequence(CMS_DB_PREFIX."userplugins_seq"); $dbdict = NewDataDictionary($db); $sqlarray = $dbdict->DropIndexSQL("idx_template_id_modified_date"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropIndexSQL(CMS_DB_PREFIX."idx_template_id_modified_date"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."additional_users"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."adminlog"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."admin_bookmarks"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."content"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."content_props"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."events"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."event_handlers"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."group_perms"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL("`".CMS_DB_PREFIX."groups`"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."modules"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_deps"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_templates"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."permissions"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."siteprefs"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."user_groups"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."userprefs"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."users"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."userplugins"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."version"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_smarty_plugins"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."routes"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE); $dbdict->ExecuteSQLArray($sqlarray); } if (isset($CMS_INSTALL_CREATE_TABLES)) { status_msg(ilang('install_createtablesindexes')); if ($db->dbtype == 'mysql' || $db->dbtype == 'mysqli') { @$db->Execute("ALTER DATABASE `" . $db->database . "` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); } $dbdict = NewDataDictionary($db); $taboptarray = array('mysql' => 'ENGINE MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci', 'mysqli' => 'ENGINE MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci'); $flds = " additional_users_id I KEY, user_id I, page_id I, content_id I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."additional_users", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'additional_users', $ado_ret)); $flds = " bookmark_id I KEY, user_id I, title C(255), url C(255) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."admin_bookmarks", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'admin_bookmarks', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_admin_bookmarks_by_user_id', CMS_DB_PREFIX."admin_bookmarks", 'user_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'admin_bookmarks', $ado_ret)); $flds = " timestamp I, user_id I, username C(25), item_id I, item_name C(50), action C(255), ip_addr C(40) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."adminlog", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); if( $return == 2 ) { $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_adminlog1',CMS_DB_PREFIX."adminlog",'timestamp'); $return = $dbdict->ExecuteSQLArray($sqlarray); } verbose_msg(ilang('install_created_table', 'adminlog', $ado_ret)); $flds = " content_id I KEY, content_name C(255), type C(25), owner_id I, parent_id I, template_id I, item_order I, hierarchy C(255), default_content I1, menu_text C(255), content_alias C(255), show_in_menu I1, active I1, cachable I1, id_hierarchy C(255), hierarchy_path X, prop_names X, metadata X, titleattribute C(255), tabindex C(10), accesskey C(5), last_modified_by I, create_date DT, modified_date DT, secure I1, page_url C(255) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."content", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'content', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_alias_active', CMS_DB_PREFIX."content", 'content_alias, active'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_alias_active', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_default_content', CMS_DB_PREFIX."content", 'default_content'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_default_content', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_parent_id', CMS_DB_PREFIX."content", 'parent_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_parent_id', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_hier', CMS_DB_PREFIX."content", 'hierarchy'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_hier', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_content_by_idhier', CMS_DB_PREFIX."content", 'content_id, hierarchy'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_idhier', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_modified', CMS_DB_PREFIX."content", 'modified_date'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_modified', $ado_ret)); $flds = " content_id I, type C(25), prop_name C(255), param1 C(255), param2 C(255), param3 C(255), content X2, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."content_props", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'content_props', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_props_by_content', CMS_DB_PREFIX."content_props", 'content_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_props_by_content', $ado_ret)); $flds = " event_id I, tag_name C(255), module_name C(160), removable I, handler_order I, handler_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."event_handlers", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'event_handlers', $ado_ret)); $flds = " originator C(200) NOTNULL, event_name C(200) NOTNULL, event_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."events", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'events', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'originator', CMS_DB_PREFIX."events", 'originator'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'originator', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'event_name', CMS_DB_PREFIX."events", 'event_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'event_name', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'event_id', CMS_DB_PREFIX."events", 'event_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'event_id', $ado_ret)); $flds = " group_perm_id I KEY, group_id I, permission_id I, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."group_perms", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'group_perms', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_grp_perms_by_grp_id_perm_id', CMS_DB_PREFIX."group_perms", 'group_id, permission_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_grp_perms_by_grp_id_perm_id', $ado_ret)); $flds = " group_id I KEY, group_name C(25), group_desc C(255), active I1, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL("`".CMS_DB_PREFIX."groups`", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'groups', $ado_ret)); $flds = " module_name C(160) KEY, status C(255), version C(255), admin_only I1 DEFAULT 0, active I1, allow_fe_lazyload I1, allow_admin_lazyload I1 "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."modules", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'modules', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_modules_by_name', CMS_DB_PREFIX."modules", 'module_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_modules_by_name', $ado_ret)); $flds = " parent_module C(25), child_module C(25), minimum_version C(25), create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_deps", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_deps', $ado_ret)); // deprecated $flds = " module_name C(160), template_name C(160), content X, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_templates", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_templates', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_module_templates_by_module_and_tpl_name', CMS_DB_PREFIX."module_templates", 'module_name, template_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_module_templates_by_module_and_tpl_name', $ado_ret)); $flds = " permission_id I KEY, permission_name C(255), permission_text C(255), permission_source C(255), create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."permissions", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'permissions', $ado_ret)); $flds = " sitepref_name C(255) KEY, sitepref_value text, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."siteprefs", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'siteprefs', $ado_ret)); $flds = " group_id I KEY, user_id I KEY, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."user_groups", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'user_groups', $ado_ret)); $flds = " user_id I KEY, preference C(50) KEY, value X, type C(25) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."userprefs", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'userprefs', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_userprefs_by_user_id', CMS_DB_PREFIX."userprefs", 'user_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_userprefs_by_user_id', $ado_ret)); $flds = " user_id I KEY, username C(25), password C(40), admin_access I1, first_name C(50), last_name C(50), email C(255), active I1, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."users", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'users', $ado_ret)); $flds = " userplugin_id I KEY, userplugin_name C(255), code X, description X, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."userplugins", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'userplugins', $ado_ret)); $flds = " version I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."version", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'version', $ado_ret)); $flds = " sig C(80) KEY NOTNULL, name C(80) NOTNULL, module C(160) NOTNULL, type C(40) NOTNULL, callback C(255) NOTNULL, available I, cachable I1 "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_smarty_plugins", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_smarty_plugins', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_smp_module', CMS_DB_PREFIX."module_smarty_plugins", 'module'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_smp_module', $ado_ret)); $flds = " term C(255) KEY NOTNULL, key1 C(50) KEY NOTNULL, key2 C(50), key3 C(50), data X, created ".CMS_ADODB_DT; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."routes", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'routes', $ado_ret)); $flds = " id I KEY AUTO, originator C(50) NOTNULL, name C(100) NOTNULL, has_dflt I1, dflt_contents X2, description X, lang_cb C(255), dflt_content_cb C(255), requires_contentblocks I1, help_content_cb C(255), one_only I1, owner I, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutTemplateType::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_type_1', CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, 'originator,name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_type_1', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, item_order X, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_table', CmsLayoutTemplateCategory::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_cat_1', CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_type_1', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, type_id I NOTNULL, type_dflt I1, category_id I, owner_id I NOTNULL, listable I1 DEFAULT 1, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutTemplate::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_1', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_1', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_2', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'type_id,type_dflt'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_2', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, media_type C(255), media_query X, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutStylesheet::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_css_1',CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'idx_layout_css_1', $ado_ret)); $flds = " tpl_id I KEY, user_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_table', CmsLayoutTemplate::ADDUSERSTABLE, $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, dflt I1, created I, modified I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_dsn_1',CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'idx_layout_dsn_1', $ado_ret)); $flds = " design_id I KEY NOTNULL, tpl_id I KEY NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::TPLTABLE, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_dsnassoc1', CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, 'tpl_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'index_dsnassoc1', $ado_ret)); $flds = " design_id I KEY NOTNULL, css_id I KEY NOTNULL, item_order I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::CSSTABLE, $ado_ret)); $flds = " id I AUTO KEY NOTNULL, type C(20) NOTNULL, oid I NOTNULL, uid I NOTNULL, created I NOTNULL, modified I NOTNULL, lifetime I NOTNULL, expires I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLock::LOCK_TABLE, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks1', CMS_DB_PREFIX."locks", 'type,oid', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks1', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks2', CMS_DB_PREFIX."locks", 'expires'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks2', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks3', CMS_DB_PREFIX."locks", 'uid'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks3', $ado_ret)); } # vim:ts=4 sw=4 noet ?> Install profiles live here. Suggested profiles: minimal/ default/ developer/ Current status: minimal/ is a real file-based profile with editable template and page assets. default/ now uses manifest-driven payload metadata plus editable assets. developer/ currently falls back to the legacy minimal installer path. Each profile can contain profile.json plus editable templates, stylesheets, pages, and assets. Structured manifest support now exists for: designs template_types templates stylesheets pages copies udts sql See: ../../docs/PROFILE_MANIFEST.txt Notes: UDT payloads should be stored as .udt files. SQL payloads should be stored as .sql files. Manifest fragments may be JSON or PHP arrays during migration, but JSON is preferred long-term. Template manifests can reference existing types such as Core::page when needed. Module-owned template types/templates are normally installed by the module, not by the base installer profile. <p>© Copyright {custom_copyright} - CMS Made Simple<br /> This site is powered by <a class="external" href="http://www.cmsmadesimple.org">CMS Made Simple</a> version {cms_version}</p> {* Logic *} {$start_year = '2004'} {$current_year = $smarty.now|cms_date_format:'Y'} {* Template *} <ul class='social cf'> <li class='twitter'><a title='Twitter' href='http://twitter.com/#!/cmsms'><i class='icon-twitter'></i><span class='visuallyhidden'>Twitter</span></a></li> <li class='facebook'><a title='Facebook' href='https://www.facebook.com/cmsmadesimple'><i class='icon-facebook'></i><span class='visuallyhidden'>Facebook</span></a></li> <li class='linkedin'><a title='LinkedIn' href='http://www.linkedin.com/groups?gid=1139537'><i class='icon-linkedin'></i><span class='visuallyhidden'>LinkedIn</span></a></li> <li class='youtube'><a title='YouTube' href='http://www.youtube.com/user/cmsmadesimple'><i class='icon-youtube'></i><span class='visuallyhidden'>YouTube</span></a></li> <li class='google'><a title='Google Plus' href='https://plus.google.com/+cmsmadesimple/posts'><i class='icon-google'></i><span class='visuallyhidden'>Google Plus</span></a></li> <li class='pinterest'><a title='Pinterest' href='http://www.pinterest.com/cmsmadesimple/'><i class='icon-pinterest'></i><span class='visuallyhidden'>Pinterest</span></a></li> </ul> <p class='copyright-info'>© Copyright {$start_year}{if $start_year !== $current_year} - {$current_year}{/if} - CMS Made Simple<br /> This site is powered by <a href='http://www.cmsmadesimple.org'>CMS Made Simple</a> version {cms_version}</p>{strip} {* A simple Smarty array for our slideshow *} {$slides = []} {$slides.0.heading = 'Power for professionals'} {$slides.0.subheading = 'Simplicity for end Users'} {$slides.0.image = 'palm-logo.png'} {$slides.1.heading = 'Faster & Easier'} {$slides.1.subheading = 'Website management'} {$slides.1.image = 'mate-zimple.png'} {$slides.2.heading = 'Flexible & Powerful'} {$slides.2.subheading = 'Manage your Website anywhere and anytime'} {$slides.2.image = 'mobile-devices-scene.png'} {$slides.3.heading = 'Secure & Robust'} {$slides.3.subheading = 'Take control of your application'} {$slides.3.image = 'browser-scene.png'} {* Markup *} <section class='banner row noprint' id='sx-slides' role='banner'> <ul class="sequence-canvas"> {foreach $slides as $slide} <li{if $slide@first} class='animate-in'{/if}> {if !empty($slide.heading)}<h2 class='title'>{$slide.heading}</h2>{/if} {if !empty($slide.subheading)}<h3 class='subtitle'>{$slide.subheading}</h3>{/if} {if !empty($slide.image)}<img class='image' src='{uploads_url}/simplex/teaser/{$slide.image}' alt='{$slide.heading|cms_escape:'htmlall'}' />{/if} </li> {/foreach} </ul> </section> {/strip}<?php include_once($profile_dir . DIRECTORY_SEPARATOR . 'profile_helpers.php'); $uploads_source = $profile_dir . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'simplex'; $uploads_destination = cmsms()->GetConfig()['uploads_path'] . DIRECTORY_SEPARATOR . 'simplex'; default_profile_copy_tree($uploads_source, $uploads_destination); $destdir = __appbase\get_app()->get_destdir(); if( $destdir ) { $module_template_map = array( 'module_templates/navigator/Simplex_Main_Navigation.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Navigator' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Main_Navigation.tpl', 'module_templates/navigator/Simplex_Footer_Navigation.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Navigator' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Footer_Navigation.tpl', 'module_templates/search/Simplex_Search_template.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Search' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Search_template.tpl', ); foreach( $module_template_map as $source_relative => $destination ) { $source = $profile_dir . DIRECTORY_SEPARATOR . str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $source_relative); if( !is_file($source) ) continue; default_profile_copy_file($source, $destination); } } include(__appbase\get_app()->get_install_dir() . DIRECTORY_SEPARATOR . 'extra.php'); ?> <?php return array( array( 'source' => 'uploads/simplex', 'destination' => 'uploads/simplex', 'mode' => 'tree', ), array( 'source' => 'module_templates/navigator/Simplex_Main_Navigation.tpl', 'destination' => 'modules/Navigator/templates/Simplex_Main_Navigation.tpl', 'mode' => 'file', ), array( 'source' => 'module_templates/navigator/Simplex_Footer_Navigation.tpl', 'destination' => 'modules/Navigator/templates/Simplex_Footer_Navigation.tpl', 'mode' => 'file', ), array( 'source' => 'module_templates/search/Simplex_Search_template.tpl', 'destination' => 'modules/Search/templates/Simplex_Search_template.tpl', 'mode' => 'file', ), ); <?php return array( array( 'name' => 'Minimal', 'description' => 'Minimal templates and stylesheets', ), array( 'name' => 'Simplex', 'description' => "Simplex Template is a HTML5 based theme, introduced with CMSMS 1.11 release and improved with 2.0 release.\nPurpose of this theme is to demonstrate what and how can be done with CMSMS Templates using HTML5 and responsive CSS for a better mobile experience.\nAll Smarty templates which are used by Simplex Theme are prefix with \"Simplex\", therefore be careful when renaming or deleting these templates.\nTheme itself is using jQuery, which is included with {cms_jquery} tag, the functions JavaScript file is minified, in case you wish to change some JavaScript functions, refer to /uploads/simplex/js/functions.js file and replace functions.min.js file.", 'default' => TRUE, ), array( 'name' => 'CSSMenu left + 1 column', 'description' => "This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn't a whole lot to say about it.", ), array( 'name' => 'CSSMenu top + 2 columns', 'description' => "This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.", ), array( 'name' => 'Left simple navigation + 1 column', 'description' => 'This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.', ), array( 'name' => 'NCleanBlue', 'description' => 'This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.', ), array( 'name' => 'ShadowMenu left + 1 column', 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', ), array( 'name' => 'ShadowMenu Tab + 2 columns', 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', ), array( 'name' => 'Top simple navigation + left subnavigation + 1 column', 'description' => 'With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.', ), ); <?php return array( array( 'key' => 'home', 'name' => 'Home', 'menu_text' => 'Home', 'design' => 'Simplex', 'template' => 'Simplex', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'default_content' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0553_home.tpl'), ), array( 'key' => 'how_cmsms_works', 'name' => 'How CMSMS Works', 'menu_text' => 'How CMSMS Works', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0575_how-cmsms-works.tpl'), ), array( 'key' => 'templates_and_stylesheets', 'name' => 'Templates and stylesheets', 'menu_text' => 'Templates and stylesheets', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0593_templates-and-stylesheets.tpl'), ), array( 'key' => 'pages_and_navigation', 'name' => 'Pages and navigation', 'menu_text' => 'Pages and navigation', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0611_pages-and-navigation.tpl'), ), array( 'key' => 'content', 'name' => 'Content', 'menu_text' => 'Content', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0630_content.tpl'), ), array( 'key' => 'menu_manager', 'name' => 'Menu Manager', 'menu_text' => 'Menu Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0648_menu-manager.tpl'), ), array( 'key' => 'extensions', 'name' => 'Extensions', 'menu_text' => 'Extensions', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0666_extensions.tpl'), ), array( 'key' => 'event_manager', 'name' => 'Event Manager', 'menu_text' => 'Event Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0684_event-manager.tpl'), ), array( 'key' => 'workflow', 'name' => 'Workflow', 'menu_text' => 'Workflow', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0702_workflow.tpl'), ), array( 'key' => 'where_do_i_get_help', 'name' => 'Where do I get help?', 'menu_text' => 'Where do i get help?', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0720_where-do-i-get-help.tpl'), ), array( 'key' => 'default_templates_explained', 'name' => 'Default Templates Explained', 'menu_text' => 'Default Templates Explained', 'alias' => 'default_templates', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0743_default-templates.tpl'), ), array( 'key' => 'cmsms_tags_in_templates', 'name' => 'CMSMS tags in the templates', 'menu_text' => 'CMSMS tags in the templates', 'alias' => 'cms_tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0762_cms-tags.tpl'), ), array( 'key' => 'left_simple_navigation', 'name' => 'Left simple navigation + 1 column', 'menu_text' => 'Left simple navigation + 1 column', 'alias' => 'navleft', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0781_navleft.tpl'), ), array( 'key' => 'top_simple_navigation', 'name' => 'Top simple navigation + left subnavigation + 1 column', 'menu_text' => 'Top simple navigation + left subnavigation + 1 column', 'alias' => 'top_left', 'design' => 'Top simple navigation + left subnavigation + 1 column', 'template' => 'Top simple navigation + left subnavigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0800_top-left.tpl'), ), array( 'key' => 'cssmenu_top_2_columns', 'name' => 'CSSMenu top + 2 columns', 'menu_text' => 'CSSMenu top + 2 columns', 'alias' => 'cssmenu_horizontal', 'design' => 'CSSMenu top + 2 columns', 'template' => 'CSSMenu top + 2 columns', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0819_cssmenu-horizontal.tpl'), 'blocks' => array( 'Sidebar' => 'pages/0821_cssmenu-horizontal_sidebar.tpl', ), ), array( 'key' => 'cssmenu_left_1_column', 'name' => 'CSSMenu left + 1 column', 'menu_text' => 'CSSMenu left + 1 column', 'alias' => 'cssmenu_vertical', 'design' => 'CSSMenu left + 1 column', 'template' => 'CSSMenu left + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0840_cssmenu-vertical.tpl'), ), array( 'key' => 'minimal_template', 'name' => 'Minimal template', 'menu_text' => 'Minimal template', 'design' => 'Minimal', 'template' => 'Minimal', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0858_minimal-template.tpl'), ), array( 'key' => 'higher_end', 'name' => 'Higher End', 'menu_text' => 'Higher End', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0876_higher-end.tpl'), ), array( 'key' => 'ncleanblue', 'name' => 'NCleanBlue', 'menu_text' => 'NCleanBlue', 'design' => 'NCleanBlue', 'template' => 'NCleanBlue', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0894_ncleanblue.tpl'), ), array( 'key' => 'shadowmenu_tab_2_columns', 'name' => 'ShadowMenu Tab + 2 columns', 'menu_text' => 'ShadowMenu Tab + 2 columns', 'design' => 'ShadowMenu Tab + 2 columns', 'template' => 'ShadowMenu Tab + 2 columns', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0912_shadowmenu-tab-2-columns.tpl'), 'blocks' => array( 'Sidebar' => 'pages/0914_shadowmenu-tab-2-columns_sidebar.tpl', ), ), array( 'key' => 'shadowmenu_left_1_column', 'name' => 'ShadowMenu Left + 1 column', 'menu_text' => 'ShadowMenu Left + 1 column', 'design' => 'ShadowMenu left + 1 column', 'template' => 'ShadowMenu left + 1 column', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0932_shadowmenu-left-1-column.tpl'), ), array( 'key' => 'welcome_to_simplex', 'name' => 'Welcome to Simplex', 'menu_text' => 'Simplex Theme', 'design' => 'Simplex', 'template' => 'Simplex', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0949_welcome-to-simplex.tpl'), ), array( 'key' => 'default_extensions', 'name' => 'Default Extensions', 'menu_text' => 'Default Extensions', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0971_default-extensions.tpl'), ), array( 'key' => 'modules', 'name' => 'Modules', 'menu_text' => 'Modules', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_extensions', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0989_modules.tpl'), ), array( 'key' => 'news', 'name' => 'News', 'menu_text' => 'News', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1007_news.tpl'), ), array( 'key' => 'menu_manager_2', 'name' => 'Menu Manager', 'menu_text' => 'Menu Manager', 'alias' => 'menu-manager-2', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1026_menu-manager-2.tpl'), ), array( 'key' => 'theme_manager', 'name' => 'Theme Manager', 'menu_text' => 'Theme Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1044_theme-manager.tpl'), ), array( 'key' => 'microtiny', 'name' => 'MicroTiny', 'menu_text' => 'MicroTiny', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1062_microtiny.tpl'), ), array( 'key' => 'search', 'name' => 'Search', 'menu_text' => 'Search', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1081_search.tpl'), ), array( 'key' => 'module_manager', 'name' => 'Module Manager', 'menu_text' => 'Module Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1100_module-manager.tpl'), ), array( 'key' => 'tags', 'name' => 'Tags', 'menu_text' => 'Tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_extensions', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1119_tags.tpl'), ), array( 'key' => 'tags_in_the_core', 'name' => 'Tags in the core', 'menu_text' => 'Tags in the core', 'alias' => 'cms_tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'tags', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1137_cms-tags.tpl'), ), array( 'key' => 'user_defined_tags', 'name' => 'User Defined Tags', 'menu_text' => 'User Defined Tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'tags', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1155_user-defined-tags.tpl'), ), ); <?php return array( array( 'name' => 'Handheld', 'description' => 'Stylesheet for older mobile devices', 'media_types' => 'handheld', 'source' => 'stylesheets/handheld.css', 'designs' => array('Left simple navigation + 1 column'), ), array( 'name' => 'Print', 'description' => 'Default stylesheet for print devices', 'media_types' => 'print', 'source' => 'stylesheets/print.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Simplex', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Accessibility and cross-browser tools', 'description' => 'Accessibility and cross-browser CSS rules attached to multiple Themes', 'media_types' => 'screen', 'source' => 'stylesheets/accessibility_crossbrowser.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Layout Left sidebar + 1 column', 'description' => 'CSS rules used for Layout Left sidebar + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/layout_left_sidebar_1col.css', 'designs' => array( 'CSSMenu left + 1 column', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', ), ), array( 'name' => 'Navigation CSSMenu - Vertical', 'description' => 'Navigation CSS rules used in CSSMenu left + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_cssmenu_vertical.css', 'designs' => array('CSSMenu left + 1 column'), ), array( 'name' => 'Navigation CSSMenu - Horizontal', 'description' => 'Navigation CSS rules used in CSSMenu top + 2 columns Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_cssmenu_horizontal.css', 'designs' => array('CSSMenu top + 2 columns'), ), array( 'name' => 'Module News', 'description' => 'Default News module CSS rules used in multiple Designs', 'media_types' => 'screen', 'source' => 'stylesheets/module_news.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation Simple - Horizontal', 'description' => 'Navigation CSS rules used in Top simple navigation + left subnavigation + 1 column and Left simple navigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_simple_horizontal.css', 'designs' => array('Top simple navigation + left subnavigation + 1 column'), ), array( 'name' => 'Layout Top menu + 2 columns', 'description' => 'Navigation CSS rules used in CSSMenu top + 2 columns, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/layout_top_menu_2col.css', 'designs' => array( 'CSSMenu top + 2 columns', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation Simple - Vertical', 'description' => 'Navigation CSS rules used in Left simple navigation + 1 column and Top simple navigation + left subnavigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_simple_vertical.css', 'designs' => array( 'Left simple navigation + 1 column', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation ShadowMenu - Vertical', 'description' => 'Navigation CSS rules used in ShadowMenu left + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_shadowmenu_vertical.css', 'designs' => array('ShadowMenu left + 1 column'), ), array( 'name' => 'Navigation FatFootMenu', 'description' => 'Footer navigation CSS rules used in CSSMenu left + 1 column, CSSMenu top + 2 columns, Left simple navigation + 1 column, ShadowMenu left + 1 column, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_fatfootmenu.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'ncleanbluecore', 'description' => 'Grid CSS rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_core.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'ncleanblueutils', 'description' => 'Reset and browser helper CSS style rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_utils.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Layout NCleanBlue', 'description' => 'Main layout rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_layout.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Simplex Core', 'description' => 'Simplex Theme core Stylesheet, containing 12 column grid system and HTML5 resets (normalize.css)', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_core.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Layout', 'description' => 'Simplex Theme main layout Stylesheet', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_layout.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Slideshow', 'description' => 'Simplex Theme Stylesheet for header slideshow', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_slideshow.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Print', 'description' => 'Default Print style rules attached to Simplex Design', 'media_types' => 'print', 'source' => 'stylesheets/simplex_print.css', 'designs' => array('Simplex'), ), array( 'name' => 'Navigation ShadowMenu - Horizontal', 'description' => 'Navigation CSS rules used in ShadowMenu Tab + 2 columns Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_shadowmenu_horizontal.css', 'designs' => array('ShadowMenu Tab + 2 columns'), ), ); <?php return array( array( 'originator' => 'core', 'name' => 'page', 'default' => TRUE, 'lang_callback' => 'CmsTemplateResource::page_type_lang_callback', 'content_callback' => 'CmsTemplateResource::reset_page_type_defaults', 'help_callback' => 'CmsTemplateResource::template_help_callback', 'reset_factory' => TRUE, 'content_block' => TRUE, ), array( 'originator' => 'core', 'name' => 'generic', 'lang_callback' => 'CmsTemplateResource::generic_type_lang_callback', 'help_callback' => 'CmsTemplateResource::template_help_callback', ), ); <?php return array( array( 'name' => 'footer', 'type' => 'generic', 'owner' => 1, 'source' => 'generic/footer.tpl', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'NCleanBlue', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Minimal', 'type' => 'page', 'owner' => 1, 'description' => 'A Simple, minimal page template', 'source' => 'templates/minimal.tpl', 'designs' => array('Minimal'), ), array( 'name' => 'CSSMenu left + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.', 'source' => 'templates/cssmenu_left_1col.tpl', 'designs' => array('CSSMenu left + 1 column'), ), array( 'name' => 'CSSMenu top + 2 columns', 'type' => 'page', 'owner' => 1, 'description' => 'This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.', 'source' => 'templates/cssmenu_top_2col.tpl', 'designs' => array('CSSMenu top + 2 columns'), ), array( 'name' => 'Left simple navigation + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.', 'source' => 'templates/leftsimple_1col.tpl', 'designs' => array('Left simple navigation + 1 column'), ), array( 'name' => 'Top simple navigation + left subnavigation + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.', 'source' => 'templates/topsimple_leftsubnav_1col.tpl', 'designs' => array('Top simple navigation + left subnavigation + 1 column'), ), array( 'name' => 'ShadowMenu Tab + 2 columns', 'type' => 'page', 'owner' => 1, 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', 'source' => 'templates/shadowmenu_tab_2col.tpl', 'designs' => array('ShadowMenu Tab + 2 columns'), ), array( 'name' => 'ShadowMenu left + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', 'source' => 'templates/shadowmenu_left_1col.tpl', 'designs' => array('ShadowMenu left + 1 column'), ), array( 'name' => 'NCleanBlue', 'type' => 'page', 'owner' => 1, 'description' => 'This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.', 'source' => 'templates/ncleanblue.tpl', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Simplex', 'type' => 'page', 'owner' => 1, 'description' => 'A HTML5 based responsive template', 'source' => 'templates/simplex.tpl', 'designs' => array('Simplex'), 'default' => TRUE, ), array( 'name' => 'Simplex Slideshow', 'type' => 'generic', 'owner' => 1, 'description' => "A sample slider for Simplex Theme.\nNote: required jQuery Framework is already included at the bottom of Simplex Page Template.\nIf any of Modules that you are going to use requires or adds additional jQuery Framework, remember to either remove jQuery Framework from Module template (for example Gallery module) or to move {cms_jquery} tag in Simplex Page Template to <head> section of template if needed.\nAll current Browser come with some kind of Developer Tools (usually F12 key) or you can also install Firebug in Firefox or Chrome, if some JavaScript function doesn't work your first step would be to open Developer Tools and look into console errors.", 'source' => 'generic/simplex_slideshow.tpl', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Footer', 'type' => 'generic', 'owner' => 1, 'description' => 'Custom footer section template for Simplex Theme', 'source' => 'generic/simplex_footer.tpl', 'designs' => array('Simplex'), ), ); {strip} {$main_id = ' id=\'footer-menu\''} {function do_footer_class} {if count($classes) > 0} class='{implode(' ',$classes)}'{/if} {/function} {function name='Simplex_footer_menu' depth='1'} <ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}> {$main_id = ''} {$ul_class = ''} {foreach $data as $node} {* setup classes for the anchor and list item *} {$list_class = []} {$href_class = []} {if $node->current || $node->parent} {* this is the current page *} {$list_class[] = 'current'} {$href_class[] = 'current'} {/if} {if $node->children_exist} {$list_class[] = 'parent'} {/if} {* build the menu item node *} {if $node->type == 'sectionheader'} {$list_class[] = 'sectionheader'} <li{do_footer_class classes=$list_class}><span>{$node->menutext}</span> {if isset($node->children)} {Simplex_footer_menu data=$node->children depth=$depth+1} {/if} </li> {else if $node->type == 'separator'} {$list_class[] = 'separator'} <li{do_footer_class classes=$list_class}'><hr class='separator'/></li> {else} {* regular item *} <li{do_footer_class classes=$list_class}> <a{do_footer_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a> {if isset($node->children)} {Simplex_footer_menu data=$node->children depth=$depth+1} {/if} </li> {/if} {/foreach} </ul> {/function} {if isset($nodes)} {Simplex_footer_menu data=$nodes depth='0' ul_class='cf'} {/if} {/strip}{strip} {$main_id = ' id=\'main-menu\''} {function do_class} {if count($classes) > 0} class='{implode(' ',$classes)}'{/if} {/function} {function name='Simplex_menu' depth='1'} <ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}> {$main_id = ''} {$ul_class = ''} {foreach $data as $node} {* setup classes for the anchor and list item *} {$list_class = []} {$href_class = ['cf']} {$parent_indicator = ''} {$aria_support = ''} {if $node->current || $node->parent} {* this is the current page *} {$list_class[] = 'current'} {$href_class[] = 'current'} {/if} {if $node->children_exist} {$list_class[] = 'parent'} {$aria_support = ' aria-haspopup=\'true\''} {$parent_indicator = ' <i class=\'icon-arrow-left\' aria-hidden=\'true\'></i>'} {/if} {* build the menu item node *} {if $node->type == 'sectionheader'} {$list_class[] = 'sectionheader'} <li{do_class classes=$list_class}{$aria_support}><span>{$node->menutext}{$parent_indicator}</span> {if isset($node->children)} {Simplex_menu data=$node->children depth=$depth+1} {/if} </li> {else if $node->type == 'separator'} {$list_class[] = 'separator'} <li{do_class classes=$list_class}'><hr class='separator'/></li> {else} {* regular item *} <li{do_class classes=$list_class}{$aria_support}> <a{do_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{$parent_indicator}</a> {if isset($node->children)} {Simplex_menu data=$node->children depth=$depth+1} {/if} </li> {/if} {/foreach} </ul> {/function} {if isset($nodes)} {Simplex_menu data=$nodes depth='0' ul_class='cf'} {/if} {/strip}{* this is a sample detail template that works with the Simplex theme *} {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {assign var='canonical' value=$entry->canonical scope=global} {assign var='main_title' value=$entry->title scope=global} {/if} {* <h2>{$entry->title|cms_escape:htmlall}</h2> *} {if $entry->summary} {$entry->summary} {/if} {$entry->content} {if $entry->extra} {$extra_label} {$entry->extra} {/if} {if $return_url != ""} <br /> <span class='back'>← {$return_url}{if $category_name != ''} - {$category_link}{/if}</span> {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'} <div> {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} <img src='{$entry->file_location}/{$field->value}' alt='' /> {else} {$field->name}: {$field->value} {/if} </div> {/foreach} {/if} <footer class='news-meta'> {if $entry->postdate} {$entry->postdate|cms_date_format} {/if} {if $entry->category} <strong>{$category_label}</strong> {$entry->category} {/if} {if $entry->author} <strong>{$author_label}</strong> {$entry->author} {/if} </footer> {strip} <!-- .news-summary wrapper --> <article class='news-summary'> <span class='heading'><span>News</span></span> <ul class='category-list cf'> {foreach from=$cats item='node'} {if $node.depth > $node.prevdepth} {repeat string='<ul>' times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string='</li></ul>' times=$node.prevdepth-$node.depth} </li> {elseif $node.index > 0}</li> {/if} <li{if $node.index == 0} class='first'{/if}> {if $node.count > 0} <a href='{$node.url}'>{$node.news_category_name}</a>{else}<span>{$node.news_category_name} </span>{/if} {/foreach} {repeat string='</li></ul>' times=$node.depth-1}</li> </ul> {foreach from=$items item='entry'} <!-- .news-article (wrapping each article) --> <section class='news-article'> <header> <h2><a href='{$entry->moreurl}' title='{$entry->title|cms_escape:htmlall}'>{$entry->title|cms_escape}</a></h2> <div class='meta cf'> <time class='date' datetime="{$entry->postdate|date_format:'Y-m-d'}"> <span class='day'> {$entry->postdate|date_format:'d'} </span> <span class='month'> {$entry->postdate|localedate_format:'%b'} </span> </time> <span class='author'> {$author_label} {$entry->author} </span> <span class='category'> {$category_label} {$entry->category}</span> </div> </header> {if $entry->summary} <p>{$entry->summary|strip_tags}</p> <span class='more'>{$entry->morelink} →</span> {else if $entry->content} <p>{$entry->content|strip_tags}</p> {/if} </section> <!-- .news-article //--> {/foreach} <!-- news pagination --> {if $pagecount > 1} <span class='paginate'> {if $pagenumber > 1} {$firstpage} {$prevpage} {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount} {$nextpage} {$lastpage} {/if} </span> {/if} </article> <!-- .news-summary //--> {/strip} <div class='five-col search noprint' role='search'> {form_start action=dosearch method=$form_method returnid=$destpage inline=$inline} <label for='{$search_actionid}searchinput' class='visuallyhidden'>{$searchprompt}:</label> <input type='search' class='search-input' id='{$search_actionid}searchinput' name='{$search_actionid}searchinput' size='20' maxlength='50' value='' placeholder='{$searchtext}' /><i class='icon-search' aria-hidden='true'></i> {if isset($hidden)}{$hidden}{/if} {form_end} </div> <?php $content_list = array(); ContentOperations::get_instance()->LoadContentType('content'); ///////////////////////// // // HOME PAGE // // ///////////////////////// verbose_msg(ilang('install_createcontentpages')); // Home / -1 / NCleanBlue DEFAULT $contentobj = new Content; $contentobj->SetName('Home'); $contentobj->SetAlias(); $contentobj->SetMenuText('Home'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetDefaultContent(TRUE); // this is the default page. $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0553_home.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////// // // HOW CMSMS WORKS // // /////////////////////////////// // How CMSMS Works / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('How CMSMS Works'); $contentobj->SetAlias(); $contentobj->SetMenuText('How CMSMS Works'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0575_how-cmsms-works.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Templates and stylesheets / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Templates and stylesheets'); $contentobj->SetAlias(); $contentobj->SetMenuText('Templates and stylesheets'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0593_templates-and-stylesheets.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Pages and navigation'); $contentobj->SetAlias(); $contentobj->SetMenuText('Pages and navigation'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0611_pages-and-navigation.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Content / How CMSMS Works / Left simple navigation + 1 column // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Content'); $contentobj->SetAlias(); $contentobj->SetMenuText('Content'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0630_content.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / How CMSMS Works / Left simple navigation + 1 column17 $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0648_menu-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Extensions / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0666_extensions.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Event Manager / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Event Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Event Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0684_event-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Workflow / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Workflow'); $contentobj->SetAlias(); $contentobj->SetMenuText('Workflow'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0702_workflow.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Where do I get Help / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Where do I get help?'); $contentobj->SetAlias(); $contentobj->SetMenuText('Where do i get help?'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0720_where-do-i-get-help.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////////////////// // // DEFAULT TEMPLATES EXPLAINED // // /////////////////////////////////////////// // Default Templates Explained / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Templates Explained'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Templates Explained'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('default_templates'); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0743_default-templates.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CMSMS tags in the templates / Default Templates Exlplained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('CMSMS tags in the templates'); $contentobj->SetAlias(); $contentobj->SetMenuText('CMSMS tags in the templates'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('cms_tags'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0762_cms-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Left simple navigation + 1 column / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Left simple navigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Left simple navigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('navleft'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0781_navleft.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Top simple navigation + left subnavigation + 1 column / Default Templates Explained / Top simple navigation + left subnavigation + 1 column $contentobj = new Content; $contentobj->SetName('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$topsimple_leftsubnav_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Top simple navigation + left subnavigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('top_left'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0800_top-left.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu top + 2 columns / Default Templates Explained / CSSMenu top + 2 columns $contentobj = new Content; $contentobj->SetName('CSSMenu top + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu top + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menutop_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu top + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetAlias('cssmenu_horizontal'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0819_cssmenu-horizontal.tpl')); $contentobj->SetPropertyValue('Sidebar', default_profile_read_asset('pages/0821_cssmenu-horizontal_sidebar.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu left + 1 column / Default Templates Explained / CSSMenu left + 1 column $contentobj = new Content; $contentobj->SetName('CSSMenu left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menuleft_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu left + 1 column']); $contentobj->SetAlias('cssmenu_vertical'); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0840_cssmenu-vertical.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Minimal template / Default Templates Explained / Minimal template $contentobj = new Content; $contentobj->SetName('Minimal template'); $contentobj->SetAlias(); $contentobj->SetMenuText('Minimal template'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$minimal_theme->get_id()); $contentobj->SetTemplateId($template_list['Minimal']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0858_minimal-template.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Higher End / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Higher End'); $contentobj->SetAlias(); $contentobj->SetMenuText('Higher End'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0876_higher-end.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // NCleanBlue / Higher End / NCleanBlue $contentobj = new Content; $contentobj->SetName('NCleanBlue'); $contentobj->SetAlias(); $contentobj->SetMenuText('NCleanBlue'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$ncleanblue_theme->get_id()); $contentobj->SetTemplateId($template_list['NCleanBlue']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0894_ncleanblue.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu Tab + 2 columns / Higher End / ShadowMenu Tab + 2 columns $contentobj = new Content; $contentobj->SetName('ShadowMenu Tab + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Tab + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_tab_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu Tab + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0912_shadowmenu-tab-2-columns.tpl')); $contentobj->SetPropertyValue('Sidebar', default_profile_read_asset('pages/0914_shadowmenu-tab-2-columns_sidebar.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu left + 1 column / Higher End / ShadowMenu left + 1 column $contentobj = new Content; $contentobj->SetName('ShadowMenu Left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_left_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu left + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0932_shadowmenu-left-1-column.tpl')); // Welcome to Simplex / Default Templates Explained / Higher End / Simplex $contentobj = new Content; $contentobj->SetName('Welcome to Simplex'); $contentobj->SetAlias(); $contentobj->SetMenuText('Simplex Theme'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0949_welcome-to-simplex.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ////////////////////////////////// // // DEFAULT EXTENSIONS // // ////////////////////////////////// // Default Extensions / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0971_default-extensions.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Modules / 24 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Modules'); $contentobj->SetAlias(); $contentobj->SetMenuText('Modules'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0989_modules.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // News / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('News'); $contentobj->SetAlias(); $contentobj->SetMenuText('News'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1007_news.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetAlias('menu-manager-2'); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1026_menu-manager-2.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Theme Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Theme Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Theme Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1044_theme-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // MicroTiny / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('MicroTiny'); $contentobj->SetAlias(); $contentobj->SetMenuText('MicroTiny'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1062_microtiny.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Search / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Search'); $contentobj->SetAlias(); $contentobj->SetMenuText('Search'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1081_search.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Module Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Module Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Module Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1100_module-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags / Default Extensions / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1119_tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags in the core / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags in the core'); $contentobj->SetAlias('cms_tags'); $contentobj->SetMenuText('Tags in the core'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1137_cms-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // User Defined Tags / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('User Defined Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('User Defined Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1155_user-defined-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); <p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you mentioned during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don't have to leave a link back to us in these templates or on your site as much as we would like it.</p><p> Some third party add-on modules may include additional license restrictions.</p><p>So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.</p><p>You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.</p><p>That doesn't sound too hard, does it? Basically you don't need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some <a class="external" href="http://www.w3schools.com/css/" target="_blank">CSS</a>.</p><p>In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.</p><p>A <em>template</em> is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn't need any web design skills.</p><p>In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.</p><p>The template is the HTML structure. It is then styled in one or more <em>style sheets</em> that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don't worry, there are themes with ready-made templates and style sheets for you to download!</p><p>When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section {cms_selflink page=default_templates text='Default Templates Explained'}. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at <a class="external" href="http://themes.cmsmadesimple.org" target="_blank">The CMSMS Themes site</a>.</p><h3>Templates and style sheets in the CMSMS Admin Panel</h3><p>In the CMSMS Admin Panel you will find the templates and style sheets in the <strong>Layout</strong> menu.</p><p>Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.</p><h3>Navigation/Menu</h3><p>The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.</p><p>Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.</p><p>The page template determines where on a page the navigation is placed.</p><p>You can create any kind of navigation you can dream of by customizing a menu template for <em>Menu Manager</em>. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is <a class="external" href="http://css.maxdesign.com.au/listutorial/index.htm" target="_blank">listutorial at maxdesign</a></p><h3>Pages in the CMSMS Admin Panel</h3><p>You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.</p><p>The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.</p><p>A template can define one or several content areas, or content blocks. To add more content blocks to your template, use <code>{ldelim}content block='block name'}</code>. These blocks will then appear as text areas when you edit or add a page that uses that template.</p><p>You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: <code>{ldelim}content block='block name' oneline=true}</code>. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.</p><h3>Content Types</h3><p>There are currently 6 main content types in version {cms_version} "{cms_versionname}". These content types determine the type of content for each menu item.</p><ul><li>Content</li><li>Error Page</li><li>External Page Link</li><li>Internal Page Link</li><li>Section Header</li><li>Separator</li></ul><p>The <strong>Content</strong> type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each <strong>content</strong> page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.</p><p>The <strong>Error Page</strong> type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.</p><p>The <strong>External Page Link</strong> type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This <strong>external page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type.</p><p>The <strong>Internal Page Link</strong> type is also just what it sounds like, a link to another internal page. This <strong>internal page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.</p><p>The <strong>Section Header</strong> type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.</p><p>The <strong>Separator</strong> type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.</p><p>The Menu Manager is a module that reads your page hierarchy and builds a navigation using a 'Menu Manager Template'. By default a few sample menu manager templates are included with your default installation. For most users these are enough, as a menu basically is just an unordered list that is styled with CSS.</p><p>The Menu Manager module also accepts various optional attributes (parameters) in the {ldelim}menu{rdelim} tag to allow you to customize its behavior. You can see the list and explanation of these parameters in the Menu Manager Help which can be found on the right side of the screen when you click on "Layout » Menu Manager" in the administration console.</p><p>Customizing templates in the Menu Manager is as simple as clicking the 'Import Template to Database' button, which will then allow you to create a template with a new name, and modify the layout of the template. You can use your new navigation template by specifying the new name in the call to {ldelim}menu{rdelim} in your page template. i.e: {ldelim}menu template='mynewtemplate'{rdelim}.</p><h3>Menu Manager in the CMSMS Admin Panel</h3><p>Read more about how to do this in the <strong>Help</strong> for the Menu Manager in the CMSMS Admin Panel. It can be found in the Layout menu.</p><p>There are three kinds of extensions, that can add many kinds of functionality to your default CMS Made Simple install. They are called tags, user defined tags, and modules.</p><h3>Tags</h3><p>Tags are the simplest form of extensions. They are designed to accomplish just one small and specific task.</p><p>There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look in Extensions » Tags in the Admin Panel.</p><p>To insert any of these in a template or a page, simply type e.g. <code>{ldelim}content}</code>. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc.</p><p>Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.</p><h3>User defined tags</h3><p>Users can also create their own tags to insert in templates or pages., these are called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality to your site. User defined tags are inserted in templates and pages just like tags: <code>{ldelim}tagname}</code>.</p><p>Typically, user defined tags provide a utility that is special to a website, and likely won't need to be re-used on another site. Also they are typically small and used for simple tasks.</p><h3>Modules</h3><p>Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.</p><p>An extremely well defined API <em>(Application Programming Interface)</em> has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.</p><p>There are {cms_selflink page='modules' text='a few modules included'} with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.</p><p>The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.</p><p>To insert modules in a template or a page, you actually use the module name as a parameter to the <code>{ldelim}cms_module}</code> tag. It looks like this: <code>{ldelim}cms_module module='modulename' parameter1='this' parameter2=5 parameter3='that'}</code>. It is normal for modules to accept parameters to effect changes to their default behavior, though it is not always required.</p><h3>Read more</h3><p>You can read more about extensions in the <a class="external" href="http://docs.cmsmadesimple.org/modules/add-ons">CMSMS documentation</a>.</p><p>Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.</p><p>In brief here's how it works:</p><p>a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there's some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.</p><p>b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.</p><p>c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.</p><p>These are the basic steps when creating a website with CMS Made Simple:</p><ol><li><em>Plan</em> -- Determine what pages you want (structure) and how you want these pages to look (design). </li><li><em>Create Templates</em> -- Create one or several template(s) that determine the layout of your pages. </li><li><em>Style the Templates</em> -- Attach one or more stylesheets to each template and style the layout and content with CSS. </li><li><em>Create Pages</em> -- Then you create pages, add content to them and select what template to use for each page. </li></ol><p>When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.</p><p>The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:</p><ul><li><a class="external" href="http://docs.cmsmadesimple.org/">The CMSMS Documentation Website</a> -- Start here, the documentation is maintained by the CMSMS Dev-team</li><li><a class="external" href="http://forum.cmsmadesimple.org/">The CMSMS Forums</a> -- here you can search for answers to your questions or ask just about anything.</li><li><a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.</li></ul><p>Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.</p><p>Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on <a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> or hit the <a class="external" href="http://forum.cmsmadesimple.org/">forums</a> to get involved.</p><p>CMS Made Simple {cms_version} was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.</p><p>The tags that are unique to templates in CMS Made Simple are described on the page {cms_selflink page='cmsms_tags' text='CMSMS tags in the templates'} (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.</p><h4>Changing the style of Default Templates</h4><p>All of the templates and style sheets have comments throughout them to help you find where to change the look of them.</p><h3>Menus/navigation</h3><p>Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. <strong>CSSMenu </strong>is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation, {cms_selflink page='cssmenu_horizontal' text='one with the menu horizontally at the top'} and the other {cms_selflink page='cssmenu_vertical' text='with the menu vertically to the left'}.</p><p>The other navigation type is what we call <strong>Simple Navigation</strong>. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here {cms_selflink page='top_left' text='one page template is using a horizontal simple navigation'} and the other {cms_selflink page='navleft' text='a vertical menu'}.</p><p>The menu tag in each template is used like this: <code>{ldelim}menu template='cssmenu'}</code>, where the <code>cssmenu</code> is the name of the Menu Manager template, if you make a custom menu template you don't need to use the on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.</p><p>Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the <a class="external" href="http://docs.cmsmadesimple.org/layout/create-your-own-template">documentation website</a>.</p><div class="templatecode"><h3>Page title</h3><pre><title>{ldelim}sitename} - {ldelim}title}</title></pre><p>For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.</p><p><em>Read more</em> about the <code>{ldelim}sitename}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Metadata</h3><pre>{ldelim}metadata}</pre><p>This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.</p><p>It is also used for knowing the base folder for your site when using pretty URLs. So don't remove this if you use Pretty URLs!</p><p><em>Read more</em> about the <code>{ldelim}metadata}</code>tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets (deprecated)</h3><pre>{ldelim}stylesheet}</pre><p>This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p><em>Read more</em> about the <code>{ldelim}stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets</h3><pre>{ldelim}cms_stylesheet}</pre><p>This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p>The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.</p><p><em>Read more</em> about the <code>{ldelim}cms_stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Relational links</h3><pre>{ldelim}cms_selflink dir="start" rellink=1}{ldelim}cms_selflink dir="prev" rellink=1}{ldelim}cms_selflink dir="next" rellink=1}</pre><p>These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page width in Internet Explorer 6</h3><pre>{ldelim}literal}<script type="text/JavaScript"><!--//pass min and max -measured against window widthfunction P7_MinMaxW(a,b){ldelim} var nw="auto",w=document.documentElement.clientWidth; if(w>=b){ldelim}nw=b+"px";}if(w<=a){ldelim}nw=a+"px";}return nw;}//--></script><!--[if lte IE 6]><style type="text/css">#pagewrapper {ldelim}width:expression(P7_MinMaxW(720,950));}#container {ldelim}height: 1%;}</style><![endif]-->{ldelim}/literal}</pre><p>This isn't a tag really, but displays how to insert JavaScript in a CMSMS template.</p><p>The default templates use fluid page width. But Internet Explorer 6 doesn't understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout ..."</p></div><div class="templatecode"><h3>Skip links for accessibility</h3><pre>{ldelim}anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}</pre><p>Anchor links (links to an anchor in the same page) are inserted with the <code>{ldelim}anchor}</code> tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.</p><p><em>Read more</em> about the <code>{ldelim}anchor}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Header with logo image that links to default page</h3><pre>{ldelim}cms_selflink dir="start" text="$sitename"}</pre><p>In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The <code>dir="start"</code> parameter in the {ldelim}cms_selflink} tag is used for this. To get the site name as the text for the link, the <code>$sitename</code> variable is used.</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Search</h3><pre>{ldelim}search}</pre><p>To insert a search form on your site, simply use the {ldelim}search} tag. Search is actually a module and should therefore be called as a parameter in the {ldelim}cms_module} tag, like this: <code>{ldelim}cms_module module='search'}</code>. But to simplify matters, we did a wrapper tag so that it's easier to remember.</p><p><em>Read more</em> about the Search module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>Breadcrumbs</h3><pre>{ldelim}breadcrumbs starttext='You are here' root='Home' delimiter='»'}</pre><p>Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text 'You are here' before the path and force 'Home' to always be the root in the path, even if it isn't. With the delimiter parameter you can select the delimiter that separates entries in the path.</p><p><em>Read more</em> about the <code>{ldelim}breadcrumbs}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Navigation</h3><pre>{ldelim}menu template='simple navigation' collapse='1'}</pre><p>This is how you insert a menu where you want it to appear. Like the <code>{ldelim}search}</code> tag, this is actually just a wrapper tag, as the Menu Manager is a module.</p><p>In the default templates the menu manager template that is used for the menus are stored in files. That's why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.</p><p><em>Read more</em> about the Menu Manager module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>News</h3><pre>{ldelim}news number='3' detailpage='news'}</pre><p>This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias 'news'. That's what the detailpage parameter is doing.</p><p>Like all core modules there is a wrapper tag for the News module, to make it easier to use.</p><p><em>Read more</em> about the News module tag in Extensions » News in the Admin Panel.</p></div><div class="templatecode"><h3>Print button</h3><pre>{ldelim}print showbutton=true script=true}</pre><p>The <code>{ldelim}print}</code> tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.</p><p>The <code>{ldelim}print}</code> tag prints everything that is in your <code>{ldelim}content}</code> tag, that is only the content for a page.</p><p><em>Read more</em> about the <code>{ldelim}print}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page content</h3><pre><h2>{ldelim}title}</h2>{ldelim}content}</pre><p>Maybe the most important tag in your template. Where you put the <code>{ldelim}content}</code> is where the content for your page will appear.</p><p>We have also chosen to put the page title on every page (the <code>{ldelim}title}</code> tag), so that you don't have to put that in the content for every page.</p><p>The default <code>{ldelim}content}</code> tag is <strong>required</strong> for all templates.</p><p><em>Read more</em> about the <code>{ldelim}content}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Previous/next links</h3><pre>{ldelim}anchor anchor='main' text='^ Top'}{ldelim}cms_selflink dir="previous"}{ldelim}cms_selflink dir="next"}</pre><p>Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).</p></div><div class="templatecode"><h3>Page footer</h3><pre>{ldelim}global_content name='footer'}</pre><p>Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the <code>{ldelim}global_content}</code> tag. It's also useful for content or HTML code that is reused on several pages or templates.</p><p>In the default templates we have put the footer text in a Global Content Block with the name 'footer'. You find the Global Content Blocks in the Content menu in the Admin Panel.</p><p><em>Read more</em> about the <code>{ldelim}global_content}</code> tag in Extensions » Tags in the Admin Panel.</p></div><p>This template has the menu in left sidebar. The menu is using the <strong>Simple Navigation</strong> menu template. It is styled in the stylesheet called <strong>Navigation Simple - Vertical</strong>.</p><p>You can easily float the sidebar with the menu to the right instead. Look in the <strong>Layout Left sidebar + 1 column</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p><p>With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to <strong>Default Templates Explained</strong>.</p><h3>The {ldelim}menu} tag</h3><p>The <code>{ldelim}menu}</code> tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: <code>{ldelim}menu template='Simple Navigation' number_of_levels='1'}</code>.</p><p>The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.</p><p>The tag for the sub navigation looks like this: <code>{ldelim}menu template='simple_navigation.tpl' start_level='2' collapse='1'}</code>.</p><h3>Attached style sheets for the menu</h3><p>As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. <strong>Navigation Simple - Horizontal</strong> is for styling the horizontal main menu. <strong>Navigation Simple - Vertical</strong> on the other hand, contains the style for the sub navigation to the left.</p><h3>Both using the same Menu Manager template</h3><p>However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.</p><h3>Floating the sidebar to the right</h3><p>You can easily float the sidebar with the sub navigation to the right instead. Look in the <strong>Layout Top menu + 2 columns</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p><p>This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.</p><p>The code we have inserted in the template that this page is using is simply <code>{ldelim}menu template='cssmenu.tpl'}</code>. You style the menu in the stylesheet <strong>Navigation CSSMenu - Horizontal</strong> or <strong>Navigation CSSMenu - Vertical</strong> for the vertical CSSMenu.</p><p>But to be on the safe side, copy this style sheet and attach your new style sheet to the template instead (and make your changes in your new style sheet). Then you can always revert to the default style sheet if something goes wrong.</p><p>Just some test content goes here as an example of a very long sentence that probably should have been divided into several smaller sentences, were it not for this just being a test sentence on one of the default pages of CMS Made Simple, an excellent Content Management System for easily creating web sites, this sentence is added when adding/editing a page in the Sidebar: text area, this comes from the template place holder {ldelim}content block='Sidebar'}.</p><p>This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn't a whole lot to say about it.</p><h3>Filler Text</h3><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut ac leo in lorem ultricies sollicitudin. Vivamus molestie elit nec nulla. Suspendisse potenti. Suspendisse at lorem. Donec pulvinar, magna eget molestie pretium, justo sem iaculis urna, eget condimentum nibh augue pellentesque arcu. Integer tristique tempor mauris. Sed justo orci, commodo volutpat, sagittis vitae, varius vitae, massa. Maecenas pede ligula, iaculis sit amet, pharetra eu, adipiscing consectetuer, eros. Duis ullamcorper nisl ac magna. Nunc neque dolor, posuere dapibus, convallis non, tristique sed, nibh. Suspendisse quis leo. Phasellus pretium erat ut purus. Duis facilisis consectetuer sapien. Nulla eget pede ut nisl faucibus consequat. Quisque erat lectus, luctus in, pellentesque ac, adipiscing eu, enim. Donec ultrices laoreet urna.</p><h3>Subheading</h3><p>Vestibulum vitae tellus. Fusce quis ligula. Cras mi. Mauris congue, lacus eget rhoncus venenatis, mi nunc volutpat nisl, ut ornare erat augue quis mauris. Nulla in sem. Donec semper odio ac ante. Cras a libero in risus mattis commodo. Phasellus pellentesque lectus. Donec a mi. Integer euismod neque at arcu. Morbi ligula nulla, dapibus nec, fermentum ut, tristique vel, pede. Morbi at diam. Vestibulum quam. Cras consectetuer wisi id neque. Etiam dictum vulputate ligula. Aliquam erat volutpat. Proin vitae lorem in justo imperdiet nonummy. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse leo. Sed in eros ut lectus lacinia condimentum.</p><p>This is an example of the very minimal that needs to be in a CMSMS template. No stylesheet is attached to the template, which is why it doesn't look very nice...</p><p>However, to make it slightly more appealing, some inline styling was used, for floating the content to the right of the menu.</p><p>The menu in this page template is using the <strong>Minimal Navigation</strong> template for Menu Manager. No accessibility stuff is in there, so it's recommended that the <strong>Simple Navigation</strong> menu template is rather used.</p><p>These are more complex then some of the other templates, especially the menus, they all 3 use the same menu template. Which shows you the power of CSS.</p><p>Be forewarned, if you use IE6 you won't see the best effects in any of the shadow menus that you see using a more standards compliant browser. I mean it's still nice grant you but... just upgrade your browser if you can.</p><h3>The Differences</h3><p>Starting with NCleanBlue you get a really nice, subtle Tabbed menu, then it goes on to have a real nice drop down effect.</p><p>You get a real nice 2.0 header and footer, great color scheme and the search is way cool, it's just a great theme, what can I say, thanks Nuno.</p><p>Then the next 2 submenus have another version of the shadowed drop, the first step will point up for the top sub menu and to the right for the left sub menus.</p><p>These 2 are the same layout as CSSMenu top + 2 columns and CSSMenu left + 1 column, respectively, except for the menu template and some CSS.</p><p>We hope you enjoy these, for any changes you want to make it's always best to copy the original style sheet for safe keeping, you never know when you may need it.</p><p>Nuno has graciously supplied us with another of his great looking designs.</p><p>This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">&nbsp; </li> this is used to hold the bottom image.</p><h3>Filler Text</h3><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><p>Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><h4>Filler Text</h4><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras sodales gravida est. Nullam enim ipsum, convallis quis, iaculis quis, facilisis eu, felis. Proin euismod hendrerit tortor. Aliquam erat volutpat. Morbi tempus diam sit amet neque. Sed sem metus, sagittis vel, lobortis ac, tempus sit amet, wisi. Phasellus in diam. Maecenas ultrices rutrum mauris. Vestibulum dolor justo, blandit a, posuere quis, varius at, tellus. Vestibulum convallis. Nulla ut leo sed elit eleifend varius. Aenean eget est id lorem posuere laoreet.</p><p>Again using the same menu template as the two previous themes. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the second level and third level ul are now using the same image that has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><p>Simplex Theme has been created to demonstrate HTML5 and CSS3 functionality within CMS Made Simple™.<br />It is shipped with a CSS Framework making it possible for you to create Responsive and Mobile capabale layouts with ease.</p><h2>What is included?</h2><p>With this Template you will find four Stylesheets attached to it.</p><ul><li>Simplex Core</li><li>Simplex Layout</li><li>Simplex Mobile</li><li>Simplex Print</li></ul><p>Main Functionality of this Template is included in Core Stylesheet. It contains a simple Fluid Grid Framework based on <a class="external" href="http://960.gs/" title="960 Grid System" target="_blank">960 Grid System</a>.<br />In this same Stylesheet CSS <a class="external" href="http://www.w3.org/TR/css3-mediaqueries/" title="W3C Media Queries" target="_blank">Media Queries</a> are being used that make it possible for a flexible layout based on Screen width.<br /><br />With Simplex Theme it is very easy to quickly change appearance of complete Site at once. If you look at Page Template code you will find "boxed" id in the <code><body></code> tag.<br />When this id is removed the Layout of the Site is changed and you would face a simple layout with White background.<br />You can also quickly change allignement of the complete Site. If you change the class of "wrapper" div to leftaligned or rightaligned, whole Page will be aligned to left or right.</p><h2>Support for Mobile Devices</h2><p>As mentioned above this Theme is shipped with Stylesheet Framework that gives you a starting point for easy developement of Responsive Layout.<br />Mobile world is very versatile and Framework itself is by no means perfect, it is only a starting point but as a Developer you should decide which technique you should use for your current Project.<br />Responsive Template is only one small step towards Mobile support.</p><p>This Theme requires <a class="external" href="http://jquery.org/" title="jQuery" target="_blank">jQuery</a> which is included with <code>{ldelim}cms_jquery{rdelim}</code> tag.</p><p><cite>Note: {ldelim}cms_jquery{rdelim} tag is included at the bottom of the Template. You should be carefull with it when you are using Modules that include jQuery in <head> section.</cite></p><p>In file functions.js a section is included that makes it possible of Navigating through site with some Mobile Devices. This part of the code, covers only few devices and it is only meant as an example and a starting point for Developer.</p><h2>This and that</h2><p>As an example of <a class="external" href="http://www.smarty.net/" title="Smarty" target="_blank">Smarty</a> power within CMS Made Simple™ Templates a very simple Slider has been included, which demonstartes how easy it is to quickly create a Slideshow without a single Module.</p><pre><code>{ldelim}assign var='teaser' value='uploads/simplex/teaser/*.jpg'|glob{rdelim}<br />{ldelim}foreach from=$teaser item='one'{rdelim}<br /> <div><img src='{ldelim}root_url{rdelim}/{ldelim}$one{rdelim}' width='852' height='275' alt='' /></div><br />{ldelim}/foreach{rdelim}<br /> {/strip}</code></pre><p><cite>If you would like to make this Slider responsive you should include a additional jQuery Plugin like for example <a class="external" href="http://swipejs.com" target="_blank" title="SwipeJS">SwipeJS</a></cite></p><p>In included Stylesheets, Smarty has been used as well. This should make it possible for you, to quickly change Color scheme of the theme by simply changing HEX code within assign Tags.</p><pre><code>[[assign var='boxed_bg' value="#d1d1d1 url(`$path`/boxed-bg.gif)"]][[assign var='light_grey' value='#f1f1f1']]<br />[[assign var='grey' value='#e9e9e9']]<br />[[assign var='dark_grey' value='#555']]<br />[[assign var='white' value='#fff']]<br />[[assign var='orange' value='#f39c2c']]<br />[[assign var='dark_orange' value='#e6870e']]<br />[[assign var='yellow' value='#fdbd34']]</code></pre><p>If you are using a modern Browser, you will notice that the Theme is using some of <a class="external" href="http://www.w3.org/TR/CSS/#css3" title="CSS3" target="_blank">CSS3</a> techniques. There are no Internet Explorer fallbacks included but this doesn't mean that it does not work in Internet Explorer.<br />A Visitor that is using Internet Explorer will simply see a Layout with gracefull fallback, meaning animations will not animate, rounded corners will be edges...</p><p><em>Note from Theme Develper Goran Ilic (uniqu3e):</em></p><blockquote><cite>The Simplex Theme was kept simplistic which should make it possible for a Developer to easily read code used in Theme and either create a new Layout from it or editing this Theme.<br /><br />A full Internet Explorer or Mobile support was intentionally not included, as each Developer should decide how far a old Browser like Internet Explorer (7,8) or which Mobile devices he wants to support and which Technique he will use.<br />Each Project is different and with each Project there is a need for different techniques.</cite></blockquote><p>With the default installation of CMS Made Simple come six modules and a number of tags. The features of these are described and displayed on the following pages.</p><p>To find out more about the core modules, click {cms_selflink page='modules' text='Modules'}. For an explanation the core tags, simply click {cms_selflink page='tags' text='Tags'}.</p><p>There are six modules that come with the default installation of CMS Made Simple. On the following pages we explain how these are used. Click on each module name in the menu to the left or in the list below.</p><p>To insert a module in a template or a page you normally use the <code>{ldelim}cms_module}</code> tag with the module name as one of the parameters. But to simplify things, all core modules also have a tag wrapper, so that they are called simple by their name, like <code>{ldelim}news}</code>.</p><ul><li>{cms_selflink page='news' text='News'}</li><li>{cms_selflink page='menu-manager-2' text='Menu Manager'}</li><li>{cms_selflink page='theme-manager' text='Theme Manager'}</li><li>{cms_selflink page='microtiny' text='MicroTiny'}</li><li>{cms_selflink page='search' text='Search'}</li><li>{cms_selflink page='module-manager' text='Module Manager'}</li></ul><p>Most web sites have a section for the latest news. In CMS Made Simple the best way to accomplish that is by using the News module.</p><p>To display a list of news items you insert the tag <code>{ldelim}news number='5' category='General'}</code>. On this page the tag is inserted in the template. But it can also be inserted on a page. You can see the News module in use in the sidebar to the left.</p><p>There are a number of parameters that can be used in conjunction with this tag. To read about how a module is used, navigate to Extensions » Modules in the Admin Panel and click on "Help" for the module you want to read about.</p><p>The Menu Manager has already been explained on the How CMSMS Works » {cms_selflink page='menu-manager' text='Menu Manager'} page. It is a very powerful module that can be used for any kind of navigation system on your web site.</p><p>The Theme Manager module allows you to import and export templates and their attached stylesheets, including any images they use, as "themes". This allows you to share your look and feel with other CMSMS users.</p><p>It is very easy to convert any kind of template to be used with CMS Made Simple. Many templates like this have already been converted and can be installed using the Theme Manager, the CMSMS community also shares themes for anyone to download and use at the <a class="external" target="_blank" href="http://themes.cmsmadesimple.org">CMSMS Themes site</a>.</p><p>MicroTiny is a so called WYSIWYG editor for editing pages. WYSIWYG stands for What You See Is What You Get. It works similar to a word processor, where you can select the style for the content and see how it is going to look on the page.</p><p>Among available WYSIWYG editors CMS Made Simple has decided to use MicroTiny (the stripped down version of TinyMCE). TinyMCE is among the most developed WYSIWYG editors, with regular updates, a large following and customizable features.</p><p>However, it is very difficult to create a cross-browser online editor that works in all different kinds of environments. If you are familiar with HTML you can select no WYSIWYG in My Preferences » User Preferences in the Admin Panel. That gives you more control over the code that will be on the page.</p><p>There are also other WYSIWYG editor modules available for download.</p><p>Search is a module for searching "core" content along with certain registered modules. You put in a word or two and it gives you back matching, relevant results.</p><p>You can see the search module in use in the default templates, like on this page. Simply put <code>{ldelim}search}</code> in your template, where you want the search form to appear. If you want the results of a search to appear on a different page, you can specify this with the parameter <code>resultpage='page alias'</code>.</p><p>For more information, see the Search module in the Admin Panel, in the Extensions menu.</p><p>A client for the ModuleRepository, this module allows you to see what modules are available, the version number, size, and Status/Action (whether it is already installed or not), read the Help and About for each module, letting you install modules from remote sites without the need for FTP'ing, or unzipping archives. Module XML files are downloaded using SOAP, integrity verified, and then expanded automatically.</p><p>ModuleManager now checks dependencies. When dependencies are set, the module wont install until dependencies are met. Also a new tab is available, that shows newer versions of installed modules.</p><p>In short, this means that you can download and install modules directly from the Admin Panel. Any module that has been released as an XML file can be downloaded and installed. Go to Extensions » Module Manager in the Admin Panel to see the list of modules from the official CMSMS repository in the CMSMS Development Forge.</p><p>There are a number of custom tags included with the default CMS Made Simple installation. They are all described and demonstrated in the following page, and user defined tags are in the next one.</p><p>To use a tag, simply put it in the template or page like this: {ldelim}nameoftag}. Some tags can also take parameters, which are described in the Help that is accessible for each tag in Extensions » Tags in the Admin Panel.</p><p>There are plenty of tags included with the CMSMS core. Some of them are demonstrated here, for any questions as to the parameters they can take or anything else please see the Tags Help.</p><h3>{ldelim}anchor}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}anchor anchor='here' text='Scroll Down' class='myclass' title='mytitle' tabindex='1' accesskey='s'}</code></dd> <dt>Display</dt> <dd>Creates a link to an anchor on the same page. Used for example for the ^Top link at the bottom of this page.</dd> </dl><h3>{ldelim}cms_breadcrumbs{rdelim}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_breadcrumbs root='Home'{rdelim}</code></dd> <dt>Display</dt> <dd>Breadcrumbs are a navigational technique displaying all visited pages leading from the home page to the currently viewed page. You find it under the header on this page.</dd></dl><h3>{ldelim}cms_module}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_module module='somemodulename' param1='something' param2=true}</code></dd> <dt>Display</dt> <dd>This tag is used to insert modules into your templates and pages. Used for any module that you download. In the default templates, wrapper tags are used for inserting modules though. That is, a tag is made to insert a cms_module tag.</dd> </dl><h3>{ldelim}cms_selflink}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_selflink page="1"}</code> or <code>{ldelim}cms_selflink page="alias"}</code></dd> <dt>Display</dt> <dd>Creates a link to another CMSMS content page inside your template or content. Can also be used for external links with the ext parameter. </dd> <dt>Example</dt> <dd>{cms_selflink page='modules' text='Link to the modules page'} </dd> <dd><a class="external" href="http://www.cmsmadesimple.org">This is an external link to the CMS Made Simple website</a></dd> </dl><h3>{ldelim}cms_version}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_version}</code></dd> <dt>Display</dt> <dd>Displays current version number of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}cms_versionname}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_versionname}</code></dd> <dt>Display</dt> <dd>Displays current version name of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}current_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}current_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the current date and time.</dd> <dt>Example</dt> <dd>{current_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}embed}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}embed url="http://www.cmsmadesimple.org"}</code></dd> <dt>Display</dt> <dd>Enable inclusion (embeding) of any other application into the CMS. The most usual use could be a forum. </dd> </dl><h3>{ldelim}global_content}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}global_content name='footer'}</code></dd> <dt>Display</dt> <dd>Inserts a Global Content Block (previously known as HTML blob) into your template or page. The code for the footer of this page is in a Global Content Block. </dd> </dl><h3>{ldelim}menu_text}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}menu_text}</code></dd> <dt>Display</dt> <dd>Prints the menu text of the page.</dd> <dt>Example</dt> <dd>{menu_text}</dd> </dl><h3>{ldelim}modified_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}modified_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the date and time the page was last modified. </dd> <dt>Example</dt> <dd>{modified_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}print}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}CMSPrinting}</code></dd> <dt>Display</dt> <dd>Creates a link to only the content of the page.</dd> <dt>Example</dt> <dd>{ldelim}CMSPrinting}</dd> </dl><h3>{ldelim}site_mapper}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}site_mapper}</code></dd> <dt>Display</dt> <dd>Prints out a sitemap.</dd> <dt>Example</dt> <dd>{site_mapper}</dd> </dl><p>One of the little known features of CMS Made Simple is the User Defined tag. Basically, this allows you to write PHP code inside the Admin Panel. Use the 'Add User Defined Tag' button in Extension » User Defined Tags in the Admin Panel, write some code, and then insert into a template or page with {literal}{newpluginname}{/literal}. Simple!</p><p>As an example, I've put together a one line plugin/tag that will show your current User Agent information (which browser you're using). The output is right here: <strong>{user_agent}</strong>.</p><p>If you're not looking at the source, all that is in the page is {literal}{user_agent}{/literal}. To see how this code works, edit the user_agent tag in the Extensions » User Defined Tags page of the admin.</p><p>This is a VERY powerful feature if used right. Remember, user defined tags do not get cached, therefore, scripts to rotate ad banners and such will work just fine. Note also that tag code has to be written <em>without</em> opening < ? php and ending ? > tags.</p><?php include_once($profile_dir . DIRECTORY_SEPARATOR . 'profile_helpers.php'); if( !function_exists('default_profile_upsert_design_template') ) { function default_profile_upsert_design_template($name, $type_name, $source_path, $design_name) { $content = default_profile_read_asset($source_path); try { $template = \CmsLayoutTemplate::load($name); } catch( \Exception $e ) { $template = new \CmsLayoutTemplate(); $template->set_name($name); $template->set_owner(1); } $template->set_content($content); $template->set_type(\CmsLayoutTemplateType::load($type_name)); if( $design_name ) { $template->add_design($design_name); } $template->save(); } } if( !function_exists('default_profile_try_design_template') ) { function default_profile_try_design_template($name, $type_name, $source_path, $design_name) { try { default_profile_upsert_design_template($name, $type_name, $source_path, $design_name); } catch( \Exception $e ) { return FALSE; } return TRUE; } } default_profile_upsert_design_template( 'Simplex Main Navigation', 'Navigator::navigation', 'module_templates/navigator/Simplex_Main_Navigation.tpl', 'Simplex' ); default_profile_upsert_design_template( 'Simplex Footer Navigation', 'Navigator::navigation', 'module_templates/navigator/Simplex_Footer_Navigation.tpl', 'Simplex' ); default_profile_upsert_design_template( 'Simplex Search', 'Search::searchform', 'module_templates/search/Simplex_Search_template.tpl', 'Simplex' ); default_profile_try_design_template( 'Simplex News Summary', 'News::summary', 'module_templates/news/Summary_Simplex_template.tpl', 'Simplex' ); default_profile_try_design_template( 'Simplex News Detail', 'News::detail', 'module_templates/news/Simplex_Detail_template.tpl', 'Simplex' ); ?> { "name": "Default", "description": "Installs the full starter site with example pages, multiple sample designs, navigation examples and editable demo content for learning or quick evaluation.", "default_selected": true, "manifest_files": { "designs": "manifest/designs.php", "template_types": "manifest/template_types.php", "templates": "manifest/templates.php", "stylesheets": "manifest/stylesheets.php", "pages": "manifest/pages.php", "copies": "manifest/copies.php" } } <?php if( !function_exists('default_profile_read_asset') ) { function default_profile_read_asset($relative_path) { global $profile_dir; $relative_path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $relative_path); $filename = $profile_dir . DIRECTORY_SEPARATOR . $relative_path; if( !is_file($filename) ) { throw new RuntimeException('Missing default profile asset: '.$filename); } return file_get_contents($filename); } } if( !function_exists('default_profile_copy_tree') ) { function default_profile_copy_tree($source, $destination) { if( !is_dir($source) ) return; if( !is_dir($destination) ) { if( !@mkdir($destination, 0777, TRUE) && !is_dir($destination) ) { throw new RuntimeException('Could not create default profile directory: '.$destination); } } $dh = opendir($source); if( !$dh ) { throw new RuntimeException('Could not read default profile directory: '.$source); } while( ($entry = readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $src = $source . DIRECTORY_SEPARATOR . $entry; $dst = $destination . DIRECTORY_SEPARATOR . $entry; if( is_dir($src) ) { default_profile_copy_tree($src, $dst); continue; } if( !@copy($src, $dst) ) { throw new RuntimeException('Could not copy default profile asset: '.$src); } } closedir($dh); } } if( !function_exists('default_profile_copy_file') ) { function default_profile_copy_file($source, $destination) { $target_dir = dirname($destination); if( !is_dir($target_dir) ) { if( !@mkdir($target_dir, 0777, TRUE) && !is_dir($target_dir) ) { throw new RuntimeException('Could not create default profile directory: '.$target_dir); } } if( !@copy($source, $destination) ) { throw new RuntimeException('Could not copy default profile asset: '.$source); } } } if( !function_exists('default_profile_include') ) { function default_profile_include($relative_path) { global $profile_dir; $relative_path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $relative_path); $filename = $profile_dir . DIRECTORY_SEPARATOR . $relative_path; if( !is_file($filename) ) { throw new RuntimeException('Missing default profile script: '.$filename); } include($filename); } } if( !function_exists('default_profile_create_layout_template') ) { function default_profile_create_layout_template($params) { $template = new CmsLayoutTemplate(); $template->set_name($params['name']); $template->set_owner($params['owner']); $template->set_type($params['type']); $template->set_content(default_profile_read_asset($params['asset'])); if( !empty($params['description']) ) { $template->set_description($params['description']); } if( !empty($params['type_default']) ) { $template->set_type_dflt(TRUE); } $template->save(); if( !empty($params['designs']) && is_array($params['designs']) ) { foreach( $params['designs'] as $design ) { if( is_object($design) ) { $design->add_template($template); } } } return $template; } } ?> /* accessibility */ /* menu links accesskeys */ span.accesskey { text-decoration: none; } /* accessibility divs are hidden by default, text, screenreaders and such will show these */ .accessibility, hr { /* position set so the rest can be set out side of visual browser viewport */ position: absolute; /* takes it out top side */ top: -999em; /* takes it out left side */ left: -999em; } /* definition tags are also hidden, these are also used for accessibility menu links */ dfn { position: absolute; left: -1000px; top: -1000px; width: 0; height: 0; overflow: hidden; display: inline; } /* end accessibility */ /* wiki style external links */ /* external links will have "(external link)" text added, lets hide it */ a.external span { position: absolute; left: -5000px; width: 4000px; } a.external { /* make some room for the image, css shorthand rules, read: first top padding 0 then right padding 12px then bottom then right */ padding: 0 12px 0 0; } /* colors for external links */ a.external:link { color: #18507C; /* background image for the link to show wiki style arrow */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:visited { color: #18507C; /* a different color can be used for visited external links */ /* Set the last 0 to -100px to use that part of the external.gif image for different color for active links external.gif is actually 300px tall, we can use different positions of the image to simulate rollover image changes.*/ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:hover { color: #18507C; /* Set the last 0 to -200px to use that part of the external.gif image for different color on hover */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% 0; background-color: inherit; } /* end wiki style external links */ /* clearing */ /* clearfix is a hack for divs that hold floated elements. it will force the holding div to span all the way down to last floated item. We strongly recommend against using this as it is a hack and might not render correctly but it is included here for convenience. Do not edit if you dont know what you are doing*/ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clear { height: 0; clear: both; width: 90%; visibility: hidden; } #main .clear { height: 0; clear: right; width: 90%; visibility: hidden; } * html>body .clearfix { display: inline-block; width: 100%; } * html .clear { /* Hides from IE-mac \*/ height: 1%; clear: right; width: 90%; /* End hide from IE-mac */ } /* end clearing *//********************************************* Sample stylesheet for mobile and small screen handheld devices Just a simple layout suitable for smaller screens with less styling cabapilities and minimal css Note: If you dont want to support mobile devices you can safely remove this stylesheet. *********************************************/ /* remove all padding and margins and set width to 100%. This should be default for handheld devices but its good to set these explicitly */ body { margin:0; padding:0; width:100%; } /* hide accessibility noprint and definition */ .accessibility, .noprint, dfn { display:none; } /* dont want to download image for header so just set bg color */ div#header, div#footer { background-color: #385C72; color: #fff; text-align:center; } /* text colors for header and footer */ div#header a, div#footer a { color: #fff; } /* this doesnt look as nice, but takes less space */ div#menu_vert ul li, div#menu_horiz ul li { display:inline; } /* small border at the bottom to have some indicator */ div#menu_vert ul, div#menu_horiz ul { border-bottom:1px solid #fff; } /* save some space */ div.breadcrumbs { display:none; }/* browsers interpret margin and padding a little differently, we'll remove all default padding and margins and set them later on */ * { margin: 0; padding: 0; } /*Set initial font styles*/ body { text-align: left; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 75.01%; line-height: 1em; } /*set font size for all divs, this overrides some body rules*/ div { font-size: 1em; } /*if img is inside "a" it would have borders, we don't want that*/ img { border: 0; } /*default link styles*/ a, a:link a:active { /* set all links to have underline */ text-decoration: underline; /* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */ background-color: inherit; /* this is a bluish color, you change this for all default link colors */ color: #18507C; } a:visited { /* keeps the underline */ text-decoration: underline; background-color: inherit; /* a different color is used for visited links */ color: #18507C; } a:hover { /* remove underline on hover */ text-decoration: none; background-color: inherit; /* using a different color makes the hover obvious */ color: #385C72; } /*****************basic layout *****************/ body { margin: 0; padding: 0; /* default text color for entire site*/ color: #333; /* you can set your own image and background color here */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/body.png) repeat-x left top; } div#pagewrapper { /* min max width, IE wont understand these, so we will use java script magic in the <head> */ max-width: 99em; min-width: 60em; /* now that width is set this centers wrapper */ margin: 0 auto; background-color: #fefefe; color: black; } /* header, we will hide h1 a text and replace it with an image, we assign a height for it so the image wont cut off */ div#header { /* adjust according your image size */ height: 100px; margin: 0; padding: 0; /* you can set your own image here, will go behind h1 a image */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/bg_banner.png) repeat-x left top; /* border just the bottom */ border-bottom: 1px solid #D9E2E6; } div#header h1 a { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; /* this will make the "a" link a solid shape */ display: block; /* adjust according your image size */ height: 100px; /* this hides the text */ text-indent: -999em; /* old firefox would have shown underline for the link, this explicitly hides it */ text-decoration: none; } div#header h1 { margin: 0; padding: 0; /*these keep IE6 from pushing the header to more than the set size*/ line-height: 0; font-size: 0; /* this will keep IE6 from flickering on hover */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; } div#header h2 { /* this is where the site name is */ float: right; line-height: 1.2em; /* this keeps IE6 from not showing the whole text */ font-size: 1.5em; /* keeps the size uniform */ margin: 35px 65px 0px 0px; /* adjust according your text size */ color: #f4f4f4; } div.crbk { /* sets all to 0 */ margin: 0; padding: 0; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.breadcrumbs { /* CSS short hand rule first value is top then right, bottom and left */ padding: 1em 0em 1em 1em; /* its good to set font sizes to be relative, this way viewer can change his/her font size */ font-size: 90%; /* css shorthand rule will be opened to be "0px 0px 0px 0px" */ margin: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleftup.gif) no-repeat left bottom; } div.breadcrumbs span.lastitem { font-weight: bold; } div#search { /* position for the search box */ float: right; /* enough width for the search input box */ width: 27em; text-align: right; padding: 0.5em 0 0.2em 0; margin: 0 1em; } /* a class for Submit button for the search input box */ input.search-button { border: none; height: 22px; width: 53px; margin-left: 5px; padding: 0px 2px 2px 0px; /* makes the hover cursor show, you can set your own cursor here */ cursor: pointer; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/search.gif) no-repeat center center; } div#content { /* some air above and under menu and content */ margin: 1.5em auto 2em 0; padding: 0px; } /* this gets all the outside calls that were used on the div#main before */ div.back1 { /* this will give room for sidebar to be on the left side, make sure this number is bigger than sidebar width */ margin-left: 29%; /* and some air on the right */ margin-right: 2%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } /* this is an IE6 hack, you may see these through out the CSS */ * html div.back1 { /* unlike other browser IE6 needs float:right and a width */ float: right; width: 69%; /* and we take this out or it will stop at the bottom */ margin-left: 0%; /* and some air on the right */ margin-right: 10px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div.back2 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleft1.gif) no-repeat left top; } div.back3 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div#main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/rtup.gif) no-repeat right bottom; } div.back #main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 30px 1px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div.back { /* this will give room for sidebar to be on the left side, make sure this space is bigger than sidebar width */ margin-left: 29%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div#sidebar { /* set sidebar left. Change to right, float: right; instead, but you will need to change the margins. */ float: left; /* sidebar width, if you change this change div.back and/or div.back1 margins */ width: 26%; /* FIX IE double margin bug */ display: inline; /* the 20px is on the bottom, insures space above footer if longer than content */ margin: 0px 0px 20px; padding: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div#sidebara { padding: 13px 15px 3px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div#sidebarb { padding: 10px 10px 1px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.footback { /* keep footer below content and menu */ clear: both; /* this sets 10px on right to let the right image show, the balance 10px left on next div */ padding: 0px 10px 0px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wfootrt.gif) no-repeat right top; } div#footer { /* this sets 10px on left to balance 10px right on last div */ padding: 0px 0px 0px 10px; /* color of text, the link color is set below */ color: #595959; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div.leftfoot { float: left; width: 30%; margin-left: 20px } div#footer p { /* sets different font size from default */ font-size: 0.8em; /* some air for footer */ padding: 1.5em; /* centered text */ text-align: center; margin: 0; } div#footer p a { /* footer link would be same color as default we want it same as footer text */ color: #595959; } /* as we hid all hr for accessibility we create new hr with div class="hr" element */ div.hr { height: 1px; padding: 1em; border-bottom: 1px dotted black; margin: 1em; } /* relational links under content */ div.left49 { /* combined percentages of left+right equaling 100% might lead to rounding error on some browser */ width: 70%; } div.right49 { float: right; width: 29%; /* set right to keep text on right */ text-align: right; } /********************CONTENT STYLING*********************/ /* HEADINGS */ div#content h1 { /* font size for h1 */ font-size: 2em; line-height: 1em; margin: 0; } div#content h2 { color: #294B5F; /* font size for h2 the higher the h number the smaller the font size, most times */ font-size: 1.5em; text-align: left; /* some air around the text */ padding-left: 0.5em; padding-bottom: 1px; /* set borders around header */ border-bottom: 1px solid #899092; border-left: 1.1em solid #899092; /* a larder than h1 line height */ line-height: 1.5em; /* and some air under the border */ margin: 0 0 0.5em 0; } div#content h3 { color: #294B5F; font-size: 1.3em; line-height: 1.3em; margin: 0 0 0.5em 0; } div#content h4 { color: #294B5F; font-size: 1.2em; line-height: 1.3em; margin: 0 0 0.25em 0; } div#content h5 { color: #294B5F; font-size: 1.1em; line-height: 1.3em; margin: 0 0 0.25em 0; } h6 { color: #294B5F; font-size: 1em; line-height: 1.3em; margin: 0 0 0.25em 0; } /* END HEADINGS */ /* TEXT */ p { /* default p font size, this is set different in some other divs */ font-size: 1em; /* some air around p elements */ margin: 0 0 1.5em 0; line-height: 1.4em; padding: 0; } blockquote { border-left: 10px solid #ddd; margin-left: 10px; } strong, b { /* explicit setting for these */ font-weight: bold; } em, i { /* explicit setting for these */ font-style: italic; } /* Wrapping text in <code> tags. Makes CSS not validate */ code, pre { /* css-3 */ white-space: pre-wrap; /* Mozilla, since 1999 */ white-space: -moz-pre-wrap; /* Opera 4-6 */ white-space: -pre-wrap; /* Opera 7 */ white-space: -o-pre-wrap; /* Internet Explorer 5.5+ */ word-wrap: break-word; font-family: "Courier New", Courier, monospace; font-size: 1em; } pre { /* black border for pre blocks */ border: 1px solid #000; /* set different from surroundings to stand out */ background-color: #ddd; margin: 0 1em 1em 1em; padding: 0.5em; line-height: 1.5em; font-size: 90%; } /* Separating the divs on the template explanation page */ div.templatecode { margin: 0 0 2.5em; } /* END TEXT */ /* LISTS */ /* lists in content need some margins to look nice */ div#main ul, div#main ol, div#main dl { font-size: 1.0em; line-height: 1.4em; margin: 0 0 1.5em 0; } div#main ul li, div#main ol li { margin: 0 0 0.25em 3em; } /* definition lists topics on bold */ div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } /* END LISTS *//* browsers interpret margin and padding a little differently, we'll remove all default padding and margins and set them later on */ * { margin: 0; padding: 0; } /*Set initial font styles*/ body { text-align: left; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 75.01%; line-height: 1em; } /*set font size for all divs, this overrides some body rules*/ div { font-size: 1em; } /*if img is inside "a" it would have borders, we don't want that*/ img { border: 0; } /*default link styles*/ /* set all links to have underline and bluish color */ a, a:link a:active { text-decoration: underline; /* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */ background-color: inherit; color: #18507C; } a:visited { text-decoration: underline; background-color: inherit; color: #18507C; /* a different color can be used for visited links */ } /* remove underline on hover and change color */ a:hover { text-decoration: none; background-color: inherit; color: #385C72; } /*****************basic layout *****************/ body { margin: 0; padding: 0; /* default text color for entire site*/ color: #333; /* you can set your own image and background color here */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/body.png) repeat-x left top; } div#pagewrapper { /* min max width, IE wont understand these, so we will use java script magic in the <head> */ max-width: 99em; min-width: 60em; /* now that width is set this centers wrapper */ margin: 0 auto; background-color: #fefefe; color: black; } /* header, we will hide h1 a text and replace it with an image, we assign a height for it so the image wont cut off */ div#header { /* adjust according your image size */ height: 100px; margin: 0; padding: 0; /* you can set your own image here, will go behind h1 a image */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/bg_banner.png) repeat-x left top; /* border just the bottom */ border-bottom: 1px solid #D9E2E6; } div#header h1 a { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; /* this will make the "a" link a solid shape */ display: block; /* adjust according your image size */ height: 100px; /* this hides the text */ text-indent: -999em; /* old firefox would have shown underline for the link, this explicitly hides it */ text-decoration: none; } div#header h1 { margin: 0; padding: 0; /*these keep IE6 from pushing the header to more than the set size*/ line-height: 0; font-size: 0; /* this will keep IE6 from flickering on hover */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; } div#header h2 { /* this is where the site name is */ float: right; line-height: 1.2em; /* this keeps IE6 from not showing the whole text */ font-size: 1.5em; /* keeps the size uniform */ margin: 35px 65px 0px 0px; /* adjust according your text size */ color: #f4f4f4; } div.crbk { /* sets all to 0 */ margin: 0; padding: 0; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.breadcrumbs { /* CSS short hand rule first value is top then right, bottom and left */ padding: 1em 0em 1em 1em; /* its good to set font sizes to be relative, this way viewer can change his/her font size */ font-size: 90%; /* css shorthand rule will be opened to be "0px 0px 0px 0px" */ margin: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleftup.gif) no-repeat left bottom; } div.breadcrumbs span.lastitem { font-weight: bold; } div#search { /* position for the search box */ float: right; /* enough width for the search input box */ width: 27em; text-align: right; padding: 0.5em 0 0.2em 0; margin: 0 1em; } /* a class for Submit button for the search input box */ input.search-button { border: none; height: 22px; width: 53px; margin-left: 5px; padding: 0px 2px 2px 0px; /* makes the hover cursor show, you can set your own cursor here */ cursor: pointer; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/search.gif) no-repeat center center; } div#content { /* some air above and under menu and content */ margin: 1.5em auto 2em 0; padding: 0px; } /* this gets all the outside calls that were used on the div#main before */ div.back1 { /* this will give room for sidebar to be on the left side, make sure this number is bigger than sidebar width */ margin-left: 29%; /* and some air on the right */ margin-right: 2%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } /* this is an IE6 hack, you may see these through out the CSS */ * html div.back1 { /* unlike other browser IE6 needs float:right and a width */ float: right; width: 69%; /* and we take this out or it will stop at the bottom */ margin-left: 0%; /* and some air on the right */ margin-right: 10px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div.back2 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleft1.gif) no-repeat left top; } div.back3 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div#main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/rtup.gif) no-repeat right bottom; } div#sidebar { /* set sidebar left. Change to right, float: right; instead, but you will need to change the margins. */ float: left; /* sidebar width, if you change this change div.back and/or div.back1 margins */ width: 26%; /* FIX IE double margin bug */ display: inline; /* the 20px is on the bottom, insures space above footer if longer than content */ margin: 0px 0px 20px; padding: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt.gif) no-repeat right top; } div#sidebarb { padding: 10px 15px 10px 20px; /* this one is for sidebar with content and no menu */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div#sidebarb div#news { /* less margin surrounding the news, sidebarb has enough */ margin: 2em 0 1em 0em; } div#sidebara { padding: 10px 15px 15px 0px; /* this one is for sidebar with menu and no content */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.footback { /* keep footer below content and menu */ clear: both; /* this sets 10px on right to let the right image show, the balance 10px left on next div */ padding: 0px 10px 0px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wfootrt.gif) no-repeat right top; } div#footer { /* this sets 10px on left to balance 10px right on last div */ padding: 0px 0px 0px 10px; /* color of text, the link color is set below */ color: #595959; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div.leftfoot { float: left; width: 30%; margin-left: 20px } div#footer p { /* sets different font size from default */ font-size: 0.8em; /* some air for footer */ padding: 1.5em; /* centered text */ text-align: center; margin: 0; } div#footer p a { /* footer link would be same color as default we want it same as footer text */ color: #595959; } /* as we hid all hr for accessibility we create new hr with div class="hr" element */ div.hr { height: 1px; padding: 1em; border-bottom: 1px dotted black; margin: 1em; } /* relational links under content */ div.left49 { /* combined percentages of left+right equaling 100% might lead to rounding error on some browser */ width: 70%; } div.right49 { float: right; width: 29%; /* set right to keep text on right */ text-align: right; } /********************CONTENT STYLING*********************/ /* HEADINGS */ div#content h1 { /* font size for h1 */ font-size: 2em; line-height: 1em; margin: 0; } div#content h2 { color: #294B5F; /* font size for h2 the higher the h number the smaller the font size, most times */ font-size: 1.5em; text-align: left; /* some air around the text */ padding-left: 0.5em; padding-bottom: 1px; /* set borders around header */ border-bottom: 1px solid #899092; border-left: 1.1em solid #899092; /* a larder than h1 line height */ line-height: 1.5em; /* and some air under the border */ margin: 0 0 0.5em 0; } div#content h3 { color: #294B5F; font-size: 1.3em; line-height: 1.3em; margin: 0 0 0.5em 0; } div#content h4 { color: #294B5F; font-size: 1.2em; line-height: 1.3em; margin: 0 0 0.25em 0; } div#content h5 { color: #294B5F; font-size: 1.1em; line-height: 1.3em; margin: 0 0 0.25em 0; } h6 { color: #294B5F; font-size: 1em; line-height: 1.3em; margin: 0 0 0.25em 0; } /* END HEADINGS */ /* TEXT */ p { /* default p font size, this is set different in some other divs */ font-size: 1em; /* some air around p elements */ margin: 0 0 1.5em 0; line-height: 1.4em; padding: 0; } blockquote { border-left: 10px solid #ddd; margin-left: 10px; } strong, b { /* explicit setting for these */ font-weight: bold; } em, i { /* explicit setting for these */ font-style: italic; } /* Wrapping text in <code> tags. Makes CSS not validate */ code, pre { /* css-3 */ white-space: pre-wrap; /* Mozilla, since 1999 */ white-space: -moz-pre-wrap; /* Opera 4-6 */ white-space: -pre-wrap; /* Opera 7 */ white-space: -o-pre-wrap; /* Internet Explorer 5.5+ */ word-wrap: break-word; font-family: "Courier New", Courier, monospace; font-size: 1em; } pre { /* black border for pre blocks */ border: 1px solid #000; /* set different from surroundings to stand out */ background-color: #ddd; margin: 0 1em 1em 1em; padding: 0.5em; line-height: 1.5em; font-size: 90%; } /* Separating the divs on the template explanation page */ div.templatecode { margin: 0 0 2.5em; } /* END TEXT */ /* LISTS */ /* lists in content need some margins to look nice */ div#main ul, div#main ol, div#main dl { font-size: 1.0em; line-height: 1.4em; margin: 0 0 1.5em 0; } div#main ul li, div#main ol li { margin: 0 0 0.25em 3em; } /* definition lists topics on bold */ div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } /* END LISTS */div#news { /* margin for the entire div surrounding the news items */ margin: 2em 0 1em 1em; /* border set here */ border: 1px solid #909799; /* sets it off from surroundings */ background: #f5f5f5; } div#news h2 { line-height: 2em; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #f5f5f5; border: none } .NewsSummary { /* padding for the news article summary */ padding: 0.5em 0.5em 1em; /* margin to the bottom of the news article summary */ margin: 0 0.5em 1em 0.5em; border-bottom: 1px solid #ccc; } .NewsSummaryPostdate { /* smaller than default text size */ font-size: 90%; /* bold to set it off from text */ font-weight: bold; } .NewsSummaryLink { /* bold to set it off from text */ font-weight: bold; /* little more room at top */ padding-top: 0.2em; } .NewsSummaryCategory { /* italic to set it off from text */ font-style: italic; margin: 5px 0; } .NewsSummaryAuthor { /* italic to set it off from text */ font-style: italic; padding-bottom: 0.5em; } .NewsSummarySummary, .NewsSummaryContent { /* larger than default text */ line-height: 140%; } .NewsSummaryMorelink { padding-top: 0.5em; } #NewsPostDetailDate { /* smaller text */ font-size: 90%; margin-bottom: 5px; /* bold to set it off from text */ font-weight: bold; } #NewsPostDetailSummary { /* larger than default text */ line-height: 150%; } #NewsPostDetailCategory { /* italic to set it off from text */ font-style: italic; border-top: 1px solid #ccc; margin-top: 0.5em; padding: 0.2em 0; } #NewsPostDetailContent { margin-bottom: 15px; /* larger than default text */ line-height: 150%; } #NewsPostDetailAuthor { padding-bottom: 1.5em; /* italic to set it off from text */ font-style: italic; } /* more divs, left unstyled, just so you know the IDs of them */ #NewsPostDetailTitle { } #NewsPostDetailHorizRule { } #NewsPostDetailPrintLink { } #NewsPostDetailReturnLink { } div#news ul li { padding: 2px 2px 2px 5px; margin-left: 20px; }/* by Alexander Endresen and mark and Nuno */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav, ul#primary-nav ul { /* remove any default bullets */ list-style-type: none; margin: 0; padding: 0; } ul#primary-nav { /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } ul#primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* same size but different color for each border */ border-top: 1px solid #C8D3D7; border-right: 1px solid #C8D3D7; border-bottom: 1px solid #ADC0C7; border-left: 1px solid #A5B9C0; } ul#primary-nav ul ul { /* now we move the next level ul down from the top a little for distinction */ margin-top: 1px; /* pull it in on the left, helps us not lose the hover effect when going to next level */ margin-left: -1px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* sets the top of it inline with the li it came out of */ top: 0px; } ul#primary-nav li { /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; /* no margin/padding keeps them next to each other, the padding will be in the "a" */ margin: 0px; padding: 0px; } #primary-nav li li { /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 220px; /* removes any left margin it may have picked up from the first li */ margin-left: 0px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* set the "a" link look here */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* pushes out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px; display: block; /* sets no underline on links */ text-decoration: none; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li li a:hover { /* this is set to #000, black, below so hover will be white text */ color: #FFF; } ul#primary-nav li a.menuactive { color: #000; /* bold to set it off from non active */ font-weight: bold; /* set your image here */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; } ul#primary-nav li a.menuactive:hover { color: #000; /* keep it the same */ font-weight: bold; } #primary-nav li li a.menuparent span { /* makes it hold a shape */ display: block; /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat 98% center; } /* gif for IE6, as it can't handle transparent png */ * html #primary-nav li li a.menuparent span { /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 98% center; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* keeps it relative to it's container */ position: relative; /* less padding than first level no need for large links here */ padding: 6px 3px 6px 15px; /* if first level is set to bold this will reset this level */ font-weight: normal; /* first level is #FFF/white, we need black to contrast with light background */ color: #000; border-top: 0 none; border-right: 0 none; border-left: 0 none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 0.95; /* CSS 3 */ } ul#primary-nav li ul ul { /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 95; /* CSS 3 */ } /* Styling the appearance of menu items on hover */ #primary-nav li:hover, #primary-nav li.menuh, #primary-nav li.menuparenth, #primary-nav li.menuactiveh { /* set your image here, dark grey image */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #000 } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE6 Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; }/* Vertical menu for the CMS CSS Menu Module */ /* by Alexander Endresen and mark and Nuno */ /* The wrapper determines the width of the menu elements */ #menuwrapper { /* just smaller than it's containing div */ width: 95%; margin-left: 0px; /* room at bottom */ margin-bottom: 10px; } /* Unless you know what you do, do not touch this */ #primary-nav, #primary-nav ul { /* remove any default bullets */ list-style: none; margin: 0px; padding: 0px; /* make sure it fills out */ width: 100%; /* just a little bump */ margin-left: 1px; } #primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* just a little bump down for second level ul */ top: 5px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* keeps it hidden till hover event */ display: none; } #primary-nav ul ul { /* no bump down for third level ul */ top: 0px; } #primary-nav li { /* negative bottom margin pulls them together, images look like one border between */ margin-bottom: -1px; /* keeps within it's container */ position: relative; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #primary-nav li li { /* you can set your width here, if no width or set auto it will only be as wide as the text in it */ width: 220px; padding: 0px; /* removes first level li image */ background-image: none; } /* Styling the basic apperance of the menu "a" elements */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #595959; /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 0.8em 0.5em 0.5em 0.5em; /* makes it hold a shape */ display: block; /* removes underline from default link setting */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } ul#primary-nav a span { /* makes it hold a shape */ display: block; /* pushes text to right */ padding-left: 1.5em; } ul#primary-nav li a:hover { /* stops image flicker in some browsers */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* changes text color on hover */ color: #899092; } ul#primary-nav li li a:hover { /* you can set your own image here, second level "a" */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* contrast color to image behind it */ color: #FFF; } ul#primary-nav li a.menuactive { /* black and bold to set it off from non active */ color: #000; font-weight: bold; } ul#primary-nav li li a.menuactive { /* contrast color to image behind it, set below */ color: #FFF; /* not bold as text color and image behind it set it off from non active */ font-weight: normal; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* relative to it's container */ position: relative; /* more padding to left than default */ padding: 6px 3px 6px 15px; font-weight: normal; /* darker than first level "a" */ color: #000; /* removes any borders that may have been set in first level */ border-top: 0 none; border-right: 0 none; border-left: 0 none; /* removes image set in first level "a" */ background: none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 0.95; /* CSS 3 */ } /* Fixes IE7 bug */ #primary-nav li, #primary-nav li.menuparent { min-height: 1em; } /* Styling the basic apperance of the second level active page elements (shows what page in the menu is being displayed) */ #primary-nav li li.menuactive, #primary-nav li.menuactive.menuparenth li.menuactive { /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuparent span { /* padding on left for image */ padding-left: 1.5em; /* down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.png) no-repeat left center; } #primary-nav li.menuparent:hover li.menuparent span { /* remove left padding as image is on right side of text */ padding-left: 0; /* right arrow to note it has children, right side of text */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat right center; } #primary-nav li.menuparenth li.menuparent span, #primary-nav li.menuparenth li.menuparenth span { /* same as above but this is for IE6, gif image as it can't handle transparent png */ padding-left: 0; background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuparenth span, #primary-nav li.menuparent:hover span, #primary-nav li.menuparent.menuactive span, #primary-nav li.menuparent.menuactiveh span, { /* right arrow to note hover */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat left center; } #primary-nav li li span, #primary-nav li.menuparent li span, #primary-nav li.menuparent:hover li span, #primary-nav li.menuparenth li span, #primary-nav li.menuparenth li.menuparenth li span, #primary-nav li.menuparent li.menuparent li span, #primary-nav li.menuparent li.menuparent:hover li span { /* removes any images set above unless it's a parent or active parent */ background: none; /* removes padding that is used for arrows */ padding-left: 0px; } /* IE6 flicker fix */ #primary-nav li.menuh, #primary-nav li.mnuparenth, #primary-nav li.mnuactiveh { background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; color: #899092; } #primary-nav li:hover li a { /* removes any images set above unless it's a parent or active parent */ background: none; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hack, will cause the css to not validate */ #primary-nav li, #primary-nav li.menuparenth { _float: left; _height: 1%; } #primary-nav li a { _height: 1%; } /* BIG NOTE: I didn't do anything to these 2, never tested */ #primary-nav li.sectionheader { border-left: 1px solid #006699; border-top: 1px solid #006699; font-size: 130%; font-weight: bold; padding: 1.5em 0 0.8em 0.5em; background-color: #fff; margin: 0; width: 100%; } /* separator */ #primary-nav li hr.separator { display: block; height: 0.5em; color: #abb0b6; background-color: #abb0b6; width: 100%; border: 0; margin: 0; padding: 0; border-top: 1px solid #006699; border-right: 1px solid #006699; }#footer ul { /* some margin is set in the footer padding */ margin: 0px; /* calling a specific side, left in this case */ margin-left: 5px; padding: 0px; /* remove any default bullets, image used in li call */ list-style: none; } #footer ul li { /* remove any default bullets, image used for consistency */ list-style: none; /* float left to set first level li items across the top */ float:left; /* a little margin at top */ margin: 5px 0px 0px; /* padding all the way around */ padding: 5px; /* you can set your own image here, used for consistency */ background: url([[root_url]]/uploads/ngrey/dot.gif) no-repeat left 10px; } #footer ul li a { /* this will make the "a" link a solid shape */ display:block; margin: 2px 0px 4px; padding: 0px 5px 5px 5px; } /* set h3 to look like "a" */ #footer li h3 { font-weight:normal; font-size:100%; margin: 2px 0px 2px 0px; padding: 0px 5px 5px 5px; } /* set h3 to look like "a", less margin at this level */ #footer li li h3 { font-weight:normal; font-size:100%; margin: 0px; padding: 0px 5px 5px 5px; } #footer ul li li { /* remove any default bullets, image used for consistency */ list-style: none; /* remove float so they line up under top li */ float:none; /* less margin/padding */ margin: 0px; padding: 0px 0px 0px 5px; /* you can set your own image here, used for consistency */ background: url([[root_url]]/uploads/ngrey/dot.gif) no-repeat left 3px; } /* fix for IE6 */ * html #footer ul li a { margin: 2px 0px 0px; padding: 0px 5px 5px 5px; } * html #footer ul li li a { margin: 0px 0px 0px; padding: 0px 5px 0px 5px; } /* End fix for IE6 */ #footer ul ul { /* remove float so they line up under top li */ float:none; /* a little margin to offset it */ margin: 0px 0px 0px 8px; padding: 0; } #footer ul ul ul { /* remove float so they line up under li above it */ float:none; /* a little margin to offset it */ margin: 0px 0px 0px 8px; padding: 0; }/* by Alexander Endresen and mark and Nuno */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav, ul#primary-nav ul { /* remove any default bullets */ list-style-type: none; margin: 0; padding: 0; } ul#primary-nav { /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } ul#primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* same size but different color for each border */ border-top: 1px solid #C8D3D7; border-right: 1px solid #C8D3D7; border-bottom: 1px solid #ADC0C7; border-left: 1px solid #A5B9C0; } ul#primary-nav ul ul { /* now we move the next level ul down from the top a little for distinction */ margin-top: 1px; /* pull it in on the left, helps us not lose the hover effect when going to next level */ margin-left: -1px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* sets the top of it inline with the li it came out of */ top: 0px; } ul#primary-nav li { /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; /* no margin/padding keeps them next to each other, the padding will be in the "a" */ margin: 0px; padding: 0px; } #primary-nav li li { /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 220px; /* removes any left margin it may have picked up from the first li */ margin-left: 0px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* set the "a" link look here */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* pushes out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px; display: block; /* sets no underline on links */ text-decoration: none; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li li a:hover { /* this is set to #000, black, below so hover will be white text */ color: #FFF; } ul#primary-nav li a.menuactive { color: #000; /* bold to set it off from non active */ font-weight: bold; /* set your image here */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; } ul#primary-nav li a.menuactive:hover { color: #000; /* keep it the same */ font-weight: bold; } #primary-nav li li a.menuparent span { /* makes it hold a shape */ display: block; /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat 98% center; } /* gif for IE6, as it can't handle transparent png */ * html #primary-nav li li a.menuparent span { /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 98% center; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* keeps it relative to it's container */ position: relative; /* less padding than first level no need for large links here */ padding: 6px 3px 6px 15px; /* if first level is set to bold this will reset this level */ font-weight: normal; /* first level is #FFF/white, we need black to contrast with light background */ color: #000; border-top: 0 none; border-right: 0 none; border-left: 0 none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator 2) More Options chose CSS3 3) is full validate ;)*/ opacity: 0.95; /* CSS 3 */ } ul#primary-nav li ul ul { /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator 2) More Options chose CSS3 3) is full validate ;)*/ opacity: 95; /* CSS 3 */ } /* Styling the appearance of menu items on hover */ #primary-nav li:hover, #primary-nav li.menuh, #primary-nav li.menuparenth, #primary-nav li.menuactiveh { /* set your image here, dark grey image */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE6 Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } /* by Alexander Endresen and mark */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav { list-style-type: none; margin: 0px; padding-top: 10px; padding-left: 10px; } #primary-nav ul { /* remove any default bullets */ list-style-type: none; /* sets width of second level ul to background image */ width: 210px; margin: 0px; padding: 0px; /* make the ul stay in place so when we hover it lets the drops go over the content instead of displacing it */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* room at top for li so image top shows correct */ padding-top: 9px; /* set your image here, tall enough for the ul */ background: url([[root_url]]/uploads/ngrey/ultopup.png) no-repeat left top; } /* IE6 hacks on the above code */ * html #primary-nav ul { padding-top: 13px; background: url([[root_url]]/uploads/ngrey/ultopup.gif) no-repeat left top; } #primary-nav ul ul { /* insures no top margins */ margin-top: 0px; /* pulls the last ul back over the preceding ul */ margin-left: -1px; /* keeps the left side of this ul on the right side of the preceding ul */ left: 100%; /* negative margin pulls the left centered in li next to it */ top: -3px; /* set your image here, tall enough for the ul, this is the left arrow for third level ul */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } /* IE6 hacks on the above code */ * html #primary-nav ul ul { margin-top: 0px; padding-left: 5px; left: 100%; top: -7px; /* IE6 gets gif as it can''t handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat right top; } #primary-nav li { /* a little space to the left of each top level menu item */ margin-left: 5px; /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; } #primary-nav li li { /* a little more space to the left of each menu item */ margin-left: 8px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* IE6 hacks on the above code */ * html #primary-nav li li { margin-left: 6px; /* helps hold it inside the ul */ width: 171px; } ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* doing tab menus require a bit different padding, this will give room on right for image to show, adjust to width of your image */ padding: 0px 11px 0px 0px; /* makes it hold a shape */ display: block; /* remove default "a" underline */ text-decoration: none; } ul#primary-nav li a span { /* takes normal "a" padding minus some for right image */ padding: 12px 4px 12px 15px; /* makes it hold a shape */ display: block; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li { /* set your image here */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right -51px; } ul#primary-nav li span { /* set your image here */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left -51px; /* set text color here also to insure color */ color: #fff; /* just to be sure */ font-weight: normal; } ul#primary-nav li li { /* remove any image set in first level li */ background: none; } ul#primary-nav li li span { /* remove any image set in first level li span */ background: none; /* set text color here also to insure color */ color: #fff; /* just to be sure */ font-weight: normal; } ul#primary-nav li:hover, ul#primary-nav li.menuh, ul#primary-nav li.menuparenth { /* set hover image, right side */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right 0px; } ul#primary-nav li:hover span, ul#primary-nav li.menuh span, ul#primary-nav li.menuparenth span { /* set hover image, left side */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left 0px; /* change text color on hover */ color: #000; font-weight: normal; } /* IE6 hacks, the JS used for hover effect in IE6 puts class menuh on li, unless they have a class then just an "h" as seen above and below */ ul#primary-nav li li.menuh { background: none; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li span { background: none; color: #000; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuparent span { /* gif for IE6, as it can''t handle transparent png */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; color: #000 } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuh span { background: none; color: #FFF; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuparenth { background: none; color: #FFF; font-weight: normal; } ul#primary-nav li.menuactive a { /* set your image here for active tab right */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right 0px; } ul#primary-nav li a.menuactive span { /* set your image here for active tab left */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left 0px; /* non active is #FFF/white, we need #000/black to contrast with light background */ color: #000; /* bold to set it off from non active */ font-weight: bold; } #primary-nav li li a { /* second level padding, no image and not as big */ padding: 5px 10px; /* to keep it within li */ width: 165px; /* space between them */ margin: 5px; background: none; } /* IE6 hacks to above code */ * html #primary-nav li li a { padding: 5px 10px; width: 165px; margin: 0px; color: #000; } #primary-nav li li:hover { /* remove image set in first level */ background: none; } #primary-nav li li a:hover { /* set different image than first level */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* we need #FFF/white to contrast with dark background */ color: #FFF; } #primary-nav li.menuparent li a:hover span { /* insures text color */ color: #FFF; } ul#primary-nav li:hover li a span { /* first level is #FFF/white, we need #000/black to contrast with light background */ color: #000; /* just to insure normal */ font-weight: normal; } #primary-nav li li.menuactive a.menuactive, #primary-nav li li.menuactive a.menuactive:hover { /* set your image here, lighter than hover */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; /* non active is #FFF/white, we need #000/black to contrast with light background */ color: #000; } #primary-nav li li.menuactive a.menuactive span { /* insures text color */ color: #000 } #primary-nav li li.menuactive a.menuactive:hover span { /* insures text color */ color: #000; } /* IE6 hacks to above code */ #primary-nav li li.menuparenth a.menuparent span { /* right arrow for menu parent, IE6 gif */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; color: #000 } /* IE6 hacks to above code */ #primary-nav li li.menuparenth a.menuparent:hover span { color: #FFF } #primary-nav li li.menuparent a.menuparent span { /* right arrow for parent item */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuactive li a:hover span { /* black text */ color: #000 } ul#primary-nav li li a.menuactive span { /* remove image set in first level */ background: none; font-weight: normal; } #primary-nav li.menuactive li a { /* second level active link color */ color: #0587A9; text-decoration: none; background: none; } #primary-nav li.menuactive li a:hover { /* dark image for hover */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuactive li a:hover span { /* white text to contrast with dark background image on hover */ color: #FFF; } ul#primary-nav li:hover li a span, ul#primary-nav li.menuparenth li a span { padding: 0px; background: none; } /* this is a special li type from the menu template, used to hold the bottom image for ul set above */ #primary-nav ul li.separator, #primary-nav .separator:hover { /* set same as ul */ width: 210px; /* height of image */ height: 9px; /* negative margin pulls it down to cover ul image */ margin: 0px 0px -8px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* same as above for next level to insure it shows correct */ #primary-nav ul ul li.separator, #primary-nav ul ul li.separator:hover { height: 9px; margin: 0px 0px -8px; background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* IE6 hacks */ * html #primary-nav ul li.separator { height: 2px; background: url([[root_url]]/uploads/ngrey/ulbtmrt.gif) no-repeat left bottom; } /* IE6 hacks */ * html #primary-nav ul li.separatorh { margin: 0px 0px -8px; height: 2px; background: url([[root_url]]/uploads/ngrey/ultop.gif) no-repeat left top; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } EOT; $css = new CmslayoutStylesheet; $css->set_name('Navigation ShadowMenu - Horizontal'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = <<<EOT /* Vertical menu for the CMS CSS Menu Module */ /* by Alexander Endresen and mark */ #menuwrapper { /* just smaller than it's containing div */ width: 95%; margin-left: 0px; /* room at bottom */ margin-bottom: 10px; } /* Unless you know what you do, do not touch this */ #primary-nav, #primary-nav ul { /* remove any default bullets */ list-style: none; margin: 0px; padding: 0px; /* make sure it fills out */ width: 100%; /* just a little bump */ margin-left: 1px; } #primary-nav li { /* negative bottom margin pulls them together, images look like one border between */ margin-bottom: -1px; /* keeps within it's container */ position: relative; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #primary-nav li li { /* you can set your width here, if no width or set auto it will only be as wide as the text in it */ width: 190px; /* changes padding inherited from first level */ padding: 0px 10px; /* removes first level li image */ background-image: none; } /* Styling the basic appearance of the menu "a" elements */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #595959; /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 0.8em 0.5em 0.5em 0.5em; /* makes it hold a shape */ display: block; /* removes underline from default link setting */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } ul#primary-nav a span { /* makes it hold a shape */ display: block; /* pushes text to right */ padding-left: 1.5em; } ul#primary-nav li a:hover { /* stops image flicker in some browsers */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* changes text color on hover */ color: #899092 } ul#primary-nav li li a:hover { /* you can set your own image here, second level "a" */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* contrast color to image behind it */ color: #FFF } ul#primary-nav li a.menuactive { /* black and bold to set it off from non active */ color: #000; font-weight: bold; } ul#primary-nav li ul a { /* insure alignment */ text-align: left; margin: 0px; /* relative to it's container */ position: relative; /* even padding all 4 sides */ padding: 6px; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors from here on */ color: #000; /* remove any background that may have been set in level above */ background: none; } ul#primary-nav li ul { /* remove any default bullets */ list-style-type: none; /* sets width of second level ul to background image */ width: 209px; height: auto; /* negative margin pulls it over the parent ul */ margin: 0px 0px 0px -2px; /* top padding gives room for image shadow and pushes li down into image */ padding: 10px 0px 0px; /* make the ul stay in place so when we hover it lets the drops go over the content instead of displacing it */ position: absolute; /* keeps the left side of this ul on the right side of the preceding ul */ left: 100%; /* negative top pulls up so left arrow centered in li next to it */ top: -2px; display: none; /* set your image here, tall enough for the ul, this is the left arrow for second ul and on */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } /* a lot of the same as above, minor changes */ ul#primary-nav li ul ul { list-style-type: none; /* bit more negative left margin */ margin: 0px 0px 0px -8px; /* you can call a property twice but not a property:'value', this flat lines it */ padding: 0px; /* now we just change one with 'property'-top:value */ padding-top: 10px; position: absolute; width: 209px; height: auto; /* negative top pulls up so left arrow centered in li next to it, more on 3rd ul covers default drop increase */ top: -5px; left: 100%; display: none; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } * html ul#primary-nav li ul { /* gif for IE6, as it can't handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat left top; } * html ul#primary-nav li ul ul { /* gif for IE6, as it can't handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat left top; } /* this is a special li type from the menu template, used to hold the bottom image for ul set above */ #primary-nav ul li.separator, #primary-nav .separator:hover { /* set same as ul */ width: 209px; padding: 0px; /* height of image */ height: 9px; /* negative margin pulls it down to cover ul image */ margin: 0px 0px -9px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* IE6 'star html' Hack */ * html #primary-nav li ul li.separator { height: 2px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.gif) no-repeat left bottom; } /* Fixes IE7 bug*/ #primary-nav li, #primary-nav li.menuparent { min-height: 1em; } /* Styling the basic apperance of the active page elements (shows what page in the menu is being displayed) */ #primary-nav li li.menuactive a.menuactive { /* contrast color to image behind it */ color: #FFF; /* not bold as text color and image behind it set it off from non active */ font-weight: normal; /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuparent span { /* padding on left for image */ padding-left: 1.5em; /* down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.png) no-repeat left center; } #primary-nav li.menuparent:hover li.menuparent span { /* remove left padding as image is on right side of text */ padding-left: 0; /* right arrow to note it has children, right side of text */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat right center; } #primary-nav li.menuparenth li.menuparent span, #primary-nav li.menuparenth li.menuparenth span { /* same as above but this is for IE6, gif image as it can't handle transparent png */ padding-left: 0; background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuparent:hover span, #primary-nav li.menuparent.menuactive span, #primary-nav li.menuparent.menuactiveh span, #primary-nav li.menuparenth span { /* right arrow on hover */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat left center; } #primary-nav li li span, #primary-nav li.menuparent li span, #primary-nav li.menuparent:hover li span, #primary-nav li.menuparenth li span, #primary-nav li.menuparenth li.menuparenth li span, #primary-nav li.menuparent li.menuparent li span, #primary-nav li.menuparent li.menuparent:hover li span { /* removes any images set above unless it's a parent or active parent */ background: none; padding-left: 0px; } /* Styling the appearance of menu items on hover */ #primary-nav li:hover li a, #primary-nav li.menuh li a, #primary-nav li.menuparenth li a, #primary-nav li.menuactiveh li a { /* removes any images set above unless it's a parent or active parent */ background: none; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hack, will cause the css to not validate */ #primary-nav li, #primary-nav li.menuparenth { _float: left; _height: 1%; } #primary-nav li a { _height: 1%; } /* BIG NOTE: I didn't do anything to these 2, never tested */ #primary-nav li.sectionheader { border-left: 1px solid #006699; border-top: 1px solid #006699; font-size: 130%; font-weight: bold; padding: 1.5em 0 0.8em 0.5em; background-color: #fff; margin: 0; width: 100%; } /* separator */ #primary-nav li hr.separator { display: block; height: 0.5em; color: #abb0b6; background-color: #abb0b6; width: 100%; border: 0; margin: 0; padding: 0; border-top: 1px solid #006699; border-right: 1px solid #006699; }/********************MENU*********************/ /* hack for IE6 */ * html div#menu_horiz { /* hide ie/mac \*/ height: 1%; /* end hide */ } div#menu_horiz { /* background color for the entire menu row */ background-color: #243135; /* insure full width */ width: 100%; /* set height */ height: 49px; margin: 0; } div#menu_horiz ul { /* remove any default bullets */ list-style-type: none; margin: 0; /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } /* menu list items */ div#menu_horiz li { /* makes the list horizontal */ float: left; /* remove any default bullets */ list-style: none; /* still no margin */ margin: 0; } /* the links, that is each list item */ div#menu_horiz a, div#menu_horiz h3 span, div#menu_horiz .sectionheader span { /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px 0px; /* still no margin */ margin: 0; /* removes default underline */ text-decoration: none; /* default link color */ color: #FFF; /* makes it hold a shape, IE has problems with this, fixed above */ display: block; } /* hover state for links */ div#menu_horiz li a:hover {; /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left -50px; } div#menu_horiz a span { /* compensates for no left padding on the "a" */ padding-left: 15px; } div#menu_horiz li.parent a span { /* no left padding on the "a" we can set it here, it lets us use the span for an image */ padding-left: 20px; /* set your image here, down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.gif) no-repeat 0.3em center; } div#menu_horiz li.parent a:hover span { padding-left: 20px; /* hover replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 0.3em center; } div#menu_horiz li.menuactive a span { padding-left: 20px; /* menuactive replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 0.5em center; color: #000; } div#menu_horiz li.currentpage h3 span { padding-left: 12px; /* menuactive replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; color: #000; } div#menu_horiz .sectionheader span { /* compensates for no left padding on the "sectionheader" */ padding-left: 15px; } /* active parent, that is the first level parent of a child page that is the current page */ div#menu_horiz li.menuactive, div#menu_horiz li.menuactive a:hover { /* set your image here, light image with #000/black text set below*/ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; color: #000; }/******************** MENU *********************/ #menu_vert { margin: 0; padding: 0; } #menu_vert ul { /* remove any bullets */ list-style: none; /* margin/padding set in li */ margin: 0px; padding: 0px; } #menu_vert ul ul { margin: 0; /* padding right sets second level li in on right from first li */ padding: 0px 5px 0px 0px; /* replaces bottom of li.menuactive menuparent, looks like li below it, set in 5px more, is sitting on top of it */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right -4px; } #menu_vert li { /* remove any bullets */ list-style: none; /* negative bottom margin pulls them together, images look like one border between */ margin: 0px 0px -1px; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #menu_vert li.currentpage { padding: 0px 0px 3px 0px; } #menu_vert li.menuactive { margin: 0; padding: 0px; /* replaced by image in ul ul */ background: none; } #menu_vert li.menuactive ul { margin: 0; } #menu_vert li.activeparent { margin: 0; padding: 0px; } /* fix stupid IE6 bug with display:block; */ * html #menu_vert li { height: 1%; } * html #menu_vert li a { height: 1%; } * html #menu_vert li hr { height: 1%; } /** end fix **/ /* first level links */ div#menu_vert a { /* IE6 has problems with this, fixed above */ display: block; /* some air for it */ padding: 0.8em 0.3em 0.5em 1.5em; /* this will be link color for all levels */ color: #18507C; /* Fixes IE7 whitespace bug */ min-height: 1em; /* no underline for links */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } /* next level links, more padding and smaller font */ div#menu_vert ul ul a { font-size: 90%; padding: 0.8em 0.3em 0.5em 2.8em; } /* third level links, more padding */ div#menu_vert ul ul ul a { padding: 0.5em 0.3em 0.3em 3em; } /* hover state for all links */ div#menu_vert a:hover { background-color: transparent; color: #595959; text-decoration: underline; } div#menu_vert a.activeparent:hover { color: #595959; } /* active parent, that is the first level parent of a child page that is the current page */ div#menu_vert li.activeparent { /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right -65px; /* white to contrast with background image */ color: #fff; } div#menu_vert li.activeparent a.activeparent { /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* to contrast with background image */ color: #000; } div#menu_vert li a.parent { /* takes left padding out so span image has room on left */ padding-left: 0em; } div#menu_vert ul ul li a.parent { /* increased padding on left offsets it from one above */ padding-left: 0.9em; } div#menu_vert li a.parent span { display: block; margin: 0; /* adds left padding taken out of "a.parent" */ padding-left: 1.5em; /* arrow on left for pages with children, points down, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/active.png) no-repeat 2px center; } div#menu_vert li a.parent:hover { /* removes underline hover effect */ text-decoration: none; } div#menu_vert li a.parent:hover span { display: block; margin: 0; padding-left: 1.5em; /* arrow on left for pages with children, points right for hover, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/parent.png) no-repeat 2px center; } div#menu_vert li a.menuactive.menuparent { /* sets it in a little more than a.parent */ padding-left: 0.35em; } div#menu_vert ul ul li a.menuactive.menuparent { /* sets it in a little more on next level */ padding-left: 0.99em; } div#menu_vert li a.menuactive.menuparent span { display: block; margin: 0; /* to contrast with non active pages */ font-weight: bold; padding-left: 1.5em; /* arrow on left for active pages with children, points right, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/parent.png) no-repeat 2px center; } div#menu_vert li a.menuactive.menuparent:hover { text-decoration: none; color: #18507C; } div#menu_vert ul ul li a.activeparent { color: #fff; } /* current pages in the default Menu Manager template are unclickable. This is for current page on first level */ div#menu_vert ul h3 { display: block; /* some air for it */ padding: 0.8em 0.5em 0.5em 1.5em; /* this will be link color for all levels */ color: #000; /* instead of the normal font size for <h3> */ font-size: 1em; /* as <h3> normally has some margin by default */ margin: 0; /* you can set your own image here, same as "a" */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } /* next level current pages, more padding, smaller font and no background color or bottom border */ div#menu_vert ul ul h3 { font-size: 90%; padding: 0.8em 0.5em 0.5em 2.8em; /* you can set your own image here, same as "a" */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; color: #000; } /* current page on third level, more padding */ div#menu_vert ul ul ul h3 { padding: 0.6em 0.5em 0.2em 3em; } /* BIG NOTE: I didn''t do anything to these, never tested */ /* section header */ div#menu_vert li.sectionheader { border-right: none; padding: 0.8em 0.5em 0.5em 1.5em; background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; line-height: 1em; margin: 0; color: #18507C; cursor:text; } /* separator */ div#menu_vert .separator { height: 1px !important; margin-top: -1px; margin-bottom: 0; -padding: 2px 0 2px 0; background-color: #000; overflow: hidden !important; line-height: 1px !important; font-size: 1px; /* for ie */ } div#menu_vert li.separator hr { display: none; /* this is for accessibility */ }/* @Nuno Costa [criacaoweb.net] Core CSS. @Licensed under GPL and MIT. @Status: Stable @Version: 0.1-20090418 @Contributors: --------------------------------------------------------------- */ /*----------- Global Containers ----------- */ /* .core-wrap-100 = width - 100% of Browser Fluid .core-wrap-960 = width - 960px - fixed .core-wrap-780 = width - 780px - fixed .custom-wrap-x = width - custom - declared in another css (your site css) */ .core-wrap-100 { width: 100%; } .core-wrap-960 { width: 960px; } .core-wrap-780 { width: 780px; } .core-wrap-100, .core-wrap-960, .core-wrap-780, .custom-wrap-x { margin-left: auto; margin-right: auto; } /*----------- Global Float ----------- */ .core-wrap-100 .core-float-left, .core-wrap-960 .core-float-left, .core-wrap-780 .core-float-left, .custom-wrap-x .core-float-left { float: left; display: inline; } .core-wrap-100 .core-float-right, .core-wrap-960 .core-float-right, .core-wrap-780 .core-float-right, .custom-wrap-x .core-float-right { float: right; display: inline; } /*----------- Global Center ----------- */ .core-wrap-100 .core-center, .core-wrap-960 .core-center, .core-wrap-780 .core-center, .custom-wrap-x .core-center { margin-left: auto; margin-right: auto; }/* @Nuno Costa [criacaoweb.net] @Since [cmsms 1.6] @Contributors: Mark and Dev-Team */ body { /* default text for entire site */ font: normal 0.8em Tahoma, Verdana, Arial, Helvetica, sans-serif; /* default text color for entire site */ color: #3A3A36; /* you can set your own image and background color here */ background: #fff url([[root_url]]/uploads/NCleanBlue/bg__full.png) repeat-x scroll left top; } /* Mask helper for browsers ZOOM, Rezise and Decrease */ #ncleanblue { /* set to width of viewport */ width: auto; /* you can set your own image and background color here */ background: #fff url([[root_url]]/uploads/NCleanBlue/bg__full.png) repeat-x scroll left top; } /* wiki style external links */ /* external links will have "(external link)" text added, lets hide it */ a.external span { position: absolute; left: -5000px; width: 4000px; } a.external { /* make some room for the image, css shorthand rules, read: first top padding 0 then right padding 12px then bottom then right */ padding: 0 12px 0 0; } /* colors for external links */ a.external:link { color: #679EBC; /* background image for the link to show wiki style arrow */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:visited { color: #18507C; /* a different color can be used for visited external links */ /* Set the last 0 to -100px to use that part of the external.gif image for different color for active links external.gif is actually 300px tall, we can use different positions of the image to simulate rollover image changes.*/ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:hover { color: #18507C; /* Set the last 0 to -200px to use that part of the external.gif image for different color on hover */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% 0; background-color: inherit; } /* end wiki style external links */ /* hr and anything with the class of accessibility is hidden with CSS from visual browsers */ .accessibility, hr { /* absolute lets us put it outside the viewport with the indents, the rest is to clear all defaults */ position: absolute; top: -9999em; left: -9999em; background: none; border: 0; clear: both; display: block; float: none; font-size: 0; margin: 0; padding: 0; overflow: hidden; visibility: hidden; width: 0; height: 0; border: none; } /* ------------ Standard HTML elements and their default settings ------------ */ b, strong{font-weight: bold;}i, em{ font-style: italic;} p { padding: 0; margin-top: 0.5em; margin-bottom: 1em; text-align:left; } h1, h2, h3, h4, h5 { line-height: 1.6em; font-weight: normal; width: auto; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } /*default link styles*/ a { color: #679EBC; text-decoration: none; text-align: left; } a:hover { color: #3A6B85; } a:active { color: #3A6B85; } a:visited { color: #679EBC; } input, textarea, select { font-size: 0.95em; } /* ------------ Wrapper ------------ */ div#pagewrapper { font-size: 95%; position: relative; z-index: 1; } /* ------------ Header ------------ */ #header { height: 111px; width: 960px; } #logo a { /* adjust according your image size */ height: 75px; width: 215px; /* forces full link size */ display: block; /* this hides the text */ text-indent: -9999em; margin-top: 0; margin-left: 0; /* you can set your own image here, note size adjustments */ background: url([[root_url]]/uploads/NCleanBlue/logo.png) no-repeat left top; } /* ------------ Header - Search ------------ */ div#search { width: 190px; height: 28px; margin-top: 31px; margin-right: 20px; } div#search label { text-indent: -9999em; height: 0pt; width: 0pt; display: none; } div#search input.search-input { /* specific size for image, your image may need these adjusted */ width: 143px; height: 17px; /* removes default borders, allows use of image */ border-style: none; /* text color */ color: #999; /* padding of text */ padding: 7px 0px 4px 10px; float: left; /* set all font properties at once, weight, size, family */ font: bold 0.9em Arial, Helvetica, sans-serif; /* left input image, set your own here */ background: url([[root_url]]/uploads/NCleanBlue/search.png) no-repeat left top; } div#search input.search-button { /* specific size for image, your image may need these adjusted */ width: 37px; height: 28px; /* removes default borders, allows use of image */ border-style: none; /* hides text, image has text */ text-indent: -9999em; float: left; margin: 0; /* provides positive hover effect */ cursor: pointer; /* removes default size/height */ font-size: 0px; line-height: 0px; /* submit button image, set your own here */ background: transparent url([[root_url]]/uploads/NCleanBlue/search.png) no-repeat right top; } /* ------------ Content ------------ */ #content { width: auto; /* all text in #content will default align left, changed in other calls */ text-align: left; } #bar { width: auto; height: 40px; padding-right: 1em; padding-left: 1em; } .print { margin-right: 75px; margin-top: 10px; } #version { width: 50px; height: 31px; position: absolute; z-index: 5; top: 130px; right: -16px; font-size: 1.6em; font-weight: bold; padding: 28px 15px; color: #FFF; text-align: center; vertical-align: middle; background: url([[root_url]]/uploads/NCleanBlue/version.png) no-repeat left top; } /* IE6 fixes */ * html div#version { top: 150px; } /* End IE6 fixes */ /* Site Title */ h1.title { font-size: 1.8em; color: #666666; margin-bottom: 0.5em; } /* Breadcrumbs */ div.breadcrumbs { padding: 0.5em 0; font-size: 80%; margin: 0 1em; } div.breadcrumbs span.lastitem { font-weight: bold; } /* ------------ Side Bar (Left) ------------ */ #left { width: 250px; } /* Image that Represents the new CMS design */ #left .screen { margin: 10px 50px; } /* End */ .sbar-title { font: bold 1.2em Arial, Helvetica, sans-serif; color: #252523; } .sbar-top { height: 20px; width: auto; padding: 10px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat left top; } .sbar-main { width: auto; border-right: 1px solid #E2E2E2; border-left: 1px solid #E2E2E2; background: #F0F0F0; } span.sbar-bottom { width: auto; display: block; height: 10px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat left bottom; } /* ------------ Main (Right) ------------ */ #main { width: 690px; } .main-top { height: 15px; width: auto; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat right top; } .main-main { width: auto; border-right: 1px solid #E2E2E2; border-left: 1px solid #E2E2E2; background: #F0F0F0; padding: 20px; padding-top: 0px; } .main-bottom { width: auto; height: 41px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat right bottom; } .right49, .left49 { font-size: 0.85em; margin: 7px 5px 5px 10px; font-weight: bold; } .left49 span { display: block; padding-top: 1px; } .left49 a { font-weight: normal; } .right49 { height: 28px; width: 50px; padding-right: 10px; background: url([[root_url]]/uploads/NCleanBlue/bull.png) no-repeat right top; } .right49 a, .right49 a:visited { padding: 7px 4px; display: block; color: #000; height: 15px; background: url([[root_url]]/uploads/NCleanBlue/bull.png) no-repeat left top; } #main h2, #main h3, #main h4, #main h5, #main h6 { font-size: 1.4em; color: #301E12; } div#main ul, div#main ol, div#main dl, #footer ul, #footer ol { line-height: 1em; margin: 0 0 1.5em 0; } div#main ul, #footer ul { list-style: circle; } div#main ul li, div#main ol li, #footer ul li, #footer ol li { padding: 2px 2px 2px 5px; margin-left: 20px; } /* definition lists topics on bold */ div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } /* ------------ Footer ------------ */ #footer-wrapper { min-height: 235px; height: auto!important; height: 235px; width: auto; margin-top: 5px; text-align: center; margin-right: 00px; margin-left: 0px; background: #7CA3B5 url([[root_url]]/uploads/NCleanBlue/bg__footer.png) repeat-x left top; } #footer { color: #FFF; font-size: 0.8em; min-height: 235px; height: auto!important; height: 235px; background: #7CA3B5 url([[root_url]]/uploads/NCleanBlue/bg__footer.png) repeat-x left top; } #footer .block { width: 300px; margin: 20px 10px 10px; } #footer .cms { text-align: right; } /* ------------ Footer Links ------------ */ #footer ul { width: auto; text-align: left; margin-left: 50px; } #footer ul ul { margin-left: 0px; } #footer ul li a { color: #FFF; display: block; font-weight: normal; margin-bottom: 0.5em; text-decoration: none; } #footer a { color: #DCEDF1; text-decoration: underline; font-weight: bold; } /* ------------ END LAYOUT ---------------*/ /* ------------ Menu ROOT ------------ */ .page-menu { width: auto; height: 35px; margin: 3px 0 0 20px; } .menuwrapper {} ul#primary-nav li hr.menu_separator{ position: relative; visibility: hidden; display:block; width:5px; height: 32px; margin: 0px 5px 0px; } .page-menu ul#primary-nav { height: 1%; float: left; list-style: none; padding: 0; margin: 0; } .page-menu ul#primary-nav li { float: left; } .page-menu ul#primary-nav li a, .page-menu ul#primary-nav li a span { display: block; padding: 0 10px; background-repeat: no-repeat; background-image: url([[root_url]]/uploads/NCleanBlue/tabs.gif); } .page-menu ul#primary-nav li a { padding-left: 0; color: #000; font-weight: bold; line-height: 2.15em; text-decoration: none; margin-left: 1px; font-size: 0.85em; } .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:active { color: #000; } .page-menu ul#primary-nav li a.menuactive, .page-menu ul#primary-nav li a:hover span { color: #000; } .page-menu ul#primary-nav li a span { padding-top: 6px; padding-right: 0; padding-bottom: 5px; } .page-menu ul#primary-nav li a.menuparenth, .page-menu ul#primary-nav li a.menuactive, .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:focus, .page-menu ul#primary-nav li a:active { background-position: 100% -120px; } .page-menu ul#primary-nav li a { background-position: 100% -80px; } .page-menu ul#primary-nav li a.menuactive span, .page-menu ul#primary-nav li a:hover span, .page-menu ul#primary-nav li a:focus span, .page-menu ul#primary-nav li a:active span { background-position: 0 -40px; } .page-menu ul#primary-nav li a span { background-position: 0 0; } .page-menu ul#primary-nav .sectionheader, .page-menu ul#primary-nav li a:link.menuactive, .page-menu ul#primary-nav li a:visited.menuactive { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ cursor: text; } .page-menu ul#primary-nav li span, .page-menu ul#primary-nav li a, .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:focus, .page-menu ul#primary-nav li a:active { /* @ Opera, we need to be explicit again here now... */ cursor: pointer; } /* Additional IE specific bug fixes... */ * html .page-menu ul#primary-nav { display: inline-block; } *:first-child+html .page-menu ul#primary-nav { display: inline-block; } /* -------------------- menu dropdow ------------------------- /* Unless you know what you do, do not touch this */ /* Reset all ROOT menu styles. */ ul#primary-nav ul.unli li li a span, ul#primary-nav ul.unli li a span, ul#primary-nav .menuparent .unli .menuparent .unli li a span { font-weight: normal; background-image: none; display: block; padding-top: 0px; padding-left: 0px; padding-right: 0px; padding-bottom: 0px; } #primary-nav { margin: 0px; padding: 0px; } #primary-nav ul { list-style: none; margin: -6px 0px 0px; padding: 0px; /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 209px; } #primary-nav ul { position: absolute; z-index: 1001; top: auto; display: none; padding-top: 9px; background: url([[root_url]]/uploads/NCleanBlue/ultop.png) no-repeat left top; } * html #primary-nav ul.unli { padding-top: 12px; background: url([[root_url]]/uploads/NCleanBlue/ultop.gif) no-repeat left top; } #primary-nav ul.unli ul { margin-left: -7px; left: 100%; top: 3px; } * html #primary-nav ul.unli ul { margin-left: -0px; } #primary-nav li { margin: 0px; float: left; } #primary-nav li li { margin-left: 7px; margin-top: -1px; float: none; position: relative; } /* Styling the basic appearance of the menu elements */ ul#primary-nav ul hr.menu_separator{ position: relative; visibility: visible; display:block; width:130px; height: 1px; margin: 2px 30px 2px; padding: 0em; border-bottom: 1px solid #ccc; border-top-width: 0px; border-right-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-left-style: none; } #primary-nav .separator, #primary-nav .separatorh { height: 9px; width: 209px; margin: 0px 0px -8px; background: url([[root_url]]/uploads/NCleanBlue/ulbtm.png) no-repeat left bottom; } * html #primary-nav .separator { z-index:-1; background: url([[root_url]]/uploads/NCleanBlue/ulbtm.gif) no-repeat left bottom; } *:first-child+html #primary-nav .separator { z-index:-1; } #primary-nav ul.unli li a { padding: 0px 10px; width: 165px; margin: 5px; background-image: none; } * html #primary-nav ul.unli li a { padding: 0px 10px 0px 5px; width: 165px; margin: 5px 0px; } #primary-nav li li a:hover { background-color: #DBE7F2; } /* Styling the basic appearance of the active page elements (shows what page in the menu is being displayed) */ #primary-nav li.menuactive li a { text-decoration: none; background: none; } #primary-nav ul.unli li.menuparenth, #primary-nav ul.unli a:hover, #primary-nav ul.unli a.menuactive { background-color: #DBE7F2; } /* Styling the basic apperance of the menuparents - here styled the same on hover (fixes IE bug) */ #primary-nav ul.unli li .menuparent, #primary-nav ul.unli li .menuparent:hover, #primary-nav ul.unli li .menuparent, #primary-nav .menuactive.menuparent .unli .menuactive.menuparent .menuactive.menuparent { background-image: url([[root_url]]/uploads/NCleanBlue/arrow.gif); background-position: center right; background-repeat: no-repeat; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul, #primary-nav li.menuparenth ul ul ul { display: none; } #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav ul ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul, #primary-nav ul ul ul li.menuparenth ul { display: block; } /* IE Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } /*************** End Menu *****************/ /* ------------ News Module ------------ */ #news { padding: 10px; } .NewsSummary { } .NewsSummaryPostdate, .NewsSummaryCategory, .NewsSummaryAuthor { font-style: italic; font-size: 0.8em; } .NewsSummaryLink { margin: 2px 0; } .NewsSummaryContent { margin: 10px 0; } .NewsSummaryMorelink { margin: 5px 0 15px; } /* ------------ End News Module ------------ *//* @Nuno Costa [criacaoweb.net] Utils CSS. @Licensed under GPL2 and MIT. @Status: Stable @Version: 0.1-20090418 @Contributors: - http://meyerweb.com/eric/tools/css/reset/index.html --------------------------------------------------------------- */ /* From: http://meyerweb.com/eric/tools/css/reset/index.html (Original) */ /* v1.0 | 20080212 */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; } /* Stantby for nowbody { line-height: 1; } */ ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } /* remember to define focus styles! */ :focus { outline: 0; } /* remember to highlight inserts somehow! */ ins { text-decoration: none; } del { text-decoration: line-through; } /* tables still need 'cellspacing="0"' in the markup */ table { border-collapse: collapse; border-spacing: 0; } /* ------- @Nuno Costa [criacaoweb.net] Utils CSS. ---------- */ * { font-weight: inherit; font-style: inherit; font-family: inherit; } dfn { display: none; overflow: hidden; } /* ----------- Clear Floated Elements ----------- */ html body .util-clearb { background: none; border: 0; clear: both; display: block; float: none; font-size: 0; margin: 0; padding: 0; position: static; overflow: hidden; visibility: hidden; width: 0; height: 0; } /* ----------- Fix to Clear Floated Elements ----------- */ .util-clearfix:after { clear: both; content: '.'; display: block; visibility: hidden; height: 0; } .util-clearfix { display: inline-block; } * html .util-clearfix { height: 1%; } .util-clearfix { display: block; }/* Sections that are hidden when printing the page. We only want the content printed. */ body { color: #000 !important; /* we want everything in black */ background-color:#fff !important; /* on white background */ font-family:arial; /* arial is nice to read ;) */ border:0 !important; /* no borders thanks */ } /* This affects every tag */ * { border:0 !important; /* again no borders on printouts */ } /* no need for accessibility on printout. Mark all your elements in content you dont want to get printed with class="noprint" */ .accessibility, .noprint { display:none !important; } /* remove all width constraints from content area */ div#content, div#main { display:block !important; width:100% !important; border:0 !important; padding:1em !important; } /* hide everything else! */ div#header, div#header h1 a, div.breadcrumbs, div#search, div#footer, div#menu_vert, div#news, div.noprint, div.right49, div.left49, div#sidebar { display: none !important; } img { float:none; /* this makes images cause a pagebreak if it doesnt fit on the page */ }[[strip]] [[* /*! normalize.css v2.1.3 | MIT License | git.io/normalize */ *]] [[* /* ========================================================================== HTML5 display definitions ========================================================================== */ *]] [[* /** * Correct `block` display not defined in IE 8/9. */ *]] article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } [[* /** * Correct `inline-block` display not defined in IE 8/9. */ *]] audio, canvas, video { display: inline-block; } [[* /** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ *]] audio:not([controls]) { display: none; height: 0; } [[* /** * Address `[hidden]` styling not present in IE 8/9. * Hide the `template` element in IE, Safari, and Firefox < 22. */ *]] [hidden], template { display: none; } [[* /* ========================================================================== Base ========================================================================== */ *]] [[* /** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change, without disabling * user zoom. */ *]] html { font-family: sans-serif; [[* /* 1 */ *]] -ms-text-size-adjust: 100%; [[* /* 2 */ *]] -webkit-text-size-adjust: 100%; [[* /* 2 */ *]] } [[* /** * Remove default margin. */ *]] body { margin: 0; } [[* /* ========================================================================== Links ========================================================================== */ *]] [[* /** * Remove the gray background color from active links in IE 10. */ *]] a { background: transparent; } [[* /** * Address `outline` inconsistency between Chrome and other browsers. */ *]] a:focus { outline: thin dotted; } [[* /** * Improve readability when focused and also mouse hovered in all browsers. */ *]] a:active, a:hover { outline: 0; } [[* /* ========================================================================== Typography ========================================================================== */ *]] [[* /** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+, Safari 5, and Chrome. */ *]] h1 { font-size: 2em; margin: 0.67em 0; } [[* /** * Address styling not present in IE 8/9, Safari 5, and Chrome. */ *]] abbr[title] { border-bottom: 1px dotted; } [[* /** * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ *]] b, strong { font-weight: bold; } [[* /** * Address styling not present in Safari 5 and Chrome. */ *]] dfn { font-style: italic; } [[* /** * Address differences between Firefox and other browsers. */ *]] hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } [[* /** * Address styling not present in IE 8/9. */ *]] mark { background: #ff0; color: #000; } [[* /** * Correct font family set oddly in Safari 5 and Chrome. */ *]] code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } [[* /** * Improve readability of pre-formatted text in all browsers. */ *]] pre { white-space: pre-wrap; } [[* /** * Set consistent quote types. */ *]] q { quotes: "\201C" "\201D" "\2018" "\2019"; } [[* /** * Address inconsistent and variable font size in all browsers. */ *]] small { font-size: 80%; } [[* /** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ *]] sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } [[* /* ========================================================================== Embedded content ========================================================================== */ *]] [[* /** * Remove border when inside `a` element in IE 8/9. */ *]] img { border: 0; } [[* /** * Correct overflow displayed oddly in IE 9. */ *]] svg:not(:root) { overflow: hidden; } [[* /* ========================================================================== Figures ========================================================================== */ *]] [[* /** * Address margin not present in IE 8/9 and Safari 5. */ *]] figure { margin: 0; } [[* /* ========================================================================== Forms ========================================================================== */ *]] [[* /** * Define consistent border, margin, and padding. */ *]] fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } [[* /** * 1. Correct `color` not being inherited in IE 8/9. * 2. Remove padding so people aren''t caught out if they zero out fieldsets. */ *]] legend { border: 0; [[* /* 1 */ *]] padding: 0; [[* /* 2 */ *]] } [[* /** * 1. Correct font family not being inherited in all browsers. * 2. Correct font size not being inherited in all browsers. * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ *]] button, input, select, textarea { font-family: inherit; [[* /* 1 */ *]] font-size: 100%; [[* /* 2 */ *]] margin: 0; [[* /* 3 */ *]] } [[* /** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */ *]] button, input { line-height: normal; } [[* /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. * Correct `select` style inheritance in Firefox 4+ and Opera. */ *]] button, select { text-transform: none; } [[* /** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ *]] button, html input[type="button"], [[* /* 1 */ *]] input[type="reset"], input[type="submit"] { -webkit-appearance: button; [[* /* 2 */ *]] cursor: pointer; [[* /* 3 */ *]] } [[* /** * Re-set default cursor for disabled elements. */ *]] button[disabled], html input[disabled] { cursor: default; } [[* /** * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */ *]] input[type="checkbox"], input[type="radio"] { box-sizing: border-box; [[* /* 1 */ *]] padding: 0; [[* /* 2 */ *]] } [[* /** * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome * (include `-moz` to future-proof). */ *]] input[type="search"] { -webkit-appearance: textfield; [[* /* 1 */ *]] -moz-box-sizing: content-box; -webkit-box-sizing: content-box; [[* /* 2 */ *]] box-sizing: content-box; } [[* /** * Remove inner padding and search cancel button in Safari 5 and Chrome * on OS X. */ *]] input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } [[* /** * Remove inner padding and border in Firefox 4+. */ *]] button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } [[* /** * 1. Remove default vertical scrollbar in IE 8/9. * 2. Improve readability and alignment in all browsers. */ *]] textarea { overflow: auto; [[* /* 1 */ *]] vertical-align: top; [[* /* 2 */ *]] } [[* /* ========================================================================== Tables ========================================================================== */ *]] [[* /** * Remove most spacing between table cells. */ *]] table { border-collapse: collapse; border-spacing: 0; } [[* /*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */ *]] [[* /* * What follows is the result of much research on cross-browser styling. * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, * Kroc Camen, and the H5BP dev community and team. */ *]] [[* /* ========================================================================== Base styles: opinionated defaults ========================================================================== */ *]] html { color: #222; font-size: 1em; line-height: 1.4; } [[* /* * A better looking default horizontal rule */ *]] hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } [[* /* * Remove the gap between images, videos, audio and canvas and the bottom of * their containers: h5bp.com/i/440 */ *]] audio, canvas, img, svg, video { vertical-align: middle; } [[* /* * Remove default fieldset styles. */ *]] fieldset { border: 0; margin: 0; padding: 0; } [[* /* * Allow only vertical resizing of textareas. */ *]] textarea { resize: vertical; } [[* /* ========================================================================== Helper classes ========================================================================== */ *]] [[* /* * Hide from both screenreaders and browsers: h5bp.com/u */ *]] .hidden { display: none !important; visibility: hidden; } [[* /* * Hide only visually, but have it available for screenreaders: h5bp.com/v */ *]] .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } [[* /* * Extends the .visuallyhidden class to allow the element to be focusable * when navigated to via the keyboard: h5bp.com/p */ *]] .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } [[* /* * Hide visually and from screenreaders, but maintain layout */ *]] .invisible { visibility: hidden; } [[* /* * Clearfix: contain floats * * For modern browsers * 1. The space content is one way to avoid an Opera bug when the * `contenteditable` attribute is included anywhere else in the document. * Otherwise it causes space to appear at the top and bottom of elements * that receive the `clearfix` class. * 2. The use of `table` rather than `block` is only necessary if using * `:before` to contain the top-margins of child elements. */ *]] .cf:before, .cf:after { content: " "; [[* /* 1 */ *]] display: table; [[* /* 2 */ *]] } .cf:after { clear: both; } [[* /* ===================================== BASE STYLES ===================================== */ *]] [[* /* * 1. Remove default vertical scrollbar in IE6/7/8/9 * 2. Allow only vertical resizing */ *]] textarea { overflow: auto; vertical-align: top; resize: vertical } ul, ol { margin: 1em 0; padding: 0 0 0 40px } dd { margin: 0 0 0 40px } nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 } [[* /* Redeclare monospace font family */ *]] pre, code, kbd, samp { font-family: monospace, serif; _font-family: courier new, monospace; font-size: 1em } [[* /* Improve readability of pre-formatted text in all browsers */ *]] pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word } q { quotes: none } q:before, q:after { content: ""; content: none } small { font-size: 85% } [[* /* correct text resizing */ *]] html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100% } body { margin: 0; font-size: 1em; -webkit-font-smoothing: antialiased; } [[* /* ===================================== 12 COLUMN GRID ===================================== */ *]] [[* /* ========================================================================== 12 Column Grid System based on the 1140px Grid V2 by Andy Taylor http://cssgrid.net Extended by Goran Ilic http://www.ich-mach-das.at https://github.com/Stikki/Yetti/blob/master/static/css/yetti-grid.css ========================================================================== */ *]] .container { padding-left: 10px; padding-right: 10px; } .row { width: 100%; max-width: 1440px; margin: 0 auto; position: relative; } .row:before, .row:after, .form-row:before, .form-row:after { content: " "; display: table; } .row:after, .form-row:after { clear: both; } [[* /* ========================================================================== Base 12 Column Grid ========================================================================== */ *]] .full { width: 100%; display: block; } .half, .third, .two-third, .quarter, .three-quarter, .fifth, .two-fifth, .three-fifth, .four-fifth { float: left; } .half { width: 50%; } .third { width: 33.33%; } .two-third { width: 66.66%; } .quarter { width: 25%; } .three-quarter { width: 75%; } .fifth { width: 20%; } .two-fifth { width: 40%; } .three-fifth { width: 60%; } .four-fifth { width: 80% } [[* /* Animate position of columns */ *]] .row [class*="-col"] { -webkit-transition:all .4s ease; -moz-transition:all .4s ease; -o-transition:all .4s ease; -ms-transition:all .4s ease; transition:all .4s ease; } @media only screen and (min-width: 768px) { .container { padding-left: 20px; padding-right: 20px; } [[* /* ========================================================================== Base 12 Column Grid ========================================================================== */ *]] .col, .one-col, .two-col, .three-col, .four-col, .five-col, .six-col, .seven-col, .eight-col, .nine-col, .ten-col, .eleven-col { margin-left: 3.8%; float: left; min-height: 1px; position: relative; } .row .one-col { width: 4.85%; } .row .two-col { width: 13.45%; } .row .three-col { width: 22.05%; } .row .four-col { width: 30.75%; } .row .five-col { width: 39.45%; } .row .six-col { width: 48.1%; } .row .seven-col { width: 56.75%; } .row .eight-col { width: 65.4%; } .row .nine-col { width: 74.05%; } .row .ten-col { width: 82.7%; } .row .eleven-col { width: 91.35%; } .row .twelve-col { width: 100%; margin-left: 0; } .row [class*="-col"]:first-child, .row [class*="-col"].first { margin-left: 0; } [[* /* ========================================================================== Offset Space ========================================================================== */ *]] .row .offset-one { margin-left: 8.65% !important; } .row .offset-two { margin-left: 17.25% !important; } .row .offset-three { margin-left: 25.85% !important; } .row .offset-four { margin-left: 34.55% !important; } .row .offset-five { margin-left: 43.25% !important; } .row .offset-six { margin-left: 51.8% !important; } .row .offset-seven { margin-left: 60.55% !important; } .row .offset-eight { margin-left: 69.2% !important; } .row .offset-nine { margin-left: 77.85% !important; } .row .offset-ten { margin-left: 86.5% !important; } .row .offset-eleven { margin-left: 95.15% !important; } [[* /* ========================================================================== Push & Pull Space ========================================================================== */ *]] .row .push-one, .row .push-two, .row .push-three, .row .push-four, .row .push-five, .row .push-six, .row .push-seven, .row .push-eight, .row .push-nine, .row .push-ten, .row .push-eleven, .row .pull-one, .row .pull-two, .row .pull-three, .row .pull-four, .row .pull-five, .row .pull-six, .row .pull-seven, .row .pull-eight, .row .pull-nine, .row .pull-ten, .row .pull-eleven { position: relative; margin-left: 0; } .row .push-one { left: 8.65%; } .row .push-two { left: 17.25%; } .row .push-three { left: 25.85%; } .row .push-four { left: 34.55%; } .row .push-five { left: 43.25%; } .row .push-six { left: 51.8%; } .row .push-seven { left: 60.55%; } .row .push-eight { left: 69.2%; } .row .push-nine { left: 77.85%; } .row .push-ten { left: 86.5%; } .row .push-eleven { left: 95.15%; } .row .pull-one { right: 4.85%; } .row .pull-two { right: 13.45%; } .row .pull-three { right: 22.05%; } .row .pull-four { right: 30.75%; } .row .pull-five { right: 39.45%; } .row .pull-six { right: 48%; } .row .pull-seven { right: 56.75%; } .row .pull-eight { right: 65.4%; } .row .pull-nine { right: 74.05%; } .row .pull-ten { right: 82.7%; } .row .pull-eleven { right: 91.35%; } } [[/strip]][[strip]] [[* APPEARANCE *]] [[* /** * @copyright CMS Made Simple 2014 * @author Goran Ilic (uniqu3e@gmail.com) * @version 1.1 (CMSMS 2.0 Package) * * Simplex Theme comes with 2 predefined Style variations, one is a "boxed" style as seen in * default installation which is controle with "boxed" ID that is set in Simplex Theme <body> tag. * If you remove this ID, a grey background on page body will be removed and layout will no longer * be wrapped inside a "box" but appear in a single background color which is by default white. * * Besides there are also predefined class names and styles that you can use on <body> tag to * change alignment of complete layout/page. * If you rightaligned class to body (example: <body class='rightaligned and other classes'>) * then whole page layout will be positioned to right window side instead of centered position * and with class leftaligned the page layout will be positioned to left. * * Maximum width of page layout is preset to 1440px in Simplex Core stylesheet, you can change this * by adding a new rule in this stylesheet with a class .row (Example: .row { max-width: 1080px; }). * If you prefer a full width layout simply add fullwidth class to body tag of Simplex Template. * This class will reset max-width limitation and force the page layout to full window width with * spacing on left and right of 30px. * * Browser Support: * Simplex Theme was tested in common modern Browser and IE8 (with gracefull fallback). * * Grid usage: * Simplex is using a custom Yetti Framework 12 column grid (https://github.com/Stikki/Yetti/tree/master) * based on Andy Taylors (http://cssgrid.net) 1140px Grid. * * Using the grid system is fairly simple. Make sure that grid columns * are wrapped inside a element with .row class. * When grid columns are inside a row element, floats are auto cleared, * therefore you do not need anything like some empty clear element ie. <div class="clear"></div> * Grid columns have a spacing (margin-left) of 3.8% of the layout, whereby first column after * .row opening element will have no spacing (margin-left). * Grid columns are only applied to Browser and Screen size which are greater then 768px; * * Example (three column row): * * <!-- container has a preset padding to left and right with 20px --> * <div class="container"> * <!-- clears floating row of columns, sets maximum width of 1440px --> * <div class="row some-class-to-apply-styles"> * <!-- * four-col explanation: a simple math, grid is built out of 12 columns, so we say we want * a grid column in size of four columns width therefore the name four- and to fill * our .row it is three times four-col column makes twelve columns (3 x 4 = 12) * --> * <div class="four-col my-class"> * Some content * </div> * <div class="four-col my-class"> * Some content * </div> * <div class="four-col my-class"> * Some content * </div> * </div> * <div class="row"> * <div class="six-col"> * Half width content * </div> * <div class="six-col"> * Half width content * </div> * </div> * </div> * */ *]] [[* /* assign the images path to a variable */ *]] [[capture assign='path']][[uploads_url]]/simplex/images[[/capture]] [[capture assign='font']][[uploads_url]]/simplex/fonts[[/capture]] [[* /* --- COLORS --- */ *]] [[assign var='light_grey' value='#f1f1f1']] [[assign var='grey' value='#e9e9e9']] [[assign var='dark_grey' value='#555' scope=global]] [[assign var='white' value='#fff']] [[assign var='orange' value='#f39c2c' scope=global]] [[assign var='dark_orange' value='#e6870e']] [[assign var='yellow' value='#fdbd34']] [[* /* ===================================== ICON FONT ===================================== */ *]] [[* /* Will fail on Windows Phone 7, sorry developer life sucks */ *]] @font-face { font-family: 'simplex'; src: url('[[$font]]/simplex.eot'); src: url('[[$font]]/simplex.eot?#iefix') format('embedded-opentype'), url('[[$font]]/simplex.woff') format('woff'), url('[[$font]]/simplex.ttf') format('truetype'), url('[[$font]]/simplex.svg#simplex') format('svg'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { font-family: 'simplex'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-arrow-up:before { content: "\e600"; } .icon-arrow-left:before { content: "\e601"; } .icon-search:before { content: "\e603"; } .icon-printer:before { content: "\e604"; } .icon-linkedin:before { content: "\e605"; } .icon-pinterest:before { content: "\e606"; } .icon-youtube:before { content: "\e607"; } .icon-facebook:before { content: "\e608"; } .icon-google:before { content: "\e609"; } .icon-twitter:before { content: "\e60a"; } .icon-link:before { content: "\e602"; } [[* /* ===================================== GENERAL STYLES ===================================== */ *]] body { background: [[$white]]; font-family: 'Noto Sans', sans-serif; font-size: 1em; [[* /* base browser font size: 16px, now do math "XX / 16 = ??" where XX is desired font size */ *]] color: [[$dark_grey]]; line-height: 1.5; } [[* /* add this class to <body> to align the layout to left instead of centered */ *]] .leftaligned { margin-left: 0; } [[* /* add this class to <body> to align the layout to right instead of centered */ *]] .rightaligned { margin-right: 0; } [[* /* you can change appearance of the page by adding or removing #boxed id to <body> tag. * By removing #boxed ID, page will no longer be wrapped in a wrapper */ *]] body#boxed { background: #f2f2f2 url([[$path]]/body-background.png) repeat; } [[* /* add this class to <body> to make this layout full window width */ *]] body.fullwidth .row { max-width: none; } a img { border: none; } [[* /* you can use these classes to align images to left or right */ *]] .right { float: right; } .left { float: left; } [[* /* if image needs some space add this class to img tag * so at the end a left floating image would be <img src='some.jpg' class='left spacing' alt='foo' /> */ *]] .spacing { margin: 15px; } .spacing.left { margin-right: 0; } .spacing.right { margin-left: 0; } [[* /* or add a 2 px border to image or something, change as you need it */ *]] .border { border: 2px solid [[$grey]]; } [[* /* some styling for code chunks */ *]] pre, code, kbd, samp { font-family: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', monospace; color: [[$dark_grey]]; } pre code { line-height: 1.4; font-size: .8125em; } pre { padding: 10px; margin: 10px 0; overflow: auto; width: 93%; background: [[$light_grey]]; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -o-border-radius: 6px; } [[* /* target IE7 and IE6 */ *]] *:first-child+ html pre { padding-bottom: 20px; overflow-y: hidden; overflow: visible; overflow-x: auto; } * html pre { padding-bottom: 20px; overflow: visible; overflow-x: auto; } [[* /* horizontal ruler */ *]] hr { border: solid [[$grey]]; border-width: 1px 0 0 0; clear: both; margin: 10px 0 30px 0; height: 0; } [[* /* ===================================== COMMON TYPOGRAPHY ===================================== */ *]] [[* /* link default styles */ *]] a { color: [[$orange]]; } a.external { text-decoration: none; } a:visited { color: [[$dark_orange]]; } a:hover { color: [[$dark_grey]]; transition: transform .3s ease-out; -webkit-transition: color .3s ease-out; -moz-transition: color .3s ease-out; -o-transition: color .3s ease-out; text-decoration: underline; } a:focus { outline: thin dotted; } a:hover, a:active { outline: 0; } [[* /* add icon to links with class external */ *]] a.external:after { content: "\e602"; padding-left: 4px; font-family: 'simplex'; text-decoration: none; } [[* /* default heading styles */ *]] h1, h2 { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 700; } h3, h4, h5, h6 { font-weight: 400; } h1 { color: [[$orange]]; margin: 10px 0; font-size: 2em; [[* /* 32px */ *]] text-transform: uppercase; } h2 { color: [[$dark_grey]]; font-size: 1.75em; [[* /* 28px */ *]] } h3 { color: [[$dark_grey]]; font-size: 1.5em; [[* /* 24px */ *]] } h4 { color: [[$orange]]; font-size: 1.375em; [[* /* 22px */ *]] } h5 { font-size: 1.25em [[* /* 20px */ *]] } h6 { font-size: 1.125em; [[* /* 18px */ *]] } [[* /* blockquotes and cites */ *]] blockquote, blockquote p { font-size: 1.0625em; line-height: 1.5; color: [[$dark_grey]]; font-style: italic; font-family: Georgia, Times New Roman, serif; } blockquote { margin: 0 0 20px 0; padding: 9px 10px 10px 19px; border-left: 5px solid [[$light_grey]]; } blockquote cite { display: block; font-size: .941176em; color: [[$dark_grey]]; } blockquote cite:before { content: "\2014 \0020"; } blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { font-family: Georgia, Times New Roman, serif; } [[* /* ===================================== LAYOUT ===================================== */ *]] [[* /* wrapping the page in a box */ *]] .page-wrapper { border-top: 5px solid [[$orange]]; margin-bottom: 15px; } [[* /* you can switch appearance of the page by adding or removing id #boxed to body tag */ *]] #boxed #wrapper { margin-top: 15px; border-top: 5px solid [[$orange]]; background: [[$white]]; box-shadow: 0 0 15px 0 #c6c6c6; } #boxed.page-wrapper { border-top: none; } [[* /* add some spacing to page wrapper */ *]] .inner-section { padding-left: 20px; padding-right: 20px; } [[* /* ------ HEADER SECTION ------ */ *]] [[* /* the logo */ *]] .logo { margin-top: 20px; text-align: center; } .logo a { display: block; } .top .header { border-bottom: 1px solid [[$light_grey]]; } [[* /* catchphrase */ *]] .phrase span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: #ddd; font-weight: 700; font-size: 1.5em; [[* /* 24px */ *]] } [[* /* search */ *]] .search { text-align: right; } [[* /* webkit browser add icons to input of type search, we dont want it here now */ *]] input.search-input::-webkit-search-decoration, input.search-input::-webkit-search-results-button, input.search-input::-webkit-search-results-decoration { -webkit-appearance: none; } .search .icon-search { margin-left: -25px; display: inline-block; height: 24px; line-height: 24px; text-align: center; width: 24px; position: relative; z-index: 10; color: #ddd; top: 3px; } .search ::-webkit-input-placeholder, .search ::-moz-placeholder, .search input[placeholder] { line-height: normal; } [[* /* styling the search input field */ *]] input.search-input { border: 1px solid [[$light_grey]]; line-height: normal; outline: 0; padding: 6px 0 6px .5%; font-size: .6875em; [[* /* 11px */ *]] color: [[$dark_grey]]; transition: all .35s ease-in-out; -webkit-transition: all .35s ease-in-out; -moz-transition: all .35s ease-in-out; -o-transition: all .35s ease-in-out; max-width: 99.5%; } input.search-input:focus { border: 1px solid [[$orange]]; box-shadow: 0 0 3px [[$orange]]; -webkit-box-shadow: 0 0 3px [[$orange]]; -moz-box-shadow: 0 0 3px [[$orange]]; -o-box-shadow: 0 0 3px [[$orange]]; } [[* /* ------ NAVIGATION ------ */ *]] #main-menu { margin-top: 25px; } [[* /* --- FIRST LEVEL --- */ *]] #main-menu > li { display: block; border-bottom: 1px dotted [[$light_grey]]; position: relative; } #main-menu > li:last-child { border-bottom: none; } #main-menu > li > a, #main-menu > li.sectionheader > span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: [[$dark_grey]]; text-decoration: none; font-size: 1.0625em; [[* /* 17px */ *]] font-weight: 700; cursor: pointer; padding: 8px 0; display: block; position: relative; } #main-menu > li.current > a, #main-menu > li.current.sectionheader > span, #main-menu > li:hover > a, #main-menu > li.sectionheader:hover > span { color: [[$dark_orange]]; } [[* /* --- SECOND LEVEL --- */ *]] #main-menu > li > ul, #main-menu > li > ul > li > ul [[* /* third level */ *]] { position: absolute; left: -999em; } #main-menu > li:hover > ul, #main-menu > li.active > ul, #main-menu > li > ul > li:hover > ul, [[* /* third level */ *]] #main-menu > li > ul > li.active > ul { position: relative; left: 0; } #main-menu > li > ul > li > a, #main-menu > li > ul > li.sectionheader > span, #main-menu > li > ul > li > ul > li > a, [[* /* third level */ *]] #main-menu > li > ul > li > ul > li.sectionheader > span { text-decoration: none; color: [[$dark_grey]]; text-transform: uppercase; display: block; padding: 4px 0; } #main-menu > li > ul > li:hover > a, #main-menu > li > ul > li.sectionheader:hover > span, #main-menu > li > ul > li > ul > li:hover > a, #main-menu > li > ul > li > ul > li.sectionheader:hover > span { color: #999; } [[* /* --- THIRD LEVEL --- */ *]] #main-menu > li > ul > li > ul > li > a, #main-menu > li > ul > li > ul > li.sectionheader > span { padding-left: 15px; font-size: .875em; text-transform: none; } [[* /* --- PARENT INDICATOR --- */ *]] #main-menu > li > a i, #main-menu > li > ul > li > a i, #main-menu > li.sectionheader > span i, #main-menu > li > ul > li.sectionheader > span i { float: right; position: relative; padding-top: 6px; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } #main-menu > li:hover > a i, #main-menu > li.active > a i, #main-menu > li > ul > li:hover > a i, #main-menu > li > ul > li.active > a i, #main-menu > li.sectionheader:hover > span i, #main-menu > li.active.sectionheader > span i, #main-menu > li > ul > li.sectionheader:hover > span i, #main-menu > li > ul > li.active.sectionheader > span i { -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); } [[* /* ------ CONTENT AREA ------ */ *]] .content-wrapper { padding-top: 20px; } .content-top { font-family: Georgia, Times New Roman, serif; color: [[$dark_grey]]; font-style: italic; line-height: 20px; position: relative; } .content-top .title-border { content: ''; height: 1px; display: block; width: 100%; border-bottom: 1px dotted #ddd; position: absolute; top: 50%; } [[* /* breadcrumbs */ *]] .breadcrumb { display: inline-block; background: [[$white]]; width: auto; padding-right: 6px; z-index: 1; position: relative; } .breadcrumb a { color: [[$dark_grey]]; display: inline-block; width: auto; background: [[$white]]; } [[* /* print button */ *]] a.printbutton { display: none; } [[* /* news module summary -> content */ *]] .content .news-summary span.heading { display: none; } .content .news-article { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted [[$grey]]; } .content .news-summary ul.category-list { margin: 15px 0; } .content .news-summary ul.category-list li a, .news-summary ul.category-list li span { border-radius: 4px; } .news-summary ul.category-list li span { opacity: .4; } [[* /* news module summary -> sitewide (content + sidebar) */ *]] [[* /* article heading */ *]] .news-article h2 { margin: 0 0 15px 0; } .news-article h2 a { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: [[$dark_grey]]; font-size: 16px; text-decoration: none; font-weight: 700; } [[* /* date circle, well square for IE */ *]] .news-article .date { background: [[$orange]]; color: [[$white]]; display: block; float: left; width: 40px; padding: 6px; height: 40px; border-radius: 26px; text-align: center; font-family: Georgia, Times New Roman, serif; } .news-article .day { font-size: 20px; line-height: 1; padding-bottom: 2px; font-style: italic; display: block; } .news-article.month { font-size: 11px; display: block } [[* /* author and category */ *]] .news-article .author, .news-article .category { font-family: Georgia, Times New Roman, serif; display: block; padding-left: 60px; font-size: 11px; font-style: italic; } [[* /* category list on top of summary */ *]] .news-summary ul.category-list { margin: 15px 0 -1px 0; padding: 0; list-style: none; } .news-summary ul.category-list li { float: left; display: block; width: auto; margin-right: 5px; } .news-summary ul.category-list li a, .news-summary ul.category-list li span { display: block; color: [[$dark_grey]]; padding: 4px 8px; background: [[$light_grey]]; border-radius: 4px 4px 0 0; text-decoration: none; font-size: 11px; text-transform: uppercase; } .news-summary ul.category-list li a:hover { color: [[$orange]]; } .news-summary .paginate { font: italic 11px/1.2 Georgia, Times New Roman, serif; } .news-summary .paginate a { padding: 0 3px; } .news-meta { background: [[$light_grey]]; padding: 10px; margin: 10px 0; } [[* /* more link */ *]] .more, .more a, [[* /* back link */ *]] .back, .back a, [[* /* previous, next links */ *]] .previous a, .next a, .previous, .next { font: italic 12px/1.3 Georgia, Times New Roman, serif; color: [[$dark_grey]]; text-decoration: none; } [[* /* hover behavior of more, next, previous links */ *]] .more a:hover, .back a:hover, .previous a:hover, .next a:hover { text-decoration: underline; } .previous, .next { padding: 6px 0; } [[* /* align next link to right */ *]] .previous { float: left; } .next { float: right; } [[* /* ------ SIDEBAR AREA ------ */ *]] [[* /* news module summary -> sidebar */ *]] .sidebar .news-summary span.heading { position: relative; color: [[$dark_grey]]; font: normal 1em/1.25 Georgia, Times New Roman, serif; margin: 0 0 15px 0; display: block; } .sidebar .news-summary span.heading:after { content: ''; height: 1px; display: block; width: 100%; border-bottom: 1px dotted #ddd; position: absolute; top: 50%; } .sidebar .news-summary .heading span { display: inline-block; width: auto; background: [[$white]]; padding-right: 6px; position: relative; z-index: 10; } .sidebar .news-article { padding: 15px; position: relative; background: [[$light_grey]]; margin-bottom: 20px; border-radius: 0 0 6px 0; font-size: .8125em; [[* /* 13px */ *]] } [[* /* creating a bubble box with css3 */ *]] .sidebar .news-article:before { content: ''; position: absolute; bottom: -15px; right: 25px; width: 10px; height: 35px; -webkit-transform: rotate(55deg) skewY(55deg); -moz-transform: rotate(55deg) skewY(55deg); -o-transform: rotate(55deg) skewY(55deg); -ms-transform: rotate(55deg) skewY(55deg); transform: rotate(55deg) skewY(55deg); background: [[$light_grey]]; } .lt-ie9 .sidebar .news-article:before { display: none; } [[* /* ------ FOOTER AREA ------ */ *]] [[* /* footer wrapper */ *]] .footer { position: relative; border-top: 8px solid [[$light_grey]]; margin: 25px 0 10px 0; padding-top: 20px; padding-bottom: 20px; } .footer:before { content: ' '; border-top: 2px dotted [[$white]]; border-bottom: 2px dotted [[$white]]; height: 4px; display: block; position: absolute; width: 100%; top: -8px; left: 0; } [[* /* copyright text */ *]] .copyright { padding-top: 15px; } .copyright-info { color: [[$dark_grey]]; font-size: .6875em; [[* /* 11px */ *]] } [[* /* social icons */ *]] .footer ul.social { padding: 0; margin: 0; list-style: none; text-align: center; } .footer .social li { display: inline; margin: 0; padding: 0; margin-right: 6px; } .footer .social li a { display: inline-block; text-decoration: none; font-size: 2.625em; line-height: 1; color: [[$dark_grey]]; } .footer .social li a:hover { color: [[$orange]]; } .footer .social li a i { display: inline-block; } [[* /* back to top anchor */ *]] .back-top a { display: inline-block; width: 16px; height: 16px; line-height: 16px; padding: 8px; border: 5px solid [[$white]]; text-decoration: none; color: [[$dark_grey]]; background-color: [[$light_grey]]; border-radius: 500px; -webkit-border-radius: 500px; -moz-border-radius: 500px; -o-border-radius: 500px; position: absolute; top: -24px; left: 50%; margin-left: -12px; -webkit-transition: all 200ms ease-in-out; -moz-transition: all 200ms ease-in-out; -ms-transition: all 200ms ease-in-out; -o-transition: all 200ms ease-in-out; transition: all 200ms ease-in-out; } .back-top a:hover { background-color: [[$orange]]; color: [[$white]]; -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -ms-transform: scale(1.1); -o-transform: scale(1.1); transform: scale(1.1); } [[* /* Footer navigation */ *]] .footer-navigation { padding-top: 15px; border-bottom: 1px solid [[$light_grey]]; } #footer-menu li > a, #footer-menu li.sectionheader > span { color: [[$dark_grey]]; display: block; text-decoration: none; } #footer-menu li > a:hover, #footer-menu li > a.current, #footer-menu li.sectionheader > span:hover, #footer-menu li.sectionheader > span.current { color: [[$orange]]; } #footer-menu > li > a, #footer-menu > li.sectionheader > span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; text-decoration: none; display: block; } #footer-menu > li > ul > li > a, #footer-menu > li > ul > li.sectionheader > span { font-size: .875em; [[* /* 14px */ *]] padding: 2px 0; } #footer-menu > li > ul { margin: 15px 0; } [[* /* ===================================== SCREENS BIGGER THAN 768px ===================================== */ *]] @media screen and (min-width: 768px) { .lt-768 { display: none; } .logo { margin-top: 12px; position: relative; text-align: left; } [[* /* having some fun with palm, rotating with css3, will not work in IE */ *]] .logo .palm { position: absolute; top: 5px; left: 45px; background: url([[$path]]/palm-circle.png) no-repeat; display: block; width: 48px; height: 48px; transition: transform 0.6s ease-out; -webkit-transition: -webkit-transform 0.6s ease-out; -moz-transition: -moz-transform 0.6s ease-out; -o-transition: -o-transform 0.6s ease-out; -webkit-perspective: 1000; -webkit-backface-visibility: hidden; } [[* /* css3 transform rotating palm on hover */ *]] .logo a:hover .palm { transform: rotate(360deg); -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); } [[* /* ------ NAVIGATION ------ */ *]] nav.main-navigation { z-index: 990; height: 55px; line-height: 37px; margin-top: 20px; } #main-menu { float: right; margin-top: 0; } [[* /* --- FIRST LEVEL --- */ *]] #main-menu > li { display: inline-block; padding: 0; margin: 0 4px; border: none; position: relative; } [[* /* PARENT INICATOR */ *]] #main-menu > li i { display: none; } .touch-device #main-menu > li i { display: inline-block; float: none; } .touch-device #main-menu > li li i { float: left; display: inline-block; margin-right: 8px; padding-top: 2px; text-align: left; } .touch-device #main-menu > li:first-child li i { float: right; } #main-menu > li:first-child, #main-menu > li.first { margin-left: 0; } #main-menu > li:last-child, #main-menu > li.last { margin-right: 0; } #main-menu > li > a, #main-menu > li.sectionheader span { padding: 0 6px 0 10px; line-height: 37px; font-size: 1em; } #main-menu > li.parent:hover > a, #main-menu > li.sectionheader.parent:hover > span, #main-menu > li.parent.active > a, #main-menu > li.parent.active > span { color: [[$white]]; background-color: [[$dark_grey]]; background-color: rgba(85, 85, 85, .95); } [[* /* --- SECOND LEVEL --- */ *]] #main-menu > li > ul, #main-menu > li > ul > li > ul [[* /* third level */ *]] { display: block; width: 260px; } #main-menu > li:hover > ul, #main-menu > li.active > ul, #main-menu > li > ul > li:hover > ul, #main-menu > li > ul > li.active > ul { height: auto; position: absolute; z-index: 9999; top: 37px; right: 0; left: auto; display: block; border-radius: 3px; } #main-menu > li:first-child:hover > ul, #main-menu > li:first-child.active > ul { right: auto; left: 0; } #main-menu > li > ul > li { position: relative; line-height: 1; margin: 0; padding-left: 10px; } #main-menu > li:first-child > ul > li { padding-right: 10px; padding-left: 0; } #main-menu > li > ul > li > a, #main-menu > li > ul > li.sectionheader > span, #main-menu > li > ul > li > ul > li > a, #main-menu > li > ul > li > ul > li.sectionheader > span { color: [[$white]]; display: block; text-transform: none; line-height: 1.2; border-bottom: 1px dotted #858585; background-color: [[$dark_grey]]; background-color: rgba(90, 90, 90, .98); padding: 8px 12px; font-size: .875em; [[* /* 14px */ *]] text-decoration: none; } #main-menu > li > ul > li.current > a, #main-menu > li > ul > li.current.sectionheader > span, #main-menu > li > ul > li > ul > li.current > a, #main-menu > li > ul > ul > li > li.current.sectionheader > span { color: [[$orange]]; } [[* /* THIRD LEVEL */ *]] #main-menu > li > ul > li:hover > ul, #main-menu > li > ul > li.active > ul { width: 250px; height: auto; top: 0; right: auto; left: -250px; } #main-menu > li:first-child > ul > li:hover > ul, #main-menu > li:first-child > ul > li.active > ul { left: auto; right: -250px; } .lt-ie9 #main-menu > li > ul > li:hover > ul, .lt-ie9 #main-menu > li > ul > li.active > ul { left: -247px; } #main-menu > li > ul > li:hover > ul:after, #main-menu > li > ul > li.active > ul:after { content: ' '; width: 0px; height: 0px; border-style: solid; border-width: 7px 0 7px 6px; border-color: transparent transparent transparent [[$dark_grey]]; border-color: transparent transparent transparent rgba(85, 85, 85, .95); position: absolute; right: -6px; top: 12px; } .lt-ie9 #main-menu > li:first-child > ul > li:hover > ul, .lt-ie9 #main-menu > li:first-child > ul > li.active > ul { left: auto; right: -247px; } #main-menu > li:first-child > ul > li:hover > ul:after, #main-menu > li:first-child > ul > li.active > ul:after { left: -10px; right: auto; } #main-menu li ul li a:hover, #main-menu li ul li span.sectionheader:hover { box-shadow: 0 0 5px rgba(85, 85, 85, .9); z-index: 2; } #main-menu > ul > li:last-child > a, #main-menu > ul > li.sectionheader:last-child > span, #main-menu > ul > li > ul > li:last-child > a, #main-menu > ul > li > ul > li.sectionheader:last-child > span { border-bottom: none; } .header-bottom { height: 55px; line-height: 55px; padding: 8px 0; } .phrase-text { text-align: left; } input.search-input { height: 17px; line-height: 17px; width: 100%; max-width: 320px; } input.search-input:focus { max-width: 90%; } [[* /* print button */ *]] a.printbutton { display: block; padding-left: 6px; width: 16px; height: 16px; float: right; text-decoration: none; color: [[$dark_grey]]; background-color: [[$white]]; z-index: 1; position: relative; } a.printbutton i { display: inline-block; -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } a.printbutton:hover { color: [[$orange]]; } a.printbutton:hover i { -webkit-transform: rotateY(360deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg); } [[* /* --- FOOTER --- */ *]] .footer ul.social { text-align: left; } .footer .social li a i { display: inline-block; -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -ms-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } .footer .social li a:hover i { -webkit-transform: rotateY(360deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg); } [[* /* --- Footer Navigation --- */ *]] .footer-navigation { border-bottom: none; } #footer-menu > li { float: left; display: block; position: relative; margin-left: 3.8%; width: 30.75%; } #footer-menu > li:first-child { margin-left: 0; } } [[* /* ================================================ WHEN LAYOUT BREAKS IT'S TIME FOR NEW MEDIA QUERY ================================================== */ *]] @media only screen and (max-width: 780px) { .search { margin-top: 15px; } input.search-input { width: 100%; max-width: 100%; float: left; } input.search-input:focus { max-width: none; } .header-bottom { padding-top: 20px; text-align: center; line-height: inherit; padding: 20px 0; } } @media only screen and (min-width: 940px) and (max-width: 1110px) { #main-menu > li { margin: 0; } #main-menu > li > a, #main-menu > li.sectionheader span { padding: 0 6px; } } @media only screen and (min-width: 768px) and (max-width: 1050px) { .row nav.main-navigation { height: auto; float: none; display: block; margin-left: 0; width: 100%; clear: left; } #main-menu { margin-top: 15px; margin-bottom: 15px; border-bottom: 1px solid [[$light_grey]]; float: none; display: block; } #main-menu > li { margin: 0; bottom: -1px; text-align: center; border-bottom: 1px solid [[$light_grey]]; border-right: 1px solid [[$light_grey]]; border-top: 1px solid [[$light_grey]]; } #main-menu > li.current { border-bottom-color: [[$white]]; border-top-color: [[$orange]]; } #main-menu > li.current > a { border-top: 1px solid [[$orange]]; line-height: 45px; } #main-menu > li:first-child { border-left: 1px solid [[$light_grey]]; } #main-menu > li > a, #main-menu > li > span { line-height: 46px; padding-left: 12px; padding-right: 6px; } #main-menu > li:hover > ul, #main-menu > li.active > ul { top: 45px; } .header-bottom { height: auto; } .row .seven-col.phrase-text, .row .five-col.search { display: block; float: none; width: 100%; margin-left: 0; text-align: center; } } [[* /* ================================================ WINDOWS 8 SNAP VIEW (yeah yeah W3C blah blah) ================================================== */ *]] @-ms-viewport { width: device-width; } @-o-viewport { width: device-width; } @-moz-viewport { width: device-width; } @-webkit-viewport { width: device-width; } @viewport { width: device-width; } [[/strip]][[strip]] [[* /* reset body background and color, just in case */ *]] body { background: #fff; color: #000; font-family: Georgia, Times New Roman, serif; font-size: 12pt } [[* /* any element with class noprint or listed below should not be printed */ *]] .noprint, .visuallyhidden { display: none } [[* /* display image as block */ *]] img { display: block; float: none } [[* /* links arent clickable on paper, lets display url */ *]] a:link:after { content: " (" attr(href) ") "; } a { text-decoration: underline } [[/strip]][[strip]] [[* /* ------ BANNER AREA ------ */ *]] .banner { background: #fefefe; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQ3JSIgc3RvcC1jb2xvcj0iI2YxZjFmMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOWU5ZTkiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, #fefefe 0%, #f1f1f1 47%, #e9e9e9 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(47%,#f1f1f1), color-stop(100%,#e9e9e9)); background: -webkit-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: -o-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: -ms-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: linear-gradient(to bottom, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); } .lt-ie9 .banner { filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#e9e9e9',GradientType=0 ); } #sx-slides { position: relative; overflow: hidden; width: 100%; margin: 0 auto; position: relative; height: 380px; } #sx-slides > .sequence-canvas { height: 100%; width: 100%; margin: 0; padding: 0; list-style: none; } #sx-slides > .sequence-canvas > li { position: absolute; width: 100%; height: 100%; z-index: 1; top: -50%; } #sx-slides > .sequence-canvas > li img { height: 96%; } #sx-slides > .sequence-canvas li > * { position: absolute; -webkit-transition-property: left, bottom, right, top, -webkit-transform, opacity; -moz-transition-property: left, bottom, right, top, -moz-opacity; -ms-transition-property: left, bottom, right, top, -ms-opacity; -o-transition-property: left, bottom, right, top, -o-opacity; transition-property: left, bottom, right, top, transform, opacity; } #sx-slides .title { color: [[$orange]]; font-size: 2.25em; line-height: 1.1; font-weight: 700; left: 65%; opacity: 0; bottom: 22%; z-index: 50; margin-top: 0; } #sx-slides .animate-in .title { left: 12%; opacity: 1; -webkit-transition-duration: 0.8s; -moz-transition-duration: 0.8s; -ms-transition-duration: 0.8s; -o-transition-duration: 0.8s; transition-duration: 0.8s; } #sx-slides .animate-out .title { left: 35%; opacity: 0; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } #sx-slides .subtitle { margin-top: 0; z-index: 5; color: [[$dark_grey]]; font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 700; font-size: 1.8125em; left: 35%; opacity: 0; top: 72%; } #sx-slides .animate-in .subtitle { left: 20%; opacity: 1; -webkit-transition-duration: 1.3s; -moz-transition-duration: 1.3s; -ms-transition-duration: 1.3s; -o-transition-duration: 1.3s; transition-duration: 1.3s; } #sx-slides .animate-out .subtitle { left: 65%; opacity: 0; -webkit-transition-duration: 0.8s; -moz-transition-duration: 0.8s; -ms-transition-duration: 0.8s; -o-transition-duration: 0.8s; transition-duration: 0.8s; } #sx-slides .image { left: -10px; position: absolute; bottom: 800px; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; max-width: 70%; height: auto !important; max-height: 275px !important; } #sx-slides .animate-in .image { left: 14%; bottom: -49%; opacity: 1; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition-duration: 2s; -moz-transition-duration: 2s; -ms-transition-duration: 2s; -o-transition-duration: 2s; transition-duration: 2s; } #sx-slides .animate-out .image { left: -10px; bottom: -800px; opacity: 0; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); -webkit-transition-duration: 1s; -moz-transition-duration: 1s; -ms-transition-duration: 1s; -o-transition-duration: 1s; transition-duration: 1s; } @media only screen and (min-width: 768px) { #sx-slides .title { font-size: 3em; } #sx-slides .animate-in .title { left: 3%; } #sx-slides .subtitle { font-size: 2.5em; } #sx-slides .animate-in .subtitle { left: 8%; } #sx-slides .image { left: auto; right: -10px; position: absolute; max-width: 70%; height: auto !important; max-height: 300px !important; } #sx-slides .animate-in .image { left: auto; right: 5%; bottom: -45%; } #sx-slides .animate-out .image { left: auto; bottom: -800px; } } @media only screen and (min-width: 1050px) { #sx-slides { height: 440px; } #sx-slides .title { font-size: 3.25em; bottom: 15%; } #sx-slides .animate-in .title { left: 8%; } #sx-slides .subtitle { font-size: 2.875em; top: 78% } #sx-slides .animate-in .subtitle { left: 12%; } #sx-slides .image { max-width: 90%; height: auto !important; max-height: 400px !important; } } [[/strip]]{process_pagedata}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} <head> <title>{sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* first out side div/box *} {* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* anything class="accessibility" is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below the content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content *}
{* Start Sidebar *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Left sidebar + 1 column" *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* anything with class="accessibility is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area *} {* again 2 divs to hold top and bottom images, back is set to go to the right side then the main is set to come off the right side *}

{title}

{content}
{* this break is just to make sure we get space after the content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* this is to make sure the 2 divs stay tight *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don\'t remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {* Start Navigation *}
{Navigator loadprops=0 template='minimal_menu'}
{* End Navigation *} {* Start Content *}

{title}

{content}
{* End Content *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {if isset($canonical)}{elseif isset($content_obj)}{/if} {title} | {sitename} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *} {* The above JavaScript is required for Menu - NCleanBlue-css to work in IE6 *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {* IE6 png fix *} {literal} {/literal}
{* start accessibility skip links *}
  • {anchor anchor='menu_vert' title='Skip to navigation' accesskey='n' text='Skip to navigation'}
  • {anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}
{* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page *} {* End Header *} {* Start Content (Navigation and Content columns) *}
{* Start Optional tag CMS Version Information, also is a good example how smarty works, the big star that holds the version number, you may remove it here and the style sheet where it is marked. *}
{capture assign='cms_version'}{cms_version|lower}{/capture}{"/-([a-z]).*/"|preg_replace:"":$cms_version}
{* End Optional tag *} {* Start Bar *}
{* Start Breadcrumbs, a bit of letting you know where your at *} {* End Breadcrumbs *}
{* End Bar *} {* Start left side *}

News

{* Start News *}
{module_available module='News' assign='havenews'}{if $havenews}{cms_module module='News' number='3' detailpage='news'}{/if}
CMS - {cms_version} - {cms_versionname} {* End News *}
 
{* End left side *} {* Start Content Area, right side *}
{* main top, holds top image *}
{* main content *}

{title}

{content}
{* Start main bottom and relational links *}
{anchor anchor='main' text='^  Top'}
{cms_selflink dir="previous"}  {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *} {cms_selflink dir="next"} 
{* End relational links *}
{* End main bottom *}
{* End Content Area, right side *}
{* End Content *}
{* end pagewrapper *}   {* Start Footer *} {* End Footer *}
{* End Div *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation, stylesheet "Navigation ShadowMenu - Horizontal" *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content *}
{* Start Sidebar *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {strip} {* used for page specific data or logic in Edit Content -> Logic *} {process_pagedata} {* ================ THEME LOGIC ================ *} {* With cms_lang_info we retrieve current language information, assign gives us $nls variable we can work with *} {cms_lang_info assign='nls'} {* assigned url to theme related folder so we do not have to type full path each time *} {$theme_path = "{uploads_url}/simplex"} {* assigned content tag, now we have all smarty variables available anywhere in template *} {* assigned title tag to a variable which we can override with a module entry title for example *} {title assign='main_title'} {content assign='main_content'} {* assigned prev and next links so we don't have empty html tags if there is no previous or next page *} {cms_selflink dir='previous' assign='prev_page'} {cms_selflink dir='next' assign='next_page'} {* ensure that the smarty variables we created are copied to global scope for use elsewhere in the template *} {share_data scope=parent vars='nls,theme_path,main_title,main_content,prev_page,next_page' scope=global} {* using strip as we don't want useless whitespace, especially not before doctype *} {/strip} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {$main_title nocache} - {sitename} {if isset($canonical)}{elseif isset($content_obj)}{/if} {* See in news detail template how cannonical url can be assigned from module *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {cms_selflink dir='start' rellink='1'} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *} {cms_selflink dir='prev' rellink='1'} {cms_selflink dir='next' rellink='1'}
Power for professionals
Simplicity for End Users
{Search|strip formtemplate='Simplex Search'} {* Search module using custom template in Design Manager, you should use resultpage parameter for search results (see module help) *}
{global_content name='Simplex Slideshow'}
{Navigator action='breadcrumbs'} {* you can create own breadcrumbs template as well and include it with template parameter *}

{$main_title nocache}

{* title tag *} {$main_content nocache} {* content entered in page editor area, variable is assigned on top in template logic, using nocache as variables are cached with Smarty cache on *}
{if !empty($prev_page)}{$prev_page nocache}{/if} {if !empty($next_page)}{$next_page nocache}{/if}
{cms_jquery exclude='ui,nestedSortable,json,migrate' append='uploads/simplex/js/jquery.sequence-min.js,uploads/simplex/js/functions.min.js'}{strip} {* if you are using some older jQuery plugin that relies on deprecated and removed functions that are no longer supported in jQuery 1.11.0 try removing "migrate" from exclude list which will include jQuery Migrate 1.2.1 Plugin. For more information about removed functions see: http://jquery.com/upgrade-guide/1.9/ *}{/strip} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS * } {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} @LP!8simplexRegularVersion 1.0simplex 0OS/24`cmapUaLgasphglyfCݍp head9n 6hheaD$hmtx)h4&'MVF  FVM   JSBBSJ     R*10267>4&/7>4&'."JJSBBSJ MWE  EVM   Gy6m'."7./.46?>27>4&'.'"&/.46?.526?>4&/#Y]Z##$$#P021c $##$P021c $##$#Y]Z##$$#u$##$#Y]Z#P021120c!!"#Z]Y#P021120c!!"#Z]Y#$##$#Y]Z#lGa&;%'>54.#"32>726?>.'4>32#".5  5ZvBAtV14ZvB*(&0 K"&'.+5!#"3!";!32>=4.#!!Mf :D? .z. ?D: p   e- -e   $HHf  8      8MKY %6P2#"'&'&'&54767676'676'6'&&&'&'&'&'#3'76323'WLL99!!!!99LLWWLL89!!!!89KMVjh6  $)fj. jY!!89LLWWLL99!!!!99LLWWLL89 "U##" K\ 2#"'&'&'&'67676766767676'&'&'&'&'&656'&'&'&76766&&'&567676'&&76767666767WLL89 "" 98MKXVMK:8"  "8:KMV  .*+ !& !&*&              \!!89LLWWLL99!!!!99LLWWLL89 "  $"-)   )&         "",   KZ ?HSm2#54763#2#"'&'567632#"'&'&'&'67676767757'7'&'&'777677''767'6'&&76'&&77776='76775'&'&=74'&&776='&'&=56''&=476buDWLL89 "" 98MKXVMK:8"  "8:KMVuw'%'3-,4,p##   #  } $"  &&&    # A [  Te!!89LLWWLL99!!!!99LLWWLL89 "T!g`bacz}  ; [  \ b  H  Yd  i  G   *`  `L[ ;2#"'&'&'&'6767676&777&7675WLM8: "" :8MLXVMK:8"  "8:KMVZ PNhMO O[!!99LLWWLM99!!!!99LMVXKM8: " 4gi jL\Fg#"'&'&'&54766''&'&7&7676767332#"'&'&'&'676767667&'&'&'&7&767676'6'&'?'77377/'77'7'   +$   XKM8: "" :8MKXVMK:8"  "8:KMV,  ,*-"!0  10  T1P(PR*R'        $!!89LMWWLL99!!!!99LLWWLM7:#}%4     "$+1    +PR)SQ'K[ q2#"'&'&'&54767676676767&'&#"&'&'&'#"#&#&#&#6767676'7WLL99!!!!99LLWWLL89!!!!89KMV    ?66& # !! $#&))H48"'[!!89LLWWLL99!!!!99LLWWLL89 "   / &  ',07. }C_< yRGl RRRRRR `DxV " G$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoon Generated by IcoMoon  0OS/24`cmapUaLgasphglyfCݍp head9n 6hheaD$hmtx)h4&'MVF  FVM   JSBBSJ     R*10267>4&/7>4&'."JJSBBSJ MWE  EVM   Gy6m'."7./.46?>27>4&'.'"&/.46?.526?>4&/#Y]Z##$$#P021c $##$P021c $##$#Y]Z##$$#u$##$#Y]Z#P021120c!!"#Z]Y#P021120c!!"#Z]Y#$##$#Y]Z#lGa&;%'>54.#"32>726?>.'4>32#".5  5ZvBAtV14ZvB*(&0 K"&'.+5!#"3!";!32>=4.#!!Mf :D? .z. ?D: p   e- -e   $HHf  8      8MKY %6P2#"'&'&'&54767676'676'6'&&&'&'&'&'#3'76323'WLL99!!!!99LLWWLL89!!!!89KMVjh6  $)fj. jY!!89LLWWLL99!!!!99LLWWLL89 "U##" K\ 2#"'&'&'&'67676766767676'&'&'&'&'&656'&'&'&76766&&'&567676'&&76767666767WLL89 "" 98MKXVMK:8"  "8:KMV  .*+ !& !&*&              \!!89LLWWLL99!!!!99LLWWLL89 "  $"-)   )&         "",   KZ ?HSm2#54763#2#"'&'567632#"'&'&'&'67676767757'7'&'&'777677''767'6'&&76'&&77776='76775'&'&=74'&&776='&'&=56''&=476buDWLL89 "" 98MKXVMK:8"  "8:KMVuw'%'3-,4,p##   #  } $"  &&&    # A [  Te!!89LLWWLL99!!!!99LLWWLL89 "T!g`bacz}  ; [  \ b  H  Yd  i  G   *`  `L[ ;2#"'&'&'&'6767676&777&7675WLM8: "" :8MLXVMK:8"  "8:KMVZ PNhMO O[!!99LLWWLM99!!!!99LMVXKM8: " 4gi jL\Fg#"'&'&'&54766''&'&7&7676767332#"'&'&'&'676767667&'&'&'&7&767676'6'&'?'77377/'77'7'   +$   XKM8: "" :8MKXVMK:8"  "8:KMV,  ,*-"!0  10  T1P(PR*R'        $!!89LMWWLL99!!!!99LLWWLM7:#}%4     "$+1    +PR)SQ'K[ q2#"'&'&'&54767676676767&'&#"&'&'&'#"#&#&#&#6767676'7WLL99!!!!99LLWWLL89!!!!89KMV    ?66& # !! $#&))H48"'[!!89LLWWLL99!!!!99LLWWLL89 "   / &  ',07. }C_< yRGl RRRRRR `DxV " G$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoonwOFFOTTO dCFF  5OS/2 ``4cmap\LLUagasphead669nhhea$$hmtx <<)maxpHPnameP99ipost simplex> vV% vV% KT   %*/49>CHMsimplexsimplexu0u1u20uE600uE601uE602uE603uE604uE605uE606uE607uE608uE609uE60A  Rh]Z "vpe||||pevvvvdtt\T\Trvzvvep||||epvvrT\T\ttdvvM -.--nn--.-X޾nnދXX8XX((a^^--.-;;X8XXnnXX8XX޾z----.--.nn.-IUUËNjC,,CC""CC,,CŋWWxxI )) ||6o]..]o6N||lSoojoGoj^^Goop\BыB<ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ"V~||||7>~~zvxuqqtv#dYYB=ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ}}{yyxwlnooru{u{zx~t~tqnotzz~|}}|zzyyyz||~~|~}}}}}}}}~~{{~Bzm 7Gŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ A kPP"_q*o`&+6iiy6~zz}}.|*hpwGee*#{{}C{h̋*B<ŋ€uumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuu‹ŋŖŋ2K2z{||~~~~~V<#ڋffً=ڋB1vz~~|v}~~}}}~~}oqr{ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖ¡ŋ|xwwnr|wtwtqnkqwv|{{kkjz|~~~|}~y|~~ċ):b::c܋9܋B<ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋd~~}|}~~}adgglr|zxz{||z|~ruyywz~~z}xuuut| 3 @ @ 8  8!_< yRGl RRRRRRPG$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoonPNG  IHDR ?6PLTE{tRNS:LIDATIl-s!BTA-f"n["ˑeSAI3@Q2̯&IENDB`PNG  IHDR;=<PLTE\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,9FTan{LjΖԣڰ tRNS 00@@PP``ppxr3IDAThm 9sjZ33\V~/wcX-k΋ D8` n ?CFt,l"cp*X :p,/K60>e #̗Y%kJ y?k$Mq!KA+oStyk@HGRh78L1j%TAI[u:=H҈Q2*IR&䦼K-r,>%)Xn6e1ب#JCqhJv(*$P7dXT"VECC҃1:a:ٗbPt%c*GٜpK>MFExђ;&⹼7@eڔOKڿ&/uYHƑˆmv m( DH2jq}=] MAVy7#vTׅ@0¾AV")ӒI dOeYU!S߮d4Qj(#`~_&rqf|>w /at/cޮdyl0vㇲɹ`Iơm cfUl KydN&cA!_z F=R'SnlC nRx`Wx!j$rFEtwnhk"hU0S|Bv%c,Z%{;1 yd2nlEVbc $è Ƙ5^1Q^bR2H֞<3Ea #(Ù*dW5^Q]#3K\cJ}{3*(p2;}u9˧e̋mՐO;jj*c]Ϧ2]c]l6_s̸!϶X&#(Tk)WLLF0kcX w `\_v f$` v#, e,LJΈ3mؓ :U2J7 $*f|"@aI4VMJƮpSh=v1t(c,)Q:E^Sg(Vn(6t{P͈wIyRe8#Sf1"i2rg-N"θc*IENDB`PNG  IHDRxx9d6gAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDATxy\UϹޫ$U#! "06΢~tFgq|y}GQw_DYtF@`d $HNWz[uqVՍ|ӟu9wyg^'W;{4˛ 4`60{0Hu@p )Q 5Ltj2YqXɰ c݀/] {{ p(S=)l˜ʹ ǺC 6+6{i 1d=fՐA*09- w(\c%Mq{Uy0;irc֨b $\ H~{IF>R]UuJ +MUu <Hбj|rj~zSz+ABj&csڕHS ēnxr)kaw Q2 n5-uȕkGBYwf>3PYkCu 5S0KޏYv&>𻧀}n§vD3HݱVGDr 5+9ԚN?P- s0KAG}q $&Șf~((`#Xڲ |fiDj.3ח5jC+v$-_$!eU[2۲T wf^B6=Vq;opMڲrE5+T+ _mǏBҿ;myE-\wg! Gr+SD^j*隕iIp U&(|X̸C3ގYruEokoՐIUvkkV׬yF墶\ ̫ȨUa7R?T HtОJr.\6Erc\RqB;13Gh;Л0 ֞HH.`]mx7ED0攋1;1KǴz;*uZ[{|]vTp9%~Ph/hv] ďV@O"*\bVʕUIMf^$4{H"u 92h Yo)Afa3p #R] |ѦcSK3ôeɥ9瀋)W[RHb*fuEHhPEm{/Em=ԣ"FsRdЂ"5xUysR hW;ZS~wo@ ݄G\pjX*p0$v5jВG_('Bo 1pl'8vA2#2jA}@"Zw2lJ O5CT.8ZHy-_;MH)ڽ3#ao }[/f 9?X/bx, v-5+3pP xKFd;o^pgю-ip46FMnE5 A-C]5t>!-ST*]_3Uڳiފbt0Nw0Cn24 VGk_/?ݐ!EӐڙHb "nz} =1!/VA+烩+a;cI_P{q~I_Q[ |o;a27,PX1*sE?~)\uq>/SdG_%<)=C-`#_x.f `|0xJdRԅW܈DF.۫HӪ* u Q(o]1>R |Vl}>oIG}hM#Z7"7U^1ep}r-Nen]Kx"󯀉n{wv-j!\q̤E%7Ev =zƎcqJgǺ NKӒ ;M/?v7{=^̤Exn(->r#s3@_D"MS+k S}9\M(䘎Zusޅrs] 0E"e3Эw>AT+u+Aà479T0 vc\'Zdډ]vS̲ gvװ095kZ=vsxlТ`ޱK&(`Dxn)ٛneM Bf.Xlbx n@×$H$4[Y2ޯDL `~.rGGFʇzlO߂Y`&9Sf8ŋ Bw+vǽ-#)OC͘818j.#B O~š?Fn%B# s.`܎eh0_Q= JxP-/JAmhF08mq!jd{H&ϩH/K #hj;ڵIlZ.nH^MǾBuI[/܎溠f ifK]F yȆHITf`YMAw8 I;ycL|gރ/r20RSQ9 8̺t復~dOX5mDm}' V >G6" C?g(K4">]^+SgG6(DZ.z啵h.{p ٟ@q,'"B^b<풇5c!v˽0}m2e oFmg Ě=޶&΀=[mzGVf<`cAr\ X$8#ƹAfH\&/"oFб"tЕpyjJt͑`LUTOS~$q+TIٞ 2}L0v> x.I)$/Uj1z6+^" 3]b?G@ĔocclD39E  L? Ի#Zݾ{ݘ%Wm/R hof:7  {m^pǽo5/E sbm'"M3ЮWjkPU!!f _ ?:_C۶a_} JCį N}#y|%"quQ h tXӖw=Mag]. DErjv_W I8 2 oRHH)w2Nz}X$Hڊxg3fP<6 Pu YCy1.G&;'L;Yq>WABEm[g75EP"s@=?,}3puB1L1ӺEPۂNGӠv I mA"q̩NbQ;l7逞96k'v}n.DvϸZC[)MHm#j- L̼мӴSxĒwt}:HC=3uI $D#4鸞 R\ϣ}/ 5GVB>h-fy 11yf΅Ȥg!uy>pR3uku#'<̼KgՇН`S'd^Õ4{m1hFfufƛ)WݍYrڐ UtO" d9砗~ ;֡w;yr"pU2FWÁ }uY`^88tڵZ'D4*2K~fYž|?{]X9/vR$xp\P v#51 fې Wn2թi*J h[{Et?7bƻ\ #xgEj+H)þ^BٮH{QE]Nw݌'~ ^yrHu1$O-Y@P^X=z\2c* 'Nߣ6]J =q6 h~U m9. 3HL,;҄88Kθ8Ga4ӌ%89<:u]W*ʥfOŋ㪀YIs}iDa[,F[$;:A !e_?O\'Z"ۮOyLu27ѡ  xKSAL9EZ(n fL%/7O4NrxofPb!/anW o琺aXݟiEAϬ;q\fxcFRA+,a{٘3?4vRӈ>7ߕ̋y+`C4lBnFm3KǬ̓cXbcW6Rl GU2ߴOgRRYt~lӮYr'B 2`!ф$`(2{%:Uڱ  ldtg_cu,=F X[z=]Ӳ=gGhC> ?!| xg֒|7dH2x#Q?eb?%(<}‡z2K2‰9N~%| ܋;F,b b7|k=8p+o!u=8F1F`t_~oX۸i O­bw0ːMDlsШWB{Aؗ`۾ j&b_]pMTOB.9m9"s/.a݇_h6%n: KF\[o[+1Uq'M?whgľKt3h bϣ׀Mj &>B-dɑ@ $&[נ/ޏrfȜ7#V[@3gCw<BMe{PQxS^vit!Li\z)2u<եAUо{h w#ھ ns k1u>)- V^vWGXɥiF`'q.2u <|2a>q5\XWû/:b 䊫VHEہ/Ēћ壩.>he0(ЎMp`s7qH4# [STdLfDsh!ދzMwqq̹nTr 8"$cCkL\Eީr$ Tz]0,&:'!&$!R窰.y%yT!|g n4 Hw)vAo1 uĎ'ŒgC^<o`X h2\ßlɘ܉S)76_¯I:+`Yu?ԅQGKc=x (ăS"r-RWɕ6wKK]A\[F,;u*'w)-D(.7rBʑY=~WI>R貜)PA$.Up)UFxH(-ua%ȅ ϲ"ɒ%gqU1MiȅȾfUs#dna/oBURG%ɅQEŋ<+s,X;2 (*B}3/tŸ2&8 0ʚ] TC'?ø*%P䁍<3($ck#TT{qyS79ws[d0{U]4 ^+p^mfڀu~cRFg^U44.'u%KQ&$='JC*X_\>{cS qޤvL*[ZEX#Y1~~ڀ\И5j̗E}mZMiNoLT'VqƫہṧsͫY5E9}WnZi$2ZX>3d[^c1+ڛ"0Y1OqC0mπo 닍Z-+yb\.Rx&Z1EnHrDd zW}=+ 9OkuGvZ\2_"*sq2{"3{U rp.#ن"F^9?}-0!3kScO^v(2ÿl 6#w0 7g4 Pq\\_S3I+Mx\D&>gvd̚n5($!GlϘg5ah29(Y+d̪|sy@uV Zߚ𼈚DE-X"\VEV$t LxADx &]l-8p1\mS&%*qsnRV_> )tJLx@D͍d͊B`*MqҶJHP@Ҝ2ah,kVЗb&X]h? "R41DDٲw"J Z5FAYYDu+j+t'mEA~ [Y[M ʢ~d£"^(kwX,jtg28ڰЦ;sTg8߅lnH ov[ a*09o&K8+mx3(SGtiV"]دމJ |ׄEquQ^'.ÂO?DmD&RBmg܊r?]H@TFv"*Y^扫҂׵ oaY_/6~&d}E&-*!9,e>?UpOvC?j~˸; JdI` ]A; ,řiݨ5.-Ч 8@o#;w)db nᢢ4nQ1H?8cQ@T&GM|+`x΄5A9[qMpl1㖼 @y: BWs9ec;rWk"pv7яz[}uc@pL`R"M`):5,d م~uy0nVX0o"09VFb S0 ٠;m9h VgYP/$` ~ e>RhƢO($q+;d*.b9Mނ>*}l5A:|т-fc伙N.Y LΟІ$m]Z Q7myhU8PC^d܍ qW>AבDաU_%p'yiGG弙Yeou#T~oA~uh.W@pDp"OxLD&hӾc7Ȯ# NRvښ y <~d}?+ֽ d B?-ڢb0~3WDƛӋ Q1}{~o,~eEDh{h3;mc;-t8ؕ2n: /2Ÿ,DH;0κ5'qOƕ6d2tBm刲o"HٱPHcmK@ $?f7ʘedgdsSˀ(3;6D`ݍ6@zI6.j{D+6Dn κyȦv7 #wlD޿,6 eg6W1KGX tO+quϳL)*Dt7wl-C|*(xJ p2nnNS}lvJ8z6q(o"ġr(Dj?5JjЪr[N'7Zd6- 24>Ks=q=Kq&Sp@a&,nrF'ք8XIdTDȘdV,!R chL"F\> F%7yqe ]Y]΢lUOtSR2ق7ñt)BĹ̹V;":ХS0qu=#  1tjZߕڋw={H>z5RK@wQ3 *# jATBu fsQL>+cVZ&_&׭ م(øW9ן33kچ!ى=?νj@Au=bD(%ڡT5,v $tݹ-_D]J3PIZ6 Oc}{n]rkdGN/t's]qs| 5h'#F6TĀq9[e ͯ,: \LA3qqLYPgs#ނ~WR\ڐc`1~N$IעM4Z_!QZi~.},K8xz,xBNMqDd00J;۴ :5IYtΒA(\ _zۻO97#ޅ>%/.m 0 W+I׺Xf:j8\]c:AAa2*ts|N,eLYIO| b`%sP< Y4؂)YCzʺ׿jd#jGM.ZΚȸu8ޅ@twhajVGEFK82ىuOmZ|j?FvSa!ϡ ̂=Yb. 猃*E6>9krփ~On|Bk^Y7ѫq BeܷG v q؁`mI,U @閲m4FY7eplY{>دZRE'?;qp,E0f܂>y/f%"TsQ|arZ7K&o#w8gd7MԯׅłRE0B *@DD7dA6Vv/gW";u`}GW,h>LxZRMsPAe>Q~ o~6uOoAos7Fip8 I&8ÿ{^Ä~0wcض :w0ä[Џҗ]%o sCmGV̰"ܖn)v4:84U7PßΛR W1 %"Rv?~ ⇑B#ׄ=pV>6 Dy 9UĤS<3T&ce3{x< w#v؅v0RjV*giVUK]8ΊՎ}܂ܻd2Yb pY931 oofw;|ͣ+isߏF~7AJEv;vT  ٱ#;;NP Ӏ,  ]ݴȫ296h g!_/JpmdzG߻}0&6mrV?2e ?ah>FwSCPKɂ}"^>)ܮ?TeAD wOCTY|?j  wK8<؟Feokp7 /%"'ܙ8 M Vk"j:bP0jDq p/ڨSzг@+ {W#>mq{ vlZܽ BEg](+ț^fd nJU r mtUσ;6$DkC$Rs͋*&59j"85x{ R""P>0 ӽ(lƛltp.-rn۶ w?*7j n1ЭɌZEԎByw[_FNx/3;!p^]tXT4j ݚN ;Meۯ.FNWyb{d w D_Vx¿ek<+I*h{$Uܭ/@y9$Tlc#{9j_~z2mZC=Q0P<2WDlF]@RYٺߩ&jLe{NAy+90I8oHEt`/ouq7~h} sw˛Ǽ>`j,xƌY BDjv n ).d QRz@adVd&p,w׻Wv0 | ]DKFLEDjRs5L^J'=U(>hk.eV벊t_| BG6~~vd{*.6 ϵѯ,]HT F4/"Ƚp=~84Rk!thIcrRMK!_TY@t"N3=vg=K-g_p^$z"Vy!؉t} ,1߶P~i GDjú Wn\]p^(%0| ![SHݺjG*$l-4Y2[U7{٥Zz ńzr[{rk2P$bH6+vba?i{i!tm 2l/qH/Qݖ+GEc (DSaV"CMU5/x3$=VJ<I ~7B ;?DytB:YU5ҟщb(`U $ MqV>6C$#wsm qP c֣j{镊*M! Eɕ ٴ wciDZ *}8*f@d(2Lx.τjWHia#vH߉)FhZe, jHFj@ Dq) :;17;f.$NR퉦f04uos?RJ `O[BX}ܹM?!%{ZaCdl݂ܺqP*}7T1,'VXM [wCױbۑMj,٥#4b6ʲ5aƝL'& \rVu b(D%H-{a_\QDym{^t!T3J' 7#[ "wElAc6}E1e\sQlZ6$ TՌEz,b$I%~VB`D9Q+@j5az!oՎܻwRd*$&6yp.d pV[CLAOC :m!CdK7 V'{HVǣ =,I"m| Kk7f WHH*YD0 ц@y2" 82^wEY82C2!{vnl#pC^ H0ގgf2)jW叫BDəcݪs72тjˑeM[c=]EGE_Dn[jrd 5A n{Q~؂B;UqcCuژ3>7=wʁQ@DdM4n 6Dܓ.{w\d"fmhkL]#jѦ~mhU9',72uYܯ*+2nЪyqy뗸S[yxh3PK1 BDF?jQMhۈOϔ"\ FDY"FvpF~!۶`%vHPѭ->v'MgKlnT# VD{ڈ㱟KX,\ 'd$'~ՏO`Tluq\Y4N# ,qh? ڽXmCaCx3bXs6<G~ :ewYQJ܅ތl}X\G K]5((a$ڠlDV_^'ɪ;U̪.-5KvdH+^G輟(XHv ,[4:6Ӑ8\0pDW.DDM@~voAv=i_mA&BݱQ}'2;5^.S¿wKDD\"UM@i%ތ6[-aqfUe CNgbADD&cˀFOS_l-X_Xv!1κ-}6":Q=wC$۶MAz$"w.];s ю~uh'|Џa"BRK;,r Y QS`$,30w]E1΋?]4hGh8S˄j!پs9iya3N3 cwfW,ZRY@pv]h3P7Z] -.zsAMQ51xSu6ZmEtmdS#^ %~a݂gT`g$ژ3Ɯt,ҺG+kT,Z:Q:J+Lh!E`)|L i`ZD6abB3_]#:3Tˁr2}-odV=p-"f X^9#em9B`cLELZ/)r˃i~9r˻w dx+)B 1w[!= H%!sMؑwsa﨨D *_?$`kgLŵ{sMϧ3%24q۶}G w:,: Qb>3a}7r 1x)꥾c!jFb\+h0ߎ3Y0֕v#ᨹT\~\Yw 0v-Ϊg#$_{هf-LϊM[]* 6rid^]7dfd5$5zAVQODØ1k }q%eE?`<~Ϊ5#*aSTOY/H#óbGOuV6M}Pmٌn>yȦU*S+KQsC_ `m޷>W]O,ygK6|q!pXn*]gK pC%;1}/7aC #X-H<*nMCԍEs>ڨ!?b]1ܭː;ݼHg' bzXMU&,z\X=[$]l,5OwJlHu1l"ZDĐ)LD'8}i#y2km$|a͔MM4TgBo*ZDR侥\KY1DtrJYpm hS֧c2Q]oT?wytU U)Uᨹ=T)?BPA핮 -,Jze]2U4R(u`eU`ւQ0UAxMPž#Tu iw8d:fD ZRՎ:TzM j^maUCx8̐f"ۅ7EGOU.H:Ks\:zHUtCWLKbMhtE3rVOcd{ x;xZBɖ9&|I4Twux8PY$ %3oGՙ]dL}HϷQG8|DŽՙ]d-01YDC%&<܎sà iwFN EEm#6InfJS09Q"Hp0ZALhr 0qsَ +OP|HQV5۲1ӿThJM؝S0 ,|-W`|opYH΄M?TYgA,Y,|qp[}\m) Ԟ)}mDCE_}OmWYp3pP='/Vă.'2RV&NTDCe"hqAR|.~dYBY.pqM7V ƣ4bf3ae3ž{ S ւߤT{{Mf}QH9o[*ilaDED N3ž( MfGYʒ}+db {DRJQX Ϛ |8#Y+h eR) l_)61kL{ mR) MȘ5ւ/]E/&ZD͵DòXM I ˁAnWxȄ%th5kKd:тY.yO;5`hIBE3DQ ,o4d̚h'cQ'Yg`*_E\N4lR)u{NWӀBgQkYsM-9"nJN`ݤ 2foe߳TgMxZDw0bd'6zb6p[.jat% /6PX*,TaȘu2eR8ZF` D T;'8 vdoat0 UUO$JH](1B[Yi 5Wch@PTr `-·kQG#z`jawA;YJD %=C/Ϛd8jmRP%tEXtdate:create2014-02-02T04:25:55-06:00BjL%tEXtdate:modify2014-02-02T04:25:55-06:003tEXtSoftwareAdobe Fireworks CS5.1HIENDB`PNG  IHDRktEXtSoftwareAdobe ImageReadyqe</iTXtXML:com.adobe.xmp fL,iIDATx}{ KDAƆg4cK%&hL,ѧ *""M޶喙w7ww]mνwse2|5s1*c<'\܍|y's=s-61e¼ys3CL'2boWfwKjf^rOW1[kJ4_C$D8f>y ̆Gײ`|y*} *a|4}scf kmpf~y} /* ̇g~W"N0b> {F3?O*t{ܣKI&?)34!^t$ԃo?ch3}@x&>,Rd"1Ds}!t=̽}@d~ȼG$4մm9YY~'Wp~}^R%ՅG#k a"j=AבUߏ׬uuHzM汹hsSOڣ@v!ABzuNZ@>f ]2W&k2u D0/b~gs$S=>! 5|o$rÎ#cԩ:bTZ.|EOU~h1ܣw "MBo%M,?q3(pO`[k21̨w#|@N؎ZJ)XL (0GIWǖDwhJzP]mq!^[I a(?M}18f2IDE^̯f$̘wHAiRm mԟRsя{% ta3&T\< <&?#U`f7@r SpcD.5H!gIE|@t@p@Hl&Y_(g1tk2.~ om_D;z_  vn km"~^l_{_d*`B4)0헤Bq%j*?V]:T?wEP>\ 0vRѤIWz8VlBdDB2^=b )0G@]ّ!4$$@s*Q}Ndkۀmk CWm8{x[ q Xdw W@`'O 6ON0#ټ O,'@[t@I+OLcwTǜ^-;NCm @ =?|{ܪ_`ʜ?糹We0<\ğGhmܪZ.7H˥|޴(ܠG nխ#md; ?O vwrwzwߞ&m5P(擸k85PWvh&maԋiuŽ@fx:qszn%HQ6~W.5w] 5P}BZ(z$KwҊ+30Ź^ \C6P*Av@Fzɤ>2`5l$2tIa^<'hu )LC9>t$*muF42PUDO!ڹY5H)C&U,,'0OH}2/ꞛGt襭: 2#c8'w kiξٖf7j%}٤>_G@ֺd|bÍHXiVmf Akk"oJX[ W ~y!Lֶl~Ciun&k,E$;+,f}ĉ.9$,x" RL=(*k@Ii)o^c?zNHЗ9^ 8Ɣľ%+O]9MW*A(`Jt;,$;Iȋ?ؚI+*ߵ}ae ػdIB˳`ORe"1w6 HWZ/-tO-KUR7QWv ׂ]ټY% ʒw3n\m@ޥGCK'NîzsjGZDgD;8o.!ꆿW\Bz&(m̚952=N3_๧<rFWJv򪬹cd~ӗdblN55Lɺ kKlu@<1Npg@`U|$S' (L땹^Wo)ޚ-g,b~Yǒ* vԁ<Z"_VTFgaԺT ,3}@q7n~蚦 G,8%m C|T? d XEnI׹Bjμ³!1Άd`z@d-:.2mm Tu :>p )|&=%luYJ_I` ]QȿhE`98|_aP\F}D;).z4g\+A BŲ> !2 &"F\ @h#hߦdnb2J)d%ʖUG5펀QdJA4ȓ(t}fz'>џڰ,n'sBg֟Pـ1h% 7^*6);Y r'kf>ʩ);>*Qsr<1ÞڕA1́qn]olCU P&Xn,0/uJC4PlPu 8{r-fz ʦ"ʏѸCe%SNRk3!dc%OYPت)02(O('k"`+s0"saBgB6gа\F`TȄ Z/A$ ]c~R fqFS:&zwuD;Ԯ%c3=u%dh&q3[D@a|EFm^Ð&RHhG3GIjr~. lԇLل_&kɖ~bE_Y$|jhOVm\|D-Jɉ!%%ƸYy*Gf].˶;̵QPIZ >Qs Y^g+st#\'e9*M;ƨ蘸OдC$Ew5l{dѭ +2O!l6CH1sq4K+cy ?sTvOV__&EYۿ!ȶxz/^ʵqaq:B3M|YivEzɒ% gl-q'yyyah[Y`WDsiqP&]Ve{/DNU:Pu&I$6Rxא2h}(EAt:(V3^15}OS 5#9Qcǝ̖ 76V J1W{lNST z JiI^,alDɭ$“)tYs]^6)s/쉘L01d2s6.L]m Mx:DlsRE?_d:8uёy7D< gROF~}t2#N6W̦(S>>}"]E'%kBoQsgk(踽.mxI˧]1Y[ uiPHrX5vd=`1!aM a&g08+ψC"\/9~Oi<V̈oŔ5 ~-uePrcYb!lQBTÆ8}CS$i6Y&žx<9PuR楦zH{!_MjP3o&Nf,$sǵ5K.fIUչ 6s^;#{e" j g8$P^F΁AGPl}|]b_>I7$"tLT=Z4\`IOS(2ƝMZq%-WwnPlً~ h&Lkߵ?mٛuron9kc}CT^ך)c015R* kṷ\jʿE+hY]𪛵>~y|}T K]I'dnMR.1m@;QY*aYqL;,W Vb4=YҘ$Q,aO\jbCФL{Ni@1ș}iϴw4= ?,У:6[{}jTAL{M3\_{?* (W N|II;,lX2ʚ뽙eV:uLvO2UQ&88ݲP-*!浟^W("]eerډ>{H(hOhU2aKD|y ,P.e<5Yz%ј>@)S0{1J;Q~B L)'AIdj!?} \BɆUmtؾah֥,G1 T}Ʌ޼{J0RFF> N,!ǒN֕f[bOqYգ2WGt%dQkR[Hx[UY;8$4{&֩"Ҕ,() 1vi~EͿ* .=U`йZ2;aR\JF6{rۭ#q_h`7;QV(@-487 _%Ѵ>HE6ǬK(=ڵ%*<]RQk`!3\٩ܹ)sطJH2CM]rp}nbZH-,1|_ Q8k(RR"Ł;5* J fgW':qһf'IIa/&ITt]m^\,%]]R9QYI}xT@HAcef~B;v cd!*kL(dka ~"D_P8l~I S %u}FZ"U_ЖZ\"`nSKl[4Dul,6f}iF](wnRMBЦ4̿"ޤQOs/=bqSD kºeSؒg)0ڽVV+-KUwmu[?CN(78ŘF ʐrfYp]\!g6nLtOYmדղ 2LHDF+Uh]s4K}1Om4G8=&-AԳǨ &mR!Ț xC)Il6{sa8͢~dQ_PwEe_"p@ۮ4혫ޑjlf$$ޢqGj bU8H,OGoߨr b"dyAu6pd(|uqgۨ s%6 ;Dؔph]z&rN7oQ„PNc9a8` ;)U1q s 2?VÇQf%մ]͋jܪ׭S6*]hh$Jrh+0`"Zⳇ)2c]HL%4 Qa{WPZ?/+~BEl#D j^ʤ ^Y$4 ?[)GYUlhlT\dlUt!S@lB%^ڗb NưcDQV-09- YXdl$l?2FV1DCbV^no2-`^| MbI'ZAn2-ϿaTK=;K_\_Jʇ:_U$0\)I3ҪF)6Pf*& $Mٳz03`77|N֦/_IL2>OcTkA@L^%C I ?LziTv@p\6ղ/ݤLD;!3~Y-_9Қv{5Ċā.q a@>X=ul[jEAdr6Pҧزd]u`!({XK9S^:̠']{bfNtn V%r5a}0LاK|k}mP8nJ-iyE$n=G VZ⢴j!LJbM|'cqX.TIny g{Zn@FX=8*28O_xd\i,~ԂIaTIt0GD9W3sՊ+8 f؜R_q%.!j7uDlɋ-j`l Xdg5 ~,~ou`iBUli >,m&D2EԞrIo|%~zy9Y/gn tؤçESz [2 U*@L]iXLw=Tvn90j~@/3Ȗi93R2VE=!THnfg4VP)`W c~s1%.DDMH'pQq1:}ϩuQj [vdyRNK)!-sjgEPE$~?9{t;rO f^10wd1(s 3R`+lG{*ɚ.`᭣ 6}bۑY#E 'oa(JÎ]޸cCw9x΃1=9 :7/I\& ?wY=]֗~@ISV½'6(I#oQܻdDJky,YЎ͢~Az Ré$ 5dv]^hdeƅdK2WVVCu2z.HoT >` q$atNz}!zǟ!VeS峳RѸbK_ kJ>J$sT1iKV[\vV{-JKA~P/P-"]sH#!Բ/ YR" Wɷ~>ŗ] |Ҟ2Ɯ!mIxXpٶL%:SKн;:ɬBDbcix͒q֐R)  C t'vQ~oufѣ}3@iMcvq; %<0F j-*2^JAk7Woݧ9iAdq_| mߺORtdzG]STXhwɨSɧ=L):GT}o3 UyiWkz2 /p>~ifwg`q*-y_*SfXZ?G$ZvꝮ=7-gŖH'AL J*ۓ2 @wQtmdլ%wCYWpz$Ll-K3/5SHl!?"QGِ`nVZhe,mh4B>+Jh(-C+C$"É6nq?Q]=fM-fҭ2MDf0!ϐ>f&z'!@m`O0Bߐ1x_z ߼NvLCI@1וE2 Ѓ̗f婡"$#nT{}Mb-}^M^ 梄$ѓe DP t5f•K8h(9&s [M@Fo曲H1Xn'u/m&XbxS**v!+Ӥ+@ ԃ[Y}¢ZcSE[`ǀ6|. Pjm\(|.#3#tDbfA'z|KPF3^1DzKAq ̍v#h48YZ n'-N)9w&تW5?mI|CrJyT%k|2.aԪhUBX8>@!#/k,GWw,WO'k4>eA^H֖Ūh҃q8p?1_g }d'czi]HՁ{+ޡҗbbd="ڃ<1S.kS4byn:",}HLZ($3iZ&G7b^v_ɿZ˸H&"WZ7=7T)YlsO4ܢ-jfAƾ\ HXbC \%k6o|K԰Lz2/iE.XBO?-:2]Y9z&~kE{&PQnVE'#BCdH8JI&d\"F & _h*{?"oװE`aI#F}\ICL̙qyX`#4 4-XڨB%!o{{E8pʆoiR0BuFbX+_%&U͚6erQשd3Z N|fm)KAέdJUfYkf2DS5['<(m2\22  +6r#!#i ;i͢ ;aD˼W>9L2_W5҈St49r ;g>9D:e8w{')ÄNlO>eP?N723~ɧt k#n*yz>H0r3w,ecON_[bibOIW 4|Oa^kAlYig@}}ɧ}ICl!hh!YOہZُ:D/ Oh8'ᕖ)DW{BCx d PzybOzye2NS_՛ȇiX2LfrFezkI_>]gl-}Zg3o~/Rn}=e?ӳgw KVJ Le:%gN4:/_Lnf˘/&9sBJ &|&s_T 8UZɄ K omyG! ] ;wOd>P>yz.+o2_}QR%蓘s^P9w;W'G)Iuj+CMjxDk̟pP$| ]*aJ*ZN. d\IkI02oVZMaN| &AܞȺ'E*2i/?7sy͛*!? xq0IENDB`PNG  IHDR<<:rgAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDAThś{p\}?ܻVזeS;8d!n$i))HKHNNiKH!ɐͤBpFƲC6~J깻􏳖,iw;?ts~#K)EZXο@'p+Cv6s[FQ5+ 9-FYv4@lw` wqCXo^>>|2yA^ln:g+6Lo^)R~ƒ[{DQy~DA.Y6tHp3 kxX UG4 ,"6 @g :^rmZܺy 7A{wMՐM!ĺ9DH%|?QD4[5>OaWb4>%LÇ!-C9vl5_F$.)0`މחx҇8<Qkr9E[ :DgRoͿALjB~"N N8,q ?h)2ýCn;@HX͏c]Y|s7Au=5¾1IwttQ7ڿ(a6L9,Xk_^;sG-HV!$#,(٢t9bվO&P'vC$ $Y.YHo) 7c>|gUL`߹9yN 5܏nI7;[ςS28Xxt6ekh^P/>H:YC䌏WܪePm2נDbbD Q{]a׃:裡[! Vt E~j)ݛ71#dSX3&"$ @u0!n̥X3Jo* "VII^v8- zyhDthU:uYS'; ˱? h|a479"e)t{sW"j}ux+~!S -F6,Z`N^ KWPhtFκOțD4~}d:s}?~~7PRه+I-T30p+;3d;^{ڷH g޸޺) 0=Q*Q !@3Csr/}Jp'/X>[0FwP1=sLEw o oFu l',EKq;h~q_~eٍlUeW3%FBV3[Edt=QsūS .p >A:d[Nd eyqv |uҡ&sm8@D0y Ƚw8aT~"\-y t)"S b"D,:5 3]co6NaGAG+Py6p薎҈D*D{tfƥD:^]|)CLe~WRz¶ _Ƭ0=y @@$g{Bվ "6y]kAD09JUIȥF>נNDק/@-5;@ y$l ul$_D4"y١`<:w֢7wS^>\ulZ WԞѽF́yA^ȅw!CCV2(?hl{)=0KidVhՖ׌lrv3GFLA yE%l~`lєO^Is v>CH- (ׇa""zFx聚}kQrN{%p 3ʣ#ۍu݃ج>~tzPҁztUsW1[6wR:Tg`]{ $7:(Q7SO c> 5$.qfg$2]6ݎl HT"Rajv&867DZO[xM:Hz;" @[gCk!9ZzxwQ "bU-@mpj _PR>ڿ+dv+1O6ӑ99`BKqԑXK@N[|QSs?D4Y9z5Rׇ]g$S9mfĄ-p8tB5}'k|M4d\Tn^ʟY 0xYg!CLZkBLalsѝ{ѝ3w5 Him/M:bC#[}xxQ<b5F!|Ŏ! pjN-D9H!ׇ/ҠBӆ1G$ez $?|ZS.IFΛ ?9)IcW2eL31XM14s7t\8ϣ01Y_^,*>K7oB6&pZ>輍9pD6&&=[7#(8 T)qu?bJ҇|'}&z0{E:}xq㽣¬r4'\Xh'![RK.~h ޼R>1SbϹI7C[϶[dzsug<͘l BM `T|WQRޕYWa b/+t xW6Gۆ#VA/6svg5*5\G2s`Ǥ{-Ȉl>OSXmlH@g)%tEXtdate:create2014-02-02T04:26:13-06:00Nw%tEXtdate:modify2014-02-02T04:26:13-06:00?*R3tEXtSoftwareAdobe Fireworks CS5.1HIENDB`PNG  IHDRLLǗQ+gAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDATxݜy\U?TwH! %,b&mudsqGøGE3(.HFAG#' [H$1dOIHg^kyU[@Stw{}wm*^$}' Jn\\: 8jHIء%CNF:z7P^C?7CgA1SK|U3b9"ȒSg]x"[SW|UKbuoW/f5ex=vLp =l&ab)uX L*I#w҅u ~%vPKKJYZz+Rx0|%z'=*=UJb\>\ ULpR:PPSo][ED=Oo3a^U$ tC:@O~%fTerz"z;74U}s& P[rD CO}M ^5LXItlTS_p20YZzHױshՂ{p܈B~M @Uzz̓4Uj%-,YڇfۀKNT8W}+9CE[̼ϻ(MզXҊz\C{e%+Չ>jQ]s'!++J;Gʥ!,Ke#K *Y1S@*wiQŐ6"aY6+b@ _zc& p^} 8g|ˇfiiy }d]|M$Q"FT ɮ 8*:DVϹm6. A(X \2@=r@ 5G`KU WIG+GE!8"$!ɮE>݇xԑ|rNY2eUIu*F_ +x#]c/\Uh3 GV Ԟ ~/j5H~h\jRnOV7ÁnR~/|/J8ΜxXd < \vWRnoPI G@l$3>ru^0vHYW#GzӮDawCTyyK yaVc>91;x*7"lo/^,̛Cz\?CEA( Q51dӲ C$v"SAUD!RgH"&m{aNр;]jJ f@7a-}MuƹM㗬`8|o#sT,ٗ\iH-8!N mc{c׹f Eb~CyhǙBn7YJ CYsPtIu<}m9Q/ etB}ZbPB_Z;Cت[y4 a2 Ӥm=Lv/Q%]'u9R\qӹ:?~x"{; M6dC=ڑ #i`Z#z̆;xQf7jL刐<oja.B緐dל؄z?e! v ;K>4cA=pVX}a%2Ƿ<]Ďc=e!K_΢/>HksCȱHfo+a9نُ6`d3v9FL PWhy_0=j&G-jeۑ'i&C .aU ^K1[a$XMe%&̖{D{ԏxԃ6.Z{G]R (.FU"c9=/W;&뽹ƟgTqpaF=ܘg.U8"?5ޜ@ ́'tK"y-#\(+<ÿ]z֛-I/%I'0G[|'7v.ܩV4Y{+Vr\Tvk8p 3}gIey:jDžoHP 2:8 <@SuHNSUp{~xC5UH'Z88McO88L>UB8888l{nK88HB888Qh88888HM8J8D888TW8V888d<58ga88=F+L8vu?88R8 H8BB8lE8L88 B8888sL:D887XLA=HW81 PNG  IHDR00` fPLTE,,,,,,,,,,,,,,,,9FTan{LjΖԣڰwtRNS 0@P`p.pGIDATHۢ E 5( **"r!Aaf,z6®y?hA%ֺg u#k=!I}Y? f[$w"ƅͦWE@3T1@|UKw([19}]Zo"؝}U/V,~ 15zD$[?՗%(A ѴIJN *SpzZ'#š5Vݓsk> :ڻ–]㪤-% _:'qplypr"Bh>"@wfԞ5u]ZGh_E-4%lVry!Diu꣸K'lfx:q ۟s_b]_(Aoĩw.M{{Q{{$56 dY.w=Fګ.A4xg mEyIENDB` (function (global, $) { 'use strict'; /** * Setting SX Object (Namespace) for Simplex theme functions and variables */ var SX = global.SX = {}; /** -------------------------------------------------------------------- Setting few helper variables, maybe someone finds this stuff helpful -------------------------------------------------------------------- */ /** * set a variable if we need touch device detection * @return false|true */ SX.isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || window.DocumentTouch && document instanceof DocumentTouch); /** * set a variable with user agent check and change to lower case * @return String - lower case User Agent (https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID.userAgent) */ SX.UA = navigator.userAgent.toLowerCase(); /** * set a variable with a basic user agent check against few mobile devices, do not fully rely on this * @return null|object */ SX.isMobile = SX.UA.match(/android|ipod|ipad|ipad|blackberry|blazer|dolphin|palmsource|fennec|gobrowser|iemobile|opera mobi|opera mini|skyfire|kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|sreo|up.browser|up.link|vodafone|wap/i); /** * set a variable for window screen size, can be useful if one needs something based on device screen size * Example: * if (SX.viewportWidth > 768) { * // do something... * } * @return numeric - Screen width number */ SX.viewportWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; $(document).ready(function () { // add class to body if mobile device detected (just for convenience) if (SX.isMobile) { $('body').addClass('mobile-device'); } /** * add Touch polyfill for DAMN Internet Explorer, i do not have a Windows Phone or Windows 8 device with touch support * therefore this is untested and installing a VM with Windows 8 and Windows Phone Emulator is something i do not intended * to do just to test this theme, if touch events do not work there, sorry, bad karma. */ if (window.navigator.msPointerEnabled) { var tchr = document.createElement('script'); tchr.src = './uploads/simplex/js/touchr.js'; tchr.type = 'text/javascript'; if ( typeof tchr.async !== 'undefined' ) { tchr.async = true; } (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(tchr); } // initialize touch menu function SX.init.mobileMenu(); // initalize swipe function SX.init.swipePage(); // intialize scroll to top function SX.init.scrollTop(); // initalize sequence slider in header SX.sequenceOptions = { nextButton: true, prevButton: true, pagination: true, animateStartingFrameIn: true, autoPlay: true, autoPlayDelay: 6000, preloader: true, preloadTheseFrames: [1] }; SX.sequenceInit = $('#sx-slides').sequence(SX.sequenceOptions).data('sequence'); }); /** ------------------------------------------------------------------- Functions and Logic ------------------------------------------------------------------- */ SX.init = { /** * @function mobileMenu * @description Handles first touch event on parent menu elements to open a sub level menu */ mobileMenu: function () { var menuItem = $('#main-menu li.parent'); // add class to body if it's touch device, shows parent indicator arrows if (SX.isTouch) { $('body').addClass('touch-device'); } if (!window.attachEvent && window.addEventListener && SX.isMobile) { menuItem.each(function () { var currentItem = $(this), parentItem = currentItem.parents('li').addBack().first(), event = 'click'; // we set as default click event if (SX.isTouch && !((SX.UA.indexOf('android') > -1 && SX.UA.indexOf('applewebkit') > -1) && !(SX.UA.indexOf('chrome') > -1))) { event = 'touchstart'; // if it's touch device and is NOT default android browser do touchstart event }; this.addEventListener(event, function (e) { // toggle class for dropdown if (!currentItem.hasClass('active')) { // hide open dropdowns menuItem.removeClass('active'); // prevent opening link on first touch if (e.target === this || e.target.parentNode === this || e.target.firstChild === this) { e.preventDefault(); } // show current touched dropdown parentItem.addClass('active'); currentItem.addClass('active') .children('ul').slideDown(); // hide dropdown on touch outside var closeDropdown = function (e) { e.stopPropagation(); currentItem.not('.active').children('ul').hide(); document.removeEventListener(event, closeDropdown); }; document.addEventListener(event, closeDropdown); } }, false); }); } }, /** * @function swipePage * @description handles detection of swipe action and changes target location based on direction. * Target location is based on href value of tag with rel='next' and rel='prev'. */ swipePage: function () { var nextPage = $('link[rel="next"]').attr('href'), prevPage = $('link[rel="prev"]').attr('href'), touch, direction, start = {}, end = {}, threshold = 200, restraint = 100, allowedTime = 800, elapsedTime, startTime; $(document.body) .bind('touchstart', function (e) { touch = e.originalEvent.touches[0]; start.x = touch.pageX; start.y = touch.pageY; startTime = new Date().getTime(); }) .bind('touchmove', function (e) { direction = null; touch = e.originalEvent.changedTouches[0]; end.x = touch.pageX; end.y = touch.pageY; if (Math.abs(end.x - start.x) >= 8 && Math.abs(end.y - start.y) <= 20) { e.stopPropagation(); e.preventDefault(); } }) .bind('touchend', function (e) { touch = e.originalEvent.changedTouches[0]; end.x = touch.pageX; end.y = touch.pageY; elapsedTime = new Date().getTime() - startTime; if (elapsedTime <= allowedTime) { if (Math.abs(start.x - end.x) >= threshold && Math.abs(start.y - end.y) <= restraint) { direction = (start.x - end.x) > 0 ? 'left' : 'right'; } } if (direction === 'left' && nextPage) { window.location = nextPage; } else if (direction === 'right' && prevPage) { window.location = prevPage; } }); }, /** * @function scrollTop * @description Scrolls content back to top when clicked on #scroll-top link and #main element exists */ scrollTop: function () { var trigger = $('#scroll-top'), target = '#main', doc = (document.compatMode === 'CSS1Compat') ? document.documentElement : 'html, body'; // prevent deprecated warning if ($('#main').length > 0) { trigger.click(function (event) { if (SX.UA.match(/android|ipod|ipad|iphone/i)) { window.scrollTo(0); } else { $(doc).stop().animate({ scrollTop: $(target).offset().top }, 500); } event.preventDefault(); }); } } }; }(this, jQuery));(function(e,t){"use strict";var n=e.SX={};n.isTouch="ontouchstart"in window||navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof DocumentTouch;n.UA=navigator.userAgent.toLowerCase();n.isMobile=n.UA.match(/android|ipod|ipad|ipad|blackberry|blazer|dolphin|palmsource|fennec|gobrowser|iemobile|opera mobi|opera mini|skyfire|kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|sreo|up.browser|up.link|vodafone|wap/i);n.viewportWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;t(document).ready(function(){if(n.isMobile){t("body").addClass("mobile-device")}if(window.navigator.msPointerEnabled){var e=document.createElement("script");e.src="./uploads/simplex/js/touchr.js";e.type="text/javascript";if(typeof e.async!=="undefined"){e.async=true}(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}n.init.mobileMenu();n.init.swipePage();n.init.scrollTop();n.sequenceOptions={nextButton:true,prevButton:true,pagination:true,animateStartingFrameIn:true,autoPlay:true,autoPlayDelay:6e3,preloader:true,preloadTheseFrames:[1]};n.sequenceInit=t("#sx-slides").sequence(n.sequenceOptions).data("sequence")});n.init={mobileMenu:function(){var e=t("#main-menu li.parent");if(n.isTouch){t("body").addClass("touch-device")}if(!window.attachEvent&&window.addEventListener&&n.isMobile){e.each(function(){var r=t(this),i=r.parents("li").addBack().first(),s="click";if(n.isTouch&&!(n.UA.indexOf("android")>-1&&n.UA.indexOf("applewebkit")>-1&&!(n.UA.indexOf("chrome")>-1))){s="touchstart"}this.addEventListener(s,function(t){if(!r.hasClass("active")){e.removeClass("active");if(t.target===this||t.target.parentNode===this||t.target.firstChild===this){t.preventDefault()}i.addClass("active");r.addClass("active").children("ul").slideDown();var n=function(e){e.stopPropagation();r.not(".active").children("ul").hide();document.removeEventListener(s,n)};document.addEventListener(s,n)}},false)})}},swipePage:function(){var e=t('link[rel="next"]').attr("href"),n=t('link[rel="prev"]').attr("href"),r,i,s={},o={},u=200,a=100,f=800,l,c;t(document.body).bind("touchstart",function(e){r=e.originalEvent.touches[0];s.x=r.pageX;s.y=r.pageY;c=(new Date).getTime()}).bind("touchmove",function(e){i=null;r=e.originalEvent.changedTouches[0];o.x=r.pageX;o.y=r.pageY;if(Math.abs(o.x-s.x)>=8&&Math.abs(o.y-s.y)<=20){e.stopPropagation();e.preventDefault()}}).bind("touchend",function(t){r=t.originalEvent.changedTouches[0];o.x=r.pageX;o.y=r.pageY;l=(new Date).getTime()-c;if(l<=f){if(Math.abs(s.x-o.x)>=u&&Math.abs(s.y-o.y)<=a){i=s.x-o.x>0?"left":"right"}}if(i==="left"&&e){window.location=e}else if(i==="right"&&n){window.location=n}})},scrollTop:function(){var e=t("#scroll-top"),r="#main",i=document.compatMode==="CSS1Compat"?document.documentElement:"html, body";if(t("#main").length>0){e.click(function(e){if(n.UA.match(/android|ipod|ipad|iphone/i)){window.scrollTo(0)}else{t(i).stop().animate({scrollTop:t(r).offset().top},500)}e.preventDefault()})}}}})(this,jQuery) /* Sequence.js (http://www.sequencejs.com) Version: 1.0.1.2 Author: Ian Lunn @IanLunn Author URL: http://www.ianlunn.co.uk/ Github: https://github.com/IanLunn/Sequence This is a FREE script and is available under a MIT License: http://www.opensource.org/licenses/mit-license.php Sequence.js and its dependencies are (c) Ian Lunn Design 2012 - 2013 unless otherwise stated. Sequence also relies on the following open source scripts: - jQuery imagesLoaded 2.1.0 (http://github.com/desandro/imagesloaded) Paul Irish et al Available under a MIT License: http://www.opensource.org/licenses/mit-license.php - jQuery TouchWipe 1.1.1 (http://www.netcu.de/jquery-touchwipe-iphone-ipad-library) Andreas Waltl, netCU Internetagentur (http://www.netcu.de) Available under a MIT License: http://www.opensource.org/licenses/mit-license.php - Modernizr 2.6.1 Custom Build (http://modernizr.com/) (Named Modernizr for Sequence to prevent conflicts) Copyright (c) Faruk Ates, Paul Irish, Alex Sexton Available under the BSD and MIT licenses: www.modernizr.com/license/ */(function(e){function n(n,r,i,s){function f(){o.afterLoaded();o.settings.hideFramesUntilPreloaded&&o.settings.preloader!==undefined&&o.settings.preloader!==!1&&o.frames.show();if(o.settings.preloader!==undefined&&o.settings.preloader!==!1)if(o.settings.hidePreloaderUsingCSS&&o.transitionsSupported){o.prependPreloadingCompleteTo=o.settings.prependPreloadingComplete===!0?o.settings.preloader:e(o.settings.prependPreloadingComplete);o.prependPreloadingCompleteTo.addClass("preloading-complete");setTimeout(g,o.settings.hidePreloaderDelay)}else o.settings.preloader.fadeOut(o.settings.hidePreloaderDelay,function(){clearInterval(o.defaultPreloader);g()});else g()}function h(t,n){var r=[];if(!n)for(var i=t;i>0;i--)o.frames.eq(o.settings.preloadTheseFrames[i-1]-1).find("img").each(function(){r.push(e(this)[0])});else for(var s=t;s>0;s--)r.push(e("body").find('img[src="'+o.settings.preloadTheseImages[s-1]+'"]'));return r}function p(t,n){function c(){var t=e(f),r=e(l);s&&(l.length?s.reject(u,t,r):s.resolve(u));e.isFunction(n)&&n.call(i,u,t,r)}function h(t,n){if(t.src===r||e.inArray(t,a)!==-1)return;a.push(t);n?l.push(t):f.push(t);e.data(t,"imagesLoaded",{isBroken:n,src:t.src});o&&s.notifyWith(e(t),[n,u,e(f),e(l)]);if(u.length===a.length){setTimeout(c);u.unbind(".imagesLoaded")}}var r="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",i=t,s=e.isFunction(e.Deferred)?e.Deferred():0,o=e.isFunction(s.notify),u=i.find("img").add(i.filter("img")),a=[],f=[],l=[];e.isPlainObject(n)&&e.each(n,function(e,t){e==="callback"?n=t:s&&s[e](t)});u.length?u.bind("load.imagesLoaded error.imagesLoaded",function(e){h(e.target,e.type==="error")}).each(function(t,n){var i=n.src,s=e.data(n,"imagesLoaded");if(s&&s.src===i){h(n,s.isBroken);return}if(n.complete&&n.naturalWidth!==undefined){h(n,n.naturalWidth===0||n.naturalHeight===0);return}if(n.readyState||n.complete){n.src=r;n.src=i}}):c()}function g(){function t(e,t){var r,i;for(i in t){i==="left"||i==="right"?r=n[i]:r=i;e===parseFloat(r)&&o._initCustomKeyEvent(t[i])}}function r(){o.canvas.on("touchmove.sequence",i);u=null;f=!1}function i(e){o.settings.swipePreventsDefault&&e.preventDefault();if(f){var t=e.originalEvent.touches[0].pageX,n=e.originalEvent.touches[0].pageY,i=u-t,s=a-n;if(Math.abs(i)>=o.settings.swipeThreshold){r();i>0?o._initCustomKeyEvent(o.settings.swipeEvents.left):o._initCustomKeyEvent(o.settings.swipeEvents.right)}else if(Math.abs(s)>=o.settings.swipeThreshold){r();s>0?o._initCustomKeyEvent(o.settings.swipeEvents.down):o._initCustomKeyEvent(o.settings.swipeEvents.up)}}}function s(e){if(e.originalEvent.touches.length===1){u=e.originalEvent.touches[0].pageX;a=e.originalEvent.touches[0].pageY;f=!0;o.canvas.on("touchmove.sequence",i)}}e(o.settings.preloader).remove();o.nextButton=o._renderUiElements(o.settings.nextButton,".sequence-next");o.prevButton=o._renderUiElements(o.settings.prevButton,".sequence-prev");o.pauseButton=o._renderUiElements(o.settings.pauseButton,".sequence-pause");o.pagination=o._renderUiElements(o.settings.pagination,".sequence-pagination");o.nextButton!==undefined&&o.nextButton!==!1&&o.settings.showNextButtonOnInit===!0&&o.nextButton.show();o.prevButton!==undefined&&o.prevButton!==!1&&o.settings.showPrevButtonOnInit===!0&&o.prevButton.show();o.pauseButton!==undefined&&o.pauseButton!==!1&&o.settings.showPauseButtonOnInit===!0&&o.pauseButton.show();if(o.settings.pauseIcon!==!1){o.pauseIcon=o._renderUiElements(o.settings.pauseIcon,".sequence-pause-icon");o.pauseIcon!==undefined&&o.pauseIcon.hide()}else o.pauseIcon=undefined;if(o.pagination!==undefined&&o.pagination!==!1){o.paginationLinks=o.pagination.children();o.paginationLinks.on("click.sequence",function(){var t=e(this).index()+1;o.goTo(t)});o.settings.showPaginationOnInit===!0&&o.pagination.show()}o.nextFrameID=o.settings.startingFrameID;if(o.settings.hashTags===!0){o.frames.each(function(){o.frameHashID.push(e(this).prop(o.getHashTagFrom))});o.currentHashTag=location.hash.replace("#","");if(o.currentHashTag===undefined||o.currentHashTag==="")o.nextFrameID=o.settings.startingFrameID;else{o.frameHashIndex=e.inArray(o.currentHashTag,o.frameHashID);o.frameHashIndex!==-1?o.nextFrameID=o.frameHashIndex+1:o.nextFrameID=o.settings.startingFrameID}}o.nextFrame=o.frames.eq(o.nextFrameID-1);o.nextFrameChildren=o.nextFrame.children();o.pagination!==undefined&&e(o.paginationLinks[o.settings.startingFrameID-1]).addClass("current");if(o.transitionsSupported)if(!o.settings.animateStartingFrameIn){o.currentFrameID=o.nextFrameID;o.settings.moveActiveFrameToTop&&o.nextFrame.css("z-index",o.numberOfFrames);o._resetElements(o.transitionPrefix,o.nextFrameChildren,"0s");o.nextFrame.addClass("animate-in");if(o.settings.hashTags&&o.settings.hashChangesOnFirstFrame){o.currentHashTag=o.nextFrame.prop(o.getHashTagFrom);document.location.hash="#"+o.currentHashTag}setTimeout(function(){o._resetElements(o.transitionPrefix,o.nextFrameChildren,"")},100);o._resetAutoPlay(!0,o.settings.autoPlayDelay)}else if(o.settings.reverseAnimationsWhenNavigatingBackwards&&o.settings.autoPlayDirection-1&&o.settings.animateStartingFrameIn){o._resetElements(o.transitionPrefix,o.nextFrameChildren,"0s");o.nextFrame.addClass("animate-out");o.goTo(o.nextFrameID,-1,!0)}else o.goTo(o.nextFrameID,1,!0);else{o.container.addClass("sequence-fallback");o.currentFrameID=o.nextFrameID;if(o.settings.hashTags&&o.settings.hashChangesOnFirstFrame){o.currentHashTag=o.nextFrame.prop(o.getHashTagFrom);document.location.hash="#"+o.currentHashTag}o.frames.addClass("animate-in");o.frames.not(":eq("+(o.nextFrameID-1)+")").css({display:"none",opacity:0});o._resetAutoPlay(!0,o.settings.autoPlayDelay)}o.nextButton!==undefined&&o.nextButton.bind("click.sequence",function(){o.next()});o.prevButton!==undefined&&o.prevButton.bind("click.sequence",function(){o.prev()});o.pauseButton!==undefined&&o.pauseButton.bind("click.sequence",function(){o.pause(!0)});if(o.settings.keyNavigation){var n={left:37,right:39};e(document).bind("keydown.sequence",function(e){var n=String.fromCharCode(e.keyCode);if(n>0&&n<=o.numberOfFrames&&o.settings.numericKeysGoToFrames){o.nextFrameID=n;o.goTo(o.nextFrameID)}t(e.keyCode,o.settings.keyEvents);t(e.keyCode,o.settings.customKeyEvents)})}o.canvas.on({"mouseenter.sequence":function(){if(o.settings.pauseOnHover&&o.settings.autoPlay&&!o.hasTouch){o.isBeingHoveredOver=!0;o.isHardPaused||o.pause()}},"mouseleave.sequence":function(){if(o.settings.pauseOnHover&&o.settings.autoPlay&&!o.hasTouch){o.isBeingHoveredOver=!1;o.isHardPaused||o.unpause()}}});o.settings.hashTags&&e(window).bind("hashchange.sequence",function(){var t=location.hash.replace("#","");if(o.currentHashTag!==t){o.currentHashTag=t;o.frameHashIndex=e.inArray(o.currentHashTag,o.frameHashID);if(o.frameHashIndex!==-1){o.nextFrameID=o.frameHashIndex+1;o.goTo(o.nextFrameID)}}});if(o.settings.swipeNavigation&&o.hasTouch){var u,a,f=!1;o.canvas.on("touchstart.sequence",s)}}var o=this;o.container=e(n);o.canvas=o.container.children(".sequence-canvas");o.frames=o.canvas.children("li");o._modernizrForSequence();var u={WebkitTransition:"-webkit-",WebkitAnimation:"-webkit-",MozTransition:"-moz-","MozAnimation ":"-moz-",OTransition:"-o-",OAnimation:"-o-",msTransition:"-ms-",msAnimation:"-ms-",transition:"",animation:""},a={WebkitTransition:"webkitTransitionEnd.sequence",WebkitAnimation:"webkitAnimationEnd.sequence",MozTransition:"transitionend.sequence",MozAnimation:"animationend.sequence",OTransition:"otransitionend.sequence",OAnimation:"oanimationend.sequence",msTransition:"MSTransitionEnd.sequence",msAnimation:"MSAnimationEnd.sequence",transition:"transitionend.sequence",animation:"animationend.sequence"};o.transitionPrefix=u[ModernizrForSequence.prefixed("transition")],o.animationPrefix=u[ModernizrForSequence.prefixed("animation")],o.transitionProperties={},o.transitionEnd=a[ModernizrForSequence.prefixed("transition")]+" "+a[ModernizrForSequence.prefixed("animation")],o.numberOfFrames=o.frames.length,o.transitionsSupported=o.transitionPrefix!==undefined?!0:!1,o.hasTouch="ontouchstart"in window?!0:!1,o.isPaused=!1,o.isBeingHoveredOver=!1,o.container.removeClass("sequence-destroyed");o.paused=function(){},o.unpaused=function(){},o.beforeNextFrameAnimatesIn=function(){},o.afterNextFrameAnimatesIn=function(){},o.beforeCurrentFrameAnimatesOut=function(){},o.afterCurrentFrameAnimatesOut=function(){},o.afterLoaded=function(){};o.destroyed=function(){};o.settings=e.extend({},i,r);o.settings.preloader=o._renderUiElements(o.settings.preloader,".sequence-preloader");o.isStartingFrame=o.settings.animateStartingFrameIn?!0:!1;o.settings.unpauseDelay=o.settings.unpauseDelay===null?o.settings.autoPlayDelay:o.settings.unpauseDelay;o.getHashTagFrom=o.settings.hashDataAttribute?"data-sequence-hashtag":"id";o.frameHashID=[];o.direction=o.settings.autoPlayDirection;o.settings.hideFramesUntilPreloaded&&o.settings.preloader!==undefined&&o.settings.preloader!==!1&&o.frames.hide();o.transitionPrefix==="-o-"&&(o.transitionsSupported=o._operaTest());o.frames.removeClass("animate-in");var l=o.settings.preloadTheseFrames.length,c=o.settings.preloadTheseImages.length;o.settings.windowLoaded===!0&&(t=o.settings.windowLoaded);if(o.settings.preloader===undefined||o.settings.preloader===!1||l===0&&c===0)if(t===!0){f();e(this).unbind("load.sequence")}else e(window).bind("load.sequence",function(){f();e(this).unbind("load.sequence")});else{var d=h(l),v=h(c,!0),m=e(d.concat(v));p(m,f)}}var t=!1;e(window).bind("load",function(){t=!0});n.prototype={startAutoPlay:function(e){var t=this;e=e===undefined?t.settings.autoPlayDelay:e;t.unpause();t._resetAutoPlay();t.autoPlayTimer=setTimeout(function(){t.settings.autoPlayDirection===1?t.next():t.prev()},e)},stopAutoPlay:function(){var e=this;e.pause(!0);clearTimeout(e.autoPlayTimer)},pause:function(e){var t=this;if(!t.isSoftPaused){if(t.pauseButton!==undefined){t.pauseButton.addClass("paused");t.pauseIcon!==undefined&&t.pauseIcon.show()}t.paused();t.isSoftPaused=!0;t.isHardPaused=e?!0:!1;t.isPaused=!0;t._resetAutoPlay()}else t.unpause()},unpause:function(e){var t=this;if(t.pauseButton!==undefined){t.pauseButton.removeClass("paused");t.pauseIcon!==undefined&&t.pauseIcon.hide()}t.isSoftPaused=!1;t.isHardPaused=!1;t.isPaused=!1;if(!t.active){e!==!1&&t.unpaused();t._resetAutoPlay(!0,t.settings.unpauseDelay)}else t.delayUnpause=!0},next:function(){var e=this;id=e.currentFrameID!==e.numberOfFrames?e.currentFrameID+1:1;e.active===!1||e.active===undefined?e.goTo(id,1):e.goTo(id,1,!0)},prev:function(){var e=this;id=e.currentFrameID===1?e.numberOfFrames:e.currentFrameID-1;e.active===!1||e.active===undefined?e.goTo(id,-1):e.goTo(id,-1,!0)},goTo:function(t,n,r){var i=this;i.nextFrameID=parseFloat(t);var s=r===!0?0:i.settings.transitionThreshold;if(i.nextFrameID===i.currentFrameID||i.settings.navigationSkip&&i.navigationSkipThresholdActive||!i.settings.navigationSkip&&i.active||!i.transitionsSupported&&i.active||!i.settings.cycle&&n===1&&i.currentFrameID===i.numberOfFrames||!i.settings.cycle&&n===-1&&i.currentFrameID===1||i.settings.preventReverseSkipping&&i.direction!==n&&i.active)return!1;if(i.settings.navigationSkip&&i.active){i.navigationSkipThresholdActive=!0;i.settings.fadeFrameWhenSkipped&&i.nextFrame.stop().animate({opacity:0},i.settings.fadeFrameTime);clearTimeout(i.transitionThresholdTimer);setTimeout(function(){i.navigationSkipThresholdActive=!1},i.settings.navigationSkipThreshold)}if(!i.active||i.settings.navigationSkip){i.active=!0;i._resetAutoPlay();n===undefined?i.direction=i.nextFrameID>i.currentFrameID?1:-1:i.direction=n;i.currentFrame=i.canvas.children(".animate-in");i.nextFrame=i.frames.eq(i.nextFrameID-1);i.currentFrameChildren=i.currentFrame.children();i.nextFrameChildren=i.nextFrame.children();if(i.pagination!==undefined){i.paginationLinks.removeClass("current");e(i.paginationLinks[i.nextFrameID-1]).addClass("current")}if(i.transitionsSupported){if(i.currentFrame.length!==undefined){i.beforeCurrentFrameAnimatesOut();i.settings.moveActiveFrameToTop&&i.currentFrame.css("z-index",1);i._resetElements(i.transitionPrefix,i.nextFrameChildren,"0s");if(!i.settings.reverseAnimationsWhenNavigatingBackwards||i.direction===1){i.nextFrame.removeClass("animate-out");i._resetElements(i.transitionPrefix,i.currentFrameChildren,"")}else if(i.settings.reverseAnimationsWhenNavigatingBackwards&&i.direction===-1){i.nextFrame.addClass("animate-out");i._reverseTransitionProperties()}}else i.isStartingFrame=!1;i.active=!0;i.currentFrame.unbind(i.transitionEnd);i.nextFrame.unbind(i.transitionEnd);i.settings.fadeFrameWhenSkipped&&i.settings.navigationSkip&&i.nextFrame.css("opacity",1);i.beforeNextFrameAnimatesIn();i.settings.moveActiveFrameToTop&&i.nextFrame.css("z-index",i.numberOfFrames);if(!i.settings.reverseAnimationsWhenNavigatingBackwards||i.direction===1){setTimeout(function(){i._resetElements(i.transitionPrefix,i.nextFrameChildren,"");i._waitForAnimationsToComplete(i.nextFrame,i.nextFrameChildren,"in");(i.afterCurrentFrameAnimatesOut!=="function () {}"||i.settings.transitionThreshold===!0&&r!==!0)&&i._waitForAnimationsToComplete(i.currentFrame,i.currentFrameChildren,"out",!0,1)},50);setTimeout(function(){if(i.settings.transitionThreshold===!1||i.settings.transitionThreshold===0||r===!0){i.currentFrame.toggleClass("animate-out animate-in");i.nextFrame.addClass("animate-in")}else{i.currentFrame.toggleClass("animate-out animate-in");i.settings.transitionThreshold!==!0&&(i.transitionThresholdTimer=setTimeout(function(){i.nextFrame.addClass("animate-in")},s))}},50)}else if(i.settings.reverseAnimationsWhenNavigatingBackwards&&i.direction===-1){setTimeout(function(){i._resetElements(i.transitionPrefix,i.currentFrameChildren,"");i._resetElements(i.transitionPrefix,i.nextFrameChildren,"");i._reverseTransitionProperties();i._waitForAnimationsToComplete(i.nextFrame,i.nextFrameChildren,"in");(i.afterCurrentFrameAnimatesOut!=="function () {}"||i.settings.transitionThreshold===!0&&r!==!0)&&i._waitForAnimationsToComplete(i.currentFrame,i.currentFrameChildren,"out",!0,-1)},50);setTimeout(function(){if(i.settings.transitionThreshold===!1||i.settings.transitionThreshold===0||r===!0){i.currentFrame.removeClass("animate-in");i.nextFrame.toggleClass("animate-out animate-in")}else{i.currentFrame.removeClass("animate-in");i.settings.transitionThreshold!==!0&&(i.transitionThresholdTimer=setTimeout(function(){i.nextFrame.toggleClass("animate-out animate-in")},s))}},50)}}else{function o(){i._setHashTag();i.active=!1;i._resetAutoPlay(!0,i.settings.autoPlayDelay)}switch(i.settings.fallback.theme){case"fade":i.frames.css({position:"relative"});i.beforeCurrentFrameAnimatesOut();i.currentFrame=i.frames.eq(i.currentFrameID-1);i.currentFrame.animate({opacity:0},i.settings.fallback.speed,function(){i.currentFrame.css({display:"none","z-index":"1"});i.afterCurrentFrameAnimatesOut();i.beforeNextFrameAnimatesIn();i.nextFrame.css({display:"block","z-index":i.numberOfFrames}).animate({opacity:1},500,function(){i.afterNextFrameAnimatesIn()});o()});i.frames.css({position:"relative"});break;case"slide":default:var u={},a={},f={};if(i.direction===1){u.left="-100%";a.left="100%"}else{u.left="100%";a.left="-100%"}f.left="0";f.opacity=1;i.currentFrame=i.frames.eq(i.currentFrameID-1);i.beforeCurrentFrameAnimatesOut();i.currentFrame.animate(u,i.settings.fallback.speed,function(){i.currentFrame.css({display:"none","z-index":"1"});i.afterCurrentFrameAnimatesOut()});i.beforeNextFrameAnimatesIn();i.nextFrame.show().css(a);i.nextFrame.css({display:"block","z-index":i.numberOfFrames}).animate(f,i.settings.fallback.speed,function(){o();i.afterNextFrameAnimatesIn()})}}i.currentFrameID=i.nextFrameID}},destroy:function(t){var n=this;n.container.addClass("sequence-destroyed");n.nextButton!==undefined&&n.nextButton.unbind("click.sequence");n.prevButton!==undefined&&n.prevButton.unbind("click.sequence");n.pauseButton!==undefined&&n.pauseButton.unbind("click.sequence");n.pagination!==undefined&&n.paginationLinks.unbind("click.sequence");e(document).unbind("keydown.sequence");n.canvas.unbind("mouseenter.sequence, mouseleave.sequence, touchstart.sequence, touchmove.sequence");e(window).unbind("hashchange.sequence");n.stopAutoPlay();clearTimeout(n.transitionThresholdTimer);n.canvas.children("li").remove();n.canvas.prepend(n.frames);n.frames.removeClass("animate-in animate-out").removeAttr("style");n.frames.eq(n.currentFrameID-1).addClass("animate-in");n.nextButton!==undefined&&n.nextButton!==!1&&n.nextButton.hide();n.prevButton!==undefined&&n.prevButton!==!1&&n.prevButton.hide();n.pauseButton!==undefined&&n.pauseButton!==!1&&n.pauseButton.hide();n.pauseIcon!==undefined&&n.pauseIcon!==!1&&n.pauseIcon.hide();n.pagination!==undefined&&n.pagination!==!1&&n.pagination.hide();t!==undefined&&t();n.destroyed();n.container.removeData()},_initCustomKeyEvent:function(e){var t=this;switch(e){case"next":t.next();break;case"prev":t.prev();break;case"pause":t.pause(!0)}},_resetElements:function(e,t,n){var r=this;t.css(r._prefixCSS(e,{"transition-duration":n,"transition-delay":n,"transition-timing-function":""}))},_reverseTransitionProperties:function(){var t=this,n=[],r=[];t.currentFrameChildren.each(function(){n.push(parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s",""))+parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")))});t.nextFrameChildren.each(function(){r.push(parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s",""))+parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")))});var i=Math.max.apply(Math,n),s=Math.max.apply(Math,r),o=i-s,u=0,a=0;o<0&&!t.settings.preventDelayWhenReversingAnimations?u=Math.abs(o):o>0&&(a=Math.abs(o));var f=function(n,r,i,s){function o(e){e=e.split(",")[0];var t={linear:"cubic-bezier(0.0,0.0,1.0,1.0)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1.0)","ease-in":"cubic-bezier(0.42, 0.0, 1.0, 1.0)","ease-in-out":"cubic-bezier(0.42, 0.0, 0.58, 1.0)","ease-out":"cubic-bezier(0.0, 0.0, 0.58, 1.0)"};e.indexOf("cubic-bezier")<0&&(e=t[e]);return e}r.each(function(){var r=parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s","")),u=parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")),a=e(this).css(t.transitionPrefix+"transition-timing-function");if(a.indexOf("cubic")===-1)var a=o(a);if(t.settings.reverseEaseWhenNavigatingBackwards){var f=a.replace("cubic-bezier(","").replace(")","").split(",");e.each(f,function(e,t){f[e]=parseFloat(t)});var l=[1-f[2],1-f[3],1-f[0],1-f[1]];a="cubic-bezier("+l+")"}var c=r+u;n["transition-duration"]=r+"s";n["transition-delay"]=i-c+s+"s";n["transition-timing-function"]=a;e(this).css(t._prefixCSS(t.transitionPrefix,n))})};f(t.transitionProperties,t.currentFrameChildren,i,u);f(t.transitionProperties,t.nextFrameChildren,s,a)},_prefixCSS:function(e,t){var n=this,r={};for(var i in t)r[e+i]=t[i];return r},_resetAutoPlay:function(e,t){var n=this;if(e===!0){if(n.settings.autoPlay&&!n.isSoftPaused){clearTimeout(n.autoPlayTimer);n.autoPlayTimer=setTimeout(function(){n.settings.autoPlayDirection===1?n.next():n.prev()},t)}}else clearTimeout(n.autoPlayTimer)},_renderUiElements:function(t,n){var r=this;switch(t){case!1:return undefined;case!0:n===".sequence-preloader"&&r._defaultPreloader(r.container,r.transitionsSupported,r.animationPrefix);return e(n,r.container);default:return e(t,r.container)}},_waitForAnimationsToComplete:function(t,n,r,i,s){var o=this;if(r==="out")var u=function(){o.afterCurrentFrameAnimatesOut();o.settings.transitionThreshold===!0&&(s===1?o.nextFrame.addClass("animate-in"):s===-1&&o.nextFrame.toggleClass("animate-out animate-in"))};else if(r==="in")var u=function(){o.afterNextFrameAnimatesIn();o._setHashTag();o.active=!1;if(!o.isHardPaused&&!o.isBeingHoveredOver)if(!o.delayUnpause)o.unpause(!1);else{o.delayUnpause=!1;o.unpause()}};n.data("animationEnded",!1);t.bind(o.transitionEnd,function(r){e(r.target).data("animationEnded",!0);var i=!0;n.each(function(){if(e(this).data("animationEnded")===!1){i=!1;return!1}});if(i){t.unbind(o.transitionEnd);u()}})},_setHashTag:function(){var t=this;if(t.settings.hashTags){t.currentHashTag=t.nextFrame.prop(t.getHashTagFrom);t.frameHashIndex=e.inArray(t.currentHashTag,t.frameHashID);if(t.frameHashIndex!==-1&&(t.settings.hashChangesOnFirstFrame||!t.isStartingFrame||!t.transitionsSupported)){t.nextFrameID=t.frameHashIndex+1;document.location.hash="#"+t.currentHashTag}else{t.nextFrameID=t.settings.startingFrameID;t.isStartingFrame=!1}}},_modernizrForSequence:function(){window.ModernizrForSequence=function(e,t,n){function r(e){v.cssText=e}function i(e,t){return r(prefixes.join(e+";")+(t||""))}function s(e,t){return typeof e===t}function o(e,t){return!!~(""+e).indexOf(t)}function u(e,t){for(var r in e){var i=e[r];if(!o(i,"-")&&v[i]!==n)return t=="pfx"?i:!0}return!1}function a(e,t,r){for(var i in e){var o=t[e[i]];if(o!==n)return r===!1?e[i]:s(o,"function")?o.bind(r||t):o}return!1}function f(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+b.join(r+" ")+r).split(" ");return s(t,"string")||s(t,"undefined")?u(i,t):(i=(e+" "+w.join(r+" ")+r).split(" "),a(i,t,n))}var l="2.6.1",c={},h=t.documentElement,p="modernizrForSequence",d=t.createElement(p),v=d.style,m,g={}.toString,y="Webkit Moz O ms",b=y.split(" "),w=y.toLowerCase().split(" "),E={svg:"http://www.w3.org/2000/svg"},S={},x={},T={},N=[],C=N.slice,k,L={}.hasOwnProperty,A;!s(L,"undefined")&&!s(L.call,"undefined")?A=function(e,t){return L.call(e,t)}:A=function(e,t){return t in e&&s(e.constructor.prototype[t],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(e){var t=self;if(typeof t!="function")throw new TypeError;var n=C.call(arguments,1),r=function(){if(self instanceof r){var i=function(){};i.prototype=t.prototype;var s=new i,o=t.apply(s,n.concat(C.call(arguments)));return Object(o)===o?o:s}return t.apply(e,n.concat(C.call(arguments)))};return r}),S.svg=function(){return!!t.createElementNS&&!!t.createElementNS(E.svg,"svg").createSVGRect};for(var O in S)A(S,O)&&(k=O.toLowerCase(),c[k]=S[O](),N.push((c[k]?"":"no-")+k));return c.addTest=function(e,t){if(typeof e=="object")for(var r in e)A(e,r)&&c.addTest(r,e[r]);else{e=e.toLowerCase();if(c[e]!==n)return c;t=typeof t=="function"?t():t,enableClasses&&(h.className+=" "+(t?"":"no-")+e),c[e]=t}return c},r(""),d=m=null,c._version=l,c._domPrefixes=w,c._cssomPrefixes=b,c.testProp=function(e){return u([e])},c.testAllProps=f,c.prefixed=function(e,t,n){return t?f(e,t,n):f(e,"pfx")},c}(self,self.document)},_defaultPreloader:function(t,n,r){var i='
';e("head").append("");t.prepend(i);if(!ModernizrForSequence.svg&&!n){e(".sequence-preloader").prepend('
');setInterval(function(){e(".sequence-preloader .circle").fadeToggle(500)},500)}else n||setInterval(function(){e(".sequence-preloader").fadeToggle(500)},500)},_operaTest:function(){e("body").append('');var t=e("#sequence-opera-test");t.css("-o-transition","1s");if(t.css("-o-transition")!=="1s"){t.remove();return!1}t.remove();return!0}};var r={startingFrameID:1,cycle:!0,animateStartingFrameIn:!1,transitionThreshold:!1,reverseAnimationsWhenNavigatingBackwards:!0,reverseEaseWhenNavigatingBackwards:!0,preventDelayWhenReversingAnimations:!1,moveActiveFrameToTop:!0,windowLoaded:!1,autoPlay:!1,autoPlayDirection:1,autoPlayDelay:5e3,navigationSkip:!0,navigationSkipThreshold:250,fadeFrameWhenSkipped:!0,fadeFrameTime:150,preventReverseSkipping:!1,nextButton:!1,showNextButtonOnInit:!0,prevButton:!1,showPrevButtonOnInit:!0,pauseButton:!1,unpauseDelay:null,pauseOnHover:!0,pauseIcon:!1,showPauseButtonOnInit:!0,pagination:!1,showPaginationOnInit:!0,preloader:!1,preloadTheseFrames:[1],preloadTheseImages:[],hideFramesUntilPreloaded:!0,prependPreloadingComplete:!0,hidePreloaderUsingCSS:!0,hidePreloaderDelay:0,keyNavigation:!0,numericKeysGoToFrames:!0,keyEvents:{left:"prev",right:"next"},customKeyEvents:{},swipeNavigation:!0,swipeThreshold:20,swipePreventsDefault:!1,swipeEvents:{left:"prev",right:"next",up:!1,down:!1},hashTags:!1,hashDataAttribute:!1,hashChangesOnFirstFrame:!1,fallback:{theme:"slide",speed:500}};e.fn.sequence=function(t){return this.each(function(){e.data(this,"sequence")||e.data(this,"sequence",new n(e(this),t,r))})}})(jQuery);(function(window) { var IE_10 = !!window.navigator.msPointerEnabled, // Check below can mark as IE11+ also other browsers which implements pointer events in future // that is not issue, because touch capability is tested in IF statement bellow. IE_11_PLUS = !!window.navigator.pointerEnabled; // Only pointer enabled browsers without touch capability. if (IE_10 || (IE_11_PLUS && !('ontouchstart' in window))) { var document = window.document, POINTER_DOWN = IE_11_PLUS ? "pointerdown" : "MSPointerDown", POINTER_UP = IE_11_PLUS ? "pointerup" : "MSPointerUp", POINTER_MOVE = IE_11_PLUS ? "pointermove" : "MSPointerMove", GESTURE_START = "MSGestureStart", GESTURE_CHANGE = "MSGestureChange", GESTURE_END = "MSGestureEnd", TOUCH_ACTION = IE_11_PLUS ? "touchAction" : "msTouchAction", createEvent = function (eventName, target, params) { var k, event = document.createEvent("Event"); event.initEvent(eventName, true, true); for (k in params) { event[k] = params[k]; } target.dispatchEvent(event); }, /** * ECMAScript 5 accessors to the rescue * @see http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/ */ makeSubArray = (function() { var MAX_SIGNED_INT_VALUE = Math.pow(2, 32) - 1, hasOwnProperty = Object.prototype.hasOwnProperty; function ToUint32(value) { return value >>> 0; } function getMaxIndexProperty(object) { var maxIndex = -1, isValidProperty, prop; for (prop in object) { isValidProperty = ( String(ToUint32(prop)) === prop && ToUint32(prop) !== MAX_SIGNED_INT_VALUE && hasOwnProperty.call(object, prop)); if (isValidProperty && prop > maxIndex) { maxIndex = prop; } } return maxIndex; } return function(methods) { var length = 0; methods = methods || { }; methods.length = { get: function() { var maxIndexProperty = +getMaxIndexProperty(this); return Math.max(length, maxIndexProperty + 1); }, set: function(value) { var constrainedValue = ToUint32(value); if (constrainedValue !== +value) { throw new RangeError(); } for (var i = constrainedValue, len = this.length; i < len; i++) { delete this[i]; } length = constrainedValue; } }; methods.toString = { value: Array.prototype.join }; return Object.create(Array.prototype, methods); }; })(), // methods passed to TouchList closure method to extend Array touchListMethods = { /** * Returns touch by id. This method fulfill the TouchList interface. * @param {Number} id * @returns {Touch} */ identifiedTouch: { value: function (id) { var length = this.length; while (length--) { if (this[length].identifier === id) return this[length]; } return undefined; } }, /** * Returns touch by index. This method fulfill the TouchList interface. * @param {Number} index * @returns {Touch} */ item: { value: function (index) { return this[index]; } }, /** * Returns touch index * @param {Touch} touch * @returns {Number} */ _touchIndex: { value: function (touch) { var length = this.length; while (length--) { if (this[length].pointerId == touch.pointerId) return length; } return -1; } }, /** * Add all events and convert them to touches * @param {Event[]} events */ _addAll: { value: function(events) { var i = 0, length = events.length; for (; i < length; i++) { this._add(events[i]); } } }, /** * Add and MSPointer event and convert it to Touch like object * @param {Event} event */ _add: { value: function(event) { var index = this._touchIndex(event); index = index < 0 ? this.length : index; //normalizing Pointer to Touch event.type = POINTER_MOVE; event.identifier = event.pointerId; //in DOC is mentioned that it is 0..255 but actually it returns 0..1 value //returns 0.5 for mouse down buttons in IE11, should it be issue? event.force = event.pressure; //default values for Touch which we cannot obtain from Pointer event.radiusX = event.radiusY = 1; event.rotationAngle = 0; this[index] = event; } }, /** * Removes an event from this touch list. * @param {Event} event */ _remove: { value: function(event) { var index = this._touchIndex(event); if (index >= 0) { this.splice(index,1); } } } }, /** * This class store touches in an list which can be also accessible as array which is * little bit bad because TouchList have to extend Array. Because we are aiming on * IE10+ we can use ECMAScript5 solution. * @extends Array * @see http://www.w3.org/TR/2011/WD-touch-events-20110913/#touchlist-interface * @see https://developer.mozilla.org/en-US/docs/DOM/TouchList */ TouchList = (function(methods) { return function() { var arr = makeSubArray(methods); if (arguments.length === 1) { arr.length = arguments[0]; } else { arr.push.apply(arr, arguments); } return arr; }; })(touchListMethods), /** * list of all touches running during life cycle * @type TouchList */ generalTouchesHolder, /** * Storage of link between pointer {id} and original target * @type Object */ pointerToTarget = {}, /** * General gesture object which fires MSGesture events whenever any associated MSPointer event changed. */ gesture = window.MSGesture ? new MSGesture() : null, /** * Storage of targets and anonymous MSPointerStart handlers for later * unregistering * @type Array */ attachedPointerStartMethods = [], /** * Checks if node is some of parent children or sub-children * @param {HTMLElement|Document} parent * @param {HTMLElement} node * @returns {Boolean} */ checkSameTarget = function (parent, node) { if (node) { if (parent === node) { return true; } else { return checkSameTarget(parent, node.parentNode); } } else { return false; } }, /** * Main function which is rewriting the MSPointer event to touch event * and preparing all the necessary lists of touches. * @param {Event} evt */ pointerListener = function (evt) { var type, i, target = evt.target, originalTarget, changedTouches, targetTouches; if (evt.type === POINTER_DOWN) { generalTouchesHolder._add(evt); pointerToTarget[evt.pointerId] = evt.target; type = "touchstart"; // Fires MSGesture event when we have at least two pointers in our holder // (adding pointers to gesture object immediately fires Gesture event) if (generalTouchesHolder.length > 1) { gesture.target = evt.target; for (i = 0; i < generalTouchesHolder.length; i++) { gesture.addPointer(generalTouchesHolder[i].pointerId); } } } if (evt.type === POINTER_MOVE && generalTouchesHolder.identifiedTouch(evt.pointerId)) { generalTouchesHolder._add(evt); type = "touchmove"; } //Preparation of touch lists have to be done before pointerup/MSPointerUp where we delete some information //Which touch fired this event, because we know that MSPointer event is fired for every //changed pointer than we create a list only with actual pointer changedTouches = document.createTouchList(evt); //Target touches is list of touches which started on (touchstart) on target element, they //are in this array even if these touches have coordinates outside target elements targetTouches = document.createTouchList(); for (i = 0; i < generalTouchesHolder.length; i++) { //targetTouches._add(generalTouchesHolder[i]); //check if the pointerTarget is in the target if (checkSameTarget(target, pointerToTarget[generalTouchesHolder[i].identifier])) { targetTouches._add(generalTouchesHolder[i]); } } originalTarget = pointerToTarget[evt.pointerId]; if (evt.type === POINTER_UP) { generalTouchesHolder._remove(evt); pointerToTarget[evt.pointerId] = null; delete pointerToTarget[evt.pointerId]; type = "touchend"; // Fires MSGestureEnd event when there is only one ore zero touches: if (generalTouchesHolder.length <= 1) { gesture.stop(); } } //log("+", evt.type, generalTouchesHolder.length, evt.target.nodeName+"#"+evt.target.id); if (type && originalTarget) { createEvent(type, originalTarget, {touches: generalTouchesHolder, changedTouches: changedTouches, targetTouches: targetTouches}); } }, /** * Main function which is rewriting the MSGesture event to gesture event. * @param {Event} evt */ gestureListener = function (evt) { //TODO: check first, other than IE (FF?), browser which implements pointer events how to make gestures from pointers. Maybe it would be mix of pointer/gesture events. var type; if (evt.type === GESTURE_START) {type = "gesturestart"} else if (evt.type === GESTURE_CHANGE) {type = "gesturechange"} else if (evt.type === GESTURE_END) {type = "gestureend"} createEvent(type, evt.target, {scale: evt.scale, rotation: evt.rotation, screenX: evt.screenX, screenY: evt.screenY}); }, /** * This method augments event listener methods on given class to call * our own method which attach/detach the MSPointer events handlers * when user tries to attach touch events. * @param {Function} elementClass Element class like HTMLElement or Document */ augmentEventListener = function(elementClass) { var customAddEventListener = attachTouchEvents, customRemoveEventListener = removeTouchEvents, oldAddEventListener = elementClass.prototype.addEventListener, oldRemoveEventListener = elementClass.prototype.removeEventListener; elementClass.prototype.addEventListener = function(type, listener, useCapture) { //"this" is HTML element customAddEventListener.call(this, type, listener, useCapture); oldAddEventListener.call(this, type, listener, useCapture); }; elementClass.prototype.removeEventListener = function(type, listener, useCapture) { customRemoveEventListener.call(this, type, listener, useCapture); oldRemoveEventListener.call(this, type, listener, useCapture); }; }, /** * This method attach event handler for MSPointer / MSGesture events when user * tries to attach touch / gesture events. * @param {String} type * @param {Function} listener * @param {Boolean} useCapture */ attachTouchEvents = function (type, listener, useCapture) { var that = this, func; if (type.indexOf("touchstart") === 0) { func = function() { if (checkSameTarget(that, arguments[0].target)) { pointerListener.apply(this, arguments); } }; attachedPointerStartMethods.push({node: this, func: func}); this.ownerDocument.addEventListener(POINTER_DOWN, func, useCapture); } if (type.indexOf("touchmove") === 0) { this.ownerDocument.addEventListener(POINTER_MOVE, pointerListener, useCapture); } if (type.indexOf("touchend") === 0) { this.ownerDocument.addEventListener(POINTER_UP, pointerListener, useCapture); } if (type.indexOf("gesturestart") === 0) { this.ownerDocument.addEventListener(GESTURE_START, gestureListener, useCapture); } if (type.indexOf("gesturechange") === 0) { this.ownerDocument.addEventListener(GESTURE_CHANGE, gestureListener, useCapture); } if (type.indexOf("gestureend") === 0) { this.ownerDocument.addEventListener(GESTURE_END, gestureListener, useCapture); } // e.g. Document has no style if (this.style && typeof this.style[TOUCH_ACTION] != "undefined") { this.style[TOUCH_ACTION] = "none"; } }, /** * This method detach event handler for MSPointer / MSGesture events when user * tries to detach touch / gesture events. * @param {String} type * @param {Function} listener * @param {Boolean} useCapture */ removeTouchEvents = function (type, listener, useCapture) { var func, i; //stores this,type,listener, to know what to call in pointerListener if (type.indexOf("touchstart") === 0) { i = attachedPointerStartMethods.length; while(i--) { if (attachedPointerStartMethods[i].node === this) { this.ownerDocument.removeEventListener(POINTER_DOWN, func, useCapture); attachedPointerStartMethods.splice(i, 1); break; } } } if (type.indexOf("touchmove") === 0) { this.ownerDocument.removeEventListener(POINTER_MOVE, pointerListener, useCapture); } if (type.indexOf("touchend") === 0) { this.ownerDocument.removeEventListener(POINTER_UP, pointerListener, useCapture); } if (type.indexOf("gesturestart") === 0) { this.ownerDocument.removeEventListener(GESTURE_START, gestureListener, useCapture); } if (type.indexOf("gesturechange") === 0) { this.ownerDocument.removeEventListener(GESTURE_CHANGE, gestureListener, useCapture); } if (type.indexOf("gestureend") === 0) { this.ownerDocument.removeEventListener(GESTURE_END, gestureListener, useCapture); } }; /* * Adding DocumentTouch interface * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#idl-def-DocumentTouch */ /** * Create touches list from array or touches or given touch * @param {Touch[]|Touch} touches * @returns {TouchList} */ document.createTouchList = function(touches) { var touchList = new TouchList(); if (touches) { if (touches.length) { touchList._addAll(touches); } else { touchList._add(touches); } } return touchList; }; /******* Fakes which persuade other code to use touch events ********/ /** * AbstractView is class for document.defaultView === window * @param {AbstractView} view * @param {EventTarget} target * @param {Number} identifier * @param {Number} pageX * @param {Number} pageY * @param {Number} screenX * @param {Number} screenY * @return {Touch} */ document.createTouch = function(view, target, identifier, pageX, pageY, screenX, screenY) { return { identifier: identifier, screenX: screenX, screenY: screenY, //clientX: clientX, //clientY: clientY, pageX: pageX, pageY: pageY, target: target }; }; //Fake Modernizer touch test //http://modernizr.github.com/Modernizr/touch.html if (!window.ontouchstart) window.ontouchstart = 1; /******* End of fakes ***********************************/ generalTouchesHolder = document.createTouchList(); // Overriding HTMLElement and HTMLDocument to hand over touch handler to MSPointer event handler augmentEventListener(HTMLElement); augmentEventListener(Document); } }(window));PNG  IHDR.|0tEXtSoftwareAdobe ImageReadyqe<siTXtXML:com.adobe.xmp @TrIDATxwu'ˡs  Q$%AJj-,[kZ+Jku^ʫ]ʫKYT%Q$"aĞ__9{Ӎ>C{{~sт @ ]@ @ !.@ @ q@ " ܸqCjQ p]$ @ % K"3Vo[Bט$I @ #tWW:x'>.焴@ 'v qI @ '@ SqQ4/Csʨ'6>ֹ ~po{\@^/}2;\^ .:|?TGuض 4-UE7nVS՟Sq (=;- "CEN* Scv_ "1 JRPD"XL@ qedd$'f'H/HKH;RՌ_@Z%dQ5DjH cΝ-=ZvI 5N@ %"8{yG^|kU g{g)"5V{(ˇ7MMMaffF=ؘN^@ [#};6(@Kڔ12atܓu.byynR~- `"@?csENs 2~Ob=mь3]\^%ӉI|0E$Uƒq̙L J200YuF `W`9222h˃ , aIeI +@ qt .@ ##U}vJn @ 7$Z&;x5Q:JڬC& Ði6hV0y@V"!-@ ܉B4.@ [%6'.֝".\i,3-'B@ G|+_)sQ<<233Kd!T*sxbxxxŋblV+GG]}}=@ XZ%Ϟy|;G?+ko^wpms«rlb o=,--[ @xO~cO ۶.\ ~]]Ǐ;\$Gdzv3V199b|)\@ oܼyccc֔'N}_~E:RJv^䓏{ tpUaO9$MאMV<߀7X_%ÿq%" -l҈4ab/  =6tK/YOʕJ޸CJr?_B*&TCd%hI$$|Q 5?C-@ ,Үqa2_T}zI\Gyo"GP38v:~7_`y ^_\zWT2W ܸq:DZjT>gQB\}0*6vɎN$4+%T(;P/juUGG6KcLj՚GŸH``E1<59H/- Jm)_9/ Ih2_C&rRDH\,lVHXޚ@w=jwoP|.kiTd9ݚ6]9"N4WaqlZ`bpAe@oWճQjTT4!1؉4Ѩ8i?"3KAoɜ,M,pDch0j_3Pqmt;j*aG!9 }6Թ.K05~ LEh :3۲x]SbG%hV0Ry4"&^ABKx30.+~WGC_/C!OC -@ߓLNN*Q>c:kiN?:IT7  g~,DUUƞncbTt @#t\ZQN'L[Q,WayE 8W鳘5f޻ɒ1ћ%;*zNAw#s%8zD2H@02؇hFII2d|<`qi&xgMKzYiࣩ^^%Ft&h|*N㩇 qaJ4DuiFYW&I.Qܾ\?1 CWR!{'=o'>Q*8>r{Z'b * S.z8ҝ/acp(6Ο Aq߽SHXzZʗ;6؋[ǑWzzpMju"T. /,ci*f vbU c%|IL]ЉPY|@Vbֵ w1u}YL\~ H¨-`bSƻo0p_2N}ׯw,NF`6qۈ_BdahhP9Ląo%xY[>O-{VlVQCB}/CuQЃ"AcDJl{.]&&Pε~Cɏ["H|GR&hphHT:Pf*p&X^Z™DVLbA̻%qQB:M\d:ao"YIt<Ԕ$74pHĩyMr3>Y:dGNe"cS4>rNt9*Í;z觲x":c:zzQF{ڱI*`'[<6PTӣ]S֔msrnЁO3h]gaJ8|X7/plD&i8G>n_ʶh:u *߿bZM]N2 UP;FZWeP'jmZt~Y769#G!G:&V:1M&\ˠqΥ<ћ8q 2<2GH PJMh p4NNMmgtJ䴯öumFDFo™GŠ?8}QHQ;},l^*elp,Pc}r>c'OT*ˆ$cXxt~ijz q3ZO|R,{t b4.Ndz v}x(E%[[xs:^`/J؉3P=+W["A'l@ɨW_sp4#ǻl.lDcE9qASDUGFNkDJBڼwI+k38>N>uB[ ~`5q٦eG!_p!hYZ^Ɵ_*ߓ.ԉj^&ٙYo~ꇞ˿ Q?𯩵b!`.De 17O1b񘲳U7kDx%g?o".]$u>NQ*X"Z~0'3O/$NLLG'&6) n^'PpG@ /h$Zx5&dbd+ e1՘4V{*Cy©qғlhg'N>b@c- [n×9$KFS*kCq-tМ`6p.&ah4&\. ƾ沒 ټ# j*gc~^'.#²NU}UMCuFpG>a*A]w${VS&LmzLׇC/EuSw\U&ݫ#o_'DX>j|˴vvnLٚWfE5Tqk|^eSJ~s[ncE؉RMM7 )8A7cmGH 7EĚy+bඈkUrbE(a'c-; qH IFCw+uWo{ݍaćyat`4nE!YŪH!.@ 쎸>sf[eWB}'Xm6ZD-s0bXB4וoDlt`cfeZq7N`s⢴KD63[ @ X/ˡ]N 5NnCE 6+6Z{ˮ9r=@ vE\].shk󏘈@ `#RV#!H*mNJA/z@s;# 8OCʜr=TSٱ-Kz@ œ[049+ \mCS.Ђ-L\`7o[\nY%& Bs\C\;MI;ۥ8ZλZ P b"{LZ4l *p5ᨿQeh-^Yh*Qڪ#nA 7~c Vceif\o[ϸ#ikp4A J-W>g:.i*DC ]UX)ˆ2+Y9]x~mFV T:*]ϧAe^ g?b`w'||"'10T*d_Lró8*g8||{HO$2d֛Eq'qٮsúHJKE5P6q0?0n cs/V02t s7Gٸ|"+bB##nK| M^V! WZI#U= _|#kbeT ݖw'u< H`Rǟ߰H6{5ą]WG vu\Y2alCB*95kHk.,"B]yj\?bRQjxe(Ii;JTxJKhʙGV7T2D>o/3IūkgRs -tPʭ$Bȯ\o㸸`pa_WT;c<Evq`>˥Wb+$D66#b~-wP*זmtk\vA.SS&Rr c{D*!e,X\\TV9C[Vh}M ٢9/$0P+U73J LTznr*r؛N:1s$dk,.ZA^Ϝ@:ETT2L!0Σ~,k3|z=*ƨ:uxK7|d7&k6x|x y"0_X¹#6޿U¤fxet7F+-|q_WFG3*N81;fcr;c㇉LUb*%52t$uvX[ab)#XibMD6QE"n`!7CWPpwLxO#m:Յ)Ya05*#{/wRr6dUC0382|"T9}2:tGtƱcY"m"so7߼/A< Nb \·?xv??%z8Gg;ѝ0? N3'g>[Yt.ܾ?BU(W}Y :q<<\g? ǐлQbi}46Ry4t*,W||d O G1>UW/UYl4T%;bo.1^3P{h؂O~05|2Q'lzu|SaӬfKp*|^7nKd$ |pDiQh(L,:r= uDlPY&&`iRJcm4tJ'b(w_*7+~:ѕxޣ+v*# D;ܶP$^ԫ9mNstvבAz}:5!V1a\z*?fn]7'!YV _%ÝX[7Qve M=m/Y$z-=s 7M82GĨcy&]d1G_"ӭQ4ŷmteQwX\LB<< G6wFIJ4)|ՏN%O%f:&cKU?c'k"CeŊ\Ghvab.`Ba١06}gle}e0pt"=tw|1ZQMP~g>>EBCgD4Pr|[5&tq]$6MذݎJ\s e9&oi\O}&t)>S V~1sr;w.`r #5f!q93nKp@eQ7NT#ÿa95n|kz-;JǑ$GP*)0ubXfPܐyt}ݲ3*Nd&HpBߖgSW4]:p ov~!bGct%!a$nj2رc->s||xՊ7g] @̙4.9׻sja[]cY:b{NVQo/G#r #B/;ժ"]6ԨTZf^Ng"I/×w?Del%U 霛D..84x,y} C* ˇm[Wc+E^_]X{̺qY6 m{}^(eeopeǦ"Rwwy;LYk$*Eqd2&ӠRTe/h|5פ\wc8^}~!XC<"&l&m6 (9}=VE ;~44DB"I&rKKK*@&'wE̗XmC]}s klavV[aco ξfZ @ lY;˾방q[ߞqYkkn_i1֭ PqV\~@=9)SNO3ݒ͸_f]lQ 3aa &}pąU=u[4.,wS{[ &#C@ "𺐘a'd?$?]=q_J;Mhȃ0 C@ 8FK:2a< ʷxK7$)`|#=@ppcdG%K i6 qYbhTgG*M =a׶_K,od5Y<@ 8`0=Q͛7Ւ.4NJd@ B\kљwCYmCCCk.XQos7&?~z5~P144'Oॗ^] [щA8HB^`YȶN@SwY?77n(Nl+b=#.0qXB>_@&iev-i:J5fRlEYӞseBqk~<ܛ_|ccꎄvJJiwd]f7joąD!.;lNtvvQCC,[u l';tT++4uMo&v TyP;\4Rt &m kvi91֭۷aʆzIE`tm|b|Lx0hi`ә04o+@OA%Hpty_M m~Tt9%;8 GBzo~^?F/]Bc(FӐz~ 9B6IĔ)b hܞYDOo/28]pj%u$ u 2P*P-Va%;q1ge22?%Ēi.ytVxwtc2fw8)"\VD$UzMF%p@ aZ,NݷS׾"?wP0S?&!.;`xLOOX$PXr{Gĥa^g+Wj@-BA2GijJH 1A'Cpr3*@ݩƍQt^U9vCip&SfN%qNz%'Y<27o;\ ;S*|"STr(z;*-G A;Xc&~=]x8G4A$mRMB\vUD#"sQ" r;ǓP8iXD,ޱd ʐNbrbٮ4x AxG6q%ށt2 VFVCVAq*{G"nU~:M_o_Ξ={i`8Eʻe`x Ӂ u_'SC],]{ %ʭLS@ h- G>~KC 46[ hF.ɘyN|.]H6q4ӧOsW\ CG[FĩWϋA|_#n<3Ԇ"P,!oηHՕrGE }ln+{GlKt́y>5š*E-@uY]xia&e3,8O)B~qalwUn]]][>4.,EE\TğqBHL MJL-72I+dJO9Dw.UN\nGT5]/i&LtrM |6jin49g`qk ڊaWrhpfb?#niF}ʲվ/j&\'{Aېnh+[m; xq__iqZp@ v79nL\vi^qY 6y+kĖ2ecPHjAm=!vG 6?(r$lĥ]X\\T{T`]7pܲD< ![\EM?g*`ֶwΥ\UC"L "05]Xafq] qydSfVۿo~ёJ!&.;g?1`߉K,7fZNWC8\3c9Gvab]3xX,O'p`ԍ˝\,)޵ĥLœߒߦV1%D\R/*+THPAQm|8Zeqx%M2jM F`^ְ&ÛЁQGwl#zT.wΚ{U{*ӻBYk}=[9=wӭ#mi,  4dU>L|\$`bSrI0@5}jQsȻ&5]T| ,8N4k4y;T) ˎѢZM '@$K,,"ߩ~kCxݩ( h[hǣ{K\`kϭR1= Qj62P:2G<CG,N囯uD)l;*4*VbaX 5p!iY N : G_|~wH ~a0O/JH|R)2RV4Xӄ P 7Jfo I廙Z:9 6C ƫairtwC.1[BUGr::I,:4$N`21|8AKaí2[$Jl&WKDl61:F-,mEfrf*ޖ I.GgTεdj "DnHz>npjlYlAI$,ɔI2Y$;w~iBUD}wl*jEm"hh֒MAk6AW"lk/F b"_}5qhFYzql|HǢ:4 ]k&|+/1QH.'L#eLT}LS8N/01d 1= &|t@~;KK6L6i~މ"'bѳ"! JY X3S$*. S/*>E ;P\Fe{&vPJ.:V4эn j4ۦ>Vݣp6#U"&.&j(ɘt3xYi"[)rȹxQ`T:];FNTHFBE\ ˮ|2!AcrP?b|9%ƇUpJB*BDj.tۖz+PcYjg}Ե:D1@_\Oӄ.46ka$'T Zx[i <CyZQG G eM L*<39oIf@ *<݁}[T/%._¤m%}.ttFx<[" aG'LBMQCʜ FvP<$mF6'Hx{)1e)3^-h権;N‰&0QۼQ\Ѱq;Sk _bRCT NʗRo%MR?@i*|M;$LYNHJS5|uħDȊPcO1 ܰC>ۥkD@k]?E߆ɥQf\)n.כoY LRջ:@_٭ I]{c&01.q5v23^!ek rP)2{O\00HwtG`M0K>#RNPctC5T6YGf)MxT/<%Z&ף80ODE]ﳄF g4uzyMh+3>F]=aPփ [>snM3Z?U7 !@9w1+w9X:W qg6Ti΄MN\qce ~ pL@xwL5PD4."۷Q/[.cgZtY37?j9,6`Qé>{`&,LXuߝ\.µR(lzaRZ*sSLi4wpH28#o 1PrUlX*Y&P/{I/[ }\8j 7y\ܠ6ULf("jeqHٝwz>i֜D*ݰvվ(Aa&^>0)B!.[B扼q'wgafƧWLv v`8@h2Gّ(]__i{:*t˦jxlmEDc 5ffvn1zFש#L!FZp ڞ.8\ 5 {tmN~mGǹ0Iw2[Ȧ$ 5G:m5LL!H(MɞH#miʌ35U, }=r+9~333->eEbU4vl}!.@#; mʟ~Vx9l_ au}nmV.k}m;hRv+xoM8D:LXyDGԸf`d3My8AlZk^DGg2UJLZ6 `"6q,[{Pk;Զw{8.ws}ZUcvU(TG2tfsY*"F_xF$6qͯxL広mu}Ejؖ”@pk)B"j{h-%`o6넣*=|E-( tݬT\~[<&<߁m|Vf6br_e}8Y"-"*DR 5Gp50|nD>ܸv ##ØCgfFoK:f~QN?~L,$rDb8bW4-1Mۗ S3uz ӷ'Z i$yv's>5fFҌ՚. 0f`|f| `2vWjbBZh3}Uw}zDx;=wȌȈ 32{qi g7j Y-.]oU>N[2:s5IS&t(KpŹOMY̰|-R)xk%ZVt#Y#lk(Wph(zls($ i1k; r ez[3&tƞFtɚ.?,wܺA;V5jm|%{OfXWl~`AĤh|?_Fa7W(9UJb~Nk1XgTܱgVB]G~wT,@R#|HHMu[[[r/`Z_\% wn{lh6:PH~](}m!4LzaBtJ hF?I ?oj#!$xٳDd!Cz{myX$b-d^tATę9O?KDC12q6GPPyWT%f氾BiV>XX5u deOyǤK^VV=X]fsi)ws_lĜˀ^ӿwQM`߼ S(?d¿i/\9$J (VWrXWX:b3)~uKOzvP pcQtɚ 2Yxs9dV 2@YTF DXNd`8݂ӏ[0ZŃGX_'EX\XF6McW`7y"U9Qk&5La^M4Tɪ[[B"b{w(VdD.i펅&MdD=R,bs*yG ;9eB"Hc a%[y>Io3LJ]&(K  8xyRnpy}J %&Zt04R(|~ۡ':'BW"$>ݻN)d$ͽM̧g6|Pֳ_vyz维m&Qu;5 vwP)໏m|Z 7:8}qncci .N|©BC^C?xʠ͙L.JkZ' ̔gRɚqs9dty qhEڟG̪YnY)Y. {d@/cvG"l"mn_^ʌHYCor`TD1% ' E4  @ז+rFBʏٙ4%5dwxzn4'+\=!l(Zxbt\;|3_L_0'W?o1#oo?#84ɭ܄='5G8 9lbP7Ǔ%$1"s. 4W& q?'BX͉&sK.ZDsn%Oۓ3Fl}dY@!\YwNn04ˡ%m4[OSət~sEu."mzD0fe+o }cQr_TPwhْ ;6=`ˍ \-!LS keϼ{ }];cR$<7.hIͪ8{9I9 ,cCF#,gf *̹OE㸘zdrAb7s('{y~./skvE-C]z1KѬK%o`8]Ll@q9̹g4yx<*Xr/x3yv/HwdqD2L2T'[}PKP=u=Ý\yyC)Wq"g/\eXeF_w77']qiu5j/cZ=*H=&>*ϩ'۞&?~DS^쾜sG&y&4O=rߓ:w{{TIM&FjͶ' 9s:{:.WʠΩ.pl&Cs`mdi,:FNΝl\Z' ࣢$:TμThuDL-Tn/Yp'aƷL&\רÐE 6T]eT)U$VA=:M>}vP$$zȐɥT('ڱW\n!iMBᰬ)‘J u HQ WagJb*Gh(XdCN5Lg0(=x[3RU jOV$?V:]0df+_D@ôo\RJRs l<0YׯX8:ZL(W1;3XA6ùT )h.닭B~D9rR.O3V܁ =r"x:o D^(:~k?~7bQVߣnѧOq6J=j]y.gw)ι1 aTITKE4: ?B\n/OhaRN Z>̂LDh(;hSw l`HC6  sj+A8NR=y6gwZ& " yfM0K3 i%E ,*ŊށQ<#G%qP1  tU|ah:O54::F(}GkvxL6)f G泬I5mHۆ!(EsW*Pe0 h-4 3s8LsDX[Y7"Z9cc!eRAZAH"RN"d$<%$\h&b8X3ܺCԪfRUc,Lyt4*FÞy.kNimס lkBzK=։/3[f:yR$%5܇~p==,"ltkqJ?Nt * w?MA<̉` Ȝ]P@zvahco'&޺*$?E X[LT"`uk:33&bNh֒HA [_Z&}l DSHq1wM\;jA"a . f~RX Yq_$MH\E$=37'lOaMeDQe3j_8&xWZHGZհl8}{?tZf 7 ML! <"qzG&H } @@0LY ++d1n"!X~#D*ImsV Bdgb9$ d)~B'OLZV)Jd!k7 X/*q\2?v>[V+Bإ"^X/ו֮bxMH$d"M3YRpԇT*K?;뾪Oaa NNZ uCÖ O@J`|zd2kH'y=(,#}uJMtj|%愈7|?,,,qfǿ#D&33Y\6hx0FF.[qK>śYv/!*7|s(ҿB{[hs=nr$SP378FsK^9KXXm]9*J](~y>k\,6n#@СD?LT #w WAN-^8qڝcnZ\O|sh܃׬ƄO^~0i[դr;+v9A%9oLNI4I+Gq?"ᡦDNs\.3%ԴX!T(ړqVe}multڳ1G:E+Yuv 3aV{E=` 2;yž%} x SM/[&gV#8H4*AK,֎ m|߹EѸr.\fwW3.AݧFD9 PuFؿ!֫614^{9ƧI؇ꮈkMAꖫ&0gc$+B«BeOQn]1(rQe$XԐD"|>c(;ͮ# C,°CA*iKC kqՀ2Ϛ"zdE|ϛ}ҘM_ӹ8{|N'~zh7QhBuOzۮl;j; ?;G asC."MEf1*fhVr׮#30RqTĴ4fc! -8[}czL1=atD/b}c_2$NxOeP\LFJJ+5Sy,"[ujYJK<=i{=O5$3ji0.¾#tPA ff:Exȯ֛ME%vTq>K' " Wͦ3ΨR]P  9*ݳNMr\QWmC=&'?)6.<+py^vH3atP)rWh:Hg2 cdVNɄw @O̬:t"H%s pł[-M˼Jna+> ݪX9-q߷r%if(Қgmm '& s\3j{p.`;d#z}7_}EsKM oc#_Tr$iXI4+{S賧{ BK6K8~Q$).ffMıP$fCGf6 EB4_*Ui,iz .{fX(#^8~ oQ܅"cwg ]5l2F@OZ0BPQ*V)P];<1ģMAssIeDcIs9-z` _W@(V|j3sHDCWwhtCAX"!kD1CY`@Gt |."u``jÏ`i!IA4[(T:X426s.KQ6(c\?203(jXXYB:9n@).dy9Wœ'#ҼȤaeZyAInҟ7]\{ bJ}DhL@s^R"W("gF[>D:\<"Zչ9w_Q`uZ@s@<'ëO0̹>dKrw;\!#\6SZ|c$~-κ(74] ҤKYruӧOlJdN"I~>hb ^ PH Ua%S@֭P|w5Jk?vY:}[_;]tKDZD4DVA";Lj8\jɀp<1$hh_;-ِ̹_Er?__YE8ąn3ɇpK:]83 .S 꽅VT(:R;Ch~;%iG'x{htό>>4 㹌HKI1-n< (Fuf֖ai/q)|6|h@77`umYA7W'v-n7hsԙH+kkiNdŵ:gf;M6k$:dkK$e6o}]X9汲Akі[${fP|HE~#a|)Ϸt[2V7DBu#}*Yf4yN*':n܈M w%)z0YBYupښHxD";TZ @&v-/ @wMҸy&c :8ů?M@;weA4/7JƇַxlȤS8\ܸ&%Jq1.X27+#L""l7yh]'"x !"_fcf)-^zj!ܷM%%l<&eD/G~? 9&2+陵EH`^3/৓1|3I"P)ŋ%Ay: ,uݏ`cη0e+M!n'YʽNce %]tEYO!A.R$Z'\24b%_/ɟGn}~RBP#28L}*?z?YNQ9ɲZKH!{c.Ar31G7j dgg- KuߐvBY 28Q0I֤q|Yo@h V< /"Y4;s٦P ߏVǫ3]1,x!5DxS/l:.hyGr{shn\R)EeK5ʪ3v}/L/Y>ʷq'ƩùZOSBCɸGdgV66eMn G[})2 LP~JtC6't6 4%P+dn${P [}&Ew(5xByA\/(1 ۍ6?6N|!bタ7>$eu2{:$2 (p ?< k_{?}E*mܸq!h$xv."YqkKamDJ05\qp9/b!X\~KV`@Kƴ1I4I4VxnM6Q2WczLdvyfƕ|~u0lt:.x΋g1Z*#p뀐͙.+kYdֿqB^Z4]jޚu芍UsVC]]ڧsI-,,w2=HiYӬm>ӂ\Ǎ1=xA_D(r$Vb'P4Erh'} ۷9Z8N+\d!B29wAшQsA/ x=+U?-f*}i 6֨f2mǟ/--VȇN%ѡsUr-'v"!-1^vřs*B$c,A+͛O/OZwN˚Z"_c>*a\+!|ET޳}g8`h\]%La9h1˭Co836'He>d$$#U|U$s 99պp &{FhErJD46(N~‹#ַa6P)BssViB]\%? 왣/V4ɤQEp*Œ(>U y-=g{](,,*iLNoG]pװ㬗գ8JO*.i!ۤ*'ȡJar]KmN:6/3W8 F2gDCss?9` A&p>Y O ~:SL?v6[Mdbiq DvįZ;!&g?e4|4jM; 2Bo^?mz|..˙ Rh9G#h*\ y̹BrэGY/sxzG+4I+;7^N& .Q斁J7sEftt 9B& WK,HRHY>)Wrr18cB.w%l!r}tnLRkU-%v?hE#+j |aCH'RѦhEuu2f t V{$krzS7\ڋlWi2H"ng %ڃeXF8HA5=}kF)M(9كRN (."z{p1&x%HKcwwxmF8 {+)t լ^J ="i9E],"v@@GȜ/XR(J#]%8=z9uKӗ=یUHiK?:OyAڵJ93p(~ C !҄δF4[ʴ)m6+61Jm#/dCK NB!a"Aklе~~ 7$PS$p(&?0SVo B6B @AI[m<0[ &M,"6!".ʈ'b 002_AvT2B9O"zE,nx6N6Vdv1{680H+ DP1Qrh~)ZW܅P1YRp gɤI5Q#!:/*&fOiu{^uOBķ@F97)d28nI(SV1&zK3DU&:H4(ɍQ-TnЋ9{7wlUYdnKJ t<E˞ KoMk5 s1to1wwS]$CH ;{H%( _qBsЍОb92bPTG\C#_#89Eh4ya"y03局 Fz мZSYZA oqȸחŜPJXY<'`T0 XNb 9 .Hݑ>ق ,KFrMk;Ú[xއ$$cZ ?a6gw^-"8\,mޚ1Xޒp@oRk#K>[iyG]UT1}aUҧxFi2J^BzF vqs=kFTjdc9 t̹䉘xa)pr:F/n0? baEip~@ɒM&EXhݸX^E06+"ҟbQsJɩKR;5,sc+oL.M6-c|Gp w Yf =~n?W}`]:#PnXڸA4( |ܻwo()eLQɞqQW~G,ƙW5_С?ͽ}"^bǙR/IAOz;vmkE:Ndg/l֮䫋VoJŕ#ߗ+CN$rKξ>:Ki<vPpDm\MpH8o8I`uϞ8 =qa0LˡXk5IdbvtJDu}}em+ч@6XUtiaI!ktFJ $3KȦ—<̹RܩǯXl)C<%ìVUGv윫Tc>s yyǟg]׿Zm0zp=pH/4/Rbg}| c3B&+.#3z<.8XF"Gr *87Tk u s6s -& 'Bh`jq7_pU맺05 czL1=U3X& vre$M+L6b 0Xܾ}-RnkHhS⑖ۭto7 eM€nI.i{?#y<'yLڕwI.ˤcULqȡ6lǛ)Y!B/b(?^8stn: B=)T*m4?b/ccLGqy)sC4w$Px~I/ϸC8uM1+em&2 Ku Ǫ7-4N\XvO@[s*$oDf軆Cɭ;rxw7 ,NGZ^ZϺfpZ ]'nufCE9MfFr8U'YUٲʜCCgRaowӖ}{^I^>R.'kvqqTsL2)xD*).,,iߛ~ 6~ǝ_IaTqk+K.ڙY5Dl[ihï%!HW~ @u/miaR(PD,DN|֊{b `bffkY|OhB ߬ѡ5r~[;Ed33'{ զNV0Y6Y(e>os'5uM^ow n8}\@kr˘!eq޻,{XT-\k lI.P dmN12,"^wyc}_sfF1 0ҡ}D2@YD%er;1(;oM_AP !c5:B*ޜ;^CLfoӃLq>wC?dIӏ_Km ,Hps nǺk}2;/}mA7y*Qa4p<~‹={^K mݾ>lU#)Ї2/!3˲.>T.f^`:,$p؋O7#ͱ֥5ZxJ &K"Pi&WVnU2O·ɒVdӘYX*،bafY,X8k17H/`>'Bҕ ! Vk3u%_*O`qq`$G¶Kӓh0-I٦|dOMJ'i>-t"f=0 K N3f­۔ӤE4@h(.yF⨕ s^|eZDD`$Wj J퍄\"%M2$%t89/DcISSW&Je±!dyZ$4HYeaBDn!0"s.냅ZWYwB<acbvMRsiф$F onqs&WUi3Ywnmo&YX5ܻ>6Oˡ8sz4:?"sC*:wy=3V:=`0x9s=HbG2+<&2aB~þzk ~-6V"qcU02d$&RI1pr, v3Bl/ޕ}>E34R`XvuQ+ļy.9X U'ҹSk +xpCH9!ؽɄ] OQ},tpljz"ضe5p Ѣ*>4o~ r\P&`ËtZMծ`t  wjxC2mSz0(os;ƘaIQHg0ot6{LU7T҃TuXvv:[KLQw$2-@GQF7.8|[J`1LNk2DWtgBLO KVh^c' i ZttTEZ8e$c7]"$䘢{5rkiJYIkL9~< >9Nܹ}v/!'@goc1V^G m!K65HF j ޽*=[o=,P9P<\rl!9ɹ]zw]v_/iY"T]8ϮK=ZLf4=NWdêTb^%]CVolR_=FUCaiYW^"/rRxCM **Dd{d3vw^1n-݄= > sdm{KbRfAf/GR`,_0 ɜ{{:c!9UvVIL>ΎΊ4iQsZq O6XbgKҩ(UxGz6LʪFՑ^Ae7d@p yF<a6i:{;c^+oZ-.?9 _֔Sry[c@zWp18q== ayև1&S|I>y͉7(=@]U࣒BIFxMb0*Zdq]<~aey{td\o0<FΏyӽҲU+GPLbaqPHF˔ b$HI6m1% epuO1=B윋Džʭ[:'J^$rWt(&`ǥ8nVh;{,"Γ˙Miczx }ruTx#%Xlؓk{yW}K yKOruxHNȨw[sK$twV&zg>E:ǀ'|,d4 z95g0_/a8WEo;>%9Y-䍨66dR$RbB윪pz K/9<^ҦKtJm^ XŪ&j롯X9IH8dʅMe;1wMt,Ce־)ּbgzyn5$}'WIbyn; ~@jH[ vw¯OrlENU*FpIsEQm|8Ёo.XXn+q)dGCZ%^- hE5VYPc5E "f-X_\BT/JT_@ )GƏtU iy )NkzMthFB1a UQDM?oom_]=O*0Ir` {̹\^S,,Z,*tNIX#Do\?NC7l8B~1 a=XlLπ .Ƚ;p:A#H0Q`Li!_?Ɵ|0"@)؋h7qw .Ӹ'ɭIKyD422G2ŏ [DOk_snqo֏6F74AB3 Vٓ' hu>SPu(ú!$`ӵ>ګ¢ZF"qWmѡ\:\78,bsm'@S){ b-t~[8pLoV_||$ mwM*1O0(GZDo%`7%Y0V0f*:4J]$erAnKZP>>hYsJV@IPu//#8Jlms jن?KY5 Eh0HMe007*oU"UDҤ!1d$dK28|B!Hrh#"2^>[ǒL@C0J#pGcE&(=E 14c$rdAc5aDntexX^(yH c9oF 5l_[X -i6MKZ"Kr+MC{'0E$ӭs_۳a|ӎNO(="'Є̓lTeIsF$4O~7t Oi.K5Ja"WsO'7'9Tֳ&(,upt^\>?x[{#}; D+X޸N&cw~RƼp;l:!#Ɵ.uNB¯8dͫ@o0̹&Mq|vںp݄C$虬/"+8<|JgB,k/[Ya뷰.+זY0aN992LJ66nB&Lݼz=QE F. 6slYX\jwp`1wҷH}{جy/p(iޱ17?+U? a ái=8i]g[-PoHSn[4ymc3aH^n@U]bHV*I̯=AL(9y4̜ C1F~!ڳGxn[eZ+q8νPS939HuكXYbI)Yzd3"9ՙ4xARPm:qM筏)ߒvȑ%"}89=9AyN:`դ6I7Қꚓ769u!cMkvfr #yY1|hyz krh\au{)Ŝ\>~U6=?r9}Ė&_.^y zW^#UC4Iwҹy:y{۷2M'[܌,a+tD\FǠh4F#WdҘX"-%!;*X8FzLZ^~3=ky/WS2|9IϜ[3|b[yjRW:E0g"S6텎b&<\eבCXq9T[Z&zUE0N\Mzc*ozLKO\99:]ɋ'l_dM.TCdIЯbv u4pe]ƳD>i/&p'h0(ޖSx9:( 20v'tx\Hygw/e@BsetiljATYl5ݱ,/tNjQ Κ`y *=XNF}Zp(G$It9 {Qi#y]>flQKG=sEKwH8gnD6eS2W 2/?ݳk*\">xZxo y"Xo p[C' #WH)A<(>@ˢkkp)#)ezJ sN㉴qx羪ܪgDSDžzx/p ^GXF:; SiZ8IM.قh5kE=&YwZm|CF  3NbBL4B FI'%4.ý2 𪪼w-{Ƣ`V-_1sK(0t3V l6v$HDGeU28Xײ.Nyeڬ"a+d7M3amO[؁ _\|­6V)GX(9E\_:y&3WR]^^zX(L@Lj0sG &"Ʃ̹ Zu!뎹9ZÜBcyXL @N si3K!- d E/i6$a(lYu ?B`|UxrA`%M(XFb(XcR*]QAŅPBБD .Ph6j0 DiG h*&9YH҇VudIg1*7-Gv&csn\tEG0=cF׮]C:~xӧuAk5(HHX2|Scǭ*۶z"f,bp&@CA,D̔C AvAOÅ/pCfP氇?08KNvF/P,?JCb.Gʢ,Aɖy47TPPtXq5& 10{ndĔu}ģBs[b\&FNb6ޅ֥R&Cm3Q&|XĒ}U`#ƍ4& G4'Znn!JԢwlτ`;`~ȗJ̌В beB\FS^_fA`J{{k |u.,,Xx/5tN;9sa̹SKokn2)lDFe*.b]3M[^> F_5/xhk%jkN0f1əw]G5pHܡx"EiH-!, @q  JK遂\jYxp=]U]WVVޙqGG#Ȉ:;3#7,ؚ2q !́8nga8֟MOVSryפɆN:%-~EhvRv4H?ų{˼ʍ vBs(A=BOVo\Sxr=ٯ5u^ԱPuQP>`@+8׉2]6T 93 p<L 1AA@ ppiwvۏ+VXqHiܗ̹UhHLavIJ>/%GjMbA wTTm ɸs[[/&N\`YΩ /Dw1cd^ d\o lh`yaq6itZ-8_H|9.`$ύƓ0mq}4NS8+~jnmq 6'|Zg h dJEuGua朔5ZsŚu=\&-~Y7HwBs|dx=ͩ0:`7;p}%[m a8ADϣ-Yk1=$֮Bksc1\cs7/ӤyX|gBQG퓖<mnmCOfd+]2Gx~jxZ1F@\ё.K%'_, 8MN|Z@NR"N&]32߸O`wc˺YãGaI@e ,qI$SUHJI1D !\!6H@7HX9$D)kXVVfSuTbm:tIا&R!@oٲNº^&4_ЛPzp^ˣka*\pF^&*:T ^ߣk'qiq< R0ֵ >x-b&wf%0惁6R$C{ԣs_WLT Ld t- sOwhMT40w'召A￸tdD)I:Uդb u{hVs/ p=#|z㸞]‹QpF'k[3`>%@ui@Kv0s@%Ÿ{~ ~+0`MX@r}^l CvQQ;O.zSWO9|&\b2؃yθx..gX~_ԢE{,@r@m1 RO7'"95!ܐv ?ʱeMy˙>9WT(jQZE <bMXA⧉唬-TORؑ\cOna(NsH qT5*:GԢ܅NI0O [ Et`A<Ō;.~ }&V|f~BQ"`yПn_(; r݀:T\cm_(81%{迚݀3Q $eK62$ .j]9EH鸟ml,QΧ0~+hwLԚm4+dRp, F):wt̍jw]YZ"KSV9H 8j|PF0hi"k1tW ӧX4}.zSe5QV] ( &ιqOB]Y><>F ֓)%^z;[{𒶬5-$ =79);[hM˜@h'| 8o!%[X.}n?jׂ=U[U?2i 3U!Mt@WJc#X B@z T__?"A+LYJ_ر>xܹsG9w{{[;1F-ĩUOSMIOmȖ zo}?&&Z>MCN3^5/ZL!鰺}Js /rLKGklU;Wim-.B~n+.uF{Jti (6~|}E5b&M vtB&Ŧcy łd휶7Xe@Ѩ`VG2E'v&%Tj7c97&K ]zz!1<<2I[0%\(F(uu_<7OIj$)|tjg}6*6m|_{iV ĵ^u=?_>fham GÌ/Ja`RZh,pk@sďox7lG OqQÙs.t„rW^=r ~0域 ]\΍unm#$=SFZ1\g[RAqnQ({N_v6U9703d l외@Mwu2㺭\`o ײzxZ 3n`$X(Fb4 \OFleRnl|]ĺxx諤0{=RruUGG70SJ#̔0W.j%?̏ӷ\\{Xz=QJbmvN *u26ݏ†lBGـgOl LaQ/`x]Us,K!C6/>ĸ~0@|\^E)[ܲhLSگ fW ]2ET]|f1@X?s.9Þ/ 9chsOFax`uՀf9\ N}hL *>Mr0}@9Ç4gz,@ԯ=x\)|+8AQnkd ݏO<֛AJf^-msO8ܓhos07bνr۝Ն`jz>=;~p qvsv'SG(}PJ ?N/ 9>>8|96>p{=1\97K9#=cӾ3~4]_wZtzY9r<Ƿ CfUcd#ϡN]\Sf*SLGY0NQZԞIJ_u2-am|ϹOY7:wx\Ή:$ZԢO S[ qh'=&!AxYGyn 2HF훳f |O b"ILQZԢ6N;iЬzm7tyɒL%oZlg *Z"q^tǷbLX~>p;W bMxOz0 =+KҦGbaޕ?0oKĜ{Q?g'pR.St(y]t |г/:Gպi.ּV'3!wiⳫN5j3tCsCEW $p#uqz蟦h0K*sO(e?zJrff_'2Fc㽗KȤb9tErfI 2\ƚR|=|N۶9[IVvB,;œԱ}) 'Z&D圵^Df!ZI` 07QCPB2ilv_P=aŒeе{Q\@3?UAsBH芵I͟=zA֛ϼs`x.gGnX*{ HqJwm淉2vU+3Y]!d3¤ʆ9[زV{2oӨ1u(%] ZZ\,znϤQu?CY+? ]No;Ʃ:v,\+PWT7%?~YG:`tUI¨;8segJVmӲ+=]4{뼘Ľn#Ni 0snc m.~133O#={sVJDFURWJLSgaֿz+Q*dGbe)7i6x}PhLSydmo<.ayqNh̹R$Wcw:Ua%[.-l~v1;-|fcNNXEF9ϋz"a`gWkf} vHϋ~,vw1CC~#=Cnx}Q.8u8s.'hp_~;;"IЂ0(f@#M{5d eTk{p5-C8̜;@ rV XΗa] 3$jn2loAp)!@έK+9j绱'Bc=< [l3LӒ}ٮbusx5HRybY%06pX^{6-R6#}A({vwBFQ 2ѬU/u)C:Mʻ@ ְP_%#UVs >O} )v٢1Qe@_5چ=*D [Mڟ} _'^w b@JJZ.ٛeqsE [.ڈYX*m22Z]]Gcoxf%? S OׅKiG Jog\;mdoݒ‰jyUq?3X )CpX61,9d|5⺣q\Lzs9/I YK/b-"`S$7|G,._tPGjs{E\30?D w/G|7Jsx7HH-0+s]왳7&h6$M d}zP,Je&ݛ?/M,`-+/]C@n0sn;hѺ(xޟ= \JqIߛi3]VzCsn 3f2<m"y9m\>FӦ% Nbkx79d6g:/&{`7?[B*pΰu`q169)J3Հ}2B0qػ2>1})xTgu/VK b ,IB`$3Wx5ϣ #ޔ9&)Q4e;lƻ~iH&-OiTs+H9:9pU4 b ΓR}C= r8'Aȳ.Vz(@qbz`uGz^C?O^gٺ渌2&3M6s'&<-OF== rwqR)@pČAqca'"jQZ.P uz$5"BNne~˧x~EwnU o v什ϳu1߯ ,ֺ *[OHwh¯ p\[}"AB=>O:D#9w1࿄2E9aŒ$&.x}< gs6'-$ئG?ǔL,Uh]o̥(`1W6؆}9`vp^x5p\4;uY<r0~,",NeܾBURtZ&e8]g 6.}I--o\) )4?3z%K'j<.4)_d\v?|NӁq*tll 2'fp,a}Š!qqY]}o!LlH6LSFһdJj43>El=KR> C{J\_= yOMii30[zB;E֟B,_Ǥjıqt|b[!Pe2MD 9amDJI?d,9qZ4VM,0&OeB{6Z_V+ V6_l| 7sJ &$wJB!&==&ehT lT*bq[\*7J O{{6ef U9Q%GtQ۷Vz'k(/\v}-4DB]xSֻ٘Dѣ>Dz .IuiR&aŋw/RV6-U{s ݾʫ$lOK ~iaYդ.4{rLs?|%&jH$ i6vJB/ֳn`csdM]V2Փ{3+++H̹<%Ys0##33XZ٣=DOZZhXM7#X%K1|ݤPSzBݍno^@%_ 7X"+#R&G%m')J%-  G"H:4}n9L\A_89i+_6Ύw894MZ-:gsm֥I,%+EFsM"%eSYD:i!fY-tYIxy <+sY~innƍ#B6>!)rytHajhl01&*ut: dSy2|Uޠ3Mnl̜@]$`bc41rvb`W.%p"ucH;U[u9IT qOnTdi{HZZs0߼WBL-~/ 3xWk9~ДDu$Ȓ̺2wI"Lυ9k$'` -n fn>:e𹽽Cf _]Upٙ~4avf,,~E{FP&@!VtY?⤿}[oK8b`r\c{]:҂cvJE VB!~Еorby $+F@<,6/l{]17W>_Ɗ7")1& DFz͇6{qIsE :d ?#^F@DLK `g} M3%\jST]9Ʌ:Ǵ0sn.RLK"a@#HLb޲K%8Irpq-h,f,A㛅ecrİBK!~F^Mn4'Ŝ a9g^K`1o3i]O!C}#3 Xt >ـ)S)\Wg}xws.+ f GCbƃPa0!b뿎J%tRds 3::Ej(tͧU2/xDzj}B"AT\0,(7WdK(sO@;İ*ρ6TaMF¡9;~J, \dϟ=MSR}rP)1재0&EHܧd2{ ΅i.̹ap4I!ȷ]erTaZ`6KPNy EdwݎId-~3 |\tN8r\ϱf  05 eĬP?r@{\cft<ߛ8Ɓ7Ni!1+i^IuU@kM `X|Z<}1Y*@߹p:t"gLLO#Tqhop2lA3Tj /''9EafQX4Y@b)S3w]unbQz}7+ Zǝ|l& YTHYƊLLɏy R3tw%.hUċ32y0paOc>DH8=dfz9Ӑg%Gj8JY9_>u |Zs.!r| c.ip9Ǎd;QZԢOըMnLRG+.iQMԢ=T?:j"#Á+Kәn%)r!g&5 }cjF QC\7#g9,ds'j箅ʯ< 0d9ܼ4{ v*C_CRx0'_xPϥNpWXp= ?SgXxS$ӑ3%2P*}1hu-P8 V8[m^ir(sv{ M^W>nSD>cٶr5o=PPN+xՅ5h9DzJ3qI=kYMZ\ ͙曈,>בq͈ UG@j&~C`, $ml:F^-w$)I2lf=/ߟn{N 7t?CDbf4mڙFhW̻`] @xzvLݗ IF#)2 He:EC*Ste~*DFQk٤(fK04}ĞՆklĔzBI}Xazdn ̜;3jU]..! fS# O>z|qB.6(#m޾ 5db('ut1\[X"^[J5b\./.㕛/cwJ|M|n}^k ?܄oSI2YEe[1$|$=a<׆EmT&KKX}Jlv sE)$J[[[h XMs>мkԚ:`WE27l1QVO66qOcB'Ut9wq.Kj_gquyʸ̳jCjX{\EZo1oGT&,6 ȤsSz'*HAVeT4mhqaB&;)è̹WE-?:O~Rh\.1zf%e{nw+mZ\" rWVk`{m_{ࡕ¿s#ϩ~j\S㵶Mkk-/>{;}8 8r8+&Σ©!;ppn7sЄhL3P$k ͘gF\kZ]sy:˔$J9SLř6V,._&E 7y>CKhA%kɸ y{Y @ΝuE";Pc2kCHՕ e94+JҴ^3ȧ[]$H$>sGϫKllD#%AC{>r(ox7KϭƁJ"e[s1ƛ8bSa g4޼B{v] #@Ngܜ伝=l?&vx#@{X`lW~ =nuU:#B ƹ<w&b}(̹|IMc K/ubtɧ|D,jOwCa%vJen~fd+ԃZez\b}qUD*˹Msbc9V `SQl15fPTh>ċ~| K0I@;/#{Xu|n#pfU}J]?VH2MbA, S)Ԍ_Db$)dh~ 8bd8i*sQyj:nj a*5<˹[-d43ɩ!f%86=8 M) * 7DPf%gg\o|l`I"WG*~8:-/ <l;QPylaӄTC7%Jl2Tu\4Pa's;_BF@Y ]kwM@-aLᬾ2F \dX`]0h i3Nwqm"=ggB,፸Yr;(}'N>974b$.6ih9i.&zww< ylqA<-k*jljJPȻu"ufld +*&|&4=ج32'9c8(%{ǭM6qsV!E-j/zS &==(/55L pԓF e"W.´BD)q|~;(c~ۨ5-43q r^E)&.|ӄaՇح!/!JW87O)l@s߃Ćɔ(#:lnZH0'c1]Jx[x{%rԛnl\n0c2`a} \|/_Y((#ۢ8֞<"`!Fw4[HeHX1x3o!KF(̹ &7Ѳ44l#"MD#T!FzŠo^~;A"n;+wK64r9jWyv1!g.ԠG&gX[Y>qL৮+Gp{{{B<3mcƩ/;fբ{}Yσ )zdDq9q*ob.NyE%h I$ǶȺIpk\YtPC~,d5e|e3%ܼq[kklԱ3$[PP7hq]ZX3y, [6Y9̐բxth9H$H\^oeɂ4304b[E<|!U1b l(DW$\q{Ti&(45 1Mk^S&$5ozʥc=5l&Z/N3Yz$٘vۻ}S&M3U3{`$R&Pi3,H]dϮ١. ԡ:jXNS~?3ǏRLKlGe6^b\Nx|0&#|*阝YÅޮ4\ rl/OմGGwT΢ۈݗf C00#3sJ aO OkByiNN=UguhNF!؅ ~^c2fhIa0E*yղ{\ZP)-a{ZIdyd0CtIhnI•%+Mx}9-sfxL]E(XpUcaDI#V}J&/cᷛM%8WT>wbEb`R"`eӼdtP ' *9 GƤ0+Kx1wF%[ )g>kc1xcoM%0WHv)AT= 4oy2|4'_(cV*UѥSI<~$Zd e,t|Vx}&OUwzNNQ;[px5 U} U8,\f/=vXµgsd e3ׄod`)~EojJC\] @PɁ4UǸS92q,,>j 􈫈wRқ:y%*zNzkC<ÄPwر'-0?e;x 6&zO}RL"Vp ɱ<{zZ0SXozӳiޅGvBViF VJ9%6 VA(5~41Sb$Oeߣ '%ۉZ^%EIr_ld}9ݏ ĭwV5EELӺ, `;_ћu~Z[&d=C3|o:#&? _{8e.OSd0;ڵ?P[ ! .jx<IkE[N^ edwTR$J65F7Z%MqeZʍ l"K"tr\94$>OA}'!i`_%LjYaAO!Yxd-qajS9Ƅ6Pd=};gxlU9W?揭{ `6xcL=C1%s?h}fMFBrLUU$I |+H1oop˟YB&O6ǦjayB"8t0`եmV*7{cqHCS阇+HkڱT\5GcwWƼX*`ArJdJ8s@أ4._S" 'gdV nG?-G&g2hy8tέ4^iBzhyRm<b tݵ`{Y]v1=.BɊ Qz'[>T}OCk^OIQh2=Q" "G[s3=ŒNVNWŞhL>{H}G1!Ӷʤ$OkYo!Au:W#T6B@kG Fl b.(88u٣Ʊcҩ"W)~zm>I|{.^JM%>;)x܋k[r)6&atJl `d 2J ,:|W>0AI5i*YYEe=tN`bcN-뇆<(BAp?g9zD_٩ZouSbqin$/4s% -MAm{LkkI֑A Sb17>GEnͽ*+̭+?+wT=5\؏7aB"8)~-S`̧V[K֬ks8;/l H~.Ơ g (|h׾ړu^^N%ׇ;_ʻ[|HF˹.`STd:z,Mh`7w&ݬ0[.5AkWP,'&Im#y[kyXŐNg$9\APwI`+AB/ Y~Fd q-,b6#1*^dilTIFti.]feBj?i|q)ӱ&qaeE&^AU/g 4BL g|I/|#0R0- 7/'=9ke+WB9h"}*\j|' mzJr6"j;;; {\xRD@w6 3;D:lvưzB¹XT!*<'c޲x3j6N [{uk"o:<0 ۷7$@B{_,RY & wu@mod< ,,OS~L8=R?7dt$H|;~qԞ>aay!( cl>q{:gP77 P߷k̹~KXiY;w , 3}/؇א5&Xв۸XN笵jH>sjvLg ?wwf {XdWA^Gi;dJqzߛ.KrTmaϭy7^Eq̹S]-Z+x?ÈɎt]GlP<:u|aϿK*& VaJ~| X A Xx YxUG}VS}WcxuZK >;xn-`g"47M :5lm %B_R#Xo۵G038&~ +4^ۏWa4Mlh-;^.uU"ydg +>ߘk&{6i]sH]uZ#J< /^8C#1LM䇏_C>.t" %Gks1E0+Gask3~dl Ϭ;;;h@zƁ9WCwd #W@,ܥ%H -vx*+G ŒfΝ(ΠY@5 gjwCO"Yq$=)aҸ~*W0Cڬmbk!ڴVf]@K0Gj YT݃i{җT\=XQU)P!ːlIWik0$p e,.ͣg}@(?YjRe wRx+ODHmv ^Sdv+ X3P5u\(ӁIW:E ;~ץ{lF^޴ꛯca8s.yRE^CJSW<$EZ)!I)!ۻOie̼#WnS?X|dc|* 絲A]ý&8ɧjk>I銍w$Taj^YF1|H m=BN6,**߽Zgs9j ±}isi }g"r<.Dj5hc`$ ]ـOQPc{qo Yl&\B钅A`so2) kbF6j!Y+\'+kuvhгb{?)?bamNYdDCI8 ˮMTC4GFmF2\2Nc,]qLL|"(D+z۸컛&[lƓ)o=Z7H'Q![I T(1AP .)MĒHL8X52 v]kw}94RPjg4f.Y!~ QpJq k ofMʜ;xy2 {xӑ!t 1kog]\ָ>$Hb+s:"\7*^~xJ;I O\Oa5667e+|hǜ*|K2 $97qhxA:fm#1s.? {]쬓Q" (tQ5OӘ#4 tI(@>SDa}RL<9UBcK8Gf^4/2f,j'ŕϊk0Yϖ|Kݪd6rk 0LHąݮYfFP&DYX/pakZ]3!gU'I0r $ӈi MU=UڽdbY]Yx[l1Mqo_a$WoԅL ´dP?reiܗmF#qMir֋sql6 p5U]z z?r`\z ^gm3e0xkkw 7U 6wpWޚ!W |fQE1>e9:{8̾+3)_638_;2MbkVGCaһ/(]'02ǰ GyuòG69tr`)9 +rNj YB7,~w}^{,CRdQTdYBd+Ap$0 l 0bBbȈF` (r#JLoU]}[꽪ΰU{BzS~tCgwN7`Wup7q4dʹ+;7fјu45ma;_poDoFh6P5HcC>J d'Cynl-mpL9VK0V0;6 Eu8mH$'%̹Ge9 S$pHK$תh0;a tm8Z&M}ODf{mhzBQ  ͈eNYl5"; b{sCp!0h7QX4<3a]W0tK$FR^&2,k5Vc<78تzi)pA "lBMHfA,ҿGGGr.bh>1AM43-1~2`k}Z0T*)>h6psM%:zi_7/9׽`Ŧ(|_G0=nM6Ǥsp己_ )qZ7`.GL֞ v Ȗs ] в/)X/w5n("=w?,`j/hZN@B^(-9J2~$31N3@TBcu&'ps3Uh TKKCu ϙ@]ˀAqD3-"B.b{c f5+&|ia%FG@> FcV]\΀nLN a+{CJh 5/} Hfv n/ǣ>BV&R1`imS0ꪉ03A{HR+zlJ"8-ZUu1t͠+X,d*!Zu*-|:Wl*biJ`aaZe]Ѯ"=eeddQ(UHEX.xs09Z6n gVmC!溠6g{2 Ssـ&\.+]!c&x4P si'-=~wAqqDoZcZN~Y2FIYCy[h:`*:aYGՈ>m!Edo r%#~6!Pg8ddR)mmmq}ޜsZ"J.?Ӽo"s.4|khOMs(U3}Ȣ!z4ufjҲ]6SK )XJcS5aAwvPFe+fP}?[[GX$G?!p ^gS#Ch-\p #tl(h϶6Q%AH.! C7ih y[Z&"YxE˚2E Hͯ`}]ū_G*f nz-ԤysQoE#w[|kkI= R(Li[yHC8 Lr\uR*D*!DX -rRDXNo-2>c$H K,N:B8 A\t|.ֽ F4qHFoc$9xګy68pT婸@y[4EMڶ# |PpbbgG` h{:t&aTl/@ g΅IEQALʔcccz >̹[vsOН^z!cc{"u(48Xb}O:Y1Bc&F3DA<#6<*),BbJq4F"CP8$bnm;S4sy;f5`!@ٸ{Q̪`QV뢖*DG" JEuD,R,#wɵ4Ƙ=6]x[KlDX_Q|m1 :@,*L&-|L| AJl:\EL֠6f*2N A\8Ӭ@JEı,H-Q,m*lQlL 0sMN{Z8ex̹v? A}#CcYq{YFC{3WDm@gxH;cUyWfpj+7sf-fk`<3*oG] ,̌9ly t 8p2spIK \_fxz@W],Ķ%`yIճVg;Ϗ N8"(q4e8 mN{ Vsz̽-:n*^׫xTrSn6;&Szq|2')XNpT3kwc幥k'!;0*T2 /V{0hUܝ| ȭ )sAJBX|ao 7-/а|ڞS.u%k>v=|, @s49,SA"32a/;4tg EDt}Z݁pcOWve@ `9ؕǭݦr0(1qs7^oĞ׼EތFVʥ:\w~?tR N_>"s ¾Ouu|HrK"ECs[\ù0iZJo5z}~4aᡵzV- ̌<9W$X;;;pFI~4M2Jynn\n" ~[V ; 7@&S:saRHs [d½ZYXTEE}@.$×ʹpl>% [w0bPS˿¯nN6<&1_uO̊t큫*~QR{|x\-!J<:Bnp Ͷk lovy ^,Sk-!.D:sIyV.a34:\x̀5j S54F2i5ţ p&s0+32 c\^~GG1IvyE|b +ECazoFGi5>6!Lk3q=Ra9DowGxzZuhoC3UA4չBs7c< X\UY-UxWr!  `2hs3JObqFy;,@X 5g^x*4wiݚt@Ŝ̞X*2|9MߋU ۫ 6A*šg6zuZtJx_xxwc$26vwOf%:'M=A.tu8s.ǿ;bh_]{\cx0paf %pH㥘Zrnchm8'N&k`sksDⶳ ')(YRՕ-TAO ΀1@`E?V7LH-l糈IEB(UޖŠ^R]{Xu_̹ AB^ZJ8ӱIg?x[]A R<F̌N -ud*H]ǝIjM(mZ}1}l٭uA|\aaiōi_cs J kPM4jQheW_fέjǶ%$>/x3OН^z!φ6Shֱ!K &]?V\<~+?.<8bpd[rkOZGY291j1|JGHe}c ˜X>E"lj\KUEb^LC[ f6kJ\m G ,E!h7Hcx?E^afk 0CZ_Cޢ93F*B$⑈_Hcu_AAf* C[[zYBQLeFYQs8@ޥߍ`]ӱvynCkU}r, -NQE?~#AID`onXx{Lõ_ԇܒA$h v6E4[E''/b䵝̹1uyK/:z{rgu).#ȐryLwfa uѽ^t3 \^pY.z,n٪{qGw©)ŻoUNOǤ岭 {H6K"6xOj !]AC8Nx~pIn<˜Q@ׅ8L_n;t& >) En]PEOQ6ӣb<uR_.9pߕk]QBg`lg} Ƿ9nZK],d_l6Ad}͜rvz7ve vܘ|74Nf^q]|t"˹Y/59~|R^|e#͋~߃߯(u.R;Ӽs`9ξo, M''$>yKII"E.>I2@Ex \ΡxD)R\ 8A3e T> ^or ǸBz})aKrNb҈ ~ R=ZkOQԱ <8Lqt(~Ey.E唃uT."[/w3]3I\WUjݟĪ=BqU2567hVsmA; bh7@[p3g+5TDELQی T& 豴9z]dXņ>6<3YǹHr 嚂O)0r&@36njiC9iTs8$DeKiOS'anh@Y Z̜.]DX%f(ֿl5Df8A@dJ͠e[me2DmL0v-!Ҵ]}~H,0U+vͼ3Atk?n+!F_?D97@֡gdScnP|9X)_clXE[pժ(dou\s Fc{0:MOWaIG|n`<LL{ s/梗ao<)ݭ6@>Z'Obml<@'8w_C=>ztxZELs "}nemfw&R9^YE/Khno Nh?Ioi2 7 crFGhO}ϐxdƤs 1X4gixσKj.vI>FuNgS8-H#;5zsSi{: V_;hUrX(c|bD 4B#hJȖJȤSbޖ)\k(;^c8zwF,J8dYZuEcPIA%K}I\‘ւ f?k u{.tD-FvQ{; L3,(*,Lt.(Q Ø䌞O}nFmMp͛6oE3 :W8؎=^pץ!I.1RP 5DnOM9s^!_#<^lPy(@cW`~=$s_bϋ5ht(@K"QOl{ʁ|^ 6.W[荆MWidžrZH(t/"8l]Tu*Ϊ_'{!1o7sj;+IΙQ.6T{g^x%鑃ip]Lnrs^sZ9/ o5;?)-; RrZXh\kùpn8Iz)r!þ9~O~ p=?nRH"*Hi_З>KZ \N)E)WMJ02,j֔6s Y$ۼ͢qXpϣzAVgsp# \I UAk B3X{nXGJ9Epį{yf(B4OC{;x#EL6 gcUD2+xoHHtT%2 kVZJ@<~4-L1_`έ0;: ΩhGE'X^/$p9CwV,mc#i8.{D H3~Awb^&z϶ $pge4[P,bd wcQ΋7gf[,b-CLd ->>:NgB@-, h\+JG#nZݲEG'4QO#K Y_Yƒ-ZnYm"?o֝pj9Z]N6Mв O+xVPC*μrf}cgG"xV9ފfs PRxOqk&F#ÙU5"GXȘ`z[< ۻ[&WFDÜr|monMOcukʰ FZOQe3ẃm`\DEG~ LN/Xh~ ɉ9k-8D($-H d1w$42&Jx7x2F r7g5h1N ;ۻPBqWL$ŶUv `dr33~@㇏x4*4]C F$h ^ݻ(vH%H&"dXlF$dPˡ=cn%d:G%h P)2&)dg.qjEb)[AjD{(b" 7vK&1$['G3oZ3Muyl%P袂c f>tˎE>?|º^F,ImSfɩª@ˊte5|>:+ IlAGdps[?3'dV̥~߅K@ 6 >OGp#c屘+PkH LBgr:SE3a"{irUAz]z)[fws97 r8h~Q#IRg^O DhxY,=(<\79$p.L-r1tu| _u)k!FtXOUVw> /̡V-#EqkF[pA&LuH]ʹ +fn# cw @$]JHSb1l&u8F4鞗I!0s>z4 V[*%܄-$-NUE.ɤ>zB aQqff& {biuRo "'%<^\ dRQze΍i1|=QC!W׾ /y9BіvܟrXS-԰(ǺsU$")XyR$qOW19s yMry7lh4oLR O?G4vM!3+H> E:W"Aʥ\,bi!)4K4P &Kem69U<[\&:*; zOZk芣cc,4Zuۈ(׳bns_F^o)A Rf۫FQ&6y Өzᎅ/=.A2mHc(L"ldv$hX!A&0j^#R2HMZ[[ё _jaۧxy\抎ǏB pڂ+äf Tֶb{vbr,bˊE*)X4EZWŭ b&"4Ϲ)XSFA"0qzL**nn-Ww(Ij X/xy//+AdL{z;\Jcy}-]ݙɜDb3ZSf#ۓKlԜ(f ̸<> ~~Rбa92dmcɜObq[O19c[t9~Z<KQCTAztLTu9tq 1lzppL.{Um[Ƹ\d ;B>O*G٦R)8z+WdI9.d\lϳqHkB@7.wR ^ϩ紮 &s0Xɏ^j.>;0uōsDi] r*㭦ȁϏE`ZuZU2>Nb傝tarR 9{Zc=4|dνb]߻X;\!<8b y7SR\\ ^0{`(ОgjG8w7T9Q;] ?%|\(6]T׍כr΀9 -|ҼHC+xK9[^"׉cNդ $š'1r;rw<ߛ'-cWz Ds[ܔ3Y=O<α#YV/=_ϰrX8f뢉}xv~wIeeM嬑 b"E)WY\P3cױdϕ"En- Ӧ?XCSv|gss.뽟cͰst^CINs,&)R\P 1rFѰ9dii 7(Cl:31f+<޳bQ=dBp}psȭ:sNۍ TfX M׼IEvOQ$rAM>fX+P84P?!m&@)k>#`mer9fgt~֙ef(=Y/LaE"XvoA\-aVV\ _;̹|HuϔbB ew` Sj&S1xIƿ ܏7ׂקbJ̹XYO,Mcu/s ^̢RSiPp\jz++HFE?&AC Mm`޼{cn"jx7nI(3knn:>y'S V,FG&:xlܻJ*)<}6֟ӂ" Off#H-|xom kϰ{br2nassH.&; B1a0!:_1?aMgܮ\w3F2Hc$5TMLL"bШl#j6&bPČnp௠OX:)@:3Z./`л5*S~)MdFG'IX+x٨Xctlb@P:V@ "KNmUxdsH%}c; ͭ\[dYV=nqRc$Gz,|mguh6^\@mfO)ۈSnn` p(s`; Xݥw]ŝcgƀÏ#pѝOǯ~Xj8mf=,܁uH61D<ɜ+Sl,>[_H ,]LR"#qczB1YT'i7MJETnD0W^G$a"IOX% [7mRbnmbfr ?w7nb+;7_} *ֲu/ⳟCb:/,[[X_[CT [k7 *X{Mf8T!oǏ~,ƵF% CF& ;,&2EdlwRѠZ4Q̹&'ˌѼ žsc+] mY PңK.kk/TMn8w)5/i-Tg)̌`ztJxUb,|gsM] 2{z^~境/*8>2W0q[ L?FUU-/-L~(Xf\von 傈pE׌:1l.Zr N \#z!Vz +H" 3B! nzRׯ]C& hBC&Y")RPMR>p z"&g&*ȗsc{(d20[@ wJ,I߇h$J$Ш55ؤؘOgЬV`*APF$GfijڝDL7oB1Uǧ x!soFZPG95NtuḲX"(]PlT  dV[pv_BbЦNzaϡL`FVc{N̹NߌM=)5@%g[& 0Wx]_CT?, bWfStg%Z0JJs#qj5T6JkB7#zgc*0⊁*J4Fq1gnWIOs}mv ݄^t,P)RH"e  …Slj$p̪K"E)R!8Fΐmpb YFY8&KsZ-5z?x`i \H"Ea T~:lH 8%PFtx&l#tuK,\CYmQrc\(v#>zpn'7\ݫ1r#wB "\.?s[^~ ePE)R\tv!Yccu>wP~oCxuA412'x` Mekǭ?dAu<MN"b7" ۆm3n"?W 7MAapuR)\vM|8ů&aaK5k \H"Eü p Z 45wJ((Kxp##IV퇏L#NrycSS@RşG$4 <V Z[X 0[A8f5pj|cPfދC/m>~:aaa<.;;;(H儓O \$p>sqP q$; /j5t 8i{qz"=lb"]S5>#4-+ӟcFB@r{ !9[ҵijt 7zCTp o">{)"ǯ\=݋k :ztj13hxo@*> \dI'qb`‘Gm-u 㘗>S?e5 0 4jUI1'#H򘘿+J`sSɷL:Vz:PӷIwe(f`)H {@ jqK#M j"ZZRx ' ]kv0FnA=k)ef:ׂ9#'uUrp^g,ÉdP[nѵ68ON8!:FǬ}Aqi(2C:wWE+r~\w'#OJ_ߋ_Mq(21ɹq*WфQQ%Po:H0:Qq6u|#/%|O-|mθRT 6@ؠ )jv@I; 񿅣\Lyf p#pbI(_ۈBuQ57fj>^Q62=35=={ciI_3Mz6O]A'XIMm|K%\'F?)RH\ZK/$2d # ՝m6-cT1 X,`<ݷŷ~ᔅō6aNM2(; OC Dw o=DЂ cY$ @ %@W1?r@#('t>-J? Bo(vj~8QmJ'J76}_R٤gVr ݙRtgt FNd v1,}FLVZC+b$F/X9{drra=e'i^ƶ꺰W9n7{s͛7z]lAXQD`"T) +Rfc_ZWU$:D<ƟpL"zDb; /*}g1#"q]E]|0!HAao N\={8ޱ]1-dc8VƱC<#"E)R88Ν;‚1TKX a2ꬌK9;66*>aF12=:ULN"E)C.+Z/6q9L|M)RH"'zE)RH"DM E)RHE)RH"E)RH"E.RH"E)H"E)RH"E)RHE)RH"E)RH"E \H"E)H"E)RH"E)RH")RH"E)RH"EA#eMoIENDB` PNG  IHDR^&90tEXtSoftwareAdobe ImageReadyqe<!iTXtXML:com.adobe.xmp !nIDATx}\Wu޴ҪY,ȽM/DŽӒ?tBHb$$$?cƀq&w[wJۧk?7+͵v||߹瞫!PkVk3ojZͮS=Yzש|{5喤1slo؍ظǯr7P@3m'RV)٪vu _ȹI>Rr|j9S=fꯦ+|nrvxq7gD3! k53djlJx_{rovFwոܚÿ {}/˴yw,RwQ$j9amU ˠxE-GH1gTE\LPPfIAEl#Ns{ԿM}ǾsZ 4Ǭ!H>ϕ| =H}?V*`W׌1P&p`?LUި(x"o#B7ΣNoTBaOPJfb^;fl_QL ~g8³&+#CF؃(ߡ> Eɑ}`J#1b#eq2>K7JoOVTj9ɟR ; TD@ae ? ʭUfOk7]&E|7x@\'8f5z6ePUu~Q#1Mk)EljzBQǝNF^>IEL> }CVjy62z',[u_U[ q2CI'wErp3ˋ/y>\Zy 4oyQr&ïq*hщn#FP8Mr|ʏ@@ƏkfXg3iLǮe %Z-pHw?C b'Ya&*ɁӧR>(IrٚJrhf1Ũb9#S @AzEUmEK؏|!y5==2s.F@@4)+Zc^` ɞ~2LI²E9|£3l*`W!Q.1╪ *!' ?xk%j܇ g) $QV|p$wQbϯ"kzz9J= >Fw dĚ8cA"Bp0}  065L  |#|S⒫7o`Lxϧ_Z4'OC?g  AB]!GjL/*LP.2p&Aq Dω"&FIq 8RN+ H[D+ 8_J=K/)Kl׶Df1a@PؓhUSVQ e$iz @RK*4y0~ 2|ˆł7'tk0QvB Lng]|OUЌ$X_WU^>+:j%C%Jgr`=#üЭ0bvTC5DF2dJZH:fwE̤\WZ촢gRG.j…w2Gg$`aT8MƼ:rx &#gRw3EU\3Sӄzf΁H 7zYxwB  :>辐'xc10h*C9frP3S4dZg7>3m2UExѣU%tzkQ"DAjEzr@=8{"e 94Ac'f6響i^*0S,VEN.JR=9)#+1 }_:O@ AQZcZUr眽$P?Q9W[9*˙9 _I#o'jT">sx _Ԧ.9&GK`,?+Ռpo` F1FDLXpXR̓ OOn8ːKF Eqķ a5 p Pj|j Ѵ9GP̟>>0)$̙RG\]." @/͓&-"PԄd}+"|w|j(kE3 ,.Y2R`׫g1 rt!S.Ѻhnت2EV Օ\E]SwJ2qr7<h - Jô}Qhs0=Pyr͆ J[,^AgU/9(0/ wlx%Hǣwx<H ga<}h8kvoyL L6@`aTRGJ?v^Il!%K!cuԉ+bπj([%PҼ%dH3{6^:z0PKS8F@ Cb@XSQvCNH)r%܎W@}DGI\5zu\@HOI*0]"^/yU9Fva؎fX1=Au9e$ v8< 6=FE-2zFfVdvfV!G|${`;S|%GGpUؑ\j۠pZjƬN1_0a&XB.#+a`yd%} x=ڣwuw2'e: .Ksf’8.xC36#6kɕlNX+ h$ b2uDLDS] =_Hwd=~= i=\o~8 t(hVM1D@Oa?L<ޘFKCZf]4H;J2-QۂtMjN >=i5?30AE֨Ti;WFμy7@|H ifnUCӔW&2@d0J60 ['rXA8{cKX d`!ʥ*<>*A cqzfNŒ!+nV"6I0 S4񚮀v v6tJ(hBLNIqF $` csӉ:`*8-FKʄq&Ѓ mߝU.D?d $dZ5pPN*N6GNZ5_zIɌ\ eD#0tiJIfgдNK*/&/LL\ Mi0 Jx#̋ 2p#'O/Za ]dJt<@n6 ܡupA\7O msˡ7+mGEYJm_9iԬxQ&0.CEF41:fBB x) ;H`E`<@`j>Q02=_/O(15,%syWB; d,f5 59fq>U< xړ)>3&guLsѳ#u >@ zc! NM54jff`_gt? ɕ;BFN7S!bĹ^\ {p=ĕtdT )(bp 4Ԥ?je{t!G6 >|͢(hS\7ٷ LS{- :ZH3␰$͡A=hw}>MO$RI$9>}7sF0VJ. [>/<9+GL$}kQ6\"vl^{qa,hkk1L.-Xt̼; -C."М=pB@S =AAZQ>x0тmH#7Ԉ7O~߻}ϩÝ \CAz1@^&&Z4N:uʻFӪ>3o-L*7* OseE 4&{C-9Fd^,EC}z_ˤ鑉&QD$3HW.nlUr ӀN{@/ `S_kK1Ð^k#L@<܃Oܰ-1 ѻeҺilH,gW.(OF^D,P1w= #bD{c3W5A$ь֔2va3 T {5iw|) Al$YpHM0ecsމ<:dakW`uK^W\ܾf7/?W~[.rgY Pqoй`)21tj?-(x Z/ x cD-b/Q u=JomM{ŀaЏ`oz0yAd;u{e$H =Q;honaO B%" o'yc7@є'94: gVAqh\xBy2,S(nQ!r6KO%1%x43cM[xm йw%xןSbt|22M |#cȔ ~dwC]+"΂cu "vsUg5O3v0yTHW9I3@O31~(WI {d@@-'jA|0R EM"잽( o(|!StXXl :WE1Qw,E]"߃7+epOށG14γpfH&ox{GIN0Uˑ)Q^5:e 4?l1ψuN߅X 7G gӨ6zD''jn qdi%Ű^b2;F4ː}m><ߝöF D3vV 7[ņŪ\tiԑGb@ҊXa^ (nL)%߳ yz#C`1qNI,7`8Xw Mף\w{NB"@/ &FOKp8 K4:>xG>Egt9ыJ#r9+G*P*fP<%ټϯي_rh<T \ﲋᇯ?Gᴵ7-b?w P(gnhU{~3GӢ=XgfzvB/!eh0 [$$#xC7Yk)4᧑)F]6vt=]ϋƬJ )ԻItpƀ7Ik.?2;4O#x[@ƥE8wR,|ݲT`>%Ǥo:u ɢw\hc-!x{F`%&rSzb\Y" 7P;6G ATt.N˥Cw`7{G:Jdr?v <(kM 2{~]:Ͱ/A#p-}^t͸cntՎT}#(JPZK VMljUSJ%H$=t:64uŸQ^^we2!Uշi}av`(5*O?5cO#:^B@hٺy?b6 ѻ0v|-~ Oӫ+nqj_}x hhVٵw~SuXUYQU\KG U邴uch`}O {)beϕzqi۸m|Y2390ʍ/w=0Վ} Ex^¿\Q9tk0#{[/?zn4?p)Hi9yuFv}K~N#feނ7+Ȇ$=R$U\=#圔QY?͟D u m_f p_cfntSw wJq8`r 5 IN!ʡ ^C$m+d@% nlq1.>vXRA^F;3A3KLҒ G?s `R!Wk, #'WԌwvr2:f0`گ(!a;!uSg`ӟ!EDQ^ 8M빗 r|5s"r}oYv$0iS|\ĜCP(`O*3?KtVo:=AYv*#arEbU<$N.ݤ|mq6q *+', ܠr ~n;%c|W'5{aF@- Ja1MF&=ádIӬhT7Ѥty7طylHׂ˒ =0r{ Hu~.MUi?BF2 RÌ8U?8(c𚫁bQ~@+uC/4zl%xro8?S+; ,ǰ+/J޸ U]'S$O߇^r|^6Ck>Vc(!ϤE#wB̘7 _1C4čCrO\]~z{O4_?֗Ff)ΐ%4U<<#к. #oSDr{@Y?1,m-Jޏ|o7θ+o ZgGV-x~\$:ڌ LMxGoNf\XS0X\p6T">"uix'?=#hG3'}|zr:8!Zyj遂Gr i-Kע`{xGQj]:QBBWб<99[y0]x.Z2]̪ Ȥ`?S f2(\y%Mtܡa((N0>}:΍WX%h~JûA~oJ~1?>5! o~{VxmgC(.QDWDcKꛚg36ԧrrKGיIE 2ɾ@Oy(l. :<-B.\q`xg/Y뮼.[]D9ޓib*q,UYETj,3Rsd"k6FpfȂ| "a5k3pbY3.%F3}kS#$n݆ۭ{}׉eݪ"(d46q5^.b@a2LO(i[/ƅ]H" _"Vpg~EqZǿȏnwVxl?sėP4zپ4N"/0Ydd/z>,P֍Ni>Ra?=Yv[zu-?4q E,ZЉgI'Tt , IظʩQ݃ oDwd4]hhO^emr*fzS,%BB{3?;';~~{/.ل&kfPn1d]=DYWk7w!jHqO~hJѵ@n`x4TC9_&d{'jfZ6mOTDCs;Q6 YfdF5+'T{I|=pwb?yi2KٴsfyN}Qٵxɍ@E0Y/:.=ַyo.mįxg;/y0`J aE vJ;0X@pa4󐶋?BmQG9^k ~w]wx7"10iй(5's4|;BwQ/o8M%|*˿5p" ԧA×o.&ƓO<ϯy~D|ĢHS0x?mXw+/|fHd_?S6 ^ۚ*tu͵v,yN맢hB2ο_u nmc{PԌ};.?QC`(" eTnaq]\шx^Zd NPP*3y}N"ή3lx 7KLUek ~ȫlK]7lƫnƪ ay.K1xvQowlOLlf9@tANKM s'P\o"h*S*ڒ#\rr _O<_zwn![2Cے-kL%pZѮPF#pxԉ+91N-p]{ֻk@^M૝_]rJej9Οt2)e# ݉`ށ\|pףal(#=:Svi/cqv(4b&FF4:6d @$; yԛ`gl4ۻ$X)VTMq|$^cd@o:/_޺6ž qV,jEsg %WRPU"Z2y1>l ;^ixމMpfP>N^7.8{Cr4i?@))!Ga\qѯXɖ&\(*"rgr$DdAuHNBxI3儁$Lh}ԽZf\4d(Ϻ%ՑNn 9jё7=ۇ] 2riLS!htB 7 rs(Ҁ9]ASi<) cǃbPzB=Ȍ({ DsWځIL0 =S4ș_N'cQRQ>Nݘ8t@zB8phrʫƷ@h% mu̐d"Q?׀ŗ?j@]3E+ y{28ݤd+F(_JD]>Wyqzx}xi~2@M݇cp:IvCݳ3̐ba}z*/jr8&v*չ+ۨ{=9=A_=tܹG &~UlYg!^0u2ppї+G#jyq}dar@,3/A;& Gq i<*׋O uxu0J"toG7zFYB8! e=+(Z,航;:k OoJ@d*g:6eT<Ǻ|.e/畫TC\JNLE\ED\( +nަuM,sü.2hދz#=뭙zaD=y4b4V^^Ro[x4=^W+y'4"T#re(yXq@^TH"*~T츀qT#>8/C1a OtM&h4}kaQ߰5ILL҄+f\'uCQ=˯bnD<]2[cuw IJ٠`IYx;1+rPFjUՏhMrQ3[ਈ} _?K2oETȀb0P >(YD >{I› *\XC%JZ>Wx(/-͖Md}TQ-3I$u{qMPȆ5m0:p֬iT 5$>BZ# ۏ0n+7^@' Wh0}ǃG`R1T{<+B)C  $>ߗo P1D屧qivЎ0ewWvoV<$^E3y;%' U(諈]Lj}fMnWmb 4G랉ٕWQ|qd$mij}x얀/$'#y3t7Dʁ[z !R"4^,bvl- ,w8L%5Fv0tIV(z3=,FYk'4r+` Nə E}t:b1B[)q|HЏ1tI ]MM`ay"܈o7݂aw]xG 0E/ ZƮdoӦ]Xi*i97WBv>rbv2sM"y|4xdшi4IRw ֌pE8HEo*v{|xH 9- )BvE.Zhc .Ѽ)A8!|^8Z̪txj`/{y2>΃7־Gƙv$(~RzKy,.BypE5;ũwjGrRS5 oZ ZdF4M!ulTKh\^a�I=t<6@ S]4/lA!!) *T#F͉qha~Q3ъw]5)ŒG쨇^arCX#Cz~lKFZ(Sn$8˸DFޘF1\IZQODWkdj ,|r!o:$9bxpe$[:LN QŵB1JWq hIǡcx&ݼMupy\3Y'C=f5МA#$Ñ0h L:iD2;ThE?Vsp+z`X6et=,7!Es0#U/CO#jfYno!,T _NDzr柋K4)CtbM9[߃腃`3CySoBHOK!N9K5x6.7"á`*Dn׍,O#4QA `t$u^Ƌ8a 49^|9h:GlyvzyZ^b#& AqJzeb0~mö~ïY[AJbXwq~{Mrd8Z|ʂwP|b:h$y2՘8'&*ʡ5&j9 y= FE>p4VBҺ\p'^>ndK8 RT<9h#M=,lzȨ3Uf,΄ކwn{iteI(d+.?nylItvu]?Xuֿr:Q ]wB\4IxN.L.4o0BwQGK4# 4c6.UNj+Z #ʝq|4OcAû)ʿC4X-A' V9Ao?S=Z5uV7Cȩڍ9 UQ8⺏S8X6`bF@puBIR3%2]ꈑ5&nDHUV:f:~sI)=BOC^lOۮ7:#O[jj4 2ykP?B겆hǓ"Ociȵl?}ӌB%$[>6yiz<[GTu8BmR_9D D=TFr(LzO^-f=?74.ϡ32WIѐU"#OGn͠qG)L %%hFYWx~!n&_,CM$/200$$@_oJHD k$@ j8&*3)pT kۑK@e@ezVr|Mu"Ѵ40Z Q(rG*W`I1Nh^bF'l矴Mɳe_:^0,pP cJu(8#{l4~U pUiUi 9I7);2Y+PjJ]wIρ A- ʹqI~șEfgeA)/۩4: 4yO& ' aA랭 Eιx10<>3|?W8-i&^3>B a ^`l7f~WI` %7i;OkoP ۾A%)]VrdPع>83y^tHK#m+Z*Giƴ[>s1ywO0㮨!])::9٣.FWe.N,$Y >bD&(sD;kynu4~'=(to=4jl?Z&E}5h2\#<2 g p0I5JIϩ-}"lٕ= 7ԋkphXTHONTvGN3\`{ CQ=Ͻ5}ř 4#kXBԧ_5jP 9Hwo4j+I@;ZbSsL&[FO6. .ИV'Yz77XR3/^u^%W9b铓08kKQwb2*;37tҷsYQ3i$ICےl[D)z j Hhl$86=?Џt6fφH yigOx6|"#2Ci| c(_k,I?5#!)s3(٥o%q6.T5!=FN=#HA,c05Y+9L NŽr/'PL뎐Ob"o|׵ b3V-bq 0tn0NOR^t"!/.ZBbJ^EN9dw6űM61/%u C_%BrkX0W&ddض|  x.^e~Qo#~o̳ƴ=!\LbK>lkBgVrU4xZ?t653ѠTDeb)Sv{ @P BOq]18OZK WO";JSZ7a ~d),Y$5ݪ$`gIKJ^_7n`NEgϡlBɚ}9Alſel^{ҏNBVbجe;i 3/%"(eCݎM!pŀpΫ0H yj҆]MaѠ=7 |TB24ژYJ9#ӈˆ(V,. "▬BLۣt'B,7ftXˈdIҋ1HGsތzQLIHDYi|00$BAk"J䛚'uӓ8.{î) zb 4mFs!JYwt G pF5`a6'&&fcab!blPaq 3XtuDEk7s" 1V\r6 bۮPI%t|=i^8{H,fZKNKQCS^J~-f+dh:vIwܐHCtMz$))UugzZsc"ZGkf@r+='CF,ϺY(43DY[4ɪ?1uXF1+epvKӰf p@: 3Ul.Wt1hx7C*ϒa7' K9' LN ͥ_WkyoۅvuONeQǖN&v]W[C/_6j 9 5߂w5t’J&UGcf&B[5i"Eśd9c[qؚT)C"?zH2H0H=A-Yf_y-P_}u9_}#0ӨVI0M)hHEiX Bνe="3 ޸H{f]I-^Io:3osRHs=uώLk:}B`:H#`T+SjTIywL$&{iϯ|%Q{(tdչQ).m 1ٖ+ D"k(ЁsZ=E47m$~ЄHl˛BQ[lc7v8@ ]܊XH0.h}@GquW7,18}lLFs31$;NV&L!K(},LGLX']BrMAbt OѮeez}C6$(ydyfM&Tv}~9gf 8bKѭŠe۫Ciϕa$x~ )?ވ?@ʇi4IQ!7XQ<[*)IPeQz{$,wޗF}iĢ>׭JPQIz*S>ࢶ(q  :\a"f ^P>Tjt,T$w$F%;bk` ƀw#.0K@$k*+V0F?{1 X~OIy.f#1c`ct5}3|+dܭ*HƐ쯺DWO[ fF-}lR>YZ[H#Kzzve + OwM 71+L1I4c[fs"%MJPBG$\h(8Ū]Kbг8&HՀ/L'N%gbL71x14`Fx=24q3)Tu8e@!h5 .7{rb[h&sB^IKYYdTXbF?`{N'7n΍:ZR 4 ԋh?٥F "3h%\9W%sGy\A$eZ_:*LV2`/zw-#K%Jp}~X[^Өl7:z؇gpH:2+ VBU`[x>.軀~KIX'a n,†PCUHZf^ ^ϘVmaTO:S {ѹ|.zR,5/;x%՘ Ӹ#|oh9jGv/ō0Xv;Y[sA}B3[;Br52PtN"saf~ⓥO iyg&=ϼi$+gldIV+i^ mg^Gd:)qPt%2~x7No9+3_KÊ9.;&kh$:7!nԐ:rFkҺq/O rH_MORvhjgxS* r38? juMǪ6\9 mZni,q hhCX}8Rܛb)' !(NC%RX hA{P{6o 69KatbǨsN.imG4CNݫ<&T v4ljL%3Zz" pIlN@dä͉,ۍ95HZSFvlu yML)8c}04#]' 'g Pt>"J,f kZ1͟S&_ _ (յiIVI2̉ek75Gꌏ#IInߣ~ }NAJb8(1HVJ-T׸Y;-aQ$=fj0|JFaJUwől<`1AM^A9Z?U2lô@v{C^!ȱLW u|-L6u Qmz=A:.mE˯erM)dKϰ/% é'54%-D,@ ua.i&}4^=4buMe6^@Na-1ULn{,f{g33y)at-h{3(ss۴6 M6ީw.wLjG&8c4:~)tźbSXb%v72/ĺtYeuצ hEY&CD0#svRuz.z6ofj&b63nMcftM5X淛 Yxbu&cRmZc%m*ƵB_bz ;̤vvnCTwk{9hu_.ӝD n\c2f(]86S4_5/]-"^ƜuN^=41lS%^I4 20R$vP53bl b:b/3=S{t,i9mbJ ^FO]N&}M S94,%qxm/ iMGU}~TPTB '9HBZkAOyb^N] DA,ndcW3DttQ®Cg L"U2auݓN 'Vl@K MۅTΞQj/a<;.L{'eь-i--DNpgiJfM}R]%0uO w l:h綋\pZlvjl# bq( }u`坅Ɲvz \q9 .Cgyb%Kz+4ܚ|:.{u.aIthWdIvwMfhDpF(] qY^Ldς޼džJɸV3c9]IDS#4/_@ 4J'@e3@^Ӵ4n3v}!@6NB.NաrLkB!'x&Il'U]4IrAxTUir${18\q9hZ6XǏPJg4&6_ ib6b4ol4C}wti͢W]A֧g'LóNGT즶~y[< LKѓiȚآh:h> .M;̃-g&:|5KBd&ŕY' E3||h艌g]4ݹB;kda{X΂Vu 3uZS-l_6f!yƂQ_@%mh픨^ cMցmlnX<-.Dti 9a&Z2jFoaZ= WOڑQ8h><?}xOC22y& ypfeAm.m#_?~LwmC>1`BAþLH/ƛaF&G>B˲hxQ4TXjoS|+-=#JJR$K7B<Gf8D6yi P7̾MP J>)3LrOGϬ{pMYaE8)&X|z-G0M@ ;z&cs xi?$?i9 ANL + GzI3K (TKG{@g_ Zj#5=bc A҂hXz4rX ,b ( C`J |Cی#hy.ذ]z욥{)L؈f!! <+bdi$8ý /?a Rk#Il!y@tP#\u?lҶ_=9+[~ Q#mfa#$#,m'is&b5QW FaD+CԼnڣx_>C6:zW⹅g!8uJ{Cxuc̕,?loF(lL$2K o"7/Ll a& 2. 1y9u! #}FbSJ΄K2ko4=_E.uX7asf{>灦`1 [}9=\@#&g kIyA'[!q |DDbeu=TbF +peM !4"c6)$>M.⠰ȼEѶG=PےN7"-4S{p Lo߹kҖV- 5b˗ܦ.؀;hyf>/DaN7HƑ˒(ppOEoRGC:H/Y baҳ k s"}摽3~BR!ߏC}ͧ@c}h{Ҹ$5L|~rΘz.KxpGif![n,hM0 3A_6C!p5aMU4 -I7EyAH2Ht Ŭ"MlτBHs0.Wb %%0" 0{ ؀N;wi"Yw,9DcY5D"Z 1AH&0D`h1֌ؼiz0<4d2iQX;jr6M#%0HaqOm*1FC'[`âoF `EN!j B= v#,ցS:ev lJ#lƖ {оh$&}$ ) `: b VL1 cso /2hV =yW26afFdQp116.|ԓ'%  vЀ7I~JA$`2|-a>Hdӭ>qSl[gׇ!,SנҨU'yMw<'Av>ds)Mue?HgP\\YDW{nاA`Ӊ?=݃.Iu@` `#kdYjJ[q[/?q 33+TO7ׯƍm)Ђ]>S9lKo+Ug8g!ԏ~@ufy}'ir<ߕkJdq s)v< {Hz5Ad]{vl-XE&ՅKۂm_員|l}*gG*k2c4/ԯo6NC]! 9i8uHjؗ5 ``#NBDs/S?z]` G&c}Sxv N]ә: { jNcgv6˪x8t6gE0gHHK57q",Wej.8  LGG,+kѾ=Xo$-klOՌ~d0]OEZrl$m,l rtj*dz]A-f:Q[YesɃ}VTE֔'mxjkѐ 2q&gkjY4 KFPe^Ggq! cZHR8nz%P!MDLkW)KJB♻Y5YCKzz=:<=<Џ4Ԣ)r^9ΆVXV~}Q`L6/Mxmk9߯!;$mM.S{K:(hm,ο{!)$E}x cpTl:`W)cדJ<\1^FĈk s<5I0goxWZgb(WX 0,WejBW`7{}bM܂&B"4ŸyaO<^GDB6-vtו-;HRi"ih'Ui9"ھc)Lv\X9JEG7'G_;bs%ECsZәP@3Yڿa V(qh]tjjվkMe۪qKW,pY>z{w }@F/ I)r2TȜGA44Tub@uͲfϦq~3ca5[(Jq_m5u8rBs`ZLv?|ctv|N6DBN7ꗍ%ViN[Gf3LB9+e(G2+ۨROgug )ꛨKw4כ5^mZ˨Wf6R(;=sН:i<O 'n&H#jL:7Ҿw6#f2[~.nZցe=Tn# ¸>i\BYmjfwsMq@L‰e'jg$5 y#_rJS~?6ܾݠBJb{,+ 18cLb1HS֭}nى9z[}xP3dsYRe4DclOapcƚFʲylqjF̒z0F$jLc?Q|NdHZщӲnh%1j=2ivw#d 5LH mrޯ`^ į#Nd?;^$Vq^J&< t6+t~͏H$LPiډtJ1kXWo*\$4v$|0X5&bT,&HV8J"YPct^k1C!Ӱ ˫,hZ;jM5ތz"M6ZŅ^mŗ+Ō 0Y8F*:U\f\Rԯ~ŨGP3_ I4SpQwtU& W0 nq2^ύ# EjT2ON5O7XP1p~ISCs6ij)X79o+^oI:4b(_k$(b[+)F1ixa{j{c־nd{rmIN.0Z{z8UeM^iv{멟9j6,nR)"'eي3nN  ό2Bo9'p ֳ8Ql|H688P(phxx:j'4Mx5lߣEt <@1n>D?VD*àiokc༕>Wxwzt2A~VKuMPb@Q) A6ovNWߑ.5$ş)7;;o({dhw)FNa,씙L&I\Sns6W[/tVkz=-n8 7[9pzmeUrd6,~i_Qj {Ӕ׏fwgS`}a EwD:J:o CBbGm*?זڼ'1lYTۧ5O}2L\nH(|rV0`rUc#PEV hqzm=f i#M8RX(2r9$3?*q<3xh;;>BHgK"_Ӯ2~g@3͘kRH1tct|*L3hoװ8Ǟ5iи =JrBA{1ڞN4 fY*hK5fֵzͽ \l(,3.y}l=4̳{ώFg59ws~k`ME8x:nkOZ&?9 + qȮdCX*e@,>]V)]O?Māiotl*̿ٷ113b[IDiҩd5f#+X,'jT#ɐhs_uA;]{@zKŵ彴b ![ĪbSwvA\z%3[%0]B=ٮlq~q "ĂUfiVϯf~Y:&]pcN`d2N܏Y͚A?Yk; 4ӌbkNx{f+lkȤ3#zI<JQ]r΂7 ߷pt\!t\L,:Ov('Ge-,1BM ( mWiDb+'l།^Yv Ӕ|34XL#X.2l l΋bV?i3.E4WbkSHaxxd᳂{N+ =VDL'M~> (*SX,j`~~-d34l(䅥p*2GNb}.)W 3N3v+ Oe=XiaьE,ޗ!\) 4+j&ΈL3p D3=E=fbϤQ,S˨@'/{4C-|1?47.]gAXרRdƠd?KoU;^2e$i$,t p +^}[ i[HkAgS%HpA'a-h[(LаšE}v͵'WD聊l6SYf#<( Lw*hd~aUJy4(۠m3xq=p^@sLDZqlz{OHJE4{7@ź Ha8sL7c9/}\jC@p[.Ͱz4r Jggȡ5BZ[ !Nq"AӪHZ# f7S " \yٹ vU6rMϊSq1辶ӌ6A[!zzs~]$Ck?s1L953&hrrVx%ݘ=#^sئAClAz; 7muܼlf3x,8\Y(]yTMǹ^Ϯ9~:jy_s,c1~"\ïG)e&g fAiPݯƪj(z $[wcen"+&MhiiF0,_& l7mtPYg+1hB + vm9iz\S7LËv!=4К_YffL YG& l-à1s'ѢG XGѠ|[ƘAU++6 qr >,@ϳ~^/@+iWiyթ ֈLpCCCN4T(MQ"qJϱO2@SS3xBܳg$ M^99rM!'Ȓ xi[^kMXw=0B*үsbZAr<ٵƍreFO74Rq-,k\3kv'-edTmن67>|no%z1 4/! {v![R5ill}},]h"e9l_>:}%4Ʀkx\9ĠX AlMxG(6NMWKPoL!{6B.ݏHl!"{ ڤ^6GQm T*< le9z6:Gy28D/P+8kEpuO0qR ~f o'oWUlٲY>}O&G-56re +!&,tLOqၦIY D==Bq$ɿ(p!]j0y20X} 8BܲgU%dj[F.-!+EQz:n3}PlCWW:@45}\Eg:y, !it)Nq4uk2ͭ}CsgݜshXPg2b`!Ѵx>a[F57m(Ee^Oѣݬwvv>`E܎jSqT$#~ihơdhu$>#Hb+'T,D[ Kb@pZZZ#e ./rvNHUܿΥ& C͛d,YDNF:7 ZkuC'؆t*TQSHg[./VґN}|hĥpaWpwH 0+zN86m$z3eGz,ڞ:Z2mY銜H36Lkʆx &̱!JX J-7Db \ 04K5Ek-kmϹAOO@`ŬdK)hR1[‹~at򦺺'%c:%jI%@K400Ui|ē|̧ i]ш 㐡̐PG*qY76|Y%JföeH0"(.^*tn({,_<>HB]#+OǦ>I <|qWm]hdٛ K{׾Kt_#Kt@35ۅ~c^S%-WfHt*[ >F\rD: Qab^.a+6ur4r Fl̙׎zN9j:Uqv.n//> ShgQ(.髰gSvcEoꜥ_Kcay]e^|# ;;YqȻOYg'/>:唷 enY L *dilh,n'f:= ļ0UϭM7^K=վ).Kxgs.-Ha)|XӑZ8KBOP!{!mSy{[;hjɧ;+k*? 7?z@ǧ"Hc =8?ͭزyw\'8̣ƾ ]t 'F"`8-:L1lܰQ|Gp5Zw<|h a& j{?}#pxuϹ˴6J89"D4{_ g:ECKc R8ms7o<L<~/0aŊyѬA8 w B9|iSd;t-9 ֏x 0mmmBsű 6h_=~L3~oy {z7:*.#N{V470nM|Ӹbew?OjOK~wkCp;?vضϜv\sUmXa TFw2F"~e}?? \>M[ެwt >9WvYL1M'Ǿiv6C 6 \@iiI,nj'{Ec;W^SC_}8ԥbF/Q㌷/:Ehn0n_{sx[pϣvމϜm }>e8X'_85W_i'Vgjٜy]v8_cDسi]@|3f߸\8kr⚟?%'-Ƙ훶z]/vP3[l_jmmoqy?fkFLJYֈ;Z삣}}HN7,>u3r}l }އ[W2N((tfb-">u#B@<;DbX˿uZq#^-M=Cן0Sl0Do|xগpWQ8 ~:22gp\J~8sc3ġb~0G.U ᄳ%?J\"5C1L2!;@3''D<5賝b[{K  p`QJ'gY1g_=If'sB;3XIπq,9EPWԻ9bYww7|@xc4"~|r/_J`Kɟ?O*Vw3&Ym'P?r"Oqٜ)`#_;n+"?c̷+pOHWh&x/g8= O}SE#E?x;nsھUq9V/IY#Co5,jq*芫ǚ5}HkY-{A3:/i (Ri]6h~h>pf՝ߞG;o:_X>#NC{hM'V[Int-{F:z[{N-a:ufMkBSS#VKZ{bDBAy|{LLB"7D ϑDn%;y~{a R1H2q&o`ߟgu^k`sAՔFos' wBAν(yNFrabrpҽszW>}gZ7d绰E*T]Z뷸52-0XfrܪMb%GtUhCa{0Y(Q sDtu@ 0s^lÔ_H{z93˄%-=酁`}HR(l)5su[SKOQk^=yUs*p2vޮ~ope³}>1=\Z}.uWLN+Kxk^- M&IDATx$y&eUW{7vݬb p"!H B0(](hB!I;L0PI8u$h;x] vwvwvw[}ө&p (o3-י^ &" |PO4(>?/4Rd/[|6u-N^ &}}[|S&x6OU`r+я{ h'mFx#WBɭBD&oG*Zmz4*4o-@vUOD_CNm(DMjtʉVM4iI{k9㉢TWPݏ|<viҤD&5َӌ+ywS:e5iI4<ډJB\*ҤIk&4=T/qP4i0Ѥ)xΉAh?GK&:DX& &4]+.M4i0Ѥ隴sIMLK& &4]+iS&ML4i:D4i`I56uiҤDk%]Q& &4vE& &4iD& &4pD&M\ 52Suj|{T;&$|>iĕډ<_$B1;1 s{͇; |:D <4Vҹ嵕4M1ŖO^>Dq]ҵNyhd=TA>G,^B*/P|Qmsbmsұq"4AkekII-_o;q glI&ʙ +XqPPo!0EʡPcjg!$\ Mrm~? ?5h`FC$э}=77[f>`bdbYk PHOJqt1 pPߵ@sOHDk0o;I&;=^iFIIfǥAbp{H=72P3Ͼ90_l6N@Gw0oa0=aCJ"޾v01b@>RJCMlw$3ZY#JSiZN4lTu$^gY,f #ǫ(`ŮdkIS& &c9n+4!3D:n⯬ɶ  "*O r\Ew~ M6~лL prWU;q\| ~ܗ h4 kn^={96qc[#F<^z#&w%E%Mt`'> o!{>Ok'F}k"+ gx#0y_VsYC\F:?gcFV xxṧa /8ZFi,=*az^=€16M 416tgBOҤ M$~c ku~̧wa${6ǀ>`gИ95>+ kc Da x@Bq2~@# v5h`_4Ř_z9@ZEV$V=:,)̀8LM.rgᅗu7E'3*[b{ cn~_7&2c ́ &XM6va<؏cmUZǬ$l$Xp<IOtd b}<=XC0]5[lݙl*ylo3kPsM {<ֶZ+k{([/-}8iv-q-yiHr%&l p{"X@}nZ8\#w UkZJq;qg8 dLc06rV GQn`wk y3=ʖ8yzj˳LwdaQgBg@ٺQ&7pFI0A8Dek6Vmz;kLXbvyL@=WRhT_Z^3\i"mT5,[ vLP40לV/`jvUb@%uKN1MgJdve6z_@PfZ6Ӝf`ya-\yy͑Msf 4967jD, \̲IlmoSث݉Fm=)ưڰ_Dg~ 6g^蕕eP{{{\5f50(qrxtJ'{nHcV;YZ +5B@GekhIwpqmA8_{jv m$u L^XY FǤf X3ۉN2q5`.f4d2sq]w/ `h/}rskϲ4٢Vo'KY)XzɈ1>G>!8x8t2oo\\?#ynq3q{cg#d!{rٞ۶~Q5.~{k?^MnI$G ?_8&~?{OcO♖ǪJLrHDZIb]|kWOuhҤd ׌m&9MpdOlDV# q1 s'C)[uw\81& &˴}607A=gL>UXB{!? Vp_eW߫JKVNHV WdZ9&i{I\3)!) 9!9 -:ɶ zV֡k:GxK5Фdmln7~9U6f):55S<87&Lv%]+ر$ybzC@$H{i\L*/E6QCtgyz*y'`<7Ѥ_IBw6Oڂ$3IE 4[\[9x֧.;nYl"{ȡg9,x>s^٤lmɨ֤3D}/[gIIќ`J10@d?Ѓ7f~'oE~`+g0 ©P]hL;O{ɯ+Gt8σ L3݄R+I$+X΁mʹDs>>J=y)m},)Z Pȍ4hؠ@(Xi:n.xڲQ`38RqJŽ{ 'S ML` eLZLs+j?"ڼm^yҙJvz]PBcFRM\2{\- xs]$ƽ,C{ ]DGP&-/o, %_X.; :[ȯp&~iK[/ath'9;[(2WM7t}(j5Фd4ϥ/. OnLc tm"o~~%Z)ozU`^}㌻7 Q03'~^@Ϟ'.{;.!h(!-f$PB#[5i`ldCil/yg{viۯk#4 Gɦ*("+q |o50)iF5xr䨤;\n{d p wػ%iU,H2n(X|]F7oj~45$)9,6%|(2!Ue_=Z;P/(@7јF8jݭM|W}Qc@j1*[ pbamil`1|OKz1+Jr>E|WDw^)qlf6ή3ɷGZ(gLE5D50foc{Ĉꖢ>5Gʕw_QfJh s˄j5OV|g{P!դDWI>zqv`BW/ǟxJ XN nJZLz=cMJ/2Md;vZ^wKH\ydy?=|m,ק2a1P1 Y[(k-ŷ9loy^*x꼅p Ogx\E^1a6^; sk&7j|±{ҏ. - SKna5S%FzErxxXIIFdԙ&~#s/In poc66Do3>['Nw7ewG*HG3ƺW6vJ)~] xsL2u \־xƴOC^FKq> ߚgIQ5wxfPA/!E YN4hɀI+/.?)L"30n$`A"oGo9G{9?+ gx{}J!MmG)Z ϼTXaEzE2ښT0& &o3DmF RD>LDJ7z1jBD!Ȩ4G;pB"~/[q&ВsQ"P 7EsC9d%_ ShҤ$4jb!"Y%qRbS/"֔JU@pIդI* \bҞR"SY>u(\>>ȅx-|]LK\URq"ش$Uok9yV{Jk$4LBGW4zAK Px٤4mS5/ b**}+Ebbæ5aDr 4i0;>^ws<$ !qzF!Lh& &e9ڟdHS>o9P*D R3A7^qs$:FژY7ɘ뺮ǸxIm&xш̥IdorRk*Hgo4%.T6F䥗]pvdeGf_2-D(,l"f]HX9GqtpsAgdII8NrUhDC0GSIna Jm$VTo5Z$S.^.>W7;eW{Ad$# 04'1c«O#4 pp>U>m@'y@N"~йrF' GAj*]oZ2{)_H\>ML&7Ae1O/'MMz;Fݽ=ΠZ9zAƽߋ>]Mz4<a֋yS䈛S.se=2 Y9RFO0 rr}f>*"eQGN Z騍:AJnZDCR9׊IɁ\Q܇"]U F,Rۿb'O;OFFRv$y+eYʋ|4 vA'ʈ:C|oQY\oPZ g?44:*n 8yJiesk4.GIPF2QkE.?raGz؎u'DR8aiVx,Ic!_& &oG(P%z'ۺN=.aL%[\>cC ajDEo{8ىxWن.t" F{^ N޿YvӘZ66qS܄U*`xvFƤenBL28T#Q_ >^37DtCK=;ٞYeI4s˨NTԤZí-No|h5[(hfJ [yL3iҰ [i:d?x$ <M0JP77lt fc+GU{0g5 os_z>~ V&4+.;>lTb;Z^Z֕+谵,o^2h'eZB  iJ4-=6nV M֌$gXCTUj3h44@mCݳ^& &cێu?nt羌34L1<5VqG^Y1U9e/HvJi K4 >HԲ/^VN4i0Nx$P;~'=DZلHf3?X (e^GT&Ѿz~&23\$b{;O;?) xn]Zex!w{RDshvtS8m \h`s;m<3pݎv8o`!F.a;Abg|tLɁYCd`f4d\3+ I#Nt\<_}]|9C?`*OF4T=$wL9 yњ۝'A-eRŰ~/[M#ϔ\W,b2)ax I Rtʝ'D$3R4i00s%i -r7^|#zg5|0$Lyt 9wޱJk-5!ޞW(Io'=%Gi w479t:l|Q̪T txML&LƘd}~ ^v\-`mwy&-#7:."< cxRǎ ȧNZ+44r1+Hᶮe/LijThʶ-T:h{LDowǫǪdɨpcFJFmID 4YܶlT`h n_l_%̤)N̲:~‘1yFُ$ÅUBN`D9'╾ǎr>5$WTs;hҤ5-n7Dw;߄نpID^XQ$gBvƓ"GL8HHIZMp?T=YuvUG방 U?؜hBjh`rx07πaMClsS2'>:s#7*Ӫ1dy,[&t&@Mq<آ^t|d7fY8y?RݗǍ^(AhH殈F'.V)QTDҁuO 0X >zA4&MLƫ(7Gvȗ+T0 aq9TSh6{8zrY49p͢iY)%"H4i)~ $ ,A4t̿Y  VԥR*4'ƅs-r6~"+1`?X) 3M%VbS _Pm` aj( B1sv_p-i)<8( ku֤IIV*Ib3p:N:cGfsuVa GQ.nXdWj_ r1b΃Rox_>4SK2 77̸p]~p |>i>hեĒ{ՄF5|]VW@l/:ʅѾ2 #KC`n8>&đ;Ŀ)GϩtoҘ"vU peq >kK)uUz| &*LpG I"u,ެ,6t?mp~GQ3cܾ@@5zh`r}MxpX9aY27#77/u\ڼ7*('"v?~\p|ldM4 cwk]!+ivCTcTPSw Q#HdƜ:AΓM$1Hʾn$j.6& &o&u%o!͊͹6zK\QN9O2q ­e3@b|y﹫& mg/w8W@```SQA.țr$R7Ѐ%Nf%AQ>Τ=ڳƏFͭѤIdzhgi0Y=/sо`Ԧ:6-E5\0&Z'u]Mvkk\u|m \mpuBr9XNVSA@J'gڟя&ǣ*;*%ʟ2(ĚML Gp{tmE9HlmnR}= Lz&B(rMۿEѯFKRo2ƒT$7u 1 qms\`jaW@ED|)c۹ĘLv{D,K3^$ӡe#g.:WQ}-YKӱ4iX٤~4i0(]'0h9;[kbUWNu R>v5|TڳzෑߕJT @T%\76Ϙ?P_ +$ @Ld6Cz-^-;¬o +i݀4s)kʼפ5i09 Brf+.X*14+Wm}i+5fQv늾YeδɰWu n)PO:J|Z6Ew#pH8q dfvixFż #^?q\ބHbh^"u FHoRmE3NѤ)ְ&Τ{k`2{t… ni2ii)'V>oanj"c@H*%vP`tٜ윖yU/; 4n$`AҌs|7rIIW1~ɏzuu"jI:QgPa3rTq ^ϓi*Q\f^[/f5f]YGRDwk]B =W8&(N+/ȴ;Ob+ǎ07=]vy"pk~ ˷߇.½&6&hrAe:{8jQVD+f U(q3|չyFGC5V]FTyzhRP"y&&cwHDk`%#C~{;b܇3cjs\'︝inqLC,PkTMet6h|EpZ!o03oUJlḶO!Z,!l{mX`5uPhNOɮ[6Pe4$ 4 ܽ0(uCR'P z#ܹ $aN90BDlߊ#= S$& &rCÚ(/7 ag%8A^T&l|?,7p}<3DTQ5&P!Z_|nqYzMOq7T@پKGVk`(qsS<j{hY~X^1{E|dNC5|BitU A&WMqhI$>gVܬ|>'T* G$`9ZFboFzAiW_IHh߅4o>U3 }s_wc^"cF]i;7ؘ/<,Nu7[W0t F}+h 34瑷p! "IH,oKDɏBdFLF%W5.M Ǒfh& &Cv{{V"wwܙp [m[0gO~AZT2&$VOg/樐B4y1r~L扐vb1.Ϡ8?a@hX(`cci/%T-EPOc ؖrSH3gtcUs^DW'Nv'Q"֋0-// 2MTi&]4TcWwfp%` vc=aME9x!@h>yP{GU@9:_X!Ax74Vw?JHDƈ́DwZ ֤d",ZɐI;c]ZZ*p߃"ͦ(1b{uғeVbdJ .KK"d$EPG(&x/1 TxK0D0ݒ2Iz~@hKB&Kܒ:E* U/9](~-)TA2|^'6ŠxbkvИM%4L'gF#Kr {ɦqtwQ 7Νð9Ǵ8ͼ] 8VLuxkc OݾndX9"*$JHƁy2-xՌ]<'mTQw )Gb vۄJ_f~|ϓyc4j`)ƈ᡼JY؇z Q[9QwKC#B,O 4r*i<>vtkt]ֶocu*'w[C&^_cf`Nȣe 10S6WZ(s( V.nDt/b2 W)ؘ]ag@1]4P/œQL\!gh$.{=RJ#倌zP`C{L!.AIɤ;ݍQ^D<-NBInty%PЄxq!3(/{:66w8.ۯl1-bfsvV' coP.U߻n c}wWƀi4,xސ36{0ޅ. ح(3@{85゜n>rII?n[l'a&D4i0I5s%V8'ƒ?Tv;Yn>{"3zcJ8x`;];/b> alxQ \jԡ0'نB(eb&5´0QeXY^#|+AWW„E0e1l?'oubsDY A<]ak:5cc[4^M"!bH_qm| °"NBMѱ:FYIJ5D**eŇCʘi"I8s`f2/އbZO]w?>'FCNsZhul,.ͻυyA/e<>&7YRrH"Vivd?hho80 іTaϑ>ҬbC=iXSr#HAQF|]&am" # R"FEGZz *ISj 3&ML&V籴ԫ,Ѡ?U3#^joM)lO :1&"DHj.\>~\ة c9^E8Ց(Ɠ;áP\)F4xW3\}&a  BsisN}VHzH9Rפd"rAl7n8~=BQ­gb|%Ȱk32<3.[ OR8$ȁ0j9r>ͤPqk2 IYmADHT^6xQf!ER6P EP0 +:,*5y 3{8%ypЇCdI%n$HJX30;7oDϡ EH)t& &x'4 ^ZdzzʭvT ٸ jXX Wa7ѡy,Uz|s98G$Sh,W]7_D9PdQ]g`yStæ U$r׺_1 RY4i0&.ey5U~A{|.O~JdrR pJ B2X3LjKfàOK* pe{GcTL9Qrvw"5V$=QDH֦<ߍ6B]).j|>+o%rv| &zHl. 6sB4i0I _XE T`Baz/$Osb^{/Q->pU-Z;ί!,u׹eH-lRKV3m'Ƥc1Fqu j=Ұ5F[*H1BD;U'uKLƒz0M+ $e3ei*ѤdB3k{~ 4o+em;>w!V!_D]/hbZ/)}I|=|sMQl^QLOmbe}״*)[&R]%DP7Ia\/!>NrI1.ilIIFaFCH#sETKbhm56V(;\,⩳-<ȣV4-Ͱ=)+Ksfgܾ4Aw]4zai&#fPHYAu` ~M먔+]E.N yZKsw(LbEwii!b$DfGP] c;D>T'bP^x,-f--NTRd4/HQEdA:FF _AR`Vd061kryɟ^;+|yzF|_bٳv]AiLk%np@ᩧnv {=kul_z &7ڸv,,yLOMhcP]%G>´P%!uq1ۧ$}eJ.>uwq>1:W$ʕMVdVʴ-CyNGDZ9xԜWWG̜\ ☱k#1T<#g*J󓦵<~uqoQk9cj&uXD8XI0O X64q .j)VSu!?s!يux ?{N-V 7\>6`imݎ0l\eՍ=*736Q,Q.ٱ؝6Z 2-$'4fF @Q Lc-~<֨|hmǵ̕O1 Z?m~AkK9 [cY3M & =`M;c3sZaFj0LׂCX'~?S Y2yL#ZonU.#E7@Tb wx}Le2: j)vbZ( X4#8(UWf.rPJLVzzĻ5̜c_| $fR=< & `z ٶl$K!,@q}ET {%E~!Nx}'~1w67_ҷP89Hܕ`6=3+Cfʆu[!LU隬D>,J% ,17V`; (4-e_mȨ@k EQ5Bu)ij46ui:tmrdBk09C (*[[DGOw{=o>c$t‘J9J/2M~W/^ŋ/غz?3ٹ'V<Z°EX `1E*,w= ^TW{P_?Z-l43u2riڔ4|m̞gB6u鼐 &BBaŋk:]SSSm/&V8(3|V76qزA(rRak!`);~<ʉd.!i80\N!͇~;[}X:~*aųO>fVf@u{;ip;Ͷbs(j9ΊE|HDGtyiRi^%Te"$Si\eggvGu#Y`<R +7 ='p蠳y \U\Kx&V?{@:vPpqmJ'}7wLiy'I<,&"rHX">o}xdz|8~b9fӿ+TR-ȉtszYlՋp翸= AnM x?MfFlV3Lka'+ f^r#`SP2!ej!kh?H3~k<*ns$KƾJ~I-E;Q'>a,-Ev^, &oGȼHC}2R蕮 e05#o2Ƽma.l3p.d^4Uʼn/Ý8[Q>?`$l',{MCzu$X9&$++¦@ `rPSW TI }8x\BuvO;k%QUo\#P"eTɀ.X%gA*E IB 3sSB*:WP$>zZgFhɍ27_:7HG`p¡w" UnG='fT ANҔԥIɭ?V\[BUJAPI2~+Y6-199VIQM4p0' 01kǎ-G4M6!_464*I?r.*bzZ3fꚤ& &o,k!:#T8q/F,H+66AwͣRSI70%;GfI0miи<mHĖuI`I;IBɭAI@iĞdpc_<&Qzko*'Kˎd #yXȿ%b#鼉Tȷ)rKo5̈́s)^fv9+gę=>8׾=qIL=>U*%,//a~a.p!q/jpwz-%uĭh0R{ /e5ZovoZ0gO'9&{I#\ঁ!kZOc=G}w9Z Crs9ɑJ6D`=ílxl 6E)e e*TjeDrce 6Ȅo<8r`wōi$#dq9eEo=qI}oj{k"6|ܿ3|cTb8Re3ND{# [κ0x`~00 -9HɉgE>FFPbů^iu7 &e8 D2T bg>NP:^uJf}}2+w$9l;ǼҶMr^>zś Le?dc7B6~w4R$O/͛vR מ絽 z^⎕2%#h9 |+Q/ZsbfAhAR4 {gV.2 ⬷?E'g12(qMHr_ /f<9*ޘǬk-XwX9`f =_G~!iv8R4<8@t%,8@ᒀC|Nשmm. ͮeƊC=vq{FLۿ%L9٧pùoJ[3XK?F?W祄U/1 DL B 1lѴ =Cǩ2>i\6VX˿BRe< p0mx>l-Ơ떉".o:\w^!ZLw}s(!^ C=+8I<ux&yщ8: HRj߁4:+ rY؍O9!v-Qywc}[49BիXZ^ \+۸Z-4@sx3HF 7I 23J"A0 8@ǚF ^#sh+k z>@a&1|y .q2?( IVO5@)I4BΙI8igv\Se.w y,:5]_mژqzk=̱cC\\ +V}(NcM~/!ȫEwZ-rRP, IW1֘8sغg-Tw:1<XXǩS' _;N)|4| o} >^r}?N:dHȤ8PcCWTJ$oESWPS=LjIKDi(C@%O-c) a0<ȕr9?4HNJh1Wix]Ji\sx*yib,mqju.X́L2h& > /} LLn 4W{ I<{Y15 @H(KöBeE؎p8p$Z!"%aӔ(HJ@'  A ;s_QgVU>ˣx=3z{*+? MC8a`*?ĵo|LVK|>S֎bcc.]>|;4 eΤf/|%_?ɭ:Ocrhe)*7nLYEq  Ky _{Në_ x/'B^31lE|{siut/ dcNd;\n](S -au\j,|A(uX;;AgmDn:ڻ k"-4D6p)ܱs>e XxY6 ]KOj[5Y&>q30X)CΆdg%9ڗ}c|_YX L͗=ֹ9d922+$HVg"5MBB))aqKBg,4]%ĄӵUp: ,$*}nh0shCk{Vqb[[;Whd8g \۶l}},rS[Mvn>q3d^5tsD{O֭UeO =SvkU.\7T &u TÅi{EP}E5ny/Q!?m :]:0Yg ( N{قld}Z/V6-dtHxHUlox1#K|TZz-0+gm=>xQ#r4.,,\(^Z'quScgOjʣ>8q3{\\n8Tכ.,h.X._;"rvmloKfKoKڸz晜WfC=bᡊY;U!cR $0رd%ff"qCw2xK v%ef˨qNJ:T–%/c_DyqWiLNot J >Rs$mRGϏvvctB(nsaS^ox3ҟ~s8a>FjTbVkUg2Sܸ+lPb#oFf 󅂊u$iރPIg|^x+<Pdc?d(vwyk@$h`$2ނiv( fNRfE9@Cq tLܻq -@uOz"Tr#s`Hh4ZV"|#;!s,-lsnYkj:8Ж"%BX>;;nLt/dyN:he/ W߬K50¿:}z"${ ׮8tr\ n'ō+א+03w ӟTvy%}w8$t}eĆZ~o/b5IКeP#Mr G*wh+v:^6Zn P*4?{qKMRjdCi*G b<,h!7!l1),-@-4J%ܼy㮂I~n/ʰBv<_;[F6k ¯~ū- þv.޸| [-~6V[^@RFs}L^Uj2USː+^zU28jCzCi~a t5c4m|*=Or Z6aQ'y?q!b ?10dK1nDpQPz9HQx: WLB,=˞kg\W[ɠL;d>2=J6w LFZ?= ǰ(.9+xçv3' 3i睯p^q_OԽ8}9B҃W~bWRpGג@|fn[#+6&m|D /0Q!`y-ײآuT50NKxPk42wDbުic61g{g_b{wᄈD5|q\BUO<_ϯtqn(Cdjk[=7/ n+畛V+2f{{{s;Dq%|m bV݊ H|Èq''}s,Iοip3 $MKkb?o`=T] }q7TJ{p۝=NqM9xK{mS(WϠzXc߭ HswY⾾J L)C=3 [}g~wDckτX :,*9[0L5wI7 G ճP*g!h]> ,y: ilй6h,&yLߓ`WV;E%h @%U#iz+lFXdy\̐n*SE1N5”04=M-RW:Os"[/}[4o4V5V}:(,:WH>G%qO֖+ұX)E#>,D8NT(P]~c n41I5{/TT,Mnk&^Z1^x R~NϮbї|^Ȱ2`wDr]{\@ykDo4p6Jli}Kpc,=hב C>"Z;@t!06Q`E.q/^ITiƑa{2藨tE'İ(L򘜞]fnG!҉KxH~zrOi)\=[c)?3:`\q忆?kpr$.4FSlN5L֯Ihx8#IP]_l=I [$qSg<ꨕm|In;ǂmh@:nDbp %2ſ :-KYWt0<~t |wq=p\S >K+Lϳt13IW"xÏoC|nApp8^{船{[9KH-o}0{/CuAZf~_WvSs殏wd g[h)O1{x ~?rӰXD0e<9bT O؝8 jVrK}VZA_`R`ҷR+O?iX}u&;>_>=f[x mj䇶Ȫ^ ;P{x+nxmWx2 #徹\0 4E,t9Fl:O\ Rw㯑X}k\ $F}48|}kU Z.OKAԪԩa fP9p{;@b89=9>AknYÎ+@3sδ^]n1.L7P.-W ^Wݱ4ǿmo ;=YGo'z?\fo[m 8yx]B(6wwQZ{]Lc~&gk81;/^LrmGj4R+oR?*νq J.^}")vA7պ7uFe}NܹD3n'})q^S[G ^x1Ii\>W!$`>NO Avz=*VU'h:Mi5q5 !N)Nc }A?ϝ6v;*665M-cz(&|um6[867((!n^C U.VP17W6rXU`҇ bӥ,^9w^~r+"6As2ݾ=- lg49>33r an]#pIitqō7>IQi{Z'2DNty FN Tn9yߺ~4|C^#/+r-qnkxR^ D;-S^|2,޼vYYLKΩnL!};k،<'r F_xE7R.6#KŒ ˽ת 'SeuHMv3 7VUwnvf2Y/9%Cfe Cr\![pT!_Zy\MYV!Iqk@ԁ!HD+ nwd?;)jZ!VP4r0#11g2br D(tqz|]xչƃGuN DpO 86W8{=3LۜO);>ldQ^Fƥ&B}n]x.^^zHBP߿z^?O~SthҷCد`w_go\ɱ}͝w7v@I#tm@Y^\ΖdG :>gvd~*E8٫pKcGkvJ6TvV'pnkp~>imbaA\bHiEEU"ʠ[oeX Vr g~u 0)J $BZ#uT/x.b,I*B1)ba<r:mWul_"E{& `6![R`"\^}iMA%omZ8|RQ8ﭫMT9aeZy&@${9DPKRimZ! #pisZџ=㪔zi_??ӧO;d$e"gL{R~R&*LG=>=]hҿ]C$)q3L>vhˈH M^U*Uy^>~~B("VQT7Fx;38̰ѥ΅O'u|Dm_Th^_nF4pxbő v,R`7ʎKVi32|BnfXĿ ?=#%|.H1bVeQ(gg]pCbD84w;ΧBǠ Rdc1/:XHj7~OI;Cg̍A9n9qzij>[bo?YC`¾wT!N iFm@+^-w'8m8 5%L"+e^ p񧴎$^CafY6?* CaƢ^M̒UQlKv]-ڦf2f[E"Jн6B8Ʒ|N Hx`KLW]>TiUV`q(G5 ݾݻHH)k?4;mKK6j/+mCDd"6䊊ܮᐛTP}~H 1sl4~&E\U+R>L%$J[b@ ;(<ꛯ`_BqAX rjKmۿ7O U6p:?gO*]+‹/OujʲȂ{x"~__/ z+.]QB\O 6aj^jkFJz)]lѕ,Ev~xW'~'ȗ>xtn]u5[\΃~&W Xͥe xTyS Pc˨75f'$4Q(2q {yDp ^xE|"Z6q;wu ]<ɟE?lo|r-T?\v.~/g>;7Í7U믽◰p~~WյuUIXlLf Nb24lj5;8FLWVΎ+ LQL/(&LIP6 '&{[`'Pg %eSdT(j.X>E? L$ (A{;)G&>#Q1b<N} pd@O{ SR#6<QvGQ#ۑZ}ZXdXѿ#B-,kd$#Z>Gimq4lZbb!J_{DUđpVok8[ǀ,|e>zL%OZ}]2nIѽ*TWP&n -+x+7r@|鄝05YfˊwO"T{.#®/0(t4%[Im+}ױw2qQQ A_tQVךO `PRI{z<51)KE8 z>r,݅nEw?9R<(IDz''E^Бj^V8;#1YԆ+إed8~=,8L\Lh-7Г}&'R_K٨ˊܜtXBӊjl rG\t5e&%-_KZ EW$S X nfds*lut(i'%<*F_Yg }p &젓6>My)O'D.E(|T&9DĦ~ǻo,=rڀwe] "GAP*0^oz '^UztQa2nJp8I:qx8oi<&Ӹ_`rt1jؖ562KP8 =4l1ށ>zGȢUhb2Y;|.4 *> lJi`oVfxe7<ѴqA(jo#'&qK)CJvngXf7"CtucRDk~7n`\M6!D3vY R=GKhE,< a7o,~I;9. X-ٗPD'j9%2͊Ᏺzs`ݿ#,k_ RD:n.kzX @&nmdcqShVGc`j1nC Yog8\~-y΢G/\-S|{R 3;N-45lheY};Χ[`dvLGdwsLl&Dht1Fi5,^Jba"ߌ̐@`I:p5 tCCbV:7 oAz6^qAv{ȗj_FƠ+Pcf0} r?/0ޱOçIIc+`bOu}A#lQV۲3`[VTXЕ2r X27ג+GP' -]~pM59󭑒5B76zlFKz㤇}]H6IPޢsv8JB.TI#5AB|o$-sei<6Z^Fw1=Ck=d5ꗦ轣s9e9,hu20Zɥ"3n^lC}m:fsm/6-%Nc.-d>p sai|n@αݱT䫊-k& ?[]lLk:B]ޱ OO8;3{ VK؅O1 qR}/.&_WUtRRTyI~niPLqn`#x,I<gRw)g`gWp^_ϑe[z-`y,85o9\`IL}iy˲`%쑀dl׎1〄"Y$,StrA,.&KtsXۗs^[,xRϡcռJ,B-3e+`g*yl'?Rx:vM Ӭʣ뱵ACNk@ڟGƏwA95^kMczh=5CّmSV#e%[R3iY g#Mj- a ĹbuGXh.@c]{m/MDž#{l.ͮ4K5P7c9TհD4 GiA&,Dlߖibl^N;ϯ1qr2zJ HFx=<Ǯ-Ӊ%7jLf$T%.'Nt~&Œ ֭ݹ{}~X:.;s*g0SCvp>CVG.+<"H+3 (\pg!c it9/G'sv#ݗ&֜tM[VvO51cPWà*G J >.x}\ cXm%d6l _mS(3qeYuo S@Gc@CK\[iVWT^5N>I1 䙯gҵ'897;lZ${T9="$_%Xݦ\,oG{7L}^w OnKIz$ {xt&6{`#au9Jӓ0Y/_A_[[ ޴q¶f@Eh2`}rϽaoA̢sX#` a"._Pk3:IG(g8\5 >)-%DpsIh-<GDfw@sǛ \!D/r@}^[$j[Xy=Ta7Y2p, .~T@MvmBktT瑭1X-=: rʢYa}vg@Nү*uQIAX` f]X! *3ΓSC*CI7)2h\bzCdH78+ .*sͲWEZU\;_~v:MT Ɨ_{/SU6 L#-XٵuEɮJJYmEu d zdݴU 6L CR.[^ogLdH(nv+pvJᩌL6=Ub 3yf[#&EP.,~dMį= }Wzd77%\7;E[ s=Q3쉢'XIQp\@9"P/mS8AZ4!i υqxx6K޿K뾰Lw o]ם8]lO!5TI/hj8\hYV檴~p52*8zHJQO Z^Guzǎ-zK}`¤}z !X >![ 'R$ww" Bo LϠ (kXicJ1wYDuB]*#uC$}НL7Q㈔A@s$MWB6_T.UkS $jݓirXtb_ wNQ|cNsM1FʍȘ8Om庁\XQppWH!&ޤH1OP3ZQ2.F VB@hHՠxgq7 3%t:mZσwP=ӏ]8<'zw`7(ߴw#5%ORPt?2c(;Rq <0(bC?*)qsKCI]9OZӜCi0ctֲz>;;(S̑)?v|hȃAt_: '%SȨ}o龚lI`8#{v!/g"F>3_L&`T+\nKSR yu .d^+Vs+9N=®>WU(]tz:B7w|BF'CĮ[h H๺dg1bP!.LN=jv L*02Y 3"̹npg,Vs1 ݄"ah)ÅOJKDZ,'Nrc9r61,*LNєDgRR&a2F "s^WvOb,_;mlW4)1[a|/lnٍ{\̥ޣDgG04f|L Z,(J[q!re4v7`eϿCxtDHBh ׮`ZWivOÅoai~ ,S贶p9c=$ɓcVЗk/@%͗,L턖\Kl2䲙1+݆^rO"xI4RQ^wGf U"2fV(3[&?PWpl[Xauh?ddqEHR\N -txdL^`BJLJSl"`_\5v tD.hE}bLGk]kHr/ B}4`6p}:8rg00wp5^THxcQ UN+.S#!QWzc.fa6^}]TcbgȖ!]?op6Rntb^d7- վANJl=ҟ;"`"U/cEQ̌pƟ1Db 8^wǫX%d!EX1iwpp8{5PdqW7{߭*FV^/:\/q \}C _?]xh-ed} J~_ d5 *u։P,_lth>UZSot %+A2Y q뎱#Ep;CndNx5|3ʙ~&|{ 6 9 `T^6|V\^kx䁂Z'``Y~,^kwzT*.9œxt,\yZfi}EnwQU՚k6FNNK1 L"}]?l` ECNb F/]fоgU`bKJ=I 5&b0&Ʊt粜D LPd2Ja` KlgBב> Rf O}C޷{L$8z/xӆ.f3Jk[Ssz`}SфM"~v_pdTL&+Y7 9"}#&k/\l>3Eӹ8`]\Vo/h/c;w~*6wMTj5d[mog-{Jb (c~VD$F[[[J)ꩶڴً輵 c؄INe? 趟2h5KaNp0ash j{` 5sG@wmx:DPh{ZzN$~'kDǂOhX;u/u ./8g*^7vϑ E֧lOƬ?OQ*N ;찖ʷ1^5R-ngJo')}A z~z_8ĚZ!_-?/f?qX?W#@❳?{X9d+Щ^8}%opƛts|Ǐ`k;zَa.7wȾ>tʀ "!R"DrB_XHB(+`?czwwr/u"j6v:ݦdIV>I}ͮ.DaxvD6K!S5l// |p~ҹ4QiOOA~Ĕܩ|Zeޯ*&Ga|#uT]: YS/hsBzdxbCCS}qi:wmZ ]i$<`i}WDZgqm}?xM,VbIJ'>K8 r,?ˆ+Og۷ZaQ}c;܉V8>㼌hG8_m?;įO*TJlYo9ˮ Xg9׌FѠn܄/1Tt]K{=SE}z3p !]fr"]_ud}+4yRpj~w|!,Rm J3KG8\1iBw5 3∆q6{~S4$)h--eduRҐ0gQ5v[*dIO ~U$&!X'W)BDžD␾Pe_BH{އ pӪaKů7ckpԺ}'}gZ(e:'nw0Y;wr@eJJmYo%C5 3T3$Ŝ-}{LΉAqRx|nC[ք39nO:$6R~/%&}϶Ujɮjt,3  ,~0d3&T%Fk{O;afO MUwT7ͻ1wك (NĂYFCi.FBs\1"2fE-E1L'0t 28#*໔U&T^^d/n6,Mq(/p>3m*"  ͎ģ'xd&>VvhIe* 4}t\ Ӓp'븾 S89[Ĺ>.tZ;jxZ)|IVv_e-sXkqb nΝtW7zt.p=X_kb20I@P Gcju^Z6c͕'{xQQ|B;tegmɢG*`K< yvf09Ү%q܎P%c Q C {?h/ەQ6v.4mV0 * KzbĄ ` jI=sA&Vg*$i H{;nby81.r< #I47c4I63 K Igfc*/=7=иvеy -* òs,zv* Oꓕk?ڙ[++(;bUYv2]}V|+ L)lEK[ ;Y®-%k:@鯅H Sl*5D GST^jRY&Lo\R7rs}>VBGmp4#kb6@hF-XJ@<9ar;H-8PZ8Zs IHH{vC/<$qd&N O'MnZ% )֓+vm Ӟ"g8X vq١psb8%/纆kGXAxxIe[bH.&hZ~z@X}SUO*ﭭ_& ԔoߺBft^}@!UN&0 ըDX&|xHs;IptP==c~Z <)LqU&\|4V /A.0BFAbs]a!7-. beF/ XGnPt!a9Q@@Vڥak4`s8B:VAÿ/c,K"Zs":zhdUB2ǒq}>2>cdsYv!j:ժ |PP|bL@^-Ԫ0{ Kt$+>YXj['n%{#Τxa1MȂgݯ{>qߗ0 * 4%%73CmfLRy w$q8+xC՝? uA-Dq )*sLU2e+fCqp2 )IHL\qyš}_RceX:O*3Fl<-y?~Lz}*4qg^q0`|#Qwb*boglfGi5ʤٟ_MOfgs\"c1n-һmh4J-k1I2T p 4Qq`68|&\BXZe87NǦh?/OèSxXchnKbZ7;Mec"75{Kǜiv'Ⱦ{VVV !}=,Qҟ<&yq֖Pމ(o+;Z<[jz=-<$R:S|`gIΈ32A EI ,.DQL9^sCq ̘+U;\:^Æ ;n(R 74ȨշO3[0GԔ$w "..XFGo#c /M=drf =WH0fZbQ&S)~f*0l2=/{?+B$f+n.HEe!%Ӆ eb1QI 9EYIUVCRzUYcK9Êtj` R~\Wc A9&R(- KuNPK(3qBK`n1Iii{.1F0J'3R~ffv&>A{eԚ2$0#FL64y@3cIV6~ٌjKMTS,6n^G&_zsUՙ2K@sOShg2sB_Y"r_։Y^Tc8q 3jIۤ9Ю&jߏ8.hn$ }5ĕR)!;d{&-6Ыoz@Ӹpwvvhsh7vd/ -ԫ%N:ZmHSDxKZ{4 p uԗ>ho^`{TJ?T н$ճ\ǟ hr;Ky2F_Z=Ǘ,zoAK0&F߰}gB^?i2k>ᘱ̝stMj%id䘉?kgGc&FcخX 霷c;#T^]?+X&,(8n¯ji>s}B]J Z/PȢE<BQʔ.{u;ƙ|Kݻ'wąy07ca,r tsC Jh[&pNjkeHwCse-U&CꚈ^FG/Ꮦai$.խ461,dRUKR˻?jxRzhfl5d8|k§A)߽=5ҿRLx/]OkY{E|WcW AX#x8sj)^!n@pOI $ αҋ'ntk03sjZYmy zYV)F@lYq}.zwG*\?-5xst [3ijk{ јbпDQӢ;.y=hx0]`S 6l5;gG1gpߨ'? z)Xat'ř~ߥzϮHG=&Yh;!$=jϵLe"!Š>;^R?a"E)8tZn \VxiLf"b@۽) e9.0eר"aT&[ng lZ| ,m HwI‰%~/WE/# u,\BhC`=;㲐n{q ~E{) Nkaׅj١:#@Ig ԉA\haLKX18CnzƴFberDE$K g_s94/ovt4YtCo l0#m:a4W#"_"lSg=,9_qM`dHQ$ETlIweْ>wdNwI'['ˤ? gY)Y#h$H" ؼ3;y^~]WUM؝ouWG?)Qy%S=]jڇ_ 0L9bFHR.D~!oαܵ(@5CeVQ\_TWv𩧖DdR<`xvz$& ȳ~:|j)p߇A!Jk}TY\L"0[%R?)}xPpb,φG,:D Zx[ć WQ-Ep;6RNn;U(IM"Fv8]J4&0.'eںBn)>x<+@;yUXkZJXwȚ"5T,je^HNc~Q҇ 'G@ăM9)ؿCX`P?vAh-1k0Rȴa0-brO>/^i5_cyruq,5Ie 6 yI85, y*Q tI@m)R8$\$2~L2a@nIBÇ|ǘ:՚rx pmE|ky2!RUtqa4"*3V(D#b VlsD<ybA6iGC*j8I&N V&DWN1s%C=zaky=:a_NN ĚE"q<`8@7̺a@y<cZ)1>Ks<ݰ1k+ U+{('4C\&:tII1/w1H  $*Ȉ񺫔 bl-9"8%Dr⭜nj;SGBL<*'rB :3O5,,H/ zޑ8GP*FF$ /1>!W z}$lRɧ)kl.+Eo`'ZpzSIшMfQuw{{NP6)^ֲl"6f.S&Ih:}GgWe{3Fq*p*Jr>m$`mH25#禘0V P,;2FcBmuۇUfOLMn\j^G) egEXg#l: ,.-#z)+vm\Ša秘>9]/΍qRxBKb;FFGaWYS /˳Fm5c`dI'KC1ۖq5qg/]AZcV'gQN(gd;_pC7,`|EfOucʄ0/ 3TL~r󯻐I\YD.48Jsyt07jL,"1auqikLO2f5MnV<LR**b}:S8z91UFL2!ϕҵkKǎU:`ZS76֑͌ż|$N}4.1ezvy0z&tFru LMafnWluon?xuu. %CI=}k$$ך\{B?CQgKYkAsz,oB:z@ð -cC]ўF/w`O_gw0Vy?pxTbQOX: `V=#̪ϹyfsɼK7tQ_do5/"=皔_@^.m&VBmxpLvFF*SB6qi'.0{Th3G\{F"Jdl*ڮ>7&ST nq-í)];ڹ#z&-szI&\ =U,{hpuq z<6 &t~'~U20wP`0-%7?p ~c/?nC_,4Fajy}PI&5e75#U[a򽛁 INAU 4L7;>~jڀsEvЃ5^H|Y`XRG=8oIІ^Bx "9,9|>\3!0w(zfqh4*طJ 5nk }YVnՖvG*(^(x/GW2.^]€cs3xp\h;b'R 8ֽX|_o~7m!6۟gX?|Hb_¼#Em~ax+6~վHDm<7iG5Є_tÊ(RMOVX,47mJω n/TK{u;'w}oxUlؽ1cBϟl>X4bG'ILF.v2LYXJkY\Y}rEj`n4F+E )jZNqtOjzw/a30=Gf`qt{L0W{`* ;ơW-1v \bJL"P f [Ow ,jc v`" iDN' ;̀~d 4Jt܄^כ9s1uk0Hggn(W"3ŰvY$2 vr/6 AXkK0%FF"̭3 XuLhw-0cqR GtXecj@llp3w<Չ.-tqq Nq />VxNLNٛʄlaMWfpڭ2p k00uOcPk ~5.Ju4Mˀ3/Lۙf{34i3Ut$c'.n`Jpif9kk1\l>Vi9p3u-n01X- a٪IEվ簓Jv>_ci<,TZX^\p,&ggQv $8Ad qE0I?2ޗWMBa `tt'uR=H? L>L74Ǡ}i pS ^+!aCW+,a2YDJ!…f%3ewg `s火 m º)%-gnW_{\6ߓb;[fs\ Z]>sq  wv$q0 J%$ }Ҝ)<6l f257f"xBHW|y'3 "ܔɀ{*.ёيM`gQ˥,zXW)2v\](<43@ܬ Q yzmÞylvxm' ݮP(2I$j}65y(,8H 5CY<<6RPTss:K?5M%~LSX*wyjpY3yA,朠Z @I^9X@O¯!8 ck$9\JVr5Q3Nݹ *LeDZo&{t"ؕJRv$HWG=ZpXkz{ _ḞXgz3pQϦ&mB\;Q ބnq-iQYS3 %D<OZ,##u` Q'E$uWW_$1I6JW /#DW4~6{Q}1}s~vs6߷: 0ۇkE赣3KWI{)չw*~#6? K:ւv3/<#:6ZS<K WYV2RJ^Nk͖E9P.@ "6~5J'It=Eu| Ge'bڤ dAe/Z$Ezz.2f/6 lָ٭H}Up! I@s &Fǔ*[|]6ZLIH0|T`Y]7γ=o_/4 )FqyB1`:Ӹ޿&7GveMwgbr;p)F r +W^Ki|A@c2y>X{=LsK>Ἵ(;9&s9É8/qyT٭xQ?hBvX;x 6vn6Er#\V0Kq"qoCYGo)KRQr'i&æ kjK5QO?w/{!IHGQ"pK^A Dkb&Q&Ps(4 x℠ -J )T(3p/GPA7syer RNzݾu%Y.HW #R!ڬC`QK=[9rWMZag*%VT(Ă^e,5#@h3:FE2+Tџ˷m- |\.:!8\puKl^/ebp|I7mz3r%4bwL~>8b認 Xqs^\rtt߾ST`drٹOsHvUuo T,SIB^+IkS8pWxxt|q W;C!gvv|x_ B&ĝW4X Urj;.倲t8]kgg aMEA"<*]]|B;5e¼ 1OH"KZww)jOJa"9C0mexߣ,~ }L5”2&c7#j & [ode0wlhΊc>;g h , N,cz/? /.qt$@vz,3υæX4mrSƮWJ9E\.R&F6_䀬|A &Ndy-YțWiؤJk*@G9$0@ !['X7nlf;¦E6p.Q,E"X9ΞhJEPDV`XLjE{Mɨa,|9Yۇ>"՝E|2Lm*cH@G2V/f)նDp,&!pQ{)NT[^8_}y:}<_z8SfFRN#u,.7ad *Q|;]$uIl,mnn(=Υ$9TiEh_MKp %U#2e\-.BEҸRO~GcNx"$zIZGVF :ji!_,(741Xi[P<\ŜStu &0 ɆYcu* ՈlϨ$+jO|&׊.jI!0/jjL D^Zu'M갦{'׆hSt>?jrk~Xtl Z݉(1]eEd'>)|6|% .M|SK 3]4XBe}v*kMtZ}a7ZD( { Vu_oEKE67E|&F 輂[#ĎDA{h+Hqæ>/XG@+K҈To&w](mSxΫW4 ({DJ0\gRN0}ؙ\hU;Y]Ķ6],U!*xdm6Z ;XvenI=L+Hɞ9SD *HZ-_Q]$liIڴ;r=E;q}˲2" 卅IWhm'nA3"ɷǹa6 O)KL1|U4VMo߼\{Ll!<!6Y9%$amPE6ݱ,E8'{_A*/}wdA"%FSJ\pg\^&f̑;Q _ڛRn x_iAfznRĤe`U.n4l2oɅ8I?~yQ ax@-m=fӝܒ2ȱաP*E74bCK%|]4&tME[HVnibPC> |W2,iª o8#9*Y8S2C #H@KiEd|AK(%O.6Z+G*ى-י8d9 A`xT8ep>o4Gge-u]\&r_k Mx/Gc:rpϋ&Sqkd¤ F!"^2o),j9XI^'+1` 8a[>Sji׀5;?N,BlK,ӃEDvxZmvsjGkXAUFO3+E#CPhe!IܕR(Rհ$ *䃹ߧhLㅗab28k+WapN.GB\Kk(0^^n^@ vvB*e|dZ,np`l۸)r+ԙp#6'9T\绸ű2 YV{'Ge//tPdq KmOBK#|aD꼈@#$إ+k 6iqTZM{Q7Ll>* \k(Wm4l+d8p=J o|Mnl4[ npȊ}+Cێyɾ"jy U%':Kpuz Q;0"FE^tU' <x3Ez?܌ʷq`?vb~rI, G?i2UgaI)T7^_$/(FA /RQ*.#0B)#5Ij Cj(qg}tjZ N_cUDۣ[ +9]Zϩ#+H>j9 1(=숴NŦPk}0LIX}E|RHF %?t(DwehNőp1+m,-G\w΁im Q}$UfY>~b{[;F" ;D$3+깑PXn=H8G7VjU% 02coz7m~w³,z'&*xL$kB%R(7LJ2ȡ?-π ]/'0[ c}+7r%}Kʤ,6Y؝"%6O\ͪDeFR.4Ct߉RJ-[3qi{8{(p5904}ηu155C.0U.as@ \}n@>r(!Qȱ߸rvȰI˖F~|!^-7X_<\[p>;er&y`Y"/JgX^,wI: dU˘3Y. 8Ei6#q 3 ޠFՙlvg^0"Bx i XXXt!5~JIihu\84G015(7Ƒ:r~Z)6@ _lqλp(hrb)֗ $ #KD:HA3cX[gJ)i cMUxa[u~\,wcwc| gN<:r)n-Mb0¡D@v#CMreE %4C +7m*bTJ5o4`_7M7W>cF dh!tQ<{۹N5:DLJq ,8hσb{f߬}ڝR3@2ú~ˮtSⳙ `^8Xc5q%įX; 2R >[WHevV;4L5y[!rp.EOgP>~Zkڅa.Ӿh^xI\xZMV2K{Wqs_gs6*\[_Fh "rLqp6Esx-/P˜HXM:I_h᧎!pLF+ }b\6>4G0x؊0Oxu%䪕LtKY#cA}ַ jNľgٶ ΋aPpZ@gϲ%"uX#(Ld8FT9jd翄K5":KPv0jf:42qpXWmW KN%ON"NI&72:\6cx @󌶲vrWUEM Fƥyg⋂.7rFl\Fx^Z`שּA 6|)Rɖ♉ $MzΤ{ I72C "-BQd\ *|=Ӕlشَ`7g ,\`)Y [ Ì˫=LMX]4kql/\nݥh>oJ rDQgJbu+=<{c-ޗ3LPQTRyUlR`'޽-_P4Q-2NQuqW.LkI϶d!EP R+jmjݴam-PAUGW٤R;.Y2YN ,z̜n2Auc,S=ۡzNyUdӼW־sU}}>*,* y͎F͵UcuI>3 6ZJ^_bՀ* 43BvW4"(˼T^x Ŝ~ L20Ռ8S=+_8Ȣü xȔ7]ȊuU~`bPbDٕ 䫧(rqQsxnKx4\O|*CEƴEK,)Z\`@4}RQ;r˴sOر;qof|ZچImuu5i%'CڊcxpIguyP|l[qnJk)ɑפLRfpN%}%i8%R?}m~yn'KŽo1t xxj̬i DZ,=9dq̅ʳxKu\\`I:8)rO)B\)l+1˦4:^j+K'x)[!j9X ]Fer0 7!qڶ+K]>7”\tx6(2I&%3ؔdz*v1ybZB,hq_,H$CC^s^ 3[M%cCϾowG Oq&d_1q<;s=W욋2PDNxB qiCMQ䙚I^ VxPİҖ͘x_r4$$e:/+V8_ U"a(Wœ=*5cd[L"egҢϽTb# 1KҨEv&ivKʄc9G|BaFf ߇w~pW%e+ġ뎏[u^{Hkeϳr1m =GFH='Ɋhn~ ;в'7 (/ xMNlI4ؠ=r@ݔo7Vb.$EYH$}yזdLۦ1T*q(JB>MuGtcu" n;1Q)gJLFF8r(^nhyι\#-/FGpwan>\_^WΥlڤX bõ(2`n;a5`h5sݧLaа"8{8,6}}W݁8UhGxÿ˧SD$P5PaJj?Ag񻋟&kCpN`Ln?f~7X!o/k8m?l$NnQ۩H I[>oXG}Zo]Tsh!ySGaUya+"^盢XPTT$.N]l쇖Иߣ+'*I׉OrDX9J;XtݾQꎵ>}#rvRҌG_LRhݞ) ŬI%t6h)6DK>V+4ѵ:ς($\Xu&hO8/qˬ XhwvU4 xeLO#ur*rݎ)08}ZBzxt+^w|~D(>8G^O}sC bF&"'D`YsG %Yt7,i00.`2\ &*^!H)Q8Bι=qT !ȁENo~mzRU -]M$˼@;M|y|xf_yy>0rRus~$U|"6w?;v{fL@p.AaH4&2ʤ^T!Mh\&'1$!.gmÜ(n(^Zc'V0~Wzs|B&+gq S&Ex%>h˾)Cee€iQ*e sxn{u&榫wרXȦF,x|hRd!x#Nt o}-Vpm^t5! U-1^oxyPGox\ 'ZoT-D^cu1T T">/\kc4ƃĝ_kӀ<>^/ jSdC<l9ȳ{3x'(m/m#oI n%',%9ȶsk:q6_MGeS,.N>ӏזZxOJK<:9r8V*"ʕ(K(OV+<hDff#"lXC` U0M,늹$y`D@ {fJ؂&#*R&EvOPuCu D~wb[Cx,}]C/Q4zEԡpǑ]\ЗC+JB'P"gjܘ8ǴM2g!eGvCj7X62%[$=s<_QBϠVi g̙&VM>3ߕ +U2|oձRτYL^b.a$n3AFw<Lu8)ѷRi}kx}o{#x^wCTSg'q܅Tqh?"]\F.zʛ6cN1Ay7K͞K)Z]]+zlՇuG@1hXL6ׄ$ vתH gE68:>,-J<<LPíXݸO|'mû'6Dåv?|d6}%>pt;*B]|FF'>*\5}ݥIU#@ܨ P.0&(QmV?E\B$%+{EM/ϝ8^e*-< P r%-q5[o )B04ԕU$z:@ck}D95;lbFuZ#G9ح~_ d!PTkWSxNܕ筋fy?ϓ_xa1g<)UYʱGqE:R cF ' ]d/J *c8mI!FV_2EJi鹡BVypz;S)(QV3Kwߑ@DG$pxaTJ"`2dEEh`?#O@"}%@^dԯ |&mp\ƻdGe߷N+?ObBwGd$EQqbRHè*,El$֭dF[ oIoh6[W1P (1 P%i9jqv-LߘtG(_\3SP#==sgD5LX׻f&`B]0O[qKTz;=>Ρv$ c*ɶ5$ך^dS^@]$m׷ɡMS_Wq\&`ZLnfݥi &\VqLTj0[0}x{qFp|^ܑމiH3m7GC7!"nZerCp?S$7?Μ>=ͽLPWҖ6&쾛o(97~ I@-m{!S&=p~g~{gf:Җ*ypSF5ܦ?x+%:'iK[D+ xïūqYWqE|KO/uJ|߃jcy?FO*-Җ6M;ۿ88?'|c }7MgK}Mcfr"iKm#տ!E];I۷iDnwq[:#Ӗ=wbff:r LRe}mr||[IgdҶGۿ-{n6dxJn9eBBn჉votC]H]]*=L[u~d|i妻}s)] sm{aܴ->BFH}22זW>ĩӻaظZ/}ğcm-S8y1Q&Ot?}ZظZ}߮.._:Ǟo}c7ow :Lg`ZAx׻Fy_^/[1ķO;VEW.s 77CSM e2wg&&׽:1=Wb duR:Dmyu OϭMEf[)g Jawlw:K?x//baiOdq}}G**neXlKwӝn ovo ۿͨjN_z';z^sT?d2@(Lqc~_9$bٺ}>p9HZn/^o%>ΜӾ}~}IPT0̈́L })__Vl5c80p'H85l:Ef??G.$m%hL<6{B7K_ݎ+Bp;enɐzTLKnoc>):δ߃'o+miKnn[,>>qn[}~THҖfR&ܟeX)I8`-YHҖ핶0 [0q IDATxkw%wI:ԭ;e*M[U_0П/+c~A@Ep3 OG&ni5_/|j\׻k/Mʍ=|RiZ z"0L&L&&  @`@` 0@` 0LL&L&%@5f-d̑56bƼRy+Q%31|!fS'c\ߊq#a7]o-0fݝ"9|'S`",Ocyy2fQ`vϋO/./K(B`#.O[mP*w pU^CthOX\s\k.OeP>TjtBZYY(7ט=k9K(hT*?(?`>ոy&|FFFӡx7Ϥ˂rzl1uhܜ6|=x奴eA9soDey{OK(Z}5h63+6TV;g}}=yu˂g:5fUmk+\ ewOLf(VD f(|مm#3,. Vp-`^e>37D6tDՊ7Z_[M/]LfrsL5f/Z;Vp{%Ο ZVȯuA`҄ώq+ >[O|Szas:>%;w L&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&iL&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0 0LL&L&   @`@` 0 0LL&L&   @`@` 0 0LL&L&  V08Ǐ7v˖ 0|is2L&L&&  @`@`WTo/"Pje롹lWZV7Kr|$;9?nxZr666R޲ H1J~;;fG0'b>r2"hkyrZ<`{KNts'') @` 0@`=g&SuKs@,-]N )?7s@`]GJͦeύxN#@;U+YYYNx-UTT,#kL SL&& mt>CCCVU(JY?1_y|̯cy}/5f{Wp|>托Gb&`O\cӼG ̫bs,nRcjsXDocݱYDۿ#ki4-a.晘Ĝ>~P=if*N[G*_ޯ)"4EtiMV/~e?J/`C1J3KE{=Tر:/0_8|1+)c}z"/iJ ~՛/g| mf~q'='ޕET#7Tw2.f*tv_h˘Uwقbyp @` 0@` 0 0LL&&   4 f%IENDB`PNG  IHDR[f+9tEXtSoftwareAdobe ImageReadyqe<^iTXtXML:com.adobe.xmp ? IDATxuۺFhթ LV*0SA "WةJv*0]A Tp rkGу`ﵸD߿2[[dxE@d*{uk5^wsş/ysg-d dbA_E89nU#V% ؂waKd '0 p0c+d?0 0X\]+=8IO\q﷞ `l1Eֺ]\/b ő +^X+_%[HN`ZZ+_D~2rnwFQ ~$LP +]1..hkDI5< έ%] :K+ZCl@j*Ru׈.b 칬`΄.b ,È%" aKx-" !Me씢{iE1i[g'K Ġ}> ymLmhSa-# &.{t 28aYXKhUlju EhaEn^-h~3ClSTGaCor##u5Ec"L* ^?bb2ȏL+Nt9o9SrhnAk.*1!fT6a,7i{g]., ^ 3GlNAD&P{w{%LXm[a{a,pG''R + <mCw7wGr/" nbo%5 +T9 -=~7{y  ۝zhzC̹S'Ka#SV=fvFnф8fvf"^j:LߋS>s#i%8.#o&GsFpgVԒcB4D#lj%clݔT%+3m'#Wgl0ša;v!Ho3ƫ,rhs⭔1Ý4E nIa6.ThZRHgC+ą佇rEh"]\m  Er[6/KĨs?!k5P ~fϏ,C L+ 9 E,nnΖayRJNPL xά6!eX "Tn|9 B˰)'핰mcU(TbkDth|)YJCh K(uخ"TB*X~5;nDȏBʙ,S:[RTxg6%uZ-B-3vgžLqyzx>v)oŤ>_)+iBkCU6#gZF^ }f3}+J&49ۜw2 c}Ve]7&̄N흯=gI%̈́/ p+jQg͒2Y8Z5QAlvk ږoLN;͈tͨta.i[۠Ry0 $ÇFߦ!Nkć8 ۀO#^IZs/lR6|Ϣo3nIdFwbљђ`926߅$W *ڇFSl$Sc1#z$7%5OǪnu|+Pln S_LC8LG2=AcC9t9Yi:ʡZZG,M)9|0~>vT)Rs2BT$O"i}e_]*9Kݍ㴥Bpؾ1|PvGQLjż VH +jyyOZ}+[l~\55kn$ xxMӞ %K\ļs]iaZYGh7 lD_:_\jCh n0x@lHOV w':j%x_P|CKcl2)perC@5xUsc]ᰰ.gϝ/>Y&BJY,L*BLcвggRxp>uzͭ=fNlgQ%!b%n: {[dֹmh=aMJ^r+NmRlMaęyCD>!˲y1ڈАy.3iµHBl%I &tNFŊlLFV%NkF&A'>q&z&q+ACN%B;`N3Zõ5wjT`.)j>?F-;ݦl5/J2+S[W uS"}wjr•[ʊ0"qC1LwΞ*gLXngǽ{&rS\-@aŞg;6@\D\P;.,=a9 p'~]B;^؎^Hʉas:Cl,qvvCm1++XFpZE.PԔ-no0 SYavNr-*hbX7{F*"8jH1؎%_ r&'LL3m+;(t K*(\\q̪K3|Ð3PƉ8 Lz~o1$i<blZNțQu*bSۚYuɖX1lN]Ahpj #|RP`):iiufZޱ*+=QP`MbS]Pvv5B[L%b(]cȤSp"c(]ڔAGK8k ( "%8.}L=wL#z7P¡bL-q6u ࠑ(F%'|`,-bn`"Ni脘FvJc+B&'lM[vy5!vICH'pi_ FwFs_ղհay!ŵęb}/T[Bo#=9{=xc[_ɫܞ&~6MlC"9# ,?&ψwVRyU[ ' v:y%~S^ytOZtܧ:*PxW;udmG^wyHxUCbhb{תsw#_ \Y=.n~o  ML#N$P/J1))*u9Zӑ\)ogeNn]ЌbkVkp~/U=Hl_W|f{ bwfmZ3՚ζnIk8C7/mNI#{^:ܩGmnnG1&NukBےUϤ}oލka/19PVN%UD7EM=S b[ $ө |iZiss: 5b(9 oEALmx=NfRQm Wnw\Yѽ7^SuGK[VM*G nmɥ5à9VLE`T w;Tl+ʒ0'gΈw{/ñOA֔%a<{{6B 8Xv(/Gm`% q{&GHL8 '[Mݺ9TcB!b2Dl-غrqŖ0BzQGU%8gr֔!`!a&\Ԅ WFw؂k(ejiB&!b: W>(HwG.\1qtf٩lj!6j-0E0[{nzZ~^y~?74XUƶxZJnoԸW 7ț]s} k߻tT#=ܯVLJ{Ή>HɺUJy3KD҅>m1[ve3}Fi>P db;1vMT9Glq;K].tT1ruly=[}s}LvUK6/XV egֽP%I_U  ]+ѳ"!>dlY+z3Nk ! b-+} YQv&:7>Bb ҏJmw@ެCd#䇙:]wRWFrnYIP6aX# ^(9m2澟Ц:1mY6%m{Oy9R;{4Vyw[֑KN-:½4=Amzmއf rF+H8,$?F$w[yn󞨶8ve*{ݻXvOh&b]7t% kŽԉfudv3Yl8[Z8艬o"yX>s.x&(;T{4NP%o5ӹ%6Љ MjP%-eWİۚ!fNb su}ElaxX[D纍I:};yx3`wK]Elˠ;%?I3ra~ީ;ɆbI`5M+4ޓEl-:vt}x?gov}bGB ]=,ȴ;/ںJCC:Qu$i\RTpl|U . _R(Ty=IU;T #崥(7N5]vAʵږʝ^cz:;l#kb$jOOl#KgILٰȩEh}qDr;G{|AJVB&b !m\Qdh8s1yNlHГ;h/+hx ,滾?]ב< #}ŶVȣ=3w@d}'2xd#fL+G\5H{I7tǛIR78\1+6Heӧx:ksX8lkrS;|oK4{AL-q{}Bä iaKLM\Qf5D1EƆ Rn^]m(-{n /Fd L50=IkhsPƽ+31mIvJmLJ9&Նty%Į,L[dvm^(Z1;wB.Z,-"u'K0WKlMoxO3[؏V`s3H8:1eDI#Kg AT,l8 1̬r*m/@`]/%|-s+ [a=bCrUL-m k`'L,`HMl S)7l_Z+߄jY\'= SR[eU#^^Ǵ|( }v;&resC1]HAl ܝs.,*G'u?L(cn+w:N^ ꌠ+R[Vvs~Xvo*&=aETJb@mz4Vt؊ۿ`i<"?$Ėp>Xq.xsU~vB:Ɲ&<ͤ&eYxָMt!MT:[o@W}{RgNC}(тrD #Hv8;.̭MQ1\ζ`Fha+FL"m8BLzhQr))Fgة(Xd)L&&nk% ?&|8z#o&HN@4 mb f[hOk#!% ?;qdg)ll1,Ћ7QxpK  m66gEz6 }Xl: El\@h[El\(JhKNpR@h{6:g띙 F`J;l;Ne0B0v8Fgu-aV Gl{zM1l^ ="8m=]WBKh St&#`'fCh۽{E1lp*,aVg"N1iaOWEQ/vJ`v[}GQaW!a*zt(p0Π6<ؐrZ6.=:7kvCQ 0Bn 6i,&bB +٩*uo4H 0͂Z&)18hs`1P[$LhA++ >40Rڔ,l15mkN) _.@lR[" , G! ,b A4XM+_w,b 0~Ϭۭ(iD3[SE lYc~zN or|.Pb ]b[uخ6~b-cb ›QBf[ [="B*vOˢ' B=:+\-b +]#wgq}?[Nzw" -v{~cmqB LzRw X߷@lADqc@֙ʒRN@l[@l[+9>Z4IENDB`{ "name": "Developer", "description": "Installs a lean developer-focused starting point with minimal sample content, intended for teams who want to begin building the site structure themselves.", "default_selected": false, "legacy_script": "initial.php" } [ { "name": "Default", "description": "Default design with just the default template.", "default": true } ] [ { "key": "home", "name": "Home", "menu_text": "Home Page", "owner": 1, "template": "Default", "parent": "-1", "active": true, "show_in_menu": true, "cachable": true, "default_content": true, "searchable": 1, "design": "Default", "content": { "en": "pages/home.html" } } ] [ { "name": "page", "originator": "core", "default": true, "lang_callback": "CmsTemplateResource::page_type_lang_callback", "content_callback": "CmsTemplateResource::reset_page_type_defaults", "help_callback": "CmsTemplateResource::template_help_callback", "content_block": true, "reset_factory": true }, { "name": "generic", "originator": "core", "lang_callback": "CmsTemplateResource::generic_type_lang_callback", "help_callback": "CmsTemplateResource::template_help_callback" } ] [ { "name": "Default", "description": "This is the default minimal template. A simple starting point to build templates from.", "type": "page", "default": true, "owner": 1, "designs": [ "Default" ], "source": "templates/default.tpl" } ]

Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are almost ready to start building your site.

If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.

To get to the Administration Console you have to login as the administrator on your site at /admin.

License

CMS Made Simple is released under the GPL license.

{ "name": "Minimal", "description": "Installs a very small starter site with the default design, one main template and a basic home page so you can build from a clean foundation.", "default_selected": false, "manifest_files": { "designs": "manifest/designs.json", "template_types": "manifest/template_types.json", "templates": "manifest/templates.json", "pages": "manifest/pages.json" } } {strip} {process_pagedata} {/strip} {title} - {sitename} {metadata} {cms_stylesheet}

{title}

{content}
this process in order to proceed!

Once you have reverted the admin directory name to its original location, please reload this page.'; $lang['error_backupconfig'] = 'We could not properly backup the config file'; $lang['error_checksum'] = 'Extracted file checksum does not match original'; $lang['error_cmstablesexist'] = 'It appears that there is already a CMS installation on this database. Please enter different database information. If you would like to use a different table prefix you may need to restart the installation process and enable advanced mode.'; $lang['error_createtable'] = 'Problem creating database table... perhaps this is a permissions issue'; $lang['error_dbconnect'] = 'We could not connect to the database. Please double check the credentials you have supplied'; $lang['error_dirnotvalid'] = 'The directory %s does not exist (or is not writeable)'; $lang['error_droptable'] = 'Problem dropping database table... perhaps this is a permissions issue'; $lang['error_filenotwritable'] = 'The file %s could not be overwritten (permissions problem)'; $lang['error_internal'] = 'Sorry, something has gone wrong... (internal error) (%s)'; $lang['error_invalid_directory'] = 'It appears that the directory you have selected to install in is a working directory for the installer itself'; $lang['error_invalidconfig'] = 'Error in the config file, or config file missing'; $lang['error_invaliddbpassword'] = 'Database password contains invalid characters that cannot be safely saved.'; $lang['error_invalidkey'] = 'Invalid member variable or key %s for class %s'; $lang['error_noinstallprofile'] = 'Please choose a valid starter content profile.'; $lang['error_invalidparam'] = 'Invalid parameter or value for parameter: %s'; $lang['error_invalidtimezone'] = 'The timezone specified is invalid'; $lang['error_invalidqueryvar'] = 'The query variable entered contains invalid characters. Please use only alphanumerics and underscore.'; $lang['error_missingconfigvar'] = 'The key "%s" is either missing or invalid in the config.ini file'; $lang['error_noarchive'] = 'Problem finding archive file... please restart'; $lang['error_nlsnotfound'] = 'Problem finding NLS files in archive'; $lang['error_nodatabases'] = 'No compatible database extensions could be found'; $lang['error_nodbhost'] = 'Please enter a valid hostname (or IP address) for the database connection'; $lang['error_nodbname'] = 'Please enter the name of a valid database on the host specified above'; $lang['error_nodbpass'] = 'Please enter a valid password for authenticating to the database'; $lang['error_nodbprefix'] = 'Please enter a valid prefix for database tables'; $lang['error_nodbtype'] = 'Please select a database type'; $lang['error_nodbuser'] = 'Please enter a valid username for authenticating to the database'; $lang['error_nodestdir'] = 'Destination directory not set'; $lang['error_nositename'] = 'Sitename is a required parameter. Please enter a suitable name for your website.'; $lang['error_notimezone'] = 'Please enter a valid timezone for this server'; $lang['error_overwrite'] = 'Permissions problem: cannot overwrite %s'; $lang['error_sendingmail'] = 'Error sending mail'; $lang['error_tzlist'] = 'A problem occurred retrieving the timezone identifiers list'; $lang['errorlevel_estrict'] = 'Checking for E_STRICT'; $lang['errorlevel_edeprecated'] = 'Checking for E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED is enabled in the PHPs error_reporting. Though this will not prevent CMSMS from operating, it may result in warnings being displayed in the output screen, particularly from older, third party modules'; $lang['estrict_enabled'] = 'E_STRICT is enabled in the PHPs error_reporting. Though this will not prevent CMSMS from operating, it may result in warnings being displayed in the HTML output, particularly from older, third party modules'; # F $lang['fail_assets_dir'] = 'An assets directory already exists. This application may write to this directory to rationalize the location of files. Please ensure that you have a backup'; $lang['fail_assets_msg'] = 'An assets directory already exists. This application may write to this directory to rationalize the location of files. Please ensure that you have a backup'; $lang['fail_config_writable'] = 'The HTTP process cannot write to the config.php file. Please try to change the permissions on this file to 777 until the upgrade process is complete'; $lang['fail_curl_extension'] = 'The curl extension was not found. Though not a critical issue, this may cause problems with some third party modules'; $lang['fail_database_support'] = 'No compatible database drivers found'; $lang['fail_file_get_contents'] = 'The file_get_contents function does not exist, or is disabled. CMSMS Cannot continue (even the installer will probably fail)'; $lang['fail_file_uploads'] = 'File upload capabilities are disabled in this environment. Several functions of CMSMS will not function in this environment'; $lang['fail_func_json'] = 'json functionality was not found'; $lang['fail_func_gzopen'] = 'gzopen function was not found'; $lang['fail_func_md5'] = 'md5 functionality was not found'; $lang['fail_func_tempnam'] = 'The tempnam function does not exist. It is a required function for CMSMS functionality'; $lang['fail_func_ziparchive'] = 'ZipArchive functionality was not found. This may limit functionality'; $lang['fail_ini_set'] = 'It appears that we cannot change ini settings. This could cause problems in third party modules (or when enabling debug mode)'; $lang['fail_intl_support'] = 'PHP\'s internationalization extension is not available'; $lang['fail_magic_quotes_runtime'] = 'It appears that magic quotes are enabled in your configuration. Please disable them and retry'; $lang['fail_max_execution_time'] = 'Your max execution time of %s does not meet the minimum value of %s. We recommend you increase it to %s or greater'; $lang['fail_memory_limit'] = 'Your memory limit value is too low. You had %s, however a minimum of %s is required, and %s is recommended'; $lang['fail_multibyte_support'] = 'Multibyte support is not enabled in your configuration'; $lang['fail_output_buffering'] = 'Output buffering is not enabled.'; $lang['fail_open_basedir'] = 'Open basedir restrictions are in effect. CMSMS requires that this be disabled'; $lang['fail_php_version'] = 'The version of PHP available to CMSMS is critically important. The minimum accepted version is %s, though we recommend %s or greater. You have %s'; $lang['fail_post_max_size'] = 'Your post max size of %s does not meet the minimum value of %s. A value of %s or greater is recommended, and ensure that it is larger than the upload_max_filesize'; $lang['fail_pwd_writable2'] = 'The HTTP process must be able to write to the destination directory (and to all files and directories beneath it) in order to install files. We do not have write permission to (at least) %s'; $lang['fail_register_globals'] = 'Please disable register globals in your PHP configuration'; $lang['fail_remote_url'] = 'We encountered problems connecting to a remote URL. This will limit some of the functionality of CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS will not operate properly in an environment where safe mode is enabled. Safe mode is deprecated as a failed mechanism, and will be removed in future versions of PHP'; $lang['fail_session_save_path_exists'] = 'The session save path variable value is invalid or the directory does not exist'; $lang['fail_session_save_path_writable'] = 'The session save path directory is not writeable'; $lang['fail_session_use_cookies'] = 'CMSMS requires that PHP be configured to store the session key in a cookie'; $lang['fail_tmpfile'] = 'The system tmpfile() function is not functioning. This is required to allow us to extract archives. The optional TMPDIR url argument can be provided to the installer to specify a writeable directory. See the README file that should be in included in this directory.'; $lang['fail_tmp_dirs_empty'] = 'The CMSMS Temporary directories (tmp/cache and tmp/templates_c) exist, and are not empty. Please remove or empty them'; $lang['fail_xml_functions'] = 'The XML extension was not found. Please enable this in your PHP environment'; $lang['failed'] = 'failed'; $lang['file_get_contents'] = 'Testing for the file_get_contents function'; $lang['file_installed'] = 'Installed %s'; $lang['file_uploads'] = 'Checking for file upload support'; $lang['finished_custom_freshen_msg'] = 'Your installation has been freshened! The core files have been updated, and a new config file created. Please visit your website to ensure that everything is functioning correctly'; $lang['finished_custom_install_msg'] = 'Done! Please visit your website and login to the Admin panel.'; $lang['finished_custom_upgrade_msg'] = 'Done! Please visit your CMSMS Admin panel, and frontend, to ensure that everything is working properly.
Hint: Now is a good time to create another backup.'; $lang['finished_freshen_msg'] = 'Your installation has been freshened! The core files have been updated, and a new config file created. You can now visit your website or login to the CMSMS Admin panel.'; $lang['finished_install_msg'] = 'We are done! You can now visit your website or login to the CMSMS admin panel.'; $lang['finished_upgrade_msg'] = 'All done! Please visit your website frontend and the Admin panel to verify correct behaviour. You may also need to upgrade some third party modules.
Hint: Remember to create another backup after verifying correct behaviour.'; $lang['freshen'] = 'Freshen (repair) installation'; $lang['func_json'] = 'Checking for json encoding and decoding functionality'; $lang['func_md5'] = 'Checking for md5 functionality'; $lang['func_tempnam'] = 'Check for tempnam function'; $lang['func_gzopen'] = 'Check for gzopen function'; $lang['func_ziparchive'] = 'Check for ziparchive function'; # G $lang['gd_version'] = 'GD Version'; $lang['goback'] = 'Back'; # H # I $lang['info_addlanguages'] = 'Select languages (in addition to English) to install. Note: not all translations are complete.'; $lang['info_adminaccount'] = 'Please provide credentials for the initial administrator account. This account will have access to all of the functionality of the CMSMS Admin console.'; $lang['info_advanced'] = 'Advanced mode enables more options in the installation procedure.'; $lang['info_dbinfo'] = 'CMS Made Simple stores a great deal of data in the database. A database connection is mandatory. Additionally, the user credentials you supply should have ALL PRIVILEGES on the specified database to allow creating, dropping and modifying tables, indexes and views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED is a flag for PHP"s error reporting that indicates that warnings should be displayed about code that is using deprecated techniques. Although the CMSMS core attempts to ensure that we no longer use deprecated techniques, some modules may not. We recommend that this setting be disabled in the PHP configuration'; $lang['info_errorlevel_estrict'] = 'E_STRICT is a flag for PHP's error reporting which indicates that strict coding standards should be respected. Although the CMSMS core attempts to conform to E_STRICT standards, some modules may not. We recommend that this setting be disabled in the PHP configuration'; $lang['info_installcontent'] = 'By default, this installer will create a series of sample pages, stylesheets and templates in CMSMS. The sample content provides extensive information and tips to aid in building websites with CMSMS and is useful to read. However, if you are already familiar with CMS Made Simple, disabling this option will result in a minimal set of templates, stylesheets and content pages.'; $lang['info_installprofile'] = 'Choose the starter content profile that best matches how you want to begin. The notes below explain what each profile installs.'; $lang['info_optionalmodules'] = 'Choose any optional core modules you want available in the new site. Each description explains what the module is for.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir is enabled in your PHP configuration. We could not properly test session capabilities. However, getting to this point in the installation process probably indicates that sessions are working okay.'; $lang['info_pwd_writable'] = 'This application needs write permission to the current working directory'; $lang['info_queryvar'] = 'The query variable is used internally by CMSMS to identify the page requested. In most circumstances you should not need to adjust this.'; $lang['info_sitename'] = 'The website name is used in default templates as part of the title. Please enter a human readable name for the website'; $lang['info_timezone'] = 'The time zone information is needed for time calculations and time/date displays. Please select the server timezone'; $lang['ini_set'] = 'Testing if we can change INI settings'; $lang['install'] = 'Install'; $lang['install_attachstylesheets'] = 'Attach stylesheets to themes'; $lang['install_backupconfig'] = 'Backing up the config file'; $lang['install_createassets'] = 'Create assets structure'; $lang['install_created_index'] = 'Created index %s ... %s'; $lang['install_create_tables'] = 'Create database tables'; $lang['install_createconfig'] = 'Create new config file'; $lang['install_createcontentpages'] = 'Create default content pages'; $lang['install_created_table'] = 'Created table %s: .... %s'; $lang['install_createtablesindexes'] = 'Creating tables and indexes'; $lang['install_createtmpdirs'] = 'Create temporary directories'; $lang['install_creating_index'] = 'Created index %s'; $lang['install_default_collections'] = 'Install Default collections'; $lang['install_defaultcontent'] = 'Install default content'; $lang['install_detectlanguages'] = 'Detect installed languages'; $lang['install_dropping_tables'] = 'Dropping tables'; $lang['install_dummyindexhtml'] = 'Create dummy index.html files'; $lang['install_extractfiles'] = 'Extract files from archive'; $lang['install_initevents'] = 'Create events'; $lang['install_initsitegroups'] = 'Create initial groups'; $lang['install_initsiteperms'] = 'Set initial permissions'; $lang['install_initsiteprefs'] = 'Set initial site preferences'; $lang['install_initsiteusers'] = 'Create initial user account'; $lang['install_initsiteusertags'] = 'Initial user defined tags'; $lang['install_module'] = 'Install module %s'; $lang['install_modules'] = 'Install available modules'; $lang['install_optionalmodule'] = 'Adding optional module bundle %s'; $lang['install_optionalmodules'] = 'Adding selected optional module bundles'; $lang['install_using_profile'] = 'Using install profile: %s'; $lang['install_passwordsalt'] = 'Set password salt'; $lang['install_requireddata'] = 'Set initial required data'; $lang['install_schema'] = 'Create database schema'; $lang['install_setschemaver'] = 'Set schema version'; $lang['install_setsequence'] = 'Reset sequence tables'; $lang['install_setsitename'] = 'Set site name'; $lang['install_stylesheets'] = 'Create default stylesheets'; $lang['install_templates'] = 'Create default templates'; $lang['install_templatetypes'] = 'Create standard template types'; $lang['install_update_sequences'] = 'Update sequence tables'; $lang['install_updatehierarchy'] = 'Update content hierarchy positions'; $lang['install_updateseq'] = 'Update sequence for %s'; $lang['installer_ver'] = 'Installer Version'; $lang['intl_support'] = 'Check for internationalization capabilities'; # J # K # L $lang['legend'] = 'Legend'; # M $lang['magic_quotes_runtime'] = 'Ensure magic quotes are disabled'; $lang['max_execution_time'] = 'Checking PHP script max execution time'; $lang['meaning'] = 'Meaning'; $lang['memory_limit'] = 'Checking for a sufficient PHP memory limit'; $lang['msg_clearedcache'] = 'Cleared server cache'; $lang['msg_configsaved'] = 'Existing config file saved to %s'; $lang['msg_upgrade_module'] = 'Upgrading module %s'; $lang['msg_upgrademodules'] = 'Upgrading modules'; $lang['msg_yourvalue'] = 'You have: %s'; $lang['multibyte_support'] = 'Check for multibyte support'; # N $lang['next'] = 'Next'; $lang['no'] = 'No'; $lang['none'] = 'None'; # O $lang['open_basedir'] = 'open_basedir restrictions'; $lang['open_basedir_session_save_path'] = 'open_basedir is in enabled. Cannot test session save path.'; $lang['output_buffering'] = 'Ensuring that output buffering is enabled'; # P $lang['pass_config_writable'] = 'The HTTP process has write permission to the config.php file'; $lang['pass_database_support'] = 'At least one compatible database driver found'; $lang['pass_func_json'] = 'json functionality detected'; $lang['pass_func_md5'] = 'md5 functionality was detected'; $lang['pass_func_tempnam'] = 'The tempnam function exists'; $lang['pass_intl_support'] = 'Internationalization capabilities appear to be enabled'; $lang['pass_memory_limit_nolimit'] = 'There is no preset PHP memory limit'; $lang['pass_multibyte_support'] = 'Multibyte support appears to be enabled'; $lang['pass_php_version'] = 'The PHP version currently configured does not meet minimum requirements. At a minimum, PHP %s is required, though we recommend %s or higher'; $lang['pass_pwd_writable'] = 'The HTTP process can write into the destination directory. This is necessary for extracting files'; $lang['password'] = 'Password'; $lang['ph_sitename'] = 'Enter a Site Name'; $lang['php_version'] = 'PHP Version'; $lang['post_max_size'] = 'Checking maximum amount of data that can be posted in one request'; $lang['prompt_addlanguages'] = 'Additional Languages'; $lang['prompt_createtables'] = 'Create Database Tables'; $lang['prompt_dbhost'] = 'Database Hostname'; $lang['prompt_dbinfo'] = 'Database Information'; $lang['prompt_dbname'] = 'Database Name'; $lang['prompt_dbpass'] = 'Password'; $lang['prompt_dbport'] = 'Database Port Number'; $lang['prompt_dbprefix'] = 'Database Table Name Prefix'; $lang['prompt_dbtype'] = 'Database Type'; $lang['prompt_dbuser'] = 'User name'; $lang['prompt_dir'] = 'Installation Directory'; $lang['prompt_installcontent'] = 'Install Sample Content'; $lang['prompt_installprofile'] = 'Starter content profile'; $lang['prompt_optionalmodules'] = 'Optional core modules'; $lang['prompt_queryvar'] = 'Query Variable'; $lang['prompt_sitename'] = 'Web Site Name'; $lang['prompt_timezone'] = 'Server Timezone'; $lang['pwd_writable'] = 'Directory Writeable'; # Q $lang['queue_for_upgrade'] = 'Queued non core module %s for upgrade at the next step.'; # R $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Ensuring "register globals" is disabled'; $lang['remote_url'] = 'Test if we can make outgoing HTTP connections'; $lang['repeatpw'] = 'Repeat password'; $lang['reset_site_preferences'] = 'Reset some site preferences'; $lang['reset_user_settings'] = 'Reset user preferences'; $lang['retry'] = 'Retry'; # S $lang['safe_mode'] = 'Testing to ensure "safe mode" is disabled'; $lang['saltpasswords'] = 'Salt Passwords'; $lang['select_language'] = 'The first thing we will ask you to do is to select your preferred language from the list below. This will be used to enhance your experience during this installation sequence, but will not affect your CMSMS installation.'; $lang['send_admin_email'] = 'Send Admin login credentials email'; $lang['session_capabilities'] = 'Testing for proper session capabilities (sessions are using cookies and session save path is writeable, etc)'; $lang['session_save_path_exists'] = 'Session_save_path exists'; $lang['session_save_path_writable'] = 'Session_save_path is writeable'; $lang['session_use_cookies'] = 'Ensuring that PHP sessions use cookies'; $lang['sometests_failed'] = 'We have performed numerous tests of your current web environment. Although no critical issues were found, we recommend that the following items be corrected before continuing.'; $lang['step1_advanced'] = 'Advanced Mode'; $lang['step1_destdir'] = 'Select Directory'; $lang['step1_info_destdir'] = 'Warning: This program can install or upgrade multiple installations of CMS Made Simple. It is important that you select the correct directory for installation or upgrading.'; $lang['step1_language'] = 'Select Language'; $lang['step1_title'] = 'Select Language'; $lang['step2_cmsmsfound'] = 'An installation of CMS Made Simple was found. It is possible to upgrade this installation. However, before proceeding, ensure that you have a current, VERIFIED backup of all files and of the database'; $lang['step2_cmsmsfoundnoupgrade'] = 'Although an installation of CMS Made Simple was found, it is not possible to upgrade this version using this application. The version may be too old.'; $lang['step2_confirminstall'] = 'Are you sure you would like to install CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Are you sure you would like to upgrade CMS Made Simple'; $lang['step2_errorsamever'] = 'The selected directory appears to contain a CMSMS installation with the same version that is included in this script. Continuing will freshen the installation.'; $lang['step2_errortoonew'] = 'The selected directory appears to contain a CMSMS installation with a newer version that is included in this script. Unable to proceed'; $lang['step2_info_freshen'] = 'Freshening the installation involves replacing all core files and recreating the configuration. You will be asked basic configuration information, however the database will not be touched.'; $lang['step2_installdate'] = 'Approximate installation date'; $lang['step2_install_dirnotempty2'] = 'This folder already contains some files and/or subfolders. Though it is possible to install CMSMS here, it may inadvertantely corrupt an existing application. Please double check the contents of this folder. For reference purposes some of the files are listed below. Please ensure that this is correct.'; $lang['step2_hdr_upgradeinfo'] = 'Version information'; $lang['step2_info_upgradeinfo'] = 'Below are the available release notes and changelog information for each release. The buttons below will display detailed information as to what has changed in each version of CMS Made Simple. There may be further instructions or warnings in each version that could affect the upgrade process.'; $lang['step2_minupgradever'] = 'The minimum version that this application can upgrade from is: %s. You may need to upgrade your application to a newer version in stages, using another method before completing the upgrade process. Please ensure that you have a complete, verified backup before using any upgrade method.'; $lang['step2_nocmsms'] = 'We did not find an installation of CMS Made Simple in this directory. It looks like this is a new installation'; $lang['step2_nofiles'] = 'As requested, CMSMS Core files will not be processed during this process'; $lang['step2_passed'] = 'Passed'; $lang['step2_pwd'] = 'Your current working directory'; $lang['step2_schemaver'] = 'Database Schema version'; $lang['step2_version'] = 'Your version'; $lang['step3_failed'] = 'This package has performed numerous tests of your PHP environment, and one or more of those tests have failed. You will need to rectify these errors in your configuration before continuing. Once you have rectified the errors, click "Retry" below.'; $lang['step3_passed'] = 'This package has performed numerous tests of your PHP environment, and they have all passed. This is great news! Although this is not an all-encompassing test, you should have no difficulty running the core installation of CMSMS.'; $lang['step9_get_help'] = 'Connect with other CMSMS developers and get help in the following ways'; $lang['step9_get_support'] = 'Support channels'; $lang['step9_join_community'] = 'Join our community'; $lang['step9_love_cmsms'] = 'Love CMS Made Simple'; $lang['step9_removethis'] = 'Warning For security reasons it is important that you remove the installation assistant from your browseable website as soon as you have verified that the operation has succeeded.'; $lang['step9_support_us'] = 'Click here to find out how you can support us'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'I have successfully installed CMS Made Simple!'; # T $lang['test_failed'] = 'A required test failed'; $lang['test_passed'] = 'A test passed (passed tests are only displayed in advanced mode)'; $lang['test_warning'] = 'A setting is above the required value, but below the recommended value, or...
A capability that may be required for some optional functionality is unavailable'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Value'; $lang['title_error'] = 'Houston, We have a problem!'; $lang['title_step2'] = 'Step 2 - Detect existing software'; $lang['title_step3'] = 'Step 3 - Tests'; $lang['title_step4'] = 'Step 4 - Basic Configuration Information'; $lang['title_step5'] = 'Step 5 - Admin Account Information'; $lang['title_step6'] = 'Step 6 - Site Settings'; $lang['title_step7'] = 'Step 7 - Install Application Files'; $lang['title_step8'] = 'Step 8 - Database Work'; $lang['title_step9'] = 'Step 9 - Finish'; $lang['title_welcome'] = 'Welcome'; $lang['title_forum'] = 'Support Forum'; $lang['title_docs'] = 'Official Documentation'; $lang['title_api_docs'] = 'Official API Documentation'; $lang['to'] = 'to'; $lang['title_share'] = 'Share your experience with your friends.'; $lang['tmpfile'] = 'Checking for working tmpfile()'; $lang['tmp_dirs_empty'] = 'Ensure that temporary directories are empty or do not exist'; # U $lang['upgrade'] = 'Upgrade'; $lang['upgrade_deleteoldevents'] = 'Deleting old events'; $lang['upgrade_optionalmodule'] = 'Refreshing optional module bundle %s'; $lang['upgrade_optionalmodules'] = 'Refreshing optional module bundles already present in this site'; $lang['upgrading_schema'] = 'Updating database schema'; $lang['upload_max_filesize'] = 'Checking maximum size of uploaded files'; $lang['username'] = 'User name'; # V # W $lang['warn_disable_functions'] = 'Note: one or more PHP core functions are disabled. This can have negative impact on your CMSMS installation, particularly with third party extensions. Please keep an eye on your error log. Your disabled functions are:

%s'; $lang['warn_max_execution_time'] = 'Although your max execution time of %s meets or exceeds the minimum value of %s, we recommend you increase it to %s or greater'; $lang['warn_memory_limit'] = 'Your memory limit value is %s, which is above the minimum of %s. However, %s is recommended'; $lang['warn_open_basedir'] = 'open_basedir is enabled in your php configuration. Although you may continue, CMSMS will not support installs with open_basedir restrictions.'; $lang['warn_post_max_size'] = 'Your post max size value is %s, which is above the minimum of %s, however %s is recommended. Also, please ensure that this value is larger than the upload_max_filesize'; $lang['warn_tests'] = 'Note: passing all of these tests should ensure that CMSMS functions properly for most sites. However, as the site grows and more functionality is added, these minimal values may become insufficient. Additionally, third party modules may have further requirements to function properly'; $lang['warn_upload_max_filesize'] = 'Although your setting of %s is sufficient, we recommend you increase the upload_max_filesize setting in PHP to at least %s'; $lang['welcome_message'] = 'Welcome! This is the CMS Made Simple Automatic Installation Mechanism. This package will allow you to quickly and easily confirm that your web host is compatible with CMSMS and to install or upgrade to the latest version of CMS Made Simple.
We know that you will enjoy it.'; $lang['wizard_step1'] = 'Welcome'; $lang['wizard_step2'] = 'Detect Existing Software'; $lang['wizard_step3'] = 'Compatibility Tests'; $lang['wizard_step4'] = 'Configuration Info'; $lang['wizard_step5'] = 'Admin Account Info'; $lang['wizard_step6'] = 'Site Settings'; $lang['wizard_step7'] = 'Files'; $lang['wizard_step8'] = 'Database work'; $lang['wizard_step9'] = 'Finish'; # X $lang['xml_functions'] = 'Checking for XML functionality'; # Y $lang['yes'] = 'Yes'; # Z ?> denne proces, før du kan fortsætte!

Når du har genoprettet oprindeligt navn på og sti til administrationsmappen, bedes du venligst genindlæse denne side.'; $lang['error_backupconfig'] = 'Vi var ikke i stand til at tage en ordentlig backup af konfigurationsfilen'; $lang['error_checksum'] = 'Tjeksummen for den udpakkede fil svarer ikke til den oprindelige'; $lang['error_cmstablesexist'] = 'Det ser ud til, at der allerede findes en installation af CMS i denne database. Indtast venligst informationer vedrørende en anden database. Hvis du godt vil bruge et andet præfiks til tabellerne, kan det være nødvendigt at genstarte installationsprocessen og så anvende den avancerede metode.'; $lang['error_createtable'] = 'Oprettelse af databasetabel stødte ind i problemer... Måske mangler de fornødne tilladelser'; $lang['error_dbconnect'] = 'Vi kunne ikke oprette forbindelse til databasen. Dobbelttjek venligst de oplysninger, som du har angivet'; $lang['error_dirnotvalid'] = 'Mappen %s findes ikke (eller der mangler en skrivetilladelse den)'; $lang['error_droptable'] = 'Sletning af databasetabel stødte ind i problemer... Måske mangler de fornødne tilladelser'; $lang['error_filenotwritable'] = 'Filen %s kunne ikke overskrives (problem med tilladelser)'; $lang['error_internal'] = 'Beklager, et eller andet er gået galt... (intern fejl) (%s)'; $lang['error_invalid_directory'] = 'Det ser ud til, at den mappe, som du har valgt til installationen, er den samme mappe som installalationsfilerne selv bruger'; $lang['error_invalidconfig'] = 'Der er enten en fejl i konfigurationsfilen eller denne fil mangler'; $lang['error_invaliddbpassword'] = 'Adgangskoden til databasen indeholder ugyldige tegn, som det ikke er forsvarligt at gemme'; $lang['error_invalidkey'] = 'Ugyldig medlemsvariabel eller nøgle %s for klassen %s'; $lang['error_invalidparam'] = 'Ugyldig parameter eller værdi for parametren %s'; $lang['error_invalidtimezone'] = 'Den angivne tidszone er ugyldig'; $lang['error_invalidqueryvar'] = 'Den indtastede variabel i forbindelse med forespørgslen indeholder ugyldige tegn. Anvend venligst kun alfanumeriske tegn samt underscore.'; $lang['error_missingconfigvar'] = 'Enten mangler nøglen "%s" eller denne er ugyldig i config.ini filen'; $lang['error_noarchive'] = 'Der er problemer med at finde den pakkede arkivfil... Genstart venligst'; $lang['error_nlsnotfound'] = 'Der er problemer med at finde NLS-filer i arkivfilen'; $lang['error_nodatabases'] = 'Der blev ikke fundet en kompatibel database-ekstension'; $lang['error_nodbhost'] = 'Indtast venligst et gyldigt værtsnavn (eller IP adresse) til databaseforbindelsen'; $lang['error_nodbname'] = 'Indtast venligst navnet på en gyldig database eller vært som specificeret ovenfor'; $lang['error_nodbpass'] = 'Indtast venligst en gyldig adgangskode som godkendelse til databasen'; $lang['error_nodbprefix'] = 'Indtast venligst et gyldigt præfiks til databasens tabeller'; $lang['error_nodbtype'] = 'Vælg venligst en databasetype'; $lang['error_nodbuser'] = 'Indtast venligst et gyldigt brugernavn som godkendelse til databasen'; $lang['error_nodestdir'] = 'Destinationsmappe er ikke angivet'; $lang['error_nositename'] = 'Navnet på hjemmesiden er et obligatorisk parameter. Indtast venligst et passende navn for din hjemmeside.'; $lang['error_notimezone'] = 'Angiv venligst en gyldig tidszone for denne server'; $lang['error_overwrite'] = 'Der er et problem vedrørende tilladelser: %s kan ikke overskrives'; $lang['error_sendingmail'] = 'Fejl under afsendelse af email'; $lang['error_tzlist'] = 'Der er problemer med at finde listen over tidszone-identifikatorer'; $lang['errorlevel_estrict'] = 'Tjekker E_STRICT'; $lang['errorlevel_edeprecated'] = 'Tjek af'; $lang['edeprecated_enabled'] = 'E_DEPRECATED er i anvendelse i PHPs fejlrapporteringssektion. Selvom dette ikke forhindrer CMSMS i at fungere, så kan det resultere i, at der vises advarselsmeddelelser på skærmen - især fra ældre 3. parts moduler'; $lang['estrict_enabled'] = 'E_STRICT er i anvendelse i PHPs fejlrapporteringssektion. Selvom dette ikke forhindrer CMSMS i at fungere, så kan det resultere i, at der vises advarselsmeddelelser på skærmen - især fra ældre 3. parts moduler'; $lang['fail_assets_dir'] = 'Mappen assets findes allerede. Denne applikation skriver muligvis til denne mappe for at rationalisere lokaliseringen af filerne. Du bedes venligst sikre dig, at du har taget backup'; $lang['fail_assets_msg'] = 'Mappen assets findes allerede. Denne applikation skriver muligvis til denne mappe for at rationalisere lokaliseringen af filerne. Du bedes venligst sikre dig, at du har taget backup'; $lang['fail_config_writable'] = 'HTTP-processen kan ikke skrive til filen config.php. Prøv venligst at ændre filens tilladelser til 777 indtil opgraderingsprocessen er gennemført'; $lang['fail_curl_extension'] = 'curl-udvidelsen blev ikke fundet. Selvom dette ikke er af afgørende betydning, så kan det medføre problemer i forhold til trediehåndsmoduler'; $lang['fail_database_support'] = 'Der blev ikke fundet nogen kompatible database drivere'; $lang['fail_file_get_contents'] = 'Funktionen file_get_contents findes enten ikke, eller også er funktionen deaktiveret. CMSMS kan ikke fortsætte (selv installationsprocessen vil sandsynligvis slå fejl)'; $lang['fail_file_uploads'] = 'Fil-upload er deaktiveret. Flere af CMSMS\' funktioner kan ikke fungere i dette miljø'; $lang['fail_func_json'] = 'json-funktionalitet blev ikke fundet'; $lang['fail_func_gzopen'] = 'gzopen-funktionalitet blev ikke fundet'; $lang['fail_func_md5'] = 'md5-funktionalitet blev ikke fundet'; $lang['fail_func_tempnam'] = 'Funktionen tempnam findes ikke. CMSMS kan ikke køre uden denne funktion'; $lang['fail_func_ziparchive'] = 'Funktionen ZipArchive blev ikke fundet. Dette kan medføre begrænset funktionalitet'; $lang['fail_ini_set'] = 'Det ser ikke ud til, at vi kan ændre ini-indstillingerne. Dette kan medføre problemer i forbindelse med trediepartsmoduler (eller ved aktivering af fejlfinding eller debug mode)'; $lang['fail_magic_quotes_runtime'] = 'Det ser ud til, at magic quotes er aktiveret i din konfiguration. Deaktiver det venligst og prøv så igen'; $lang['fail_max_execution_time'] = 'Din indstilling for max execution time er sat til %s, hvilket ikke imødekommer kravet på mindst %s. Vi anbefaler, at du øger værdien til %s eller mere'; $lang['fail_memory_limit'] = 'Hos dig er værdien for memory limit sat til %s, men mindst %s er påkrævet og %s anbefales'; $lang['fail_multibyte_support'] = 'Multibyte-understøttelse er ikke aktiveret i din konfiguration'; $lang['fail_output_buffering'] = 'Output buffering er ikke aktiveret'; $lang['fail_open_basedir'] = 'Open basedir restrictions er aktiveret. CMSMS fungerer kun, hvis dette er deaktiveret'; $lang['fail_php_version'] = 'Den version af PHP som CMSMS har adgang til er af helt afgørende betydning. Der skal som minimum være adgang til version %s, omend vi anbefaler %s eller højere. Du har version %s'; $lang['fail_post_max_size'] = 'Hos dig er værdien for post max size sat til %s, hvilket ikke imødekommer minimumskravet på %s. Værdier på %s eller mere anbefales og sikrer, at værdien overstiger værdien for upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-processen skal kunne skrive til destinationsmappen (og til alle filer samt mapper derunder) for at kunne installere filerne. Vi mangler skrivetilladelser til (i hvert fald) %s'; $lang['fail_register_globals'] = 'Deaktiver venligst register globals i PHP-konfigurationen'; $lang['fail_remote_url'] = 'Vi stødte på problemer med at oprette forbindelse til remote URL. Dette vil medføre begrænsninger i forhold til visse af CMSMS\' funktioner'; $lang['fail_safe_mode'] = 'CMSMS kan ikke køre ordentligt i et miljø, hvor safe mode er aktiveret. Safe mode er forældet, da mekanismen er behæftet med fejl. Safe mode vil blive fjernet i fremtidige versioner af PHP'; $lang['fail_session_save_path_exists'] = 'Værdien af variablen for session save path er enten ugyldig eller også findes mappen ikke'; $lang['fail_session_save_path_writable'] = 'Der kan ikke skrives til mappen for session save path'; $lang['fail_session_use_cookies'] = 'Det er påkrævet, at PHP er konfigureret til at gemme en session key i en cookie'; $lang['fail_tmpfile'] = 'Systemets tmpfile()-funktion er ude af drift. Vi skal bruge funktionen til at udpakke arkivfiler. Argumentet for TMPDIR url kan gøres tilgængelig for installationen, så der kan specificeres et skrivbart direktorie. Se filen README, som burde være inkluderet i denne mappe'; $lang['fail_tmp_dirs_empty'] = 'CMSMS\'s midlertidige mapper (tmp/cache og tmp/templates_c) findes og de er ikke tomme. Fjern eller tøm dem venligst'; $lang['fail_xml_functions'] = 'XML-udvidelsen blev ikke fundet. Aktiver den venligst i dit PHP-miljø'; $lang['failed'] = 'fejlet'; $lang['file_get_contents'] = 'Undersøger funktionen file_get_contents'; $lang['file_installed'] = '%s installeret'; $lang['file_uploads'] = 'Undersøger om file upload understøttes'; $lang['finished_custom_freshen_msg'] = 'Din installation er nu blevet opfrisket! Kernefilerne er blevet opdateret og der er blevet dannet en ny config-fil. Besøg venligst din hjemmeside for at sikre dig, at alt fungerer, som det skal'; $lang['finished_custom_install_msg'] = 'Færdig! Besøg venligst din hjemmeside og log ind i administrationspanelet'; $lang['finished_custom_upgrade_msg'] = 'Færdig! Besøg venligst dit CMSMS administrationspanel og din hjemmeside for at sikre dig, at alt fungerer, som det skal.
Tip: Det er en god idé at foretage en ny backup nu.'; $lang['finished_freshen_msg'] = 'Din installation er nu blevet opfrisket! Kernefilerne er blevet opdateret og der er blevet dannet en ny config-fil. Du kan nu besøge din hjemmeside eller logge ind i CMSMS administrationspanelet.'; $lang['finished_install_msg'] = 'Vi er færdige! Du kan nu besøge din hjemmeside eller logge ind i CMSMS administrationspanelet.'; $lang['finished_upgrade_msg'] = 'Det var det! Besøg venligst din hjemmeside og log ind i CMSMS administrationspanelset for at tjekke at alt opfører sig, som det skal. Det kan også være, at du skal opgradere nogle tredjepartsmoduler.
Tip: Husk at lave en ny backup, når du har bekræftet, at alt er, som det skal være.'; $lang['freshen'] = 'Genopfriskning eller reparation af installation'; $lang['func_json'] = 'Tjekker funktioner for json indkodning og dekodning'; $lang['func_md5'] = 'Tjekker md5-funktionalitet'; $lang['func_tempnam'] = 'Tjekker tempnam-funktionalitet'; $lang['func_gzopen'] = 'Tjekker gzopen-funktionalitet'; $lang['func_ziparchive'] = 'Tjekker ziparchive-funktionalitet'; $lang['gd_version'] = 'GD-version'; $lang['goback'] = 'Tilbage'; $lang['info_addlanguages'] = 'Vælg hvilke sprog der skal installeres (udover engelsk). Bemærk: Ikke alle oversættelser er komplette.'; $lang['info_adminaccount'] = 'Angiv venligst log ind-oplysninger til den første administrator-konto. Kontoen vil have adgang til alle funktioner i CMSMS\' administrationskonsol.'; $lang['info_advanced'] = 'Avanceret installation giver adgang til flere muligheder under installationsproceduren.'; $lang['info_dbinfo'] = 'CMS Made Simple gemmer rigtigt mange data i databasen. Det er derfor helt nødvendigt, at der er forbindelse til en database. Desuden skal den bruger, som du angiver ved log ind have ALL PRIVILEGES på den specificerene database, således at der kan dannes, slettes og rettes i tabeller, indekser og visninger'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED er et flag, som bruges i af PHPs fejlrapportering. Flaget fortæller, at der skal vises advarsler vedrørende kode, som anvender forældede teknikker. Selvom vi forsøger at sikre, at vi ikke længere anvender forældede metoder i kernefilerne, så kan der godt være nogle moduler, hvor dette ikke gælder. Vi anbefaler, at denne indstilling deaktiveres i PHP-konfigurationen'; $lang['info_errorlevel_estrict'] = 'E_STRICT er et flag, som bruges i af PHPs fejlrapportering. Flaget fortæller, at standarderne for strict coding bør respekteres. Selvom kernefilerne i CMSMS forsøger at leve op til E_STRICT-standarderne, så kan der være moduler, hvor dette ikke er tilfældet. Vi anbefaler, at denne indstilling deaktiveres i PHP-konfigurationen'; $lang['info_installcontent'] = 'Hvis intet andet er angivet, vil installationen oprette en række simple sider, typografiark og skabeloner i CMSMS. Det simple indhold indeholder uddybende information samt tips, der kan hjælpe dig med at opbygge hjemmesider i CMSMS - så det er værd at læse. Men hvis du allerede er bekendt med CMS Made Simple, kan muligheden fravælges, hvilket betyder, at der kun oprettes et minimum af skabeloner, typografiark og indholds-sider.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir er aktiveret i din PHP-konfiguration. Vi kunne ikke komme til at teste dueligheden af sessions ordentligt. Men da du er nået hertil i installations-processen, så betyder det sandsynligvis, at sessions fungerer udmærket.'; $lang['info_pwd_writable'] = 'Applikationen skal have skriveadgang til det aktuelle direktorie'; $lang['info_queryvar'] = 'Variablen query bruges internt af CMSMS til at identificere den side, som skal vises. I de fleste tilfælde skulle det ikke være nødvendigt at ændre denne indstilling.'; $lang['info_sitename'] = 'Navnet på hjemmesiden bruges i standard-skabelonerne som en del at titlen. Indtast venligst et navn på hjemmesiden, som er læsbart for mennesker'; $lang['info_timezone'] = 'Information om tidszonen er nødvendig af hensyn til tids-beregninger samt visning af dato og lokkeslæt. Vælg venligst serverens tidszone'; $lang['ini_set'] = 'Tjekker om vi kan ændre indstillinger for INI'; $lang['install'] = 'Installér'; $lang['install_attachstylesheets'] = 'Forbind typografiark med temaer'; $lang['install_backupconfig'] = 'Foretager backup af config-fil'; $lang['install_createassets'] = 'Opret struktur for \'assets\''; $lang['install_created_index'] = 'Oprettede indekser'; $lang['install_create_tables'] = 'Opret tabeller i databasen'; $lang['install_createconfig'] = 'Dan ny config-fil'; $lang['install_createcontentpages'] = 'Opret standardiserede indholds-sider'; $lang['install_created_table'] = 'Oprettede tabeller'; $lang['install_createtablesindexes'] = 'Opretter tabeller og indekser'; $lang['install_createtmpdirs'] = 'Opret mappe til midlertidige filer'; $lang['install_creating_index'] = 'Oprettede indeks'; $lang['install_default_collections'] = 'Installer standard-samlinger'; $lang['install_defaultcontent'] = 'Installer standardiseret indhold'; $lang['install_detectlanguages'] = 'Find installerede sprog'; $lang['install_dropping_tables'] = 'Sletter tabeller'; $lang['install_dummyindexhtml'] = 'Opret dummy index.html-filer'; $lang['install_extractfiles'] = 'Udpak filer fra arkiv'; $lang['install_initevents'] = 'Opret begivenheder'; $lang['install_initsitegroups'] = 'Opret de første grupper'; $lang['install_initsiteperms'] = 'Sæt de første tilladelser'; $lang['install_initsiteprefs'] = 'Sæt de første præferencer'; $lang['install_initsiteusers'] = 'Opret første brugerkonto'; $lang['install_initsiteusertags'] = 'Første brugerdefinerede tags'; $lang['install_module'] = 'Installerer modul %s'; $lang['install_modules'] = 'Installér tilgængelige moduler'; $lang['install_passwordsalt'] = 'Sæt grundværdi for kryptering af adgangskode'; $lang['install_requireddata'] = 'Sæt første påkrævede data'; $lang['install_schema'] = 'Opret skema'; $lang['install_setschemaver'] = 'Bestem version for skema'; $lang['install_setsequence'] = 'Nulstil \'sequence\'-tabeller'; $lang['install_setsitename'] = 'Sæt hjemmesidenavn'; $lang['install_stylesheets'] = 'Opret standardiserede typografiark'; $lang['install_templates'] = 'Opret standardiserede skabeloner'; $lang['install_templatetypes'] = 'Opret standardiserede skabelontyper'; $lang['install_update_sequences'] = 'Opdatér \'sequence\'-tabeller'; $lang['install_updatehierarchy'] = 'Opdater indholdets plads i hierarki'; $lang['install_updateseq'] = 'Opdatér sekvens'; $lang['installer_ver'] = 'Installations-scriptets versionsnummer'; $lang['legend'] = 'Signaturforklaring'; $lang['magic_quotes_runtime'] = 'Sørg for at magic_quotes er deaktiveret'; $lang['max_execution_time'] = 'Afprøver max execution time for PHP-script'; $lang['meaning'] = 'Betyder at'; $lang['memory_limit'] = 'Tjekker at der er tilstrækkelig PHP memory limit'; $lang['msg_clearedcache'] = 'Nulstillede serverens cache'; $lang['msg_configsaved'] = 'Eksisterende config-fil gemt i %s'; $lang['msg_upgrade_module'] = 'Opgraderer modul'; $lang['msg_upgrademodules'] = 'Opgraderer moduler'; $lang['msg_yourvalue'] = 'Du har: %s'; $lang['multibyte_support'] = 'Tjekker understøttelse af multibyte'; $lang['next'] = 'Næste'; $lang['no'] = 'Nej'; $lang['none'] = 'Ingen'; $lang['open_basedir'] = 'Restriktioner for open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir er aktiveret. Kan ikke teste session save path'; $lang['output_buffering'] = 'Sørger for at output buffering er aktiveret'; $lang['pass_config_writable'] = 'HTTP-processen har skriveadgang til config.php-filen'; $lang['pass_database_support'] = 'Mindst en kompatibel database-driver fundet'; $lang['pass_func_json'] = 'json-funktionalitet fundet'; $lang['pass_func_md5'] = 'md5-funktionalitet fundet'; $lang['pass_func_tempnam'] = 'Funktionen tempnam findes'; $lang['pass_multibyte_support'] = 'Understøttelse af multibyte ser ud til at være aktiveret'; $lang['pass_php_version'] = 'Den version af PHP som i øjeblikket er konfigureret lever ikke op til minimumskravene. Der kræves mindst PHP %s, omend vi anbefaler %s eller derover'; $lang['pass_pwd_writable'] = 'HTTP-processen kan skrive i destinationsmappen. Dette er nødvendigt i forhold til udpaking af filer'; $lang['password'] = 'Adgangskode'; $lang['ph_sitename'] = 'Indtast et navn på hjemmesiden'; $lang['php_version'] = 'PHP-version'; $lang['post_max_size'] = 'Tjekker maksimum antal data, der kan sendes i én forespørgsel'; $lang['prompt_addlanguages'] = 'Yderligere sprog'; $lang['prompt_createtables'] = 'Opret database-tabeller'; $lang['prompt_dbhost'] = 'Databasens værtsnavn'; $lang['prompt_dbinfo'] = 'Info om databasen'; $lang['prompt_dbname'] = 'Databasens navn'; $lang['prompt_dbpass'] = 'Adgangskode'; $lang['prompt_dbport'] = 'Portnummer'; $lang['prompt_dbprefix'] = 'Præfiks til tabelnavne i databasen'; $lang['prompt_dbtype'] = 'Databasetype'; $lang['prompt_dbuser'] = 'Brugernavn'; $lang['prompt_dir'] = 'Installationsmappe'; $lang['prompt_installcontent'] = 'Installér simpelt indhold'; $lang['prompt_queryvar'] = 'Forespørgselsvariabel'; $lang['prompt_sitename'] = 'Hjemmesidens navn'; $lang['prompt_timezone'] = 'Serverens tidszone'; $lang['pwd_writable'] = 'Mappe er skrivbar'; $lang['queue_for_upgrade'] = 'Satte modul %s (tilhører ikke kernen) i kø til opdatering i næste trin'; $lang['readme_uc'] = 'LÆS MIG'; $lang['register_globals'] = 'Sørger for at register globals er deaktiveret'; $lang['remote_url'] = 'Tjekker om vi kan oprette udgående HTTP-forbindelser'; $lang['repeatpw'] = 'Gentag adgangskode'; $lang['reset_site_preferences'] = 'Nulstil visse af hjemmesidens præferencer'; $lang['reset_user_settings'] = 'Nulstil bruger-præferencer'; $lang['retry'] = 'Prøv igen'; $lang['safe_mode'] = 'Tester sikring af at safe mode er deaktiveret'; $lang['saltpasswords'] = 'Krypteringsnøgle til adgangskoder'; $lang['select_language'] = 'Som det første vil vi bede dig om at vælge, hvilket sprog du foretrækker i nedenstående liste. Dette anvendes til at forbedre din oplevelse undervejs installationens forskellige trin, men dit sprogvalg har ingen indflydelse på din CMSMS-installation.'; $lang['send_admin_email'] = 'Send en email med administrators log ind-oplysninger'; $lang['session_capabilities'] = 'Tester ordentlig funktionalitet af session (at sessions bruger cookies, at session save path er skrivbar osv)'; $lang['session_save_path_exists'] = 'Findes session_save_path'; $lang['session_save_path_writable'] = 'Der kan skrives til session_save_path'; $lang['session_use_cookies'] = 'Sikrer at PHP-sessions anvender cookies'; $lang['sometests_failed'] = 'Vi har udført en lang række tests af dit nuværende web-miljø. Selvom vi ikke fandt nogen kritiske forhold, så anbefaler vi, at følgende ting rettes, før du fortsætter.'; $lang['step1_advanced'] = 'Avanceret installation'; $lang['step1_destdir'] = 'Vælg mappe'; $lang['step1_info_destdir'] = 'Advarsel: Dette program kan installere eller opgradere flere installationer af CMS Made Simple. Det er vigtigt, at du vælger den rigtige mappe til installationen eller opgraderingen.'; $lang['step1_language'] = 'Vælg sprog'; $lang['step1_title'] = 'Vælg sprog'; $lang['step2_cmsmsfound'] = 'Der blev fundet en installation af CMS Made Simple. Det er muligt at opgradere denne installation. Dog er det vigtigt, før du fortsætter, at du sikrer dig, at du har en helt opdateret og VERIFICERET backup af alle filer og af databasen'; $lang['step2_cmsmsfoundnoupgrade'] = 'Selvom der blev fundet en installation af CMS Made Simple, så er det ikke muligt at opgradere den med denne applikation. Versionen kan være for gammel.'; $lang['step2_confirminstall'] = 'Er du sikker på, at du gerne vil installere CMS Made Simple?'; $lang['step2_confirmupgrade'] = 'Er du sikker på, at du gerne vil opgradere CMS Made Simple?'; $lang['step2_errorsamever'] = 'Den valgte mappe ser ud til at indeholde en CMSMS-installation med det samme versionsnummer som det, der er inkluderet i dette script. Hvis du fortsætter, vil installationen blive opfrisket.'; $lang['step2_errortoonew'] = 'Den valgte mappe ser ud til at indeholde en CMSMS-installation med et nyere versionsnummer end det, der er inkluderet i dette script. Det er ikke muligt at fortsætte.'; $lang['step2_info_freshen'] = 'Opfriskning af installationen indebærer, at alle kerne-filer erstattes og at konfigurationen gendannes. Du vil blive bedt om grundlæggende informationer vedrørende konfigurationen, men databasen bliver ikke berørt.'; $lang['step2_installdate'] = 'Installationen er foretaget cirka den'; $lang['step2_install_dirnotempty2'] = 'Denne mappe indeholder allerede nogle filer eller undermapper. Selvom det godt kan lade sig gøre at installere CMSMS i mappen, så kan det uforvarende komme til at medføre, at den eksisterende applikation ødelægges. Dobbelttjek venligst indholdet af denne mappe. Af reference-hensyn er nogle af filerne listet nedenfor. Du bedes venligst sikre dig, at dette er korrekt.'; $lang['step2_hdr_upgradeinfo'] = 'Info om versionen'; $lang['step2_info_upgradeinfo'] = 'Nedenfor finder du beskeder vedrørende denne udgivelse samt en liste med information om ændringer for hver udgivelse. Ved klik på knapperne herunder kan du få vist detaljeret information om, hvad der er sket af ændringer i hver version af CMS Made Simple. Der kan være yderligere instrukser eller advarsler i hver version, som kan påvirke opgraderingsprocessen.'; $lang['step2_minupgradever'] = 'Denne applikation kan ikke opgradere versioner, der er ældre end version %s. Det kan være, du er nødt til trinvist at opgradere applikationen til en nyere version ved at benytte dig af en anden metode, før du færdiggøre opgraderingsprocessen. Du bedes venligst først sikre dig, at du har taget en fuldstændig, verificeret backup uanset hvilken opgraderingsmetode, du bruger.'; $lang['step2_nocmsms'] = 'Vi fandt ikke nogen installation af CMS Made Simple i denne mappe. Det ser ud til, at dette er en ny installation'; $lang['step2_nofiles'] = 'Som ønsket vil applikationens kerne-filer ikke blive behandlet under denne proces.'; $lang['step2_passed'] = 'Bestået'; $lang['step2_pwd'] = 'Aktuel mappe'; $lang['step2_schemaver'] = 'Databasens skemaversion'; $lang['step2_version'] = 'Din version'; $lang['step3_failed'] = 'Denne pakke har udført adskillige tests af dit PHP-miljø og en eller flere af disse tests er ikke bestået. Du bliver nødt til at rette disse fejl i din konfiguration, før du kan fortsætte. Når du har rettet fejlene, så klik på "Prøv igen" nedenfor.'; $lang['step3_passed'] = 'Denne pakke har udført adskillige tests af dit PHP-miljø og alle har bestået. Dette er godt nyt! Selvom der ikke er tale om en altomfattende test, så skulle du ikke have nogen problemer med at køre kerneinstallationen af CMSMS.'; $lang['step9_removethis'] = 'Advarsel Af sikkerhedsmæssige hensyn er det vigtigt, at du fjerner installations-assistenten, så den ikke kan tilgås via browseren så snart, du har verificeret, at operationen er vellykket.'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'Det lykkedes mig at installere CMS Made Simple!'; $lang['test_failed'] = 'En påkrævet test mislykkedes'; $lang['test_passed'] = 'En test er bestået (beståede tests vises kun under avanceret installation)'; $lang['test_warning'] = 'En indstilling er højere end den påkrævede værdi, men lavere end den anbefalede værdi, eller...
Der kan være nogle valgfrie funktioner, som ikke virker.'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Værdi'; $lang['title_error'] = 'Der er nogen i Houston, som har et problem!'; $lang['title_step2'] = 'Trin 2 - Find eksisterende software'; $lang['title_step3'] = 'Trin 3 - Tests'; $lang['title_step4'] = 'Trin 4 - Info om den basale konfiguration'; $lang['title_step5'] = 'Trin 5 - Information vedrørende administrator-konto'; $lang['title_step6'] = 'Trin 6 - Indstillinger for hjemmesiden'; $lang['title_step7'] = 'Trin 7 - Installering af applikations-filer'; $lang['title_step8'] = 'Trin 8 - Database-opgaver'; $lang['title_step9'] = 'Trin 9 - Færdiggørelse'; $lang['title_welcome'] = 'Velkommen'; $lang['title_forum'] = 'Forum med hjælp og støtte'; $lang['title_docs'] = 'Officiel manual'; $lang['title_api_docs'] = 'Officiel manual til API'; $lang['to'] = 'til'; $lang['title_share'] = 'Del dine erfaringer med dine venner.'; $lang['tmpfile'] = 'Tjekker om tmpfile() virker'; $lang['tmp_dirs_empty'] = 'Du bedes sikre dig, at temporære mapper enten er tomme eller ikke findes'; $lang['upgrade'] = 'Opgradér'; $lang['upgrade_deleteoldevents'] = 'Sletter gamle hændelser'; $lang['upgrading_schema'] = 'Opdaterer skema'; $lang['upload_max_filesize'] = 'Tjekker maksimumstørrelse for uploadede filer'; $lang['username'] = 'Brugernavn'; $lang['warn_disable_functions'] = 'Bemærk: En eller flere af de inderste dele af PHP\'s funktioner er deaktiveret. Dette kan have negativ betydning for din CMSMS-installation - særligt når det gælder tredjepartsudvidelser. Hold venligst øje med din fejl-log. De deaktiverede funktioner er:

%s'; $lang['warn_max_execution_time'] = 'Selvom du har en indstilling for max execution time på %s, som imødekommer eller overstiger minimumværdien på %s, så anbefaler vi, at du øger den til %s eller højere'; $lang['warn_memory_limit'] = 'Din indstilling for memory limit på %s ligger over minimumsværdien på %s. Vi anbefaler imidlertid værdien %s'; $lang['warn_open_basedir'] = 'I din PHP-konfiguration er open_basedir aktiveret. Selvom du godt kan fortsætte, så vil CMSMS ikke kunne understøtte installationer, når der findes open_basedir-restriktioner.'; $lang['warn_post_max_size'] = 'Hos dig er værdien for post max size sat til %s, hvilket ligger over mindstekravet på %s. Dog vil vi anbefale %s. Du bedes endvidere sikre dig, at denne værdi er højere end værdien for upload_max_filesize'; $lang['warn_tests'] = 'Bemærk: alle disse tests er bestået, hvilket skulle sikre, at CMSMS fungerer, som det skal for de fleste hjemmesider. Men i takt med at dit site vokser og der tilføjes flere og flere funktioner, kan disse minimumsværdier blive utilstrækkelige. I øvrigt kan tredjeparts moduler stille yderligere krav, hvis de skal fungere efter hensigten'; $lang['warn_upload_max_filesize'] = 'Selvom indstillingen på %s er tilstrækkelig, så anbefaler vi, at du øger værdien af upload_max_filesize til mindst %s i PHP'; $lang['welcome_message'] = 'Velkommen til! Dette er CMS Made Simples automatiske installationsmekanisme. Denne pakke giver dig både mulighed for nemt og hurtigt at få bekræftet, at dit webhotel er foreneligt med CMSMS, og at installere eller opgradere til den nyeste version af CMS Made Simple.
Vi ved, at du vil få glæde af det.'; $lang['wizard_step1'] = 'Velkommen'; $lang['wizard_step2'] = 'Find eksisterende software'; $lang['wizard_step3'] = 'Afprøvning af kompatibilitet'; $lang['wizard_step4'] = 'Info om konfiguration'; $lang['wizard_step5'] = 'Info om administrator-konto'; $lang['wizard_step6'] = 'Indstillinger for hjemmeside'; $lang['wizard_step7'] = 'Filer'; $lang['wizard_step8'] = 'Database-opgaver'; $lang['wizard_step9'] = 'Færdiggørelse'; $lang['xml_functions'] = 'Tjekker XML-funktionalitet'; $lang['yes'] = 'Ja'; ?>Hinweis: Das Bestehen all dieser Prüfungen sollte sicherstellen, dass CMSMS für die meisten Websites ordnungsgemäß funktioniert. Wenn die Website jedoch wächst und weitere Funktionen hinzugefügt werden, können diese Mindestwerte unzureichend werden. Darüber hinaus können Module von Drittanbietern weitere Anforderungen haben, um ordnungsgemäß zu funktionieren'; $lang['warn_upload_max_filesize'] = 'Obwohl Ihre Einstellung von %s ausreichend ist, empfehlen wir Ihnen, die Einstellung upload_max_filesize in PHP auf mindestens %s zu erhöhen'; $lang['welcome_message'] = 'Herzlich willkommen! Dies ist der automatische Installationsmechanismus von CMS Made Simple. Mit diesem Paket können Sie schnell und einfach bestätigen, dass Ihr Webhost mit CMSMS kompatibel ist, und die neueste Version von CMS Made Simple installieren oder aktualisieren.
Wir wissen, dass es Ihnen gefallen wird.'; $lang['wizard_step1'] = 'Willkommen'; $lang['wizard_step2'] = 'Erfassung bereits existierender Software'; $lang['wizard_step3'] = 'Kompatibilitätsprüfung'; $lang['wizard_step6'] = 'Webseiteneinstellungen'; $lang['wizard_step7'] = 'Dateien'; $lang['wizard_step9'] = 'Abschließen'; $lang['xml_functions'] = 'Prüfe XML-Funktionalität'; $lang['yes'] = 'Ja'; ?>vous avez renommé votre dossier admin de CMSMS™. Vous devrez obligatoirement le renommer en admin et modifier la variable $config[\'admin_dir\'] du config.php avant de reprendre le processus de la mise à jour. Rechargez la page pour continuer.'; $lang['error_backupconfig'] = 'Nous ne pourrions pas correctement sauvegarder le fichier de config'; $lang['error_checksum'] = 'Le checksum du fichier extrait ne correspond pas à l\'original'; $lang['error_cmstablesexist'] = 'Il semble qu\'il existe déjà une installation de CMSMS™ sur cette base de données. Merci d\'entrer une information différente pour la base de données. Si vous souhaitez, vous pouvez utiliser un préfixe de table différent. Mais vous devriez peut-être redémarrer le processus d\'installation et activer le mode avancé.'; $lang['error_createtable'] = 'Problème de création des tables de la base de données... c\'est peut-être un problème de permissions'; $lang['error_dbconnect'] = 'Impossible de se connecter à la base de données. Veuillez vérifier les informations d\'identification que vous avez fournies'; $lang['error_dirnotvalid'] = 'Le dossier %s n\'existe pas (ou n\'est pas accessible en écriture)'; $lang['error_droptable'] = 'Problème de suppression de table de la base de données... c\'est peut-être un problème de permissions'; $lang['error_filenotwritable'] = 'Le fichier %s n\'a pas pu être écrasé (problème permissions)'; $lang['error_internal'] = 'Désolé, quelque chose a mal fonctionné... (Erreur interne) (%s)'; $lang['error_invalid_directory'] = 'Il semble que le dossier que vous avez choisi pour installer est déjà dans un dossier utilisé par le programme d\'installation lui-même'; $lang['error_invalidconfig'] = 'Erreur dans le fichier de configuration ou fichier de configuration manquant (config.php)'; $lang['error_invaliddbpassword'] = 'Le mot de passe de la base de données contient des caractères non valides qui ne peuvent pas être sauvegardés en toute sécurité.'; $lang['error_invalidkey'] = 'Variable invalide ou clef %s pour classe %s'; $lang['error_invalidparam'] = 'Paramètre invalide ou valeur de paramètre : %s'; $lang['error_invalidtimezone'] = 'Le fuseau horaire spécifié n\'est pas valide'; $lang['error_invalidqueryvar'] = 'La saisie contient des caractères non valides. Veuillez utiliser uniquement des caractères alphanumériques et l\'underscore.'; $lang['error_missingconfigvar'] = 'La clef "%s" est manquante ou invalide dans le fichier config.ini'; $lang['error_noarchive'] = 'Problème pour trouver le fichier archive... Merci de redémarrer'; $lang['error_nlsnotfound'] = 'Problème pour trouver les fichiers NLS dans l\'archive'; $lang['error_nodatabases'] = 'Aucune extension compatible base de données n\'a été trouvée'; $lang['error_nodbhost'] = 'Veuillez entrer un nom d\'hôte valide (ou adresse IP) pour la connexion de base de données'; $lang['error_nodbname'] = 'Veuillez entrer le nom d\'une base de données valide sur l\'hôte spécifié ci-dessus'; $lang['error_nodbpass'] = 'Veuillez entrer un mot de passe valide pour l\'authentification avec la base de données'; $lang['error_nodbprefix'] = 'Veuillez entrer un préfixe valide pour les tables de la base de données'; $lang['error_nodbtype'] = 'Veuillez sélectionner un type de base de données'; $lang['error_nodbuser'] = 'Veuillez entrer un nom d\'utilisateur valide pour l\'authentification avec la base de données'; $lang['error_nodestdir'] = 'Dossier d\'installation non activé'; $lang['error_nositename'] = 'SiteName (Nom du site) est un paramètre obligatoire. Merci d’entrer un nom approprié pour votre site Web.'; $lang['error_notimezone'] = 'Veuillez entrer un fuseau horaire valide pour ce serveur'; $lang['error_overwrite'] = 'Problème de permissions : écriture impossible de %s'; $lang['error_sendingmail'] = 'Erreur dans l\'envoi du mail'; $lang['error_tzlist'] = 'Un problème est survenu pour la récupération de la liste des identificateurs de fuseau horaire'; $lang['errorlevel_estrict'] = 'Test pour E_STRICT'; $lang['errorlevel_edeprecated'] = 'Test pour E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED est activé dans "error_reporting" de PHP. Bien que cela n\'empêchera pas CMSMS™ de fonctionner, il peut se produire des affichages d\'avertissements sur l\'écran, en particulier des anciens modules tiers.'; $lang['estrict_enabled'] = 'E_STRICT est activé dans "error_reporting" de PHP. Bien que cela n\'empêchera pas CMSMS™ de fonctionner, il peut se produire des affichages d\'avertissements sur l\'écran, en particulier des anciens modules tiers.'; $lang['fail_assets_dir'] = 'Un dossier assets existe déjà. Cette application peut écrire dans ce dossier pour rationaliser l\'emplacement des fichiers gabarits (templates), CSS, module_custom, admin_custom, ... . Veuillez vous assurer d\'avoir une sauvegarde.'; $lang['fail_assets_msg'] = 'Un dossier assets existe déjà. Cette application peut écrire dans ce dossier pour rationaliser l\'emplacement des fichiers gabarits (templates), CSS, module_custom, admin_custom, ... . Veuillez vous assurer d\'avoir une sauvegarde.'; $lang['fail_config_writable'] = 'Le processus HTTP ne peut pas écrire dans le fichier config.php. Essayer de modifier les autorisations sur ce fichier à 777, jusqu\'à ce que le processus de mise à jour soit terminé.'; $lang['fail_curl_extension'] = 'L\'extension cURL n\'a pas été trouvée. Ce n\'est pas un problème critique mais cela peut causer des soucis avec certains modules tiers'; $lang['fail_database_support'] = 'Aucun pilote compatible avec la base de données'; $lang['fail_file_get_contents'] = 'La fonction file_get_contents n\'existe pas ou est désactivée. CMSMS™ ne peut pas continuer (le programme d\'installation échouera probablement)'; $lang['fail_file_uploads'] = 'Les fonctionnalités d\'uploads de fichiers sont désactivés, dans cet environnement. Plusieurs fonctions de CMSMS™ ne fonctionneront pas dans cet environnement.'; $lang['fail_func_json'] = 'La fonctionnalité "JSON" n\'a pas été trouvée.'; $lang['fail_func_gzopen'] = 'La fonction "gzopen" n\'a pas été trouvée.'; $lang['fail_func_md5'] = 'La fonctionnalité MD5 n\'a pas été trouvée.'; $lang['fail_func_tempnam'] = 'La fonctionnalité "tempnam" n\'existe pas. C\'est une fonction requise pour le fonctionnement de CMSMS™'; $lang['fail_func_ziparchive'] = 'La fonctionnalité ZipArchive n\'a pas été trouvée. Cela peut limiter les fonctions d\'installation.'; $lang['fail_ini_set'] = 'Il semble que nous ne pouvons pas changer les paramètres ini. Ceci pourrait causer des problèmes dans les modules tiers (ou lorsque vous activez le mode debug). C\'est une fonction requise pour la fonctionnalité de CMSMS™'; $lang['fail_intl_support'] = 'L\'extension d\'internationalisation de PHP (Intl) n’est pas disponible'; $lang['fail_magic_quotes_runtime'] = 'Il semble que les "magic quotes" sont activées dans votre configuration. Merci de les désactiver puis réessayer'; $lang['fail_max_execution_time'] = 'Votre "max execution time" de %s ne répond pas à la valeur minimale de %s. Nous vous recommandons de l\'augmenter à %s ou supérieur'; $lang['fail_memory_limit'] = 'Valeur de "memory_limit" est trop faible. Vous avez %s, mais il faut un minimum de %s et %s est recommandé'; $lang['fail_multibyte_support'] = 'Votre support Multibyte (jeux de caractères multi-octets) n\'est pas activé dans votre configuration'; $lang['fail_output_buffering'] = 'Mise en mémoire tampon de sortie (Output Buffering) n\'est pas activée.'; $lang['fail_open_basedir'] = 'L\'option "open_basedir" est activée. CMSMS™ exige qu\'elle soit désactivée'; $lang['fail_php_version'] = 'La version de PHP pour CMSMS™ est cruciale. La version minimum accepté est %s, même si nous recommandons %s ou supérieure. Vous avez %s'; $lang['fail_post_max_size'] = 'La taille %s de "post_max_size" ne répond pas cependant la valeur minimale de %s. Vous devriez porter à %s et faire en sorte qu\'il soit plus grand que "upload_max_filesize"'; $lang['fail_pwd_writable2'] = 'Le processus HTTP doit être en mesure d\'écrire dans le dossier d\'installation (ainsi que dans tous les fichiers et sous-dossiers), afin d\'installer les fichiers. Il n\'y a pas d\'autorisation en écriture pour (au moins) %s'; $lang['fail_register_globals'] = 'Veuillez désactiver "register_globals" dans votre configuration de PHP'; $lang['fail_remote_url'] = 'Nous avons rencontré des problèmes pour vous connecter à une URL distante. Vous limitez ainsi certaines des fonctionnalités de CMS Made Simple™'; $lang['fail_safe_mode'] = 'CMSMS™ ne fonctionnera pas correctement dans un environnement où le "safe_mode" est activé. "safe_mode" est déconseillé comme un mécanisme défaillant et sera supprimée dans les futures versions de PHP. (Disponible depuis PHP 4.1.0. Supprimé en PHP 5.4.0)'; $lang['fail_session_save_path_exists'] = 'La variable session.save_path est non valide ou le répertoire n\'existe pas'; $lang['fail_session_save_path_writable'] = 'Le chemin du répertoire session n\'est pas accessible en écriture'; $lang['fail_session_use_cookies'] = 'CMSMS requiert que PHP soit configuré pour stocker les clefs de session dans un cookie'; $lang['fail_tmpfile'] = 'La fonction tmpfile() du système est non fonctionnelle. Cela est nécessaire pour extraire des archives. L\'option TMPDIR (chemin du dossier temporaire) peut être fourni à l\'installateur pour spécifier un dossier accessible en écriture. Voir le fichier README qui devrait être inclus dans ce répertoire.'; $lang['fail_tmp_dirs_empty'] = 'Les dossiers temporaires CMSMS (tmp / cache et tmp / templates_c) existent et ne sont pas vides. Veuillez les supprimer ou les vider.'; $lang['fail_xml_functions'] = 'L\'extension XML n\'a pas été trouvée. Activer cette extension dans votre environnement PHP'; $lang['failed'] = 'A échoué'; $lang['file_get_contents'] = 'Test pour la fonction "file_get_contents"'; $lang['file_installed'] = 'Installé %s'; $lang['file_uploads'] = 'Vérification pour le support upload de fichier'; $lang['finished_custom_freshen_msg'] = 'Votre installation a été rafraîchie ! Les fichiers de base ont été mis à jour, et un nouveau fichier de configuration a été créé. Veuillez consulter votre site Web afin de vous assurer que tout fonctionne correctement.'; $lang['finished_custom_install_msg'] = 'Super ! Nous avons terminé. Veuillez consulter votre site Web et vous connecter au panneau d’administration.'; $lang['finished_custom_upgrade_msg'] = 'Super! Tout est terminé. Veuillez consulter votre panneau d’administration de CMSMS™ et votre site Web pour vous assurer que tout est correct.
Astuce : Maintenant c’est le bon moment pour faire une sauvegarde.'; $lang['finished_freshen_msg'] = 'Votre installation a été rafraîchie ! Les fichiers de base ont été mis à jour et un nouveau fichier de configuration a été créé. Vous pouvez maintenant visiter votre site Web ou vous connecter au panneau d’administration.'; $lang['finished_install_msg'] = 'Super ! Nous avons terminé. Vous pouvez maintenant visiter votre site Web ou vous connecter au panneau d’administration.'; $lang['finished_upgrade_msg'] = 'Super ! Tout est terminé. Visitez votre site Web et le panneau d’administration pour vérifier si tout se comporte correctement. Vous pourriez avoir également à mettre à jour certains modules tiers.
Astuce : n’oubliez pas de faire une sauvegarde après avoir vérifié si les comportements de l’administration et du site sont corrects.'; $lang['freshen'] = 'Rafraîchir l\'installation'; $lang['func_json'] = 'Vérification pour JSON, codage et décodage des fonctionnalités'; $lang['func_md5'] = 'Vérification de la fonctionnalité MD5'; $lang['func_tempnam'] = 'Vérification de la fonction "tempnam"'; $lang['func_gzopen'] = 'Vérification de la fonction "gzopen"'; $lang['func_ziparchive'] = 'Vérification de la fonction "ZipArchive"'; $lang['gd_version'] = 'Vérification de la version GD'; $lang['goback'] = 'Retour'; $lang['info_addlanguages'] = 'Sélectionnez des langues (outre l\'anglais) pour l\'installation. Remarque : toutes les traductions ne sont pas faites. (Utiliser la touche "CTRL" pour la multi sélection)'; $lang['info_adminaccount'] = 'Merci de fournir les informations d\'identification pour le compte d\'administrateur initial. Ce compte aura accès à toutes les fonctionnalités de la console d\'administration CMSMS™'; $lang['info_advanced'] = 'Le mode avancé permet plus d\'options dans la procédure d\'installation.'; $lang['info_dbinfo'] = 'CMS Made Simple™ stocke une grande quantité de données en base de données. Une connexion de base de données est obligatoire. En outre, les informations d\'identification utilisateur que vous fournirez doivent, avoir tous les privilèges sur la base de données spécifiée pour permettre la création, suppression et modification des tables, index et vues.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED est une constante PHP de rapports d\'erreur ou d\'alertes d\'exécution. Bien que sur le noyau de CMSMS™ nous n\'utilisons plus de techniques obsolètes, certains modules peuvent ne pas être conformes. Nous recommandons de désactiver ce paramètre dans la configuration de PHP.'; $lang['info_errorlevel_estrict'] = 'E_STRICT est une constante PHP qui permet d\'obtenir des suggestions pour modifier votre code, assurant ainsi une meilleure interopérabilité et compatibilité de celui-ci. Bien que le noyau CMSMS™ tente de se conformer aux règles de niveau E_STRICT certains modules peuvent ne pas être conformes. Nous recommandons de désactiver ce paramètre dans la configuration de PHP.'; $lang['info_installcontent'] = 'Par défaut, ce programme d\'installation créera une série d\'exemples de pages, de feuilles de style et de gabarits dans CMSMS™. Les exemples de contenu fournissent de nombreuses informations et conseils afin de vous aider pour créer des sites Web avec CMSMS™. Il est utile de lire ces pages exemples. Toutefois, si vous êtes déjà familier avec CMS Made simple™ la désactivation de cette option créera seulement un ensemble minimal de gabarits, de feuilles de style et de pages de contenu.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir est activé dans votre configuration PHP. Nous n\'avons pas pu tester pas correctement les capacités de session. Cependant, à ce point du processus d\'installation, tout semble indiquer, que les sessions fonctionnent correctement.'; $lang['info_pwd_writable'] = 'Cette application requiert l\'autorisation en écriture pour le dossier de travail courant'; $lang['info_queryvar'] = 'La variable de requête URL est utilisée en interne par CMSMS™ pour identifier la page demandée (par défaut "page"). Dans la plupart des cas, vous ne devriez pas avoir à en avoir besoin.'; $lang['info_sitename'] = 'Le nom du site est utilisé dans les gabarits par défaut comme titre. Veuillez entrer un nom lisible pour le site Web.'; $lang['info_timezone'] = 'Les informations de fuseau horaire sont nécessaire pour l\'affichage des calculs des heures/dates. Veuillez sélectionner le fuseau horaire du serveur.'; $lang['ini_set'] = 'Test si possibilité de changer les paramètres du fichier ini'; $lang['install'] = 'Installer'; $lang['install_attachstylesheets'] = 'Attacher les feuilles de style aux thèmes'; $lang['install_backupconfig'] = 'Sauvegarde du fichier de config'; $lang['install_createassets'] = 'Création des dossiers assets'; $lang['install_created_index'] = 'Index créé %s... : %s'; $lang['install_create_tables'] = 'Création des tables de base de données'; $lang['install_createconfig'] = 'Création du nouveau fichier de configuration'; $lang['install_createcontentpages'] = 'Création des pages de contenu par défaut'; $lang['install_created_table'] = 'Table créée %s... : %s'; $lang['install_createtablesindexes'] = 'Création des tables et index'; $lang['install_createtmpdirs'] = 'Création des dossiers temporaires'; $lang['install_creating_index'] = 'Index créé %s'; $lang['install_default_collections'] = 'Installation des collections par défaut'; $lang['install_defaultcontent'] = 'Installation du contenu par défaut'; $lang['install_detectlanguages'] = 'Détection des langues installées'; $lang['install_dropping_tables'] = 'Suppression de tables'; $lang['install_dummyindexhtml'] = 'Création des fichiers vides index.html'; $lang['install_extractfiles'] = 'Extraction des fichiers de l\'archive'; $lang['install_initevents'] = 'Création des évènements'; $lang['install_initsitegroups'] = 'Création des groupes initiaux'; $lang['install_initsiteperms'] = 'Définition des permissions initiales'; $lang['install_initsiteprefs'] = 'Définition des préférences initiales du site'; $lang['install_initsiteusers'] = 'Création du compte utilisateur initial'; $lang['install_initsiteusertags'] = 'Création des balises utilisateur (UDT) initiales'; $lang['install_module'] = 'Installation du module %s'; $lang['install_modules'] = 'Installation des modules disponibles'; $lang['install_passwordsalt'] = 'Définition de la valeur aléatoire du mot de passe (salt)'; $lang['install_requireddata'] = 'Définition des données initiales requises'; $lang['install_schema'] = 'Création du schéma de base de données'; $lang['install_setschemaver'] = 'Définition de la version du schéma'; $lang['install_setsequence'] = 'Réinitialisation des séquences tables'; $lang['install_setsitename'] = 'Définition du nom du site'; $lang['install_stylesheets'] = 'Création des feuilles de style par défaut'; $lang['install_templates'] = 'Création des gabarits par défaut'; $lang['install_templatetypes'] = 'Création des types de gabarit standard'; $lang['install_update_sequences'] = 'Mise à jour des séquences des tables'; $lang['install_updatehierarchy'] = 'Mise à jour des positions hiérarchiques des pages'; $lang['install_updateseq'] = 'Séquence de mise à jour pour %s'; $lang['installer_ver'] = 'Version de l\'installateur '; $lang['intl_support'] = 'Vérifier les fonctions d\'internationalisation'; $lang['legend'] = 'Légende'; $lang['magic_quotes_runtime'] = 'Vérification si les "magic_quotes" sont désactivées'; $lang['max_execution_time'] = 'Vérification de PHP "max_execution_time"'; $lang['meaning'] = 'Définition'; $lang['memory_limit'] = 'Vérification de la limite de mémoire PHP (memory_limit)'; $lang['msg_clearedcache'] = 'Cache serveur vidé'; $lang['msg_configsaved'] = 'Fichier de configuration existant enregistré sous %s'; $lang['msg_upgrade_module'] = 'Mise à jour du module %s'; $lang['msg_upgrademodules'] = 'Mise à jour des modules'; $lang['msg_yourvalue'] = 'Vous avez : %s'; $lang['multibyte_support'] = 'Vérification du support Multibyte (jeux de caractères multi-octets)'; $lang['next'] = 'Suivant'; $lang['no'] = 'Non'; $lang['none'] = 'Aucun'; $lang['open_basedir'] = 'Vérification de la restriction "open_basedir"'; $lang['open_basedir_session_save_path'] = 'open_basedir est activé. Impossible de tester le chemin du répertoire session.'; $lang['output_buffering'] = 'Vérification des buffers de sortie (output buffering)'; $lang['pass_config_writable'] = 'Le processus HTTP a l\'autorisation en écriture dans le fichier config.php'; $lang['pass_database_support'] = 'Au moins un pilote de base de données compatible trouvé'; $lang['pass_func_json'] = 'Fonctionnalité JSON détectée'; $lang['pass_func_md5'] = 'Fonctionnalité MD5 détectée'; $lang['pass_func_tempnam'] = 'La fonction "tempnam" existe'; $lang['pass_intl_support'] = 'Les fonctions d\'internationalisation semblent être activées'; $lang['pass_memory_limit_nolimit'] = 'Il n\'y a pas de limite à PHP memory_limit'; $lang['pass_multibyte_support'] = 'le support Multibyte semble être activé'; $lang['pass_php_version'] = 'La version PHP configurée actuellement ne répond pas aux exigences minimales. Le minimum nécessaire est PHP %s, mais nous recommandons PHP %s ou supérieur'; $lang['pass_pwd_writable'] = 'Le processus HTTP peut écrire dans le dossier d\'installation. Ceci est nécessaire pour l\'extraction des fichiers.'; $lang['password'] = 'Mot de passe (au moins six caractères)'; $lang['ph_sitename'] = 'Entrez un nom de site Web'; $lang['php_version'] = 'Version PHP'; $lang['post_max_size'] = 'Vérification de la taille maximale de données pouvant être enregistrées dans une seule requête POST'; $lang['prompt_addlanguages'] = 'Langues supplémentaires'; $lang['prompt_createtables'] = 'Création des tables de la base de données'; $lang['prompt_dbhost'] = 'Nom d\'hôte de la base de données'; $lang['prompt_dbinfo'] = 'Information sur la base de données'; $lang['prompt_dbname'] = 'Nom de la base de données'; $lang['prompt_dbpass'] = 'Mot de passe'; $lang['prompt_dbport'] = 'Port de la base de données'; $lang['prompt_dbprefix'] = 'Préfixe de la base de données'; $lang['prompt_dbtype'] = 'Type de la base de données'; $lang['prompt_dbuser'] = 'Nom d\'utilisateur'; $lang['prompt_dir'] = 'Dossier d\'installation '; $lang['prompt_installcontent'] = 'Installer les exemples de contenus et les gabarits'; $lang['prompt_queryvar'] = 'Variable d\'URL'; $lang['prompt_sitename'] = 'Nom de site Web'; $lang['prompt_timezone'] = 'Fuseau horaire du serveur'; $lang['pwd_writable'] = 'Dossier accessible en écriture'; $lang['queue_for_upgrade'] = 'File d\'attente des modules %s (autres que ceux du noyau) pour mise à jour à l\'étape suivante.'; $lang['readme_uc'] = 'Lisez-moi'; $lang['register_globals'] = 'Vérification si PHP "register globals" est désactivé'; $lang['remote_url'] = 'Vérification sur les connexions HTTP sortantes'; $lang['repeatpw'] = 'Répétez le mot de passe'; $lang['reset_site_preferences'] = 'Réinitialisation de certaines préférences du site'; $lang['reset_user_settings'] = 'Réinitialisation des préférences utilisateur'; $lang['retry'] = 'Nouvel essai'; $lang['safe_mode'] = 'Vérification si PHP "safe_mode" est désactivé'; $lang['saltpasswords'] = 'Salage des mots de passe (sécurisation)'; $lang['select_language'] = 'Veuillez sélectionner votre langue préférée dans la liste ci-dessous. Cela affectera uniquement le processus d\'installation/mise à jour et n\'aura aucun effet sur les paramètres par défaut de CMSMS™.'; $lang['send_admin_email'] = 'Envoi des informations d\'identification par email pour la connexion d\'administration'; $lang['session_capabilities'] = 'Test des capacités de session (les sessions utilisent des cookies et le chemin du répertoire de sauvegarde des sessions doit être accessible en écriture, etc.)'; $lang['session_save_path_exists'] = 'La variable session.save_path est valide ou le répertoire existe'; $lang['session_save_path_writable'] = 'Le chemin du répertoire session est accessible en écriture'; $lang['session_use_cookies'] = 'Vérification si les sessions PHP utilisent les cookies'; $lang['sometests_failed'] = 'Nous avons effectué de nombreux tests de votre environnement Web actuel. Bien qu\'aucun problème critique n\'ait été trouvé, nous vous recommandons de corriger les éléments suivants avant de continuer.'; $lang['step1_advanced'] = 'Mode avancé'; $lang['step1_destdir'] = 'Sélectionnez le dossier'; $lang['step1_info_destdir'] = 'Attention : Ce programme peut installer ou mettre à jour plusieurs installations de CMS Made Simple™. Il est important de sélectionner correctement le dossier correspondant à une nouvelle installation ou à une mise à jour.'; $lang['step1_language'] = 'Sélectionner une langue'; $lang['step1_title'] = 'Sélectionner une langue'; $lang['step2_cmsmsfound'] = 'Une installation de CMS Made Simple™ a été détectée. Il est possible de mettre à jour cette installation. Toutefois, avant de poursuivre, assurez-vous d\'avoir une sauvegarde à jour et vérifiée de tous les fichiers et de la base de données.'; $lang['step2_cmsmsfoundnoupgrade'] = 'Bien qu\'une installation de CMS Made Simple™ ait été détectée, il n\'est pas possible de mettre à jour cette version à l\'aide de cette application. La version est peut-être trop ancienne.'; $lang['step2_confirminstall'] = 'Êtes-vous sûr(e) de vouloir installer CMS Made Simple™'; $lang['step2_confirmupgrade'] = 'Êtes-vous sûr(e) de vouloir mettre à jour CMS Made Simple™'; $lang['step2_errorsamever'] = 'Le dossier sélectionné semble contenir une installation CMSMS™ de la même version que celle incluse dans ce script. Continuer va rafraîchir l\'installation existante.'; $lang['step2_errortoonew'] = 'Le dossier sélectionné semble contenir une installation CMSMS™ avec une version plus récente que celle incluse dans ce script. Impossible de poursuivre le processus.'; $lang['step2_info_freshen'] = 'Rafraîchir cette installation va remplacer tous les fichiers du noyau ainsi que les modules installés d\'office et réinitialisera la configuration. Il vous sera demandé les informations de configuration de base, cependant la base de données ne sera pas modifiée.'; $lang['step2_installdate'] = 'Date d\'installation approximative '; $lang['step2_install_dirnotempty2'] = 'Ce dossier contient déjà certains fichiers et/ou sous-dossiers. Bien qu\'il soit possible d\'installer CMSMS ici, cela peut par inadvertance corrompre une installation existante. Veuillez revérifier le contenu de ce dossier. A titre de référence, certains des fichiers sont répertoriés ci-dessous. Veuillez vous assurer que tout est correct.'; $lang['step2_hdr_upgradeinfo'] = 'Informations de version'; $lang['step2_info_upgradeinfo'] = 'Ci-dessous les notes de version et le changelog disponibles pour chaque version. Les boutons ci-dessous affichent des informations détaillées sur ce qui a changé dans chaque version de CMS Made Simple. Il peut y avoir d\'autres instructions ou avertissements dans chaque version qui pourraient affecter le processus de mise à jour.'; $lang['step2_minupgradever'] = 'La version minimale que cet installateur peut mettre à jour est la : %s. Vous devrez peut-être mettre à jour votre installation CMSMS™ à une version plus récente, par étapes, en utilisant une autre méthode avant de compléter ce processus de mise à jour. Veuillez-vous assurer que vous disposez d\'une sauvegarde complète et vérifiée (fichiers et base de données) avant d\'utiliser toute méthode de mise à jour.'; $lang['step2_nocmsms'] = 'Nous n\'avons pas trouvé d\'installation de CMS Made Simple™ dans ce dossier. Il semble donc que vous vouliez faire une nouvelle installation.'; $lang['step2_nofiles'] = 'Comme demandé, les fichiers CMSMS Core ne seront pas traités pendant ce processus'; $lang['step2_passed'] = 'Passé'; $lang['step2_pwd'] = 'Votre dossier de travail courant '; $lang['step2_schemaver'] = 'Version du schéma de base de données '; $lang['step2_version'] = 'Votre version '; $lang['step3_failed'] = 'L\'installateur a effectué de nombreux tests de votre environnement PHP et un ou plusieurs de ces tests ont échoué. Vous devez corriger ces erreurs dans votre configuration avant de continuer. Une fois que vous aurez corrigé les erreurs, cliquez sur "Nouvel essai" ci-dessous.'; $lang['step3_passed'] = 'L\'installateur a effectué de nombreux tests de votre environnement PHP et ils ont tous réussi. C\'est une excellente nouvelle. Même s\'il ne s\'agit pas de tests garantis à 100 %, vous ne devriez avoir aucune difficulté à exécuter l\'installation de base de CMSMS™.'; $lang['step9_get_help'] = 'Connectez-vous avec d’autres développeurs CMSMS et obtenez de l\'aide des façons suivantes '; $lang['step9_get_support'] = 'Canaux d’assistance'; $lang['step9_join_community'] = 'Rejoignez notre communauté'; $lang['step9_love_cmsms'] = 'Vous appréciez CMS Made Simple '; $lang['step9_removethis'] = 'ATTENTION Pour des raisons de sécurité, il est important que vous supprimiez l\'assistant d\'installation de votre hébergement une fois que vous aurez vérifié la réussite de l\'opération.'; $lang['step9_support_us'] = 'Cliquez ici pour découvrir comment vous pouvez nous soutenir'; $lang['symbol'] = 'Symbole'; $lang['social_message'] = 'CMS Made Simple™ a été installé correctement !'; $lang['test_failed'] = 'Un test requis a échoué'; $lang['test_passed'] = 'Un test réussi (les tests passés sont seul affichés dans le mode avancé)'; $lang['test_warning'] = 'Un paramètre est supérieur à la valeur requise, mais inférieur à la valeur recommandée, ou...
Une fonction qui peut être requise pour certaines fonctionnalités facultatives n\'est pas disponible.'; $lang['th_status'] = 'Statut'; $lang['th_testname'] = 'Test '; $lang['th_value'] = 'Valeur'; $lang['title_error'] = 'Houston, nous avons un problème !'; $lang['title_step2'] = 'Étape 2 - Détection de l\'installation existante'; $lang['title_step3'] = 'Étape 3 - Tests'; $lang['title_step4'] = 'Étape 4 - Informations sur la configuration de base'; $lang['title_step5'] = 'Étape 5 - Informations sur le compte d\'administration'; $lang['title_step6'] = 'Étape 6 - Paramètres du Site'; $lang['title_step7'] = 'Étape 7 - Installation des fichiers'; $lang['title_step8'] = 'Étape 8 - Travail sur la base de données'; $lang['title_step9'] = 'Étape 9 - Finalisation'; $lang['title_welcome'] = 'Bienvenue'; $lang['title_forum'] = 'Forum'; $lang['title_docs'] = 'Documentation officielle'; $lang['title_api_docs'] = 'Documentation officielle sur l\'API'; $lang['to'] = 'à'; $lang['title_share'] = 'Partagez votre expérience avec vos amis.'; $lang['tmpfile'] = 'Vérification de la fonction tmpfile()'; $lang['tmp_dirs_empty'] = 'Assurez-vous que les dossiers temporaires sont vides ou n\'existent pas'; $lang['upgrade'] = 'Mise à jour'; $lang['upgrade_deleteoldevents'] = 'Suppression des anciens évènements'; $lang['upgrading_schema'] = 'Mise à jour du schéma de base de données'; $lang['upload_max_filesize'] = 'Contrôle de la taille maximale des fichiers uploadés'; $lang['username'] = 'Nom d\'utilisateur'; $lang['warn_disable_functions'] = 'Remarque : une ou plusieurs fonctions PHP sont désactivées. Cela peut avoir des répercussions négatives sur votre installation de CMSMS™, particulièrement avec les extensions tierce partie. Vérifiez régulièrement votre journal des erreurs (logs). Les fonctions désactivées sont :

%s'; $lang['warn_max_execution_time'] = 'Bien que la valeur du temps d\'exécution maximum (max_execution_time) de %s est supérieure (ou égale) à la valeur minimale de %s, nous vous recommandons de l\'augmenter à la valeur de %s ou plus'; $lang['warn_memory_limit'] = 'Votre valeur de limite de mémoire (memory_limit) est %s, ce qui est supérieur au minimum de %s. Cependant %s est recommandé.'; $lang['warn_open_basedir'] = 'open_basedir est activé dans votre configuration PHP. Bien que vous puissiez continuer, CMSMS n\'assure pas de support sur les installations faites avec les restrictions open_basedir'; $lang['warn_post_max_size'] = 'Votre valeur maximum par méthode POST (post_max_size) est de %s et dépasse la valeur minimale de %s, cependant, nous vous recommandons de la porter à %s et faire en sorte qu\'elle soit supérieure à "upload_max_filesize"'; $lang['warn_tests'] = 'Remarque : réussir tous ces tests devrait assurer que les fonctions essentielles de CMSMS™ fonctionnent correctement pour la plupart des sites. Cependant, au fur et à mesure que le site se développe et reçoit de nouvelles fonctionnalités, ces valeurs minimales peuvent devenir insuffisantes. En outre, les modules tiers peuvent avoir des exigences supplémentaires pour fonctionner correctement.'; $lang['warn_upload_max_filesize'] = 'Bien que votre paramètre de %s soit suffisant, nous recommandons d’augmenter le paramètre "upload_max_filesize" dans la configuration PHP à un minimum de %s'; $lang['welcome_message'] = 'Bienvenue ! Vous voici dans le processus d\'installation automatique de CMS Made Simple™. Ce script vérifie que votre hébergement est compatible avec CMSMS™, vous permettant ainsi d\'installer ou de mettre à jour la dernière version de CMSMS™ rapidement et facilement.
Nous savons que vous allez l\'apprécier.'; $lang['wizard_step1'] = 'Bienvenue'; $lang['wizard_step2'] = 'Détection de l\'installation existante'; $lang['wizard_step3'] = 'Tests de compatibilité'; $lang['wizard_step4'] = 'Information de configuration'; $lang['wizard_step5'] = 'Informations sur le compte d\'administration'; $lang['wizard_step6'] = 'Paramètres du site'; $lang['wizard_step7'] = 'Fichiers'; $lang['wizard_step8'] = 'Gestion de la base de données'; $lang['wizard_step9'] = 'Finalisation'; $lang['xml_functions'] = 'Vérification des fonctionnalités XML'; $lang['yes'] = 'Oui'; ?>questo processo al fine di procedere!

Una volta ripristinato il nome della directory admin al percorso originale, ricarica questa pagina.'; $lang['error_backupconfig'] = 'Non è stato possibile effettuare correttamente il backup del file di configurazione'; $lang['error_checksum'] = 'Il checksum del file estratto non corrisponde all\'originale'; $lang['error_cmstablesexist'] = 'Sembra che ci sia già un\'installazione di CMSMS in questo database. Per favore inserisci delle informazioni diverse per il database. Se desideri usare un diverso prefisso per le tabelle devi riavviare il processo di installazione ed attivare la modalità avanzata.'; $lang['error_createtable'] = 'Problema durante la creazione della tabella nel database. Forse è una questione di permessi'; $lang['error_dbconnect'] = 'Non è stato possibile collegarsi al database. Per favore ricontrolla le credenziali fornite'; $lang['error_dirnotvalid'] = 'La directory %s non esiste (o non è scrivibile)'; $lang['error_droptable'] = 'Problema durante l\'eliminazione della tabella. Forse è una questione di permessi'; $lang['error_filenotwritable'] = 'Non è stato possibile sovrascrivere il file %s (problema di permessi)'; $lang['error_internal'] = 'Spiacente, qualcosa non ha funzionato... (internal error) (%s)'; $lang['error_invalid_directory'] = 'Sembra che la directory che hai scelto per l\'installazione sia una directory di lavoro dello stesso installer'; $lang['error_invalidconfig'] = 'Errore nel file di configurazione oppure manca il file di configurazione'; $lang['error_invaliddbpassword'] = 'La password del database contiene dei caratteri non validi che non possono essere salvati in modo sicuro.'; $lang['error_invalidkey'] = 'Variabile membro non valida o chiave %s per la classe %s'; $lang['error_invalidparam'] = 'Parametro o valore del parametro non valido: %s'; $lang['error_invalidtimezone'] = 'Il fuso orario specificato non è valido'; $lang['error_invalidqueryvar'] = 'La variabile della query inserita contiene caratteri non validi. Per favore usa solo caratteri alfanumerici ed il segno di sottolineato.'; $lang['error_missingconfigvar'] = 'La chiave "%s" risulta mancante o non valida nel file config.ini'; $lang['error_noarchive'] = 'Problema nel trovare il file archivio... Per favore ricomincia'; $lang['error_nlsnotfound'] = 'Problema nel trovare i file NLS nell\'archivio'; $lang['error_nodatabases'] = 'Non è stato possibile trovare un\'estensione compatibile del database'; $lang['error_nodbhost'] = 'Per favore inserisci un hostname valido oppure un indirizzo IP per la connessione del database'; $lang['error_nodbname'] = 'Per favore inserisci il nome di un database valido presso l\'host specificato qui sopra'; $lang['error_nodbpass'] = 'Per favore inserisci una password valida per l\'autenticazione col database'; $lang['error_nodbprefix'] = 'Per favore inserisci un prefisso valido per le tabelle del database'; $lang['error_nodbtype'] = 'Per favore seleziona un tipo di database'; $lang['error_nodbuser'] = 'Per favore inserisci un username valido per l\'autenticazione col database'; $lang['error_nodestdir'] = 'Directory di destinazione non impostata'; $lang['error_nositename'] = 'Il nome del sito è un parametro richiesto. Per favore inseriscine uno adeguato per il tuo sito.'; $lang['error_notimezone'] = 'Per favore inserisci un fuso orario valido per questo server'; $lang['error_overwrite'] = 'Problema con i permessi: non posso sovrascrivere %s'; $lang['error_sendingmail'] = 'Errore nell\'invio della mail'; $lang['error_tzlist'] = 'Si è verificato un problema nel recuperare l\'elenco degli identificatori del fuso orario'; $lang['errorlevel_estrict'] = 'Controllo per E_STRICT'; $lang['errorlevel_edeprecated'] = 'Controllo per E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED è attivato in PHP error_reporting. Sebbene ciò non impedirà a CMSMS di funzionare, potrebbero venire visualizzati dei warning nelle schermate di output, in particolar modo con vecchi moduli di terze parti'; $lang['estrict_enabled'] = 'E_STRICT è attivato in PHP error_reporting. Sebbene ciò non impedirà a CMSMS di funzionare, potrebbero essere visualizzati dei warning nell\'output HTML, in particolar modo con vecchi moduli di terze parti'; $lang['fail_assets_dir'] = 'Una directory assets esiste già. Questa applicazione potrebbe scrivere in questa directory per razionalizzare il percorso dei file. Per favore assicurati di avere un backup'; $lang['fail_assets_msg'] = 'Una directory assets esiste già. Questa applicazione potrebbe scrivere in questa directory per razionalizzare il percorso dei file. Per favore assicurati di avere un backup'; $lang['fail_config_writable'] = 'Il processo HTTP non può scrivere nel file config.php. Per favore cerca di cambiare i permessi di questo file a 777 fino a che il processo di aggiornamento non sarà completato'; $lang['fail_curl_extension'] = 'L\'estensione curl non è stata trovata. Sebbene non sia un problema critico, ciò potrebbe provocare problemi con alcuni moduli di terze parti'; $lang['fail_database_support'] = 'Non sono stati trovati driver del database compatibili'; $lang['fail_file_get_contents'] = 'La funzione file_get_contents non esiste oppure è disattivata. CMSMS non può continuare (probabilmente anche l\'installer fallirà)'; $lang['fail_file_uploads'] = 'Le funzionalità di caricamento dei file sono disattivate in questo ambiente. Alcune funzioni di CMSMS non funzioneranno in questo ambiente'; $lang['fail_func_json'] = 'La funzionalità json non è stata trovata'; $lang['fail_func_gzopen'] = 'La funzione gzopen non è stata trovata'; $lang['fail_func_md5'] = 'La funzionalità md5 non è stata trovata'; $lang['fail_func_tempnam'] = 'La funzione tempnam non esiste. E\' una funzione richiesta per il funzionamento di CMSMS'; $lang['fail_func_ziparchive'] = 'La funzionalità ZipArchive non è stata trovata. Ciò potrebbe limitare il funzionamento'; $lang['fail_ini_set'] = 'Sembra che non sia possibile cambiare le impostazioni ini. Ciò potrebbe provocare problemi con i moduli di terze parti (o quando si attiva la modalità debug)'; $lang['fail_magic_quotes_runtime'] = 'Sembra che magic quotes siano attivate nella tua configurazione. Per favore disabilitale e riprova'; $lang['fail_max_execution_time'] = 'Il tuo tempo massimo di esecuzione di %s non coincide con il valore minimo di %s. Ti raccomandiamo di aumentarlo a %s o più'; $lang['fail_memory_limit'] = 'Il valore del tuo limite di memoria è troppo basso. Tu avevi %s, ma un minimo di %s è richiesto e %s viene raccomandato'; $lang['fail_multibyte_support'] = 'Il supporto a Multibyte non è attivato nella tua configurazione'; $lang['fail_output_buffering'] = 'Non è attivato Output buffering.'; $lang['fail_open_basedir'] = 'Sono attive le restrizioni Open basedir. CMSMS richiede che ciò venga disattivato'; $lang['fail_php_version'] = 'La versione di PHP disponibile per CMSMS è di importanza critica. La versione minima accettata è la %s, sebbene si raccomandi la versione %s o superiore. Tu hai la %s'; $lang['fail_post_max_size'] = 'Il tuo post max size di %s non coincide con il valore minimo di %s. Un valore %s o superiore è raccomandato ed assicurati che sia più ampio del upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Il processo HTTP deve essere in grado di scrivere nella directory di destinazione (in tutti i file e nelle directory al di sotto) al fine di installare i file. Non abbiamo i permessi di scrittura in (almeno ) %s'; $lang['fail_register_globals'] = 'Per favore disattiva register globals nella tua configurazione di PHP'; $lang['fail_remote_url'] = 'Abbiamo riscontrato dei problemi nel collegarci ad un URL remoto. Ciò limiterà alcune funzionalità di CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS non funzionerà correttamente in un ambiente dove sia attivato safe mode. Safe mode è deprecato in quanto modalità non più valida e verrà rimosso nelle prossime versioni di PHP'; $lang['fail_session_save_path_exists'] = 'Il valore della variabile della sessione save path non è valido'; $lang['fail_session_save_path_writable'] = 'La directory della sessione save path non è scrivibile'; $lang['fail_session_use_cookies'] = 'CMSMS richiede che il PHP sia configurato in modo da archiviare la chiave della sessione in un cookie'; $lang['fail_tmpfile'] = 'La funzione system tmpfile() non funziona. Ciò è richiesto per consentirci di estrarre gli archivi. L\'argomento dell\'url TMPDIR facoltativo può essere fornito all\'installer per indicare una directory scrivibile. Si veda il file README che dovrebbe essere incluso in questa directory.'; $lang['fail_tmp_dirs_empty'] = 'Le directory temporanee di CMSMS (tmp/cache e tmp/templates_c) esistono e non sono vuote. Per favore rimuovile o svuotale'; $lang['fail_xml_functions'] = 'L\'estensione XML non è stata trovata. Per favore attivala nel tuo ambiente PHP'; $lang['failed'] = 'fallito'; $lang['file_get_contents'] = 'Test della funzione file_get_contents'; $lang['file_installed'] = 'Installato %s'; $lang['file_uploads'] = 'Controllo il supporto per l\'upload di file'; $lang['finished_custom_freshen_msg'] = 'La tua installazione è stata rinnovata! I file del core sono stati aggiornati ed un nuovo file di configurazione è stato creato. Per favore visita il tuo sito per verificare che tutto funzioni correttamente'; $lang['finished_custom_install_msg'] = 'Fatto! Per favore visita il tuo sito ed effettua il login al pannello di amministrazione.'; $lang['finished_custom_upgrade_msg'] = 'Fatto! Per favore visita il pannello di amministrazione del tuo CMSMS ed il frontend per verificare che tutto funzioni correttamente.
Suggerimento: Adesso è il momento giusto per creare un nuovo backup.'; $lang['finished_freshen_msg'] = 'La tua installazione è stata rinnovata! I file del core sono stati aggiornati ed un nuovo file di configurazione è stato creato. Ora puoi visitare il tuo sito o effettuare il login al pannello di amministrazione di CMSMS.'; $lang['finished_install_msg'] = 'Abbiamo finito! Ora puoi visitare il tuo sito o effettuare il login al pannello di amministrazione di CMSMS.'; $lang['finished_upgrade_msg'] = 'Tutto fatto! Per favore visita il frontend del tuo sito e il Pannello di amministrazione per verificare che funzioni correttamente. Potresti anche dover aggiornare alcuni moduli di terze parti.
Suggerimento: Ricordati di creare un altro backup dopo aver verificato il corretto funzionamento.'; $lang['freshen'] = 'Rinnova (ripara) installazione'; $lang['func_json'] = 'Controllo la funzionalità json di encoding e decoding'; $lang['func_md5'] = 'Controllo la funzionalità md5'; $lang['func_tempnam'] = 'Controllo funzione tempnam'; $lang['func_gzopen'] = 'Controllo funzione gzopen'; $lang['func_ziparchive'] = 'Controllo funzione ziparchive'; $lang['gd_version'] = 'Versione GD'; $lang['goback'] = 'Indietro'; $lang['info_addlanguages'] = 'Seleziona le lingue(in aggiunta all\'inglese) da installare. Nota: non tutte le traduzioni sono complete.'; $lang['info_adminaccount'] = 'Per favore fornisci le credenziali per l\'account dell\'amministratore iniziale. Questo account avrà accesso a tutte le funzionalità della console amministrativa di CMSMS.'; $lang['info_advanced'] = 'La modalità avanzata abilita altre opzioni nella procedura di installazione.'; $lang['info_dbinfo'] = 'CMS Made Simple archivia una grande mole di dati nel database. Una connessione al database è obbligatoria. Inoltre, le credenziali dell\'utente che fornisci debbono avere ALL PRIVILEGES sul database indicato per consentire la creazione, l\'eliminazione e la modifica delle tabelle, indici e views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED è un flag per la segnalazione di errori di PHP che indica che dei warnings dovrebbero essere mostrati in relazione a codice che usa tecniche deprecate. Sebbene il core di CMSMS cerchi di assicurare che non si usino più tecniche deprecate, alcuni moduli potrebbero non farlo. Si raccomanda di disattivare questa impostazione nella configurazione di PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT è un flag per la segnalazione di errori di PHP il quale indica che devono essere rispettati rigorosi standard di codifica. Sebbene il core di CMSMS cerchi di conformarsi agli standard di E_STRICT, alcuni moduli potrebbero non farlo. Si raccomanda che questa impostazione venga disattivata nella configurazione di PHP'; $lang['info_installcontent'] = 'Di default, questo installer creerà una serie di pagine di esempio, fogli di stile e modelli in CMSMS. I contenuti di esempio forniscono informazioni estese e suggerimenti per aiutare nella creazione di siti web con CMSMS ed è utile leggerli. Tuttavia, se hai già confidenza con CMS Made Simple, disabilitando questa opzione si otterranno un insieme minimo di modelli, fogli di stile e pagine di contenuto.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir è attivato nella tua configurazione di PHP. Non è stato possibile verificare adeguatamente le capacità di sessione. Tuttavia, essendo arrivati a questopunto del processo di installazione significa probabilmente che le sessioni funzionano correttamente.'; $lang['info_pwd_writable'] = 'Questa applicazione necessita dei permessi di scrittura nella directory di lavoro corrente'; $lang['info_queryvar'] = 'La variabile della query viene usata internamente da CMSMS per identificare la pagina richiesta. Nella maggior parte dei casi non dovrebbe essere necessario regolarla.'; $lang['info_sitename'] = 'Il nome del sito viene usato nei modelli predefiniti come parte del titolo. Per favore inserisci un nome per il sito leggibile da parte di una persona'; $lang['info_timezone'] = 'L\'informazione relativa al fuso orario è necessaria per i calcoli del tempo e per le visualizzazioni di tempo/data. Per favore seleziona il fuso orario del server'; $lang['ini_set'] = 'Test della possibilità di cambiare le impostazioni INI in corso'; $lang['install'] = 'Installa'; $lang['install_attachstylesheets'] = 'Collega i fogli di stile ai temi'; $lang['install_backupconfig'] = 'Back up del file di configurazione in corso'; $lang['install_createassets'] = 'Crea struttura assets'; $lang['install_created_index'] = 'Creato indice %s ... %s'; $lang['install_create_tables'] = 'Crea tabelle database'; $lang['install_createconfig'] = 'Crea nuovo file di configurazione'; $lang['install_createcontentpages'] = 'Crea pagine di contenuto predefinito'; $lang['install_created_table'] = 'Creata tabella %s: .... %s'; $lang['install_createtablesindexes'] = 'Creazione di tabelle ed indici in corso'; $lang['install_createtmpdirs'] = 'Crea directory temporanee'; $lang['install_creating_index'] = 'Creato indice %s'; $lang['install_default_collections'] = 'Installa le collezioni predefinite'; $lang['install_defaultcontent'] = 'Installa il contenuto predefinito'; $lang['install_detectlanguages'] = 'Rileva lingue installate'; $lang['install_dropping_tables'] = 'Eliminazione tabelle in corso'; $lang['install_dummyindexhtml'] = 'Crea file index.html vuoti'; $lang['install_extractfiles'] = 'Estrai file dall\'archivio'; $lang['install_initevents'] = 'Crea eventi'; $lang['install_initsitegroups'] = 'Crea gruppi iniziali'; $lang['install_initsiteperms'] = 'Imposta i permessi iniziali'; $lang['install_initsiteprefs'] = 'Imposta le preferenze iniziali del sito'; $lang['install_initsiteusers'] = 'Crea l\'account dell\'utente iniziale'; $lang['install_initsiteusertags'] = 'Tag definiti dall\'utente iniziali'; $lang['install_module'] = 'Installa il modulo %s'; $lang['install_modules'] = 'Installa moduli disponibili'; $lang['install_passwordsalt'] = 'Imposta password salt'; $lang['install_requireddata'] = 'Imposta i dati iniziali richiesti'; $lang['install_schema'] = 'Crea schema del database'; $lang['install_setschemaver'] = 'Imposta versione schema'; $lang['install_setsequence'] = 'Resetta sequenza tabelle'; $lang['install_setsitename'] = 'Imposta il nome del sito'; $lang['install_stylesheets'] = 'Crea i fogli di stile predefiniti'; $lang['install_templates'] = 'Crea i modelli predefiniti'; $lang['install_templatetypes'] = 'Crea tipi di modelli standard'; $lang['install_update_sequences'] = 'Aggiorna sequenza tabelle'; $lang['install_updatehierarchy'] = 'Aggiorna le posizioni di gerarchia del contenuto'; $lang['install_updateseq'] = 'Aggiorna sequenza per %s'; $lang['installer_ver'] = 'Versione installer'; $lang['legend'] = 'Legenda'; $lang['magic_quotes_runtime'] = 'Assicurati che magic quotes siano disattivate'; $lang['max_execution_time'] = 'Verifica del tempo massimo di esecuzione dello script PHP in corso'; $lang['meaning'] = 'Significato'; $lang['memory_limit'] = 'Verifica di un limite sufficiente di memoria di PHP in corso'; $lang['msg_clearedcache'] = 'Pulita la cache del server'; $lang['msg_configsaved'] = 'File di configurazione esistente salvato in %s'; $lang['msg_upgrade_module'] = 'Aggiornamento in corso del modulo %s'; $lang['msg_upgrademodules'] = 'Aggiornamento dei moduli in corso'; $lang['msg_yourvalue'] = 'Tu hai: %s'; $lang['multibyte_support'] = 'Verifica del supporto multibyte'; $lang['next'] = 'Avanti'; $lang['no'] = 'No'; $lang['none'] = 'Nessuno'; $lang['open_basedir'] = 'Restrizioni open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir è attivato. Non posso testare la sessione save path.'; $lang['output_buffering'] = 'Verifica abilitazione dell\'output del buffering'; $lang['pass_config_writable'] = 'Il processo HTTP ha il permesso di scrittura nel file config.php'; $lang['pass_database_support'] = 'Trovato almeno un driver di database compatibile'; $lang['pass_func_json'] = 'Rilevata la funzionalità json'; $lang['pass_func_md5'] = 'La funzionalità md5 è stata rilevata'; $lang['pass_func_tempnam'] = 'La funzione tempnam esiste'; $lang['pass_memory_limit_nolimit'] = 'Non c\'è un limite di memoria PHP preimpostato'; $lang['pass_multibyte_support'] = 'Il supporto Multibyte sembra essere abilitato'; $lang['pass_php_version'] = 'La versione di PHP attualmente configurata non corrisponde ai requisiti minimi. Si richiede almeno PHP %s , ma si raccomanda %s o superiore'; $lang['pass_pwd_writable'] = 'Il processo HTTP può scrivere nella directory di destinazione. Ciò è necessario per estrarre i file'; $lang['password'] = 'Password'; $lang['ph_sitename'] = 'Inserisci un nome del sito'; $lang['php_version'] = 'Versione PHP'; $lang['post_max_size'] = 'Verifica della massima quantità di dati che può essere inviata in una richiesta'; $lang['prompt_addlanguages'] = 'Lingue aggiuntive'; $lang['prompt_createtables'] = 'Crea tabelle del database'; $lang['prompt_dbhost'] = 'Hostname del database'; $lang['prompt_dbinfo'] = 'Informazioni del database'; $lang['prompt_dbname'] = 'Nome del database'; $lang['prompt_dbpass'] = 'Password'; $lang['prompt_dbport'] = 'Numero della porta del database'; $lang['prompt_dbprefix'] = 'Prefisso nome tabella del database'; $lang['prompt_dbtype'] = 'Tipo di database'; $lang['prompt_dbuser'] = 'Nome utente'; $lang['prompt_dir'] = 'Directory di installazione'; $lang['prompt_installcontent'] = 'Installa contenuti di esempio'; $lang['prompt_queryvar'] = 'Variabile Query'; $lang['prompt_sitename'] = 'Nome del sito web'; $lang['prompt_timezone'] = 'Fuso orario del server'; $lang['pwd_writable'] = 'Directory scrivibile'; $lang['queue_for_upgrade'] = 'Accodato modulo non core %s per aggiornamento al prossimo step.'; $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Verifica disabilitazione "register globals"'; $lang['remote_url'] = 'Test sulla possibilità di effettuare connessioni HTTP in uscita'; $lang['repeatpw'] = 'Ripeti password'; $lang['reset_site_preferences'] = 'Resetta alcune preferenze del sito'; $lang['reset_user_settings'] = 'Resetta le preferenze dell\'utente'; $lang['retry'] = 'Riprova'; $lang['safe_mode'] = 'Test per verificare che "safe mode" sia disabilitato'; $lang['saltpasswords'] = 'Salt Passwords'; $lang['select_language'] = 'La prima cosa che ti chiediamo di fare è quella di selezionare la tua lingua preferita dall\'elenco qui sotto. Ciò servirà a migliorare la tua esperienza durante la procedura di installazione, ma non inciderà sull\'installazione di CMSMS.'; $lang['send_admin_email'] = 'Invia e-mail con le credenziali per il login dell\'amministratore'; $lang['session_capabilities'] = 'Test sulle corrette funzionalità di sessione (le sessioni usano i cookie e il percorso di salvataggio della sessione è scrivibile, ecc)'; $lang['session_save_path_exists'] = 'Session_save_path esiste'; $lang['session_save_path_writable'] = 'Session_save_path è scrivibile'; $lang['session_use_cookies'] = 'Verifica che le sessioni PHP usino i cookie'; $lang['sometests_failed'] = 'Sono stati effettuati numerosi test del tuo attuale ambiente web. Sebbene non siano stati rilevati problemi critici, si raccomanda che i seguenti elementi vengano corretti prima di continuare.'; $lang['step1_advanced'] = 'Modalità avanzata'; $lang['step1_destdir'] = 'Seleziona la directory'; $lang['step1_info_destdir'] = 'Attenzione: Questo programma può installare od aggiornare installazioni multiple di CMS Made Simple. E\' importante che tu selezioni la directory corretta per l\'installazione o per l\'aggiornamento.'; $lang['step1_language'] = 'Seleziona la lingua'; $lang['step1_title'] = 'Seleziona la lingua'; $lang['step2_cmsmsfound'] = 'E\' stata rilevata un\'installazione di CMS Made Simple. Si può aggiornare questa installazione. Tuttavia, prima di procedere, assicurati di avere un backup attuale e verificato di tutti i file e del database'; $lang['step2_cmsmsfoundnoupgrade'] = 'Sebbene sia stata rilevata un\'installazione di CMS Made Simple, non si può aggiornare questa versione usando questa applicazione. La versione potrebbe essere troppo vecchia.'; $lang['step2_confirminstall'] = 'Sei sicuro di voler installare CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Sei sicuro di voler aggiornare CMS Made Simple'; $lang['step2_errorsamever'] = 'Sembra che la directory selezionata contenga già un\'installazione di CMSMS con la stessa versione inclusa in questo script. Continuando si rinnoverà l\'installazione.'; $lang['step2_errortoonew'] = 'Sembra che la directory selezionata contenga già un\'installazione di CMSMS con una versione più recente di quella contenuta in questo script. Impossibile procedere'; $lang['step2_info_freshen'] = 'Il rinnovamento dell\'installazione comporta la sostituzione di tutti i file del core e la creazione di una nuova configurazione. Ti verranno richieste alcune informazioni di base relative alla configurazione, tuttavia il database non verrà toccato.'; $lang['step2_installdate'] = 'Data approssimativa di installazione'; $lang['step2_install_dirnotempty2'] = 'Questa cartella contiene già alcuni file e/o sottocartelle. Sebbene sia possibile installare qui CMSMS, ciò potrebbe inavvertitamente danneggiare un\'applicazione esistente. Per favore ricontrolla i contenuti di questa cartella. A scopo di riferimento alcuni di questi file sono elencati qui sotto. Per favore assicurati che ciò sia esatto.'; $lang['step2_hdr_upgradeinfo'] = 'Informazioni di versione'; $lang['step2_info_upgradeinfo'] = 'Qui sotto trovi le note di rilascio disponibili e le informazioni del changelog per ogni release. Il pulsante sottostante mostrerà informazioni dettagliate su cosa è cambiato in ogni versione di CMS Made Simple. Potrebbero esserci ulteriori istruzioni od avvisi in ogni versione che potrebbero incidere sul processo di aggiornamento.'; $lang['step2_minupgradever'] = 'La versione minima dalla quale questa applicazione può effettuare l\'aggiornamento è: %s. Dovresti aggiornare la tua applicazione ad una versione più recente in più passaggi, usando un altro metodo prima di completare il processo di aggiornamento. Per favore assicurati di avere un backup completo e verificato prima di usare un qualsiasi metodo di aggiornamento.'; $lang['step2_nocmsms'] = 'Non è stata rilevata un\'installazione di CMS Made Simple in questa directory. Sembra che questa sia una nuova installazione'; $lang['step2_nofiles'] = 'Come richiesto, i file del Core di CMSMS non saranno elaborati durante questo processo'; $lang['step2_passed'] = 'Superato'; $lang['step2_pwd'] = 'La tua directory di lavoro attuale'; $lang['step2_schemaver'] = 'Versione Schema Database'; $lang['step2_version'] = 'La tua versione'; $lang['step3_failed'] = 'Questo pacchetto ha effettuato numerosi test del tuo ambiente PHP ed uno o più di questi test sono falliti. Dovrai correggere questi errori nella tua configurazione prima di continuare. Una volta corretti gli errori, clicka su "Riprova" qui sotto.'; $lang['step3_passed'] = 'Questo pacchetto ha effettuato numerosi test del tuo ambiente PHP e sono stati tutti superati. Questa è un\'ottima notizia! Sebbene non si tratti di un test onnicomprensivo, non dovresti avere difficoltà a far funzionare l\'installazione del core di CMSMS.'; $lang['step9_removethis'] = 'Attenzione Per ragioni di sicurezza è importante che venga rimosso l\'installer dal tuo sito navigabile appena avrai verificato che l\'operazione abbia avuto successo.'; $lang['symbol'] = 'Simbolo'; $lang['social_message'] = 'CMS Made Simple è stato installato con successo!'; $lang['test_failed'] = 'Un test richiesto è fallito'; $lang['test_passed'] = 'Un test è stato superato (i test superati vengono mostrati solo nella modalità avanzata)'; $lang['test_warning'] = 'Un\'impostazione è al di sopra del valore richiesto, ma al di sotto del valore raccomandato, o...
Una funzionalità che potrebbe essere necessaria per qualche funzionalità opzionale non è disponibile'; $lang['th_status'] = 'Stato'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Valore'; $lang['title_error'] = 'Houston, abbiamo un problema!'; $lang['title_step2'] = 'Passo 2 - Rilevamento software esistente'; $lang['title_step3'] = 'Passo 3 - Test'; $lang['title_step4'] = 'Passo 4 - Informazioni di base per la configurazione'; $lang['title_step5'] = 'Passo 5 - Informazioni per l\'account dell\'amministratore'; $lang['title_step6'] = 'Passo 6 - Impostazioni del sito'; $lang['title_step7'] = 'Passo 7 - Installa i file dell\'applicazione'; $lang['title_step8'] = 'Passo 8 - Lavoro sul Database'; $lang['title_step9'] = 'Passo 9 - Finito'; $lang['title_welcome'] = 'Benvenuto'; $lang['title_forum'] = 'Forum di supporto'; $lang['title_docs'] = 'Documentazione ufficiale'; $lang['title_api_docs'] = 'Documentazione API ufficiale'; $lang['to'] = 'a'; $lang['title_share'] = 'Condividi la tua esperienza con i tuoi amici.'; $lang['tmpfile'] = 'Controllo funzionamento tmpfile()'; $lang['tmp_dirs_empty'] = 'Verifica che le directory temporanee siano vuote o che non esistano'; $lang['upgrade'] = 'Aggiorna'; $lang['upgrade_deleteoldevents'] = 'Cancellazione vecchi eventi'; $lang['upgrading_schema'] = 'Aggiornamento schema database'; $lang['upload_max_filesize'] = 'Controllo dimensione massima dei file caricati'; $lang['username'] = 'Nome utente'; $lang['warn_disable_functions'] = 'Nota: una o più funzioni del core di PHP sono disabilitate. Ciò può avere un impatto negativo sulla tua installazione di CMSMS, in particolar modo con estensioni di terze parti. Per favore tieni d\'occhio il tuo error log. Le tue funzioni disabilitate sono:

%s'; $lang['warn_max_execution_time'] = 'Sebbene il tuo tempo massimo di esecuzione di %s sia pari o superiore al valore minimo di %s, si raccomanda di aumentarlo a %s o superiore'; $lang['warn_memory_limit'] = 'Il valore del tuo limite di memoria è %s, che è al di sopra del minimo di %s. Tuttavia, si raccomanda %s'; $lang['warn_open_basedir'] = 'open_basedir è abilitato nella tua configurazione php. Sebbene tu possa continuare, CMSMS non supporterà installazioni con restrizioni open_basedir.'; $lang['warn_post_max_size'] = 'Il valore della massima dimensione dei post è %s, che è al di sopra del minimo di %s, tuttavia si raccomanda %s . Per favore assicurati anche che questo valore sia superiore a upload_max_filesize'; $lang['warn_tests'] = 'Nota: Il superamento di tutti questi test dovrebbe garantire che CMSMS funzioni correttamente per la maggior parte dei siti. Tuttavia, col crescere del sito e l\'aggiunta di altre funzionalità, questi valori minimi potrebbero diventare insufficienti. Inoltre, moduli di terze parti potrebbero aver bisogno di altre risorse per funzionare correttamente'; $lang['warn_upload_max_filesize'] = 'Sebbene la tua impostazione di %s sia sufficiente, si raccomanda di aumentare l\'impostazione di upload_max_filesize in PHP ad almeno %s'; $lang['welcome_message'] = 'Benvenuto! Questo è il Sistema Automatico di Installazione di CMS Made Simple. Questo pacchetto ti consentirà di avere rapidamente e facilmente la conferma che il tuo host web è compatibile con CMSMS e di installarlo od aggiornarlo alla versione più recente di CMS Made Simple.
Siamo sicuri che lo apprezzerai.'; $lang['wizard_step1'] = 'Benvenuto'; $lang['wizard_step2'] = 'Rilevazione software esistente'; $lang['wizard_step3'] = 'Test di compatibilità'; $lang['wizard_step4'] = 'Informazioni di configurazione'; $lang['wizard_step5'] = 'Informazioni dell\'account dell\'amministratore'; $lang['wizard_step6'] = 'Impostazioni del sito'; $lang['wizard_step7'] = 'File'; $lang['wizard_step8'] = 'Lavoro database'; $lang['wizard_step9'] = 'Finito'; $lang['xml_functions'] = 'Controllo funzionalità XML in corso'; $lang['yes'] = 'Sì'; ?> denne prosessen for å fortsette!'; $lang['error_backupconfig'] = 'Vi kunne ikke skikkelig ta sikkerhetskopi av config-filen'; $lang['error_checksum'] = 'Utpakket fil checksum samsvarer ikke med original'; $lang['error_cmstablesexist'] = 'Det ser ut til at det allerede er en CMS installasjon på denne databasen. Vennligst oppgi annen databaseinformasjon. Hvis du ønsker å bruke en annen tabell prefix vil du måtte restarte installasjonsprosessen og aktivere avansert modus.'; $lang['error_createtable'] = 'Problem med å opprette databasetabell... mulig dette er et rettighetsproblem'; $lang['error_dbconnect'] = 'Vi kunne ikke koble til databasen. Vennligst dobbeltsjekk legitimasjonen du har oppgitt'; $lang['error_dirnotvalid'] = 'Katalogen %s finnes ikke (eller så er den ikke skrivbar)'; $lang['error_droptable'] = 'Problem fjerne databasetabell ... kanskje dette er et problem med tillatelser'; $lang['error_filenotwritable'] = 'Filen %s kunne ikke overskrives (tillatelses problem)'; $lang['error_internal'] = 'Beklager, noe har gått galt ... (intern feil) (%s)'; $lang['error_invalid_directory'] = 'Det ser ut til at den katalogen du har valgt å installere i er en arbeidskatalog for installatøren selv'; $lang['error_invalidconfig'] = 'Feil i config-filen, eller config fil mangler'; $lang['error_invaliddbpassword'] = 'Database passord inneholder ugyldige tegn som ikke trygt kan lagres.'; $lang['error_invalidkey'] = 'Ugyldig medlemsvariabel eller nøkkel %s for klasse %s'; $lang['error_invalidparam'] = 'Ugyldig parameter eller verdi for parameter: %s'; $lang['error_invalidtimezone'] = 'Tidssonen er ugyldig'; $lang['error_invalidqueryvar'] = 'Forespørselvariabelen inneholder ugyldige tegn. Bruk bare alfanumeriske tegn og understrek.'; $lang['error_missingconfigvar'] = 'Nøkkelen "%s" enten mangler eller er ugyldig i filen config.ini'; $lang['error_noarchive'] = 'Problem med å finne arkivfilen ... vennligst start på nytt'; $lang['error_nlsnotfound'] = 'Problemer med å finne NLS filer i arkivet'; $lang['error_nodatabases'] = 'Ingen kompatible database utvidelser ble funnet'; $lang['error_nodbhost'] = 'Vennligst skriv inn et gyldig vertsnavn (eller IP-adresse) for databasetilkoblingen'; $lang['error_nodbname'] = 'Vennligst skriv inn navnet på en gyldig database på verten angitt ovenfor'; $lang['error_nodbpass'] = 'Vennligst skriv inn et gyldig passord for å autentisere til databasen'; $lang['error_nodbprefix'] = 'Vennligst skriv inn et gyldig prefiks for databasetabeller'; $lang['error_nodbtype'] = 'Vennligst velg en database type'; $lang['error_nodbuser'] = 'Vennligst skriv inn et gyldig brukernavn for autentisering til databasen'; $lang['error_nodestdir'] = 'Målkatalog ikke satt'; $lang['error_nositename'] = 'Nettstedsnavn er en nødvendig parameter. Vennligst skriv inn et passende navn på ditt nettsted.'; $lang['error_notimezone'] = 'Vennligst skriv inn en gyldig tidssone for denne serveren'; $lang['error_overwrite'] = 'Tillatelsesproblem: kan ikke overskrive %s'; $lang['error_sendingmail'] = 'Feil ved sending av e-post'; $lang['error_tzlist'] = 'Et problem oppstod med å hente listen med tidssone identifikatorer'; $lang['errorlevel_estrict'] = 'Tester for E_STRICT'; $lang['errorlevel_edeprecated'] = 'Tester for E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED er aktivert i PHP\'s error_reporting. Selv om dette ikke vil hindre CMSMS fra drift kan det resultere i at advarsler blir vist i utdataene. Spesielt fra eldre tredjeparts moduler'; $lang['estrict_enabled'] = 'E_STRICT er aktivert i PHP\'s error_reporting. Selv om dette ikke vil hindre CMSMS fra drift, kan det resultere i advarsler blir vist i HTML-visning. Spesielt fra eldre tredjeparts moduler'; $lang['fail_assets_dir'] = 'En eiendel katalog finnes allerede. Dette programmet kan skrive til denne katalogen for å rasjonere plasseringen av filene. Vennligst sørg for at du har en sikkerhetskopi'; $lang['fail_assets_msg'] = 'En eiendeler katalog finnes allerede. Denne applikasjonen kan skrive til denne katalogen for å rasjonalisere plasseringen av filer. Sørg for at du har en sikkerhetskopi'; $lang['fail_config_writable'] = 'HTTP-prosessen kan ikke skrive til config.php filen. Vennligst prøv å endre tillatelsene på denne filen til 777 inntil oppgraderingen er fullført'; $lang['fail_curl_extension'] = 'Curl utvidelsen er ikke funnet. Selv om ikke dette er et kritisk problem så kan dette føre til problemer med enkelte tredjeparts moduler'; $lang['fail_database_support'] = 'Ingen Kompatible database drivere funnet'; $lang['fail_file_get_contents'] = 'file_get_contents funksjonen finnes ikke, eller er deaktivert. CMSMS Kan ikke fortsette (selv installasjonsprogrammet vil sannsynligvis mislykkes)'; $lang['fail_file_uploads'] = 'Opplasting funksjoner er deaktivert i dette miljøet. Flere funksjoner i CMSMS vil ikke fungere i dette miljøet'; $lang['fail_func_json'] = 'json funksjonalitet ble ikke funnet'; $lang['fail_func_gzopen'] = 'gzopen funkjson ble ikke funnet'; $lang['fail_func_md5'] = 'md5 funksjonalitet ble ikke funnet'; $lang['fail_func_tempnam'] = 'tempnam funksjonen finnes ikke. Dette er en nødvendig funksjon for CMSMS funksjonaliteten'; $lang['fail_func_ziparchive'] = 'ZipArchive funksjonalitet ble ikke funnet. Dette kan begrense funksjonaliteten'; $lang['fail_ini_set'] = 'Det ser ut til at vi ikke kan endre ini innstillinger. Dette kan føre til problemer i tredjeparts moduler (eller ved aktivering av debug-modus)'; $lang['fail_intl_support'] = 'PHP internasjonaliseringsutvidelse er ikke tilgjengelig'; $lang['fail_magic_quotes_runtime'] = 'Det ser ut til at magic quotes(/magiske sitater) er aktivert i konfigurasjonen. Vennligst deaktivere dette og prøv på nytt'; $lang['fail_max_execution_time'] = 'Din maks Execution time på %s oppfyller ikke minimumsverdien på %s. Vi anbefaler deg å øke det til %s eller høyere'; $lang['fail_memory_limit'] = 'Memory Limit grenseverdien er for lav. Du hadde %s, men et minimum på %s er nødvendig, og %s er anbefalt'; $lang['fail_multibyte_support'] = 'Multibyte støtte er ikke aktivert i din konfigurasjon'; $lang['fail_output_buffering'] = 'Output Buffering(/Mellomlagring av utdata) er ikke aktivert.'; $lang['fail_open_basedir'] = 'Open basedir restriksjoner er i kraft. CMSMS krever at dette skal være deaktivert'; $lang['fail_php_version'] = 'Versjonen av PHP tilgjengelig for CMSMS er av kritisk betydning. Minste aksepterte versjonen er %s, men vi anbefaler %s eller høyere. Du har %s'; $lang['fail_post_max_size'] = 'Din Post max size(/innlegg maks størrelse) på %s oppfyller ikke minimumsverdien på %s. Du må øke til påkrevd minimum. Men du bør øke den til %s og også sikre at det er større enn upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-prosessen må være i stand til å skrive til destinasjons katalogen (og til alle filer og kataloger under den) for å installere filer. Vi har ikke skrivetilgang til (minst) %s'; $lang['fail_register_globals'] = 'Vennligst deaktiver Register Globals i din PHP konfigurasjon'; $lang['fail_remote_url'] = 'Vi fikk problemer med å koble til en ekstern URL. Dette vil begrense noe av funksjonaliteten i CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS vil ikke fungere skikkelig i et miljø hvor sikkermodus er aktivert. Bare så dere vet: Sikkermodus er foreldet som en mislykket mekanisme, og vil bli fjernet i fremtidige versjoner av PHP'; $lang['fail_session_save_path_exists'] = 'Session save path variabelverdien er ugyldig eller mappen finnes ikke'; $lang['fail_session_save_path_writable'] = 'Session save path katalogen er ikke skrivbar'; $lang['fail_session_use_cookies'] = 'Sessijoner er IKKE satt til å benytte cookies'; $lang['fail_tmpfile'] = 'Systemets tmpfile() -funksjon fungerer ikke. Dette er nødvendig for å tillate oss å trekke ut arkiver. Det valgfrie TMPDIR url argumentet kan gis for installasjonsprogrammet for å spesifisere en skrivbar katalog. Se README-filen som bør være i inkludert i denne katalogen.'; $lang['fail_tmp_dirs_empty'] = 'De CMSMS Midlertidige kataloger (tmp/cache and tmp/templates_c) eksisterer, og er ikke tom. Vennligst fjern eller tømme dem'; $lang['fail_xml_functions'] = 'XML utvidelsen ble ikke funnet. Vennligst aktiver dette i ditt PHP miljø'; $lang['failed'] = 'feilet'; $lang['file_get_contents'] = 'Testing av file_get_contents funksjonen'; $lang['file_installed'] = 'Installert %s'; $lang['file_uploads'] = 'Testing for filopplasting støtte'; $lang['finished_custom_freshen_msg'] = 'Installasjonen har blitt oppfrisket! Kjerne filene har blitt oppdatert, og en ny config-fil er opprettet. Vennligst besøk nettstedet ditt for å forsikre at alt fungerer som det skal'; $lang['finished_custom_install_msg'] = 'Hva! Vi er klare. Vennligst besøk nettstedet og logg inn i administrasjonspanelet'; $lang['finished_custom_upgrade_msg'] = 'Hva! Alt er ferdig. Vennligst besøk ditt CMSMS Admin panel, og frontend for å sikre at alt fungerer som det skal
Hint: Nå er et godt tidspunkt å ta en ny backup.'; $lang['finished_freshen_msg'] = 'Installasjonen har blitt oppfrisket! Kjerne filene har blitt oppdatert, og en ny config-filen er opprettet. Du kan nå besøke nettstedet ditt eller logge inn på CMSMS Admin panelet.'; $lang['finished_install_msg'] = 'Hva! Vi er klare. Du kan nå besøke nettstedet ditt eller logge inn på CMSMS admin panelet.'; $lang['finished_upgrade_msg'] = 'Hva! Alt er klart. Vennligst besøk ditt nettsteds frontend og Admin panel for å verifisere korrekt oppførsel. Du må kanskje også oppgradere noen tredjeparts moduler
Hint: Husk å ta en ny backup etter å ha kontrollert korrekt oppførsel.'; $lang['freshen'] = 'Oppfriske (reparere) installasjon'; $lang['func_json'] = 'Sjekke for JSON koding og dekoding'; $lang['func_md5'] = 'Sjekke for md5 funksjonalitet'; $lang['func_tempnam'] = 'Sjekk for tempnam funksjon'; $lang['func_gzopen'] = 'Sjekk for gzopen funksjon'; $lang['func_ziparchive'] = 'Sjekk for ziparchive funksjon'; $lang['gd_version'] = 'GD versjon'; $lang['goback'] = 'Tilbake'; $lang['info_addlanguages'] = 'Velg språk (i tillegg til engelsk) som skal installeres. Merk: ikke alle oversettelser er fullført.'; $lang['info_adminaccount'] = 'Vennligst oppgi legitimasjon for den første administratorkontoen. Denne kontoen vil ha tilgang til all funksjonalitet i CMSMS admin konsollen.'; $lang['info_advanced'] = 'Avansert modus gir flere alternativer i installasjonsprosedyren.'; $lang['info_dbinfo'] = 'CMS Made Simple lagrer mye data i databasen. En database tilkobling er obligatorisk. I tillegg bør den brukerlegitimasjonen du leverer har alle privilegier på den angitte databasen for å tillate oppretting, sletting og endring av tabeller, indekser og visninger.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED er et flagg for php\'s feilrapportering som indikerer at advarsler skal vises om kode som bruker utdaterte teknikker. For CMSMS kjernen forsøker vi å sikre at vi ikke lenger bruker utdaterte teknikker, noen moduler kanskje ikke følger opp dette. Vi anbefaler at denne innstillingen deaktiveres i PHP-konfigurasjonen'; $lang['info_errorlevel_estrict'] = 'E_STRICT er et flagg for php\'s feilrapportering som viser at strenge kodestandarder bør respekteres. Selv om CMSMS kjernen forsøker å samsvare med E_STRICT standarder så mulig enkelte moduler ikke er det. Vi anbefaler at denne innstillingen deaktiveres i PHP-konfigurasjonen'; $lang['info_installcontent'] = 'Som standard vil dette installasjonsprogrammet skape en rekke eksempler på sider, stilark og maler i CMSMS. Prøveinnholdet gir omfattende informasjon og tips til hjelpe i å bygge nettsteder med CMSMS og er nyttig å lese. Hvis du allerede er kjent med CMS Made Simple så vil deaktivering av dette alternativet vil bare opprette et minimalt sett med maler, stilark og innholdssider.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir er aktivert i din PHP konfigurasjon. Vi kunne ikke skikkelig teste session evner. Men det å komme til dette punktet i installasjonsprosessen indikerer trolig at øktene jobber greit.'; $lang['info_pwd_writable'] = 'Denne applikasjonen krever skrivetilgang til gjeldende arbeidskatalog'; $lang['info_queryvar'] = 'Spørringsvariabelen brukes internt av CMSMS for å identifisere den forespurte siden. I de fleste tilfeller har du ikke behov for å endre denne.'; $lang['info_sitename'] = 'Nettstedsnavnet brukes i standardmaler som en del av tittelen. Vennligst skriv inn et lesbart navn for nettstedet'; $lang['info_timezone'] = 'Tidssone informasjon er nødvendig for tidsberegning og tid/datovisning. Vennligst velg server tidssone'; $lang['ini_set'] = 'Test om vi kan endre INI-instillinger'; $lang['install'] = 'Installer'; $lang['install_attachstylesheets'] = 'Koble stilark til tema'; $lang['install_backupconfig'] = 'Sikkerhetskopierer config-filen'; $lang['install_createassets'] = 'Opprett eiendel struktur'; $lang['install_created_index'] = 'Opprettet indeks %s ... %s'; $lang['install_create_tables'] = 'Oppretter database tabeller'; $lang['install_createconfig'] = 'Oppretter ny config-fil'; $lang['install_createcontentpages'] = 'Oppretter nye innholdssider'; $lang['install_created_table'] = 'Opprettet tabell %s: .... %s'; $lang['install_createtablesindexes'] = 'Oppretter tabeller og indekser'; $lang['install_createtmpdirs'] = 'Oppretter midlertidige kataloger'; $lang['install_creating_index'] = 'Opprettet indeks %s'; $lang['install_default_collections'] = 'Installer standard samlinger'; $lang['install_defaultcontent'] = 'Installer standard innhold'; $lang['install_detectlanguages'] = 'Oppdag installerte språk'; $lang['install_dropping_tables'] = 'Fjern tabeller'; $lang['install_dummyindexhtml'] = 'Opprett dummy index.html filer'; $lang['install_extractfiles'] = 'Pakk ut filer fra arkivet'; $lang['install_initevents'] = 'Opprett hendelser'; $lang['install_initsitegroups'] = 'Opprett innledende grupper'; $lang['install_initsiteperms'] = 'Sett innledende rettigheter'; $lang['install_initsiteprefs'] = 'Sett innledende nettsteds-innstillinger'; $lang['install_initsiteusers'] = 'Opprett innledende brukerkontoer'; $lang['install_initsiteusertags'] = 'Innledende brukerdefinerte tagger'; $lang['install_module'] = 'Installer modul %s'; $lang['install_modules'] = 'Installer tilgjengelige moduler'; $lang['install_passwordsalt'] = 'Sett passord salting'; $lang['install_requireddata'] = 'Sett innledende påkrevd data'; $lang['install_schema'] = 'Opprett database sjema'; $lang['install_setschemaver'] = 'Sett skjema versjon'; $lang['install_setsequence'] = 'Tilbakestill sekvens tabeller'; $lang['install_setsitename'] = 'Sett nettstedsnavn'; $lang['install_stylesheets'] = 'Opprett standard stilark'; $lang['install_templates'] = 'Opprett standaard maler'; $lang['install_templatetypes'] = 'Opprett standard maltyper'; $lang['install_update_sequences'] = 'Oppdater sekvens tabeller'; $lang['install_updatehierarchy'] = 'Oppdater innholdets hierarkiposisjoner'; $lang['install_updateseq'] = 'Oppdater sekvens for %s'; $lang['installer_ver'] = 'Installer versjon'; $lang['intl_support'] = 'Se etter internasjonaliseringsevner'; $lang['legend'] = 'Forklaring'; $lang['magic_quotes_runtime'] = 'Forsikrer oss om at magiske sitater er deaktivert'; $lang['max_execution_time'] = 'Kontrollere PHP-script maks Utføringstid'; $lang['meaning'] = 'Betydning'; $lang['memory_limit'] = 'Sjekker for tilstrekkelig PHP minnegrense'; $lang['msg_clearedcache'] = 'Tømte serverens mellomlager'; $lang['msg_configsaved'] = 'Eksisterende config-fil lagret til %s'; $lang['msg_upgrade_module'] = 'Oppgraderer mdodul %s'; $lang['msg_upgrademodules'] = 'Oppgraderer moduler'; $lang['msg_yourvalue'] = 'Du har: %s'; $lang['multibyte_support'] = 'Sjekker for multibyte støtte'; $lang['next'] = 'Neste'; $lang['no'] = 'Nei'; $lang['none'] = 'Ingen'; $lang['open_basedir'] = 'open_basedir restriksjoner'; $lang['open_basedir_session_save_path'] = 'open_basedir er aktivert. Kan derfor ikke teste session save path.'; $lang['output_buffering'] = 'Forsikrer oss om at output buffering er slått på'; $lang['pass_config_writable'] = 'HTTP-prosessen har skriverettighet til config-filen'; $lang['pass_database_support'] = 'Minst en kompatibel database driver er funnet'; $lang['pass_func_json'] = 'json funksjonalitet oppdaget'; $lang['pass_func_md5'] = 'md5 funksjonalitet er oppdaget'; $lang['pass_func_tempnam'] = 'tempnam funksjonen sksisterer'; $lang['pass_intl_support'] = 'Internasjonaliseringsevner ser ut til å være aktivert'; $lang['pass_memory_limit_nolimit'] = 'Det er ingen forhåndsinnstilte PHP minnegrense'; $lang['pass_multibyte_support'] = 'Multibyte støtte ser ut til å være slått på'; $lang['pass_php_version'] = 'PHP versjonen som er konfigurert oppfyller ikke minimumskravene. Som et minimum er PHP %s nødvendig, men vi anbefaler %s eller høyere'; $lang['pass_pwd_writable'] = 'HTTP-prosessen kan skrive i destinasjons katalogen. Dette er nødvendig for ekstrahere filer'; $lang['password'] = 'Passord'; $lang['ph_sitename'] = 'Oppgi ett nettstedsnavn'; $lang['php_version'] = 'PHP versjon'; $lang['post_max_size'] = 'Sjekker den maksimale mengden av data som kan bli sendt i en forespørsel'; $lang['prompt_addlanguages'] = 'Andre språk'; $lang['prompt_createtables'] = 'Oppretter databasetabeller'; $lang['prompt_dbhost'] = 'Database vertsnavn'; $lang['prompt_dbinfo'] = 'Database informasjon'; $lang['prompt_dbname'] = 'Databasenavn'; $lang['prompt_dbpass'] = 'Passord'; $lang['prompt_dbport'] = 'Database portnummer'; $lang['prompt_dbprefix'] = 'Database tabellnavn prefiks'; $lang['prompt_dbtype'] = 'Databasetype'; $lang['prompt_dbuser'] = 'Brukernavn'; $lang['prompt_dir'] = 'Installasjonskatalog'; $lang['prompt_installcontent'] = 'Installer eksempelinnhold'; $lang['prompt_queryvar'] = 'Spørringsvariabel'; $lang['prompt_sitename'] = 'Nettstedsnavn'; $lang['prompt_timezone'] = 'Server tidssone'; $lang['pwd_writable'] = 'Katalog skrivbar'; $lang['queue_for_upgrade'] = 'Lagt i kø ikke kjerne modul %s for oppgradering på neste trinn.'; $lang['readme_uc'] = 'LESMEG'; $lang['register_globals'] = 'Forsikrer oss om at "register globals" er deaktivert'; $lang['remote_url'] = 'Urgående HTTP koblinger'; $lang['repeatpw'] = 'Gjenta passord'; $lang['reset_site_preferences'] = 'Tilbakestill noen nettstedspreferanser'; $lang['reset_user_settings'] = 'Tilbakestill bruker preferanser'; $lang['retry'] = 'Forsøk igjen'; $lang['safe_mode'] = 'Test for å sikre "safe mode" er deaktivert'; $lang['saltpasswords'] = 'Salt passord'; $lang['select_language'] = 'Det første vi vil be deg om å gjøre er å velge språk fra listen nedenfor. Dette vil bli brukt til å forbedre din opplevelse under installasjonen, men vil ikke påvirke din CMSMS installasjon.'; $lang['send_admin_email'] = 'Send admin påloggingsinformasjon e-post'; $lang['session_capabilities'] = 'Teste for riktige sesjons evner (økter bruker cookies og session save path er skrivbar, osv.)'; $lang['session_save_path_exists'] = 'Session_save_path eksisterer'; $lang['session_save_path_writable'] = 'Session_save_path er skrivbar'; $lang['session_use_cookies'] = 'Forsikrer oss om at PHP sesjoner benytter cookies'; $lang['sometests_failed'] = 'Vi har utført en rekke tester av din nåværende web-miljø. Selv om ingen kritiske spørsmål ble funnet, anbefaler vi at følgende elementer rettes opp før du fortsetter.'; $lang['step1_advanced'] = 'Avansert modus'; $lang['step1_destdir'] = 'Velg katalog'; $lang['step1_info_destdir'] = 'Advarsel: Dette programmet kan installere eller oppgradere flere installasjoner av CMS Made Simple. Det er viktig at du velger riktig katalog for installasjon eller oppgradering.'; $lang['step1_language'] = 'Velg språk'; $lang['step1_title'] = 'Velg språk'; $lang['step2_cmsmsfound'] = 'En installasjon av CMS Made Simple ble funnet. Det er mulig å oppgradere denne installasjonen. Men før du går videre påse at du har en gjeldende, verifisert sikkerhetskopi av alle filer og av databasen'; $lang['step2_cmsmsfoundnoupgrade'] = 'Selv om en installasjon av CMS Made Simple ble funnet, er det ikke mulig å oppgradere denne versjonen ved hjelp av dette programmet. Versjonen kan være for gammel.'; $lang['step2_confirminstall'] = 'Er du sikker på at du vil installere CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Er du sikker på at du vil oppgradere CMS Made Simple'; $lang['step2_errorsamever'] = 'Den valgte katalogen ser ut til å inneholde en CMSMS installasjon med den samme versjonen som er inkludert i dette skriptet. Å fortsette vil oppfriske installasjonen.'; $lang['step2_errortoonew'] = 'Den valgte katalogen ser ut til å inneholde en CMSMS installasjon med en nyere versjon enn som er inkludert i dette skriptet. Vi kan ikke fortsette'; $lang['step2_info_freshen'] = 'Oppfriske installasjonen innebærer utskifting av alle kjernefiler og gjenskape konfigurasjonen. Du vil bli bedt om grunnleggende konfigurasjonsinformasjon, men databasen vil ikke bli berørt.'; $lang['step2_installdate'] = 'Omtrentlig installajsonsdato'; $lang['step2_install_dirnotempty2'] = 'Denne mappen inneholder allerede noen filer og / eller under-mapper . Selv om det er mulig å installere CMSMS her, kan det vertikalantenne korrupte-re et eksisterende program. Vennligst dobbeltsjekke innholdet i denne mappen. For referanseformål noen av filene er listet opp nedenfor. Sørg for at dette er riktig.'; $lang['step2_hdr_upgradeinfo'] = 'Versjonsinformasjon'; $lang['step2_info_upgradeinfo'] = 'Nedenfor er de tilgjengelige versjonsmerknadene, og endrings informasjon for hver utgivelse. Knappene under vil vise detaljert informasjon om hva som har endret seg i hver versjon av CMS Made Simple. Det kan være flere instruksjoner eller advarsler i hver versjon som kan påvirke oppgraderingsprosessen.'; $lang['step2_minupgradever'] = 'Den minste versjonen som dette programmet kan oppgradere fra er: %s. Du må kanskje oppgradere programmet ditt til en nyere versjon i etapper, med en annen metode før du fullfører oppgraderingen. Sørg for at du har en komplett, verifisert backup før du bruker noen oppgraderingsmetoden.'; $lang['step2_nocmsms'] = 'Vi fant ikke en installasjon av CMS Made Simple i denne katalogen. Det ser ut som dette er en ny installasjon'; $lang['step2_nofiles'] = 'Som forespurt, CMSMS kjernefiler vil ikke bli behandlet i denne prosessen'; $lang['step2_passed'] = 'Bestått'; $lang['step2_pwd'] = 'Din nåværende arbeidskatalog'; $lang['step2_schemaver'] = 'Database skjemaversjon'; $lang['step2_version'] = 'Din versjon'; $lang['step3_failed'] = 'Denne pakken har utført en rekke tester av php miljø, og en eller flere av disse testene har mislyktes. Du trenger å rette disse feilene i konfigurasjonen før du fortsetter. Når du har rettet opp feilene, klikk "Prøv på nytt" nedenfor.'; $lang['step3_passed'] = 'Denne pakken har utført en rekke tester av php miljø, og de ​​har alle bestått. Dette er gode nyheter. Selv om dette ikke er en avgjørende test. Du bør ikke ha noen problemer med å kjøre denne Core-installasjonen av CMSMS.'; $lang['step9_get_help'] = 'Koble til andre CMSMS-utviklere og få hjelp på følgende måter'; $lang['step9_get_support'] = 'Støttekanaler'; $lang['step9_join_community'] = 'Bli med i fellesskapet vårt'; $lang['step9_love_cmsms'] = 'Love CMS Made Simple'; $lang['step9_removethis'] = 'Advarsel Av sikkerhetsmessige grunner er det viktig at du fjerner installasjons assistenten fra ditt nettsted så snart du har bekreftet at operasjonen var vellykket.'; $lang['step9_support_us'] = 'Klikk her for å finne ut hvordan du kan støtte oss'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'Du har nå vellykket installert CMS Made Simple'; $lang['test_failed'] = 'En påkrevd Test mislyktes'; $lang['test_passed'] = 'En test er bestått (beståtte tester vises bare i avansert modus) '; $lang['test_warning'] = 'En innstilling er over påkrevd verdi, men under anbefalt verdi, eller ...
En evne som kan være nødvendig for noe ekstra funksjonalitet er ikke tilgjengelig'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Verdi'; $lang['title_error'] = 'Houston, Vi har et problem!'; $lang['title_step2'] = 'Steg 2 - Oppdag eksisterende programvare'; $lang['title_step3'] = 'Steg 3 - Tester'; $lang['title_step4'] = 'Steg 4 - Grunnleggende konfigurasjonsinformasjon'; $lang['title_step5'] = 'Steg 5 - Admin kontoinformasjon'; $lang['title_step6'] = 'Steg 6 - Nettstedsinnstillinger'; $lang['title_step7'] = 'Steg 7 - Installerer programfiler'; $lang['title_step8'] = 'Steg 8 - Databasearbeid'; $lang['title_step9'] = 'Steg 9 - Avslutning'; $lang['title_welcome'] = 'Velkommen'; $lang['title_forum'] = 'Supportforum'; $lang['title_docs'] = 'Offisiell Dokumentasjon'; $lang['title_api_docs'] = 'Offisiell API Dokumentasjon'; $lang['to'] = 'til'; $lang['title_share'] = 'Del din erfaring med dine venner'; $lang['tmpfile'] = 'Sjekker for fungerende tmpfile()'; $lang['tmp_dirs_empty'] = 'Forsikre deg om at midletidige kataloger er tomme eller at de ikke eksisterer'; $lang['upgrade'] = 'Oppgrader'; $lang['upgrade_deleteoldevents'] = 'Slett gamle handlinger'; $lang['upgrading_schema'] = 'Oppdaterer databaseskjema'; $lang['upload_max_filesize'] = 'Tester maksimum størrelse på opplastede filer'; $lang['username'] = 'Brukernavn'; $lang['warn_disable_functions'] = 'Merk: en eller flere av PHP kjernefunksjonene er deaktivert. Dette kan ha negativ innvirkning på din CMSMS installasjon, spesielt med tredjeparts utvidelser. Vennligst hold et øye med feilloggen. Dine avslåtte funksjoner er:

%s'; $lang['warn_max_execution_time'] = 'Selv om din maks Execution time på %s overstiger minsteverdien på %s så anbefaler vi deg å øke det til %s eller høyere'; $lang['warn_memory_limit'] = 'Din Minne grenseverdi er %s, som er over minimum %s. Men %s anbefales'; $lang['warn_open_basedir'] = 'open_basedir er aktivert i din PHP konfigurasjon. Selv om du kan fortsette, CMSMS støtter ikke installasjoner med open_basedir restriksjoner.'; $lang['warn_post_max_size'] = 'Ditt post max size verdi er %s, som er over minimummet på %s, men %s er anbefalt. Også, så må du kontrollere at denne verdien er større enn upload_max_filesize'; $lang['warn_tests'] = 'Merk: å ha bestått alle disse tester bør sørge for at CMSMS fungerer riktig på de fleste områder. Men, som nettstedet vokser og mer funksjonalitet legges til kan disse minimale verdier bli utilstrekkelige. I tillegg kan tredjeparts moduler ha ytterligere krav for å fungere skikkelig'; $lang['warn_upload_max_filesize'] = 'Selv om din innstilling av %s er tilstrekkelig, anbefaler vi at du øker upload_max_filesize innstillingen i PHP til minst %s'; $lang['welcome_message'] = 'Velkommen! Dette er CMS Made Simple\'s automatiske installasjons mekanisme. Denne pakken vil tillate deg å raskt og enkelt bekrefte at webhotellet er kompatibel med CMSMS og å installere eller oppgradere til den nyeste versjonen av CMS Made Simple.
Vi vet at du vil nyte det.'; $lang['wizard_step1'] = 'Velkommen'; $lang['wizard_step2'] = 'Oppdag eksisterende programvare'; $lang['wizard_step3'] = 'Kompatibilitetstester'; $lang['wizard_step4'] = 'Konfigurasjonsinformasjon'; $lang['wizard_step5'] = 'Admin kontoinformasjon'; $lang['wizard_step6'] = 'Nettsted innstillinger'; $lang['wizard_step7'] = 'Filer'; $lang['wizard_step8'] = 'Database arbeid'; $lang['wizard_step9'] = 'Avslutt'; $lang['xml_functions'] = 'Tester for CML funksjonalitet'; $lang['yes'] = 'Ja'; ?>dit proces terug draaien om verder te kunnen!'; $lang['error_backupconfig'] = 'Er kan geen back-up gemaakt worden van het config bestand'; $lang['error_checksum'] = 'Checksum van uitgepakte bestand komt niet overeen met het origineel'; $lang['error_cmstablesexist'] = 'Het lijkt erop dat er al een CMSMS installatie in deze database bestaat. Voer a.u.b. andere database gegevens in. Als u gebruik wilt maken van een andere prefix voor de database tabellen kunt u de installatie opnieuw starten en uitgebreide modus toepassen'; $lang['error_createtable'] = 'Probleem bij het aanmaken van database tabel... mogelijk te wijten aan een rechten probleem'; $lang['error_dbconnect'] = 'Er kan geen verbinding worden gemaakt met de database. Controleer de ingevoerde gegevens.'; $lang['error_dirnotvalid'] = 'De directory %s bestaat niet (of is niet schrijfbaar)'; $lang['error_droptable'] = 'Probleem bij het verwijderen van database tabel... mogelijk te wijten aan een rechten probleem'; $lang['error_filenotwritable'] = 'Het bestand %s kan niet worden overschreven (permissie probleem)'; $lang['error_internal'] = 'Er is iets fout gegaan... (interne fout) (%s)'; $lang['error_invalid_directory'] = 'Het lijkt erop dat de gekozen installatie directory in de \'working directory\' van de installer zelf staat'; $lang['error_invalidconfig'] = 'Fout in het config bestand, of het bestand bestaat niet'; $lang['error_invaliddbpassword'] = 'Database wachtwoord bevat ongeldige karakters die niet kunnen worden opgeslagen'; $lang['error_invalidkey'] = 'Ongeldige member variabele van key %s voor class %s'; $lang['error_invalidparam'] = 'Verkeerde (waarde van) parameter: %s'; $lang['error_invalidtimezone'] = 'De gespecificeerde tijdszone is ongeldig'; $lang['error_invalidqueryvar'] = 'De ingevoerde query variabele bevat ongeldige tekens. Alleen alfanumerieke en underscores zijn toegestaan'; $lang['error_missingconfigvar'] = 'De key " %s " is afwezig of ongeldig in het config.ini bestand'; $lang['error_noarchive'] = 'Probleem met het vinden van het archief bestand... graag opnieuw starten'; $lang['error_nlsnotfound'] = 'Probleem met het vinden van de NLS bestanden in het archief bestand'; $lang['error_nodatabases'] = 'Geen bruikbare database extensies gevonden'; $lang['error_nodbhost'] = 'Voer de database hostnaam in'; $lang['error_nodbname'] = 'Voer de database naam in'; $lang['error_nodbpass'] = 'Voer het wachtwoord in van de database server'; $lang['error_nodbprefix'] = 'Voer een prefix in voor de database tabellen'; $lang['error_nodbtype'] = 'Selecteer een database type'; $lang['error_nodbuser'] = 'Voer de gebruikersnaam in van de database'; $lang['error_nodestdir'] = 'Doel directory is niet ingesteld'; $lang['error_nositename'] = 'De websitenaam is een verplicht veld! Vul een naam in voor de website.'; $lang['error_notimezone'] = 'Geef a.u.b. een geldige tijdzone op voor deze server'; $lang['error_overwrite'] = 'Bevoegdheidsprobleem: %s kan niet worden overschreven'; $lang['error_sendingmail'] = 'Fout'; $lang['error_tzlist'] = 'Er is een probleem opgetreden bij het opvragen van de lijst met tijdzones'; $lang['errorlevel_estrict'] = 'E_STRICT controleren'; $lang['errorlevel_edeprecated'] = 'E_DEPRECATED controleren'; $lang['edeprecated_enabled'] = 'E_DEPRECATED is ingeschakeld in PHP error_reporting. Hoewel dit CMSMS niet zal hinderen kan het wel leiden tot meldingen die getoond worden in de browser. Met name bij gebruik van oudere modules van derden'; $lang['estrict_enabled'] = 'E_STRICT is ingeschakeld in PHP error_reporting. Hoewel dit CMSMS niet zal hinderen kan het wel leiden tot meldingen die getoond worden in de browser. Met name bij gebruik van oudere modules van derden'; $lang['fail_assets_dir'] = 'De \'Assets-directory\' bestaat al. Deze applicatie kan bestanden toevoegen of verwijderen in de Assets-directory. Zorg ervoor dat er een backup is gemaakt.'; $lang['fail_assets_msg'] = 'De \'Assets-directory\' bestaat al. Deze applicatie kan bestanden toevoegen of verwijderen in de Assets-directory. Zorg ervoor dat er een backup is gemaakt.'; $lang['fail_config_writable'] = 'De webserver kan het bestand config.php niet aanmaken/wijzigen. Probeer a.u.b. de rechten op dit bestand te wijzigen naar 777 tot de upgrade is voltooid'; $lang['fail_curl_extension'] = 'De curl extensie is niet gevonden. Hoewel dit geen kritisch probleem is kan het problemen veroorzaken bij enkele modules van derden'; $lang['fail_database_support'] = 'Geen bruikbare database drivers gevonden'; $lang['fail_file_get_contents'] = 'De functie file_get_contents bestaat niet of is uitgeschakeld. CMSMS kan niet doorgaan (waarschijnlijk faalt de installatieprocedure zelf)'; $lang['fail_file_uploads'] = 'De mogelijkheid om bestanden te uploaden zijn uitgeschakeld op deze omgeving. Diverse functies van CMSMS zullen niet werken op deze omgeving.'; $lang['fail_func_json'] = 'json functionaliteit niet gevonden'; $lang['fail_func_gzopen'] = 'gzopen functionaliteit is niet gevonden'; $lang['fail_func_md5'] = 'md5 functionaliteit niet gevonden'; $lang['fail_func_tempnam'] = 'De tempnam functionaliteit bestaat niet. Het is een vereiste functie voor het gebruik van CMSMS'; $lang['fail_func_ziparchive'] = 'ZipArchive functionaliteit is niet gevonden, dit kan beperkingen binnen het CMS opleveren...'; $lang['fail_ini_set'] = 'Het lijkt erop dat de ini settings niet aangepast kunnen worden. Dit kan problemen veroorzaken met modules van derden (of wanneer de debug modus wordt ingeschakeld)'; $lang['fail_magic_quotes_runtime'] = 'Het lijkt erop dat magic quotes zijn ingeschakeld in uw configuratie. Schakelt u dat a.u.b. uit en probeer opnieuw'; $lang['fail_max_execution_time'] = 'De max execution time van %s is lager dan de minimale waarde van %s. Het advies is om het te verhogen tot %s of meer'; $lang['fail_memory_limit'] = 'De geheugen limiet waarde is te laag. Uw heeft %s terwijl een minimum van %s vereist is en %s wordt aanbevolen'; $lang['fail_multibyte_support'] = 'Multibyte ondersteuning is niet ingeschakeld in uw configuratie'; $lang['fail_output_buffering'] = 'Output buffering is niet ingeschakeld'; $lang['fail_open_basedir'] = 'Open basedir beperkingen zijn ingeschakeld. CMSMS vereist dat dit is uitgeschakeld'; $lang['fail_php_version'] = 'De PHP versie die beschikbaar is voor CMSMS is erg belangrijk. De minimale versie is %s hoewel we %s of hoger aanbevelen. U heeft %s'; $lang['fail_post_max_size'] = 'Uw post max size van %s is lager dan het minimum van %s. U zou de waarde moeten verhogen naar %s and controleren dat de waarde hoger is dan upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Het HTTP-proces moet in de bestemmings directory en alle ondergelegen directories, schrijfrechten hebben teneinde bestanden te installeren. Op dit moment ontbreekt de schrijfrechten voor tenminste %s'; $lang['fail_register_globals'] = 'Register globals moet uitgeschakeld worden in uw PHP configuratie'; $lang['fail_remote_url'] = 'Er zijn problemen opgetreden bij het benaderen van externe urls. Dit zal de functionaliteit van CMSMS beperken'; $lang['fail_safe_mode'] = 'CMSMS zal niet goed functioneren in een omgeving waar safe mode is ingeschakeld. Ter info: Safe mode is afgekeurd als beveiligingsmechanisme en zal uit toekomstige PHP versies worden verwijderd.'; $lang['fail_session_save_path_exists'] = 'De session save path variabele is ongeldig of de directory bestaat niet'; $lang['fail_session_save_path_writable'] = 'Kan niet schrijven in de \'session save path\' directory'; $lang['fail_session_use_cookies'] = 'Sessions zijn NIET ingesteld om cookies te gebruiken'; $lang['fail_tmpfile'] = 'De systeemfunctie tmpfile() werkt niet. Deze is nodig om de archiefbestanden uit te pakken. De TMPDIR-url parameter kan als parameter worden toegevoegd om een directory aan te geven waar wel naartoe kan worden geschreven. Lees hiervoor ook de README die in directory moet staan.'; $lang['fail_tmp_dirs_empty'] = 'De tijdelijke directories van CMSMS (tmp/cache and tmp/templates_c) bestaan al en zijn niet leeg. Verwijder deze directories of zorg ervoor dat deze leeg worden gemaakt.'; $lang['fail_xml_functions'] = 'De XML extensie is niet gevonden. Schakel deze a.u.b. in voor uw omgeving'; $lang['failed'] = 'mislukt'; $lang['file_get_contents'] = 'Controleren op de file_get_contents functie'; $lang['file_installed'] = 'Geïnstalleerd %s'; $lang['file_uploads'] = 'Controleren op de file upload functionaliteit'; $lang['finished_custom_freshen_msg'] = 'Uw installatie is hersteld. De standaard bestanden zijn bijgewerkt en een nieuw configuratiebestand is aangemaakt. Bezoek a.u.b. uw website om te controleren dat alles juist functioneert'; $lang['finished_custom_install_msg'] = 'Geweldig! We zijn klaar. Bezoek a.u.b. uw website en ga naar het beheerpaneel.'; $lang['finished_custom_upgrade_msg'] = 'Geweldig! Het is klaar. Bezoek a.u.b. uw CMSMS beheerpaneel en website en verzeker uzelf ervan dat alles goed werkt.
Tip: nu is een goed moment om een nieuwe backup te maken.'; $lang['finished_freshen_msg'] = 'Uw installatie is hersteld! De core bestanden zijn bijgewerkt en een nieuw configuratie-bestand aangemaakt. U kunt nu uw website bezoeken of inloggen in het beheerpaneel.'; $lang['finished_install_msg'] = 'Geweldig! We zijn klaar. U kunt nu uw website bezoeken of inloggen in het beheerpaneel.'; $lang['finished_upgrade_msg'] = 'Geweldig, het is gelukt! Bezoek a.u.b. uw CMSMS beheerpaneel en uw website en verzeker uzelf ervan dat alles goed werkt. Mogelijk moet u enkele modules van derden bijwerken.
Tip: denk eraan een nieuwe backup te maken na controle dat alles goed werkt.'; $lang['freshen'] = 'Herstellen installatie.'; $lang['func_json'] = 'Controleren op json encoding en decoding functionaliteit'; $lang['func_md5'] = 'Controleren op de md5 functionaliteit'; $lang['func_tempnam'] = 'Controleren naar de tempnam functionaliteit'; $lang['func_gzopen'] = 'Controleren naar de gzopen functionaliteit'; $lang['func_ziparchive'] = 'Controleren naar de ziparchive functionaliteit'; $lang['gd_version'] = 'GD Versie'; $lang['goback'] = 'Terug'; $lang['info_addlanguages'] = 'Selecteer taalbestanden (naast het Engels) om te installeren. Niet alle vertalingen zullen compleet zijn.'; $lang['info_adminaccount'] = 'Gelieve de referenties voor de eerste beheerdersaccount invoeren. Dit account zal toegang hebben tot alle functionaliteiten in het CMSMS beheerpaneel.'; $lang['info_advanced'] = 'Uitgebreide modus biedt meer opties tijdens de installatieprocedure'; $lang['info_dbinfo'] = 'CMS Made Simple slaat een groot gedeelte van de gegevens op in de database. Een database-verbinding is vereist. Verder zou het account dat uw opgeeft ALL PRIVILEGES rechten moeten hebben op de specifieke database om tabellen, indexes en views aan te kunnen maken, verwijderen en wijzigen.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED is een instelling voor php error reporting die aangeeft dat waarschuwing over code met verouderde technieken moeten worden weergegeven. Hoewel we proberen in CMSMS core geen verouderde technieken te gebruiken kan het voorkomen dat sommige modules dat niet doen. Het advies is om deze instelling uit te schakelen in de PHP configuratie.'; $lang['info_errorlevel_estrict'] = 'E_STRICT is een parameter voor PHP\'s foutmelding dat de \'strict codeing\' standaard moet worden gehanteerd. Ondanks dat het CMSMS Core Team er naar streeft om aan de E_STRICT standaarden te voldoen, is dat niet bij alle modulen ook (al) gelukt. Het advies is daarom om deze parameter uit te schakelen in de PHP configuratie.'; $lang['info_installcontent'] = 'Standaard zal deze installatie een aantal voorbeeld pagina\'s, stylesheets en sjablonen aanmaken in CMSMS. De voorbeeld inhoud bevat uitgebreide informatie over en tips voor het bouwen van websites met CMSMS en is erg nuttig om te lezen. Echter, als u al bekend bent met CMS Made Simple kunt u deze optie uitschakelen en wordt er slechts een minimaal aantal sjablonen, stylesheets en pagina\'s aangemaakt.'; $lang['info_open_basedir_session_save_path'] = 'De parameter open_basedir is actief in de PHP configuratie. De installatie is niet in staat de sessie-mogelijkheden juist te testen. Echter, gezien de status van het installatieproces, mag worden aangenomen dat de sessies goed functioneren.'; $lang['info_pwd_writable'] = 'Deze applicatie heeft schrijfrechten nodig in de huidige working directory'; $lang['info_queryvar'] = 'De query variabele wordt intern gebruikt door CMSMS om de opgevraagde pagina te identificeren. In de meeste gevallen hoeft u dit niet aan te passen'; $lang['info_sitename'] = 'De website-naam wordt gebruikt in de standaard sjablonen als deel van de titel. Voer a.u.b. een naam in de voor de website'; $lang['info_timezone'] = 'De tijdzone-informatie is nodig voor tijdberekeningen en het tonen van datum/tijd. Selecteer a.u.b. de tijdzone van de server'; $lang['ini_set'] = 'Controleren of de INI instellingen aangepast kunnen worden'; $lang['install'] = 'Installeer'; $lang['install_attachstylesheets'] = 'Koppel de stylesheets aan de themes'; $lang['install_backupconfig'] = 'Kopie maken van het config bestand'; $lang['install_createassets'] = 'Opbouwen Assets-directory structuur'; $lang['install_created_index'] = 'Index aangemaakt %s ... %s'; $lang['install_create_tables'] = 'Database tabellen maken'; $lang['install_createconfig'] = 'Nieuw config bestand maken'; $lang['install_createcontentpages'] = 'Standaard pagina inhoud maken'; $lang['install_created_table'] = 'Tabel %s gemaakt: ... %s'; $lang['install_createtablesindexes'] = 'Tabellen en Indexes maken'; $lang['install_createtmpdirs'] = 'Tijdelijke directories maken'; $lang['install_creating_index'] = 'Index %s gemaakt'; $lang['install_default_collections'] = 'Installeer de standaard inhoud'; $lang['install_defaultcontent'] = 'Standaard inhoud installeren'; $lang['install_detectlanguages'] = 'Detecteer geïnstalleerde talen'; $lang['install_dropping_tables'] = 'Tabellen verwijderen'; $lang['install_dummyindexhtml'] = 'Dummy index.html bestanden maken'; $lang['install_extractfiles'] = 'Bestanden uit het archiefbestand uitpakken'; $lang['install_initevents'] = 'Gebeurtenissen aanmaken'; $lang['install_initsitegroups'] = 'Admin gebruikersgroepen instellen'; $lang['install_initsiteperms'] = 'Admin permissies instellen'; $lang['install_initsiteprefs'] = 'Basis website instellingen instellen'; $lang['install_initsiteusers'] = 'Admin account maken'; $lang['install_initsiteusertags'] = 'Standaard UDT\'s maken'; $lang['install_module'] = 'Installeer module %s'; $lang['install_modules'] = 'Installeer beschikbare modules'; $lang['install_passwordsalt'] = 'Salt wachtwoorden instellen'; $lang['install_requireddata'] = 'Benodigde data instellen'; $lang['install_schema'] = 'Database schema maken'; $lang['install_setschemaver'] = 'Schema versie instellen'; $lang['install_setsequence'] = 'Reset sequence tabellen'; $lang['install_setsitename'] = 'Websitenaam instellen'; $lang['install_stylesheets'] = 'Standaard stylesheets maken'; $lang['install_templates'] = 'Standaard sjablonen maken'; $lang['install_templatetypes'] = 'Standaard sjabloontypes maken'; $lang['install_update_sequences'] = 'Sequence tabellen bijwerken'; $lang['install_updatehierarchy'] = 'Pagina hiërarchie posities bijwerken'; $lang['install_updateseq'] = 'Volgorde bijwerken voor %s'; $lang['installer_ver'] = 'Installatie assistent versie'; $lang['legend'] = 'Verklaring'; $lang['magic_quotes_runtime'] = 'Controleer of magic quotes uitgeschakeld zijn'; $lang['max_execution_time'] = 'De PHP max execution time controleren'; $lang['meaning'] = 'Betekenis'; $lang['memory_limit'] = 'Controleren of de ingestelde PHP memory limit voldoende is'; $lang['msg_clearedcache'] = 'Server buffer geleegd'; $lang['msg_configsaved'] = 'Bestaand config bestand opgeslagen al %s'; $lang['msg_upgrade_module'] = 'Module %s bijwerken'; $lang['msg_upgrademodules'] = 'Modules bijwerken'; $lang['msg_yourvalue'] = 'U heeft: %s'; $lang['multibyte_support'] = 'Controleer multibyte support'; $lang['next'] = 'Volgende'; $lang['no'] = 'Nee'; $lang['none'] = 'Geen'; $lang['open_basedir'] = 'open_basedir beperkingen'; $lang['open_basedir_session_save_path'] = 'open_basedir is ingeschakeld. Kan session save path niet testen.'; $lang['output_buffering'] = 'Testen of output buffering is ingeschakeld'; $lang['pass_config_writable'] = 'Het HTTP proces heeft schrijfrechten om het config.php bestand aan te passen'; $lang['pass_database_support'] = 'Er is in ieder geval één bruikbare database driver gevonden'; $lang['pass_func_json'] = 'json functionaliteit gevonden'; $lang['pass_func_md5'] = 'md5 functionaliteit gevonden'; $lang['pass_func_tempnam'] = 'tempnam functionaliteit gevonden'; $lang['pass_multibyte_support'] = 'Het lijkt er op dat Multibyte ondersteund wordt'; $lang['pass_php_version'] = 'De PHP versie van de webserver voldoet niet aan de gestelde eisen. Verplicht is minimaal PHP %s, maar aan te bevelen is PHP %s of hoger'; $lang['password'] = 'Wachtwoord'; $lang['ph_sitename'] = 'Voer een website naam in'; $lang['php_version'] = 'PHP Versie'; $lang['post_max_size'] = 'Controleren van de maximale hoeveelheid data dat in een verzoek kan worden gepost'; $lang['prompt_addlanguages'] = 'Extra Taalpakketten'; $lang['prompt_createtables'] = 'Database tabellen maken'; $lang['prompt_dbhost'] = 'Database Hostnaam'; $lang['prompt_dbinfo'] = 'Database Informatie'; $lang['prompt_dbname'] = 'Database Naam'; $lang['prompt_dbpass'] = 'Wachtwoord'; $lang['prompt_dbport'] = 'Database Poortnummer'; $lang['prompt_dbprefix'] = 'Database Tabelnaam Prefix'; $lang['prompt_dbtype'] = 'Database type'; $lang['prompt_dbuser'] = 'Gebruikersnaam'; $lang['prompt_dir'] = 'Installatie Directory'; $lang['prompt_installcontent'] = 'Voorbeeld Inhoud Installeren'; $lang['prompt_queryvar'] = 'Query Variabele'; $lang['prompt_sitename'] = 'Website naam'; $lang['prompt_timezone'] = 'Server Tijdzone'; $lang['pwd_writable'] = 'Directory schrijfbaar'; $lang['queue_for_upgrade'] = 'Module %s staat in de wachtrij om in de volgende stap te worden bijgewerkt.'; $lang['readme_uc'] = 'LEES MIJ'; $lang['register_globals'] = 'Controleren of "register globals" uitgeschakeld is'; $lang['remote_url'] = 'Uitgaande HTTP verbindingen'; $lang['repeatpw'] = 'Herhaal'; $lang['reset_site_preferences'] = 'Reset bepaalde website instellingen'; $lang['reset_user_settings'] = 'Reset Gebruikersinstellingen'; $lang['retry'] = 'Probeer opnieuw'; $lang['safe_mode'] = 'Testen of "safe mode" is uitgeschakeld'; $lang['saltpasswords'] = 'Salt Wachtwoorden'; $lang['select_language'] = 'Het eerste wat we u vragen te doen is om de gewenste taal uit de onderstaande lijst selecteren. Deze zal worden gebruikt om tijdens deze installatie, maar zal geen invloed hebben op uw CMSMS website.'; $lang['send_admin_email'] = 'Stuur een email met de Admin login gegevens'; $lang['session_capabilities'] = 'Testen voor de juiste sessiemogelijkheden (sessies maken gebruik van cookies en de locatie voor de cookie is schrijfbaar enz.)'; $lang['session_save_path_exists'] = 'Session_save_path bestaat'; $lang['session_save_path_writable'] = 'Session_save_path is beschrijfbaar'; $lang['session_use_cookies'] = 'Controleren of PHP sessions cookies gebruikt'; $lang['sometests_failed'] = 'Op de huidige web-omgeving zijn verschillende tests uitgevoerd. Ondanks dat er geen kritieke zaken zijn gevonden wordt aangeraden om de volgende onderdelen aan te passen voordat verder wordt gegaan.'; $lang['step1_advanced'] = 'Uitgebreide modus'; $lang['step1_destdir'] = 'Selecteer server directory'; $lang['step1_info_destdir'] = 'Warning: Dit programma kan meerdere installaties van CMSMS bijwerken/upgraden of installeren. Het is daarom van belang dat de juiste folder voor de installatie of de upgrade wordt geselecteerd.'; $lang['step1_language'] = 'Selecteer Taal'; $lang['step1_title'] = 'Selecteer Taal'; $lang['step2_cmsmsfound'] = 'Er is een CMS Made Simple website gevonden en het is mogelijk deze installatie te upgraden. Echter, voordat u verder gaat zorg er voor dat u een actuele GECONTROLEERDE back-up van alle bestanden en van de database heeft!'; $lang['step2_cmsmsfoundnoupgrade'] = 'Hoewel er CMS Made Simple website is gevonden, is het niet mogelijk om deze versie te upgraden door middel van deze Installatie Assistent. Waarschijnlijk is de aanwezige versie te oud.'; $lang['step2_confirminstall'] = 'Weet u zeker dat u CMS Made Simple wilt installeren'; $lang['step2_confirmupgrade'] = 'Weet u zeker dat u CMS Made Simple wilt upgraden'; $lang['step2_installdate'] = 'Globale installatie datum'; $lang['step2_hdr_upgradeinfo'] = 'Versie-informatie'; $lang['step2_nocmsms'] = 'We vinden geen bestaande CMS Made Simple website in deze directory. Het lijkt er op dat u een nieuwe installatie wil doen'; $lang['step2_passed'] = 'Geslaagd'; $lang['step2_pwd'] = 'Uw huidige werkmap is'; $lang['step2_schemaver'] = 'Database Schema Versie'; $lang['step2_version'] = 'Uw versie'; $lang['symbol'] = 'Symbool'; $lang['social_message'] = 'Ik heb met succes CMS Made Simple geïnstalleerd!'; $lang['test_failed'] = 'Een noodzakelijke test is mislukt'; $lang['th_testname'] = 'Controle'; $lang['th_value'] = 'Waarde'; $lang['title_error'] = 'Er is een fout opgetreden!'; $lang['title_step2'] = 'Stap 2 - Aanwezigheid software controleren'; $lang['title_step3'] = 'Stap 3 - Compatibiliteit Controle'; $lang['title_step4'] = 'Stap 4 - Basis Configuratie'; $lang['title_step5'] = 'Stap 5 - Admin Account Configuratie'; $lang['title_step6'] = 'Stap 6 - Website Instellingen'; $lang['title_step7'] = 'Stap 7 - Installatie bestanden'; $lang['title_step8'] = 'Stap 8 - Database vullen'; $lang['title_step9'] = 'Stap 9 - Gereed'; $lang['title_welcome'] = 'Welkom'; $lang['title_docs'] = 'Officiële Documentatie'; $lang['title_api_docs'] = 'Officiële API Documentatie'; $lang['to'] = 'bij'; $lang['title_share'] = 'Deel uw ervaringen met uw vrienden'; $lang['tmpfile'] = 'Controleren naar een werkende tmpfile()'; $lang['tmp_dirs_empty'] = 'Zorg ervoor dat de tijdelijke folders leeg zijn of nog niet zijn aangemaakt'; $lang['upgrade'] = 'Bijwerken'; $lang['upgrade_deleteoldevents'] = 'Oude "gebeurtenissen" verwijderen'; $lang['upgrading_schema'] = 'Database schema bijwerken'; $lang['upload_max_filesize'] = 'Controleren van de maximale omvang van de toegevoegde bestanden'; $lang['username'] = 'Gebruikersnaam'; $lang['warn_memory_limit'] = 'De geheugenlimietwaarde is %s, wat hoger is dan het minimum van %s. %s wordt echter aanbevolen'; $lang['warn_open_basedir'] = 'open_basedir is ingeschakeld in de php-configuratie. Hoewel u kunt doorgaan, ondersteunt CMSMS geen installaties met open_basedir-beperkingen.'; $lang['warn_upload_max_filesize'] = 'Hoewel de instelling van %s voldoende is, wordt aangeraden de instelling upload_max_filesize in PHP te verhogen tot ten minste %s'; $lang['wizard_step1'] = 'Welkom'; $lang['wizard_step2'] = 'Controleren op bestaande software'; $lang['wizard_step3'] = 'Compatibiliteit Controle'; $lang['wizard_step4'] = 'Configuratie Informatie'; $lang['wizard_step5'] = 'Beheer Account Informatie'; $lang['wizard_step6'] = 'Website Instellingen'; $lang['wizard_step7'] = 'Installatie Bestanden'; $lang['wizard_step8'] = 'Database bewerkingen'; $lang['wizard_step9'] = 'Gereed'; $lang['xml_functions'] = 'Controleer XML functionaliteit'; $lang['yes'] = 'Ja'; ?>Sugestão: esta é uma boa altura para fazer outra cópia de segurança.'; $lang['finished_freshen_msg'] = 'A instalação corrente foi refrescada! Os ficheiros do núcleo foram actualizados e foi criado um novo ficheiro config. Já pode visitar o seu website ou dar entrada no painel admin do CMSMS.'; $lang['finished_install_msg'] = 'Woot! Acabámos. Já pode visitar o seu website ou dar entrada no painel admin do CMSMS.'; $lang['finished_upgrade_msg'] = 'Woot! Está tudo finalizado. Por favor visite o seu site, e o Painel Admin para certificar-se de que está tudo a funcionar adequadamente. Poderá ainda ser necessária a actualização de alguns módulos de terceiros.
Pista: esta é uma boa altura para fazer outra cópia de segurança.'; $lang['freshen'] = 'Refrescar (reparar)'; $lang['func_json'] = 'Verificação de funcionalidade de codificação e descodificação json'; $lang['func_md5'] = 'Verificação de funcionalidade md5'; $lang['func_tempnam'] = 'Verificação de função tempnam'; $lang['func_gzopen'] = 'Verificação de função gzopen'; $lang['func_ziparchive'] = 'Verificação de função ZipArchive'; $lang['gd_version'] = 'Versão GD'; $lang['goback'] = 'Voltar'; $lang['info_addlanguages'] = 'Seleccionar linguagens (para além do Inglês) a instalar. Nota: nem todas as traduções estão completas.'; $lang['info_adminaccount'] = 'Por favor especifique as credenciais para a conta inicial de administrador. Esta conta terá acesso a toda a funcionalidade da consola de admin do CMSMS.'; $lang['info_advanced'] = 'O modo avançado habilita mais opções no processo de instalação.'; $lang['info_dbinfo'] = 'O CMS Made Simple guarda uma quantidade considerável de dados na base de dados. Uma ligação a uma base de dados é mandatória. Adicionalmente, as credenciais que fornecer deverão ter TODOS OS PRIVILÉGIOS para a base de dados especificada de forma a ser possível criar, apagar e modificar tabelas, indexes e views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED é uma flag da directiva de PHP error reporting que indica que devem ser emitidos avisos (mensagens Warning) quando o código de programação usa técnicas obsoletas. Apesar do núcleo do CMSMS tentar assegurar tanto quanto possível que estas técnicas não são usadas, alguns módulos poderão não cumprir este standard. É recomendado que se desabilite esta configuração PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT é uma flag da directiva de PHP error reporting que indica quando os standards estritos de programação devem ser respeitados. Apesar do núcleo do CMSMS estar em conformidade com os standards E_STRICT tanto quanto possível, alguns módulos poderão não cumprir este standard. É recomendado que se desabilite esta configuração PHP'; $lang['info_installcontent'] = 'Por defeito este instalador irá criar uma série de páginas de exemplo, folhas de estilo e templates nesta instalação do CMSMS. Este conteúdo de exemplo providencia informação extensiva bem como pistas para ajudar à construção de sites com o CMSMS e é de leitura recomendada e útil. No entanto se já estiver familiarizado com o CMS Made Simple, ao desabilitar esta opção estará a criar apenas um conjunto mínimo de templates, folhas de estilo, e páginas de conteúdo.'; $lang['info_open_basedir_session_save_path'] = 'A directiva open_basedir está habilitada na sua configuração de PHP. Não nos foi possível testar as capacidades de sessão de forma apropriada. Contudo, ter chegado a este ponto da instalação indica que, com toda a probabilidade, as sessões estarão a funcionar correctamente.'; $lang['info_pwd_writable'] = 'Esta aplicação necessita de permissão de escrita no directório de trabalho corrente'; $lang['info_queryvar'] = 'A variável de query é usada internamente pelo CMSMS para indentificar a página requerida. Na maioria das circunstâncias não deverá ser necessário ajustar esta entrada.'; $lang['info_sitename'] = 'O nome do website é usado nos templates pré-configurados com parte do título. Por favor dê ao site um nome que seja inteligível'; $lang['info_timezone'] = 'A informação de fuso horário é necessária aos cálculos e usos de data/hora no site. Por favor seleccione o fuso horário do servidor.'; $lang['ini_set'] = 'A testar se é possível modificar configurações INI'; $lang['install'] = 'Instalar'; $lang['install_attachstylesheets'] = 'Anexar folhas de estilo a temas'; $lang['install_backupconfig'] = 'A fazer cópia de segurança do ficheiro config'; $lang['install_created_index'] = 'Criados índices %s ... %s'; $lang['install_create_tables'] = 'Criar tabelas de base de dados'; $lang['install_createconfig'] = 'Criar novo ficheiro config'; $lang['install_createcontentpages'] = 'Criar páginas de conteúdo pré-definidas'; $lang['install_created_table'] = 'Foi criada a tabela %s: .... %s'; $lang['install_createtablesindexes'] = 'A criar tabelas e indexes'; $lang['install_createtmpdirs'] = 'A criar directórios temporários'; $lang['install_creating_index'] = 'Criado índice %s'; $lang['install_default_collections'] = 'Instalar colecções pré-definidas'; $lang['install_defaultcontent'] = 'Instalar conteúdo pré-definido'; $lang['install_detectlanguages'] = 'Detectar idiomas instalados'; $lang['install_dropping_tables'] = 'A apagar tabelas'; $lang['install_dummyindexhtml'] = 'Criar ficheiros index.html fictícios'; $lang['install_extractfiles'] = 'Extrair ficheiros do arquivo'; $lang['install_initevents'] = 'Criar eventos'; $lang['install_initsitegroups'] = 'Criar grupos iniciais'; $lang['install_initsiteperms'] = 'Definir permissões iniciais'; $lang['install_initsiteprefs'] = 'Definir preferências de site iniciais'; $lang['install_initsiteusers'] = 'criar conta inicial de utilizador'; $lang['install_initsiteusertags'] = 'UDT\'s (user defined tags) iniciais'; $lang['install_module'] = 'Instalar o módulo %s'; $lang['install_modules'] = 'Instalar módulos disponíveis'; $lang['install_passwordsalt'] = 'Definir sal de senhas'; $lang['install_requireddata'] = 'Definir os dados iniciais requeridos'; $lang['install_schema'] = 'Criar schema da base de dados'; $lang['install_setschemaver'] = 'Definir versão do schema'; $lang['install_setsequence'] = 'Reiniciar sequências das tabelas'; $lang['install_setsitename'] = 'Definir o nome do site'; $lang['install_stylesheets'] = 'Criar folhas de estilo pré-definidas'; $lang['install_templates'] = 'Criar templates pré-definidos'; $lang['install_templatetypes'] = 'Criar tipos standard de templates'; $lang['install_update_sequences'] = 'Actualizar as tabelas de sequências'; $lang['install_updatehierarchy'] = 'Actualizar posições hierárquicas de conteúdo'; $lang['install_updateseq'] = 'Actualizar a sequência de %s'; $lang['installer_ver'] = 'Versão do instalador'; $lang['legend'] = 'Legenda'; $lang['magic_quotes_runtime'] = 'Assegurar que as magic quotes estão desabilitadas'; $lang['max_execution_time'] = 'Verificação de tempo máximo de execução de um script PHP'; $lang['meaning'] = 'Significado'; $lang['memory_limit'] = 'Verificação de limite de memória PHP suficiente'; $lang['msg_clearedcache'] = 'A cache do servidor foi limpa'; $lang['msg_configsaved'] = 'O ficheiro config existente foi guardado em %s'; $lang['msg_upgrade_module'] = 'A actualizar o módulo %s'; $lang['msg_upgrademodules'] = 'Actualização de módulos'; $lang['msg_yourvalue'] = 'Detectou-se: %s'; $lang['multibyte_support'] = 'Verificação de suporte multibyte'; $lang['next'] = 'Seguinte'; $lang['no'] = 'Não'; $lang['none'] = 'Nenhum'; $lang['open_basedir'] = 'Restrições open_basedir'; $lang['open_basedir_session_save_path'] = 'A directiva open_basedir está habilitada. Não é possível testar o directório de sessão (session save path)'; $lang['output_buffering'] = 'Assegurar que o output buffering está abilitado'; $lang['pass_config_writable'] = 'O processo HTTP tem permissões de escrita no ficheiro config.php'; $lang['pass_database_support'] = 'Foi encontrado pelo menos um driver de base de dados'; $lang['pass_func_json'] = 'funcionalidade json detectada'; $lang['pass_func_md5'] = 'funcionalidade json detectada'; $lang['pass_func_tempnam'] = 'A função tempnam existe'; $lang['pass_multibyte_support'] = 'Suporte multibite parece estar habilitado'; $lang['pass_php_version'] = 'A versão de PHP configurada neste momento não está de acordo com os requerimentos mínimos. No mínimo a versão PHP %s é requerida, embora seja recomendada %s ou superior'; $lang['pass_pwd_writable'] = 'O processo HTTP não consegue escrever no directório de destino. Necessário à extracção dos ficheiros'; $lang['password'] = 'Senha'; $lang['ph_sitename'] = 'Digite um nome para o site'; $lang['php_version'] = 'Versão de PHP'; $lang['post_max_size'] = 'Verificação do valor máximo de dados que é possível usar num request'; $lang['prompt_addlanguages'] = 'Linguagens adicionais'; $lang['prompt_createtables'] = 'Criar Tabelas da Base de Dados'; $lang['prompt_dbhost'] = 'Nome do Host da Base de Dados'; $lang['prompt_dbinfo'] = 'Informação da Base de Dados'; $lang['prompt_dbname'] = 'Nome da Base de Dados'; $lang['prompt_dbpass'] = 'Senha'; $lang['prompt_dbport'] = 'Número do Port da Base de Dados'; $lang['prompt_dbprefix'] = 'Prefixo dos Nomes das Tabelas da Base de Dados'; $lang['prompt_dbtype'] = 'Tipo da Base de Dados'; $lang['prompt_dbuser'] = 'Nome de Utilizador'; $lang['prompt_dir'] = 'Directório de Instalação'; $lang['prompt_installcontent'] = 'Instalar Conteúdo de Demonstração'; $lang['prompt_queryvar'] = 'Variável de Query'; $lang['prompt_sitename'] = 'Nome do Web Site'; $lang['prompt_timezone'] = 'Fuso Horário do Servidor'; $lang['pwd_writable'] = 'Directório Escrevível'; $lang['queue_for_upgrade'] = 'Próximo modulo não pertencente ao core em fila para actualização no passo seguinte: %s.'; $lang['readme_uc'] = 'LEIA-ME'; $lang['register_globals'] = 'Assegurar que o \'register globals\' está desabilitado'; $lang['remote_url'] = 'Conexões HTTP de saída'; $lang['repeatpw'] = 'Repita a senha'; $lang['reset_site_preferences'] = 'Repor algumas preferências globais'; $lang['reset_user_settings'] = 'Repor algumas preferências de utilizador'; $lang['retry'] = 'Tentar de Novo'; $lang['safe_mode'] = 'Teste para assegurar que o \'safe mode\' está desabilitado'; $lang['saltpasswords'] = 'Salgar Senhas'; $lang['select_language'] = 'A primeira coisa que lhe vamos pedir é para seleccionar a sua preferência de idioma da lista seguinte. Esta opção será usada para melhorar a sua experiência durante esta sequência de instalação, mas não terá qualquer efeito na instalação final do CMSMS.'; $lang['send_admin_email'] = 'Enviar email com as credenciais de acesso à secção admin'; $lang['session_capabilities'] = 'Teste a existência de recursos adequados de sessão (o uso de cookies pela sessão, o directório de sessão permitir escrita, etc)'; $lang['session_save_path_exists'] = 'Session_save_path existe'; $lang['session_save_path_writable'] = 'Session_save_path tem propriedades de escrita'; $lang['session_use_cookies'] = 'Assegurar que as sessões PHP usam cookies'; $lang['sometests_failed'] = 'Foram executados uma série de testes no ambiente web corrente. Embora não tenham sido encontrados nenhuns problemas críticos, recomenda-se que os itens seguintes sejam corrigidos antes de prosseguir.'; $lang['step1_advanced'] = 'Modo Avançado'; $lang['step1_destdir'] = 'Seleccionar Directório'; $lang['step1_info_destdir'] = 'Aviso: este programa pode instalar ou actualizar mais do que uma instalação do CMS Made Simple. É importante seleccionar o directório correcto para a sua instalação ou actualização.'; $lang['step1_language'] = 'Seleccionar Linguagem'; $lang['step1_title'] = 'Seleccionar Linguagem'; $lang['step2_cmsmsfound'] = 'Foi encontrada uma instalação do CMS Made Simple. É possível actualizar esta instalação. No entanto, antes de prosseguir, assegure-se de que tem uma cópia de segurança VERIFICADA, de todos os ficheiros bem como da base de dados'; $lang['step2_cmsmsfoundnoupgrade'] = 'Embora tenha sido encontrada uma instalação do CMS Made Simple, não é possível usar esta aplicação para actualizá-la. Possivelmente é uma versão muito antiga.'; $lang['step2_confirminstall'] = 'Tem a certeza de que quer instalar o CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Tem a certeza de que quer actualizar o CMS Made Simple'; $lang['step2_errorsamever'] = 'O directório seleccionado aparenta ter uma instalação do CMSMS com a mesma versão que vem incluída neste script. Continuar com este processo irá refrescar esta instalação.'; $lang['step2_errortoonew'] = 'O directório seleccionado aparenta ter uma instalação do CMSMS mais recente do que a incluída neste script. Não é possível prosseguir.'; $lang['step2_info_freshen'] = 'Refrescar esta instalação envolve repor todos os ficheiros do núcleo e recriar a configuração. Ser-lhe-a pedida informação básica de configuração, contudo a base de dados não será tocada.'; $lang['step2_installdate'] = 'Data aproximada de instalação'; $lang['step2_hdr_upgradeinfo'] = 'Informação de versão'; $lang['step2_info_upgradeinfo'] = 'De seguida encontra as notas de lançamento e informações de modificações (changelog) disponíveis para cada versão. Os botões visíveis permitem consultar informações detalhadas sobre o que mudou em cada versão do CMS Made Simple. Poderão haver mais instruções ou avisos em cada versão que podem afectar o processo de actualização.'; $lang['step2_minupgradever'] = 'A versão mínima que esta aplicação consegue actualizar é: %s. Poderá ser necessário actualizar a sua aplicação para uma versão mais recente por estágios, e através de outro método, antes de terminar este processo de actualização. Por favor certifique-se de que tem uma cópia de segurança completa e verificada, antes de usar qualquer método de actualização.'; $lang['step2_nocmsms'] = 'Não foi encontrada nenhuma instalação do CMS Made Simple neste directório. Parece ser uma instalação nova'; $lang['step2_passed'] = 'Passado'; $lang['step2_pwd'] = 'O seu directório de trabalho actual'; $lang['step2_schemaver'] = 'Versão do Schema da Base de Dados'; $lang['step2_version'] = 'A versão detectada'; $lang['step3_failed'] = 'Esta aplicação executou numerosos testes ao ambiente PHP corrente, e um ou mais destes testes falharam. É necessário rectificar esses erros nesta configuração antes de continuar. Uma vez rectificados os erros, clique \'Tentar de Novo\' abaixo.'; $lang['step3_passed'] = 'Esta aplicação executou numerosos testes ao ambiente PHP corrente, e todos passaram com sucesso. São boas notícias. Não sendo testes conclusivos, não deverá ter nenhuma dificuldade a usar a instalação do núcleo do CMSMS.'; $lang['step9_removethis'] = 'Aviso Por motivos de segurança é extremamente importante a remoção do assistente de instalação de qualquer sitio acessível publicamente no site assim que tenha verificado que a operação tenha tido sucesso.'; $lang['symbol'] = 'Símbolo'; $lang['social_message'] = 'Foi instalado o CMS Made Simple com sucesso!'; $lang['test_failed'] = 'Um teste requerido falhou'; $lang['test_passed'] = 'Um teste passou (testes bem sucedidos só são visíveis no modo avançado)'; $lang['test_warning'] = 'Uma configuração está acima do valor mínimo requerido, mas abaixo do valor recomendado, ou... Um recurso, que pode ser requerido para uma funcionalidade opcional, não está disponível'; $lang['th_status'] = 'Estado'; $lang['th_testname'] = 'Teste'; $lang['th_value'] = 'Valor'; $lang['title_error'] = 'Houston, temos um problema!'; $lang['title_step2'] = 'Passo 2 - Detectar software existente'; $lang['title_step3'] = 'Passo 3 - Testes'; $lang['title_step4'] = 'Passo 4 - Informações Básicas de Configuração'; $lang['title_step5'] = 'Passo 5 - Informações de Conta de Administração'; $lang['title_step6'] = 'Passo 6 - Configurações do Site'; $lang['title_step7'] = 'Passo 7 - Instalar Ficheiros da Aplicação'; $lang['title_step8'] = 'Passo 8 - Procedimentos da Base de Dados'; $lang['title_step9'] = 'Passo 9 - Finalização'; $lang['title_welcome'] = 'Bem-vindo'; $lang['title_forum'] = 'Fórum de Apoio'; $lang['title_docs'] = 'Documentação Oficial'; $lang['title_api_docs'] = 'Documentação Oficial do API'; $lang['to'] = 'ao'; $lang['title_share'] = 'Partilhe a sua experiência com os seus amigos.'; $lang['tmpfile'] = 'Verificação de mpfile() funcional'; $lang['upgrade'] = 'Actualizar'; $lang['upgrade_deleteoldevents'] = 'A apagar eventos antigos'; $lang['upgrading_schema'] = 'A actualizar schema de base de dados'; $lang['upload_max_filesize'] = 'Verificação do tamanho máximo de upload de ficheiros'; $lang['username'] = 'Nome de Utilizador'; $lang['warn_disable_functions'] = 'Nota: uma ou mais funções PHP estão activas. Estas podem ter um impacto negativo na sua instalação do CMSMS, particularmente com módulos desenvolvidos por terceiros. Por favor vigie o ficheiro de registo de erros (error log). As funções que estão desabilitadas são: %s'; $lang['warn_max_execution_time'] = 'Apesar do tempo máximo de execução de %s exceda o valor mínimo necessário de %s, recomenda-se que aumente este valor para %s ou superior'; $lang['warn_memory_limit'] = 'O limite de memória encontrado é de %s, sendo assim acima do mínimo de %s. Recomenda-se no entanto um valor de %s'; $lang['warn_open_basedir'] = 'A directiva open_basedir está habilitada na sua configuração de PHP. Apesar de poder continuar a instalação, o CMSMS não dá suporte a utilizadores com relação a instalações em ambientes com restrições de open_basedir.'; $lang['warn_post_max_size'] = 'Apesar do tamanho máximo de post de %s exceda o valor mínimo necessário de %s, recomenda-se que aumente este valor para %s ou superior, e que este seja superior ao valor de upload_max_filesize'; $lang['warn_tests'] = 'Nota: o sucesso na passagem de todos estes testes deverá assegurar que o CMSMS funcione adequadamente na maioria dos sites. No entanto, à medida que o site cresça, e mais funcionalidades sejam adicionadas, estes valores mínimos podem-se revelar insuficientes. Adicionalmente, módulos desenvolvidos por terceiros podem requerer recursos adicionais ou com valores acima dos encontrados para funcionar adequadamente'; $lang['warn_upload_max_filesize'] = 'Embora a configuração PHP de %s de upload_max_filesize seja suficiente, recomendamos incrementar este valor para pelo menos %s'; $lang['welcome_message'] = 'Bem-vindo! Este é o Mecanismo de Instalação Automática do CMS Made Simple. Este permitir-lhe-á, de forma rápida e fácil, confirmar se o seu servidor web é compatível com o CMSMS, e instalar ou actualizar o CMS Made Simple para a versão mais recente. Temos a certeza de que o irá apreciar.'; $lang['wizard_step1'] = 'Bem-vindo'; $lang['wizard_step2'] = 'Detectar Software'; $lang['wizard_step3'] = 'Testes de Compatibilidade'; $lang['wizard_step4'] = 'Dados de Configuração'; $lang['wizard_step5'] = 'Dados de Conta Admin'; $lang['wizard_step6'] = 'Configurações do Site'; $lang['wizard_step7'] = 'Ficheiros'; $lang['wizard_step8'] = 'Configuração de Base de Dados'; $lang['wizard_step9'] = 'Finalizar'; $lang['xml_functions'] = 'A verificar a funcionalidade XML'; $lang['yes'] = 'Sim'; ?>этот процесс в чтобы продолжить!

После того, как вы вернули имя каталога администратора в исходное местоположение, перезагрузите эту страницу..'; $lang['error_backupconfig'] = 'Мы не смогли создать резервную копию файла config.php'; $lang['error_checksum'] = 'Исправленная контрольная сумма файла не соответствует оригиналу'; $lang['error_cmstablesexist'] = 'Похоже, что в этой базе данных уже установлена CMS. Введите другую информацию о базе данных. Если вы хотите использовать другой префикс таблицы, вам может потребоваться перезапустить процесс установки и включить расширенный режим.'; $lang['error_createtable'] = 'Проблема создания таблицы базы данных ... возможно, это проблема с разрешениями'; $lang['error_dbconnect'] = 'Мы не смогли подключиться к базе данных. Повторите проверку учетных данных, которые вы предоставили'; $lang['error_dirnotvalid'] = 'Каталог %s не существует (или не записывается)'; $lang['error_droptable'] = 'Проблема с отбрасыванием таблицы базы данных ... возможно, это проблема с разрешениями'; $lang['error_filenotwritable'] = 'Файл%s не может быть перезаписан (проблема с разрешениями)'; $lang['error_internal'] = 'Извините, что-то пошло не так ... (внутренняя ошибка) (%s)'; $lang['error_invalid_directory'] = 'Похоже, что каталог, который вы выбрали для установки, является рабочим каталогом самого установщика'; $lang['error_invalidconfig'] = 'Ошибка в файле конфигурации или отсутствующий файл конфигурации'; $lang['error_invaliddbpassword'] = 'пароль базы данных содержит недопустимые символы, которые нельзя безопасно сохранить.'; $lang['error_invalidkey'] = 'Неверная переменная участника или ключ %s для класса %s'; $lang['error_invalidparam'] = 'Недопустимый параметр или значение параметра:%s'; $lang['error_invalidtimezone'] = 'Указанный часовой пояс недействителен'; $lang['error_invalidqueryvar'] = 'Введенная переменная запроса содержит недопустимые символы. Используйте только буквенно-цифровые символы и символы подчеркивания.'; $lang['error_missingconfigvar'] = 'Ключ "%s" либо отсутствует, либо недействителен в файле config.ini'; $lang['error_noarchive'] = 'Поиск файла архива ... перезагрузите'; $lang['error_nlsnotfound'] = 'Поиск файлов NLS в архиве'; $lang['error_nodatabases'] = 'Не удалось найти совместимые расширения базы данных'; $lang['error_nodbhost'] = 'Введите правильное имя хоста (или IP-адрес) для подключения к базе данных'; $lang['error_nodbname'] = 'Введите имя допустимой базы данных на указанном выше узле'; $lang['error_nodbpass'] = 'Введите действительный пароль для аутентификации в базу данных'; $lang['error_nodbprefix'] = 'Введите действительный префикс для таблиц базы данных'; $lang['error_nodbtype'] = 'Выберите тип базы данных'; $lang['error_nodbuser'] = 'Введите действительное имя пользователя для аутентификации в базу данных'; $lang['error_nodestdir'] = 'Целевой каталог не установлен'; $lang['error_nositename'] = 'Имя сайта является обязательным параметром. Введите подходящее имя для своего сайта.'; $lang['error_notimezone'] = 'Ведите действительный часовой пояс для этого сервера'; $lang['error_overwrite'] = 'Проблема с разрешениями: невозможно перезаписать %s'; $lang['error_sendingmail'] = 'Ошибка отправки почты'; $lang['error_tzlist'] = 'Возникла проблема с получением списка идентификаторов часовых поясов'; $lang['errorlevel_estrict'] = 'Проверка на E_STRICT'; $lang['errorlevel_edeprecated'] = 'Проверка на E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED включен в PHP error_reporting. Хотя это не будет препятствовать работе CMSMS, это может привести к появлению предупреждений на экране вывода, в частности, из более старых, сторонних модулей'; $lang['estrict_enabled'] = 'E_STRICT включен в PHP error_reporting. Хотя это не будет препятствовать работе CMSMS, это может привести к отображению предупреждений на выходе HTML, особенно из более старых, сторонних модулей'; $lang['fail_assets_dir'] = 'Каталог ресурсов уже существует. Это приложение может писать в этот каталог, чтобы рационализировать расположение файлов. Убедитесь, что у вас есть резервная копия'; $lang['fail_assets_msg'] = 'Каталог ресурсов уже существует. Это приложение может писать в этот каталог, чтобы рационализировать расположение файлов. Убедитесь, что у вас есть резервная копия'; $lang['fail_config_writable'] = 'HTTP-процесс не может записываться в файл config.php. Попробуйте изменить разрешения для этого файла на 777, пока процесс обновления не будет завершен'; $lang['fail_curl_extension'] = 'Расширение Curl не найдено. Хотя это не критическая проблема, это может вызвать проблемы с некоторыми сторонними модулями'; $lang['fail_database_support'] = 'Не найдено драйверов совместимых баз данных'; $lang['fail_file_get_contents'] = 'Функция file_get_contents не существует или отключена. CMSMS Не удается продолжить (даже установщик, вероятно, не сработает)'; $lang['fail_file_uploads'] = 'Возможности загрузки файлов в этой среде отключены. Некоторые функции CMSMS не будут работать в этой среде'; $lang['fail_func_json'] = 'Функция json не найдена'; $lang['fail_func_gzopen'] = 'Функция gzopen не найдена'; $lang['fail_func_md5'] = 'Функциональность md5 не найдена'; $lang['fail_func_tempnam'] = 'Функция tempnam не существует. Это обязательная функция для функциональности CMSMS'; $lang['fail_func_ziparchive'] = 'Функция ZipArchive не найдена. Это может ограничить функциональность'; $lang['fail_ini_set'] = 'Похоже, мы не можем изменить настройки ini. Это может вызвать проблемы в сторонних модулях (или при включении режима отладки)'; $lang['fail_intl_support'] = 'Расширение интернационализации PHP недоступно'; $lang['fail_magic_quotes_runtime'] = 'Похоже, что в вашей конфигурации включены магические кавычки. Отключите их и повторите попытку.'; $lang['fail_max_execution_time'] = 'Максимальное время выполнения %s не соответствует минимальному значению %s. Рекомендуем увеличить его до %s или выше.'; $lang['fail_memory_limit'] = 'Предельное значение вашей памяти слишком низкое. У вас есть %s, однако требуется минимум %s, и рекомендуется %s'; $lang['fail_multibyte_support'] = 'Поддержка Multibyte не включена в вашей конфигурации'; $lang['fail_output_buffering'] = 'Буферизация вывода не включена.'; $lang['fail_open_basedir'] = 'Действуют ограничения Open_basedir. CMSMS требует, чтобы это было отключено'; $lang['fail_php_version'] = 'Версия PHP, доступная для CMSMS, имеет решающее значение. Минимальная принятая версия - %s, хотя мы рекомендуем %s или больше. У вас %s'; $lang['fail_post_max_size'] = 'Максимальный размер %s не соответствует минимальному значению %s. Рекомендуется использовать значение %s или более, и убедитесь, что оно больше, чем upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-процесс должен иметь возможность записывать в целевой каталог (и ко всем файлам и каталогам под ним) для установки файлов. У нас нет разрешения на запись (по крайней мере) %s'; $lang['fail_register_globals'] = 'Пожалуйста, отключите register_globals в вашей конфигурации PHP'; $lang['fail_remote_url'] = 'Мы столкнулись с проблемами, связанными с удаленным URL. Это ограничит некоторые функции CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS не будет работать должным образом в среде, где включен безопасный режим. Безопасный режим устарел как неудачный механизм и будет удален в будущих версиях PHP'; $lang['fail_session_save_path_exists'] = 'Значение переменной save_path недействительно или каталог не существует'; $lang['fail_session_save_path_writable'] = 'Каталог save_path сеанса недоступен для записи'; $lang['fail_session_use_cookies'] = 'CMSMS требует, чтобы PHP был настроен на сохранение ключа сессии в файле cookie'; $lang['fail_tmpfile'] = 'Функция tmpfile () системы не работает. Это необходимо для того, чтобы мы могли извлекать архивы. Необязательный аргумент url TMPDIR может быть предоставлен установщику для указания каталога для записи. См. Файл README, который должен быть включен в этот каталог.'; $lang['fail_tmp_dirs_empty'] = 'Временные каталоги CMSMS (tmp/cache и tmp/templates_c) существуют и не являются пустыми. Удалите или опустите их.'; $lang['fail_xml_functions'] = 'Расширение XML не найдено. Включите это в PHP'; $lang['failed'] = 'неудачно'; $lang['file_get_contents'] = 'Проверка функции file_get_contents'; $lang['file_installed'] = 'Установлено %s'; $lang['file_uploads'] = 'Проверка поддержки загрузки файлов'; $lang['finished_custom_freshen_msg'] = 'Ваша версия была обновлена! Обновлены основные файлы и создан новый файл конфигурации. Посетите веб-сайт, чтобы убедиться, что все работает правильно.'; $lang['finished_custom_install_msg'] = 'Готово! Посетите веб-сайт и войдите в панель администратора.'; $lang['finished_custom_upgrade_msg'] = 'Готово! Посетите панель администратора CMSMS и интерфейс, чтобы убедиться, что все работает правильно.
Подсказка: Теперь самое подходящее время для создания резервной копии.'; $lang['finished_freshen_msg'] = 'Ваша версия была обновлена! Обновлены основные файлы и создан новый файл конфигурации. Теперь вы можете посетить свой сайт или войти в панель администратора CMSMS .'; $lang['finished_install_msg'] = 'Мы это сделали! Теперь вы можете посетить свой сайт или войти в панель администрирования CMSMS .'; $lang['finished_upgrade_msg'] = 'Все готово! Пожалуйста, посетите веб-сайт и панель администратора , чтобы проверить правильность работы. Вам также может потребоваться обновить некоторые сторонние модули.
Совет: Не забудьте создать резервную копию после проверки правильного работы сайта.'; $lang['freshen'] = 'Обновление (восстановление)'; $lang['func_json'] = 'Проверка функции json для кодирования и декодирования'; $lang['func_md5'] = 'Проверка функциональности md5'; $lang['func_tempnam'] = 'Проверить функцию tempnam'; $lang['func_gzopen'] = 'Проверить функцию gzopen'; $lang['func_ziparchive'] = 'Проверка функции ziparchive'; $lang['gd_version'] = 'Версия GD'; $lang['goback'] = 'Назад'; $lang['info_addlanguages'] = 'Выберите язык (в дополнение к английскому) для установки. Примечание: не все переводы завершены.'; $lang['info_adminaccount'] = 'Укажите учетные данные для начальной учетной записи администратора. Эта учетная запись будет иметь доступ ко всем функциям консоли администратора CMSMS.'; $lang['info_advanced'] = 'Расширенный режим позволяет использовать дополнительные параметры в процедуре установки.'; $lang['info_dbinfo'] = 'CMS Made Simple хранит большое количество данных в базе данных. Соединение с базой данных является обязательным. Кроме того, учетные данные пользователя, которые вы предоставляете, должны иметь ВСЕ ПРИВИЛЕГИИ в указанной базе данных, чтобы разрешить создание, удаление и изменение таблиц, индексов и представлений.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED - это флаг для отчета об ошибках PHP, который указывает, что должны отображаться предупреждения о коде, использующем устаревшие методы. Хотя ядро CMSMS пытается гарантировать, что мы больше не используем устаревшие методы, некоторые модули могут не работать. Мы рекомендуем отключить этот параметр в настройках PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT - это флаг для отчетов об ошибках PHP' который указывает, что должны соблюдаться строгие стандарты кодирования. Хотя ядро CMSMS пытается соответствовать стандартам E_STRICT, некоторые модули могут не работать. Мы рекомендуем отключить этот параметр в настройках PHP'; $lang['info_installcontent'] = 'По умолчанию этот установщик создаст примеры страниц, таблиц стилей и шаблонов в CMSMS. Образец контента содержит обширную информацию и советы по созданию сайтов с CMSMS и полезен для чтения. Однако, если вы уже знакомы с CMS Made Simple, отключение этой опции приведет к минимальному набору шаблонов, таблиц стилей и страниц контента.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir включен в вашей конфигурации PHP. Мы не смогли правильно проверить возможности сеанса. Однако переход к этому моменту в процессе установки, вероятно, указывает на то, что сеансы работают нормально.'; $lang['info_pwd_writable'] = 'Это приложение нуждается в разрешении на запись в текущий рабочий каталог'; $lang['info_queryvar'] = 'Переменная запроса используется внутри CMSMS для идентификации запрошенной страницы. В большинстве случаев вам не нужно настраивать это.'; $lang['info_sitename'] = 'Имя веб-сайта используется в шаблонах по умолчанию в качестве части названия. Введите имя пользователя для веб-сайта'; $lang['info_timezone'] = 'Информация о часовом поясе необходима для расчета времени и отображения времени/даты. Выберите часовой пояс сервера'; $lang['ini_set'] = 'Тестирование, если мы сможем изменить настройки INI'; $lang['install'] = 'Установка'; $lang['install_attachstylesheets'] = 'Прикреплять таблицы стилей к темам'; $lang['install_backupconfig'] = 'Резервное копирование файла конфигурации'; $lang['install_createassets'] = 'Создание структуры активов'; $lang['install_created_index'] = 'Созданный индекс %s ...%s'; $lang['install_create_tables'] = 'Создание таблиц базы данных'; $lang['install_createconfig'] = 'Создать новый файл конфигурации'; $lang['install_createcontentpages'] = 'Создание страниц контента по умолчанию'; $lang['install_created_table'] = 'Созданная таблица %s: ....%s'; $lang['install_createtablesindexes'] = 'Создание таблиц и индексов'; $lang['install_createtmpdirs'] = 'Создание временных каталогов'; $lang['install_creating_index'] = 'Созданный индекс %s'; $lang['install_default_collections'] = 'Установить коллекции по умолчанию'; $lang['install_defaultcontent'] = 'Установка контента по умолчанию'; $lang['install_detectlanguages'] = 'Обнаружение установленных языков'; $lang['install_dropping_tables'] = 'Очистить таблицы'; $lang['install_dummyindexhtml'] = 'Создание файлов index.html'; $lang['install_extractfiles'] = 'Извлечение файлов из архива'; $lang['install_initevents'] = 'Создание событий'; $lang['install_initsitegroups'] = 'Создание начальных групп'; $lang['install_initsiteperms'] = 'Установить начальные разрешения'; $lang['install_initsiteprefs'] = 'Настройка начальных настроек сайта'; $lang['install_initsiteusers'] = 'Создать начальную учетную запись пользователя'; $lang['install_initsiteusertags'] = 'Начальные пользовательские теги'; $lang['install_module'] = 'Установить модуль%s'; $lang['install_modules'] = 'Установка доступных модулей'; $lang['install_passwordsalt'] = 'Установить соль паролей'; $lang['install_requireddata'] = 'Задайте начальные требуемые данные'; $lang['install_schema'] = 'Создание схемы базы данных'; $lang['install_setschemaver'] = 'Установить версию схемы'; $lang['install_setsequence'] = 'Сбросить таблицы последовательности'; $lang['install_setsitename'] = 'Укажите имя сайта'; $lang['install_stylesheets'] = 'Создание таблиц стилей по умолчанию'; $lang['install_templates'] = 'Создание шаблонов по умолчанию'; $lang['install_templatetypes'] = 'Создание стандартных типов шаблонов'; $lang['install_update_sequences'] = 'Обновить таблицы последовательности'; $lang['install_updatehierarchy'] = 'Обновление позиций иерархии контента'; $lang['install_updateseq'] = 'Обновить последовательность для %s'; $lang['installer_ver'] = 'Версия установщика'; $lang['intl_support'] = 'Проверьте возможности интернационализации'; $lang['legend'] = 'Легенда'; $lang['magic_quotes_runtime'] = 'Убедитесь, что магические кавычки отключены'; $lang['max_execution_time'] = 'Проверка максимального времени выполнения PHP-скрипта'; $lang['meaning'] = 'Имея в виду'; $lang['memory_limit'] = 'Проверка достаточного предела памяти PHP'; $lang['msg_clearedcache'] = 'Очищенный кеш сервера'; $lang['msg_configsaved'] = 'Существующий файл конфигурации, сохранен в %s'; $lang['msg_upgrade_module'] = 'Обновленный модуль%s'; $lang['msg_upgrademodules'] = 'Обновление модулей'; $lang['msg_yourvalue'] = 'У вас есть: %s'; $lang['multibyte_support'] = 'Проверить поддержку мультибайта'; $lang['next'] = 'Следующий'; $lang['no'] = 'Нет'; $lang['none'] = 'Никто'; $lang['open_basedir'] = 'Ограничения open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir включен. Не удается проверить путь сохранения сеанса.'; $lang['output_buffering'] = 'Обеспечение включения буферизации вывода'; $lang['pass_config_writable'] = 'Процесс HTTP имеет разрешение на запись в файл config.php'; $lang['pass_database_support'] = 'Найден хотя бы один совместимый драйвер базы данных'; $lang['pass_func_json'] = 'обнаружена функция json'; $lang['pass_func_md5'] = 'Функция md5 была обнаружена'; $lang['pass_func_tempnam'] = 'Функция tempnam существует'; $lang['pass_intl_support'] = 'Возможности интернационализации включены'; $lang['pass_memory_limit_nolimit'] = 'Нет предустановленного ограничения памяти PHP'; $lang['pass_multibyte_support'] = 'Поддержка Multibyte включена'; $lang['pass_php_version'] = 'В настоящее время настроенная PHP-версия не отвечает минимальным требованиям. Как минимум, требуется PHP %s, хотя мы рекомендуем %s или выше'; $lang['pass_pwd_writable'] = 'HTTP-процесс может записываться в целевой каталог. Это необходимо для извлечения файлов'; $lang['password'] = 'Пароль'; $lang['ph_sitename'] = 'Введите имя сайта'; $lang['php_version'] = 'Версия PHP'; $lang['post_max_size'] = 'Проверка максимального объема данных, которые могут быть отправлены по одному запросу'; $lang['prompt_addlanguages'] = 'Дополнительные языки'; $lang['prompt_createtables'] = 'Создание таблиц базы данных'; $lang['prompt_dbhost'] = 'Имя хоста базы данных'; $lang['prompt_dbinfo'] = 'Информация о базе данных'; $lang['prompt_dbname'] = 'Имя базы данных'; $lang['prompt_dbpass'] = 'Пароль'; $lang['prompt_dbport'] = 'Порт базы данных'; $lang['prompt_dbprefix'] = 'Префикс имени таблицы базы данных'; $lang['prompt_dbtype'] = 'Тип базы данных'; $lang['prompt_dbuser'] = 'Имя пользователя'; $lang['prompt_dir'] = 'Каталог установки'; $lang['prompt_installcontent'] = 'Установить примеры контента'; $lang['prompt_queryvar'] = 'Переменная запроса'; $lang['prompt_sitename'] = 'Название веб-сайта'; $lang['prompt_timezone'] = 'Часовой пояс'; $lang['pwd_writable'] = 'Переписываемый каталог'; $lang['queue_for_upgrade'] = 'Очередному не ядерному модулю %s для обновления на следующем шаге.'; $lang['readme_uc'] = 'Справка'; $lang['register_globals'] = 'Обеспечение "регистров глобальных переменных " выключен'; $lang['remote_url'] = 'Проверьте, можем ли мы делать исходящие HTTP-соединения'; $lang['repeatpw'] = 'Повторите пароль'; $lang['reset_site_preferences'] = 'Сбросить настройки сайта'; $lang['reset_user_settings'] = 'Сбросить настройки пользователя'; $lang['retry'] = 'Повторить'; $lang['safe_mode'] = 'Тест для обеспечения "безопасного режима" выключен'; $lang['saltpasswords'] = 'Солевые пароли'; $lang['select_language'] = 'Первое, что мы попросим вас сделать, это выбрать нужный язык из списка ниже. Это сделано для вашего удобства во время шагов по установки системы, но не повлияет на выбор языка установленной CMSMS.'; $lang['send_admin_email'] = 'Отправить учетные данные для входа администратора'; $lang['session_capabilities'] = 'Тестирование правильных возможностей сеанса (сеансы используют файлы cookie и путь сохранения сеанса доступен для записи и т.д.)'; $lang['session_save_path_exists'] = 'Session Save_path существует'; $lang['session_save_path_writable'] = 'Session Save_path доступен для записи'; $lang['session_use_cookies'] = 'Обеспечение того, чтобы сеансы PHP использовали файлы cookie'; $lang['sometests_failed'] = 'Мы провели многочисленные тесты вашей текущей веб-среды. Несмотря на то, что не было обнаружено критических проблем, мы рекомендуем, чтобы следующие пункты были исправлены до продолжения.'; $lang['step1_advanced'] = 'Расширенный режим'; $lang['step1_destdir'] = 'Выбрать каталог'; $lang['step1_info_destdir'] = ' Предупреждение: . Эта программа может установить или обновить несколько установок CMS Made Simple. Важно, чтобы вы выбрали правильный каталог для установки или обновления.'; $lang['step1_language'] = 'Выберите язык'; $lang['step1_title'] = 'Выберите язык'; $lang['step2_cmsmsfound'] = 'Была обнаружена установленная CMS Made Simple. Можно обновить эту версию. Однако перед продолжением убедитесь, что у вас есть текущая резервная копия всех файлов и базы данных'; $lang['step2_cmsmsfoundnoupgrade'] = 'Невозможно обновить эту версию с помощью этого приложения. Версия может быть слишком старой.'; $lang['step2_confirminstall'] = 'Вы уверены, что хотите установить CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Вы уверены, что хотите обновить CMS Made Simple'; $lang['step2_errorsamever'] = 'Выбранный каталог содержит установленную CMSMS с той же версией, которая включена в этот скрипт. Продолжение будет обновлять установку.'; $lang['step2_errortoonew'] = 'Выбранный каталог содержит установленную CMSMS с более новой версией, включенной в этот скрипт. Не удалось продолжить'; $lang['step2_info_freshen'] = 'Обвновление включает в себя замену всех основных файлов и воссоздание конфигурации. Вам будет предложена основная информация о конфигурации, однако база данных не будет затронута.'; $lang['step2_installdate'] = 'Ориентировочная дата установки'; $lang['step2_install_dirnotempty2'] = 'Эта папка уже содержит некоторые файлы и /или подпапки. Хотя здесь можно установить CMSMS, это может привести к портированию существующего приложения. Проверьте содержимое этой папки. Для справки некоторые из файлов перечислены ниже. Убедитесь, что это правильно.'; $lang['step2_hdr_upgradeinfo'] = 'Информация о версии'; $lang['step2_info_upgradeinfo'] = 'Ниже приведены доступные примечания к выпуску и сведения о изменениях для каждой версии. На приведенных ниже кнопках будет отображаться подробная информация о том, что изменилось в каждой версии CMS Made Simple. В каждой версии могут быть дополнительные инструкции или предупреждения, которые могут повлиять на процесс обновления.'; $lang['step2_minupgradever'] = 'Минимальная версия, которую может обновить это приложение: %s. Возможно, вам потребуется обновить приложение до более новой версии поэтапно, используя другой метод перед завершением процесса обновления. Перед использованием любого метода обновления убедитесь, что у вас есть полная проверенная резервная копия.'; $lang['step2_nocmsms'] = 'Мы не нашли установленную CMS Made Simple в этом каталоге. Похоже, это новая установка'; $lang['step2_nofiles'] = 'В соответствии с запросом, файлы CMSMS Core не будут обрабатываться во время этого процесса'; $lang['step2_passed'] = 'Прошло'; $lang['step2_pwd'] = 'Ваш текущий каталог'; $lang['step2_schemaver'] = 'Версия схемы базы данных'; $lang['step2_version'] = 'Ваша версия'; $lang['step3_failed'] = 'Этот пакет выполнил многочисленные тесты вашей среды PHP, и один или несколько из этих тестов потерпели неудачу. Прежде чем продолжить, вам нужно будет исправить эти ошибки в своей конфигурации. После исправления ошибок нажмите " Повторить " ниже.'; $lang['step3_passed'] = 'Этот пакет выполнил многочисленные тесты вашей среды PHP, и все они прошли. Это отличная новость! Хотя это не всеобъемлющий тест, вам не составит труда запустить базовую установку CMSMS.'; $lang['step9_get_help'] = 'Свяжитесь с другими разработчиками CMSMS и получите помощь следующими способами'; $lang['step9_get_support'] = 'Каналы поддержки'; $lang['step9_join_community'] = 'Присоединяйтесь к нашему сообществу'; $lang['step9_love_cmsms'] = 'Нравиться CMS Made Simple ?'; $lang['step9_removethis'] = ' Предупреждение . Из соображений безопасности важно удалить помощника по установке с вашего сайта для просмотра, как только вы подтвердите, что операция выполнена успешно.'; $lang['step9_support_us'] = 'Нажмите здесь, чтобы узнать, как вы можете поддержать нас'; $lang['symbol'] = 'Символ'; $lang['social_message'] = 'Я успешно установил CMS Made Simple!'; $lang['test_failed'] = 'Не удалось выполнить требуемый тест'; $lang['test_passed'] = 'Тест прошел (прошедшие тесты отображаются только в расширенном режиме) '; $lang['test_warning'] = 'Настройка выше требуемого значения, но ниже рекомендуемого значения или ...
Возможность, которая может потребоваться для некоторых дополнительных функций, недоступна'; $lang['th_status'] = 'Статус'; $lang['th_testname'] = 'Тест'; $lang['th_value'] = 'Значение'; $lang['title_error'] = 'Хьюстон у нас проблема!'; $lang['title_step2'] = 'Шаг 2 - Обнаружение существующего ПО'; $lang['title_step3'] = 'Шаг 3 - Тесты'; $lang['title_step4'] = 'Шаг 4 - Основная информация о конфигурации'; $lang['title_step5'] = 'Шаг 5 - Информация об учетной записи администратора'; $lang['title_step6'] = 'Шаг 6 - Настройки сайта'; $lang['title_step7'] = 'Шаг 7 - Установка файлов приложений'; $lang['title_step8'] = 'Шаг 8 - Работа с базой данных'; $lang['title_step9'] = 'Шаг 9 - Завершение'; $lang['title_welcome'] = 'Добро пожаловать'; $lang['title_forum'] = 'Форум поддержки'; $lang['title_docs'] = 'Официальная документация'; $lang['title_api_docs'] = 'Официальная документация API'; $lang['to'] = 'в'; $lang['title_share'] = 'Поделитесь своим опытом с друзьями.'; $lang['tmpfile'] = 'Проверка работы tmpfile ()'; $lang['tmp_dirs_empty'] = 'Убедитесь, что временные каталоги пусты или не существуют.'; $lang['upgrade'] = 'Обновить'; $lang['upgrade_deleteoldevents'] = 'Удаление старых событий'; $lang['upgrading_schema'] = 'Обновление схемы базы данных'; $lang['upload_max_filesize'] = 'Проверка максимального размера загруженных файлов'; $lang['username'] = 'Имя пользователя'; $lang['warn_disable_functions'] = 'Примечание. Одна или несколько основных функций PHP отключены. Это может негативно сказаться на вашей установке CMSMS, особенно на сторонних расширениях. Следите за журналом ошибок. Ваши отключенные функции:

%s'; $lang['warn_max_execution_time'] = 'Хотя максимальное время выполнения %s соответствует или превышает минимальное значение %s, мы рекомендуем вам увеличить его до %s или выше'; $lang['warn_memory_limit'] = 'Предельное значение вашей памяти составляет %s, что выше минимума %s. Однако рекомендуется %s'; $lang['warn_open_basedir'] = 'open_basedir включен в вашей конфигурации php. Хотя вы можете продолжить, CMSMS не будет поддерживать установки с ограничениями open_basedir.'; $lang['warn_post_max_size'] = 'Максимальное значение вашего post max равно %s, что выше минимального %s, однако рекомендуется %s. Кроме того, убедитесь, что это значение больше, чем upload_max_filesize'; $lang['warn_tests'] = ' Примечание. прохождение всех этих тестов должно гарантировать, что CMSMS функционирует правильно для большинства сайтов. Однако по мере роста сайта и увеличения функциональности эти минимальные значения могут стать недостаточными. Кроме того, у сторонних модулей могут быть дополнительные требования к правильной работе'; $lang['warn_upload_max_filesize'] = 'Хотя вашей настройки %s достаточно, рекомендуется увеличить значение параметра upload_max_filesize в PHP, по крайней мере, %s'; $lang['welcome_message'] = 'Добро пожаловать! Это механизм автоматической установки CMS Made Simple. Этот пакет позволит вам быстро и легко подтвердить, что ваш хостинг совместим с CMSMS, и установить или обновить до последней версии CMS Made Simple. Процедура установки вам обязательно понравится!'; $lang['wizard_step1'] = 'Добро пожаловать'; $lang['wizard_step2'] = 'Обнаружение существующего программного обеспечения'; $lang['wizard_step3'] = 'Тесты совместимости'; $lang['wizard_step4'] = 'Информация о конфигурации'; $lang['wizard_step5'] = 'Информация об учетной записи администратора'; $lang['wizard_step6'] = 'Настройки сайта'; $lang['wizard_step7'] = 'Файлы'; $lang['wizard_step8'] = 'Работа в базе данных'; $lang['wizard_step9'] = 'Завершено'; $lang['xml_functions'] = 'Проверка функциональности XML'; $lang['yes'] = 'Да'; $lang['ga'] = 'GA1.2.1505228635.1539520636'; $lang['gid'] = 'GA1.2.272944334.1647665194'; ?>(детальніше), щоб продовжити!

Після повернення назви адмін. теки до її оригінальної назви, перезавантажте цю сторінку.'; $lang['error_backupconfig'] = 'Ми не змогли належним чином створити резервну копію файлу конфігурації'; $lang['error_checksum'] = 'Контрольна сума файлу не відповідає оригіналу'; $lang['error_cmstablesexist'] = 'Схоже, що в цій базі даних вже встановлена система CMS. Будь ласка, вкажіть іншу базу даних. Якщо ви хочете використовувати інший префікс таблиць, можливо, доведеться перезапустити процес інсталяції та увімкнути розширений режим.'; $lang['error_createtable'] = 'Проблема зі створенням таблиці бази даних ... можливо, проблема з правами доступу користувача бази даних'; $lang['error_dbconnect'] = 'Не вдалося підключитися до бази даних. Будь ласка, перевірте ще раз введені вами дані'; $lang['error_dirnotvalid'] = 'Тека %s не існує (або не доступна для запису)'; $lang['error_droptable'] = 'Проблема зі знищенням таблиці бази даних ... можливо, проблема з правами доступу користувача бази даних'; $lang['error_filenotwritable'] = 'Неможливо перезаписати файл %s (проблема з правами доступу)'; $lang['error_internal'] = 'Вибачте, щось пішло не так ... (внутрішня помилка) (%s)'; $lang['error_invalid_directory'] = 'Схоже, що тека, в яку ви хочете інсталювати, є робочою текою самого інсталятора'; $lang['error_invalidconfig'] = 'Помилка в файлі конфігурації або файл конфігурації відсутній'; $lang['error_invaliddbpassword'] = 'Пароль бази даних містить невірні символи, які не можуть бути безпечно збережені.'; $lang['error_invalidkey'] = 'Недійсна змінна або ключ %s для класу %s'; $lang['error_invalidparam'] = 'Недійсний параметр або його значення: %s'; $lang['error_invalidtimezone'] = 'Неправильно вказаний часовий пояс'; $lang['error_invalidqueryvar'] = 'Введена змінна запиту містить недійсні символи. Будь ласка, використовуйте лише буквено-цифрові символи та знаки підкреслення.'; $lang['error_missingconfigvar'] = 'Ключ "%s" відсутній або недійсний у файлі config.ini'; $lang['error_noarchive'] = 'Проблема з пошуком архіву ... будь ласка, перезапустіть процес'; $lang['error_nlsnotfound'] = 'Проблема з пошуком файлів NLS в архіві'; $lang['error_nodatabases'] = 'Не знайдено сумісних розширень бази даних'; $lang['error_nodbhost'] = 'Будь ласка, введіть дійсне ім\'я хоста (або IP-адресу) для з\'єднання з базою даних'; $lang['error_nodbname'] = 'Будь ласка, введіть назву дійсної бази даних на сервері, зазначеному вище'; $lang['error_nodbpass'] = 'Будь ласка, введіть дійсний пароль для аутентифікації в базі даних'; $lang['error_nodbprefix'] = 'Будь ласка, введіть дійсний префікс для таблиць бази даних'; $lang['error_nodbtype'] = 'Будь ласка, виберіть тип бази даних'; $lang['error_nodbuser'] = 'Будь ласка, введіть дійсне ім\'я користувача для аутентифікації в базі даних'; $lang['error_nodestdir'] = 'Теку призначення не встановлено'; $lang['error_nositename'] = 'Назва сайту - це обов\'язковий параметр. Будь ласка, введіть підхожу назву для вашого веб-сайту.'; $lang['error_notimezone'] = 'Будь ласка, введіть дійсний часовий пояс для цього сервера'; $lang['error_overwrite'] = 'Проблеми з правами доступу: неможливо перезаписати %s'; $lang['error_sendingmail'] = 'Помилка при надсиланні пошти'; $lang['error_tzlist'] = 'Виникла проблема з отриманням списку ідентифікаторів часових поясів'; $lang['errorlevel_estrict'] = 'Перевірка E_STRICT'; $lang['errorlevel_edeprecated'] = 'Перевірка E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED увімкнено у error_reporting PHP. Хоча це не завадить роботі CMSMS, це може призвести до появи попереджень на екрані виводу, особливо старими модулями сторонніх розробників'; $lang['estrict_enabled'] = 'E_STRICT увімкнено у error_reporting PHP. Хоча це не завадить роботі CMSMS, це може призвести до того, що попередження відображатимуться у виводі HTML, особливо з більш старих модулів сторонніх розробників'; $lang['fail_assets_dir'] = 'Тека Аssets вже існує. Ця програма може записувати в цю теку для упорядкування розташування файлів. Будь ласка, переконайтеся, що у вас є резервна копія'; $lang['fail_assets_msg'] = 'Тека Аssets вже існує. Ця програма може записувати в цю теку для упорядкування розташування файлів. Будь ласка, переконайтеся, що у вас є резервна копія'; $lang['fail_config_writable'] = 'Процес HTTP не може записати до файлу config.php. Будь ласка, спробуйте змінити права доступу на цей файл на 777 до завершення процесу оновлення'; $lang['fail_curl_extension'] = 'Розширення curl не знайдено. Хоча це не є критичною проблемою, це може спричинити проблеми з деякими сторонними модулями'; $lang['fail_database_support'] = 'Не знайдено сумісних драйверів бази даних'; $lang['fail_file_get_contents'] = 'Функція file_get_contents не існує або вимкнена. CMSMS неможливо продовжити (навіть інсталятор, ймовірно, не зможе).'; $lang['fail_file_uploads'] = 'Можливості завантаження файлів вимкнені у цьому середовищі. Деякі функції CMSMS не працюватимуть у цьому середовищі'; $lang['fail_func_json'] = 'Функцію json не знайдено'; $lang['fail_func_gzopen'] = 'Функцію gzopen не знайдено'; $lang['fail_func_md5'] = 'Функцію md5 не знайдено'; $lang['fail_func_tempnam'] = 'Функція tempnam не існує. Вона обов\'язкова для функціонування CMSMS'; $lang['fail_func_ziparchive'] = 'Функцію ZipArchive не знайдено. Це може обмежити функціональність'; $lang['fail_ini_set'] = 'Схоже, що ми не можемо змінювати налаштування ini. Це може спричинити проблеми в сторонніх модулях (або, якщо ввімкнути режим зневаджування (debug mode))'; $lang['fail_magic_quotes_runtime'] = 'Схоже, у вашій конфігурації увімкнено magic quotes. Вимкніть їх і повторіть спробу'; $lang['fail_max_execution_time'] = 'Ваш максимальний час виконання %s не відповідає мінімальному значенню %s. Рекомендуємо збільшити його до %s або більше.'; $lang['fail_memory_limit'] = 'Ваш ліміт пам\'яті занадто низький. Ви мали %s, хоча потрібна мінімальна кількість %s, а рекомендується %s'; $lang['fail_multibyte_support'] = 'Підтримку Multibyte не ввімкнено у вашій конфігурації'; $lang['fail_output_buffering'] = 'Буфер виводу не активовано.'; $lang['fail_open_basedir'] = 'Діють відкриті обмеження basedir. CMSMS вимагає, щоб їх було відключено'; $lang['fail_php_version'] = 'Версія PHP, доступна для CMSMS, є надзвичайно важливою. Мінімальна прийнятна версія - %s, хоча ми рекомендуємо %s або новішу. У вас зараз - %s'; $lang['fail_post_max_size'] = 'Ваш максимальний розмір відправки (post_max_size) %s не відповідає мінімальному значенню %s. Рекомендовано значення %s або більше, та переконайтеся, що воно більше, ніж upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Процес HTTP повинен мати можливість записувати до теки призначення (а також до всіх файлів та підпорядкованих тек) для інсталяції файлів. Ми не маємо дозволу на запис (принаймні) %s'; $lang['fail_register_globals'] = 'Будь ласка, вимкніть register_globals в конфігурації PHP'; $lang['fail_remote_url'] = 'Ми виявили проблеми з підключенням до віддаленої URL-адреси. Це обмежить функціональність CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS не буде працювати належним чином в середовищі, де активований safe mode (безпечний режим). Safe mode вважається застарілим і його буде видалено в майбутніх версіях PHP'; $lang['fail_session_save_path_exists'] = 'Шлях до збереження сесій недійсний або тека не існує'; $lang['fail_session_save_path_writable'] = 'Тека для збереження сесій не доступна для запису'; $lang['fail_session_use_cookies'] = 'CMSMS вимагає налаштування PHP для збереження ключа сесії у файлі cookie'; $lang['fail_tmpfile'] = 'Функція tmpfile() не працює. Вона необхідна для розпакування архівів. Ви можете викристати аргумент TMPDIR в URL-адресі, щоб вказати інсталятору на специфічну теку, в яку можна записати. Див. файл README, який повинен бути включений до цієї теки.'; $lang['fail_tmp_dirs_empty'] = 'Тимчасові теки CMSMS (tmp/cache and tmp/templates_c) існують і не порожні. Будь-ласка, видаліть або замініть їх'; $lang['fail_xml_functions'] = 'Розширення XML не знайдено. Будь ласка, увімкніть його у своєму середовищі PHP'; $lang['failed'] = 'не пройдено'; $lang['file_get_contents'] = 'Тестування функції file_get_contents'; $lang['file_installed'] = 'Інстальовано %s'; $lang['file_uploads'] = 'Перевірка підтримки вивантаження файлів'; $lang['finished_custom_freshen_msg'] = 'Вашу систему CMSMS поновлено! Основні файли оновлено та створено новий файл конфігурації. Будь ласка, відвідайте веб-сайт, щоб переконатися, що все працює правильно'; $lang['finished_custom_install_msg'] = 'Завершено! Будь ласка, відвідайте свій веб-сайт і увійдіть до адмін. панелі.'; $lang['finished_custom_upgrade_msg'] = 'Завершено! Будь ласка, відвідайте адмін. панель CMSMS та фронтенд, щоб переконатися, що все працює правильно.
Підказка:Зараз ідеальний час для створення ще одної резервної копії.'; $lang['finished_freshen_msg'] = 'Вашу систему поновлено! Основні файли оновлено та створено новий файл конфігурації. Тепер ви можете відвідати ваш веб-сайт або увійти до адмін. панелі CMSMS.'; $lang['finished_install_msg'] = 'Завершено! Тепер ви можете відвідати ваш веб-сайт або увійти до адмін. панелі CMSMS.'; $lang['finished_upgrade_msg'] = 'Завершено! Будь ласка, відвідайте фронтенд веб-сайту та адмін. панель, щоб переконатися, що все працює правильно. Можливо, вам також доведеться оновити деякі сторонні модулі.
Підказка:Не забудьте створити ще одну резервну копію після переконання, що все працює добре.'; $lang['freshen'] = 'Поновити (полагодити) встановлену систему'; $lang['func_json'] = 'Перевірка функції кодування та декодування json'; $lang['func_md5'] = 'Перевірка функції md5'; $lang['func_tempnam'] = 'Перевірка функції tempnam'; $lang['func_gzopen'] = 'Перевірка функції gzopen'; $lang['func_ziparchive'] = 'Перевірка функції ziparchive'; $lang['gd_version'] = 'Версія GD'; $lang['goback'] = 'Назад'; $lang['info_addlanguages'] = 'Виберіть мови (на додачу до англійської) для інсталяції. Примітка: не всі переклади завершено, але українська точно є!.'; $lang['info_adminaccount'] = 'Будь ласка, надайте облікові дані для першого користувача-адміністратора. Цей обліковий запис буде мати доступ до всіх функцій адмін. панелі CMSMS.'; $lang['info_advanced'] = 'Розширений режим дозволяє використовувати більше параметрів у процедурі інсталяції.'; $lang['info_dbinfo'] = 'CMS Made Simple зберігає великий обсяг даних у базі даних. З\'єднання з базою даних є обов\'язковим. Окрім того, користувач бази даних повинен мати ВСІ ДОЗВОЛИ в зазначеній базі даних, щоб дозволити створення, знищення та зміну таблиць, індексів та виводу даних.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED - параметр звітування про помилки PHP, який вказує на те, що попередження повинні відображатися щодо коду, який використовує застарілі методи. Незважаючи на те, що ядро CMSMS намагається перевіряти, чи ми більше не використовуємо застарілі методи, деякі модулі цього не роблять. Ми рекомендуємо вимкнути цей параметр у конфігурації PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT - параметр для звітування про помилки PHP, який вказує на те, що слід поважати строгі стандарти кодування. Хоча основне ядро CMSMS намагається відповідати стандартам E_STRICT, деякі модулі цього не роблять. Ми рекомендуємо вимкнути цей параметр у конфігурації PHP'; $lang['info_installcontent'] = 'За замовчуванням цей інсталятор створює серію зразків сторінок, таблиць стилів і шаблонів у CMSMS. Зразок сторінки надає розгорнуту інформацію та поради, які допоможуть створити веб-сайти за допомогою CMSMS, його корисно прочитати. Однак, якщо ви вже знайомі з CMS Made Simple, вимкнувши цю опцію, ви отримаєте мінімальний набір шаблонів, таблиць стилів та вміст сторінок.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir увімкнено у вашій конфігурації PHP. Ми не змогли правильно оцінити можливість використання сесій. Однак, перехід до цього моменту в процесі інсталяції, ймовірно, вказує на те, що сесії працюють нормально.'; $lang['info_pwd_writable'] = 'Ця програма потребує дозвіл на запис до поточної робочої теки'; $lang['info_queryvar'] = 'Змінна запиту (GET) використовується всередині CMSMS для ідентифікації запитуваної сторінки. У більшості випадків вам не потрібно буде це коригувати.'; $lang['info_sitename'] = 'Назва веб-сайту використовується в шаблонах за замовчуванням як частина заголовка. Будь ласка, введіть людську читабельну назву для веб-сайту'; $lang['info_timezone'] = 'Інформація про часовий пояс потрібна для показу обчислень дати та часу. Будь ласка, виберіть часовий пояс сервера'; $lang['ini_set'] = 'Перевірка, чи можемо ми змінити налаштування INI'; $lang['install'] = 'Інсталювати'; $lang['install_attachstylesheets'] = 'Приєднати таблиці стилів до тем'; $lang['install_backupconfig'] = 'Резервне копіювання файлу конфігурації'; $lang['install_createassets'] = 'Створити структуру теки/assets'; $lang['install_created_index'] = 'Створено індекс %s ...%s'; $lang['install_create_tables'] = 'Створити таблиці бази даних'; $lang['install_createconfig'] = 'Створити новий файл конфігурації'; $lang['install_createcontentpages'] = 'Створити сторінки за замовчуванням'; $lang['install_created_table'] = 'Створено таблицю %s: ....%s'; $lang['install_createtablesindexes'] = 'Створення таблиць та індексів'; $lang['install_createtmpdirs'] = 'Створити тимчасові теки'; $lang['install_creating_index'] = 'Створено індекс %s'; $lang['install_default_collections'] = 'Інсталювати колекції за замовчуванням'; $lang['install_defaultcontent'] = 'Інсталювати вміст за замовчуванням'; $lang['install_detectlanguages'] = 'Виявити встановлені мови'; $lang['install_dropping_tables'] = 'Знищення таблиць'; $lang['install_dummyindexhtml'] = 'Створити файли dummy index.html'; $lang['install_extractfiles'] = 'Розпакувати файли з архіву'; $lang['install_initevents'] = 'Створити події'; $lang['install_initsitegroups'] = 'Створити початкові групи'; $lang['install_initsiteperms'] = 'Встановити початкові дозволи'; $lang['install_initsiteprefs'] = 'Встановити початкові параметри сайту'; $lang['install_initsiteusers'] = 'Створити початковий обліковий запис користувача'; $lang['install_initsiteusertags'] = 'Стартовий набір UDT (теґи користувача)'; $lang['install_module'] = 'Інсталювати модуль %s'; $lang['install_modules'] = 'Інсталювати доступні модулі'; $lang['install_passwordsalt'] = 'Встановити фразу шифру для паролів (password salt)'; $lang['install_requireddata'] = 'Встановити необхідні початкові дані'; $lang['install_schema'] = 'Створити схему бази даних'; $lang['install_setschemaver'] = 'Встановити схему версії'; $lang['install_setsequence'] = 'Скинути таблиці послідовностей (sequence tables)'; $lang['install_setsitename'] = 'Встановити назву сайту'; $lang['install_stylesheets'] = 'Створити таблиці стилів за замовчуванням'; $lang['install_templates'] = 'Створити шаблони за замовчуванням'; $lang['install_templatetypes'] = 'Створити стандартні типи шаблонів'; $lang['install_update_sequences'] = 'Оновити таблиці послідовностей (sequence tables)'; $lang['install_updatehierarchy'] = 'Оновити позиції ієрархії вмісту'; $lang['install_updateseq'] = 'Оновити послідовність для %s'; $lang['installer_ver'] = 'Версія інсталятора'; $lang['legend'] = 'Легенда'; $lang['magic_quotes_runtime'] = 'Переконайтеся, що magic quotes вимкнено'; $lang['max_execution_time'] = 'Перевірка максимального часу виконання PHP скрипта'; $lang['meaning'] = 'Значення'; $lang['memory_limit'] = 'Перевірка, чи достатній ліміт пам\'яті PHP'; $lang['msg_clearedcache'] = 'Кеш сервера очищено'; $lang['msg_configsaved'] = 'Існуючий файл конфігурації збережено в %s'; $lang['msg_upgrade_module'] = 'Оновлення версії модуля %s'; $lang['msg_upgrademodules'] = 'Оновлення версії модулів'; $lang['msg_yourvalue'] = 'У вас зараз: %s'; $lang['multibyte_support'] = 'Перевірити наявність підтримки multibyte'; $lang['next'] = 'Продовжити'; $lang['no'] = 'Ні'; $lang['none'] = 'Жоден'; $lang['open_basedir'] = 'Обмеження open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir включено. Неможливо перевірити шлях до збереження сесій.'; $lang['output_buffering'] = 'Переконайтеся, що буфер виводу активовано'; $lang['pass_config_writable'] = 'Процес HTTP має дозвіл на запис до файлу config.php'; $lang['pass_database_support'] = 'Знайдено принаймні один сумісний драйвер бази даних'; $lang['pass_func_json'] = 'Виявлено функцію json'; $lang['pass_func_md5'] = 'Виявлено функцію md5'; $lang['pass_func_tempnam'] = 'Функція tempnam існує'; $lang['pass_multibyte_support'] = 'Здається, підтримку Multibyte вимкнено'; $lang['pass_php_version'] = 'На даний момент налаштована версія PHP не відповідає мінімальним вимогам. Потрібно, як мінімум, PHP %s, хоча ми рекомендуємо %s або більше'; $lang['pass_pwd_writable'] = 'Процес HTTP може записувати у теку призначення. Це необхідно для розпакування файлів'; $lang['password'] = 'Пароль'; $lang['ph_sitename'] = 'Введіть назву сайту'; $lang['php_version'] = 'Версія PHP'; $lang['post_max_size'] = 'Перевірка максимальної кількості даних, які можна опублікувати в одному запиті'; $lang['prompt_addlanguages'] = 'Додаткові мови'; $lang['prompt_createtables'] = 'Створити таблиці бази даних'; $lang['prompt_dbhost'] = 'Інформація про ім\'я сервера бази даних'; $lang['prompt_dbinfo'] = 'Інформація про базу даних'; $lang['prompt_dbname'] = 'Назва бази даних'; $lang['prompt_dbpass'] = 'Пароль'; $lang['prompt_dbport'] = 'Номер порту бази даних'; $lang['prompt_dbprefix'] = 'Префікс назви таблиць бази даних'; $lang['prompt_dbtype'] = 'Тип бази даних'; $lang['prompt_dbuser'] = 'Ім\'я користувача'; $lang['prompt_dir'] = 'Тека для інсталяції'; $lang['prompt_installcontent'] = 'Встановити зразки вмісту'; $lang['prompt_queryvar'] = 'Змінна запиту (GET)'; $lang['prompt_sitename'] = 'Назва веб-сайту'; $lang['prompt_timezone'] = 'Часовий пояс сервера'; $lang['pwd_writable'] = 'Тека доступна для запису'; $lang['queue_for_upgrade'] = 'Додано в чергу сторонній модуль %s для оновлення на наступному кроці.'; $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Переконайтеся, що "register globals" вимкнено'; $lang['remote_url'] = 'Перевірте, чи можемо ми робити вихідні HTTP-з\'єднання'; $lang['repeatpw'] = 'Повторіть пароль'; $lang['reset_site_preferences'] = 'Скиданути деякі налаштування сайту'; $lang['reset_user_settings'] = 'Скинути параметри користувача'; $lang['retry'] = 'Повторити спробу'; $lang['safe_mode'] = 'Перевірка, чи "safe mode" вимкнено'; $lang['saltpasswords'] = 'Зашифрувати паролі (Salt Passwords)'; $lang['select_language'] = 'Перше, що ми попросимо зробити - це вибрати бажану мову зі списку нижче. Це для зручності під час процесу інсталяції, але це не вплине на вашу інсталяцію CMSMS.'; $lang['send_admin_email'] = 'Надіслати дані облікового запису адміністратора електронною поштою'; $lang['session_capabilities'] = 'Перевірка належних можливостей сесій (сесії використовують файли cookie і шлях до збереження сесії доступний для запису, тощо)'; $lang['session_save_path_exists'] = 'Session_save_path існує'; $lang['session_save_path_writable'] = 'Session_save_path доступний для запису'; $lang['session_use_cookies'] = 'Переконайтеся, що сесії PHP використовують cookies'; $lang['sometests_failed'] = 'Ми провели численні перевірки вашого поточного веб-середовища. Хоча не було виявлено жодних критичних проблем, ми рекомендуємо виправити наступні елементи, перш ніж продовжувати.'; $lang['step1_advanced'] = 'Розширений режим'; $lang['step1_destdir'] = 'Вибрати теку'; $lang['step1_info_destdir'] = 'Попередження: Ця програма може інсталювати або оновити декілька систем CMS Made Simple. Важливо, щоб ви вибрали правильну теку для інсталяції або оновлення.'; $lang['step1_language'] = 'Вибрати мову'; $lang['step1_title'] = 'Вибрати мову'; $lang['step2_cmsmsfound'] = 'найдено вже встановлену систему CMS Made Simple . Можна оновити цю систему. Проте, перш ніж продовжувати, переконайтеся, що у вас є поточна резервна копія всіх файлів та бази даних'; $lang['step2_cmsmsfoundnoupgrade'] = 'Хоча було знайдено вже встановлену систему CMS Made Simple, неможливо оновити цю версію за допомогою цієї програми. Версія може бути занадто старою. Спробуйте спочатку оновити до проміжної версії.'; $lang['step2_confirminstall'] = 'Ви впевнені, що хочете інсталювати CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Ви впевнені, що хочете оновити CMS Made Simple'; $lang['step2_errorsamever'] = 'Схоже, що вибрана тека містить систему CMSMS з тією ж версією, яка включена в цей скрипт. Продовження поновить/полагодить систему.'; $lang['step2_errortoonew'] = 'Схоже, що вибрана тека містить систему CMSMS з версією новішою, ніж в цьому скрипті інсталяції. Неможливо продовжити'; $lang['step2_info_freshen'] = 'Поновлення/полагодження системи передбачає заміну всіх основних файлів і відтворення конфігурації. Вам буде запропоновано основні базові налаштування, однак база даних буде нетронута.'; $lang['step2_installdate'] = 'Орієнтовна дата системи'; $lang['step2_install_dirnotempty2'] = 'Ця тека вже містить деякі файли та/або підтеки. Хоча сюди й можна інсталювати CMSMS, це може призвести до пошкодження існуючої програми. Будь ласка, двічі перевірте вміст цієї теки. Для довідкових цілей деякі файли вказані нижче. Переконайтеся, що все правильно.'; $lang['step2_hdr_upgradeinfo'] = 'Інформація про версію'; $lang['step2_info_upgradeinfo'] = 'Нижче наведено доступні відомості про випуск та журнал змін для кожного випуску. Кнопки нижче відобразять детальну інформацію про те, що змінилося в кожній версії CMS Made Simple. У кожній версії можуть з\'явитися додаткові вказівки чи попередження, які можуть вплинути на процес оновлення.'; $lang['step2_minupgradever'] = 'Мінімальна версія, з якої ця програма може оновити: %s. Вам може знадобитися оновити свою програму до нової версії поетапно, використовуючи інший спосіб, перш ніж завершити процес оновлення. Перш ніж використовувати будь-який метод оновлення, будь ласка, переконайтесь, що у вас є повноцінна підтверджена резервна копія.'; $lang['step2_nocmsms'] = 'У цій теці ми не знайшли систему CMS Made Simple. Схоже, що це нова інсталяція'; $lang['step2_nofiles'] = 'За бажанням, основні файли CMSMS не будуть оброблятися під час цього процесу'; $lang['step2_passed'] = 'Пройдено'; $lang['step2_pwd'] = 'Ваш поточна робоча тека'; $lang['step2_schemaver'] = 'Версія схеми бази даних'; $lang['step2_version'] = 'Ваша версія'; $lang['step3_failed'] = 'Цей пакет виконав численні перевірки вашого середовища PHP, і одну або декілька перевірок не пройдено. Вам потрібно буде виправити ці помилки у вашій конфігурації, перш ніж продовжувати. Після того, як ви виправите помилки, натисніть & quot;Повторити спробу" нижче.'; $lang['step3_passed'] = 'Цей пакет виконав численні перевірки вашого середовища PHP, і всі вони пройдені. Це чудова новина! Хоча це не є всеохоплюючою перевіркою, ви не повинні зіткнутися з жодними труднощами під час роботи основної системи CMSMS.'; $lang['step9_removethis'] = 'Попередження: З міркувань безпеки важливо видалити цей скрипт інсталяції з теки, доступної для перегляду браузером, як тільки ви підтвердите, що операція виконана.'; $lang['symbol'] = 'Символ'; $lang['social_message'] = 'Я успішно інсталював CMS Made Simple!'; $lang['test_failed'] = 'Необхідну перевірку не пройдено'; $lang['test_passed'] = 'Перевірку пройдено (пройдені перевірки відображаються лише в розширеному режимі)'; $lang['test_warning'] = 'Параметр перевищує необхідне значення, але нижче рекомендованого, або ...
Можливості, які можуть знадобитися для деяких додаткових функцій, недоступні'; $lang['th_status'] = 'Статус'; $lang['th_testname'] = 'Перевірка'; $lang['th_value'] = 'Значення'; $lang['title_error'] = 'Х\'юстон, у нас проблема!'; $lang['title_step2'] = 'Крок 2 - Виявлення існуючого програмного забезпечення'; $lang['title_step3'] = 'Крок 3 - Перевірки'; $lang['title_step4'] = 'Крок 4 - Базові налаштування'; $lang['title_step5'] = 'Крок 5 - Інформація про обліковий запис адміністратора'; $lang['title_step6'] = 'Крок 6 - Налаштування сайту'; $lang['title_step7'] = 'Крок 7 - Інсталяція програмних файлів'; $lang['title_step8'] = 'Крок 8 - Робота бази даних'; $lang['title_step9'] = 'Крок 9 - Завершення'; $lang['title_welcome'] = 'Ласкаво просимо!'; $lang['title_forum'] = 'Форум підтримки'; $lang['title_docs'] = 'Офіційна документація'; $lang['title_api_docs'] = 'Офіційна документація API'; $lang['to'] = 'до'; $lang['title_share'] = 'Поділитися своїм досвідом з друзями.'; $lang['tmpfile'] = 'Перевірка роботи tmpfile()'; $lang['tmp_dirs_empty'] = 'Переконайтеся, що тимчасові теки порожні або не існують'; $lang['upgrade'] = 'Оновити версію'; $lang['upgrade_deleteoldevents'] = 'Видалення старих подій'; $lang['upgrading_schema'] = 'Оновлення схеми бази даних'; $lang['upload_max_filesize'] = 'Перевірка максимального розміру завантажених файлів'; $lang['username'] = 'Ім\'я користувача'; $lang['warn_disable_functions'] = 'Примітка: одну або декілька основних функцій PHP відключено. Це може негативно вплинути на вашу систему CMSMS, зокрема на сторонні модулі. Будь ласка, уважно стежте за журналом помилок. Ваші вимкнені функції:

%s'; $lang['warn_max_execution_time'] = 'Хоч ваш максимальний час виконання %s відповідає або перевищує мінімальне значення %s, рекомендуємо збільшити його до %s або більше'; $lang['warn_memory_limit'] = 'Ваш ліміт пам\'яті %s перевищує мінімальне значення %s. Однак рекомендується значення %s'; $lang['warn_open_basedir'] = 'open_basedir увімкнено у вашій конфігурації php. Хоч ви можете продовжувати, CMSMS не підтримуватиме інсталяцію з обмеженнями open_basedir.'; $lang['warn_post_max_size'] = 'Ваш максимальний розмір відправки (post_max_size) %s перевищує мінімальне значення %s, однак рекомендується %s. Будь ласка, переконайтеся, що це значення більше, ніж upload_max_filesize'; $lang['warn_tests'] = 'Примітка: Передача всіх цих перевірок повинна забезпечити правильність функціонування CMSMS для більшості сайтів. Але, оскільки сайт зростає та додаються нові можливості, ці мінімальні значення можуть стати недостатніми. Крім того, сторонні модулі можуть мати додаткові вимоги для правильного функціонування.'; $lang['warn_upload_max_filesize'] = 'Хоча ваш параметр %s є достатнім, ми рекомендуємо збільшити параметр upload_max_filesize у PHP, принаймні до %s'; $lang['welcome_message'] = 'Ласкаво просимо! Це автоматичний механізм інсталяції CMS Made Simple. Цей пакет дозволить вам швидко і легко підтвердити, що ваш веб-хост сумісний з CMSMS, а також інсталювати або оновити до останньої версії CMS Made Simple.
Ви будете в захваті!'; $lang['wizard_step1'] = 'Ласкаво просимо!'; $lang['wizard_step2'] = 'Виявити існуюче програмне забезпечення'; $lang['wizard_step3'] = 'Тести на сумісность'; $lang['wizard_step4'] = 'Налаштування'; $lang['wizard_step5'] = 'Інформація про обліковий запис адміністратора'; $lang['wizard_step6'] = 'Налаштування сайту'; $lang['wizard_step7'] = 'Файли'; $lang['wizard_step8'] = 'Робота бази даних'; $lang['wizard_step9'] = 'Завершено'; $lang['xml_functions'] = 'Перевірка функції XML'; $lang['yes'] = 'Так'; ?>get_config(); } public function set_destdir($destdir) { if( !is_dir($destdir) ) throw new \Exception(\__appbase\lang('error_dirnotvalid',$destdir)); if( !is_writable($destdir) ) throw new \Exception(\__appbase\lang('error_dirnotvalid',$destdir)); $this->_destdir = $destdir; } public function get_destdir() { if( !$this->_destdir ) throw new \Exception(\__appbase\lang('error_nodestdir')); return $this->_destdir; } public function set_languages($lang) { if( !is_array($lang) ) return; $this->_languages = $lang; } public function get_languages() { return $this->_languages; } public function set_output_fn($fn) { if( !is_callable($fn) ) throw new \Exception(\__appbase\lang('error_internal',1102)); $this->_output_fn = $fn; } public function output_string($txt) { if( $this->_output_fn ) call_user_func($this->_output_fn,$txt); } protected function is_excluded($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_internal',1101)); $config = $this->get_config(); if( !isset($config['install_excludes']) ) return FALSE; $excludes = explode('||',$config['install_excludes']); foreach( $excludes as $excl ) { if( preg_match($excl,$filespec) ) return TRUE; } } protected function dir_exists($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); $dn = dirname($filespec); $tmp = $this->get_destdir()."/$dn"; return (is_dir($tmp))?TRUE:FALSE; } protected function create_directory($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); $dn = dirname($filespec); $tmp = $this->get_destdir()."/$dn"; return @mkdir($tmp,0777,TRUE); } protected function is_imagefile($filespec) { // this method uses (ugly) extensions because we cannot rely on finfo_open being available. $image_exts = ['bmp','jpg','jpeg','gif','png','svg','webp','ico']; $ext = strtolower(substr(strrchr($filespec, '.'), 1)); return in_array($ext,$image_exts); } protected function is_langfile($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); if( $this->is_imagefile($filespec) ) return FALSE; $bn = basename($filespec); $dn = dirname($filespec); $fnmatch = 0; $fnmatch = $fnmatch || preg_match('/^[a-zA-Z]{2}_[a-zA-Z]{2}\.php$/',$bn); $fnmatch = $fnmatch || preg_match('/^[a-zA-Z]{2}_[a-zA-Z]{2}\.nls\.php$/',$bn); if( $fnmatch ) return substr($bn,0,strpos($bn,'.')); $nls = \__appbase\get_app()->get_nls(); if( !is_array($nls) ) return FALSE; // problem $bn = substr($bn,0,strpos($bn,'.')); $last_dn = basename($dn); foreach( $nls['alias'] as $alias => $code ) { if( $bn == $alias ) return $code; } foreach( $nls['htmlarea'] as $code => $short ) { if( $bn == $short ) return $code; } return FALSE; } protected function is_accepted_lang($filespec) { $res = $this->is_langfile($filespec); if( !$res ) return FALSE; $langs = $this->get_languages(); if( !is_array($langs) || count($langs) == 0 ) return TRUE; return in_array($res,$langs); } abstract public function handle_file($filespec,$srcspec,\PharFileInfo $fi); } ?> 0 ) { $newconfig['db_port'] = $num; } else if( isset($newconfig['db_port']) ) { unset($newconfig['db_port']); } } if( !empty($destconfig['query_var']) ) { $newconfig['query_var'] = trim($destconfig['query_var']); } else if( isset($newconfig['query_var']) ) { unset($newconfig['query_var']); } return $newconfig; } public static function printable_config_value($value) { if( \is_bool($value) ) { return $value ? 'true' : 'false'; } if( \is_int($value) || \is_float($value) ) { return (string) $value; } $value = (string) $value; $value = \str_replace(array('\\', '\''), array('\\\\', '\\\''), $value); return '\''.$value.'\''; } public static function write_config_file($filename, $config) { $output = " $value ) { $output .= "\$config['".$key."'] = ".self::printable_config_value($value).";\n"; } $output .= "?>"; $res = @\file_put_contents($filename, $output, LOCK_EX); if( $res === FALSE ) { throw new \Exception(\__appbase\lang('error_backupconfig')); } } public static function ensure_config_file($destdir, $destconfig) { $filename = $destdir . '/config.php'; $existing = self::load_existing_config($filename); $newconfig = self::build_written_config($destconfig, $existing); self::write_config_file($filename, $newconfig); $placeholder = $destdir . '/___config.php'; if( \is_file($placeholder) ) @\unlink($placeholder); if( !self::is_valid_config_file($filename) ) { throw new \Exception('config.php file not found or invalid after write'); } return $filename; } public static function validate_config_file($filename) { if( self::is_valid_config_file($filename) ) return; throw new \Exception('config.php file not found or invalid'); } } ?> is_excluded($filespec) ) return; if( $this->is_langfile($filespec) ) { if( !$this->is_accepted_lang($filespec) ) return; } if( !$this->dir_exists($filespec) ) $this->create_directory($filespec); $destname = $this->get_destdir().$filespec; if( file_exists($destname) && !is_writable($destname) ) throw new \Exception(\__appbase\lang('error_overwrite',$filespec)); $cksum = md5_file($srcspec); @copy($srcspec,$destname); $cksum2 = md5_file($destname); if( $cksum != $cksum2 ) throw new \Exception(\__appbase\lang('error_checksum',$filespec)); $this->output_string(\__appbase\lang('file_installed',$filespec)); } } ?> _app = \__appbase\get_app(); } public function get_profile_root() { return $this->_app->get_install_profiles_dir(); } public function get_profile_options() { $profiles = $this->get_profiles(); $out = array(); foreach( $profiles as $profile_id => $profile ) { $out[$profile_id] = $profile['name']; } return $out; } public function get_profiles() { if( \is_array($this->_profiles) ) return $this->_profiles; $root = $this->get_profile_root(); $out = array(); if( !\is_dir($root) ) { $this->_profiles = $out; return $this->_profiles; } $dh = \opendir($root); if( !$dh ) { $this->_profiles = $out; return $this->_profiles; } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $dir = $root . \DIRECTORY_SEPARATOR . $entry; if( !\is_dir($dir) ) continue; $profile = $this->load_profile($entry, $dir); if( !\is_array($profile) ) continue; $out[$entry] = $profile; } \closedir($dh); \uasort($out, function($a, $b) { $adefault = !empty($a['default_selected']) ? 0 : 1; $bdefault = !empty($b['default_selected']) ? 0 : 1; if( $adefault != $bdefault ) return $adefault - $bdefault; return \strcasecmp($a['name'], $b['name']); }); $this->_profiles = $out; return $this->_profiles; } public function get_profile($profile_id = null) { $profiles = $this->get_profiles(); $profile_id = \trim((string) $profile_id); if( $profile_id && isset($profiles[$profile_id]) ) return $profiles[$profile_id]; foreach( $profiles as $profile ) { if( !empty($profile['default_selected']) ) return $profile; } if( \count($profiles) ) return \reset($profiles); throw new \RuntimeException('No installation profiles are available'); } public function install($profile_id = null) { $profile = $this->get_profile($profile_id); if( !empty($profile['legacy_script']) ) { $this->install_legacy_profile($profile); return $profile; } if( !empty($profile['script']) ) { $this->install_custom_profile($profile); return $profile; } $this->install_structured_profile($profile); return $profile; } public function post_install($profile_id = null) { $profile = $this->get_profile($profile_id); if( empty($profile['post_install_script']) ) { if( empty($profile['legacy_script']) && empty($profile['script']) ) { $this->run_sql_phase($profile, 'post_modules'); } return $profile; } $this->run_profile_script($profile, $profile['post_install_script'], 'post-install'); return $profile; } private function load_profile($profile_id, $dir) { $filename = $dir . \DIRECTORY_SEPARATOR . 'profile.json'; if( !\is_file($filename) ) return; $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile definition: '.$filename); } $data = $this->expand_manifest_files($data, $dir); $data['id'] = $profile_id; $data['directory'] = $dir; if( !isset($data['name']) || !$data['name'] ) $data['name'] = $profile_id; return $data; } private function install_legacy_profile($profile) { $filename = $this->_app->get_install_dir() . \DIRECTORY_SEPARATOR . $profile['legacy_script']; if( !\is_file($filename) ) throw new \RuntimeException('Missing legacy install script: '.$filename); include($filename); } private function install_custom_profile($profile) { $this->run_profile_script($profile, $profile['script'], 'install'); } private function install_structured_profile($profile) { $this->run_sql_phase($profile, 'pre_install'); $this->install_copies($profile); $designs = $this->install_designs($profile); $template_types = $this->install_template_types($profile); $templates = $this->install_templates($profile, $designs, $template_types); $this->install_stylesheets($profile, $designs); $this->install_pages($profile, $designs, $templates); $this->install_udts($profile); $this->run_sql_phase($profile, 'post_content'); } private function run_profile_script($profile, $script_name, $context) { $filename = $profile['directory'] . \DIRECTORY_SEPARATOR . $script_name; if( !\is_file($filename) ) { throw new \RuntimeException('Missing '.$context.' profile script: '.$filename); } $previous_profile_data = $GLOBALS['profile_data'] ?? null; $previous_profile_dir = $GLOBALS['profile_dir'] ?? null; $profile_data = $profile; $profile_dir = $profile['directory']; $GLOBALS['profile_data'] = $profile_data; $GLOBALS['profile_dir'] = $profile_dir; try { include($filename); } finally { if( $previous_profile_data !== null ) { $GLOBALS['profile_data'] = $previous_profile_data; } else { unset($GLOBALS['profile_data']); } if( $previous_profile_dir !== null ) { $GLOBALS['profile_dir'] = $previous_profile_dir; } else { unset($GLOBALS['profile_dir']); } } } private function install_designs($profile) { $out = array(); $records = isset($profile['designs']) ? $profile['designs'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $design = new \CmsLayoutCollection(); $design->set_name($rec['name']); if( isset($rec['description']) ) $design->set_description($rec['description']); if( !empty($rec['default']) ) $design->set_default(TRUE); $design->save(); $out[$rec['name']] = $design; } return $out; } private function install_template_types($profile) { $out = array(); $records = isset($profile['template_types']) ? $profile['template_types'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $type = new \CmsLayoutTemplateType(); if( isset($rec['originator']) && \strtolower($rec['originator']) == 'core' ) { $type->set_originator(\CmsLayoutTemplateType::CORE); } $type->set_name($rec['name']); if( !empty($rec['default']) ) $type->set_dflt_flag(TRUE); if( !empty($rec['lang_callback']) ) $type->set_lang_callback($rec['lang_callback']); if( !empty($rec['content_callback']) ) $type->set_content_callback($rec['content_callback']); if( !empty($rec['help_callback']) ) $type->set_help_callback($rec['help_callback']); if( !empty($rec['reset_factory']) ) $type->reset_content_to_factory(); if( !empty($rec['content_block']) ) $type->set_content_block_flag(TRUE); $type->save(); $out[$rec['name']] = $type; $out[$this->get_template_type_lookup_key($type->get_originator(), $type->get_name())] = $type; } return $out; } private function install_templates($profile, $designs, $template_types) { $out = array(); $records = isset($profile['templates']) ? $profile['templates'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $template = new \CmsLayoutTemplate(); $template->set_name($rec['name']); if( isset($rec['description']) ) $template->set_description($rec['description']); if( isset($rec['owner']) ) $template->set_owner((int) $rec['owner']); if( !empty($rec['source']) ) $template->set_content($this->read_profile_file($profile, $rec['source'])); if( !empty($rec['type']) ) { $type = $this->resolve_template_type($rec, $template_types); if( $type ) { $template->set_type($type); } } if( !empty($rec['default']) ) $template->set_type_dflt(TRUE); if( isset($rec['designs']) && \is_array($rec['designs']) ) { foreach( $rec['designs'] as $design_name ) { if( isset($designs[$design_name]) ) $template->add_design($designs[$design_name]); } } $template->save(); $out[$rec['name']] = $template; } return $out; } private function resolve_template_type($rec, $template_types) { $type_name = isset($rec['type']) ? \trim((string) $rec['type']) : ''; if( !$type_name ) return; if( isset($template_types[$type_name]) ) { return $template_types[$type_name]; } $originator = isset($rec['type_originator']) ? \trim((string) $rec['type_originator']) : ''; if( $originator ) { $lookup = $this->get_template_type_lookup_key($originator, $type_name); if( isset($template_types[$lookup]) ) { return $template_types[$lookup]; } return $this->load_existing_template_type($lookup); } if( \strpos($type_name, '::') !== FALSE ) { return $this->load_existing_template_type($type_name); } return; } private function load_existing_template_type($lookup) { try { return \CmsLayoutTemplateType::load($lookup); } catch( \Exception $e ) { } } private function get_template_type_lookup_key($originator, $name) { $originator = \trim((string) $originator); $name = \trim((string) $name); if( !$originator || !$name ) return $name; return $originator . '::' . $name; } private function install_pages($profile, $designs, $templates) { $records = isset($profile['pages']) ? $profile['pages'] : array(); if( !\is_array($records) || !\count($records) ) return; \ContentOperations::get_instance()->LoadContentType('content'); $page_ids = array(); foreach( $records as $rec ) { $content = new \Content(); $content->SetName(isset($rec['name']) ? $rec['name'] : ''); $page_key = ''; if( isset($rec['key']) ) { $page_key = \trim((string) $rec['key']); } if( !$page_key && isset($rec['name']) ) { $page_key = \trim((string) $rec['name']); } if( isset($rec['alias']) && $rec['alias'] && $rec['alias'] != 'auto' ) { $content->SetAlias($rec['alias']); } else { $content->SetAlias(); } if( isset($rec['owner']) ) $content->SetOwner((int) $rec['owner']); if( isset($rec['menu_text']) ) $content->SetMenuText($rec['menu_text']); if( !empty($rec['template']) && isset($templates[$rec['template']]) ) { $content->SetTemplateId($templates[$rec['template']]->get_id()); } if( isset($rec['parent']) ) { $parent = \trim((string) $rec['parent']); if( $parent === '' || $parent == '-1' ) { $content->SetParentId(-1); } else if( isset($page_ids[$parent]) ) { $content->SetParentId((int) $page_ids[$parent]); } else { throw new \RuntimeException('Unknown install profile page parent: '.$parent); } } else if( isset($rec['parent_id']) ) { $content->SetParentId((int) $rec['parent_id']); } if( isset($rec['active']) ) $content->SetActive($rec['active'] ? TRUE : FALSE); if( isset($rec['show_in_menu']) ) $content->SetShowInMenu($rec['show_in_menu'] ? TRUE : FALSE); if( isset($rec['cachable']) ) $content->SetCachable($rec['cachable'] ? TRUE : FALSE); if( isset($rec['default_content']) ) $content->SetDefaultContent($rec['default_content'] ? TRUE : FALSE); if( isset($rec['searchable']) ) { $content->SetPropertyValue('searchable', (int) $rec['searchable']); } if( !empty($rec['design']) && isset($designs[$rec['design']]) ) { $content->SetPropertyValue('design_id', $designs[$rec['design']]->get_id()); } if( isset($rec['content']) && \is_array($rec['content']) ) { foreach( $rec['content'] as $lang => $spec ) { $content->SetPropertyValue('content_'.$lang, $this->resolve_profile_value($profile, $spec)); } } if( isset($rec['properties']) && \is_array($rec['properties']) ) { foreach( $rec['properties'] as $property_name => $spec ) { $content->SetPropertyValue($property_name, $this->resolve_profile_value($profile, $spec)); } } if( isset($rec['blocks']) && \is_array($rec['blocks']) ) { foreach( $rec['blocks'] as $property_name => $spec ) { $content->SetPropertyValue($property_name, $this->resolve_profile_value($profile, $spec)); } } $content->Save(); if( $page_key ) $page_ids[$page_key] = $content->Id(); } } private function install_stylesheets($profile, $designs) { $out = array(); $records = isset($profile['stylesheets']) ? $profile['stylesheets'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $css = new \CmsLayoutStylesheet(); $css->set_name($rec['name']); if( isset($rec['description']) ) $css->set_description($rec['description']); if( !empty($rec['source']) ) $css->set_content($this->read_profile_file($profile, $rec['source'])); if( !empty($rec['media_types']) ) $css->set_media_types($rec['media_types']); $css->save(); $out[$rec['name']] = $css; if( isset($rec['designs']) && \is_array($rec['designs']) ) { foreach( $rec['designs'] as $design_name ) { if( isset($designs[$design_name]) ) { $designs[$design_name]->add_stylesheet($css); } } } } foreach( $designs as $design ) { $design->save(); } return $out; } private function install_copies($profile) { $records = isset($profile['copies']) ? $profile['copies'] : array(); if( !\is_array($records) || !\count($records) ) return; $destdir = $this->_app->get_destdir(); foreach( $records as $rec ) { if( empty($rec['source']) || empty($rec['destination']) ) continue; $source = $this->get_profile_filename($profile, $rec['source']); $relative_destination = \trim((string) $rec['destination'], '\\/'); $destination = $destdir; if( $relative_destination !== '' ) { $destination .= \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_destination); } $mode = isset($rec['mode']) ? \strtolower(\trim((string) $rec['mode'])) : ''; if( !$mode ) { $mode = \is_dir($source) ? 'tree' : 'file'; } switch( $mode ) { case 'tree': $this->copy_tree($source, $destination); break; case 'file': $this->copy_file($source, $destination); break; default: throw new \RuntimeException('Unsupported install profile copy mode: '.$mode); } } } private function install_udts($profile) { $records = isset($profile['udts']) ? $profile['udts'] : array(); if( !\is_array($records) || !\count($records) ) return; $ops = \UserTagOperations::get_instance(); foreach( $records as $rec ) { if( empty($rec['name']) || empty($rec['source']) ) continue; $filename = $this->get_profile_filename($profile, $rec['source']); if( \strtolower(\pathinfo($filename, \PATHINFO_EXTENSION)) != 'udt' ) { throw new \RuntimeException('UDT payloads must use the .udt extension: '.$filename); } $description = isset($rec['description']) ? $rec['description'] : ''; $existing = $ops->GetUserTag($rec['name']); $id = null; if( \is_array($existing) && isset($existing['userplugin_id']) ) { $id = (int) $existing['userplugin_id']; } if( !$ops->SetUserTag($rec['name'], $this->read_profile_file($profile, $rec['source']), $description, $id) ) { throw new \RuntimeException('Could not import install profile UDT: '.$rec['name']); } } } private function run_sql_phase($profile, $phase) { $records = isset($profile['sql']) ? $profile['sql'] : array(); if( !\is_array($records) || !\count($records) ) return; $phase = \trim((string) $phase); $db = \CmsApp::get_instance()->GetDb(); foreach( $records as $rec ) { $sql_phase = isset($rec['phase']) ? \trim((string) $rec['phase']) : 'post_content'; if( $sql_phase != $phase ) continue; if( empty($rec['file']) ) continue; $mode = isset($rec['mode']) ? \strtolower(\trim((string) $rec['mode'])) : 'single'; if( $mode != 'single' ) { throw new \RuntimeException('Unsupported install profile SQL mode: '.$mode); } $sql = \trim($this->read_profile_file($profile, $rec['file'])); if( !$sql ) continue; $res = $db->Execute($sql); if( !$res ) { throw new \RuntimeException('Could not execute install profile SQL file: '.$rec['file']); } } } private function expand_manifest_files($profile, $dir) { $manifest_files = isset($profile['manifest_files']) ? $profile['manifest_files'] : array(); if( !\is_array($manifest_files) || !\count($manifest_files) ) return $profile; $keys = array('designs', 'template_types', 'templates', 'stylesheets', 'pages', 'copies', 'udts', 'sql'); foreach( $keys as $key ) { if( empty($manifest_files[$key]) ) continue; $profile[$key] = $this->read_manifest_file($dir, $manifest_files[$key], $key); } return $profile; } private function read_manifest_file($dir, $relative_path, $key) { $filename = $dir . \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_path); if( !\is_file($filename) ) { throw new \RuntimeException('Missing install profile manifest file: '.$filename); } $extension = \strtolower((string) \pathinfo($filename, \PATHINFO_EXTENSION)); if( $extension == 'php' ) { return $this->read_manifest_php_file($filename, $key); } return $this->read_manifest_json_file($filename, $key); } private function read_manifest_json_file($filename, $key) { $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile manifest file: '.$filename); } if( isset($data[$key]) && \is_array($data[$key]) ) { return $data[$key]; } return $data; } private function read_manifest_php_file($filename, $key) { $data = include($filename); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile manifest file: '.$filename); } if( isset($data[$key]) && \is_array($data[$key]) ) { return $data[$key]; } return $data; } private function resolve_profile_value($profile, $spec) { if( \is_array($spec) ) { if( isset($spec['file']) ) { return $this->read_profile_file($profile, $spec['file']); } if( \array_key_exists('value', $spec) ) { return $spec['value']; } } if( \is_string($spec) ) { return $this->read_profile_file($profile, $spec); } return $spec; } private function get_profile_filename($profile, $relative_path) { $relative_path = \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_path); return $profile['directory'] . \DIRECTORY_SEPARATOR . $relative_path; } private function read_profile_file($profile, $relative_path) { $filename = $this->get_profile_filename($profile, $relative_path); if( !\is_file($filename) ) throw new \RuntimeException('Missing install profile asset: '.$filename); return \file_get_contents($filename); } private function copy_tree($source, $destination) { if( !\is_dir($source) ) { throw new \RuntimeException('Invalid install profile copy source directory: '.$source); } if( !\is_dir($destination) ) { if( !@\mkdir($destination, 0777, TRUE) && !\is_dir($destination) ) { throw new \RuntimeException('Could not create install profile destination directory: '.$destination); } } $dh = \opendir($source); if( !$dh ) { throw new \RuntimeException('Could not read install profile copy directory: '.$source); } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $src = $source . \DIRECTORY_SEPARATOR . $entry; $dst = $destination . \DIRECTORY_SEPARATOR . $entry; if( \is_dir($src) ) { $this->copy_tree($src, $dst); continue; } $this->copy_file($src, $dst); } \closedir($dh); } private function copy_file($source, $destination) { if( !\is_file($source) ) { throw new \RuntimeException('Invalid install profile copy source file: '.$source); } $dir = \dirname($destination); if( !\is_dir($dir) ) { if( !@\mkdir($dir, 0777, TRUE) && !\is_dir($dir) ) { throw new \RuntimeException('Could not create install profile destination directory: '.$dir); } } if( !@\copy($source, $destination) ) { throw new \RuntimeException('Could not copy install profile asset: '.$source); } } } ?> _filename = $fn; $this->_compressed = true; } else { $fn = "$dir/MANIFEST.DAT"; if( file_exists($fn) ) { $this->_filename = $fn; $this->_compressed = false; } else { throw new \Exception(\__appbase\lang('error_internal','mr101')); } } } protected function handle_header($line) { $cols = explode(':',$line); foreach( $cols as &$col ) { $col = trim($col); } if( count($cols) != 2 ) throw new \Exception(\__appbase\lang('error_internal','mr105')); switch( $cols[0] ) { case 'MANIFEST_GENERATED': $this->_generated = (int)$cols[1]; break; case 'MANIFEST FROM VERSION': $this->_from_version = $cols[1]; break; case 'MANIFEST FROM NAME': $this->_from_name = $cols[1]; break; case 'MANIFEST TO VERSION': $this->_to_version = $cols[1]; break; case 'MANIFEST TO NAME': $this->_to_name = $cols[1]; break; } } protected function handle_added($fields) { $this->_added[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_changed($fields) { $this->_changed[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_deleted($fields) { $this->_deleted[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_line($line) { if( !$line ) return; if( \__appbase\startswith($line,'MANIFEST') ) return $this->handle_header($line); $fields = explode(' :: ',$line); if( count($fields) != 3 ) throw new \Exception(\__appbase\lang('error_internal','mr103')); switch( $fields[0] ) { case 'ADDED': return $this->handle_added($fields); break; case 'CHANGED': return $this->handle_changed($fields); break; case 'DELETED': return $this->handle_deleted($fields); break; default: throw new \Exception(\__appbase\lang('error_internal','mr104')); } } protected function read() { if( !$this->_has_read ) { $fopen = $fclose = $fgets = $feof = null; if( $this->_compressed ) { $fopen = 'gzopen'; $fclose = 'gzclose'; $fgets = 'gzgets'; $feof = 'gzeof'; } else { $fopen = 'fopen'; $fclose = 'fclose'; $fgets = 'fgets'; $feof = 'feof'; } // copy the manifest file to a temporary location $tmpdir = \__appbase\get_app()->get_tmpdir(); $tmpname = tempnam($tmpdir,'man'); @copy($this->_filename,$tmpname); $fh = $fopen($tmpname,'r'); if( !$fh ) { throw new \Exception(\__appbase\lang('error_internal','mr102')); } while( !$feof($fh) ) { $line = $fgets($fh); $line = trim($line); $this->handle_line($line); } $fclose($fh); $this->_has_read = true; } } public function get_generated() { $this->read(); return $this->_generated; } public function to_version() { $this->read(); return $this->_to_version; } public function to_name() { $this->read(); return $this->_to_name; } public function from_version() { $this->read(); return $this->_from_version; } public function from_name() { $this->read(); return $this->_from_name; } public function get_added() { $this->read(); return $this->_added; } public function get_changed() { $this->read(); return $this->_changed; } public function get_deleted() { $this->read(); return $this->_deleted; } } // end of class ?> _app = \__appbase\get_app(); } public function get_bundle_root() { return $this->_app->get_optional_payload_dir(); } public function get_module_bundle_root() { return $this->get_bundle_root().\DIRECTORY_SEPARATOR.'modules'; } public function get_module_bundles() { if( \is_array($this->_module_bundles) ) return $this->_module_bundles; $root = $this->get_module_bundle_root(); $out = array(); if( !\is_dir($root) ) { $this->_module_bundles = $out; return $this->_module_bundles; } $dh = \opendir($root); if( !$dh ) { $this->_module_bundles = $out; return $this->_module_bundles; } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $dir = $root.\DIRECTORY_SEPARATOR.$entry; if( !\is_dir($dir) ) continue; $bundle = $this->load_module_bundle($entry, $dir); if( !\is_array($bundle) ) continue; if( empty($bundle['available']) ) continue; $out[$entry] = $bundle; } \closedir($dh); \uasort($out, function($a, $b) { $adefault = !empty($a['default_selected']) ? 0 : 1; $bdefault = !empty($b['default_selected']) ? 0 : 1; if( $adefault != $bdefault ) return $adefault - $bdefault; return \strcasecmp($a['name'], $b['name']); }); $this->_module_bundles = $out; return $this->_module_bundles; } public function get_module_bundle_options() { return $this->get_module_bundles(); } public function get_default_selected_module_ids() { $out = array(); foreach( $this->get_module_bundles() as $bundle_id => $bundle ) { if( !empty($bundle['default_selected']) ) $out[] = $bundle_id; } return $out; } public function normalize_selected_module_ids($selected = array()) { if( !\is_array($selected) ) $selected = array(); $bundles = $this->get_module_bundles(); $out = array(); foreach( $selected as $bundle_id ) { $bundle_id = \trim((string) $bundle_id); if( !$bundle_id ) continue; if( !isset($bundles[$bundle_id]) ) continue; $out[$bundle_id] = $bundle_id; } foreach( $bundles as $bundle_id => $bundle ) { if( !empty($bundle['required']) ) $out[$bundle_id] = $bundle_id; } return \array_values($out); } public function get_selected_module_bundles($selected = array()) { $selected = $this->normalize_selected_module_ids($selected); $bundles = $this->get_module_bundles(); $out = array(); foreach( $selected as $bundle_id ) { if( isset($bundles[$bundle_id]) ) $out[$bundle_id] = $bundles[$bundle_id]; } return $out; } public function install_selected_module_bundles($selected, $destdir) { $bundles = $this->get_selected_module_bundles($selected); $out = array(); foreach( $bundles as $bundle_id => $bundle ) { $this->copy_bundle_files($bundle, $destdir); $out[$bundle_id] = $bundle; } return $out; } public function detect_installed_module_bundles($destdir) { $destdir = \rtrim((string) $destdir, '\\/'); $out = array(); foreach( $this->get_module_bundles() as $bundle_id => $bundle ) { if( empty($bundle['module_name']) ) continue; $module_dir = $destdir.\DIRECTORY_SEPARATOR.'modules'.\DIRECTORY_SEPARATOR.$bundle['module_name']; if( \is_dir($module_dir) ) $out[$bundle_id] = $bundle; } return $out; } public function upgrade_installed_module_bundles($destdir) { $bundles = $this->detect_installed_module_bundles($destdir); foreach( $bundles as $bundle ) { $this->copy_bundle_files($bundle, $destdir); } return $bundles; } public function queue_module_bundles($modops, $bundles) { if( !\is_array($bundles) ) return; foreach( $bundles as $bundle ) { if( !\is_array($bundle) ) continue; if( empty($bundle['module_name']) ) continue; if( !\method_exists($modops, 'QueueForInstall') ) continue; $modops->QueueForInstall($bundle['module_name']); } } private function load_module_bundle($bundle_id, $dir) { $filename = $dir.\DIRECTORY_SEPARATOR.'package.json'; if( !\is_file($filename) ) return; $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid optional bundle definition: '.$filename); } $module_name = isset($data['module_name']) ? \trim((string) $data['module_name']) : ''; if( !$module_name ) $module_name = $bundle_id; $files_dir = $dir.\DIRECTORY_SEPARATOR.'files'; $data['id'] = $bundle_id; $data['directory'] = $dir; $data['type'] = isset($data['type']) && $data['type'] ? $data['type'] : 'module'; $data['name'] = isset($data['name']) && $data['name'] ? $data['name'] : $bundle_id; $data['module_name'] = $module_name; $data['files_directory'] = $files_dir; $data['available'] = $this->bundle_has_files($files_dir); return $data; } private function bundle_has_files($dir) { if( !\is_dir($dir) ) return FALSE; $it = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS) ); foreach( $it as $item ) { if( $item->isFile() ) return TRUE; } return FALSE; } private function copy_bundle_files($bundle, $destdir) { if( empty($bundle['files_directory']) || !\is_dir($bundle['files_directory']) ) return; $this->copy_tree($bundle['files_directory'], $destdir); } private function copy_tree($source, $destination) { if( !\is_dir($source) ) return; if( !\is_dir($destination) ) @\mkdir($destination, 0777, TRUE); $it = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($source, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST ); $prefix = \rtrim($source, '\\/').\DIRECTORY_SEPARATOR; foreach( $it as $item ) { $pathname = $item->getPathname(); $relative = \substr($pathname, \strlen($prefix)); $target = $destination.\DIRECTORY_SEPARATOR.$relative; if( $item->isDir() ) { if( !\is_dir($target) ) @\mkdir($target, 0777, TRUE); continue; } $target_dir = \dirname($target); if( !\is_dir($target_dir) ) @\mkdir($target_dir, 0777, TRUE); if( !@\copy($pathname, $target) ) { throw new \RuntimeException('Could not copy optional bundle file: '.$pathname); } } } } ?> $CMS_VERSION, 'version_name' => $CMS_VERSION_NAME, 'schema_version' => $CMS_SCHEMA_VERSION, 'mtime' => @\filemtime($filename) ); } // get the list of versions we can upgrade from. public static function get_upgrade_versions() { $app = \__appbase\get_app(); $app_config = $app->get_config(); $min_upgrade_version = $app_config['min_upgrade_version']; if( !$min_upgrade_version ) throw new \Exception(\__appbase\lang('error_invalidconfig')); $dir = $app->get_upgrade_dir(); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $dh = opendir($dir); $versions = array(); if( !$dh ) throw new \Exception(\__appbase\lang('error_internal',712)); while( ($file = readdir($dh)) !== false ) { if( $file == '.' || $file == '..' ) continue; if( is_dir($dir.'/'.$file) && (is_file("$dir/$file/MANIFEST.DAT.gz") || is_file("$dir/$file/MANIFEST.DAT") || is_file("$dir/$file/upgrade.php")) ) { if( version_compare($min_upgrade_version, $file) <= 0 ) $versions[] = $file; } } closedir($dh); if( count($versions) ) { usort($versions,'version_compare'); return $versions; } } public static function get_upgrade_changelog($version) { // it is not an error to not have a changelog file $app = \__appbase\get_app(); $dir = $app->get_upgrade_version_dir($version); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $files = array('CHANGELOG.txt','CHANGELOG.TXT','changelog.txt'); foreach( $files as $fn ) { if( is_file("$dir/$fn") ) { // convert text into some sort of html $tmp = @file_get_contents("$dir/$fn"); $tmp = nl2br(wordwrap(htmlspecialchars($tmp),80)); return $tmp; } } } public static function get_upgrade_readme($version) { // it is not an error to not have a readme file $app = \__appbase\get_app(); $dir = $app->get_upgrade_version_dir($version); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $files = array('README.HTML.INC','readme.html.inc','README.HTML','readme.html'); foreach( $files as $fn ) { if( is_file("$dir/$fn") ) return @file_get_contents("$dir/$fn"); } if( is_file("$dir/readme.txt") ) { // convert text into some sort of html. $tmp = @file_get_contents("$dir/readme.txt"); $tmp = nl2br(wordwrap(htmlspecialchars($tmp),80)); return $tmp; } } public static function strftime(string $format, $timestamp = null, ?string $locale = null): string { if (null === $timestamp) { $timestamp = new \DateTime; } elseif (\is_numeric($timestamp)) { $timestamp = \date_create('@' . $timestamp); if ($timestamp) { $timestamp->setTimezone(new \DateTimezone(\date_default_timezone_get())); } } elseif (\is_string($timestamp)) { $timestamp = \date_create($timestamp); } if (!($timestamp instanceof \DateTimeInterface)) { throw new \InvalidArgumentException('$timestamp argument is neither a valid UNIX timestamp, a valid date-time string or a DateTime object.'); } $locale = \substr((string) $locale, 0, 5); $intl_formats = [ '%a' => 'EEE', // An abbreviated textual representation of the day Sun through Sat '%A' => 'EEEE', // A full textual representation of the day Sunday through Saturday '%b' => 'MMM', // Abbreviated month name, based on the locale Jan through Dec '%B' => 'MMMM', // Full month name, based on the locale January through December '%h' => 'MMM', // Abbreviated month name, based on the locale (an alias of %b) Jan through Dec ]; $intl_formatter = function (\DateTimeInterface $timestamp, string $format) use ($intl_formats, $locale) { $tz = $timestamp->getTimezone(); $date_type = \IntlDateFormatter::FULL; $time_type = \IntlDateFormatter::FULL; $pattern = ''; // %c = Preferred date and time stamp based on locale // Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM if ($format == '%c') { $date_type = \IntlDateFormatter::LONG; $time_type = \IntlDateFormatter::SHORT; } // %x = Preferred date representation based on locale, without the time // Example: 02/05/09 for February 5, 2009 elseif ($format == '%x') { $date_type = \IntlDateFormatter::SHORT; $time_type = \IntlDateFormatter::NONE; } // Localized time format elseif ($format == '%X') { $date_type = \IntlDateFormatter::NONE; $time_type = \IntlDateFormatter::MEDIUM; } else { $pattern = $intl_formats[$format]; } return (new \IntlDateFormatter($locale, $date_type, $time_type, $tz, null, $pattern))->format($timestamp); }; // Same order as https://www.php.net/manual/en/function.strftime.php $translation_table = [ // Day '%a' => $intl_formatter, '%A' => $intl_formatter, '%d' => 'd', '%e' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('j')); }, '%j' => function ($timestamp) { // Day number in year, 001 to 366 return \sprintf('%03d', $timestamp->format('z') + 1); }, '%u' => 'N', '%w' => 'w', // Week '%U' => function ($timestamp) { // Number of weeks between date and first Sunday of year $day = new \DateTime(\sprintf('%d-01 Sunday', $timestamp->format('Y'))); return \sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7); }, '%V' => 'W', '%W' => function ($timestamp) { // Number of weeks between date and first Monday of year $day = new \DateTime(\sprintf('%d-01 Monday', $timestamp->format('Y'))); return \sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7); }, // Month '%b' => $intl_formatter, '%B' => $intl_formatter, '%h' => $intl_formatter, '%m' => 'm', // Year '%C' => function ($timestamp) { // Century (-1): 19 for 20th century return \floor($timestamp->format('Y') / 100); }, '%g' => function ($timestamp) { return \substr($timestamp->format('o'), -2); }, '%G' => 'o', '%y' => 'y', '%Y' => 'Y', // Time '%H' => 'H', '%k' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('G')); }, '%I' => 'h', '%l' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('g')); }, '%M' => 'i', '%p' => 'A', // AM PM (this is reversed on purpose!) '%P' => 'a', // am pm '%r' => 'h:i:s A', // %I:%M:%S %p '%R' => 'H:i', // %H:%M '%S' => 's', '%T' => 'H:i:s', // %H:%M:%S '%X' => $intl_formatter, // Preferred time representation based on locale, without the date // Timezone '%z' => 'O', '%Z' => 'T', // Time and Date Stamps '%c' => $intl_formatter, '%D' => 'm/d/Y', '%F' => 'Y-m-d', '%s' => 'U', '%x' => $intl_formatter, ]; $out = \preg_replace_callback('/(?format($replace); } else { return $replace($timestamp, $match[1]); } }, $format); $out = \str_replace('%%', '%', $out); return $out; } } // end of class ?> get_destdir(); if( !$dd ) throw new \Exception('Session Failure'); if( !self::$_registered ) { \__appbase\smarty()->addPluginsDir(\__appbase\app::get_rootdir().'/lib/plugins'); \__appbase\smarty()->registerPlugin('function','wizard_form_start', array($this,'fn_wizard_form_start')); \__appbase\smarty()->registerPlugin('function','wizard_form_end', array($this,'fn_wizard_form_end')); self::$_registered = 1; } \__appbase\smarty()->assign('version',\__appbase\get_app()->get_dest_version()); \__appbase\smarty()->assign('version_name',\__appbase\get_app()->get_dest_name()); \__appbase\smarty()->assign('dir',\__appbase\get_app()->get_destdir()); \__appbase\smarty()->assign('in_phar',\__appbase\get_app()->in_phar()); \__appbase\smarty()->assign('cur_step',$this->cur_step()); } public function fn_wizard_form_start($params, $smarty) { echo '
'; } public function fn_wizard_form_end($params, $smarty) { echo '
'; } protected function get_primary_title() { $app = \__appbase\get_app(); $action = $this->get_wizard()->get_data('action'); $str = null; switch( $action ) { case 'upgrade': $str = \__appbase\lang('action_upgrade',$app->get_dest_version()); break; case 'freshen': $str = \__appbase\lang('action_freshen',$app->get_dest_version()); break; case 'install': default: $str = \__appbase\lang('action_install',$app->get_dest_version()); } return $str; } protected function display() { $app = \__appbase\get_app(); \__appbase\smarty()->assign('wizard_steps',$this->get_wizard()->get_nav()); \__appbase\smarty()->assign('title',$this->get_primary_title()); } public function error($msg) { $msg = addslashes($msg); echo ''."\n"; flush(); } public static function verbose($msg) { $msg = addslashes($msg); $verbose = \__appbase\wizard::get_instance()->get_data('verbose'); if( $verbose ) echo ''."\n"; flush(); } public function message($msg) { $msg = addslashes($msg); echo ''."\n"; flush(); } public function set_block_html($id,$html) { $html = addslashes($html); echo ''."\n"; flush(); } protected function finish() { echo ''."\n"; flush(); } } ?> /package.json modules//files/modules//* The builder may also populate files/ for optional core modules from the CMSMS source tree while leaving this folder as the metadata authority outside the installer runtime. Optional non-module bundles belong here. Example: addons/example_pack/package.json addons/example_pack/files/assets/ Optional modules belong here. Example: modules/news/package.json modules/news/files/modules/News/ For core optional modules, the builder may populate files/modules// from the prepared CMSMS source tree during release assembly. Lang('news'); } function IsPluginModule() { return true; } function HasAdmin() { return true; } function GetVersion() { return '2.51.14'; } function MinimumCMSVersion() { return '2.1.6'; } function GetAdminDescription() { return $this->Lang('description'); } function GetAdminSection() { return 'content'; } function AllowSmartyCaching() { return TRUE; } function LazyLoadFrontend() { return TRUE; } function LazyLoadAdmin() { return TRUE; } function InstallPostMessage() { return $this->Lang('postinstall'); } function GetHelp() { return $this->Lang('help'); } function GetAuthor() { return 'Ted Kulp'; } function GetAuthorEmail() { return 'wishy@cmsmadesimple.org'; } function GetChangeLog() { return file_get_contents(dirname(__FILE__).'/changelog.inc'); } function GetEventDescription( $eventname ) { return $this->lang('eventdesc-' . $eventname); } function GetEventHelp( $eventname ) { return $this->lang('eventhelp-' . $eventname); } function InitializeFrontend() { $this->RestrictUnknownParams(); $this->SetParameterType('pagelimit',CLEAN_INT); $this->SetParameterType('browsecat',CLEAN_INT); $this->SetParameterType('showall',CLEAN_INT); $this->SetParameterType('showarchive',CLEAN_INT); $this->SetParameterType('sortasc',CLEAN_STRING); // should be int, or boolean $this->SetParameterType('sortby',CLEAN_STRING); $this->SetParameterType('detailpage',CLEAN_STRING); $this->SetParameterType('detailtemplate',CLEAN_STRING); $this->SetParameterType('formtemplate',CLEAN_STRING); $this->SetParameterType('browsecattemplate',CLEAN_STRING); $this->SetParameterType('summarytemplate',CLEAN_STRING); $this->SetParameterType('moretext',CLEAN_STRING); $this->SetParameterType('category',CLEAN_STRING); $this->SetParameterType('category_id',CLEAN_STRING); $this->SetParameterType('number',CLEAN_INT); $this->SetParameterType('start',CLEAN_INT); $this->SetParameterType('pagenumber',CLEAN_INT); $this->SetParameterType('articleid',CLEAN_INT); $this->SetParameterType('origid',CLEAN_INT); $this->SetParameterType('showtemplate',CLEAN_STRING); $this->SetParameterType('assign',CLEAN_STRING); $this->SetParameterType('inline',CLEAN_STRING); $this->SetParameterType('preview',CLEAN_STRING); $this->SetParameterType('idlist',CLEAN_STRING); // form parameters $this->SetParameterType('submit',CLEAN_STRING); $this->SetParameterType('cancel',CLEAN_STRING); $this->SetParameterType('category',CLEAN_STRING); $this->SetParameterType('title',CLEAN_STRING); $this->SetParameterType('content',CLEAN_STRING); $this->SetParameterType('summary',CLEAN_STRING); $this->SetParameterType('extra',CLEAN_STRING); $this->SetParameterType('postdate',CLEAN_STRING); $this->SetParameterType('postdate_Hour',CLEAN_STRING); $this->SetParameterType('postdate_Minute',CLEAN_STRING); $this->SetParameterType('postdate_Second',CLEAN_STRING); $this->SetParameterType('postdate_Month',CLEAN_STRING); $this->SetParameterType('postdate_Day',CLEAN_STRING); $this->SetParameterType('postdate_Year',CLEAN_STRING); $this->SetParameterType('startdate',CLEAN_STRING); $this->SetParameterType('startdate_Hour',CLEAN_STRING); $this->SetParameterType('startdate_Minute',CLEAN_STRING); $this->SetParameterType('startdate_Second',CLEAN_STRING); $this->SetParameterType('startdate_Month',CLEAN_STRING); $this->SetParameterType('startdate_Day',CLEAN_STRING); $this->SetParameterType('startdate_Year',CLEAN_STRING); $this->SetParameterType('enddate',CLEAN_STRING); $this->SetParameterType('enddate_Hour',CLEAN_STRING); $this->SetParameterType('enddate_Minute',CLEAN_STRING); $this->SetParameterType('enddate_Second',CLEAN_STRING); $this->SetParameterType('enddate_Month',CLEAN_STRING); $this->SetParameterType('enddate_Day',CLEAN_STRING); $this->SetParameterType('enddate_Year',CLEAN_STRING); $this->SetParameterType('useexp',CLEAN_INT); $this->SetParameterType('input_category',CLEAN_STRING); $this->SetParameterType('category_id',CLEAN_INT); $this->SetParameterType(CLEAN_REGEXP.'/news_customfield_.*/',CLEAN_STRING); $this->SetParameterType('junk',CLEAN_STRING); } function InitializeAdmin() { $this->CreateParameter('pagelimit', 1000, $this->Lang('help_pagelimit')); $this->CreateParameter('browsecat', 0, $this->lang('helpbrowsecat')); $this->CreateParameter('showall', 0, $this->lang('helpshowall')); $this->CreateParameter('showarchive', 0, $this->lang('helpshowarchive')); $this->CreateParameter('sortasc', 'true', $this->lang('helpsortasc')); $this->CreateParameter('sortby', 'news_date', $this->lang('helpsortby')); $this->CreateParameter('detailpage', 'pagealias', $this->lang('helpdetailpage')); $this->CreateParameter('detailtemplate', '', $this->lang('helpdetailtemplate')); $this->CreateParameter('summarytemplate', '', $this->lang('helpsummarytemplate')); $this->CreateParameter('formtemplate', '', $this->lang('helpformtemplate')); $this->CreateParameter('browsecattemplate', '', $this->lang('helpbrowsecattemplate')); $this->CreateParameter('moretext', 'more...', $this->lang('helpmoretext')); $this->CreateParameter('category', 'category', $this->lang('helpcategory')); $this->CreateParameter('number', 100000, $this->lang('helpnumber')); $this->CreateParameter('start', 0, $this->lang('helpstart')); $this->CreateParameter('action','default',$this->Lang('helpaction')); $this->CreateParameter('articleid','',$this->Lang('help_articleid')); $this->CreateParameter('idlist','',$this->Lang('help_idlist')); } function VisibleToAdminUser() { return $this->CheckPermission('Modify News') || $this->CheckPermission('Modify Site Preferences') || $this->CheckPermission('Approve News'); } function GetDfltEmailTemplate() { $text = "A new news article has been posted to your website. The details are as follows:\n"; $text .= "Title: {\$title}\n"; $text .= "IP Address: {\$ipaddress}\n"; $text .= "Summary: {\$summary|strip_tags}\n"; $text .= "Start Date: {\$startdate|localedate_format}\n"; $text .= "End Date: {\$enddate|localedate_format}\n"; return $text; } function SearchResultWithParams($returnid, $articleid, $attr = '', $params = '') { $gCms = CmsApp::get_instance(); $result = array(); if ($attr == 'article') { $db = $this->GetDb(); $q = "SELECT news_title,news_url FROM ".CMS_DB_PREFIX."module_news WHERE news_id = ?"; $row = $db->GetRow( $q, array( $articleid ) ); if ($row) { //0 position is the prefix displayed in the list results. $result[0] = $this->GetFriendlyName(); //1 position is the title $result[1] = $row['news_title']; //2 position is the URL to the title. $detailpage = $returnid; if( isset($params['detailpage']) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($params['detailpage']); if (isset($node)) { $detailpage = $node->getID(); } else { $node = $manager->sureGetNodeById($params['detailpage']); if (isset($node)) $detailpage = $params['detailpage']; } } if( $detailpage == '' ) $detailpage = $returnid; $detailtemplate = ''; if( isset($params['detailtemplate']) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($params['detailtemplate']); if (isset($node)) $detailtemplate = '/d,' . $params['detailtemplate']; } $prettyurl = $row['news_url']; if( $row['news_url'] == '' ) { $aliased_title = munge_string_to_url($row['news_title']); $prettyurl = 'news/' . $articleid.'/'.$detailpage."/$aliased_title".$detailtemplate; } $parms = array(); $parms['articleid'] = $articleid; if( isset($params['detailtemplate']) ) $parms['detailtemplate'] = $params['detailtemplate']; $result[2] = $this->CreateLink('cntnt01', 'detail', $detailpage, '', $parms ,'', true, false, '', true, $prettyurl); } } return $result; } function SearchReindex(&$module) { $db = $this->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news WHERE searchable = 1 AND status = ? ORDER BY news_date'; $result = $db->Execute($query,array('published')); while ($result && !$result->EOF) { if ($result->fields['status'] == 'published') { $module->AddWords($this->GetName(), $result->fields['news_id'], 'article', $result->fields['news_data'] . ' ' . $result->fields['summary'] . ' ' . $result->fields['news_title'] . ' ' . $result->fields['news_title'], ($result->fields['end_time'] != NULL && $this->GetPreference('expired_searchable',0) == 0) ? $db->UnixTimeStamp($result->fields['end_time']) : NULL); } $result->MoveNext(); } } public function GetFieldTypes() { $items = [ 'textbox'=>$this->Lang('textbox'), 'checkbox'=>$this->Lang('checkbox'), 'textarea'=>$this->Lang('textarea'), 'dropdown'=>$this->Lang('dropdown'), 'linkedfile'=>$this->Lang('linkedfile'), 'file'=>$this->Lang('file') ]; return $items; } function GetTypesDropdown( $id, $name, $selected = '' ) { $items = $this->GetFieldTypes(); return $this->CreateInputDropdown($id, $name, array_flip($items), -1, $selected); } public function get_tasks() { if( !$this->GetPreference('alert_drafts',0) ) return; $out = array(); $out[] = new \News\CreateDraftAlertTask(); return $out; } function GetNotificationOutput($priority = 2) { // if this user has permission to change News articles from // Draft to published, and there are draft news articles // then display a nice message. // this is a priority 2 item. if( $priority >= 2 ) { $output = array(); if( $this->CheckPermission('Approve News') ) { $db = $this->GetDb(); $query = 'SELECT count(news_id) FROM '.CMS_DB_PREFIX.'module_news n WHERE status != \'published\' AND (end_time IS NULL OR end_time > NOw())'; $count = $db->GetOne($query); if( $count ) { $obj = new StdClass; $obj->priority = 2; $link = $this->CreateLink('m1_','defaultadmin','', $this->Lang('notify_n_draft_items_sub',$count)); $obj->html = $this->Lang('notify_n_draft_items',$link); $output[] = $obj; } } } return $output; } public function CreateStaticRoutes() { cms_route_manager::del_static('',$this->GetName()); $db = \CmsApp::get_instance()->GetDb(); $str = $this->GetName(); $c = strtoupper($str[0]); $x = substr($str,1); $x1 = '['.$c.strtolower($c).']'.$x; $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)\/(?P.*?)\/d,(?P.*?)$/', $this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)\/(?P.*?)$/',$this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)$/',$this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)$/',$this->GetName(), array('returnid'=>$this->GetPreference('detail_returnid',-1))); cms_route_manager::add_static($route); $query = 'SELECT news_id,news_url FROM '.CMS_DB_PREFIX.'module_news WHERE status = ? AND news_url != ? AND ' . '('.$db->ifNull('start_time',$db->DbTimeStamp(1)).' < NOW()) AND ' . '(('.$db->IfNull('end_time',$db->DbTimeStamp(1)).' = '.$db->DbTimeStamp(1).') OR (end_time > NOW()))'; $query .= ' ORDER BY news_date DESC'; $tmp = $db->GetArray($query,array('published','')); if( is_array($tmp) ) { foreach( $tmp as $one ) { news_admin_ops::register_static_route($one['news_url'],$one['news_id']); } } } public static function page_type_lang_callback($str) { $mod = cms_utils::get_module('News'); if( is_object($mod) ) return $mod->Lang('type_'.$str); } public static function template_help_callback($str) { $str = trim($str); $mod = cms_utils::get_module('News'); if( is_object($mod) ) { $file = $mod->GetModulePath().'/doc/tpltype_'.$str.'.inc'; if( is_file($file) ) return file_get_contents($file); } } public static function reset_page_type_defaults(CmsLayoutTemplateType $type) { if( $type->get_originator() != 'News' ) throw new CmsLogicException('Cannot reset contents for this template type'); $fn = null; switch( $type->get_name() ) { case 'summary': $fn = 'orig_summary_template.tpl'; break; case 'detail': $fn = 'orig_detail_template.tpl'; break; case 'form': $fn = 'orig_form_template.tpl'; break; case 'browsecat': $fn = 'browsecat.tpl'; } $fn = cms_join_path(__DIR__,'templates',$fn); if( file_exists($fn) ) return @file_get_contents($fn); } public function HasCapability($capability, $params = array()) { switch( $capability ) { case CmsCoreCapabilities::PLUGIN_MODULE: case CmsCoreCapabilities::ADMINSEARCH: case CmsCoreCapabilities::TASKS: return TRUE; } return FALSE; } public function get_adminsearch_slaves() { return array('News_AdminSearch_slave'); } public function GetAdminMenuItems() { $out = array(); if( $this->VisibleToAdminUser() ) $out[] = CmsAdminMenuItem::from_module($this); if( $this->CheckPermission('Modify Site Preferences') ) { $obj = new CmsAdminMenuItem(); $obj->module = $this->GetName(); $obj->section = 'siteadmin'; $obj->title = $this->Lang('title_news_settings'); $obj->description = $this->Lang('desc_news_settings'); $obj->action = 'admin_settings'; $out[] = $obj; } return $out; } } // end of class CheckPermission('Modify News')) return; if (isset($params['cancel'])) $this->Redirect($id, 'defaultadmin', $returnid); /*-------------------- * Variables ---------------------*/ $status = 'draft'; if ($this->CheckPermission('Approve News')) $status = 'published'; $userid = get_userid(); $postdate = time(); $startdate = time(); $content = isset($params['content']) ? $params['content'] : ''; $summary = isset($params['summary']) ? $params['summary'] : ''; $status = isset($params['status']) ? $params['status'] : $status; $usedcategory = isset($params['category']) ? $params['category'] : $this->GetPreference('default_category', ''); $useexp = isset($params['useexp']) ? 1: 0; $searchable = isset($params['searchable']) ? (int)$params['searchable'] : 1; $news_url = isset($params['news_url']) ? $params['news_url'] : ''; $extra = isset($params['extra']) ? trim(strip_tags($params['extra'])) : ''; $title = isset($params['title']) ? trim(strip_tags($params['title'])) : ''; $ndays = (int)$this->GetPreference('expiry_interval', 180); if ($ndays == 0) $ndays = 180; $enddate = strtotime(sprintf("+%d days", $ndays), time()); if (isset($params['postdate_Month'])) { $postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); } if (isset($params['startdate_Month'])) { $startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); } /*-------------------- * Logic ---------------------*/ if (isset($params['submit'])) { $error = FALSE; if (empty($title)) { $error = $this->ShowErrors($this->Lang('notitlegiven')); } else if (empty($content)) { $error = $this->ShowErrors($this->Lang('nocontentgiven')); } else if ($useexp == 1) { if ($startdate >= $enddate) $error = $this->ShowErrors($this->Lang('error_invaliddates')); } if (empty($error) && $news_url != '') { // check for starting or ending slashes if (startswith($news_url, '/') || endswith($news_url, '/')) $error = $this->ShowErrors($this->Lang('error_invalidurl')); if ($error === FALSE) { // check for invalid chars. $translated = munge_string_to_url($news_url, false, true); if (strtolower($translated) != strtolower($news_url)) $error = $this->ShowErrors($this->Lang('error_invalidurl')); } if ($error === FALSE) { // make sure this url isn't taken. cms_route_manager::load_routes(); $route = cms_route_manager::find_match($news_url); if ($route) { $error = $this->ShowErrors($this->Lang('error_invalidurl')); // we're adding an article, not editing... any matching route is bad. } } } // // database work // if ($error !== FALSE) { echo $error; } else { $articleid = $db->GenID(CMS_DB_PREFIX . "module_news_seq"); $query = 'INSERT INTO ' . CMS_DB_PREFIX . 'module_news (news_id, news_category_id, news_title, news_data, summary, status, news_date, start_time, end_time, create_date, modified_date,author_id,news_extra,news_url,searchable) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; if ($useexp == 1) { $dbr = $db->Execute($query, array( $articleid, $usedcategory, $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid, $extra, $news_url, $searchable )); } else { $dbr = $db->Execute($query, array( $articleid, $usedcategory, $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), NULL, NULL, trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid, $extra, $news_url, $searchable )); } if (!$dbr) { echo "DEBUG: SQL = " . $db->sql . "
"; die($db->ErrorMsg()); } // //Handle submitting the 'custom' fields // // get the field types $qu = "SELECT id,name,type FROM " . CMS_DB_PREFIX . "module_news_fielddefs WHERE type='file'"; $types = $db->GetArray($qu); foreach ($types as $onetype) { $elem = $id . 'customfield_' . $onetype['id']; if (isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if ($_FILES[$elem]['error'] != 0 || $_FILES[$elem]['tmp_name'] == '') { echo $this->ShowErrors($this->Lang('error_upload')); $error = true; } else { $error = ''; $value = news_admin_ops::handle_upload($articleid, $elem, $error); if ($value === FALSE) { echo $this->ShowErrors($error); $error = true; } else { $params['customfield'][$onetype['id']] = $value; } } } } if (isset($params['customfield']) && !$error) { $now = trim($db->DBTimeStamp(time()), "'"); foreach ($params['customfield'] as $fldid => $value) { if ($value == '') continue; $query = "INSERT INTO " . CMS_DB_PREFIX . "module_news_fieldvals (news_id,fielddef_id,value,create_date,modified_date) VALUES (?,?,?,?,?)"; $dbr = $db->Execute($query, array( $articleid, $fldid, $value, $now, $now )); if (!$dbr) die('FATAL SQL ERROR: ' . $db->ErrorMsg() . '
QUERY: ' . $db->sql); } }// if if (!$error && $status == 'published' && $news_url != '') { // todo: if not expired // register the route. news_admin_ops::delete_static_route($articleid); news_admin_ops::register_static_route($news_url, $articleid); } if (!$error && $status == 'published' && $searchable) { //Update search index $module = cms_utils::get_search_module(); if (is_object($module)) { $text = ''; if (isset($params['customfield'])) { foreach ($params['customfield'] as $fldid => $value) { if (strlen($value) > 1) $text .= $value . ' '; } } $text .= $content . ' ' . $summary . ' ' . $title . ' ' . $title; $module->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable', 0) == 0) ? $enddate : NULL); } } if (!$error) { \CMSMS\HookManager::do_hook('News::NewsArticleAdded', array('news_id' => $articleid, 'category_id' => $usedcategory, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'postdate' => $postdate, 'useexp' => $useexp, 'extra' => $extra )); // put mention into the admin log audit($articleid, 'News: ' . $title, 'Article added'); $this->SetMessage($this->Lang('articleadded')); $this->Redirect($id, 'defaultadmin', $returnid); } // if !$error } // outer if !$error // end submit } elseif (isset($params['preview'])) { // save data for preview. unset($params['apply']); unset($params['preview']); unset($params['submit']); unset($params['cancel']); unset($params['ajax']); $tmpfname = tempnam(TMP_CACHE_LOCATION, $this->GetName() . '_preview'); file_put_contents($tmpfname, serialize($params)); $detail_returnid = $this->GetPreference('detail_returnid', -1); if ($detail_returnid <= 0) { // now get the default content id. $detail_returnid = ContentOperations::get_instance()->GetDefaultContent(); } if (isset($params['previewpage']) && (int)$params['previewpage'] > 0) $detail_returnid = (int)$params['previewpage']; $_SESSION['news_preview'] = array( 'fname' => basename($tmpfname), 'checksum' => md5_file($tmpfname) ); $tparms = array('preview' => md5(serialize($_SESSION['news_preview']))); if (isset($params['detailtemplate'])) $tparms['detailtemplate'] = trim($params['detailtemplate']); $url = $this->create_url('_preview_', 'detail', $detail_returnid, $tparms, TRUE); $response = ''; $response .= ''; if (isset($error) && $error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
'; } $response .= '
'; $handlers = ob_list_handlers(); for ($cnt = 0; $cnt < sizeof($handlers); $cnt++) { ob_end_clean(); } header('Content-Type: text/xml'); echo $response; exit ; } // // build the form // $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $categorylist = array(); $query = "SELECT * FROM " . CMS_DB_PREFIX . "module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } // Display custom fields $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs ORDER BY item_order'; $dbr = $db->Execute($query); $custom_flds = array(); while ($dbr && ($row = $dbr->FetchRow())) { if (isset($row['extra']) && $row['extra']) $row['extra'] = unserialize($row['extra']); $options = null; if (isset($row['extra']['options'])) $options = $row['extra']['options']; $value = isset($params['customfield'][$row['id']]) && in_array($params['customfield'][$row['id']], $params['customfield']) ? $params['customfield'][$row['id']] : ''; if ($row['type'] == 'file') { $name = "customfield_" . $row['id']; } else { $name = "customfield[" . $row['id'] . "]"; } $obj = new StdClass(); $obj->value = $value; $obj->type = $row['type']; $obj->nameattr = $id . $name; $obj->idattr = 'customfield_' . $row['id']; $obj->prompt = $row['name']; $obj->size = min(80, (int)$row['max_length']); $obj->max_len = max(1, (int)$row['max_length']); $obj->options = $options; // FIXME - If we create inputs with hmtl markup in smarty template, whats the use of switch and form API here? /* switch( $row['type'] ) { case 'textbox' : $size = min(50, $row['max_length']); $obj->field = $this->CreateInputText($id, $name, $value, $size, $row['max_length']); break; case 'checkbox' : $obj->field = $this->CreateInputHidden($id, $name, $value != '' ? $value : '0') . $this->CreateInputCheckbox($id, $name, '1', $value != '' ? $value : '0'); break; case 'textarea' : $obj->field = $this->CreateTextArea(true, $id, $value, $name); break; case 'file' : $name = "customfield_" . $row['id']; $obj->field = $this->CreateFileUploadInput($id, $name); break; case 'dropdown' : $obj->field = $this->CreateInputDropdown($id, $name, array_flip($options)); break; } */ $custom_flds[$row['name']] = $obj; } /*-------------------- * Pass everything to smarty ---------------------*/ $smarty->assign('formid', $id); $smarty->assign('hide_summary_field', $this->GetPreference('hide_summary_field', '0')); $smarty->assign('authortext', ''); $smarty->assign('inputauthor', ''); $smarty->assign('startform', $this->CreateFormStart($id, 'addarticle', $returnid, 'post', 'multipart/form-data')); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('title', $title); $smarty->assign('allow_summary_wysiwyg', $this->GetPreference('allow_summary_wysiwyg')); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('extra', $extra); $smarty->assign('urltext', $this->Lang('url')); $smarty->assign('news_url', $news_url); $smarty->assign('postdate', $postdate); $smarty->assign('postdateprefix', $id . 'postdate_'); $smarty->assign('useexp', $useexp); $smarty->assign('actionid', $id); $smarty->assign('inputexp', $this->CreateInputCheckbox($id, 'useexp', '1', $useexp, 'class="pagecheckbox"')); $smarty->assign('startdate', $startdate); $smarty->assign('startdateprefix', $id . 'startdate_'); $smarty->assign('enddate', $enddate); $smarty->assign('enddateprefix', $id . 'enddate_'); $smarty->assign('status', $status); $smarty->assign('categorylist', array_flip($categorylist)); $smarty->assign('category', $usedcategory); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('delete_field_val', $this->Lang('delete')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('categorytext', $this->Lang('category')); $smarty->assign('summarytext', $this->Lang('summary')); $smarty->assign('contenttext', $this->Lang('content')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('useexpirationtext', $this->Lang('useexpiration')); $smarty->assign('startdatetext', $this->Lang('startdate')); $smarty->assign('enddatetext', $this->Lang('enddate')); $smarty->assign('searchable', $searchable); $smarty->assign('select_option', $this->Lang('select_option')); // tab stuff. $smarty->assign('start_tab_headers', $this->StartTabHeaders()); $smarty->assign('tabheader_article', $this->SetTabHeader('article', $this->Lang('article'))); $smarty->assign('tabheader_preview', $this->SetTabHeader('preview', $this->Lang('preview'))); $smarty->assign('end_tab_headers', $this->EndTabHeaders()); $smarty->assign('start_tab_content', $this->StartTabContent()); $smarty->assign('start_tab_article', $this->StartTab('article', $params)); $smarty->assign('end_tab_article', $this->EndTab()); $smarty->assign('end_tab_content', $this->EndTabContent()); $smarty->assign('warning_preview', $this->Lang('warning_preview')); $parms = array( 'enablewysiwyg' => 1, 'name' => $id . 'content', 'text' => $content, 'rows' => 10, 'cols' => 80 ); $smarty->assign('inputcontent', CmsFormUtils::create_textarea($parms)); $parms = array( 'enablewysiwyg' => $this->GetPreference('allow_summary_wysiwyg', 1), 'name' => $id . 'summary', 'text' => $summary, 'rows' => 3, 'cols' => 80 ); $smarty->assign('inputsummary', CmsFormutils::create_textarea($parms)); if (count($custom_flds) > 0) $smarty->assign('custom_fields', $custom_flds); if ($this->CheckPermission('Approve News')) { $smarty->assign('statustext', lang('status')); $smarty->assign('statuses', array_flip($statusdropdown)); } $contentops = cmsms()->GetContentOperations(); $smarty->assign('preview_returnid', $contentops->CreateHierarchyDropdown('', $this->GetPreference('detail_returnid', -1), 'preview_returnid')); // get the list of detail templates. try { $type = CmsLayoutTemplateType::load($this->GetName() . '::detail'); $templates = $type->get_template_list(); $list = array(); if (is_array($templates) && count($templates)) { foreach ($templates as $template) { $list[$template->get_id()] = $template->get_name(); } } if (count($list)) { $smarty->assign('prompt_detail_template', $this->Lang('detail_template')); $smarty->assign('prompt_detail_page', $this->Lang('detail_page')); $smarty->assign('detail_templates', $list); $smarty->assign('cur_detail_template', $this->GetPreference('current_detail_template')); $smarty->assign('start_tab_preview', $this->StartTab('preview', $params)); $smarty->assign('end_tab_preview', $this->EndTab()); } } catch( Exception $e ) { audit('', $this->GetName(), 'No detail templates available for preview'); } echo $this->ProcessTemplate('editarticle.tpl'); ?>CheckPermission('Modify Site Preferences')) return; $parent = -1; if( isset($params['parent'])) $parent = (int)$params['parent']; if (isset($params['cancel'])) $this->RedirectToAdminTab('categories','','admin_settings'); $name = ''; if (isset($params['name'])) { //if( $parent == 0 ) $parent = -1; $name = trim($params['name']); if ($name != '') { $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ? AND news_category_name = ?'; $tmp = $db->GetOne($query,array($parent,$name)); if( $tmp ) { echo $this->ShowErrors($this->Lang('error_duplicatename')); } else { $query = 'SELECT max(item_order) FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ?'; $item_order = (int)$db->GetOne($query,array($parent)); $item_order++; $catid = $db->GenID(CMS_DB_PREFIX."module_news_categories_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_categories (news_category_id, news_category_name, parent_id, item_order, create_date, modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $parms = array($catid,$name,$parent,$item_order); $db->Execute($query, $parms); news_admin_ops::UpdateHierarchyPositions(); \CMSMS\HookManager::do_hook('News::NewsCategoryAdded', [ 'category_id'=>$catid, 'name'=>$name ] ); // put mention into the admin log audit($catid, 'News category: '.$name, ' Category added'); $this->SetMessage($this->Lang('categoryadded')); $this->RedirectToAdminTab('categories','','admin_settings'); } } else { echo $this->ShowErrors($this->Lang('nonamegiven')); } } // Display template $tmp = news_ops::get_category_list(); $tmp2 = array_flip($tmp); $categories = array(-1=>$this->Lang('none')); foreach( $tmp2 as $k => $v ) { $categories[$k] = $v; } $smarty->assign('parent',$parent); $smarty->assign('name',$name); $smarty->assign('categories',$categories); $smarty->assign('startform', $this->CreateFormStart($id, 'addcategory', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('inputname', $this->CreateInputText($id, 'name', $name, 20, 255)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editcategory.tpl'); CheckPermission('Modify Site Preferences')) return; if (isset($params['cancel'])) $this->RedirectToAdminTab('customfields','','admin_settings'); $name = ''; if (isset($params['name'])) $name = trim($params['name']); $type = ''; if (isset($params['type'])) $type = $params['type']; $max_length = 255; if (isset($params['max_length'])) $max_length = max(0,(int)$params['max_length']); $public = 1; if( isset($params['public']) ) $public = (int)$params['public']; $arr_options = array(); $options = ''; if( isset($params['options']) ) { $options = trim($params['options']); $arr_options = news_admin_ops::optionstext_to_array($options); } $userid = get_userid(); if (isset($params['submit'])) { $error = false; if ($name == '') $error = $this->Lang('nonamegiven'); if( !$error && $type == 'dropdown' && count($arr_options) == 0 ) $error = $this->Lang('error_nooptions'); if( !$error ) { $query = 'SELECT id FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ?'; $exists = $db->GetOne($query,array($name)); if( $exists ) $error = $this->Lang('nameexists'); } if( !$error ) { $max = $db->GetOne('SELECT max(item_order) + 1 FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs'); if( $max == null ) $max = 1; $extra = array('options'=>$arr_options); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_fielddefs (name, type, max_length, item_order, create_date, modified_date, public, extra) VALUES (?,?,?,?,?,?,?,?)'; $parms = array($name, $type, $max_length, $max, trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $public, serialize($extra)); $db->Execute($query, $parms ); // put mention into the admin log audit('', 'News custom: '.$name, 'Field definition added'); // done. $params = array('tab_message'=> 'fielddefadded', 'active_tab' => 'customfields'); $this->SetMessage($this->Lang('fielddefadded')); $this->RedirectToAdminTab('customfields','','admin_settings'); } if( $error ) echo $this->ShowErrors($error); } #Display template $smarty->assign('title',$this->Lang('addfielddef')); $smarty->assign('startform', $this->CreateFormStart($id, 'admin_addfielddef', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('typetext', $this->Lang('type')); $smarty->assign('maxlengthtext', $this->Lang('maxlength')); $smarty->assign('showinputtype', true); $smarty->assign('info_maxlength', $this->Lang('info_maxlength')); $smarty->assign('userviewtext',$this->Lang('public')); $smarty->assign('name',$name); $smarty->assign('fieldtypes',$this->GetFieldTypes()); $smarty->assign('type',$type); $smarty->assign('max_length',$max_length); $smarty->assign('public',$public); $smarty->assign('options',$options); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editfielddef.tpl'); // EOF CheckPermission('Modify Site Preferences')) return; $fdid = ''; if (isset($params['fdid'])) $fdid = $params['fdid']; // Get the category details $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query, array($fdid)); //Now remove the category $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE id = ?"; $db->Execute($query, array($fdid)); //And remove it from any entries $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_fieldvals WHERE fielddef_id = ?"; $db->Execute($query, array($fdid)); $db->Execute('UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1) WHERE item_order > ?', array($row['item_order'])); $params = array('tab_message'=> 'fielddefdeleted', 'active_tab' => 'customfields'); // put mention into the admin log audit('','News custom: '.$name, 'Field definition deleted'); $this->Setmessage($this->Lang('fielddefdeleted')); $this->RedirectToAdminTab('customfields','','admin_settings'); CheckPermission('Modify Site Preferences')) return; if (isset($params['cancel'])) $this->RedirectToAdminTab('customfields','','admin_settings'); $fdid = ''; if (isset($params['fdid'])) $fdid = $params['fdid']; $name = ''; if (isset($params['name'])) $name = trim($params['name']); $arr_options = array(); $options = ''; if( isset($params['options']) ) { $options = trim($params['options']); $arr_options = news_admin_ops::optionstext_to_array($options); } $type = ''; if (isset($params['type'])) $type = $params['type']; $max_length = 255; if (isset($params['max_length'])) $max_length = max(0,(int)$params['max_length']); $origname = ''; if (isset($params['origname'])) $origname = $params['origname']; $public = 0; if( isset($params['public']) ) $public = (int)$params['public']; if (isset($params['submit'])) { // @todo: sanitizing input $error = ''; if ($name == '') $error = $this->Lang('nonamegiven'); if( !$error ) { $query = 'SELECT id FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ? AND id != ?'; $tmp = $db->GetOne($query,array($name,$fdid)); if( $tmp ) $error = $this->Lang('nameexists'); } if( !$error ) { $extra = array('options'=>$arr_options); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET name = ?, type = ?, max_length = ?, modified_date = '.$db->DBTimeStamp(time()).', public = ?, extra = ? WHERE id = ?'; $res = $db->Execute($query, array($name, $type, $max_length, $public, serialize($extra), $fdid)); if( !$res ) die( $db->ErrorMsg() ); // put mention into the admin log audit($name, 'News custom: '.$name, 'Field definition edited'); $this->SetMessage($this->Lang('fielddefupdated')); $this->RedirectToAdminTab('customfields','','admin_settings'); } } else { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query, array($fdid)); if ($row) { $name = $row['name']; $type = $row['type']; $max_length = $row['max_length']; $origname = $row['name']; $public = $row['public']; $extra = unserialize($row['extra']); if( isset($extra['options']) ) { $options = news_admin_ops::array_to_optionstext($extra['options']); } } } #Display template $smarty->assign('title',$this->Lang('editfielddef')); $smarty->assign('startform', $this->CreateFormStart($id, 'admin_editfielddef', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('typetext', $this->Lang('type')); $smarty->assign('maxlengthtext', $this->Lang('maxlength')); $smarty->assign('showinputtype', false); $smarty->assign('inputtype', $this->CreateInputHidden($id, 'type', $type)); $smarty->assign('info_maxlength', $this->Lang('info_maxlength')); $smarty->assign('userviewtext',$this->Lang('public')); $smarty->assign('name',$name); $smarty->assign('fieldtypes',$this->GetFieldTypes()); $smarty->assign('type',$type); $smarty->assign('max_length',$max_length); $smarty->assign('public',$public); $smarty->assign('options',$options); $smarty->assign('mod',$this); $smarty->assign('hidden', $this->CreateInputHidden($id, 'fdid', $fdid). $this->CreateInputHidden($id, 'origname', htmlspecialchars($origname))); echo $this->ProcessTemplate('editfielddef.tpl'); // EOFCheckPermission('Modify Site Preferences')) return; $order = 1; $fdid = $params['fdid']; #Grab necessary info for fixing the item_order $order = $db->GetOne("SELECT item_order FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE id = ?", array($fdid)); $time = $db->DBTimeStamp(time()); if ($params['dir'] == "down") { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1), modified_date = '.$time.' WHERE item_order = ?'; $db->Execute($query, array($order + 1)); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order + 1), modified_date = '.$time.' WHERE id = ?'; $db->Execute($query, array($fdid)); } else if ($params['dir'] == "up") { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order + 1), modified_date = '.$time.' WHERE item_order = ?'; $db->Execute($query, array($order - 1)); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1), modified_date = '.$time.' WHERE id = ?'; $db->Execute($query, array($fdid)); } $this->RedirectToAdminTab('customfields','','admin_settings'); ?> CheckPermission('Modify Site Preferences') ) return; $this->SetCurrentTab('categories'); function news_reordercats_create_flatlist($tree,$parent_id = -1) { $data = array(); $order = 1; foreach( $tree as &$node ) { if( is_array($node) && count($node) == 2 ) { $pid = substr($node[0],strlen('cat_')); $data[] = array('id'=>$pid,'parent_id'=>$parent_id,'order'=>$order); if( isset($node[1]) && is_array($node[1]) && count($node[1]) > 0 ) { $tmp = news_reordercats_create_flatlist($node[1],$pid); if( is_array($tmp) && count($tmp) ) $data = array_merge($data,$tmp); } } else { $pid = substr($node,strlen('cat_')); $data[] = array('id'=>$pid,'parent_id'=>$parent_id,'order'=>$order); } $order++; } return $data; } if( isset($params['cancel']) ) { $this->RedirectToAdminTab('','','admin_settings'); } else if( isset($params['submit']) ) { $data = json_decode($params['data']); $flat = news_reordercats_create_flatlist($data); if( is_array($flat) && count($flat) ) { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET parent_id = ?, item_order = ? WHERE news_category_id = ?'; foreach( $flat as $rec ) { $dbr = $db->Execute($query,array($rec['parent_id'],$rec['order'],$rec['id'])); } news_admin_ops::UpdateHierarchyPositions(); $this->SetMessage($this->Lang('msg_categoriesreordered')); $this->RedirectToAdminTab('','','admin_settings'); } } $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories ORDER BY hierarchy'; $allcats = $db->GetArray($query); $smarty->assign('allcats',$allcats); echo $this->ProcessTemplate('admin_reorder_cats.tpl'); # # EOF # ?>CheckPermission('Modify Site Preferences') ) return; echo $this->StartTabHeaders(); echo $this->SetTabHeader('categories',$this->Lang('categories')); echo $this->SetTabHeader('customfields',$this->Lang('customfields')); echo $this->SetTabHeader('options',$this->Lang('options')); echo $this->EndTabHeaders(); echo $this->StartTabContent(); echo $this->StartTab('categories', $params); include(dirname(__FILE__).'/function.admin_categoriestab.php'); echo $this->EndTab(); echo $this->StartTab('customfields', $params); include(dirname(__FILE__).'/function.admin_customfieldstab.php'); echo $this->EndTab(); echo $this->StartTab('options', $params); include(dirname(__FILE__).'/function.admin_optionstab.php'); echo $this->EndTab(); echo $this->EndTabContent(); ?> CheckPermission('Approve News') ) exit(); if( !isset($params['approve']) || !isset($params['articleid']) ) { die('missing parameter, this should not happen'); } $this->SetCurrentTab('articles'); $articleid = (int)$params['articleid']; $search = cms_utils::get_search_module(); $status = ''; $uquery = "UPDATE ".CMS_DB_PREFIX."module_news SET status = ?,modified_date = NOW() WHERE news_id = ?"; switch( $params['approve'] ) { case 0: $status = 'draft'; break; case 1: $status = 'published'; break; default: die('unknown value for approve parameter, I do not know what to do with this'); break; } // Get the record if( is_object($search) ) { if( $status == 'draft' ) { $search->DeleteWords($this->GetName(),$articleid,'article'); } else if( $status == 'published' ) { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news WHERE news_id = ?';; $article = $db->GetRow($query,array($articleid)); if( !$article ) return; $useexp = 0; $t_end = time() + 3600; // just for the math if( $article['end_time'] != "" ) { $useexp = 1; $t_end = $db->UnixTimeStamp($article['end_time']); } if( $t_end > time() || $this->GetPreference('expired_searchble',1) == 1 ) { $text = $article['news_data'] . ' ' . $article['summary'] . ' ' . $article['news_title'] . ' ' . $article['news_title']; $query = 'SELECT value FROM '.CMS_DB_PREFIX.'module_news_fieldvals WHERE news_id = ?'; $flds = $db->GetArray($query,array($articleid)); if( is_array($flds) ) { for( $i = 0; $i < count($flds); $i++ ) { $text .= ' '.$flds[$i]['value']; } } $search->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable',0) == 0) ? $t_end : NULL); } } } $db->Execute($uquery,array($status,$articleid)); \CMSMS\HookManager::do_hook('News::NewsArticleEdited', [ 'news_id'=>$articleid, 'status'=>$status ] ); $this->SetMessage($this->Lang('msg_success')); $this->RedirectToAdminTab(); ?>GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } $cache_id = '|ns'.md5(serialize($params)); $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,null,$smarty); if( !$tpl_ob->IsCached() ) { $items = news_ops::get_categories($id,$params,$returnid); // Display template $tpl_ob->assign('count', count($items)); $tpl_ob->assign('cats', $items); } // Display template $tpl_ob->display(); ?> GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } $cache_id = '|ns'.md5(serialize($params)); $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,null,$smarty); if( !$tpl_ob->IsCached() ) { $detailpage = ''; $tmp = $this->GetPreference('detail_returnid',-1); if( $tmp > 0 ) $detailpage = $tmp; if (isset($params['detailpage'])) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias(trim($params['detailpage'])); if (isset($node)) { $detailpage = $node->getID(); } else { $node = $manager->sureGetNodeById($params['detailpage']); if (isset($node)) $detailpage = $params['detailpage']; } $params['detailpage'] = $detailpage; } if (isset($params['browsecat']) && $params['browsecat']==1) { $this->DoAction('browsecat', $id, $params, $returnid); return; } $entryarray = array(); $query1 = " SELECT SQL_CALC_FOUND_ROWS mn.*, mnc.news_category_name, mnc.long_name, u.username, u.first_name, u.last_name FROM " .CMS_DB_PREFIX . "module_news mn LEFT OUTER JOIN " . CMS_DB_PREFIX . "module_news_categories mnc ON mnc.news_category_id = mn.news_category_id LEFT OUTER JOIN " . CMS_DB_PREFIX . "users u ON u.user_id = mn.author_id WHERE status = 'published' AND "; if( isset($params['idlist']) ) { $tmp = cleanValue(trim($params['idlist'])); $tmp = explode(',', $tmp); $idlist = []; for( $i = 0; $i < count($tmp); $i++ ) { $val = (int)$tmp[$i]; if( $val > 0 && !in_array($val,$idlist) ) $idlist[] = $val; } if( !empty($idlist) ) $query1 .= ' (mn.news_id IN ('.implode(',',$idlist).')) AND '; } if( isset($params['category_id']) ) { $query1 .= " ( mnc.news_category_id = '".(int)$params['category_id']."' ) AND "; } else if (isset($params["category"]) && $params["category"] != '') { $category = cms_html_entity_decode(trim($params['category'])); $categories = explode(',', $category); $query1 .= " ("; $count = 0; foreach ($categories as $onecat) { if ($count > 0) $query1 .= ' OR '; $onecat = trim($onecat); if (strpos($onecat, '|') !== FALSE || strpos($onecat, '*') !== FALSE) { $tmp = $db->qstr(trim(str_replace('*', '%', str_replace("'",'_',$onecat)))); $query1 .= "upper(mnc.long_name) like upper({$tmp})"; } else { $tmp = $db->qstr(trim(str_replace("'",'_',$onecat))); $query1 .= "mnc.news_category_name = {$tmp}"; } $count++; } $query1 .= ") AND "; } if( isset($params['showall']) ) { // show everything irrespective of end date. $query1 .= 'IF(start_time IS NULL,news_date <= NOW(),start_time <= NOW())'; } else { // we're concerned about start time, end time, and news_date if( isset($params['showarchive']) ) { // show only expired entries. $query1 .= 'IF(end_time IS NULL,0,end_time < NOw())'; } else { $query1 .= 'IF(start_time IS NULL AND end_time IS NULL,news_date <= NOW(),NOw() BETWEEN start_time AND end_time)'; } } $sortrandom = false; $sortby = trim(get_parameter_value($params,'sortby','news_date')); switch( $sortby ) { case 'news_category': if (isset($params['sortasc']) && (strtolower($params['sortasc']) == 'true')) { $query1 .= "ORDER BY mnc.long_name ASC, mn.news_date "; } else { $query1 .= "ORDER BY mnc.long_name DESC, mn.news_date "; } break; case 'random': $query1 .= "ORDER BY RAND() "; $sortrandom = true; break; case 'summary': case 'news_data': case 'news_category': case 'news_title': case 'end_time': case 'start_time': case 'news_extra': $query1 .= "ORDER BY mn.$sortby "; break; default: $query1 .= "ORDER BY mn.news_date "; break; } if( $sortrandom == false ) { if (isset($params['sortasc']) && (strtolower($params['sortasc']) == 'true')) { $query1 .= "asc"; } else { $query1 .= "desc"; } } $pagelimit = 1000; if( isset( $params['pagelimit'] ) ) { $pagelimit = (int) ($params['pagelimit']); } else if( isset( $params['number'] ) ) { $pagelimit = (int) ($params['number']); } $pagelimit = max(1,min(1000,$pagelimit)); // maximum of 1000 entries. // Get the number of rows (so we can determine the numer of pages) $pagecount = -1; $startelement = 0; $pagenumber = 1; if( isset( $params['pagenumber'] ) && $params['pagenumber'] != '' ) { // if given a page number, determine a start element $pagenumber = (int)$params['pagenumber']; $startelement = ($pagenumber-1) * $pagelimit; } if( isset( $params['start'] ) ) { // given a start element, determine a page number $startelement = $startelement + (int)$params['start']; } $dbresult = $db->SelectLimit( $query1, $pagelimit, $startelement ); $count = (int) $db->GetOne('SELECT FOUND_ROWS()'); { // determine a number of pages if( isset( $params['start'] ) ) $count -= (int)$params['start']; $pagecount = (int)($count / $pagelimit); if( ($count % $pagelimit) != 0 ) $pagecount++; } // Assign some pagination variables to smarty if( $pagenumber == 1 ) { $tpl_ob->assign('prevpage',$this->Lang('prevpage')); $tpl_ob->assign('firstpage',$this->Lang('firstpage')); } else { $params['pagenumber']=$pagenumber-1; $tpl_ob->assign('prevpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('prevpage'),$params)); $tpl_ob->assign('prevurl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); $params['pagenumber']=1; $tpl_ob->assign('firstpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('firstpage'),$params)); $tpl_ob->assign('firsturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); } if( $pagenumber >= $pagecount ) { $tpl_ob->assign('nextpage',$this->Lang('nextpage')); $tpl_ob->assign('lastpage',$this->Lang('lastpage')); } else { $params['pagenumber']=$pagenumber+1; $tpl_ob->assign('nextpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('nextpage'),$params)); $tpl_ob->assign('nexturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); $params['pagenumber']=$pagecount; $tpl_ob->assign('lastpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('lastpage'),$params)); $tpl_ob->assign('lasturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); } $tpl_ob->assign('pagenumber',$pagenumber); $tpl_ob->assign('pagecount',$pagecount); $tpl_ob->assign('oftext',$this->Lang('prompt_of')); $tpl_ob->assign('pagetext',$this->Lang('prompt_page')); if( is_object($dbresult) ) { // build a list of news id's so we can preload stuff from other tables. $result_ids = array(); while( $dbresult && !$dbresult->EOF ) { $result_ids[] = $dbresult->fields['news_id']; $dbresult->MoveNext(); } $dbresult->MoveFirst(); news_ops::preloadFieldData($result_ids); while( $dbresult && !$dbresult->EOF ) { $row = $dbresult->fields; $onerow = new stdClass(); $onerow->author_id = $row['author_id']; if( $onerow->author_id > 0 ) { $onerow->author = $row['username']; $onerow->authorname = trim($row['first_name'].' '.$row['last_name']); } else if( $onerow->author_id == 0 ) { $onerow->author = $this->Lang('anonymous'); $onerow->authorname = $this->Lang('unknown'); } else { $feu = $this->GetModuleInstance('FrontEndUsers'); if( $feu ) { $uinfo = $feu->GetUserInfo($onerow->author_id * -1); if( $uinfo[0] ) $onerow->author = $uinfo[1]['username']; } } $onerow->id = $row['news_id']; $onerow->title = $row['news_title']; $onerow->content = $row['news_data']; $onerow->summary = (trim((string)$row['summary'])!='
'?$row['summary']:''); if( FALSE == empty($row['news_extra']) ) $onerow->extra = $row['news_extra']; $onerow->postdate = $row['news_date']; $onerow->startdate = $row['start_time']; $onerow->enddate = $row['end_time']; $onerow->create_date = $row['create_date']; $onerow->modified_date = $row['modified_date']; $onerow->category = $row['news_category_name']; // // Handle the custom fields // $onerow->fields = news_ops::get_fields($row['news_id'],TRUE); $onerow->fieldsbyname = $onerow->fields; // dumb, I know. $onerow->file_location = $gCms->config['uploads_url'].'/news/id'.$row['news_id']; $moretext = isset($params['moretext'])?trim($params['moretext']):$this->Lang('more'); $sendtodetail = array('articleid'=>$row['news_id']); if (isset($params['showall'])) $sendtodetail['showall'] = $params['showall']; if (isset($params['detailpage'])) $sendtodetail['origid'] = $returnid; if (isset($params['detailtemplate'])) $sendtodetail['detailtemplate'] = $params['detailtemplate']; $prettyurl = $row['news_url']; if( $prettyurl == '' ) { $aliased_title = munge_string_to_url($row['news_title']); $prettyurl = 'news/'.$row['news_id'].'/'.($detailpage!=''?$detailpage:$returnid)."/$aliased_title"; if (isset($sendtodetail['detailtemplate'])) $prettyurl .= '/d,' . $sendtodetail['detailtemplate']; } if (isset($params['lang'])) $sendtodetail['lang'] = trim($params['lang']); if (isset($params['category_id'])) $sendtodetail['category_id'] = (int)$params['category_id']; if (isset($params['pagelimit'])) $sendtodetail['pagelimit'] = (int)$params['pagelimit']; $onerow->detail_url = $this->create_url( $id, 'detail', $detailpage!=''?$detailpage:$returnid, $sendtodetail ); $onerow->link = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, '', $sendtodetail,'', true, false, '', true, $prettyurl); $onerow->titlelink = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $row['news_title'], $sendtodetail, '', false, false, '', true, $prettyurl); $onerow->morelink = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $moretext, $sendtodetail, '', false, false, '', true, $prettyurl); $onerow->moreurl = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $moretext, $sendtodetail, '', true, false, '', true, $prettyurl); $entryarray[]= $onerow; $dbresult->MoveNext(); } } // if $tpl_ob->assign('itemcount', count($entryarray)); $tpl_ob->assign('items', $entryarray); $tpl_ob->assign('category_label', $this->Lang('category_label')); $tpl_ob->assign('author_label', $this->Lang('author_label')); foreach( $params as $key => $value ) { if( $key == 'mact' || $key == 'action' ) continue; $tpl_ob->assign('param_'.$key,$value); } unset($params['pagenumber']); $items = news_ops::get_categories($id,$params,$returnid); $catName = ''; if (isset($params['category'])) { $catName = $params['category']; } else if (isset($params['category_id'])) { if( isset($items) && count($items) ) { foreach( $items as $item ) { if( $item['news_category_id'] == $params['category_id'] ) { $catName = $item['news_category_name']; break; } } } //$catName = $db->GetOne('SELECT news_category_name FROM '.CMS_DB_PREFIX . 'module_news_categories where news_category_id=?',array($params['category_id'])); } $tpl_ob->assign('category_name',$catName); $count = isset($items) ? count($items) : '0'; $tpl_ob->assign('count', $count); $tpl_ob->assign('cats', $items); } // Display template $tpl_ob->display(); CheckPermission('Modify News') ) return; include(dirname(__FILE__).'/function.admin_articlestab.php'); ?> DoAction('detail', $id, $params, $returnid); ?> CheckPermission('Delete News')) { echo $this->ShowErrors($this->Lang('needpermission', array('Modify News'))); return; } $articleid = ''; if (isset($params['articleid'])) { $articleid = $params['articleid']; } news_admin_ops::delete_article($articleid); $params = array('tab_message'=> 'articledeleted', 'active_tab' => 'articles'); $this->Redirect($id, 'defaultadmin', $returnid, $params); ?> CheckPermission('Modify Site Preferences')) return; $catid = ''; if (isset($params['catid'])) $catid = $params['catid']; // Get the category details $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_id = ?'; $row = $db->GetRow( $query, array( $catid ) ); //Reset all categories using this parent to have no parent (-1) $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET parent_id=?, modified_date='.$db->DBTimeStamp(time()).' WHERE parent_id=?'; $db->Execute($query, array(-1, $catid)); //Now remove the category $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_categories WHERE news_category_id = ?"; $db->Execute($query, array($catid)); //And remove it from any articles $query = "UPDATE ".CMS_DB_PREFIX."module_news SET news_category_id = -1 WHERE news_category_id = ?"; $db->Execute($query, array($catid)); \CMSMS\HookManager::do_hook('News::NewsCategoryDeleted', [ 'category_id'=>$catid, 'name'=>$row['news_category_name'] ] ); audit($catid, 'News category: '.$catid, ' Category deleted'); news_admin_ops::UpdateHierarchyPositions(); $params = array('tab_message'=> 'categorydeleted', 'active_tab' => 'categories'); $this->Setmessage($this->Lang('categorydeleted')); $this->RedirectToAdminTab('categories','','admin_settings'); GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } if( $id == '_preview_' && isset($_SESSION['news_preview']) && isset($params['preview']) ) { // see if our data matches. if( md5(serialize($_SESSION['news_preview'])) == $params['preview'] ) { $fname = TMP_CACHE_LOCATION.'/'.$_SESSION['news_preview']['fname']; if( file_exists($fname) && (md5_file($fname) == $_SESSION['news_preview']['checksum']) ) { $data = unserialize(file_get_contents($fname)); if( is_array($data) ) { // get passed data into a standard format. $article = new news_article; $article->set_linkdata($id,$params); news_ops::fill_article_from_formparams($article,$data,FALSE,FALSE); $compile_id = 'news_preview_'.time(); $preview = TRUE; } } } } $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,$compile_id,$smarty); if( $preview || !$tpl_ob->IsCached() ) { // not cached... have to do to the work. if( isset($params['articleid']) && $params['articleid'] == -1 ) { $article = news_ops::get_latest_article(); } else if( isset($params['articleid']) && (int)$params['articleid'] > 0 ) { $show_expired = $this->GetPreference('expired_viewable',1); if( isset($params['showall']) ) $show_expired = 1; $article = news_ops::get_article_by_id((int)$params['articleid'],TRUE,$show_expired); } if( !$article ) { throw new CmsError404Exception('Article '.(int)$params['articleid'].' not found, or otherwise unavailable'); return; } $article->set_linkdata($id,$params); $return_url = $this->CreateReturnLink($id, isset($params['origid'])?(int)$params['origid']:$returnid, $this->lang('news_return')); $tpl_ob->assign('return_url', $return_url); $tpl_ob->assign('entry', $article); $catName = ''; if (isset($params['category_id'])) { $catName = $db->GetOne('SELECT news_category_name FROM '.CMS_DB_PREFIX . 'module_news_categories where news_category_id=?',array((int)$params['category_id'])); } $tpl_ob->assign('category_name',$catName); unset($params['article_id']); $tpl_ob->assign('category_link',$this->CreateLink($id, 'default', $returnid, $catName, $params)); $tpl_ob->assign('category_label', $this->Lang('category_label')); $tpl_ob->assign('author_label', $this->Lang('author_label')); $tpl_ob->assign('extra_label', $this->Lang('extra_label')); } //Display template $tpl_ob->display(); ?> CheckPermission('Modify News')) return; if (isset($params['cancel'])) $this->Redirect($id, 'defaultadmin', $returnid); /*-------------------- * Variables ---------------------*/ if ($this->CheckPermission('Approve News')) $status = 'published'; $status = 'draft'; $postdate = time(); $startdate = time(); $enddate = strtotime('+6 months', time()); $articleid = isset($params['articleid']) ? $params['articleid'] : ''; $content = isset($params['content']) ? $params['content'] : ''; $summary = isset($params['summary']) ? $params['summary'] : ''; $news_url = isset($params['news_url']) ? $params['news_url'] : ''; $usedcategory = isset($params['category']) ? $params['category'] : ''; $author_id = isset($params['author_id']) ? $params['author_id'] : '-1'; $useexp = isset($params['useexp']) ? 1: 0; $extra = isset($params['extra']) ? trim(strip_tags($params['extra'])) : ''; $searchable = isset($params['searchable']) ? (int)$params['searchable'] : 1; $title = isset($params['title']) ? trim(strip_tags($params['title'])) : ''; $status = isset($params['status']) ? $params['status'] : $status; if (isset($params['postdate_Month'])) { $postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); } if (isset($params['startdate_Month'])) { $startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); } /*-------------------- * Logic ---------------------*/ if (isset($params['submit']) || isset($params['apply'])) { $error = FALSE; if (empty($title)) { $error = $this->Lang('notitlegiven'); } else if (empty($content)) { $error = $this->Lang('nocontentgiven'); } else if ($useexp == 1) { if ($startdate >= $enddate) $error = $this->Lang('error_invaliddates'); } $startdatestr = NULL; $enddatestr = NULL; if ($useexp != 0) { $startdate = trim($db->DbTimeStamp($startdate), "'"); $enddate = trim($db->DbTimeStamp($enddate), "'"); } if (empty($error) && $news_url != '') { // check for starting or ending slashes if (startswith($news_url, '/') || endswith($news_url, '/')) $error = $this->Lang('error_invalidurl'); if ($error === FALSE) { // check for invalid chars. $translated = munge_string_to_url($news_url, false, true); if (strtolower($translated) != strtolower($news_url)) $error = $this->Lang('error_invalidurl'); } if ($error === FALSE) { // make sure this url isn't taken. cms_route_manager::load_routes(); $route = cms_route_manager::find_match($news_url, TRUE); if ($route) { $dflts = $route->get_defaults(); if ($route['key1'] != $this->GetName() || !isset($dflts['articleid']) || $dflts['articleid'] != $articleid) { // we're adding an article, not editing... any matching route is bad. $error = $this->Lang('error_invalidurl'); } } } } if (!$error) { // // database work // $query = 'UPDATE ' . CMS_DB_PREFIX . 'module_news SET news_title=?, news_data=?, summary=?, status=?, news_date=?, news_category_id=?, start_time=?, end_time=?, modified_date=?, news_extra=?, news_url = ?, searchable = ? WHERE news_id = ?'; if ($useexp == 1) { $db->Execute($query, array( $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), $usedcategory, trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), $extra, $news_url, $searchable, $articleid )); } else { $db->Execute($query, array( $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), $usedcategory, $startdatestr, $enddatestr, trim($db->DBTimeStamp(time()), "'"), $extra, $news_url, $searchable, $articleid )); } // //Update custom fields // // get the field types $qu = "SELECT id,name,type FROM " . CMS_DB_PREFIX . "module_news_fielddefs WHERE type='file'"; $types = $db->GetArray($qu); $error = false; if (is_array($types)) { foreach ($types as $onetype) { $elem = $id . 'customfield_' . $onetype['id']; if (isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if ($_FILES[$elem]['error'] != 0 || $_FILES[$elem]['tmp_name'] == '') { $error = $this->Lang('error_upload'); } else { $error = ''; $value = news_admin_ops::handle_upload($articleid, $elem, $error); $smarty->assign('checking', 'blah'); if ($value !== FALSE) $params['customfield'][$onetype['id']] = $value; } } } // foreach }// if if (isset($params['customfield']) && !$error) { $now = $db->DbTimeStamp(time()); foreach ($params['customfield'] as $fldid => $value) { // first check if it's available $query = "SELECT value FROM " . CMS_DB_PREFIX . "module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?"; $tmp = $db->GetOne($query, array( $articleid, $fldid )); $dbr = true; if ($tmp === false) { if (!empty($value)) { $query = "INSERT INTO " . CMS_DB_PREFIX . "module_news_fieldvals (news_id,fielddef_id,value,create_date,modified_date) VALUES (?,?,?,$now,$now)"; $dbr = $db->Execute($query, array( $articleid, $fldid, $value )); } } else { if (empty($value)) { $query = 'DELETE FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?'; $dbr = $db->Execute($query, array( $articleid, $fldid )); } else { $query = "UPDATE " . CMS_DB_PREFIX . "module_news_fieldvals SET value = ?, modified_date = $now WHERE news_id = ? AND fielddef_id = ?"; $dbr = $db->Execute($query, array( $value, $articleid, $fldid )); } } if (!$dbr) die('FATAL SQL ERROR: ' . $db->ErrorMsg() . '
QUERY: ' . $db->sql); } } } if (isset($params['delete_customfield']) && is_array($params['delete_customfield']) && !$error) { foreach ($params['delete_customfield'] as $k => $v) { if ($v != 'delete') continue; $query = 'DELETE FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?'; $db->Execute($query, array( $articleid, $k )); } } if (!$error && $status == 'published' && $news_url != '') { news_admin_ops::delete_static_route($articleid); news_admin_ops::register_static_route($news_url, $articleid); } //Update search index if (!$error) { $module = cms_utils::get_search_module(); if (is_object($module)) { if ($status == 'draft' || !$searchable) { $module->DeleteWords($this->GetName(), $articleid, 'article'); } else { if (!$useexp || ($enddate > time()) || $this->GetPreference('expired_searchable', 1) == 1) { $text = ''; } if (isset($params['customfield'])) { foreach ($params['customfield'] as $fldid => $value) { if (strlen($value) > 1) $text .= $value . ' '; } } $text .= $content . ' ' . $summary . ' ' . $title . ' ' . $title; $module->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable', 0) == 0) ? $enddate : NULL); } } \CMSMS\HookManager::do_hook('News::NewsArticleEdited', array( 'news_id' => $articleid, 'category_id' => $usedcategory, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'post_time' => $postdate, 'extra' => $extra, 'useexp' => $useexp, 'news_url' => $news_url )); // put mention into the admin log audit($articleid, 'News: ' . $title, 'Article edited'); }// if no error. if (isset($params['apply']) && isset($params['ajax'])) { $response = ''; if ($error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
Lang('articleupdated') . ']]>
'; } $response .= '
'; echo $response; return; } if (!isset($params['apply']) && !$error) { // redirect out of here. $this->SetMessage($this->Lang('articlesubmitted')); $this->Redirect($id, 'defaultadmin', $returnid); return; } if ($error) echo $this->ShowErrors($error); // end submit or apply } elseif (isset($params['preview'])) { // save data for preview. unset($params['apply']); unset($params['preview']); unset($params['submit']); unset($params['cancel']); unset($params['ajax']); $tmpfname = tempnam(TMP_CACHE_LOCATION, $this->GetName() . '_preview'); file_put_contents($tmpfname, serialize($params)); $detail_returnid = $this->GetPreference('detail_returnid', -1); if ($detail_returnid <= 0) $detail_returnid = ContentOperations::get_instance()->GetDefaultContent(); if (isset($params['previewpage']) && (int)$params['previewpage'] > 0) $detail_returnid = (int)$params['previewpage']; $_SESSION['news_preview'] = array( 'fname' => basename($tmpfname), 'checksum' => md5_file($tmpfname) ); $tparms = array('preview' => md5(serialize($_SESSION['news_preview']))); if (isset($params['detailtemplate'])) $tparms['detailtemplate'] = trim($params['detailtemplate']); $url = $this->create_url('_preview_', 'detail', $detail_returnid, $tparms, TRUE); $response = ''; $response .= ''; if (isset($error) && $error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
'; } $response .= '
'; $handlers = ob_list_handlers(); for ($cnt = 0; $cnt < sizeof($handlers); $cnt++) { ob_end_clean(); } header('Content-Type: text/xml'); echo $response; exit ; } else { // // Load data from database // $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news WHERE news_id = ?'; $row = $db->GetRow($query, array($articleid)); if ($row) { $title = $row['news_title']; $content = $row['news_data']; $extra = $row['news_extra']; $summary = $row['summary']; $news_url = $row['news_url']; $status = $row['status']; $usedcategory = $row['news_category_id']; $postdate = $db->UnixTimeStamp($row['news_date']); $startdate = $db->UnixTimeStamp($row['start_time']); $author_id = $row['author_id']; $searchable = $row['searchable']; $useexp = 0; if (isset($row['end_time'])) { $useexp = 1; $enddate = $db->UnixTimeStamp($row['end_time']); } } } $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $categorylist = array(); $query = "SELECT * FROM " . CMS_DB_PREFIX . "module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } /*-------------------- * Custom fields logic ---------------------*/ // Get the field values $fieldvals = array(); $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ?'; $tmp = $db->GetArray($query, array($articleid)); if (is_array($tmp)) { foreach ($tmp as $one) { $fieldvals[$one['fielddef_id']] = $one; } } $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs ORDER BY item_order'; $dbr = $db->Execute($query); $custom_flds = array(); while ($dbr && ($row = $dbr->FetchRow())) { if (isset($row['extra']) && $row['extra']) $row['extra'] = unserialize($row['extra']); $options = null; if (isset($row['extra']['options'])) $options = $row['extra']['options']; $value = ''; if (isset($fieldvals[$row['id']])) $value = $fieldvals[$row['id']]['value']; $value = isset($params['customfield'][$row['id']]) && in_array($params['customfield'][$row['id']], $params['customfield']) ? $params['customfield'][$row['id']] : $value; if ($row['type'] == 'file') { $name = "customfield_" . $row['id']; } else { $name = "customfield[" . $row['id'] . "]"; } $obj = new StdClass(); $obj->value = $value; $obj->nameattr = $id . $name; $obj->type = $row['type']; $obj->idattr = 'customfield_' . $row['id']; $obj->prompt = $row['name']; $obj->size = min(80, $row['max_length']); $obj->max_len = max(1, (int)$row['max_length']); $obj->delete = $id . 'delete_customfield[' . $row['id'] . ']'; $obj->options = $options; // FIXME - If we create inputs with hmtl markup in smarty template, whats the use of switch and form API here? /* switch( $row['type'] ) { case 'textbox' : $size = min(50, $row['max_length']); $obj->field = $this->CreateInputText($id, $name, $value, $size, $row['max_length']); break; case 'checkbox' : $obj->field = $this->CreateInputHidden($id, $name, 0) . $this->CreateInputCheckbox($id, $name, 1, (int)$value); break; case 'textarea' : $obj->field = $this->CreateTextArea(true, $id, $value, $name); break; case 'file' : $del = ''; if ($value != '') { $deln = 'delete_customfield[' . $row['id'] . ']'; $del = ' ' . $this->Lang('delete') . $this->CreateInputCheckbox($id, $deln, 'delete'); } $obj->field = $value . ' ' . $this->CreateFileUploadInput($id, $name) . $del; break; case 'dropdown' : $obj->field = $this->CreateInputDropdown($id, $name, array_flip($options), -1, $value); break; } */ $custom_flds[$row['name']] = $obj; } /*-------------------- * Pass everything to smarty ---------------------*/ if ($author_id > 0) { $userops = $gCms->GetUserOperations(); $theuser = $userops->LoadUserById($author_id); $smarty->assign('inputauthor', $theuser->username); } else if ($author_id == 0) { $smarty->assign('inputauthor', $this->Lang('anonymous')); } else { $feu = $this->GetModuleInstance('FrontEndUsers'); if ($feu) { $uinfo = $feu->GetUserInfo($author_id * -1); if ($uinfo[0]) $smarty->assign('inputauthor', $uinfo[1]['username']); } } $smarty->assign('formid', $id); $smarty->assign('startform', $this->CreateFormStart($id, 'editarticle', $returnid, 'POST', 'multipart/form-data')); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('hide_summary_field', $this->GetPreference('hide_summary_field', '0')); $smarty->assign('authortext', $this->Lang('author')); $smarty->assign('articleid', $articleid); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('searchable', $searchable); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('extra', $extra); $smarty->assign('urltext', $this->Lang('url')); $smarty->assign('news_url', $news_url); $smarty->assign('title', $title); $smarty->assign('inputcontent', $this->CreateTextArea(true, $id, $content, 'content')); $smarty->assign('inputsummary', $this->CreateTextArea($this->GetPreference('allow_summary_wysiwyg', 1), $id, $summary, 'summary', '', '', '', '', '80', '3')); $smarty->assign('useexp', $useexp); $smarty->assign('actionid', $id); $smarty->assign('inputexp', $this->CreateInputCheckbox($id, 'useexp', '1', $useexp, 'class="pagecheckbox"')); $smarty->assign('postdate', $postdate); $smarty->assign('postdateprefix', $id . 'postdate_'); $smarty->assign('startdate', $startdate); $smarty->assign('startdateprefix', $id . 'startdate_'); $smarty->assign('enddate', $enddate); $smarty->assign('enddateprefix', $id . 'enddate_'); $smarty->assign('status', $status); $smarty->assign('categorylist', array_flip($categorylist)); $smarty->assign('category', $usedcategory); $smarty->assign('hidden', $this->CreateInputHidden($id, 'articleid', $articleid) . $this->CreateInputHidden($id, 'author_id', $author_id)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('apply', $this->CreateInputSubmit($id, 'apply', lang('apply'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('delete_field_val', $this->Lang('delete')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('categorytext', $this->Lang('category')); $smarty->assign('summarytext', $this->Lang('summary')); $smarty->assign('contenttext', $this->Lang('content')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('useexpirationtext', $this->Lang('useexpiration')); $smarty->assign('startdatetext', $this->Lang('startdate')); $smarty->assign('enddatetext', $this->Lang('enddate')); $smarty->assign('select_option', $this->Lang('select_option')); // tab stuff. $smarty->assign('start_tab_headers', $this->StartTabHeaders()); $smarty->assign('tabheader_article', $this->SetTabHeader('article', $this->Lang('article'))); $smarty->assign('tabheader_preview', $this->SetTabHeader('preview', $this->Lang('preview'))); $smarty->assign('end_tab_headers', $this->EndTabHeaders()); $smarty->assign('start_tab_content', $this->StartTabContent()); $smarty->assign('start_tab_article', $this->StartTab('article', $params)); $smarty->assign('end_tab_article', $this->EndTab()); $smarty->assign('end_tab_content', $this->EndTabContent()); $smarty->assign('warning_preview', $this->Lang('warning_preview')); if ($this->CheckPermission('Approve News')) { $smarty->assign('statustext', lang('status')); $smarty->assign('statuses', array_flip($statusdropdown)); } if (count($custom_flds) > 0) $smarty->assign('custom_fields', $custom_flds); $contentops = cmsms()->GetContentOperations(); $smarty->assign('preview_returnid', $contentops->CreateHierarchyDropdown('', $this->GetPreference('detail_returnid', -1), 'preview_returnid')); // get the list of detail templates. try { $type = CmsLayoutTemplateType::load($this->GetName() . '::detail'); $templates = $type->get_template_list(); $list = array(); if (is_array($templates) && count($templates)) { foreach ($templates as $template) { $list[$template->get_id()] = $template->get_name(); } } if (count($list)) { $smarty->assign('prompt_detail_template', $this->Lang('detail_template')); $smarty->assign('prompt_detail_page', $this->Lang('detail_page')); $smarty->assign('detail_templates', $list); $smarty->assign('cur_detail_template', $this->GetPreference('current_detail_template')); $smarty->assign('start_tab_preview', $this->StartTab('preview', $params)); $smarty->assign('end_tab_preview', $this->EndTab()); } } catch( Exception $e ) { audit('', $this->GetName(), 'No detail templates available for preview'); } // and display the template. echo $this->ProcessTemplate('editarticle.tpl'); CheckPermission('Modify Site Preferences')) return; $this->SetCurrentTab('categories'); if (isset($params['cancel'])) $this->RedirectToAdminTab('','','admin_settings'); $catid = ''; $row = null; $name = ''; $parentid = -1; if( isset($params['catid']) ) { $catid = (int)$params['catid']; $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_id = ?'; $row = $db->GetRow($query, array($catid)); if( !$row ) { $this->SetError($this->Lang('error_categorynotfound')); $this->RedirectToAdminTab(); } $name = $row['news_category_name']; $parentid = (int)$row['parent_id']; } //$parentid = '-1'; // why reset again? if( isset($params['submit']) ) { $parentid = (int)$params['parent']; $name = trim($params['name']); if( $name == '' ) { echo $this->ShowErrors($this->Lang('nonamegiven')); } else { // its an update. $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ? AND news_category_name = ? AND news_category_id != ?'; $tmp = $db->GetOne($query,array($parentid,$name,$catid)); if( $tmp ) { echo $this->ShowErrors($this->Lang('error_duplicatename')); } else { if( $parentid == $catid ) { echo $this->ShowErrors($this->Lang('error_categoryparent')); } else if( $parentid != $row['parent_id'] ) { // parent changed // gotta figure out a new item order. $query = 'SELECT max(item_order) FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ?'; $maxn = (int)$db->GetOne($query,array($parentid)); $maxn++; $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET item_order = item_order - 1 WHERE parent_id = ? AND item_order > ?'; $db->Execute($query,array($row['parent_id'],$row['item_order'])); $row['item_order'] = $maxn; } $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET news_category_name = ?, item_order = ?, parent_id = ?, modified_date = NOW() WHERE news_category_id = ?'; $parms = array($name,$row['item_order'],$parentid); $parms[] = $catid; $db->Execute($query, $parms); news_admin_ops::UpdateHierarchyPositions(); \CMSMS\HookManager::do_hook('News::NewsCategoryEdited', [ 'category_id'=>$catid, 'name'=>$name, 'origname'=>$origname ] ); // put mention into the admin log audit($catid, 'News category: '.$name, ' Category edited'); $this->SetMessage($this->Lang('categoryupdated')); $this->RedirectToAdminTab('categories','','admin_settings'); } } } #Display template $tmp = news_ops::get_category_list(); $tmp2 = array_flip($tmp); $categories = array(-1=>$this->Lang('none')); foreach( $tmp2 as $k => $v ) { if( $k == $catid ) continue; $categories[$k] = $v; } $parms = array('catid'=>$catid); $smarty->assign('catid',$catid); $smarty->assign('parent',$parentid); $smarty->assign('name',$name); $smarty->assign('categories',$categories); $smarty->assign('startform', $this->CreateFormStart($id, 'editcategory', $returnid, 'post', '', false, '', $parms)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('inputname', $this->CreateInputText($id, 'name', $name, 20, 255)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editcategory.tpl'); ?>GetPreference('allow_fesubmit',0) ) return; function __newsCleanHTML($html) { $i = 0; for( $i = 0; $i < 10; $i++ ) { $old = $html; $html = preg_replace('/]*>(.*?)<\/script>/is', "", $html); $html = str_replace('script:','___',$html); if( strcmp($old,$html) == 0 ) break; } return $html; } $title = ''; $extra = ''; $content = ''; $summary = ''; $status = $this->GetPreference('fesubmit_status','draft'); $startdate = time(); $ndays = (int)$this->GetPreference('expiry_interval',180); if( $ndays <= 0 ) $ndays = 180; $enddate = strtotime(sprintf("+%d days",$ndays), time()); $userid = get_userid(false); $category_id = $this->GetPreference('default_category', ''); $do_send_email = false; $do_redirect = false; $template = null; if (isset($params['formtemplate'])) { $template = trim($params['formtemplate']); } else { $tpl = CmsLayoutTemplate::load_dflt_by_type('News::form'); if( !is_object($tpl) ) { audit('',$this->GetName(),'No default form template found'); return; } $template = $tpl->get_name(); } // handle the page to go to after submit. $dest_page = $returnid; $tmp = $this->GetPreference('fesubmit_redirect'); if( !empty($tmp) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($tmp); if (isset($node)) { $dest_page = $node->getID(); } else { $node = $manager->sureGetNodeById($tmp); if (isset($node)) $dest_page = $tmp; } } if( $userid == '' ) { // not logged in to the admin console // see if we're logged into FEU. $module = $this->GetModuleInstance('FrontEndUsers'); if( $module ) { $userid = $module->LoggedInId(); $userid = $userid * -1; } } if (isset($params['category'])) { $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_name = ?'; $tmp = $db->GetOne($query,array($params['category'])); if( $tmp ) $category_id = $tmp; } $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),null,null,$smarty); $tpl_ob->assign('mod',$this); $tpl_ob->assign('actionid',$id); if( isset( $params['submit'] ) ) { try { if( isset($params['title'] ) ) $title = strip_tags(cms_html_entity_decode(trim($params['title']))); if( isset($params['content']) ) $content = __newsCleanHTML(cms_html_entity_decode(trim($params['content']))); if( isset($params['summary']) ) $summary = __newsCleanHTML(cms_html_entity_decode(trim($params['summary']))); if( isset($params['extra']) ) $extra = strip_tags(cms_html_entity_decode(trim($params['extra']))); if( isset($params['category_id']) ) $category_id = (int)$params['category_id']; if( isset($params['input_category'])) $category_id = (int)$params['input_category']; if (isset($params['startdate_Month'])) { $startdate = mktime((int)$params['startdate_Hour'], (int)$params['startdate_Minute'], (int)$params['startdate_Second'], (int)$params['startdate_Month'], (int)$params['startdate_Day'], (int)$params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime((int)$params['enddate_Hour'], (int)$params['enddate_Minute'], (int)$params['enddate_Second'], (int)$params['enddate_Month'], (int)$params['enddate_Day'], (int)$params['enddate_Year']); } if( $startdate > $enddate ) throw new CmsException($this->Lang('startdatetoolate')); if( $title == '' ) throw new CmsException($this->Lang('notitlegiven')); if( $content == '' ) throw new CmsException($this->Lang('nocontentgiven')); // generate a new article id $articleid = $db->GenID(CMS_DB_PREFIX."module_news_seq"); // test file upload custom fields $qu = "SELECT id,name,type FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE type='file'"; $fields = $db->GetArray($qu); foreach( $fields as $onefield ) { $elem = $id.'news_customfield_'.$onefield['id']; if( isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if( $_FILES[$elem]['error'] == 0 && $_FILES[$elem]['tmp_name'] != '' ) { $error = ''; $value = news_admin_ops::handle_upload($articleid,$elem,$error); if( $value === FALSE ) throw new CmsException($error); $params['news_customfield_'.$onefield['id']] = $value; } else { // error with upload // abort the whole thing throw new CmsException($this->Lang('error_upload')); } } } // and generate the insert query // note: there's no option for fesubmit wether it's searchable or not. $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news (news_id, news_category_id, news_title, news_data, summary, news_extra, status, news_date, start_time, end_time, create_date, modified_date,author_id,searchable) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; $dbr = $db->Execute($query, array($articleid, $category_id, $title, $content, $summary, $extra, $status, trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid,1)); if( $dbr ) { // handle the custom fields $now = $db->DbTimeStamp(time()); $query = 'INSERT INTO '.CMS_DB_PREFIX."module_news_fieldvals (news_id, fielddef_id, value, create_date, modified_date) VALUES (?,?,?,$now,$now)"; foreach( $params as $key => $value ) { $value = trim($value); if( empty($value) ) continue; if( preg_match('/^news_customfield_/',$key) ) { $field_id = intval(substr($key,17)); $db->Execute($query,array($articleid,$field_id,$value)); } } // should've checked those errors too, but eh, I'm up for the odds. //Update search index $module = cms_utils::get_search_module(); if (is_object($module)) { $module->AddWords($this->GetName(), $articleid, 'article', $content . ' ' . $summary . ' ' . $title . ' ' . $title, $enddate ); } // Send an email $do_send_email = true; $do_redirect = true; // send an event \CMSMS\HookManager::do_hook('News::NewsArticleAdded', array('news_id' => $articleid, 'category_id' => $category_id, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'useexp' => 1)); // put mention into the admin log audit('', 'News Frontend Submit', 'Article added'); // and we're done $tpl_ob->assign('message',$this->Lang('articleadded')); } } catch( Exception $e ) { $tpl_ob->assign('error',$error); } } // build the category list $categorylist = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['news_category_id']] = $row['long_name']; } // Display template $tpl_ob->assign('category_id',$category_id); $tpl_ob->assign('title',$title); $tpl_ob->assign('categorylist',$categorylist); $tpl_ob->assign('extra',$extra); $tpl_ob->assign('content',$content); $tpl_ob->assign('summary',$summary); $tpl_ob->assign('hide_summary_field',$this->GetPreference('hide_summary_field','0')); $tpl_ob->assign('allow_summary_wysiwyg',$this->GetPreference('allow_summary_wysiwyg',1)); $tpl_ob->assign('startdate', $startdate); $tpl_ob->assign('enddate', $enddate); $tpl_ob->assign('status',$this->CreateInputHidden($id,'status',$status)); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE public = 1 ORDER BY item_order'; $dbr = $db->Execute($query); $customfields = array(); $customfieldsbyname = array(); while( $dbr && ($row = $dbr->FetchRow()) ) { if( $row['type'] == 'linkedfile' ) continue; $obj = new StdClass(); $obj->name = $row['name']; $obj->type = $row['type']; $obj->id = $row['id']; $obj->max_length = $row['max_length']; $key = str_replace(' ','_',strtolower($row['name'])); $customfieldsbyname[$key] = $obj; } if( count($customfieldsbyname) ) $tpl_ob->assign('customfields',$customfieldsbyname); $tpl_ob->display(); if( $do_send_email == true ) { $tpl_ob2 = $smarty->CreateTemplate($this->GetDatabaseResource('email_template')); $tmp_vars = $tpl_ob->get_template_vars(); foreach( $tmp_vars as $key => $val ) { $tpl_ob2->assign($key,$val); } $tmp_vars2 = $tpl_ob2->get_template_vars(); // this needs to be done after the form is generated // because we use some of the same smarty variables $cmsmailer = new cms_mailer; if( $cmsmailer ) { $addy = trim($this->GetPreference('formsubmit_emailaddress')); if( $addy != '' ) { $tpl_ob2->assign('startdate',$startdate); $tpl_ob2->assign('enddate',$enddate); $tpl_ob2->assign('ipaddress',\cms_utils::get_real_ip()); $tpl_ob2->assign('status',$status); if( $title != '' ) $tpl_ob2->assign('title',$title); if( $summary != '' ) $tpl_ob2->assign('summary',$summary); if( $content != '' ) $tpl_ob2->assign('content',$content); $cmsmailer->AddAddress( $addy ); $cmsmailer->SetSubject( $this->GetPreference('email_subject',$this->Lang('subject_newnews'))); $cmsmailer->IsHTML( false ); $body = $tpl_ob2->fetch(); $cmsmailer->SetBody( $body ); $cmsmailer->Send(); } } } if( $do_redirect ) $this->RedirectContent($dest_page); // END OF FILE ?> CheckPermission( 'Modify Site Preferences' ) ) return; $this->SetPreference('default_category', $params['default_category']); $this->SetPreference('formsubmit_emailaddress', $params['formsubmit_emailaddress']); $this->SetPreference('email_subject',trim($params['email_subject'])); $this->SetTemplate('email_template',$params['email_template']); $this->SetPreference('allowed_upload_types', $params['allowed_upload_types']); $this->SetPreference('hide_summary_field', (isset($params['hide_summary_field'])?'1':'0')); $this->SetPreference('allow_summary_wysiwyg', (isset($params['allow_summary_wysiwyg'])?'1':'0')); $this->SetPreference('expired_searchable', (isset($params['expired_searchable'])?'1':'0')); $this->SetPreference('expired_viewable', (isset($params['expired_viewable'])?'1':'0')); $this->SetPreference('expiry_interval', $params['expiry_interval']); $this->SetPreference('fesubmit_status', $params['fesubmit_status']); $this->SetPreference('fesubmit_redirect', trim($params['fesubmit_redirect'])); $this->SetPreference('detail_returnid',(int)$params['detail_returnid']); $this->SetPreference('allow_fesubmit',(int)$params['allow_fesubmit']); $this->SetPreference('alert_drafts',(int)$params['alert_drafts']); $this->CreateStaticRoutes(); $params = array('tab_message'=> 'optionsupdated', 'active_tab' => 'options'); $this->SetMessage($this->Lang('optionsupdated')); $this->RedirectToAdminTab('options','','admin_settings'); ?>
  • Version 2.51.14

    - Fixed BR #12794 - News-fields typo item_orderr;

  • Version: 1.0

    This module is a hacked and extended version of Ted Kulp\'s News module. I simply added another field to the database, and some more code to make that field worl.... I also re-cleaned the code a bit, so it was a little easier to read, other than that, it\'s Ted\'s code.

  • Version: 1.1

    Added the ability to set an automatic expiry date from a pulldown, moved the category selection, and on the main page you now filter the entries you want to see.

  • Version: 1.2

    Added summary, no_anchor and length parameters. In summary mode links are made to the real articles, tags are stripped, and links are insreted to the news page and the specific news item.

  • Version: 1.3

    Minor cosmetic changes

  • Version 1.5

    Merged into the trunk News module

  • Version 1.6

    Added pagination, and moved the add button to the top (calguy)

  • Version 2.0

    Re-written to use smarty templates, and several other significant improvements

  • Version 2.0.1

    Minor tweaks to the RSS output to allow it to work correctly on different browsers, and to support non alpha numeric characters in the description.

  • Version 2.0.2

    - Add a "start" parameter to specify a start offset for news items

    - The template tabs now have a "reset to default" button on them

    - Start menu item is now required, but end date is optional when useexpirydate is on,

    - Change the permissions model significantly, The "Modify News" permission is only for articles and categories. "Modify Templates" permission is required to edit the templates, and "Modify Site Preferences" is required to edit the options.

    - Put the rss feed titile into the lang entries

  • Version 2.0.3

    - Added the ability to track the original author of an article

  • Version 2.2

    - Added browsecat parameter

  • Version 2.3

    - Changed to use multiple database templates Old file templates will not work.

    - Now allow for admin approval to change news state from draft to published.

    - Pagination is now available in the default summary templates

    - More.

  • Version 2.3.0.2

    - Minor fixes to the help, changelog, to the number parameter, and to add a missing CreatePermission call.

    - Fixes to the start parameter to work differently

  • Version 2.4

    - Added a form on the frontend to allow users to submit news articles. This should be wrapped with customcontent to prevent spamming, etc.

    - Fixes to allow 1.0.x compatibility.

    - Updated the help.

  • Version 2.5

    Adds an extra field that can be re-used for anything (associating with a file, an extra image, etc.

  • Version 2.5.1

    Removes a small error I left in a template.

    Moves the default templates into their own tab to remove confusion.

    Use SelectLimit in the summary view instead of the LIMIT n,start or LIMIT n offset startelement

    Bumped minimum version to 1.1

  • Version 2.6

    Adds user defined fields, including text areas, text input, checkboxes, and \'files\' which allows you to associate a file with a particular news article.

    Adds the ability to bulk change the category of selected news articles

    Adds the ability to bulk delete selected news articles

    Adds a new permission \'Delete News\'. Users will need this permission to be able to delete news articles.

    Fixes some frontend editing capabilities (extra fields aren\'t in there yet)

    Adds a preference to allow hiding the summary text area for adding and editing articles.

    Remove the news content type (was deprecated in News 2.5.1)

    Now Requires CMS 1.2 or later

    Fixes some hardcoded lang strings in the articles tab

    Adds a preference that allows specifying the default number of days before an article expires (if expiry is used)

    Fixes the browsecat mode so that extra parameters added on the tag are carried down through the links

    Adds multiple database templates to the browsecat action.

  • Version 2.6.1

    Now use cms_move_uploaded_file instead of move_uploaded_file.

    Fixes a minor issue with the start parameter.

    Now Require CMS 1.2.1 or later

    Fixes an issue where I was assuming that the db prefix was cms_

    Fixes some warnings if no custom fields were defined.

    Fixes some calls to GetModuleInstance().

  • Version 2.6.2

    Decode entities for the template name when editing a template

    Fix an issue with warnings if no custom fields are defined

  • Version 2.7

    Fixes to news fesubmit and html entities

    Adds an optional dropdown category box for fesubmit

    Adds a preference indicating to disable the wysiwyg for the summary view

    Adds a preference to determine which page to redirect to after fesubmit

    Fixes to author id and author management wrt frontend submitted articles

    Adds a preference to allow defining a landing page for links generated in the rss feed

    Updates the pretty urls in the rss feed

    A slight tweak to the rssfeed.tpl to use the feed title.

    Adds custom field support to the frontend submit form

  • Version 2.8

    Now require CMS 1.3-beta1 at least

    Now use cms_html_entity_decode to ensure php4 compatibility

    Support the extra field in the fesubmit form

    Add fieldsbyname values to detail and summary reports

    Fix minor issue with missing table prefix when deleting a category

    Fix browsecat if there are one or more child categories with the same name

    Cleanup and some minor bug fixes

  • Version 2.8.1

    Fixes a minor problem with custom fields.

    Fixes a minor problem with sorting by news_extra.

  • Version 2.8.2

    Fixes a minor problem with registered routes

  • Version 2.8.3

    Fixes a minor problem with fesubmit redirect actions

  • Version 2.9

    Adds notification output

    Adds prevpage and nextpage url variables in the summary view.

    Get rid of the dateformat parameter and preference.

    Remove any and all RSS code

    Add support for syntax hilighter when editing templates.

    Bug fixes

  • Version 2.9.2

    Add the showall parameter.

    Minor cleanup to parameters.

    Add a new preference to allow showing expired articles in search results. If you plan on using this parameter, you may need to re-index all search content.

  • Version 2.9.3

    Fix help wrt the number and pagelimit parameters.

    Add the articleid=-1 capability to the detail view.

    No longer add empty values for empty extra fields submitted via the fesubmit action.

    Add keys to the fieldvals table.

    Fix problem with draft articles being searchable.

  • Version 2.9.4

    Hide the expiry date stuff when adding/editing an article, unless use expiry date is checked.

    Add create date and modified date to be available in the summary template (usefull for rss feeds in cgfeedmakr).

    Fix problem with browsecat counting non published articles.

  • Version 2.10

    Numerous bug fixes and minor enhancements.

  • Version 2.10.1

    Fix minor warning.

  • Version 2.10.2

    Fix minor permission related template issues.

  • Version 2.10.3

    Fix minor template issue.

  • Version 2.10.4

    Minor bug fixes.

  • Version 2.10.5

    Minor bug fixes.

  • Version 2.11.1

    bug fix to #5861 ... a fix to the custom field on error.

  • Version 2.11.2

    Fix pretty urls for search results.

    Fix canonical url in detail view.

  • >Version 2.12
    • Major re-structuring takes place. Involves oopifying much of the code for the summary and detail views.
    • The objects provided in the summary and detail views are now not simple objects, but smart ones. Read the information in system default detail template for more information.
    • Optimization of code to minimize queries and improve performance.
    • Removes field alieses i,e.: \$entry->fieldname in the summary and detail views as it was an incomplete, problematic solution.
    • The \$entry->fields and \$entry->customfieldsbyname hash are now merged into \$entry->fields. This may cause some problems with upgrading.
    • Adds support for preview when adding or editing a news article.
    • Adds support for a user selectable search module.
    • Removes print actions.
    • Many more changes.
  • Version 2.12.9
    • Now send event when when status is changed in admin panel.
    • News fesubmit documented as deprecated.
    • Added the showall preference to prevent throwing an exception when viewing expired articles in detail view and the showall param
  • Version 2.14
    • Enhancements to the news_field class.
    • Adds the idlist parameter.
    • Security fix.

Browse category template help

Assigned Variables

  • cats (array) - A flat array of records (each record is itself an array) that contains information about that category.

    Record Details:

    • news_category_id (int) - The numeric id of this category.
    • news_category_name (string) - The name of this category.
    • parent_id (int) - The numeric id of this category's parent. A value less than one indicates no parent.
    • item_order (int) - A numeric representation of this category's order amongst its peers.
    • index (int) - An increasing index of the current category information.
    • count (int) - The number of valid, displayable articles in this category.
    • url (string) - A URL that will generate a summary view of all of the valid, displayable articles in this category.

News module entry object reference:

The News module's detail view exports the following variables:

  • $entry - A simple object that contains information about the one entry.
  • $category_name - (string) the category name for the category that this article belongs to.
  • $category_link - (string) (deprecated) A link to a summary view for articles in this category.

$entry Object Reference

  • id (integer) - The unique article id.
  • author_id (integer) - The userid of the author who created the article. This value may be negative to indicate an FEU userid.
  • title (string) - The title of the article.
  • summary (text) - The summary text (may be empty or unset).
  • extra (string) = The "extra" data associated with the article (may be empty or unset).
  • news_url (string) = The url segment associated with this article (may be empty or unset).
  • postdate (string) = A string representing the news article post date. You may filter this through cms_date_format for different display possibilities.
  • startdate (string) = A string representing the date the article should begin to appear. (may be empty or unset).
  • enddate (string) = A string representing the date the article should stop appearing on the site (may be empty or unset).
  • category_id (integer) = The unique id of the hierarchy level where this article resides (may be empty or unset)
  • status (string) = either 'draft' or 'published' indicating the status of this article.
  • author (string) = The username of the original author of the article. If the article was created by frontend submission, this will attempt to retrieve the username from the FEU module.
  • authorname (string) = The full name of the original author of the website. Only applicable if article was created by an administrator and that information exists in the administrators profile.
  • category (string) = The name of the category that this article is associated with.
  • canonical (string) = A full URL (prettified) to this articles detail view using defaults if necessary.
  • fields (associative) = An associative array of field objects, representing the fields, and their values for this article. See the information below on the field object definition. In past versions of News this was a simple array, now it is an associative one.
  • customfieldsbyname = (deprecated) - A synonym for the 'fields' member
  • fieldsbyname = (deprecated) - A synonym for the 'fields' member
  • useexp (integer) = A flag indicating wether this article is using the expiry information.
  • file_location (string) = A url containing the location where files attached the article are stored... the field value should be appended to this url.

Members can be displayed by the following syntax: {$entry->membername} or assigned to another smarty variable using {assign var='foo' value=$entry->membername}.

The following members are available in the entry array:

field Object Reference

The news_field object contains data about the fields and their values that are associated with a particular news article.

  • id (integer) = The id of the field definition
  • name (string) = The name of the field
  • type (string) = The type of field
  • max_length (integer) = The maximum length of the field (applicable only to text fields)
  • item_order (integer) = The order of the field
  • public (integer) = A flag indicating wether the field is public or not
  • value (mixed) = The value of the field.

News form template help

Templates of this type are used by the fesubmit action of the News module. Note: This action is deprecated.

Assigned Variables

  • mod (News) - A reference to the News module object.
  • actionid (string) - The action identifier string.
  • message (string) - After submission, this variable will contain a message to display to the user.
  • error (string) - After submission, this variable will contain any error message regarding the form submission.
  • category_id (int) - The category id of the selected category (if any).
  • title (string) - The user entered article title. This will be empty until after form submission.
  • categorylist (array) - An array of category id's and names. Suitable for use in a select list.
  • extra (string) - The user entered extra string. This will be empty until after form submission.
  • content (string) - The user entered HTML content. This will be empty until after form submission.
  • summary (string) - The user entered article summary. This will be empty until after form submission.
  • hide_summary (bool) - Whether or not the summary field should be hidden.
  • allow_summary_wysiwyg (bool) - Whether or not to allow the summary field to be a WYSIWYG.
  • startdate (int) - The unix timestamp of the user entered start time, if any.
  • enddate (int) - The unix timestamp of the user entered end time, if any.
  • status (string - The status of the entered article.
  • customfields (array of objects) - An array of simple objects that describe the custom fields that are eligible to be edited.
  • )

Special Notes:

In CMSMS, all forms must contain a few hidden inputs to aide in the handling process. For that reason, all cmsms forms must start with the {form_start} tag, or it's equivalent created within PHP, and end with the {form_end} tag. The {form_start} tag can take many parameters.

The name of all form input/select/textarea elements must be prefixed with the {$actionid} variable, and the name of the fields are important for the processing of the submitted information, so cannot be changed.

The factory default template distributed with the News module does not place any special requirements on the classes, or ids used within this template.

News summary template help

Assigned Variables

  • $prevpage (string) - If the current page number is one, this is a translated string for the 'prevpage' key. Otherwise, it is a link that will result in a summary view displaying the previous page
  • $prevurl (string) - If the current page number is one, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the previous page.
  • $fisstpage (string) - If the current page number is one, this is a translated string for the 'fistpage' key. Otherwise, it is a link that will result in a summary view displaying the fist page
  • $firsturl (string) - If the current page number is one, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the first page.
  • $nextpage (string) - If the current page number is the last page given the current criteria, this is a translated string for the 'nextpage' key. Otherwise, it is a link that will result in a summary view displaying the next page
  • $nexturl (string) - If the current page number is the last page givent he current criteria, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the next page.
  • $lastpage (string) - If the current page number is the last page given the current criteria, this is a translated string for the 'nextpage' key. Otherwise, it is a link that will result in a summary view displaying the last page
  • $lasturl (string) - If the current page number is the last page givent he current criteria, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the last page.
  • $pagenumber (int) - The current page number. Starting at 1.
  • $pagecount (int) - The total number of pages to display, given the current criteria.
  • $oftext (string) - The translated string for "of"
  • $pagetext (string) - The translated string for "page"
  • $itemcount (int) - The total number of items that will be displayed in this view (count of the $items array)
  • $items - (object[]) - An array of objects representing the news articles to be displayed.
  • $category_name (string) - If a category id or category name was passed to the call to this module, then this variable will contain the name of the specified category. Otherwise, it will be empty.
  • $cats - (array) - An array of category information representing all categories in the News module.

News article objects

The $items array contains an array of news article objects. Below are the members.

Because the news article objects, are objects, you address them like: {$entry->id} etc.

  • author_id (int) - The uid of the author. If greater than 0 an admin user account is assumed. If less than zero an FEU user account is assumed. A value of 0 indicates an anonymous user.
  • author (string) The username of the author... or unknown
  • authorname (string) - For admin user ids, this is a concatenation of the users first and last names, if they exist. This is undefined for FEU entries.
  • id (int) - The numerical id of the article.
  • title (string) - The title of the article.
  • content (string) - The HTML content for the article.
  • summary (string) - The article summary.
  • postdate (string) - The article post date.
  • extra (string) - Optional, extra information.
  • startdate (string) - Optional, the start date of the article.
  • enddate (string) - Optional, the end date of the article.
  • create_date (string) - The date the article was first created.
  • modified_date (string) - The date the article was last modified.
  • category (string) - The article's category name.
  • fields (associative) - An associative array of field objects, representing the fields, and their values for this article. See the information below on the field object definition. In past versions of News this was a simple array, now it is an associative one.
  • fieldsbyname (associative) (deprecated) - A synonym for the 'fields' member
  • file_location (string) - The URL prefix to where files for this article are stored.
  • detail_url (string) - The URL to the detail view of the article.
  • link (string) (deprecated) - The URL to the detail view of the article.
  • titlelink (string) (deprecated) - A link (usign the article title as the text) to the detail view of the article.
  • morelink (string) (deprecated) - A link (using a translation of the word "more" as the text), to the detail view of the article.
  • moreurl (string) (deprecated) - A URL to the detail view of the article.

Category Information

The following section illustrates the important elements of the category array. Other items exist but are used for internal organizational purposes.

This information is deprecated, as it could be retrieved by calling the browsecat action.

Note, each of the members of the $cats array is an associiative array of it's own. You address it like {$cats[0]['news_category_name']} etc.

  • news_category_id (int) - The id of this category entry.
  • news_category_name (string) - The name of this category entry.
  • parent_id (int) - The id of the parent of this entry. -1 indicates no parent.
  • count (int) - A count of the number of displayable articles in this category.
  • prevdepth (int) - The depth (from the root) of the previous node.
  • depth (int) - The (from the root category) of the current node.
  • url (string) - A URL to a summary view of all items in this category.
assign('formstart',$this->CreateFormStart($id,'defaultadmin')); if (isset($params['bulk_action']) ) { if( !isset($params['sel']) || !is_array($params['sel']) || count($params['sel']) == 0 ) { echo $this->ShowErrors($this->Lang('error_noarticlesselected')); } else { $sel = array(); foreach( $params['sel'] as $one ) { $one = (int)$one; if( $one < 1 ) continue; if( in_array($one,$sel) ) continue; $sel[] = $one; } switch($params['bulk_action']) { case 'delete': if (!$this->CheckPermission('Delete News')) { echo $this->ShowErrors($this->Lang('needpermission', array('Modify News'))); } else { foreach( $sel as $news_id ) { news_admin_ops::delete_article( $news_id ); } } echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setcategory': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET news_category_id = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $parms = array((int)$params['category']); $db->Execute($query,$parms); audit('',$this->GetName(),'category changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setpublished': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET status = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $db->Execute($query,array('published')); audit('',$this->GetName(),'status changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setdraft': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET status = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $db->Execute($query,array('draft')); audit('',$this->GetName(),'status changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; default: break; } } } $categorylist = array(); $categorylist[$this->Lang('allcategories')] = ''; $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['long_name']; } $pagenumber = 1; if( isset($_SESSION['news_pagenumber']) ) { $pagenumber = (int)$_SESSION['news_pagenumber']; } if( isset( $params['pagenumber'] ) ) { $pagenumber = (int)$params['pagenumber']; $_SESSION['news_pagenumber'] = $pagenumber; } if( isset($params['submitfilter']) ) { if( isset( $params['category']) ) { $this->SetPreference('article_category',trim($params['category'])); } if( isset( $params['sortby'] ) ) { $this->SetPreference('article_sortby', str_replace("'",'_',$params['sortby'])); } if( isset( $params['pagelimit'] ) ) { $this->SetPreference('article_pagelimit',(int)$params['pagelimit']); } $allcategories = (isset($params['allcategories'])?$params['allcategories']:'no'); $this->SetPreference('allcategories',$allcategories); unset($_SESSION['news_pagenumber']); $pagenumber = 1; } else if( isset($params['resetfilter']) ) { $this->SetPreference('article_category',''); $this->SetPreference('article_pagelimit',50); $this->SetPreference('article_sortby','news_date DESC'); $this->SetPreference('allcategories','no'); unset($_SESSION['news_pagenumber']); $pagenumber = 1; } $curcategory = $this->GetPreference('article_category'); $pagelimit = (int) $this->GetPreference('article_pagelimit',50); $allcategories = $this->GetPreference('allcategories','no'); $sortby = $this->GetPreference('article_sortby','news_date DESC'); $sortlist = array(); $sortlist[$this->Lang('post_date_desc')]='news_date DESC'; $sortlist[$this->Lang('post_date_asc')]='news_date ASC'; $sortlist[$this->Lang('expiry_date_desc')]='end_time DESC'; $sortlist[$this->Lang('expiry_date_asc')]='end_time ASC'; $sortlist[$this->Lang('title_asc')] = 'news_title ASC'; $sortlist[$this->Lang('title_desc')] = 'news_title DESC'; $sortlist[$this->Lang('status_asc')] = 'status ASC'; $sortlist[$this->Lang('status_desc')] = 'status DESC'; $smarty->assign('prompt_category',$this->Lang('category')); $smarty->assign('categorylist',array_flip($categorylist)); $smarty->assign('curcategory',$curcategory); $smarty->assign('allcategories',$allcategories); $smarty->assign('sortlist',array_flip($sortlist)); $smarty->assign('pagelimits',array(10=>10,25=>25,50=>50,250=>250,500=>500,1000=>1000)); $smarty->assign('pagelimit',$pagelimit); $smarty->assign('sortby',$sortby); $smarty->assign('prompt_showchildcategories',$this->Lang('showchildcategories')); $smarty->assign('prompt_sorting',$this->Lang('prompt_sorting')); $smarty->assign('submitfilter', $this->CreateInputSubmit($id,'submitfilter',$this->Lang('submit'))); $smarty->assign('prompt_pagelimit', $this->Lang('prompt_pagelimit')); $smarty->assign('formend',$this->CreateFormEnd()); //Load the current articles $entryarray = array(); $dbresult = ''; $query1 = "SELECT SQL_CALC_FOUND_ROWS n.*, nc.long_name FROM ".CMS_DB_PREFIX."module_news n LEFT OUTER JOIN ".CMS_DB_PREFIX."module_news_categories nc ON n.news_category_id = nc.news_category_id "; $parms = array(); if ($curcategory != '') { $query1 .= " WHERE nc.long_name LIKE ?"; if( $allcategories == 'yes' ) { $parms[] = $curcategory.'%'; } else { $parms[] = $curcategory; } } $query1 .= ' ORDER by '.$sortby; $pagenumber = max(1,$pagenumber); $startelement = ($pagenumber-1) * $pagelimit; $dbresult = $db->SelectLimit( $query1, $pagelimit, $startelement, $parms); $numrows = (int) $db->GetOne('SELECT FOUND_ROWS()'); $pagecount = (int)ceil($numrows/$pagelimit); $smarty->assign('mod',$this); $smarty->assign('pagenumber',$pagenumber); $smarty->assign('pagecount',$pagecount); $smarty->assign('oftext',$this->Lang('prompt_of')); $rowclass = 'row1'; $admintheme = cms_utils::get_theme_object(); while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $onerow->id = $row['news_id']; $onerow->news_title = $row['news_title']; $onerow->title = $this->CreateLink($id, 'editarticle', $returnid, $row['news_title'], array('articleid'=>$row['news_id'])); $onerow->data = $row['news_data']; $onerow->expired = 0; if( ($row['end_time'] != '') && ($db->UnixTimeStamp($row['end_time']) < time()) ) $onerow->expired = 1; $onerow->postdate = $row['news_date']; $onerow->startdate = $row['start_time']; $onerow->enddate = $row['end_time']; $onerow->u_postdate = $db->UnixTimeStamp($row['news_date']); $onerow->u_startdate = $db->UnixTimeStamp($row['start_time']); $onerow->u_enddate = $db->UnixTimeStamp($row['end_time']); $onerow->status = $this->Lang($row['status']); if( $this->CheckPermission('Approve News') ) { if( $row['status'] == 'published' ) { $onerow->approve_link = $this->CreateLink($id,'approvearticle', $returnid, $admintheme->DisplayImage('icons/system/true.gif',$this->Lang('revert'),'','','systemicon'),array('approve'=>0,'articleid'=>$row['news_id'])); } else { $onerow->approve_link = $this->CreateLink($id,'approvearticle', $returnid, $admintheme->DisplayImage('icons/system/false.gif',$this->Lang('approve'),'','','systemicon'),array('approve'=>1,'articleid'=>$row['news_id'])); } } $onerow->category = $row['long_name']; $onerow->rowclass = $rowclass; if( $this->CheckPermission('Modify News') ) { $onerow->edit_url = $this->create_url($id,'editarticle',$returnid, array('articleid'=>$row['news_id'])); $onerow->editlink = $this->CreateLink($id, 'editarticle', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('articleid'=>$row['news_id'])); } if( $this->CheckPermission('Delete News') ) { $onerow->delete_url = $this->create_url($id,'deletearticle',$returnid, array('articleid'=>$row['news_id'])); } $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); if( $this->CheckPermission('Modify News') ) { $smarty->assign('addlink', $this->CreateLink($id, 'addarticle', $returnid, $admintheme->DisplayImage('icons/system/newobject.gif', $this->Lang('addarticle'),'','','systemicon'), array(), '', false, false, '') .' '. $this->CreateLink($id, 'addarticle', $returnid, $this->Lang('addarticle'), array(), '', false, false, 'class="pageoptions"')); } $smarty->assign('can_add',$this->CheckPermission('Modify News')); $smarty->assign('form2start',$this->CreateFormStart($id,'defaultadmin',$returnid)); $smarty->assign('form2end',$this->CreateFormEnd()); $smarty->assign('submit_reassign',$this->CreateInputSubmit($id,'submit_reassign',$this->Lang('submit'))); $categorylist = news_ops::get_category_list(); $smarty->assign('categoryinput',$this->CreateInputDropdown($id,'category',$categorylist)); if( $this->CheckPermission('Delete News') ) { $smarty->assign('submit_massdelete', $this->CreateInputSubmit($id,'submit_massdelete',$this->Lang('delete_selected'), '','',$this->Lang('areyousure_deletemultiple'))); } $smarty->assign('reassigntext',$this->Lang('reassign_category')); $smarty->assign('selecttext',$this->Lang('select')); $smarty->assign('filtertext',$this->Lang('title_filter')); $smarty->assign('statustext',$this->Lang('status')); $smarty->assign('startdatetext',$this->Lang('startdate')); $smarty->assign('enddatetext',$this->Lang('enddate')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('categorytext', $this->Lang('category')); $config = $this->GetConfig(); $themedir = $config['admin_url'].'/themes/'.$admintheme->themeName.'/images/icons/system'; $smarty->assign('iconurl',$themedir); #Display template echo $this->ProcessTemplate('articlelist.tpl'); CheckPermission('Modify Site Preferences') ) return; // Put together a list of current categories... $entryarray = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); $rowclass = 'row1'; $admintheme = cms_utils::get_theme_object(); while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $depth = count(preg_split('/\./', $row['hierarchy'])); $onerow->id = $row['news_category_id']; $onerow->depth = $depth - 1; $onerow->edit_url = $this->create_url($id,'editcategory',$returnid,array('catid'=>$row['news_category_id'])); $onerow->name = $row['news_category_name']; $onerow->editlink = $this->CreateLink($id, 'editcategory', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('catid'=>$row['news_category_id'])); $onerow->delete_url = $this->create_url($id,'deletecategory',$returnid, array('catid'=>$row['news_category_id'])); $onerow->deletelink = $this->CreateLink($id, 'deletecategory', $returnid, $admintheme->DisplayImage('icons/system/delete.gif', $this->Lang('delete'),'','','systemicon'), array('catid'=>$row['news_category_id']), $this->Lang('areyousure')); $onerow->rowclass = $rowclass; $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); // Setup links $smarty->assign('categorytext', $this->Lang('category')); // Display template echo $this->ProcessTemplate('categorylist.tpl'); // EOF ?> CheckPermission('Modify Site Preferences') ) return; $entryarray = array(); $max = $db->GetOne("SELECT max(item_order) as max_item_order FROM ".CMS_DB_PREFIX."module_news_fielddefs"); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_fielddefs ORDER BY item_order"; $dbresult = $db->Execute($query); $admintheme = cms_utils::get_theme_object(); $rowclass = 'row1'; while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $onerow->id = $row['id']; $onerow->name = $this->CreateLink($id, 'admin_editfielddef', $returnid, htmlspecialchars($row['name']), array('fdid'=>$row['id'])); $onerow->type = $this->Lang($row['type']); $onerow->max_length = $row['max_length']; $onerow->item_order = $row['item_order']; if ($onerow->item_order > 1) { $onerow->uplink = $this->CreateLink($id, 'admin_movefielddef', $returnid, $admintheme->DisplayImage('icons/system/arrow-u.gif', $this->Lang('up'),'','','systemicon'), array('fdid'=>$row['id'], 'dir'=>'up')); } else { $onerow->uplink = ''; } if ($max > $onerow->item_order) { $onerow->downlink = $this->CreateLink($id, 'admin_movefielddef', $returnid, $admintheme->DisplayImage('icons/system/arrow-d.gif', $this->Lang('down'),'','','systemicon'), array('fdid'=>$row['id'], 'dir'=>'down')); } else { $onerow->downlink = ''; } $onerow->editlink = $this->CreateLink($id, 'admin_editfielddef', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('fdid'=>$row['id'])); $onerow->delete_url = $this->create_url($id, 'admin_deletefielddef', $returnid, array('fdid'=>$row['id'])); $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); $smarty->assign('addurl', $this->create_url($id,'admin_addfielddef')); $smarty->assign('addlink', $this->CreateLink($id, 'admin_addfielddef', $returnid, $admintheme->DisplayImage('icons/system/newfolder.gif', $this->Lang('addfielddef'),'','','systemicon'), array(), '', false, false, '') .' '. $this->CreateLink($id, 'admin_addfielddef', $returnid, $this->Lang('addfielddef'), array(), '', false, false, 'class="pageoptions"')); $smarty->assign('fielddeftext', $this->Lang('fielddef')); $smarty->assign('typetext', $this->Lang('type')); #Display template echo $this->ProcessTemplate('customfieldstab.tpl'); // EOF ?> assign('startform', $this->CreateFormStart ($id, 'updateoptions', $returnid)); $smarty->assign('endform', $this->CreateFormEnd ()); $smarty->assign('title_formsubmit_emailaddress',$this->Lang('formsubmit_emailaddress')); $smarty->assign('formsubmit_emailaddress',$this->GetPreference('formsubmit_emailaddress','')); $smarty->assign('title_email_subject',$this->Lang('email_subject')); $smarty->assign('email_subject',$this->GetPreference('email_subject','')); $smarty->assign('title_email_template',$this->Lang('email_template')); $smarty->assign('email_template',$this->GetTemplate('email_template')); $categorylist = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } $smarty->assign('title_default_category', $this->Lang('default_category')); $smarty->assign('categorylist',array_flip($categorylist)); $smarty->assign('default_category',$this->GetPreference('default_category')); $smarty->assign('title_allowed_upload_types',$this->Lang('allowed_upload_types')); $smarty->assign('allowed_upload_types',$this->GetPreference('allowed_upload_types')); $smarty->assign('title_auto_create_thumbnails',$this->Lang('auto_create_thumbnails')); $smarty->assign('title_hide_summary_field',$this->Lang('hide_summary_field')); $smarty->assign('hide_summary_field',$this->GetPreference('hide_summary_field',0)); $smarty->assign('title_allow_summary_wysiwyg',$this->Lang('allow_summary_wysiwyg')); $smarty->assign('allow_summary_wysiwyg',$this->GetPreference('allow_summary_wysiwyg',1)); $smarty->assign('title_expiry_interval',$this->Lang('expiry_interval')); $smarty->assign('expiry_interval',$this->GetPreference('expiry_interval',180)); $smarty->assign('title_expired_searchable',$this->Lang('expired_searchable')); $smarty->assign('expired_searchable',$this->GetPreference('expired_searchable')); $smarty->assign('title_expired_viewable',$this->Lang('expired_viewable')); $smarty->assign('expired_viewable',$this->GetPreference('expired_viewable',1)); $smarty->assign('info_expired_viewable',$this->Lang('info_expired_viewable')); $smarty->assign('title_fesubmit_status',$this->Lang('fesubmit_status')); $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $smarty->assign('statuses',array_flip($statusdropdown)); $smarty->assign('fesubmit_status',$this->GetPreference('fesubmit_status')); $smarty->assign('input_fesubmit_status', $this->CreateInputDropdown($id,'fesubmit_status',$statusdropdown,-1,$this->GetPreference('fesubmit_status','draft'))); $smarty->assign('title_fesubmit_redirect',$this->Lang('fesubmit_redirect')); $smarty->assign('fesubmit_redirect',$this->GetPreference('fesubmit_redirect')); $contentops = $gCms->GetContentOperations(); $smarty->assign('title_detail_returnid',$this->Lang('title_detail_returnid')); $smarty->assign('input_detail_returnid', $contentops->CreateHierarchyDropdown('',$this->GetPreference('detail_returnid',-1), $id.'detail_returnid')); $smarty->assign('info_detail_returnid',$this->Lang('info_detail_returnid')); $smarty->assign('title_submission_settings',$this->Lang('title_submission_settings')); $smarty->assign('title_fesubmit_settings',$this->Lang('title_fesubmit_settings')); $smarty->assign('title_notification_settings',$this->Lang('title_notification_settings')); $smarty->assign('title_detail_settings',$this->Lang('title_detail_settings')); $smarty->assign('allow_fesubmit',$this->GetPreference('allow_fesubmit',0)); $smarty->assign('alert_drafts',$this->GetPreference('alert_drafts',0)); // Display the populated template echo $this->ProcessTemplate ('adminprefs.tpl'); ?>GIF89aֽබ9}q nTz=g\!gP4&fB(s9L}j!,@ QhWiIhih8ǒ<:N k%*8QND%,Q G  KwKBGKK Ы GɿF ֘ݜÚQ pN#`8` ;PNG  IHDR00WIDAThLU-VLUl. sfmMWfrksS-YF2jA~ CQT CQQQanܧ={pzy={s=;DDԬaYGeJKLi픐&Qucltawa M*o/8{êf%WˤJWo+I%$z:-Y1Ƈա ?rV{0*!Z˴ Io6c3Y - IN8>6:S^V# `r)ϣ,߄R704&p@M4 N͘]&ǣb=狀\e1l|8I8׻Rv/' P.A"1Ƈ6k30C@!3VR~tX`$?Vv(&&fa~~#N[Uf,˶Kn^0jlӝ$@ T5 juswm  ~zFFtuuɱcp:.)3:bc]d:yڵ4_|Y\s蠋#A@2)VdH]mii .0VgrtG@\MM˾}j ի.P\tA%@ZtttMWcCM_)fl(:acm`(,//y} b7nHkk+ݶ-b-B@9~qΝz%]&iiisVIW||90@3-` 蒒 r-9p5رCH!P:b-`yr89HaadggCnRRF tC]le,0I@_JKtjl@$99YB 1gleG+*̩Spd)m Ya0E:F7,.o:|YYY83va7kn:,0vr4}>c"~6⠢[eo,Ƈ"$XssUqj6fbb鎓J`d艘C]c 4xP>1kTJ!E P]]Ae{3!!Ac 9+>NP5pXZZwzNPznW^^XmAl L%`w#G֘g%m@XQd޽]J5tѣ˺C0Wἐst4bM,%mK! b^{X`>*0+D~:tHDD7l섹ML'6{AlEzS*+Nj8pPIRRRtRqӣyio+**+net ep jVwɬ&+L@-skV"~9yC]lL[cS/Fu(ܖBax7qm(AP[ظl8a+X-??BqH"anK'*H> !Zj&>v(?C6)*Aɒ>pJb!voɎ{b e.-d9A`:k X_}*N(09o'|9BŚ|IENDB`(maybe it is already used, or there are invalid characters)
'; $lang['error_mkdir'] = 'Could not create directory: %s'; $lang['error_movefile'] = 'Could not create file: %s'; $lang['error_noarticlesselected'] = 'No Articles Were Selected'; $lang['error_nooptions'] = 'No options specified for field definition'; $lang['error_templatenamexists'] = 'A template by that name already exists'; $lang['error_upload'] = 'Problem occurred uploading a file'; $lang['eventdesc-NewsArticleAdded'] = 'Sent when an article is added.'; $lang['eventhelp-NewsArticleAdded'] = '

Parameters

  • "news_id" - Id of the news article
  • "category_id" - Id of the category for this article
  • "title" - Title of the article
  • "content" - Content of the article
  • "summary" - Summary of the article
  • "status" - Status of the article ("draft" or "publish")
  • "start_time" - Date the article should start being displayed
  • "end_time" - Date the article should stop being displayed
  • "useexp" - Whether the expiration date should be ignored or not
'; $lang['eventdesc-NewsArticleDeleted'] = 'Sent when an article is deleted.'; $lang['eventhelp-NewsArticleDeleted'] = '

Parameters

  • "news_id" - Id of the news article
'; $lang['eventdesc-NewsArticleEdited'] = 'Sent when an article is edited.'; $lang['eventhelp-NewsArticleEdited'] = '

Parameters

  • "news_id" - Id of the news article
  • "category_id" - Id of the category for this article
  • "title" - Title of the article
  • "content" - Content of the article
  • "summary" - Summary of the article
  • "status" - Status of the article ("draft" or "publish")
  • "start_time" - Date the article should start being displayed
  • "end_time" - Date the article should stop being displayed
  • "useexp" - Whether the expiration date should be ignored or not

Note: Not all parameters may be present when this event is sent.

'; $lang['eventdesc-NewsCategoryAdded'] = 'Sent when a category is added.'; $lang['eventhelp-NewsCategoryAdded'] = '

Parameters

  • "category_id" - Id of the news category
  • "name" - Name of the news category
'; $lang['eventdesc-NewsCategoryDeleted'] = 'Sent when a category is deleted.'; $lang['eventhelp-NewsCategoryDeleted'] = '

Parameters

  • "category_id" - Id of the deleted category
  • "name" - Name of the deleted category
'; $lang['eventdesc-NewsCategoryEdited'] = 'Sent when a category is edited.'; $lang['eventhelp-NewsCategoryEdited'] = '

Parameters

  • "category_id" - Id of the news category
  • "name" - Name of the news category
  • "origname" - The original name of the news category
'; $lang['expired'] = 'Expired'; $lang['expired_searchable'] = 'Expired articles can appear in search results'; $lang['expired_viewable'] = 'Expired articles can be viewed in the detail view'; $lang['expiry'] = 'Expiry'; $lang['expiry_date_asc'] = 'Expiry Date Ascending'; $lang['expiry_date_desc'] = 'Expiry Date Descending'; $lang['expiry_interval'] = 'The number of days (by default) before an article expires (if expiry is selected)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; // F $lang['fesubmit_redirect'] = 'PageID or alias to redirect to after a news article has been submitted via the fesubmit action'; $lang['fesubmit_status'] = 'The status of news articles submitted via the frontend'; $lang['fielddef'] = 'Field Definition'; $lang['fielddefadded'] = 'Field Definition Successfully Added'; $lang['fielddefdeleted'] = 'Field Definition Deleted'; $lang['fielddefupdated'] = 'Field Definition Updated'; $lang['file'] = 'File'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Email address to receive notification of news submission'; $lang['formtemplate'] = 'Form Templates'; // H $lang['help'] = <<Important Notes

Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

What does this do?

News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

Numerous display methods

The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

Custom Fields

The News module allows defining numerous custom fields (including files and images) that will allow you to attach PDF files or numerous images to your articles.

Categories

News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

Expiry and Status

Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

Security

The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

How do I use it?

The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

Templates

Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

  • Copy the file template into the clipboard
  • Create a new database template (either summary or detailed as required). Give the new template the same name as the old file template, and paste the contents.
  • Hit Submit

Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

EOF; $lang['helpaction'] = <<
  • "detail" - to display a specified articleid in detail mode.
  • "default" - to display the summary view
  • "fesubmit" - Deprecated to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected WYSIWYG editor. (Site Admin >> Global Settings)
  • "browsecat" - to display a browsable category list.
  • EOT; $lang['helpbrowsecat'] = 'Shows a browsable category list.'; $lang['helpbrowsecattemplate'] = 'Use a database template for displaying the category browser. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['helpcategory'] = 'Used in the summary view to display only items for the specified categories. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories. This parameter also works for the frontend submit action, however only a single category name is supported.'; $lang['helpdetailpage'] = 'Page to display News details in. This can either be a page alias or an id. Used to allow details to be displayed in a different template from the summary. This parameter will have no effect for articles with custom URLs.'; $lang['helpdetailtemplate'] = 'Use a separate database template for displaying the article detail. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. This parameter is not used when generating urls if custom urls are specified.'; $lang['helpformtemplate'] = 'Use a database template for displaying the article submission form. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['helpmoretext'] = 'Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpnumber'] = 'Maximum number of items to display (per page) -- leaving empty will show all items. This is a synonym for the pagelimit parameter.'; $lang['helpshowall'] = 'Show all articles, irrespective of end date'; $lang['helpshowarchive'] = 'Show only expired news articles.'; $lang['helpsortasc'] = 'Sort news items in ascending date order rather than descending.'; $lang['helpsortby'] = 'Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc parameter is ignored.'; $lang['helpstart'] = 'Start at the nth item -- leaving empty will start at the first item.'; $lang['helpsummarytemplate'] = 'Use a separate database template for displaying the article summary. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['help_articleid'] = 'This parameter is only applicable to the detail view. It allows specifying which news article to display in detail mode. If the special value -1 is used, the system will display the newest, published, non expired article.'; $lang['help_article_title'] = 'Enter the article title. It should be a brief, and should not include any html tags.'; $lang['help_article_category'] = 'For organization purposes, you may select a category'; $lang['help_article_content'] = 'Enter the main article content here'; $lang['help_article_enddate'] = 'If use expiry is enabled, this date specifies when the article will be hidden from view'; $lang['help_article_extra'] = 'This is extra data to associate with the news article. It may be used for a sorting order or for other designer intended behavior. You should consult your site developer as to how this field is used (if at all)'; $lang['help_article_searchable'] = 'This field indicates whether this article should be indexed by the search module'; $lang['help_article_postdate'] = 'The postdate (usually the current date, for new articles) is the date that will be used as the publish date for the article. It is also used in sorting'; $lang['help_article_summary'] = 'Enter a brief paragraph to describe the article. This summary may be used when displaying views of a number of articles'; $lang['help_article_startdate'] = 'When use expiry is enabled, this date specifies the date from which the article will be visible on the website'; $lang['help_article_status'] = 'If you want the article to be immediately viewable by others then select a status of published. If you would like to continue working on this article for a while, then select draft.'; $lang['help_article_url'] = 'The optional article url (some other platforms call this a slug) is a unique url suffix to access this article. Users can navigate to <site_root>/<your_url> to view this article.'; $lang['help_article_useexpiry'] = 'This checkbox toggles the expiry date behavior. Expiry date behavior dictates when an article becomes visible on the website, and when it subsequently becomes invisible.'; $lang['help_articles_filtercategory'] = 'Optionally filter the list of displayed articles in this list by those that belong to the selected category'; $lang['help_articles_filterchildcats'] = 'If enabled, articles in the selected category, and their child categories will be displayed.'; $lang['help_articles_pagelimit'] = 'Select the number of articles to show in one page. For sites with a large number of articles specifying a page limit between 10 and 100 will significantly improve performance'; $lang['help_articles_sortby'] = 'Select how articles will be initially sorted.'; $lang['help_category_name'] = 'Enter a name for this category. The name should be safe for use in URLS and have no special characters.'; $lang['help_category_parent'] = 'Optionally specify a parent category to build a hierarchy of categories.'; $lang['help_fesubmit_redirect'] = 'Page ID or alias to redirect to after a succuessful frontend submission'; $lang['help_fielddef_maxlen'] = 'For text fields you can specify the maximum length of user input (in characters)'; $lang['help_fielddef_name'] = 'Each field definition must have a name. Though not strictly necessary, the field name should contain only alphanumeric characters and the underscore. Refrain from using whitespace in the field name.'; $lang['help_fielddef_options'] = 'Here you may specify the valid options for dropdown fields.'; $lang['help_fielddef_public'] = 'Specify if the field definition is public or not. Public field definitions are viewable in frontend views, and can be entered by the fesubmit action. Custom fields that are not public can only be edited in the Admin interface by authorized administrators.'; $lang['help_fielddef_type'] = 'Each custom field can be of a different type for different purposes. Select the field type that best matches the purpose of the field.'; $lang['help_idlist'] = 'Applicable only to the default action (summary view). This parameter accepts a comma separated list of numeric article ids and allows further filtering articles to only the article ids specified. The actual list of articles output is still subject to article status, expiry date, and other parameters.'; $lang['help_opt_alert_drafts'] = 'If enabled, you will receive notifications (alerts) indicating that one or more news articles needs to be reviewed and published.'; $lang['help_opt_allowed_upload_types'] = 'For custom fields of type "file" This setting indicates a comma separated list of file extensions that are valid for the article editor to upload.'; $lang['help_opt_dflt_category'] = 'This option allows specifying the default category for new news articles.'; $lang['help_opt_hide_summary'] = 'This option allows disabling the summary field when adding and/or editing a news article (including with the fesubmit action)'; $lang['help_opt_allow_summary_wysiwyg'] = 'This field indicates whether a WYSIWYG editor should be enabled for the summary field when editing an article. In many circumstances the summary field is a simple text field, however this is optional.
    This setting is ignored if the summary field is disabled completely (see above)'; $lang['help_opt_expiry_interval'] = 'Set the default number of days (minimum 1) That articles will expire in when article expiry is enabled. The expiry date can be adjusted when adding or editing a news article'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the parameter, text and links will be supplied to allow scrolling through the results. The maximum value for this parameter is 1000.'; $lang['hide_summary_field'] = 'Hide the summary field when adding or editing articles'; // I $lang['info_allow_fesubmit'] = 'This option controls wether the fesubmit action will be allowed to function at all for this site. Use caution when enabling this.'; $lang['info_categories'] = 'For organization purposes news articles can be organized into hierarchical categories'; $lang['info_detail_returnid'] = 'This preference is used to determine a page (and therefore a template) to use to view detail pages. Custom news Detail URLS will not work if this parameter is not set to a valid page. Additionally, if this preference is set, and no detailpage parameter is provided on the news tag, then this value will be used for detail links'; $lang['info_expired_searchable'] = 'If enabled, expired articles may continue to be indexed by the search module, and appear in search results'; $lang['info_expired_viewable'] = 'If enabled, expired articles can be viewed in detail mode (this is reproducing older functionality). the showall parameter can be used on the URL (when not using pretty urls) to also indicate that expired articles can be viewed'; $lang['info_fesubmit_notification'] = 'You may optionally send an email to a single email address when a new article is submitted via the fesubmit action.'; $lang['info_maxlength'] = 'The maximum length only applies to text input fields.'; $lang['info_public'] = 'Only Public fields are available for frontend editing, and/or for display in summary or detail views.'; $lang['info_reorder_categories'] = 'Drag and drop each item into the correct order to change category relationships'; $lang['info_searchable'] = 'This field indicates whether this article should be indexed by the search module'; $lang['info_sysdefault'] = '(the content used by default when a new template is created)'; $lang['info_sysdefault2'] = 'Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a \'new\' summary, detail, or form template. Changing content in this tab, and clicking \'submit\' will not effect any current displays.'; // L $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Search News Articles'; $lang['linkedfile'] = 'Linked file'; // M $lang['maxlength'] = 'Maximum Length'; $lang['msg_cancelled'] = 'Operation Cancelled'; $lang['msg_categoriesreordered'] = 'Category order updated'; $lang['msg_contenttype_removed'] = << Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['news']='أخبار'; $lang['nextpage']='>'; $lang['none']='لا شيء'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['options']='خيارات'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['prompt_page']='صفحة'; $lang['revert']='Set Status to 'Draft''; $lang['submit']='تقديم'; $lang['unknown']='غير معروف'; $lang['unlimited']='غير محدود'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expiry']='Изтича'; $lang['filter']='Филтер'; $lang['firstpage']='<<'; $lang['formtemplate']='Шаблони за форми'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction']='Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpcategory']='Показва само новините в тази категория. Използва * след името за да покаже подкатегориите. Множествени категории могат да се използват разделени чрез запейтаки. Оставяйки празно, показва всички категории.'; $lang['helpdetailpage']='Страница където да показва детайлите за новина. Тази страница може да бъде или псевдоним или id. Използва се за да може цялата новина да се покаже в различен шаблон от този за резюмето.'; $lang['helpdetailtemplate']='Използва отделен шаблон за визуализиране на детайлното показване на новината. Може да се намери в /modules/News/templates.'; $lang['helpmoretext']='Текст за визуализиране накрая на всяка новина ако текстта на резюмето й е по-дълъг. По подразбиране "прочети повече..."'; $lang['helpnumber']='Максимален брой статии за покзване =- оставяйки празно показва всички.'; $lang['helpsortasc']='Сортира в ред абв а не в яюь.'; $lang['helpsortby']='Поле по което да се сортира. Възможности: "news_date", "summary", "news_data", "news_category", "news_title". По подразбиране е "news_date". '; $lang['helpstart']='Показване от nтата статия -- оставяйки празно ще започне от първата статия.'; $lang['helpsummarytemplate']='Използва отделен шаблон за визуализиране на резюмето на новината. Може да се намери в /modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['more']='Повече'; $lang['moretext']='Прочете повече'; $lang['name']='Име'; $lang['needpermission']='Необходими са ви \'%s\' права за изпълнение на тази функция.'; $lang['newcategory']='Нова категория'; $lang['news']='Новини'; $lang['news_return']='Връща'; $lang['nextpage']='>'; $lang['nocategorygiven']='Няма зададена категория'; $lang['nocontentgiven']='Няма зададено съдържание'; $lang['noitemsfound']='Няма намерени записи за категорията: %s'; $lang['nonamegiven']='Не е зададено име'; $lang['nopostdategiven']='Няма зададена дата'; $lang['note']='Бележки: Датите трябва да са в \'yyyy-mm-dd hh:mm:ss\' формат.'; $lang['notitlegiven']='Няма зададено заглавие'; $lang['numbertodisplay']='Брой статии за показване (ако е оставено празно показва всички)'; $lang['options']='Опции'; $lang['optionsupdated']='Опциите бяха успешно обновени.'; $lang['postdate']='Дата на публикуване'; $lang['postinstall']='Уверете се че правото "Промяна на Новини" е избрано за потребителите които ще администрират новините.'; $lang['prevpage']='<'; $lang['print']='Печат'; $lang['restoretodefaultsmsg']='Тази операция връща шаблоните към техните фабрични настройки. Сигурни ли сте че искате да продължите?'; $lang['selectcategory']='Избира категория'; $lang['showchildcategories']='Показва подкатегории'; $lang['sortascending']='Сортира абв'; $lang['startdate']='Начална дата'; $lang['startoffset']='Започва да показва на n-тата статия'; $lang['startrequiresend']='Въвеждането на начална дата изисква и крайна такава'; $lang['status']='Статус'; $lang['submit']='Въвежда'; $lang['summary']='Резюме'; $lang['summarytemplate']='Шаблон за резюме'; $lang['sysdefaults']='Връща фабричните настройки'; $lang['title']='Заглавие'; $lang['useexpiration']='Използва крайна дата'; ?> Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Caducat'; $lang['expired_searchable']='Articles caducats poden aparèixer en resultats de cerca'; $lang['expiry']='Caducitat'; $lang['expiry_date_asc']='Data de caducitat Ascendent'; $lang['expiry_date_desc']='Data de caducitat Descendent'; $lang['expiry_interval']='Nombre de dies (per defecte) abans que caduqui un article (si la caducitat està activada)'; $lang['fesubmit_redirect']='Identificador o àlies de pàgina per redirigir-s'hi després d'enviar un article de Notícies a través de l'acció de 'fesubmit' '; $lang['fesubmit_status']='Estat dels articles de notícies enviats vi en frontend'; $lang['fielddef']='Definició de camp'; $lang['fielddefadded']='Definició de camp afegit amb èxit'; $lang['fielddefdeleted']='Definició de camp eliminada'; $lang['fielddefupdated']='Definició del camp actualitzada'; $lang['file']='Arxiu'; $lang['filter']='Filtre'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adreça de correu electrònic per rebre notificacions de notícies enviades'; $lang['formtemplate']='Planxetes de Formularis'; $lang['help']='

    Important Notes

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit
    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Mostra una llista navegable de categories'; $lang['helpdetailpage']='Pàgina per mostrar-hi detalls de notícies. Això pot ser un àlies de pàgina o un ID. Utilitzat per permetre mostrar detalls en una plantilla diferent del resum'; $lang['helpmoretext']='Text per mostrar al final d'un element de notícies si està per damunt la llargada del resum. El valor per fedecte és "més..."'; $lang['helpnumber']='Nombre màxim d'elements a mostrar =- en blanc per mostrar tots els elements'; $lang['helpshowall']='Mostra tots els articles, independentment de la data de finalització'; $lang['helpshowarchive']='Mostra només articles caducats'; $lang['helpsortasc']='Ordena els elements de notícies per data i ordre ascendent enlloc de descendent'; $lang['helpsortby']='Camp ordenat per . Les opcions són: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". El camp per defecte és "news_date". Si s'especifica "random", el paràmetre sortasc és ignorat.'; $lang['helpstart']='Comença a l'enèssim element -- en blanc per començar amb el primer element'; $lang['hide_summary_field']='Oculta el camp de resum quan s'afegeixen o editen articles'; $lang['info_maxlength']='La llargada màxima només aplica als camps de text'; $lang['info_sysdefault']='(contingut utilitzat per defecte quan es crea unanova planxeta)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Llargada màxima'; $lang['more']='Més'; $lang['moretext']='Més text'; $lang['msg_contenttype_removed']='S'ha esborrat el tipus de contingut de Notícies. Posa el tag {news} amb els paràmetres adequats dins la teva plantilla o la teva pàgina per substituir aquesta funcionalitat.'; $lang['name']='Nom'; $lang['nameexists']='Un camp amb aquest mateix nom ja existeix'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícies'; $lang['news_return']='Tornar'; $lang['nextpage']='>'; $lang['nocategorygiven']='No s'ha donat cap categoria'; $lang['nocontentgiven']='No s'ha donat cap contingut'; $lang['noitemsfound']='No s'han trobat elements per la categoria: %s'; $lang['nonamegiven']='No s'ha donat un nom'; $lang['none']='Cap'; $lang['nopostdategiven']='No s'ha donat una data per l'element'; $lang['notanumber']='La Llargada màxima no és un número'; $lang['note']='Nota: Dates han de ser en format 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Tens %d articles de Notícies no publicats'; $lang['notify_n_draft_items_sub']='%d article(s) de notícies'; $lang['notitlegiven']='No s'ha donat un títol'; $lang['numbertodisplay']='Nombre a mostrar (en blanc per mostrar tots els registres)'; $lang['options']='Opcions'; $lang['optionsupdated']='Les opcions s'han modificat correctament'; $lang['post_date_asc']='Data d'entrada Ascendent'; $lang['post_date_desc']='Data d'entrada Descendent'; $lang['postdate']='Data d'enviament'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['print']='Imprimeix'; $lang['prompt_default']='Per defecte'; $lang['prompt_name']='Nom'; $lang['prompt_newtemplate']='Crear una nova planxeta'; $lang['prompt_of']='de'; $lang['prompt_page']='Pàgina'; $lang['prompt_pagelimit']='Límit de pàgines'; $lang['prompt_sorting']='Ordenar per'; $lang['prompt_template']='Codi font de planxeta'; $lang['prompt_templatename']='Nom de planxeta'; $lang['public']='Públic'; $lang['published']='Publicat'; $lang['reassign_category']='Canvia la categoria a'; $lang['removed']='Eliminat'; $lang['resettodefault']='Retorna als valors per defecte de fàbrica'; $lang['restoretodefaultsmsg']='Aquesta operació restaurarà el contingut de la planxeta al seu valor per defecte. N'estàs segur que vols continuar?'; $lang['revert']='Fixa l'estat a 'Borrador''; $lang['select']='Tria'; $lang['selectcategory']='Tria una categoria'; $lang['showchildcategories']='Mostra les categories filles'; $lang['sortascending']='Ordre ascendent'; $lang['startdate']='Data d'inici'; $lang['startdatetoolate']='La data d'inici és massa tardana (posterior a la data de final?)'; $lang['startoffset']='Comença mostrant l'element enèssim'; $lang['startrequiresend']='Quan es defineix una data d'inici cal també definir data de finalització'; $lang['status']='Estat'; $lang['subject_newnews']='Un article de notícies ha estat penjat'; $lang['submit']='Enviar'; $lang['summary']='Resum'; $lang['summarytemplate']='Planxetes de resum'; $lang['summarytemplateupdated']='La planxeta de resum de notícia s'ha modificat correctament'; $lang['sysdefaults']='Restaurar a valors per defecte'; $lang['template']='Plkanxeta'; $lang['textarea']='Àrea de text'; $lang['textbox']='Entrada de text'; $lang['title']='Títol'; $lang['title_asc']='Títol Ascendent'; $lang['title_available_templates']='Planxetes disponibles'; $lang['title_browsecat_sysdefault']='Plantilla per defecte de Navegar categoria'; $lang['title_browsecat_template']=''; $lang['title_desc']='Títol Descendent'; $lang['title_detail_sysdefault']='Planxeta per defecte de detall'; $lang['title_detail_template']='Editor de planxeta de detall'; $lang['title_filter']='Filtres'; $lang['title_form_sysdefault']='Planxeta per defecte de formulari'; $lang['title_form_template']='Editor de planxeta de formulari'; $lang['title_summary_sysdefault']='Planxeta per defecte de resum'; $lang['title_summary_template']='Editor de planxeta de resum'; $lang['type']='Tipus'; $lang['unknown']='Desconegut'; $lang['unlimited']='Il.limitat'; $lang['up']='Amunt'; $lang['uploadscategory']='Puja categoria'; $lang['useexpiration']='Utilitza data de caducitat'; ?>(možná je již použito, nebo obsahuje nepovolené znaky)
    '; $lang['error_mkdir']='Nelze vytvořit adresář: %s'; $lang['error_movefile']='Nelze vytvořit soubor: %s'; $lang['error_noarticlesselected']='Nebyly vybrány žádné články.'; $lang['error_templatenamexists']='Šablona tohoto jména již existuje.'; $lang['error_upload']='Nastal problém při nahrávání souboru'; $lang['eventdesc-NewsArticleAdded']='Odesláno po vložení položky.'; $lang['eventdesc-NewsArticleDeleted']='Odesláno po smazání položky.'; $lang['eventdesc-NewsArticleEdited']='Odesláno po editaci položky.'; $lang['eventdesc-NewsCategoryAdded']='Odesláno po vložení kategorie.'; $lang['eventdesc-NewsCategoryDeleted']='Odesláno po smazání kategorie.'; $lang['eventdesc-NewsCategoryEdited']='Odesláno po úpravě kategorie.'; $lang['eventhelp-NewsArticleAdded']='

    Odesláno po vložení položky.

    Parametry

    • "news_id" - Id položky
    • "category_id" - Id kategorie této položky
    • "title" - Název položky
    • "content" - Obsah položky
    • "summary" - Souhrn položky
    • "status" - Stav položky ("draft" nebo "publish")
    • "start_time" - Datum, od kdy ma být položka zobrazována
    • "end_time" - Datum, od kdy se má položka přestat zobrazovat
    • "useexp" - Zda má být datum vypršení platnosti ignorováno nebo ne
    '; $lang['eventhelp-NewsArticleDeleted']='

    Odesláno po smazání položky.

    Parametry

    • "news_id" - Id položky
    '; $lang['eventhelp-NewsArticleEdited']='

    Odesláno po editaci položky.

    Parametry

    • "news_id" - Id položky
    • "category_id" - Id kategorie této položky
    • "title" - Název položky
    • "content\" - Obsah položky
    • "summary" - Souhrn položky
    • "status" - Stav položky ("draft" nebo "publish")
    • "start_time" - Datum, od kdy ma být položka zobrazována
    • "end_time" - Datum, od kdy se má položka přestat zobrazovat
    • "useexp" - Zda má být datum vypršení platnosti ignorováno nebo ne
    '; $lang['eventhelp-NewsCategoryAdded']='

    Odesláno po vložení kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno kategorie
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Odesláno po smazání kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno smazané kategorie
    '; $lang['eventhelp-NewsCategoryEdited']='

    Odesláno po úpravě kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno kategorie
    • "origname" - Původní jméno kategorie
    '; $lang['expired']='Vypršelo'; $lang['expired_searchable']='Expirované články se mohou zobrazovat ve výsledcích vyhledávání'; $lang['expiry']='Vyprší'; $lang['expiry_date_asc']='Podle data expirace vzestupně'; $lang['expiry_date_desc']='Podle data expirace sestupně'; $lang['expiry_interval']='Počet dní (výchozí hodnota) než článek expiruje (pokud je zvolena expirace)'; $lang['fesubmit_redirect']='PageID nebo alias pro přesměrování po odeslání článku přes akcifesubmit'; $lang['fesubmit_status']='Stav novinek vložených přes frontend (vlastní stránky)'; $lang['fielddef']='Popis políčka'; $lang['fielddefadded']='Popis políčka úspěšně přidán'; $lang['fielddefdeleted']='Popis políčka smazán'; $lang['fielddefupdated']='Popis políčka aktualizován'; $lang['file']='Soubor'; $lang['filter']='Filtr'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mailová adresa, na kterou bude odesláno upozornění na vložení článku'; $lang['formtemplate']='Šablony formuláře'; $lang['help']='

    Důležité poznámky

    Verze Novinek 2.9 a vyšší odstraňuje ze šablony parametr formatpostdate a dateformat. Místo toho se pro formátování data používá cms_date_format (jak je naznačeno ve výchozích šablonách) a v šablonách se používá entry->postdate místo entry->formatpostdate.

    Co to dělá?

    Novinky jsou modul pro zobrazování novinek na stránkách, podobné stylu blogů, ale s více vlastnostmi!. Po instalaci modulu je do Administračního panelu přidáno menu, které umožňuje vybírat nebo vkládat kategorie stránek. Poté co je kategorie vybrána nebo vytvořena, je zobrazen seznam novinek této kategorie. Zde můžete přidávat, upravovat nebo mazat novinky zvolené kategorie.

    Mnoho metod zobrazení

    Podporované paraemtry modulu Novinky a podpora pro mnoho šablon dává neomezené možnosti zobrazení novinek.

    Vlastní pole

    Modul Novinky podporuje definování mnoha vlastních polí (včetně souborů a obrázků), což dovoluje připojit pdf soubory nebo obrázky do Vašich novinek.

    Kategorie

    Novinky nabízejí hierarchické třídění kategorií pro organizaci Vašich novinek. Novinka může být pouze v jedné kategorii.

    RSS Feedy

    Novinky podporují generování jednoduchých rss feedů z Vašich novinek, takže uživateleé mohou být stále informování co se na Vašich stránkách děje.

    Vypršení a status

    Každá položka může mít volitelné datum vypršení, po kterém se již nebude zobrazovat na Vašich stránkách. Novinky mohou být také označeny jako draft pro jejich trvalé odstranění ze stránek.

    Bezpečnost

    uživatel musí náležet do skupiny s oprávněním 'Modify News' pro vkládání nebo úpravu novinek.

    Rovněž pro smazání novinek musí uživatel náležet do skupiny s oprávněním 'Delete News Articles'.

    Pro změnu šablon, uživatel musí náležet do skupiny s oprávněním 'Modify Templates' permission.

    Pro úpravu globálních nastavení novinek musí uživatel náležet do skupiny s oprávněním 'Modify Site Preferences' permission.

    A pro schválení zobrazování novinek na stránkách musí uživatel náležet do skupiny s oprávněním 'Approve News' permission.

    Jak se používá?

    Nejjednodušší je to přes obalovací tag {news} (obalí modul pro zjednodušení syntaxe). Toto vloží modul Novinky do stránek kdekoliv si přejete. Kód vypadá nějak následovně: {news number='5'}

    Šablony

    Od verze 2.3 modul Novinky obsahuje více databázových šablon a nadále nepodporuje dodatečné soubory se šablonami. Uživatelé používající tento starý šablonovací systém by měli provést tyto kroky (pro každý soubor šablony):

    • Zkopírovat šablonu do schránky
    • Vytvořit novou databázovou šablonu (buď pro souhrn nebo detail). Přiřadit šabloně stejné jméno (včetně koncovky .tpl) podle staré souborové šablony a vložit do ní obsah ze schránky.
    • Stisknout odeslat

    Následování těchto kroků vyřeší problém s nenalezením šablon novinek a jiné podobné chyby smarty při aktualizaci CMS obsahující Novinky ve verzi 2.3 nebo vyšší.

    '; $lang['help_articleid']='Tento parametr je možné použít pouze u detailního pohledu. Povoluje zadat jaké novinky zobrazit v detailním módu. Pokud je použita speciální hodnota -1, systém zobrazí nejnovější, publikované, nevypršelé články.'; $lang['help_pagelimit']='Maximální počet položek k zobrazení (na stránku). Pokud tento parametr není zadán, budou zobrazeny všechy vyhovující položky. Pokud je zadán a položek je více než uvedeno v tomto parametru, bude vložen text a odkazy pro procházení výsledků'; $lang['helpaction']='Přepsat výchozí akci. Možné hodnoty jsou:
    • "detail" - pro zobrazení zadaného článku v detailním módu.
    • "default" - pro zobrazení pohledu souhrnu
    • "fesubmit" - pro zobrazení formuláře na stránkách povolující vkládat novinky koncovým uživatelům. Pro zobrazení vybraného WYSIWYG editoru (Administrace stránek - Globální nastavení) vložte do oblasti pro metadata {cms_init_editor}.
    • "browsecat" - pro zobrazení prohledávatelného seznamu kategorií.
    '; $lang['helpbrowsecat']='Zobrazit prohlížitelný seznam kategorií.'; $lang['helpbrowsecattemplate']='Použít databázavou šablonu pro zobrazení prohlížeče kategorií. Tato šablona musí existovat a musí být viditelná v záložce Procházení šablon kategorií v administraci modulu Novinky, ale nemusí být šablonou výchozí. Pokud tento parametr není použit, pak bude použita šablona momentálně označená jako výchozí.'; $lang['helpcategory']='Zobrazit pouze položky této kategorie. Pro zobrazení podpoložek použijte * za jménem. Více kategorií může být odděleno čárkou.Ponecháno prázdné zobrazí všechny kategorie.'; $lang['helpdetailpage']='Stránka pro zobrazní detailu novinky. Toto může být buď alias nebo id stránky. Umožňuje zobrazit detaily v jiné šabloně než souhrn.'; $lang['helpdetailtemplate']='Používat oddělenou šablonu pro detail. Tato šablona musí existovat a být viditelná v záložce šablon detailu v administraci Novinek i když není výchozí. Pokud tento parametr není zadán, je použita šablona označena jako výchozí.'; $lang['helpformtemplate']='Použít databázovou šablonu pro zobrazení formuláře, sloužícího k vložení článku. Tato šablona musí existovat a být viditelná v panelu formulářových šablon (v administračním rozhraní modulu Novinky), ale nemusí být šablonou výchozí. Pokud tento parametr není použit, pak bude použita šablona momentálně označená jako výchozí.'; $lang['helpmoretext']='Text pro zobrazení na konci novinky pokud jde přes délku souhrnu. Základní je "more..."'; $lang['helpnumber']='Maximální počet položek k zobrazení - ponecháno prázdné zobrazí všechny položky.'; $lang['helpshowall']='Zobrazit všechny články nehledě na jejich konečné datum'; $lang['helpshowarchive']='Zobrazit pouze expirované novinky.'; $lang['helpsortasc']='Třídit novinky vzestupně.'; $lang['helpsortby']='Pole pro třídění. Možnosti jsou: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". výchozí je "news_date". Při zadaním "random" je ignorován parametr sortasc.'; $lang['helpstart']='Začít na n-té položce -- prázdné začne na první položce.'; $lang['helpsummarytemplate']='Používat oddělenou šablonu pro souhrn. Tato šablona musí existovat a být viditelná v záložce šablon souhrnu v administraci Novinek i když není výchozí. Pokud tento parametr není zadán, je použita šablona označena jako výchozí.'; $lang['hide_summary_field']='Skrýt pole shrnutí při přidávání nebo úpravách článků'; $lang['info_detail_returnid']='Tímto nastavením zbolíte, jakou stránku (a tedy i šablonu) použít pro zobrazování detailu. Pokud nebude tento parametr nastaven na platnou stránku, nebude fungovat vlastní URL adresa zadaná ve vlastnostech článku. Dále také určuje výchozí hodnotu parametru detailpage, pokud nebude v tagu {news} definován.'; $lang['info_maxlength']='Maximální délka se vztahuje pouze na textová pole'; $lang['info_sysdefault']='(toto je výchozí obsah nově vytořených šablon)'; $lang['info_sysdefault2']='Poznámka: Tento panel obsahuje textová pole, které vám umožňují upravit sadu šablon, jež jsou zobrazeny, když vytvoříte "novou" šablonu shrnutí, detailu nebo formuláře. Změna obsahu na této stránce a potvrzení tlačítkem "Odeslat" nezmění žádné současné šablony'; $lang['lastpage']='>>'; $lang['maxlength']='Maximální délka'; $lang['more']='Více'; $lang['moretext']='Více textu'; $lang['msg_contenttype_removed']='Typ obsahu "Novinky" byl odebrán. Prosím umístěte {news} tagy s příslušnými parametry do vašich šablon nebo stránek pro obnovení funkcionality.'; $lang['name']='Jméno'; $lang['nameexists']='Políčko tohoto jména již existuje'; $lang['needpermission']='pro provedení této funkce potřebujete oprávnění '%s'.'; $lang['newcategory']='Nová kategorie'; $lang['news']='Novinky'; $lang['news_return']='Návrat'; $lang['nextpage']='>'; $lang['nocategorygiven']='Kategorie nezadána'; $lang['nocontentgiven']='Obsah nezadán'; $lang['noitemsfound']='Žádné položky nenalezeny v kategorii: %s'; $lang['nonamegiven']='Nezadáno jméno'; $lang['none']='Žádný'; $lang['nopostdategiven']='Datum vložení nezadáno'; $lang['notanumber']='Maximální délka není číslo'; $lang['note']='Poznámka: Datum musí být ve formátu 'yyyy-mm-dd hh:mm:ss''; $lang['notify_n_draft_items']='Máte %s článků, které nejsou publikovány.'; $lang['notify_n_draft_items_sub']='%d článků'; $lang['notitlegiven']='Nadpis nezadán'; $lang['numbertodisplay']='Počet k zobrazení (prázdné zobrazí všechny záznamy)'; $lang['options']='Volby'; $lang['optionsupdated']='Volby úspěšně aktualizovány.'; $lang['post_date_asc']='Podle data publikace (nejstarší první)'; $lang['post_date_desc']='Podle data publikace (nejnovější první)'; $lang['postdate']='Datum vložení'; $lang['postinstall']='Nastavte oprávnění "Modify News" všem uživatelům, kteří budou spravovat novinky.'; $lang['preview']='Náhled'; $lang['prevpage']='<'; $lang['print']='Tisknout'; $lang['prompt_default']='Výchozí'; $lang['prompt_name']='Jméno'; $lang['prompt_newtemplate']='Vytvořit novou šablonu'; $lang['prompt_of']='z'; $lang['prompt_page']='Stránka'; $lang['prompt_pagelimit']='Limit stránky'; $lang['prompt_sorting']='Třídit podle'; $lang['prompt_template']='Zdroj šablony'; $lang['prompt_templatename']='Jméno šablony'; $lang['public']='Veřejný'; $lang['published']='Publikováno'; $lang['reassign_category']='Změnit kategorii na'; $lang['removed']='Odebráno'; $lang['resettodefault']='Reset do výchozího nastavení'; $lang['restoretodefaultsmsg']='Tato operace vrátí výchozí nastavení obsahu šablony. Opravdu to chcete provést?'; $lang['revert']='Nastavit stav na "Draft"'; $lang['select']='Zvolit'; $lang['selectcategory']='Vybrat kategorii'; $lang['showchildcategories']='Zobrazit podřízené kategorie'; $lang['sortascending']='Třídit vzestupně'; $lang['startdate']='Začíná'; $lang['startdatetoolate']='Datum počátku je příliš pozdní (po datu konce?)'; $lang['startoffset']='Začít zobrazení na n-té položce'; $lang['startrequiresend']='Vložení data začátku potřebuje také datum ukončení'; $lang['status']='Stav'; $lang['status_asc']='Podle stavu vzestupně'; $lang['status_desc']='Podle stavu sestupně'; $lang['subject_newnews']='Nový článek byl publikován'; $lang['submit']='Odeslat'; $lang['summary']='Souhrn'; $lang['summarytemplate']='Šablona souhrnu'; $lang['summarytemplateupdated']='Šablona souhrnu novinek úspěšně aktualizována.'; $lang['sysdefaults']='Vrátit výchozí'; $lang['template']='Šablona'; $lang['textarea']='Oblast textu'; $lang['textbox']='Textové vstupní pole'; $lang['title']='Nadpis'; $lang['title_asc']='Podle titulku vzestupně (A-Z)'; $lang['title_available_templates']='Dostupné šablony'; $lang['title_browsecat_sysdefault']='Výchozí šablona procházení kategorií'; $lang['title_browsecat_template']='Editor procházení šablon kategorií'; $lang['title_desc']='Podle titulku sestupně (Z-A)'; $lang['title_detail_returnid']='Výchozí stránka pro zobrazení detailu'; $lang['title_detail_settings']='Zobrazení detailu'; $lang['title_detail_sysdefault']='Výchozí šablona detailu'; $lang['title_detail_template']='Editor šablony detailu'; $lang['title_fesubmit_settings']='Novinky od koncových uživatelů (FEU)'; $lang['title_filter']='Filtry'; $lang['title_form_sysdefault']='Výchozí šablona formuláře'; $lang['title_form_template']='Editor šablon formuláře'; $lang['title_notification_settings']='Upozornění'; $lang['title_submission_settings']='Vkládání novinek'; $lang['title_summary_sysdefault']='Výchozí šablona souhrnu'; $lang['title_summary_template']='Editor šablony souhrnu'; $lang['type']='Typ'; $lang['unknown']='Neznámý'; $lang['unlimited']='Neomezeně'; $lang['up']='Nahoru'; $lang['uploadscategory']='Kategorie uploadu'; $lang['useexpiration']='Použít datum konce'; $lang['warning_preview']='Varování: Tento náhledový panel se chová více jako okno prohlížeče a umožňuje navigaci z původně prohlížené stránky. Pokud tak uděláte, může nastat nepředvídané chování.
    Poznámka: Tento náhled nenahraje vybrané soubory.'; ?>(måske anvendes den allerede eller den indeholder ugyldige tegn)'; $lang['error_mkdir'] = 'Kunne ikke oprette mappen: %s'; $lang['error_movefile'] = 'Kunne ikke oprette filen: %s'; $lang['error_noarticlesselected'] = 'Ingen artikler valgt'; $lang['error_nooptions'] = 'Der er ikke angivet nogen feltdefinitioner'; $lang['error_templatenamexists'] = 'En skabelon med dette navn findes allerede'; $lang['error_upload'] = 'Fejl ved upload af fil'; $lang['eventdesc-NewsArticleAdded'] = 'Sendes når en artikel tilføjes.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sendes når en artikel tilføjes.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    • \\"category_id\\" - Artiklens kategori-id
    • \\"title\\" - Artiklens titel
    • \\"content\\" - Artiklens indhold
    • \\"summary\\" - Artiklens resumé
    • \\"status\\" - Artiklens status (\\"Kladde\\" eller \\"Udgivet\\")
    • \\"start_time\\" - Den dato hvorfra artiklen skal vises
    • \\"end_time\\" - Den dato hvorfra artiklen ikke længere skal vises
    • \\"useexp\\" - Om udløbsdatoen skal ignoreres eller ej
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Sendes når en artikel slettes.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sendes når en artikel slettes.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    '; $lang['eventdesc-NewsArticleEdited'] = 'Sendes når en artikel redigeres.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sendes når en artikel redigeres.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    • \\"category_id\\" - Artiklens kategori-id
    • \\"title\\" - Artiklens titel
    • \\"content\\" - Artiklens indhold
    • \\"summary\\" - Artiklens resumé
    • \\"status\\" - Artiklens status (\\"Kladde\\" eller \\"Udgivet\\")
    • \\"start_time\\" - Den dato hvorfra artiklen skal vises
    • \\"end_time\\" - Den dato hvorfra artiklen ikke længere skal vises
    • \\"useexp\\" - Om udløbsdatoen skal ignoreres eller ej

    Bemærk: Det er ikke sikkert, at alle disse parametre er tilgængelige, når denne hændelse sendes.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Sendes når en kategori tilføjes.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sendes når en kategori tilføjes.

    Parametre

    • \\"category_id\\" - Kategoriens id
    • \\"name\\" - Kategoriens navn
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Sendes når en kategori slettes.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sendes når en kategori slettes.

    Parametre

    • \\"category_id\\" - Det id som den slettede kategori havde
    • \\"name\\" - Det navn som den slettede kategori havde
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Sendes når en kategori redigeres.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sendes når en kategori redigeres.

    Parametre

    • \\"category_id\\" - Kategoriens id
    • \\"name\\" - Kategoriens navn
    • \\"origname\\" - Nyhedskategoriens oprindelige navn
    '; $lang['expired'] = 'Udløbet'; $lang['expired_searchable'] = 'Udløbne artikler kan forekomme i søgeresultater'; $lang['expired_viewable'] = 'Udløbne artikler kan vises i indholdsvisningen'; $lang['expiry'] = 'Udløb'; $lang['expiry_date_asc'] = 'Udløbsdato stigende'; $lang['expiry_date_desc'] = 'Udløbsdato faldende'; $lang['expiry_interval'] = 'Antallet af dage (standardværdi) før en artikel udløber (hvis udløbsdato vælges)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fesubmit_redirect'] = 'PageID eller alias som der skal viderstilles til efter nyhedsartklen er sendt gennem fesubmit handlingen'; $lang['fesubmit_status'] = 'Status for nyhedsartikler sendt via frontend'; $lang['fielddef'] = 'Feltdefinition'; $lang['fielddefadded'] = 'Feltdefinitionen blev tilføjet'; $lang['fielddefdeleted'] = 'Feltdefinition slettet'; $lang['fielddefupdated'] = 'Feltdefinition opdateret'; $lang['file'] = 'Fil'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Email-adresse som adviseringer skal sendes til'; $lang['formtemplate'] = 'Skabeloner for formularer'; $lang['help'] = '

    Vigtigt at bemærke

    Version 2.9 og derover af News har fjernet parametret formatpostdate og dateformat fra skabelonerne. Du bør i stedet bruge cms_date_format (som oplyst i standardskabelonerne) til formatering af datoer samt entry->postdate i stedet for entry->formatpostdate i dine skabeloner.

    Hvad er det her?

    News er et modul til visning af nyheder på siden i lighed med en blog, men med flere funktioner!. Når modulet er installeret, føjes menupunktet "Nyheder" til administrationsmenuen. I nyhedsadministrationen kan man selektere og oprette nyhedskategorier. Når der er oprettet eller valgt en nyhedskategori, vises en liste over nyheder i kategorien. Herfra kan du tilføje, redigere eller slette nyheder i kategorien.

    Mange visningsmetoder

    Nyhedsmodulets parametre samt understøttelse af mange skabeloner betyder, at du kan præsentere nyhedsartiklerne på et utal af måder.

    Brugerdefinerede felter

    Nyhedsmodulet giver mulighed for selv at definere en række felter (herunder filer og billeder), som gør det muligt at knytte pdf filer eller et utal af billeder til artiklerne.

    Kategorier

    Modulet indeholder et system af hierarkiske kategorier, så artiklerne kan organiseres efter ønske. En nyhedsartikel kan kun ligge ét sted i hierarkiet.

    Udløb og status

    Hver nyhedsartikel kan gives en udløbsdato, hvis man ønsker det. Efter den angivne dato vises artiklen ikke længere på hjemmesiden. Artikler kan også markeres som kladde, hvorved de bliver fjernet permanent fra hjemmesiden.

    Sikkerhed

    Brugeren skal tilhøre en gruppe, som har tilladelsen \'Modify News\' for at kunne tilføje eller redigere nyhedsartikler.

    For at kunne slette nyhedsartikler skal brugeren ligeledes tilhøre en gruppe, som har tilladelsen \'Delete News Articles\'.

    For at kunne redigere de skabeloner, som styrer layoutet, skal brugeren tilhøre en gruppe, som har tilladelsen \'Modify Templates\' .

    For at kunne redigere nyhedernes globale præferencer skal brugeren tilhøre en gruppe, som har tilladelsen \'Modify Site Preferences\'.

    For at godkende nyheder fra hjemmesidens "forside" skal brugeren tilhøre en gruppe, som har tilladelsen \'Approve News\' .

    Hvordan tager jeg det i brug?

    Den letteste måde er at bruge {news} tag\'et (putter modulet ind i et tag, for at forenkle syntaksen). Modulets tag indsættes i en skabelon eller en side hvor som helst, du ønsker nyhedsartiklerne vist. Koden kunne se således ud: {news number=\'5\'}

    Skabeloner

    Siden version 2.3 har modulet understøttet brug af flere forskellige skabeloner fra databasen, mens ekstra skabeloner fra filer ikke længere understøttes. Brugere som anvendte det gamle fil-skabelon-system, bør følge disse trin (for hver fil-skabelon):

    • Kopier fil-skabelonen til klippebordet
    • Opret en ny database-skabelon (til enten resumé eller indhold efter behov). Giv den nye skabelon det samme navn (inklusiv endelsen .tpl) som den gamle fil-skabelon og indsæt indholdet fra klippebordet.
    • Klik på Send

    Disse trin skulle løse problemet med, at dine nyhedsskabeloner ikke kan findes samt andre lignende smarty fejl, når du opgraderer til en version af CMS, som anvender News 2.3 eller derover.

    '; $lang['helpaction'] = '\'Tilsidesæt standardhandlingen. Kan antage følgende værdier:
    • "detail" - se en bestemt artikels indhold.
    • "default" - se artiklens resumé
    • "fesubmit" - Anvendelse frarådes vis frontend formularen, så brugerne kan oprette nyhedsartikler fra den almindelige hjemmeside. Indsæt:{cms_init_editor} i metadata-sektionen for at initialisere den valgte wysiwyg editor. (Side Administration >> Global konfiguration)
    • "browsecat" - vis en liste over kategorier.
    '; $lang['helpbrowsecat'] = 'Vis en liste over kategorier.'; $lang['helpbrowsecattemplate'] = 'Anvend en særskilt skabelon fra databasen til gennemsyn af kategorier. Skabelonen skal være oprettet og kunne ses under fanen "Gennemse kategoriskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpcategory'] = 'Vis kun nyheder for denne kategori og dens underkategorier. Hvis feltet er blankt vises alle kategorier.'; $lang['helpdetailpage'] = 'Side som nyhedernes indhold skal vises på. Det kan være et side-alias eller et side-id. Bruges til at vise indholdet i en anden skabelon end den der bruges til resumeet.'; $lang['helpdetailtemplate'] = 'Anvend en særskilt skabelon fra databasen til visning af artiklens indhold. Skabelonen skal være oprettet og kunne ses under fanen "Indholdsskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpformtemplate'] = 'Brug en særskilt skabelon fra databasen til visning af formularen til oprettelse af artikler. Skabelonen skal være oprettet og kunne ses under fanen "Formularskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpmoretext'] = 'Tekst der skal vises efter en nyhed hvis længden af denne overskrider resumeets længde. Standard er "Mere..."'; $lang['helpnumber'] = 'Det maksimale antal nyheder der skal vises -- alle nyheder vises hvis feltet er blankt.'; $lang['helpshowall'] = 'Vis alle artikler, uden at tage hensyn til udløbsdato'; $lang['helpshowarchive'] = 'Vis kun udløbne nyhedsartikler'; $lang['helpsortasc'] = 'Sortér nyheder i stigende orden efter dato i stedet for faldende.'; $lang['helpsortby'] = 'Hvilket felt der skal sorteres efter. Muligheder er: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Er intet angivet benyttes "news_date". Hvis sat til "random", bliver sortasc-parametren ignoreret.'; $lang['helpstart'] = 'Start ved det n\'te element - hvis intet er angivet startes ved det første element.'; $lang['helpsummarytemplate'] = 'Benyt en særskilt skabelon fra databasen til at vise en nyhedsartikels resumé. Skabelonen skal være oprettet og kunne ses under fanen "Resuméskabeloner" i Nyhedsadministrationen, omend den ikke behøver at være sat som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som i øjeblikket er markeret som standard blive anvendt.'; $lang['help_articleid'] = 'Denne parameter kan kun anvendes ved indholdsvisning. Den gør det muligt at specificere hvilke nyhedsartikler, som skal vises i indholdsvisning. Anvendes specialværdien -1, vil systemet vise den nyeste artikel med statussen "Udgivet", som ikke har overskredet udløbsdatoen.'; $lang['help_article_title'] = 'Indtast artiklens titel. Den bør være kort og uden html-koder.'; $lang['help_article_category'] = 'Af hensyn til organiseringen af artiklerne, har du mulighed for at vælge en kategori'; $lang['help_article_content'] = 'Indtast artiklens hovedindhold her'; $lang['help_article_enddate'] = 'Hvis der benyttes udløbstidspunkt, bliver artiklen ikke længere vist efter det angivne tidspunkt'; $lang['help_article_extra'] = 'Her kan angives ekstra oplysninger tilknyttet nyhedsartiklen. Feltet kan anvendes til bestemmelse af rækkefølge eller i forbindelse med funktioner fastsat af designeren. Du bør spørge udvikleren af hjemmesiden om, hvordan feltet skal bruges (om overhovedet)'; $lang['help_article_searchable'] = 'Dette felt angiver, om artiklen skal indekseres af søgemodulet eller ej'; $lang['help_article_postdate'] = 'Oprettelsesdatoen (normalt dags dato for nyhedsartikler) er den dato, hvor artiklen bliver offentliggjort. Den anvendes også i forbindelse med sortering af rækkefølge'; $lang['help_article_summary'] = 'Indtast en kort tekst, som beskriver artiklen. Resumeet kan bruges i forbindelse med oversigter over flere artikler'; $lang['help_article_status'] = 'Hvis du ønsker, at artiklen øjeblikkeligt skal kunne ses af andre, skal du vælge statussen offentliggjort. Hvis du gerne vil arbejde videre med denne artikel lidt endnu, så vælg kladde'; $lang['help_articles_filtercategory'] = 'Listen over viste artikler kan filtreres, så kun dem der tilhører den valgte kategori bliver vist'; $lang['help_pagelimit'] = 'Maksimalt antal emner der skal vises (pr. side). Hvis denne parameter ikke er sat, vil alle emner blive vist. Hvis den er sat, og der er flere emner end angivet, vil der blive vist tekst og links, så der kan rulles gennem resultaterne'; $lang['hide_summary_field'] = 'Skjul resumé-feltet ved oprettelse eller redigering af artikler'; $lang['info_allow_fesubmit'] = 'Denne indstilling bestemmer, hvorvidt der kan indsendes artikler af brugerene via selve hjemmesiden med modulet Front End Users. Vær forsigtig med denne indstilling.'; $lang['info_categories'] = 'Nyhedsartikler kan organiseres ved hjælp af hierarkiske kategorier'; $lang['info_detail_returnid'] = 'Præferencen anvendes til at bestemme hvilken side (og dermed hvilken skabelon) der skal bruges til visning af nyhedernes indhold. Individualiserede webadresser til nyhedsindhold kommer ikke til at virke, hvis ikke denne parameter sættes til en gyldig side. Bemærk endvidere, at hvis denne præference er sat, men der ikke er angivet nogen værdi for parametren "detailpage" sammen med news tag\'et, så anvendes denne værdi til links til nyhedernes indhold.'; $lang['info_expired_searchable'] = 'Ved tilvalg kan udløbne artikler fortsat indekseres af søgemodulet og vises i søgeresultaterne'; $lang['info_expired_viewable'] = 'Hvis aktiveret kan udløbne artikler vises i indholdsmodus (genskabelse af ældre funktionalitet). Parametren showall kan anvendes på webadressen (når der ikke bruges pretty urls) for at vise, at også udløbne artikler kan blive vist.'; $lang['info_fesubmit_notification'] = 'Hvis ønsket kan du sende en email til en enkelt email adresse, når der indsendes en nyhedsartikel via formular på selve hjemmesiden.'; $lang['info_maxlength'] = 'Den maksimale længe har kune relevans for tekst input felter'; $lang['info_reorder_categories'] = 'Træk og slip hvert af emnerne til den korrekte placering for at ændre kategoriernes indbyrdes orden'; $lang['info_searchable'] = 'Feltet angiver, om artiklen skal medtages af søgemodulet eller ej'; $lang['info_sysdefault'] = '(indhold der benyttes som standard når der oprettes en ny skabelon)'; $lang['info_sysdefault2'] = 'Bemærk: Denne fane indeholder tekstfelter, hvori du kan redigere et sæt af skabeloner, som bruges, når du opretter en ny skabelon til resumeer, indhold og formularer. Ændring af indhold under denne fane og klik på \'Send\' har ingen effekt på nogen af de nuværende visningsmåder.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Søg i nyhedsartikler'; $lang['linkedfile'] = 'Tilknyttet fil'; $lang['maxlength'] = 'Maksimal længde'; $lang['msg_cancelled'] = 'Handling annulleret'; $lang['msg_categoriesreordered'] = 'Rækkefølge af kategorier opdateret'; $lang['msg_contenttype_removed'] = 'Nyheds-indholdstypen er blevet fjernet. Erstat venligst {news} tags med de fungerende parametre i din skabelon eller indhold for at genskabe denne funktionalitet.'; $lang['msg_success'] = 'Handling udført'; $lang['more'] = 'Mere'; $lang['moretext'] = 'Mere tekst'; $lang['name'] = 'Navn'; $lang['nameexists'] = 'Et felt med dette navn eksisterer allerede'; $lang['needpermission'] = 'Du skal have tilladelsen \\\'%s\\\' for at kunne udføre den funktion.'; $lang['newcategory'] = 'Ny kategori'; $lang['news'] = 'Nyheder'; $lang['news_return'] = 'Tilbage'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Indtil videre er der ikke blevet oprettet nogen nyhedsartikler'; $lang['noarticlesinfilter'] = 'Ved brug af dette filter er der ikke nogen nyhedsartikler at vise'; $lang['nocategorygiven'] = 'Ingen kategori angivet'; $lang['nocontentgiven'] = 'Intet indhold angivet'; $lang['noitemsfound'] = 'Ingen nyheder fundet for kategorien: %s'; $lang['nonamegiven'] = 'Intet navn angivet'; $lang['none'] = 'Ingen'; $lang['nopostdategiven'] = 'Ingen oprettelsesdato angivet'; $lang['notanumber'] = 'Maksimal længde er ikke et tal'; $lang['note'] = 'Bemærk: Datoer skal angives i formatet: \'yy-mm-dd tt:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Du har %s som ikke er offentliggjort'; $lang['notify_n_draft_items_sub'] = '%d Nyhedsartikle(r)'; $lang['notitlegiven'] = 'Ingen titel angivet'; $lang['numbertodisplay'] = 'Antal der skal vises (blank viser alle nyheder)'; $lang['options'] = 'Indstillinger'; $lang['optionsupdated'] = 'Indstillingerne blev gemt.'; $lang['parent'] = 'Overliggende'; $lang['postdate'] = 'Oprettelsesdato'; $lang['postinstall'] = 'Kontrollér at tilladelsen "Modify News" er slået til for brugere der skal kunne administrere Nyheder.'; $lang['post_date_asc'] = 'Oprettelsesdato stigende'; $lang['post_date_desc'] = 'Oprettelsesdato faldende'; $lang['preview'] = 'Visning'; $lang['prevpage'] = '<'; $lang['print'] = 'Udskriv'; $lang['prompt_alert_drafts'] = 'Giv besked om artikler, som ikke er blevet godkendt'; $lang['prompt_allow_fesubmit'] = 'Tillad at nyhedsartikler kan oprettes via hjemmesiden'; $lang['prompt_default'] = 'Standard'; $lang['prompt_go'] = 'Sæt igang'; $lang['prompt_name'] = 'Navn'; $lang['prompt_newtemplate'] = 'Opret en ny skabelon'; $lang['prompt_of'] = 'af'; $lang['prompt_page'] = 'Side'; $lang['prompt_pagelimit'] = 'Side grænse'; $lang['prompt_redirecttocontent'] = 'Retur til side'; $lang['prompt_sorting'] = 'Sortér på'; $lang['prompt_template'] = 'Skabelon kode'; $lang['prompt_templatename'] = 'Skabelonens navn'; $lang['public'] = 'Udgivet'; $lang['published'] = 'Udgivet'; $lang['reassign_category'] = 'Skift kategori til'; $lang['removed'] = 'Fjernet'; $lang['reorder'] = 'Ændring af rækkefølge'; $lang['reset'] = 'Nulstil'; $lang['resettodefault'] = 'Gendan fabriksindstillinger'; $lang['restoretodefaultsmsg'] = 'Med denne handling gendannes systemets oprindelige skabeloner. Er du sikker på, du vil fortsætte?'; $lang['revert'] = 'Sæt status til \'Kladde\''; $lang['searchable'] = 'Søgbar'; $lang['select'] = 'Vælg'; $lang['select_option'] = 'Foretag valg'; $lang['selectall'] = 'Vælg alle'; $lang['selectcategory'] = 'Vælg kategori'; $lang['showchildcategories'] = 'Vis underkategorier'; $lang['sortascending'] = 'Sortér stigende'; $lang['startdate'] = 'Start dato'; $lang['startdatetoolate'] = 'Startdatoen er for sen (efter slutdato?)'; $lang['startoffset'] = 'Begynd visning ved det n\'te element'; $lang['startrequiresend'] = 'Angivelse af en startdato kræver en slutdato'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status i stigende orden'; $lang['status_desc'] = 'Status i faldende orden'; $lang['subject_newnews'] = 'Der er blevet oprettet en ny nyhedsartikel'; $lang['submit'] = 'Send'; $lang['summary'] = 'Resumé'; $lang['summarytemplate'] = 'Resuméskabelon'; $lang['summarytemplateupdated'] = 'Skabelonen til resumé af nyheder blev opdateret.'; $lang['sysdefaults'] = 'Nulstil til standardværdier'; $lang['template'] = 'Skabelon'; $lang['textarea'] = 'Tekstfelt'; $lang['textbox'] = 'Tekst input'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'Titel stigende'; $lang['title_available_templates'] = 'Tilgængelige skabeloner'; $lang['title_browsecat_sysdefault'] = 'Standardskabelon for gennemsyn af kategorier'; $lang['title_browsecat_template'] = 'Skabelon for gennemsyn af kategorier'; $lang['title_desc'] = 'Titel faldende'; $lang['title_detail_returnid'] = 'Standardside til indholdsvisning'; $lang['title_detail_settings'] = 'Indstillinger for indholdsvisning'; $lang['title_detail_sysdefault'] = 'Standardskabelon for indhold'; $lang['title_detail_template'] = 'Redigering af indholdsskabeloner'; $lang['title_draft_entries'] = 'Nyhedsartikler som ikke er blevet godkendt'; $lang['title_fesubmit_form'] = 'Send nyhedsartikel'; $lang['title_fesubmit_settings'] = 'Indstillinger for oprettelse af nyheder via frontend'; $lang['title_filter'] = 'Filtre'; $lang['title_form_sysdefault'] = 'Standardskabelon for formular'; $lang['title_form_template'] = 'Redigering af formular-skabeloner'; $lang['title_news_settings'] = 'Indstillinger - Nyhedsmodul'; $lang['title_notification_settings'] = 'Indstillinger for advisering'; $lang['title_submission_settings'] = 'Indstillinger for oprettelse af nyheder'; $lang['title_summary_sysdefault'] = 'Standardskabelon for resumé'; $lang['title_summary_template'] = 'Redigering af resuméskabeloner'; $lang['toggle_bulk'] = 'Medtag denne artikel ved samlet behandling af flere artikler'; $lang['type'] = 'Skriv'; $lang['type_browsecat'] = 'Gennemse kategori'; $lang['type_form'] = 'Brugerformular'; $lang['type_detail'] = 'Detalje'; $lang['type_News'] = 'Nyheder'; $lang['type_summary'] = 'Resumé'; $lang['unknown'] = 'Ukendt'; $lang['unlimited'] = 'Ubegrænset'; $lang['up'] = 'Op'; $lang['uploadscategory'] = 'Uploads kategori'; $lang['url'] = 'Webadresse'; $lang['useexpiration'] = 'Benyt udløbsdato'; $lang['viewfilter'] = 'Vis filter'; $lang['warning_preview'] = 'Advarsel: Dette visningsvindue fungerer i store træk ligesom en browser, hvilket indebærer, at du kan navigere væk fra den oprindeligt viste side. Men gør du det, kan du komme ud for uventede hændelser. Navigering væk fra den oprindelige side og tilbage igen fungerer ikke som forventet.
    Bemærk: Visningen uploader ikke de filer, du måtte have valgt til upload.'; $lang['with_selected'] = 'Med valgte'; ?>(eventuell wird diese bereits verwendet oder sie enthält ungültige Zeichen)'; $lang['error_mkdir'] = 'Konnte das Verzeichnis %s nicht erstellen'; $lang['error_movefile'] = 'Konnte die Datei %s nicht erstellen'; $lang['error_noarticlesselected'] = 'Es wurden keine Artikel ausgewählt'; $lang['error_nooptions'] = 'Keine Optionen für die Felddefinition angegeben'; $lang['error_templatenamexists'] = 'Es existiert bereits eine Vorlage mit diesem Namen'; $lang['error_upload'] = 'Beim Hochladen der Datei ist ein Problem aufgetreten'; $lang['eventdesc-NewsArticleAdded'] = 'Ausführen, wenn ein Artikel hinzugefügt wurde.'; $lang['eventhelp-NewsArticleAdded'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    category_id ID der Kategorie für diesen Artikel
    title Titel des Artikels
    content Inhalt des Artikels
    summary Zusammenfassung des Artikels
    status Status des Artikels („Entwurf/draft“ oder „Veröffentlicht/publish“)
    start_time Datum, ab dem der Artikel angezeigt werden soll
    end_time Datum, ab dem der Artikel nicht mehr angezeigt werden soll
    useexp die Zeitsteuerung soll ignoriert werden oder auch nicht
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Ausführen, wenn ein Artikel gelöscht wurde.'; $lang['eventhelp-NewsArticleDeleted'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    '; $lang['eventdesc-NewsArticleEdited'] = 'Ausführen, wenn ein Artikel bearbeitet wurde.'; $lang['eventhelp-NewsArticleEdited'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    category_id ID der Kategorie für diesen Artikel
    title Titel des Artikels
    content Inhalt des Artikels
    summary Zusammenfassung des Artikels
    status Status des Artikels („Entwurf/draft“ oder „Veröffentlicht/publish“)
    start_time Datum, ab dem der Artikel angezeigt werden soll
    end_time Datum, ab dem der Artikel nicht mehr angezeigt werden soll
    useexp die Zeitsteuerung soll ignoriert werden oder auch nicht
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Ausführen, wenn eine Kategorie hinzugefügt wurde.'; $lang['eventhelp-NewsCategoryAdded'] = '
    Parameter Beschreibung
    category_id ID der Nachrichtenkategorie
    name Name der Nachrichtenkategorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Ausführen, wenn eine Kategorie gelöscht wurde.'; $lang['eventhelp-NewsCategoryDeleted'] = '
    Parameter Beschreibung
    category_id ID der gelöschten Nachrichtenkategorie
    name Name der gelöschten Nachrichtenkategorie
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Ausführen, wenn eine Kategorie bearbeitet wurde.'; $lang['eventhelp-NewsCategoryEdited'] = '
    Parameter Beschreibung
    category_id ID der Nachrichtenkategorie
    name Name der Nachrichtenkategorie
    origname ursprünglicher Name der Nachrichtenkategorie
    '; $lang['expired'] = 'abgelaufen'; $lang['expired_searchable'] = 'Artikel, deren Anzeigedauer überschritten ist, dürfen in den Suchergebnissen erscheinen'; $lang['expired_viewable'] = 'Abgelaufene Artikel können in der Detailansicht angezeigt werden'; $lang['expiry'] = 'Ablauf'; $lang['expiry_date_asc'] = 'nach Verfallsdatum aufsteigend'; $lang['expiry_date_desc'] = 'nach Verfallsdatum absteigend'; $lang['expiry_interval'] = 'Voreingestellte Anzahl der Tage, nach denen ein Artikel nicht mehr auf der Webseite angezeigt werden soll (falls die Zeitsteuerung verwendet wird)'; $lang['extra'] = 'Extrafeld'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'Die Seiten-ID oder der Seiten-Alias der Seite, auf die der Einsender eines Artikels über die fesubmit-Aktion weitergeleitet werden soll'; $lang['fesubmit_status'] = 'Status für Artikel, die über die Webseite (Frontend) eingesandt wurden'; $lang['fielddef'] = 'Felddefinition'; $lang['fielddefadded'] = 'Das Feld wurde hinzugefügt'; $lang['fielddefdeleted'] = 'Felddefinition gelöscht'; $lang['fielddefupdated'] = 'Das Felddefinition wurde aktualisiert'; $lang['file'] = 'Datei'; $lang['filter'] = 'Artikelfilter'; $lang['firstpage'] = '«'; $lang['formsubmit_emailaddress'] = 'E-Mail-Adresse zur Benachrichtigung bei neuen Artikeln'; $lang['formtemplate'] = 'Formularvorlagen'; $lang['help'] = '

    Wichtiger Hinweis

    Ab Version 2.9 des Nachrichtenmoduls wurde sowohl das Variablenelement $entry->formatpostdate als auch der Parameter „dateformat“ entfernt. Sie sollten daher anstatt $entry->formatpostdate jetzt $entry->postdate verwenden. Das Datum kann dann mit dem Modifikator „cms_date_format“ formatiert werden (wie in den mitgelieferten Muster-Templates gezeigt).

    Was macht dieses Modul?

    „News“ ist ein Modul, um Artikel/Neuigkeiten Blog-ähnlich auf Ihrer Seite anzuzeigen, jedoch mit mehr Möglichkeiten. Nach der Modulinstallation wird dem Menüpunkt „Inhalte“ ein Link zur Administration des News-Moduls hinzugefügt, über den Sie Nachrichtenkategorien auswählen oder hinzufügen können. Wurde eine Kategorie angelegt oder ausgewählt, wird eine Liste der vorhandenen Einträge dieser Kategorie angezeigt. Von hier aus können Sie dieser Kategorie Einträge hinzufügen, bearbeiten oder löschen.

    Verschiedene Anzeigemethoden

    Aufgrund der verfügbaren Parameter und die Unterstützung für verschiedene Templates sind die Verwendungsmöglichkeiten des Moduls extrem vielfältig.

    Benutzerdefinierte Felder

    Im News-Modul können auch benutzerdefinierte Felder erstellt werden (einschließlich für Dateien und Bilder). Dies macht es möglich, dass Sie den Artikeln auch PDF-Dateien oder Bilder o. ä. anhängen können.

    Kategorien

    Für die Verwaltung der Nachrichtenartikel bietet das Modul einen hierarchischen Kategorie-Mechanismus. Ein Nachrichtenartikel kann jedoch nicht mehreren Kategorien zugeordnet werden.

    Verfallsdatum und Status

    Jeder News-Artikel kann optional mit einem Verfallsdatum versehen werden, nach dem er nicht mehr auf der Webseite angezeigt werden soll. Außerdem kann der Status des News-Artikels auf „Entwurf“ gesetzt werden, um ihn dauerhaft von der Webseite zu entfernen.

    Sicherheit

    Um News-Einträge hinzufügen oder bearbeiten zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify News“ hat.

    Um News-Einträge löschen zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Delete News Articles“ hat.

    Um die Templates bearbeiten zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify Templates“ hat.

    Um die globalen News-Einstellungen zu ändern, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify Site Preferences“ hat.

    Um News-Einträge für die Anzeige auf der Website freizugeben, muss der Benutzer zusätzlich einer Gruppe angehören, die die Berechtigung „Approve News“ hat.

    Wie wird es eingesetzt?

    Am einfachsten kann das Modul mit dem {news}-Tag verwendet werden. Dieser fügt die Ausgabe des Moduls in Ihr Template oder Seite ein und zeigt die News-Einträge an. Der einzufügende Code sollte so aussehen: {news number=\'5\'}

    Templates

    Seit Version 2.3 werden die Templates des News-Moduls in der Datenbank gespeichert. Dateibasierte Templates werden nicht mehr unterstützt. Wenn Sie noch solche verwenden, sollten Sie mit der folgenden Anleitung jedes verwendete (dateibasierte) Template importieren:

    • Kopieren Sie den Inhalt Ihrer Template-Datei in den Zwischenspeicher Ihres Rechners.
    • Erstellen Sie ein neues Datenbank-Template (je nach Bedarf für die Zusammenfassungs- oder Detailansicht). Geben Sie dem neuen Template den gleichen Namen wie der alten (einschließlich der Endung .tpl). Fügen Sie den Inhalt des Zwischenspeichers ein.
    • Klicken Sie auf „Absenden“

    Mit diesem Ablauf sollte sichergestellt sein, dass Fehlermeldungen über Templates, die nicht gefunden werden oder ähnliche Smarty-Fehler, nicht auftreten, wenn auf eine CMSms-Version aktualisiert wird, die das News-Modul 2.3 oder höher verwendet.

    Template-Variablen

    • itemcount - maximale Anzahl der anzuzeigenden News-Artikel
    • entry->authorname - vollständiger Name des News-Autors (Vor-/Nachname), wie er in der Benutzer-Verwaltung gespeichert ist

    Auch die Variablen der Extra-Felder können in den Templates separat verwendet werden. So lässt sich zum Beispiel das Extrafeld mit dem Namen „musterfeld“ über die Variable entry->musterfeld abfragen.

    ACHTUNG: Leerzeichen müssen dabei durch den Unterstrich („_“) ersetzt werden.

    '; $lang['helpaction'] = 'Überschreibt die vorgegebene Aktion. Mögliche Werte sind:
    • "detail" - einen bestimmten Artikel im Detail-Modus anzeigen
    • "default" - die Zusammenfassungansicht anzeigen
    • "fesubmit" - auf der Webseite ein Formular zum Einsenden neuer Artikel anzeigen. Um für das Formular den voreingestellten WYSIWYG-Editor zu verwenden, müssen Sie den Metadaten (Webseiten-Administration > Globale Einstellungen) {cms_init_editor} hinzufügen.
    • "browsecat" - eine Kategorienliste anzeigen.
    '; $lang['helpbrowsecat'] = 'Mit diesem Parameter wird eine Liste der Kategorien angezeigt (browsecat=\'1\'). Kann NICHT zusammen mit dem Parameter „category“ verwendet werden.'; $lang['helpbrowsecattemplate'] = 'Verwendet ein Template für die Anzeige der Kategorien. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Kategorien-Template“ angezeigt werden. Sie muss jedoch nicht als Standard gekennzeichnet sein. Ohne Parameter wird das als Standard gekennzeichnete Template für die Anzeige verwendet.'; $lang['helpcategory'] = 'Mit diesem Parameter können Sie festlegen, aus welcher Kategorie die Einträge angezeigt werden. Um auch die Unterkategorien anzuzeigen, geben Sie nach dem Kategorienamen ein * ein. Über eine durch Kommata getrennte Liste können auch mehrere Kategorien angezeigt werden. Ohne diesen Parameter werden alle Kategorien angezeigt. Dieser Parameter funktioniert auch mit der Aktion „fesubmit“, obwohl dort nur eine Kategorie unterstützt wird.'; $lang['helpdetailpage'] = 'Seite, auf der die Nachrichtendetails angezeigt werden. Das kann entweder ein Seiten-Alias oder eine Seiten-ID sein. Damit können die Nachrichtendetails in einem anderen Template als die Nachrichtenzusammenfassung angezeigt werden.'; $lang['helpdetailtemplate'] = 'Verwendet eine separates Template für die Detail-Anzeige des Artikels. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Detail-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['helpformtemplate'] = 'Verwendet ein Template für die Anzeige des Formulars zur Übermittlung neuer Artikel. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Formular-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['helpmoretext'] = 'Mit diesem Parameter wird der Text festgelegt, der nach der News-Zusammenfassung angezeigt wird, wenn der Artikel länger als die vorgegebene Länge ist. Vorgegeben ist „Weiterlesen …“'; $lang['helpnumber'] = 'Anzahl der maximal anzuzeigenden Einträge (pro Seite) – ohne Parameter werden alle Einträge angezeigt. Dies ist ein Synonym für den Parameter pagelimit.'; $lang['helpshowall'] = 'Mit diesem Parameter können alle Artikel (unabhängig von der festgelegten Anzeigedauer) angezeigt werden (showall=\'1\').'; $lang['helpshowarchive'] = 'Mit diesem Parameter werden nur die Artikel angezeigt, deren festgelegte Anzeigedauer bereits abgelaufen ist (showarchive=\'1\').'; $lang['helpsortasc'] = 'Sortiert Einträge in aufsteigender Folge anstatt in absteigender (nach Datum).'; $lang['helpsortby'] = 'Felder, nach denen die Einträge sortiert werden. Mögliche Optionen sind: „news_date“, „summary“, „news_data“, „news_category“, „news_title“, „news_extra“, „end_time“, „start_time“, „random“. Standard ist „news_date“. Ist die gewählte Option „random“, wird der Parameter „sortasc“ ignoriert.'; $lang['helpstart'] = 'Beginnt die Anzeige mit dem n-ten Eintrag – wird das Feld leer gelassen, wird mit dem ersten Eintrag begonnen.'; $lang['helpsummarytemplate'] = 'Verwendet ein separates Template für die Anzeige der Artikel-Zusammenfassungen. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Zusammenfassungs-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['help_articleid'] = 'Dieser Parameter funktioniert nur in der Detailansicht. Mit ihm kann vorgegeben werden, welcher Artikel im Detail-Modus angezeigt werden soll. Wird an dieser Stelle der Wert -1 verwendet, wird der neueste veröffentlichte, nicht abgelaufene Artikel angezeigt.'; $lang['help_article_title'] = 'Der Titel des Artikels sollte kurz sein und keinen HTML-Code beinhalten'; $lang['help_article_category'] = 'Für Organisationszwecke kann eine Kategorie ausgewählt werden'; $lang['help_article_content'] = 'Der Hauptinhalt des Artikels'; $lang['help_article_enddate'] = 'Wenn die Verwendung des Verfallsdatums aktiviert ist, gibt dieses Datum an, ab wann der Artikel vor der Öffentlichkeit versteckt wird.'; $lang['help_article_extra'] = 'Das sind Extra-Daten, die mit dem News-Artikel verknüpft werden können. Sie können für die Sortierreihenfolge oder andere Darstellungsaufgaben verwendet werden. Sie sollten Ihren Webdesigner fragen, wie dieses Feld verwendet werden sollte - wenn überhaupt.'; $lang['help_article_searchable'] = 'Dieses Feld zeigt an, ob ein Artikel durch das Suchmodul indiziert werden soll.'; $lang['help_article_postdate'] = 'Das Absendedatum (normalerweise das aktuelle Datum neuer Artikel) ist das Datum, das als Veröffentlichungsdatum verwendet wird. Außerdem wird es zur Sortierung verwendet.'; $lang['help_article_summary'] = 'Geben Sie einen kurzen Text zur Beschreibung des Artikels ein. Diese Zusammenfassung kann verwendet werden, wenn mehrere Artikel angezeigt werden sollen.'; $lang['help_article_startdate'] = 'Wenn die Verwendung des Verfallsdatums aktiviert ist, gibt dieses Datum an, ab wann der Artikel öffentlich sichtbar ist.'; $lang['help_article_status'] = 'Wenn der Artikel sofort für alle sichtbar sein soll, setzen Sie den Status auf „veröffentlicht“. Wenn Sie am Artikel noch weiter arbeiten wollen, setzen Sie den Status auf „Entwurf“.'; $lang['help_articles_sortby'] = 'Wählen Sie aus, wie die Artikel normalerweise sortiert werden sollen.'; $lang['help_category_name'] = 'Geben Sie einen Namen für diese Kategorie an; der Name sollte für die Verwendung in URLs geeignet sein, d. h. keine Sonder- oder Leerzeichen enthalten.'; $lang['help_fielddef_options'] = 'Hier können gültige Optionen für Auswahlfelder angegeben werden'; $lang['help_pagelimit'] = 'Maximale Anzahl der anzuzeigenden Einträge (pro Seite). Ohne diesen Parameter werden alle Einträge angezeigt. Wenn dieser Parameter gesetzt wurde und mehr Einträge vorhanden sind, als pro Seite angezeigt werden sollen, werden Links eingeblendet, um vorwärts oder rückwärts zu den nächsten Seiten blättern zu können.'; $lang['hide_summary_field'] = 'Das Zusammenfassungsfeld verbergen, wenn ein Artikel hinzugefügt oder bearbeitet wird'; $lang['info_allow_fesubmit'] = 'Mit dieser Option wird festgelegt, ob eine Veröffentlichung über das Frontend erlaubt ist. Bitte mit Vorsicht verwenden!'; $lang['info_categories'] = 'Zu organisatorischen Zwecken können News-Artikel in hierarchischen Kategorien angeordnet werden.'; $lang['info_detail_returnid'] = 'Mit diesen Einstellungen kann eine Seite festgelegt werden (und damit auch ein Template), die für die Anzeige der Detailansicht verwendet werden soll. Die individuellen News-Detail-URLs werden jedoch nicht funktionieren, wenn dieser Parameter keine gültige Seite enthält. Wird diese Einstellung aktiviert und im news-Tag der Parameter detailpage nicht angegeben, wird dieser Wert für Detail-Links verwendet.'; $lang['info_expired_searchable'] = 'Wenn aktiviert, können abgelaufene News-Artikel von dem Such-Modul indexiert und in Suchergebnissen angezeigt werden.'; $lang['info_expired_viewable'] = 'Wenn aktiviert, können abgelaufene Artikel im Detail-Modus angezeigt werden (dies reproduziert alte Funktionalität). Der showall Parameter kann für die URL (wenn sie pretty URL\'s nicht verwenden) verwendet werden, um zu zeigen dass auch abgelaufene Artikel angezeigt werden können.'; $lang['info_fesubmit_notification'] = 'Sie können optional eine E-Mail an eine bestimmte E-Mail-Adresse versenden lassen, wenn über das Frontend ein News-Artikel veröffentlicht wurde.'; $lang['info_maxlength'] = 'Die maximale Länge hat nur Auswirkungen auf einzeilige Textfelder.'; $lang['info_public'] = 'Nur öffentliche Felder werden in Zusammenfassungs- oder Detailansichten angezeigt und sind für öffentliche Bearbeitung verfügbar.'; $lang['info_reorder_categories'] = 'Ziehen Sie die Items in die richtige Reihenfolge, um Kategoriebezihungen zu ändern.'; $lang['info_searchable'] = 'Dieses Feld gibt an, ob der Artikel vom Such-Modul indexiert werden soll.'; $lang['info_sysdefault'] = '(der Inhalt, der standardmäßig beim Erstellen einer neuen Vorlage verwendet wird)'; $lang['info_sysdefault2'] = 'Hinweis: In den Textbereichen dieser Registerkarte können Sie die Vorlagen vordefinieren, die automatisch eingefügt werden, wenn Sie eine neue Zusammenfassungs-, Detail- oder Formularvorlage erstellen. Das Ändern/Speichern der Inhalte in diesem Reiter hat keine Auswirkungen auf die aktuelle Anzeige.'; $lang['lastpage'] = '»'; $lang['lbl_adminsearch'] = 'Nachrichtenartikel suchen'; $lang['linkedfile'] = 'verknüpfte Datei'; $lang['maxlength'] = 'Maximale Länge'; $lang['msg_cancelled'] = 'Aktion abgebrochen'; $lang['msg_categoriesreordered'] = 'Reihenfolge der Kategorien wurde aktualisiert'; $lang['msg_contenttype_removed'] = 'Der Inhaltstyp „News“ wird nicht mehr unterstützt. Bitte verwenden Sie in Ihren Seiten-Templates bzw. -inhalten anstatt dessen den {news}-Tag mit den entsprechenden Parametern.'; $lang['msg_success'] = 'Aktion erfolgreich'; $lang['more'] = 'weiterlesen'; $lang['moretext'] = 'Text für den Link „weiterlesen“'; $lang['name'] = 'Name'; $lang['nameexists'] = 'Ein Extra-Feld mit diesem Namen existiert bereits'; $lang['needpermission'] = 'Sie benötigen die Berechtigung „%s“, um diese Funktion nutzen zu können.'; $lang['newcategory'] = 'Neue Kategorie'; $lang['news'] = 'Nachrichten'; $lang['news_return'] = 'Zurück'; $lang['nextpage'] = '›'; $lang['noarticles'] = 'Es gibt im Moment keine Nachrichtenartikel'; $lang['noarticlesinfilter'] = 'Es gibt keine Nachrichtenartikel, die mit diesem Filter angezeigt werden'; $lang['nocategorygiven'] = 'Keine Kategorie vorhanden'; $lang['nocontentgiven'] = 'Es wurde kein Inhalt eingegeben'; $lang['noitemsfound'] = 'Keine Einträge in der Kategorie %s gefunden'; $lang['nonamegiven'] = 'Es wurde kein Name eingegeben'; $lang['none'] = 'Keine'; $lang['nopostdategiven'] = 'Es wurde kein Erstellungsdatum eingestellt'; $lang['notanumber'] = 'Die maximale Länge ist keine Zahl'; $lang['note'] = 'Hinweis: Datum/Zeit muss im Format „JJJJ-MM-TT hh:mm:ss“ angegeben werden.'; $lang['notify_n_draft_items'] = '%s Nachrichtenartikel wurde(n) noch nicht veröffentlicht.'; $lang['notify_n_draft_items_sub'] = '%d Nachrichtenartikel'; $lang['notitlegiven'] = 'Es wurde kein Titel eingegeben'; $lang['numbertodisplay'] = 'Anzuzeigende Anzahl (ohne Eintrag werden alle Datensätze angezeigt)'; $lang['options'] = 'Optionen'; $lang['optionsupdated'] = 'Die Einstellungen wurden gespeichert.'; $lang['parent'] = 'übergeordnet'; $lang['postdate'] = 'Erstellt am'; $lang['postinstall'] = 'Stellen Sie sicher, dass die Benutzer, die die News verwalten, die Berechtigung „Modify News“ haben.'; $lang['post_date_asc'] = 'nach Erstellungsdatum aufsteigend'; $lang['post_date_desc'] = 'nach Erstellungsdatum absteigend'; $lang['preview'] = 'Vorschau'; $lang['prevpage'] = '‹'; $lang['print'] = 'Drucken'; $lang['prompt_alert_drafts'] = 'Hinweis bei unbestätigten Artikeln'; $lang['prompt_allow_fesubmit'] = 'Erlaubt das Abschicken von News-Artikeln über das Frontend'; $lang['prompt_default'] = 'Voreingestellt'; $lang['prompt_go'] = 'Los'; $lang['prompt_name'] = 'Name'; $lang['prompt_newtemplate'] = 'Eine neue Vorlage erstellen'; $lang['prompt_of'] = 'von'; $lang['prompt_page'] = 'Seite'; $lang['prompt_pagelimit'] = 'Artikel pro Seite'; $lang['prompt_redirecttocontent'] = 'Zurück zur Seite'; $lang['prompt_sorting'] = 'Sortieren'; $lang['prompt_template'] = 'Vorlagenquelle'; $lang['prompt_templatename'] = 'Vorlagenname'; $lang['public'] = 'Öffentlich'; $lang['published'] = 'Veröffentlicht'; $lang['reassign_category'] = 'Kategorie ändern auf'; $lang['removed'] = 'Entfernt'; $lang['reorder'] = 'neu anordnen'; $lang['reorder_categories'] = 'Kategorien neu anordnen'; $lang['reset'] = 'Zurücksetzen'; $lang['resettodefault'] = 'Auf die programmseitigen Voreinstellungen zurücksetzen'; $lang['restoretodefaultsmsg'] = 'Diese Funktion setzt die Templates auf die programmseitigen Voreinstellung zurück. Wollen Sie das wirklich?'; $lang['revert'] = 'Status auf „Entwurf“ setzen'; $lang['searchable'] = 'durchsuchbar'; $lang['select'] = 'Auswählen'; $lang['select_option'] = 'Option auswählen'; $lang['selectall'] = 'Alle auswählen'; $lang['selectcategory'] = 'Kategorie auswählen'; $lang['showchildcategories'] = 'Unterkategorien anzeigen'; $lang['sortascending'] = 'aufsteigend sortieren'; $lang['startdate'] = 'Beginn'; $lang['startdatetoolate'] = 'FEHLER: Der Startzeitpunkt muss VOR dem Endzeitpunkt liegen'; $lang['startoffset'] = 'Beginnt mit der Anzeige ab dem n-ten Eintrag'; $lang['startrequiresend'] = 'Die Eingabe eines Startzeitpunktes erfordert auch die Eingabe eines Endzeitpunktes.'; $lang['status'] = 'Status'; $lang['status_asc'] = 'nach Status aufsteigend'; $lang['status_desc'] = 'nach Status absteigend'; $lang['subject_newnews'] = 'Es wurde ein neuer Artikel eingesandt'; $lang['submit'] = 'Speichern'; $lang['summary'] = 'Zusammenfassung'; $lang['summarytemplate'] = 'Zusammenfassungsvorlage'; $lang['summarytemplateupdated'] = 'Das Zusammenfassungsvorlage wurde aktualisiert.'; $lang['sysdefaults'] = 'Auf die programmseitigen Voreinstellungen zurücksetzen'; $lang['template'] = 'Vorlage'; $lang['textarea'] = 'Mehrzeiliger Textbereich'; $lang['textbox'] = 'Einzeiliges Textfeld'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'nach Titel aufsteigend'; $lang['title_available_templates'] = 'Verfügbare Vorlagen'; $lang['title_browsecat_sysdefault'] = 'Voreingestellte Vorlage für die Kategorienanzeige'; $lang['title_browsecat_template'] = 'Vorlageneditor für die Kategorienanzeige'; $lang['title_desc'] = 'nach Titel absteigend'; $lang['title_detail_returnid'] = 'Voreingestellte Seite, die für die Detailansicht verwendet werden soll'; $lang['title_detail_settings'] = 'Einstellungen für die Detailansicht'; $lang['title_detail_sysdefault'] = 'Voreingestellte Vorlage für die Details'; $lang['title_detail_template'] = 'Editor für die Detailvorlagen'; $lang['title_draft_entries'] = 'Unbestätigte Nachrichtenartikel'; $lang['title_fesubmit_form'] = 'Artikel absenden'; $lang['title_fesubmit_settings'] = 'Einstellungen für die News-Einsendung über die Webseite'; $lang['title_filter'] = 'Anzeige filtern'; $lang['title_form_sysdefault'] = 'Voreingestellte Vorlage für das Formular'; $lang['title_form_template'] = 'Editor für die Formularvorlagen'; $lang['title_news_settings'] = 'Einstellungen – Nachrichtenmodul'; $lang['title_notification_settings'] = 'Benachrichtigungseinstellungen'; $lang['title_submission_settings'] = 'Einstellungen für die Nachrichtenübertragung'; $lang['title_summary_sysdefault'] = 'Voreingestellte Vorlage für die Zusammenfassung'; $lang['title_summary_template'] = 'Editor für die Zusammenfassungsvorlagen'; $lang['toggle_bulk'] = 'Diesen Artikel für Massenbearbeitung auswählen'; $lang['type'] = 'Typ'; $lang['type_browsecat'] = 'Kategorie durchstöbern'; $lang['type_form'] = 'Webseitenformular'; $lang['type_detail'] = 'Detail'; $lang['type_News'] = 'Nachrichten'; $lang['type_summary'] = 'Zusammenfassung'; $lang['unknown'] = 'Unbekannt'; $lang['unlimited'] = 'Unbegrenzt'; $lang['up'] = 'Nach oben'; $lang['uploadscategory'] = 'Kategorie im Uploads-Modul'; $lang['url'] = 'Individuelle Artikel-URL'; $lang['useexpiration'] = 'Zeitsteuerung aktivieren'; $lang['viewfilter'] = 'Filter anzeigen'; $lang['warning_preview'] = 'Warnung: Diese Vorschau verhält sich ähnlich wie ein Browser-Fenster, mit dem Sie von der ursprünglich ausgewählten Seite aus navigieren können. Jedoch können unerwartete Verhalten auftreten. Wenn Sie auf der ursprünglich angewählten Seite navigieren und dann dorthin zurückkehren, sehen Sie die unveränderten Inhalte, obwohl Sie im der Hauptregisterkarte Änderungen vorgenommen und diese neu geladen haben. Wenn Sie Inhalte hinzufügen, währenddessen Sie auf der Seite navigieren, ist es Ihnen nicht möglich zurückzukehren - Sie müssen dann die Vorschau-Seite aktualisieren.
    Hinweis: Im Vorschau-Modus werden keine Dateien hochladen, die Sie möglicherweise dafür ausgewählt haben.'; $lang['with_selected'] = 'ausgewählte'; ?>(ίσως ήδη χρησιμοποιήται, ή υπάρχουν μη έγκυροι χαρακτήρες)'; $lang['error_mkdir'] = 'Δεν μπόρεσε να δημιουργήσει φάκελο: %s'; $lang['error_movefile'] = 'Δεν μπόρεσε να δημιουργήσει αρχείο: %s'; $lang['error_noarticlesselected'] = 'Δεν υπάρχουν επιλεγμένα άρθρα.'; $lang['error_templatenamexists'] = 'Υπάρχει ήδη template με αυτό το όνομα'; $lang['error_upload'] = 'Παρουσιάστηκε πρόβλημα Proble'; $lang['eventdesc-NewsArticleAdded'] = 'Να σταλεί όταν προστεθεί ένα άρθρο.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sent when an article is added.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Να σταλεί όταν ένα άρθρο αφαιρεθεί.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • \\"news_id\\" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Να σταλεί όταν ένα άρθρο δεχθεί επεξεργασία.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Να σταλεί όταν ένα άρθρο προστεθεί.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Να σταλεί όταν μια κατηγορία αφαιρεθεί.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • \\"category_id\\" - Id of the deleted category
    • \\"name\\" - Name of the deleted category
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Να σταλεί όταν μια κατηγορία δεχθεί επεξεργασία.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    • \\"origname\\" - The original name of the news category
    '; $lang['expired'] = 'Ληγμένο'; $lang['expired_searchable'] = 'Άρθρα που έχουν λήξη μπορούν να φανούν στα αποτελέσματα της αναζήτησης'; $lang['expiry'] = 'Λήξη'; $lang['expiry_date_asc'] = 'Ημερομηνία λήξης σε άυξουσα'; $lang['expiry_date_desc'] = 'Ημερομηνία λήξης σε φθήνουσα'; $lang['expiry_interval'] = 'Το νούμερο ημερών ( από εξ αρχής ) πριν ένα άρθρο λήξη ( αν έχει επιλεγεί να λήγει )'; $lang['extra'] = 'έχτρα'; $lang['fesubmit_redirect'] = 'Το ID σελίδας ή εναλακτικό όνομα για μεταφορά όταν ένα άρθο νέου έχει επικυρωθεί από τον χρήστη.'; $lang['fesubmit_status'] = 'Η κατάσταση των νέων που κατοχυρώθηκαν απο τους frontend χρήστες'; $lang['fielddef'] = 'Ορισμός πεδίου'; $lang['fielddefadded'] = 'Προστέθηκε επιτυχώς ο ορισμός πεδίου'; $lang['fielddefdeleted'] = 'Σβήστηκε ο ορισμός του πεδίου'; $lang['fielddefupdated'] = 'Ενημέρωση ορισμού του πεδίου'; $lang['file'] = 'Αρχείο'; $lang['filter'] = 'Φίλτρο'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Διέυθηνση email όου λαμβάνονται ειδοποιήσεις για καταχώρηση νέων'; $lang['formtemplate'] = 'Φόρμες templates'; $lang['help'] = '

    Τι κάνει αυτό?

    Οι ειδήσεις είναι ένα άρθρωμα για την εμφάνιση συμβάντων ειδήσεων στην σελίδα σας, παρόμοι με νησίδα HTML, αλλά με περισσότερες δυνατότητες!. Μετά την εγκατάσταση του αρθρώματος προστίθεται μια σελίδα διαχείρισης ειδήσεων στο μενού διαχείρισης που σας επιτρέπει να προσθέσεται μια κατηγορία ειδήσεων. Μόλις προστεθεί ή επιλεχθεί μια κατηγορία ειδήσεων, μία λίστα απο στοιχεία ειδήσεων που αφορούν την κατηγορία θα εμφανιστεί. Μετά μπορείτε να προσθέσετε ,επεξεργαστείτε, ή να διαγράψετε στοιχεία αυτής της κατηγορίας ειδήσεων.

    Διάφορες μέθοδοι εμφάνισης

    Οι παρεχόμενες παράμετροι από το άρθρωμα των νέων και η υποστήριξη διαφόρων templates κάθε φορά σημαίνουν ότι οι επιλογές για εμφάνιση νέων άρθρων έχουν κάποιο όριο.

    Παραμετροποιήσιμα πεδία

    Το άρθρωμα των νέων επιτρέπει διάφορα παραμετροποιήσιμα πεδία, που επιτρέπουν να προσθέσεις pdf αρχεία ή φωτογραφίες στα άρθρα σου.

    Κατηγορίες

    Τα νέα παρέχουν έναν μηχανισμό ιεραρχίας για την οργάνωση των άρθρων σου.\'Ενα άρθρο νέων μπορεί να είναι σε μία θέση στην ιεραρχία.

    Λήξη και κατάσταση

    Κάθε άρθρο νέων μπορεί να έχει μία προαιρετική ημερομινία λήξης, μετά από την οποία δε θα φαίνεται στην σελίδα.

    Ασφάλεια

    Ο χρήστης πρέπει να ανήκει στην ομάδα με δικαίωμα \'Τροποποίηση Ειδήσεων\' για να επιτραπεί προσθήκη, επεξεργασία ή διαγραφή εγγραφών ειδήσεων.

    Πώς το χρησιμοποιώ?

    Ο ποιό εύκολος τρόπος είναι σε συνάρτηση με την κεφαλίδα cms_module. Ετσι εισάγεται το άρθρωμα στο πρότυπο ή σε σελίδα οπουδήποτε θέλετε να και εμφανίζει τα σtοιχεία ειδήσεων. Δείγμα κώδικα : {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction'] = 'Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat'] = 'Δείξε μια περιηγήσημη λίστα κατηγοριών.'; $lang['helpbrowsecattemplate'] = 'Χρησιμοποίησε ένα template βάσης δεδομένων για προβολή της περιήγησης κατηγορίας. Αυτό το template πρέπει να υπάρχει και να είναι ορατό στην καρτέλα περιήγησης κατηγοριών templates της διαχείρισης νέων, παρόλο που δεν χρειάζεται να είναι το αρχικό.Αν αυτή η παράμετρος δεν οριστεί θα χρησημοποιηθεί το αρχικό.'; $lang['helpcategory'] = 'Εμφάνιση των στοιχείων μόνον αυτής της κατηγορίας. Χρησιμοποιείστε * μετα το όνομα για να εμφανιστούν και τα υπόλοιπα. Μπορείτε να χρησιμοποιείσετε πολλαπλές κατηγορίες με χρήση του κόμματος. Το κενό θα εμφανίσει όλες τις κατηγορίες.'; $lang['helpdetailpage'] = 'Επιλογή σελίδας για την εμφάνιση των λεπτομερειών των ειδήσεων. Μπορεί να είναι το όνομα μιας σελίδας ή ένα αναγνωριστικό. Στο παρελθόν επιτρεπόταν ή εμφάνιση των λεπτομερειών σε διαφορετικό πρότυπο από αυτό της σύνοψης.'; $lang['helpdetailtemplate'] = 'Χρήση ενός διαφορετικού προτύπου για την εμφάνιση του κυρίως άρθρου. Το πρότυπο 8α πρέπει να είναι στον κατάλογο modules/News/templates.'; $lang['helpformtemplate'] = 'Χρησιμοποίησε ένα template βάσης δεδομένων για προβολή της φόρμας επιβεβαίωσης του άρθρου. Αυτό το template πρέπει να υπάρχει και να είναι ορατό στην καρτέλα των templates της διαχείρισης των νέων, παρόλο που δεν χρειάζεται να είναι το αρχικό.Αν αυτή η παράμετρος δεν οριστεί θα χρησημοποιηθεί το αρχικό.'; $lang['helpmoretext'] = 'Κείμενο πυ θα εμφανίζεται στο τέλος μιας είδησης όταν το μέγεθος της ξεπερνά το μέγεθος της σύνοψης. Η πρεπιλοη είναι "περισσότερα..."'; $lang['helpnumber'] = 'Μέγιστος αριθμός εμφανιζόμενων στοιχείων =- Το κενό θα εμφανίσειόλα τα στοιχεία.'; $lang['helpshowall'] = 'Δείξε όλα τα άρθρα, ανεξάρτητα από την ημερομηνία που τελείωσαν'; $lang['helpshowarchive'] = 'Δείξε μόνο ληγμένα άρθρα νέων.'; $lang['helpsortasc'] = 'Ταξινόμηση των στοιχείων των ειδήσεων σε αύξουσα σειρά με βάση την ημερομηνία και όχι φθίνουσα.'; $lang['helpsortby'] = 'Ταξινόμηση με βάσει ένα πεδίο. Οι επιλογές είναι: "Ημερομηνία είδησης", "Σύνοψη", "Δεδομένα ειδήσεων", "Κατηγορία ειδήσεων", "Τίτλος ειδήσεων". Η προεπιλογή είναι "Ημερομηνία είδησης".'; $lang['helpstart'] = 'Έναρξη απο το στοιχείο με αριθμό -- αστο κενό για να ξεκινήσει απο το πρώτο.'; $lang['helpsummarytemplate'] = 'Χρήση ενός διαφορετικού προτύπου για την εμφάνιση της σύνοψης ενός άρθρου. Το πρότυπο 8α πρέπει να είναι στον κατάλογο modules/News/templates.'; $lang['help_articleid'] = 'Αυτή η παράμετρος είναι εφαρμόσιμη μόνο σε λεπτομερή προβολή. Επιτρέπει να ορίσεις ποιο άρθρο νέων να εμφανίζεται σε λεπομερή μορφή. Αν η ειδική τιμή είναι -1, το σύστημα θα προβάλλει το νεότερο, δημοσιευμένο , μή ληγμένο άρθρο.'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['hide_summary_field'] = 'Κρύψε την περίληψη όταν προσθέτεις ή επεξεργάζεσε άρθρα'; $lang['info_detail_returnid'] = 'Αυτή η επιλογή χρησιμοποιήται για να καθορίσει μία σελίδα ( και συνεπώς ένα template ) για χρήση για να δείχνει πληροφορίες.Εξατομικευμένα URLS λεπτομερών νέων δεν θα δουλέψουν αν αυτή η παράμετρος δεν είναι ρυθμισμένη σε έγκυρη σελίδα.Επιπροσθέτως, αν αυτή η επιλογή είναι ρυθμισμένη, και καμμία παράμετρος σελίδας δεν παρέχεται στο tag των νέων, τότε αυτή η τιμή θα χρησιμοποιηθεί για λεπτομερή links.'; $lang['info_maxlength'] = 'Το μέγιστο μήκος υπάρχει μόνο για πεδία εισαγωγής κειμένου'; $lang['info_sysdefault'] = '(το περιεχόμενο που χρησιμοποιήται εξ\'αρχής όταν δημιουργηθεί ένα νέο template)'; $lang['info_sysdefault2'] = 'Σημείωση: Αυτή η καρτέλα περιέχει περιοχές κειμένου που επιτρέπουν να επεξεργαστείς μερικά templates που φαίνονται όταν δημιουργείς ένα \'νέο\' περιληπτικό, λεπτομερές ή φόρμα templ , not effect any current displays.'; $lang['lastpage'] = '>>'; $lang['maxlength'] = 'Μέγιστο μήκος'; $lang['msg_contenttype_removed'] = 'Ο τύπος δεδομένων τον νέων έχει απομακρυνθεί. Παρακαλώ τοποθετήστε {news) tags με τις κατάλληλες παραμέτρους στη σελίδα σας ή στο περιεχόμενό της για να αντικαταστήσετε αυτή τη λειτουργία.'; $lang['more'] = 'Περισσότερα'; $lang['moretext'] = 'Περισσότερα'; $lang['name'] = 'Ονομασία'; $lang['nameexists'] = 'Υπάρχει ήδη πεδίο με αυτό το όνομα'; $lang['needpermission'] = 'Πρέπει να έχετε τα δικαιώματα πρόσβασης του \'%s\' για να εκτελέσετε αυτήν την εργασία.'; $lang['newcategory'] = 'Νέα κατηγορία'; $lang['news'] = 'Ειδήσεις'; $lang['news_return'] = 'Επιστροφή'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Δεν ορίσατε κατηγορία'; $lang['nocontentgiven'] = 'Δεν ορίσατε περιεχόμενο'; $lang['noitemsfound'] = 'Δέν ευρέθηκαν στοιχεία για τήν κατηγορία: %s'; $lang['nonamegiven'] = 'Δεν δώθηκε όνομα'; $lang['none'] = 'Κανένα'; $lang['nopostdategiven'] = 'Δεν ορίστηκε ημερομηνία δημοσίευσης'; $lang['notanumber'] = 'Το μέγιστο μήκος δεν είναι νούμερο'; $lang['note'] = 'Σημείωση: Οι ημερομηνίες πρέπει να έχουν την μορφή \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Έχεις το %s δημοσιευμένο.'; $lang['notify_n_draft_items_sub'] = '%d Άρθρα νέων'; $lang['notitlegiven'] = 'Δεν ορίστηκε τίτλος'; $lang['numbertodisplay'] = 'Αριθμός για εμφάνιση (το κενό εμφανίζει όλες τις εγγραφές)'; $lang['options'] = 'Επιλογές'; $lang['optionsupdated'] = 'Οι επιλογές ενημερώθηκαν επιτυχώς.'; $lang['postdate'] = 'Ημερομηνία δημοσίευσης'; $lang['postinstall'] = 'Βεβαιωθείτε ότι ορίσατε το δικαίωμα "Τροποποίηση Ειδήσεων" στους χρήστες που θα διαχειρίζονται στοιχείων ειδήσεων.'; $lang['post_date_asc'] = 'Δημοσίευσε ημερομηνία σε άυξουσα'; $lang['post_date_desc'] = 'Δημοσίευσε ημερομηνία σε φθήνουσα'; $lang['prevpage'] = '<'; $lang['print'] = 'Εκτύπωση'; $lang['prompt_default'] = 'Αρχικό'; $lang['prompt_name'] = 'Ονομα'; $lang['prompt_newtemplate'] = 'Δημιούργησε νέο template'; $lang['prompt_of'] = 'από'; $lang['prompt_page'] = 'Σελίδα'; $lang['prompt_pagelimit'] = 'Όριο σελίδας'; $lang['prompt_sorting'] = 'κατηγοριοποίηση σύμφωνα με'; $lang['prompt_template'] = 'Πηγή template'; $lang['prompt_templatename'] = 'Ονομα template'; $lang['public'] = 'Δημόσιο'; $lang['published'] = 'Δημοσιευμένο'; $lang['reassign_category'] = 'Άλλαξε κατηγορία προς'; $lang['removed'] = 'Απομακρύνθηκε'; $lang['resettodefault'] = 'Επαναφορά στις αρχικές ρυμθίσεις'; $lang['restoretodefaultsmsg'] = 'Αυτή η λειτουργία 8α επαναφέρει τα περιεχόμενα των προτύπων στις προεπιλογές του συστήματος. Είστε βέβαιοι για την συνέχιση της διαδικασίας?'; $lang['revert'] = 'Ορισε ως \'σχεδιασμένο\''; $lang['select'] = 'Διάλεξε'; $lang['selectcategory'] = 'Επιλογή κατηγορίας'; $lang['showchildcategories'] = 'Εμφάνιση υποκατηγοριών'; $lang['sortascending'] = 'Αύξουσα ταξινόμηση'; $lang['startdate'] = 'Αρχική ημερομηνία'; $lang['startdatetoolate'] = 'Η ημερομηνία αρχής είναι πολύ αργά'; $lang['startoffset'] = 'Έναρξη εμφάνισης από το στοιχείο με αριθμό'; $lang['startrequiresend'] = 'Η εισαγωγή μιας αρχικής ημερομηνίας απαιτεί την εισαγωγή μιας τελικής στην συνέχεια'; $lang['status'] = 'Κατάσταση'; $lang['status_asc'] = 'Κατάσταση σε άυξουσα'; $lang['status_desc'] = 'Κατάσταση σε φθήνουσα'; $lang['subject_newnews'] = 'Εχει δημοσιευτεί ένα άρθρο νέου'; $lang['submit'] = 'Υποβολή'; $lang['summary'] = 'Σύνοψη'; $lang['summarytemplate'] = 'Μορφή προτύπου σύνοψης'; $lang['summarytemplateupdated'] = 'Το template περίληψης νέων ενημερώθηκε επιτυχώς.'; $lang['sysdefaults'] = 'Επαναφορά επιλογών'; $lang['template'] = 'ταμπλό'; $lang['textarea'] = 'Περιοχή κειμένου'; $lang['textbox'] = 'Είσοδος κειμένου'; $lang['title'] = 'Τίτλος'; $lang['title_asc'] = 'Τίτλος σε άυξουσα'; $lang['title_available_templates'] = 'Διαθέσιμα templates'; $lang['title_browsecat_sysdefault'] = 'Βασική περιήγηση στην κατηγορία templates'; $lang['title_browsecat_template'] = 'Περιήγηση στην κατηγορία επεξεργαστών template'; $lang['title_desc'] = 'Τίτλος σε φθήνουσα'; $lang['title_detail_returnid'] = 'Βασική δελίδα για χρήση λεπτομερών νέων.'; $lang['title_detail_settings'] = 'Ρυθμίσεις για λεπτομερή εμφάνιση'; $lang['title_detail_sysdefault'] = 'Αρχικό λεπτομερές template'; $lang['title_detail_template'] = 'Λεπτομερείς επεξεργαστής template'; $lang['title_fesubmit_settings'] = 'Υποβολή ρυθμίσεων για το frontend'; $lang['title_filter'] = 'Φίλτρα'; $lang['title_form_sysdefault'] = 'Αρχική φόρμα template'; $lang['title_form_template'] = 'Επεξεργαστής φόρμας template'; $lang['title_notification_settings'] = 'Ρυθμίσεις ειδοποίησης'; $lang['title_submission_settings'] = 'Ρυθμίσεις για υποβολή νέων'; $lang['title_summary_sysdefault'] = 'Αρχική περίληψη template'; $lang['title_summary_template'] = 'Συνοπτικός επεξεργαστής template'; $lang['type'] = 'Τύπος'; $lang['unknown'] = 'Άγνωστο'; $lang['unlimited'] = 'Χωρίς όριο'; $lang['up'] = 'Επάνω'; $lang['uploadscategory'] = 'Κατηγορία Uploads'; $lang['url'] = 'Ενιαίος Εντοπιστής Πόρων'; $lang['useexpiration'] = 'Χρήση ημερομηνίας λήξης'; ?>Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>(puede que esté en uso, o que contenga caracteres inválidos)'; $lang['error_mkdir']='No se pudo crear el directorio: %s'; $lang['error_movefile']='No se pudo crear el archivo: %s'; $lang['error_noarticlesselected']='No se ha elegido ningún artículo'; $lang['error_nooptions']='No hay opciones especificadas para la definición del campo'; $lang['error_templatenamexists']='Ya existe una plantilla con ese nombre'; $lang['error_upload']='Ha ocurrido un problema al subir un archivo'; $lang['eventdesc-NewsArticleAdded']='Se envía cuando se añade un artículo.'; $lang['eventdesc-NewsArticleDeleted']='Se envía cuando eliminamos un artículo.'; $lang['eventdesc-NewsArticleEdited']='Se envia cuando editamos un artículo.'; $lang['eventdesc-NewsCategoryAdded']='Se envía cuando añadimos una categoría.'; $lang['eventdesc-NewsCategoryDeleted']='Se envía cuando eliminamos una categoría.'; $lang['eventdesc-NewsCategoryEdited']='Se envia cuando editamos una categoría.'; $lang['eventhelp-NewsArticleAdded']='

    Se envía cuando añadimos un artículo.

    Parámetros

    • \"news_id\" - Id del artículo
    • \"category_id\" - Id de la categoría del artículo
    • \"title\" - Título del artículo
    • \"content\" - Contenido del artículo
    • \"summary\" - Resumen del artículo
    • \"status\" - estado del artículo ("borrador" o "publicado")
    • \"start_time\" - Fecha de inicio a partir de la cual se muestra el artículo
    • \"end_time\" - Fecha de vencimiento a partir de la cual no se muestra el artículo
    • \"useexp\" - Si la fecha de vencimiento se ignora o no
    '; $lang['eventhelp-NewsArticleDeleted']='

    Se envía cuando se elimina un artículo.

    Parámetros

    • \"news_id\" - Id del artículo de noticias
    '; $lang['eventhelp-NewsArticleEdited']='

    Se envía cuando se edita un artículo.

    Parámetros

    • \"news_id\" - Id del artículo
    • \"category_id\" - Id de la categoría del artículo
    • \"title\" - Título del artículo
    • \"content\" - Contenido del artículo
    • \"summary\" - Resumen del artículo
    • \"status\" - estado del artículo ("borrador" o "publicado")
    • \"start_time\" - Fecha de inicio a partir de la cual se muestra el artículo
    • \"end_time\" - Fecha de vencimiento a partir de la cual no se muestra el artículo
    • \"useexp\" - Si la fecha de vencimiento se ignora o no
    '; $lang['eventhelp-NewsCategoryAdded']='

    Se envía cuando se añade una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría del artículo
    • \"name\" - Nombre de la categoría
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Se envía cuando se elimina una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría eliminada
    • \"name\" - Nombre de la categoría eliminada
    '; $lang['eventhelp-NewsCategoryEdited']='

    Se envía cuando se edita una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría de noticias
    • \"name\" - Nombre de la categoría de noticias
    • \"origname\" - El nombre original de la categoría de noticias
    '; $lang['expired']='Vencido'; $lang['expired_searchable']='Los artículos vencidos pueden aparecer en resultados de búsquedas'; $lang['expired_viewable']='Articulos que han expirado se pueden ver en la vista detallada.'; $lang['expiry']='Vencimiento'; $lang['expiry_date_asc']='Fecha Vence Ascendente'; $lang['expiry_date_desc']='Fecha Vence Descendente'; $lang['expiry_interval']='El número de días (por defecto) antes que un artículo haya vencido (si se elige vencer)'; $lang['extra']='Extra '; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='El ID o Alias de la página a donde se redireccionará después de que un artículo de noticias ha sido enviado a través de la acción FEsubmit'; $lang['fesubmit_status']='El estado de artículos de noticias enviados vía el portal'; $lang['fielddef']='Definición de Campo'; $lang['fielddefadded']='Definición de Campo Añadida Correctamente'; $lang['fielddefdeleted']='Definición de Campo Eliminada'; $lang['fielddefupdated']='Definición de Campo Actualizada'; $lang['file']='Archivo'; $lang['filter']='Filtro'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Dirección del email para recibir notificaciones de envíos de noticias'; $lang['formtemplate']='Plantillas de Formulario'; $lang['help']='

    Notas Importantes

    A partir de la versión 2.9 de las News se ha eliminado el miembro formatpostdate de las plantillas, así como el parámetro dateformat. Debe usar el modificador cms_date_format (como se indica en las plantillas por defecto) para formatear las fechas, y usar en las plantillas entry->postdate en vez de entry->formatpostdate.

    ¿Qué hace esto?

    News es un módulo para mostrar noticias de acontecimientos en su página, similar al estilo de un blog, pero con más posibilidades. Cuando se instala el módulo, se agrega una página de Administración de Noticias al menú de administración que le permitirá seleccionar o crear una categoría de noticias. Una vez que se crea o se selecciona una categoría de noticias, se muestra una lista de nuevos ítems para esa categoría. A partir de aquí puede agregar, editar o eliminar items de esa categoría.

    Varios métodos de visualización

    Debido a la cantidad de parámetros soportados por el módulo de noticias, así como la cantidad de plantillas que puede elegir, las opciones de visualización de los artículos de noticias son ilimitadas.

    Campos Personalizados

    El módulo de noticias permite definir numerosos campos personalizados (incluyendo archivos e imágenes) lo que le permitirá incluir archivos pdf o numerosas imágenes en los artículos.

    Categorías

    News proporciona un mecanismos de categorías en jerarquía para organizar los artículos. Un artículo de noticias sólo puede estar en una posición de esta jerarquía.

    Vencimiento y Estado

    Cada artículo de noticias puede tener una fecha de vencimiento opcional, a partir de la cual no se mostrará en la página web. También, los artículos se pueden marcar como borrador para retirarlos permanentemente de la página web.

    Seguridad

    El usuario debe pertenecer a un grupo con el permiso 'Modificar Noticias' para poder añadir o editar entradas de noticias.

    También, para poder eliminar entradas de noticias, el usuario debe pertenecer a un grupo con el permiso 'Eliminar Artículos de Noticias'.

    Para poder editar los diseños de las plantillas, el usuario debe pertenecer a un grupo con el permiso 'Modificar Plantillas'.

    Para poder editar las preferencias globales de las noticias, el usuario debe pertenecer a un grupo con el permiso 'Modificar las Preferencias del Sitio'.

    Además, para aprobar noticias que serán mostradas en el portal, el usuario deb pertenecer a un grupo con el permiso 'Aprobar Noticias'.

    ¿Como lo uso?

    La forma más sencilla de utilizarlo es mediante la etiqueta de envoltura {news} (envuelve al módulo en una etiqueta, para simplificar la sintaxis). Esto inserta el módulo en cualquier lugar que desee de la plantilla o de la página, y muestra los ítems de noticias. El código tendrá la forma: {news number='5'}

    Plantillas

    Desde la versión 2.3 News soporta múltiples plantillas de base de datos, dejando de soportar las plantillas de archivo. Los usuarios que usaban el viejo sistema de plantillas de archivo deberán seguir estos pasos (para cada plantilla):

    • Copiar el texto de la plantilla de archivo en el portapapeles
    • Crear una nueva plantilla de base de datos (tanto la de resumen como la de detalles, según se necesite). Dé a la nueva plantilla el mismo nombre (incluyendo la extensión .tpl) que tenía la vieja plantilla de archivo, y pegue el contenido del portapapeles.
    • Pulse en Enviar

    Con estos pasos se debería solucionar el problema de las plantillas no encontradas y otros errores smarty similares que se producen cuando actualiza a una la versión de CMS que incluye el módulo News 2.3 o superior.

    '; $lang['help_articleid']='Este parametro sólo se aplica a la vista en detalle. Permite especificar qué artículos de noticias se muestran en el modo detalle. Con el valor especial -1, el sistema mostrará el articulo más nuevo, publicado, que no ha vencido.'; $lang['help_pagelimit']='Máximo número de elementos a mostrar (por página). Si no se proporciona este parámetro se mostraran todos los elementos coincidentes. Si se especifica, y hay más elementos que los especificados por este parámetro, se proporcionarán textos y enlaces para poder navegar entre los resultados'; $lang['helpaction']='Sobrescribe la acción por defecto. Los valores posibles son:
    • "detai" - para mostrar un articleid específico en el modo de detalle.
    • "default" - para mostrar la vista de resumen
    • "fesubmit" - para mostrar el formulario en el portal de forma que permita a los usuarios eviar artículos de noticias directamentes desde el portal.
    • "browsecat" - para mostrar una lista de categorías en forma de enlaces.
    '; $lang['helpbrowsecat']='Muestra un listado de categorías que se puede examinar.'; $lang['helpbrowsecattemplate']='Use una plantilla de base de datos para mostrar el explorador de categorías. Esta plantilla debe existir y estar visible en la pestaña de Plantillas de Exploración de Categorías en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpcategory']='Se usa en la vista de resumen para mostrar sólo los elementos de las categorías especificadas. Usar * después del nombre para mostrar sub-categorías. Se pueden usar múltiples categorías separándolas por una coma. Si se deja en blanco muestra todas las categorías. Este parámetro también funciona para la acción de envío a través del portal, pero sólo soporta un nombre de categoría.'; $lang['helpdetailpage']='Página donde se muestra la noticia en detalle. Puede ser un alias de página o un id. Se usa para permitir que los detalles se muestren en una plantilla diferente de la de resumen.'; $lang['helpdetailtemplate']='Use una plantilla de base de datos distinta para mostrar el artículo en detalle. Esta plantilla debe existir y estar visible en la pestaña de plantilla de detalles en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpformtemplate']='Use una plantilla de la base de datos para mostrar el formulario de envío del artículo. Esta plantilla debe existir y estar visible en la pestaña de plantillas de formulario en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpmoretext']='Texto a mostrar al final de una noticia si esta supera la longitud del resumen. Por defecto es "Más"'; $lang['helpnumber']='Número máximo de elementos a mostrar (por página) -- dejándolo en blanco los muestra todos. Es equivalente al parámetro pagelimit.'; $lang['helpshowall']='Mostrar todos los artículos, sin importar la fecha en que finalizan'; $lang['helpshowarchive']='Mostrar sólo los artículos de noticias vencidos.'; $lang['helpsortasc']='Ordenar noticias por fechas en orden ascendente en lugar de descendente.'; $lang['helpsortby']='Campo por el que ordenar. Las opciones son: "news_date", "summary", "news_data", "news_category", "news_title", "random". Por defecto es "news_date". Si se especifica "random", el parámetro sortasc se ignora.'; $lang['helpstart']='Comenzar por el enésimo elemento -- dejándolo en blanco comenzará por el primero.'; $lang['helpsummarytemplate']='Use una plantilla de base de datos distinta para mostrar el resumen del artículo. Esta plantilla debe existir y estar visible en la pestaña de la plantilla de resumen en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['hide_summary_field']='Esconder el campo resumen cuando se agrega o editan artículos'; $lang['info_detail_returnid']='Esta preferencia se usa para determinar una página (y por lo tanto una plantilla) en la que mostrar la vista de detalle. Las URLs individualizadas para los detalles de las Noticias no funcionarán a menos que este parámetro se configure con una página valida. Adicionalmente, si esta preferencia está establecida, y no se proporciona el parametro 'detailpage' (página de detalle) en la etiqueta de noticias, entonces este valor será utilizado para los enlaces de detalle'; $lang['info_expired_viewable']='Si se habilita, articulos expirados se pueden ver en la vista detallada. El parámetro 'showall' puede usarse en la URL (cuando no se utilicen the URLS amigables) para indicar que los articulos expirados se pueden ver.'; $lang['info_maxlength']='La longitud máxima se aplica sólo a los campos de entrada de texto.'; $lang['info_public']='Los campos públicos no estan disponibles para edición a traves de la pagina frontal, o para desplegar en la vista sumaria o vista detallada. Estos son utiles para información que es asociada con los articulos de noticias, pero no es para uso publico.'; $lang['info_sysdefault']='(el contenido usado por defecto cuando se crea una plantilla nueva)'; $lang['info_sysdefault2']='Nota: Esta pestaña contiene áreas de texto que le permitirán editar un grupo de plantillas que son mostradas cuando crea una plantilla \'nueva\' de resumen, de detalle, o de formulario. Si cambia el contenido de esta pestaña, y pulsa \'Enviar\' no tendrá efecto sobre lo que se muestra actualmente.'; $lang['lastpage']='>>'; $lang['maxlength']='Longitud Máxima'; $lang['more']='Más'; $lang['moretext']='Texto Más'; $lang['msg_contenttype_removed']='El tipo de contenido de noticias se ha quitado. Sitúe los tags {news} con los parámetros apropiados en la plantilla de la página o en el contenido de la página para reemplazar esta funcionalidad.'; $lang['name']='Nombre'; $lang['nameexists']='Ya existe un campo con ese nombre'; $lang['needpermission']='Necesitas permisos de '%s' para realizar esta función.'; $lang['newcategory']='Categoría Nueva'; $lang['news']='Noticias'; $lang['news_return']='Volver'; $lang['nextpage']='>'; $lang['nocategorygiven']='No hay Categoría'; $lang['nocontentgiven']='No hay Contenido'; $lang['noitemsfound']='Ningún elemento encontrado en categoría: %s'; $lang['nonamegiven']='No hay Nombre'; $lang['none']='Ninguno'; $lang['nopostdategiven']='No hay Fecha de Envío'; $lang['notanumber']='La Longitud Máxima No es un Número'; $lang['note']='Nota: Las Fechas deben estar en formato 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Tiene %s que no han sido publicados'; $lang['notify_n_draft_items_sub']='Artículo(s) de Noticias s%'; $lang['notitlegiven']='No hay Título'; $lang['numbertodisplay']='Número a Mostrar (en blanco muestra todos los registros)'; $lang['options']='Opciones'; $lang['optionsupdated']='Las opciones se actualizaron correctamente.'; $lang['post_date_asc']='Fecha Entrada Ascendente'; $lang['post_date_desc']='Fecha Entrada Descendente'; $lang['postdate']='Fecha de Envío'; $lang['postinstall']='Asegúrese de que los usuarios que vayan a administrar noticias tengan activado el permiso "Modificar Noticias".'; $lang['preview']='Vista previa'; $lang['prevpage']='<'; $lang['print']='Imprimir'; $lang['prompt_default']='Por Defecto'; $lang['prompt_name']='Nombre'; $lang['prompt_newtemplate']='Crear una Nueva Plantilla'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Límite de Página'; $lang['prompt_sorting']='Ordenar por'; $lang['prompt_template']='Codigo fuente de la Plantilla'; $lang['prompt_templatename']='Nombre de Plantilla'; $lang['public']='Público'; $lang['published']='Publicado'; $lang['reassign_category']='Cambiar Categoría A'; $lang['removed']='Quitado'; $lang['resettodefault']='Resetear a los Valores Iniciales'; $lang['restoretodefaultsmsg']='Esta operación restaurará el contenido de la plantilla a la configuración original. ¿Está seguro?'; $lang['revert']='Establecer el estado a 'Borrador''; $lang['select']='Seleccionar'; $lang['selectcategory']='Seleccionar Categoría'; $lang['showchildcategories']='Mostrar Subcategorías'; $lang['sortascending']='Orden Ascendente'; $lang['startdate']='Fecha de Inicio'; $lang['startdatetoolate']='La Fecha de Comienzo es muy tarde (¿posterior a fecha final?)'; $lang['startoffset']='Comienza a mostrar desde el enésimo elemento'; $lang['startrequiresend']='Una fecha de inicio requiere también una de fin'; $lang['status']='Estado'; $lang['status_asc']='Stado Ascendente'; $lang['status_desc']='Status Descendiente'; $lang['subject_newnews']='Se ha enviado un artículo nuevo de Noticias'; $lang['submit']='Enviar'; $lang['summary']='Resumen'; $lang['summarytemplate']='Plantilla de Resumen'; $lang['summarytemplateupdated']='La Plantilla de Resumen de Noticias se actualizó correctamente.'; $lang['sysdefaults']='Restaurar por defecto'; $lang['template']='Plantilla'; $lang['textarea']='Área de Texto'; $lang['textbox']='Entrada de Texto'; $lang['title']='Título'; $lang['title_asc']='Título Ascendente'; $lang['title_available_templates']='Plantillas Disponibles'; $lang['title_browsecat_sysdefault']='Plantilla por Defecto de Navegación por Categorías'; $lang['title_browsecat_template']='Editor de la Plantilla de Navegación por Categorías'; $lang['title_desc']='Título Descendente'; $lang['title_detail_returnid']='Página por defecto para las vistas de detalle'; $lang['title_detail_settings']='Configuración de la vista de detalle'; $lang['title_detail_sysdefault']='Plantilla de Detalle por Defecto'; $lang['title_detail_template']='Editor de Plantilla de Detalles'; $lang['title_fesubmit_settings']='Configuración de envío a través del portal'; $lang['title_filter']='Filtros'; $lang['title_form_sysdefault']='Plantilla de formulario por Defecto'; $lang['title_form_template']='Editor de Plantilla de Formulario'; $lang['title_notification_settings']='Configuración de notificación'; $lang['title_submission_settings']='Configuración de envío de Noticias'; $lang['title_summary_sysdefault']='Plantilla de Resumen por Defecto'; $lang['title_summary_template']='Editor de Plantilla de Resumen'; $lang['type']='Tipo'; $lang['unknown']='Desconocido'; $lang['unlimited']='Ilimitado'; $lang['up']='Arriba'; $lang['uploadscategory']='Categoría de Subidas'; $lang['url']='URL '; $lang['useexpiration']='Usar Fecha de Vencimiento'; $lang['warning_preview']='Aviso: Este panel de vista previa se comporta de forma muy parecida a la ventana de un navegador permitiéndole navegar fuera de la página previsualizada inicialmente. Si navega fuera de la página inicial, cuando regrese puede no obtener los resultados esperados
    Nota: La vista previa no sube los archivos que seleccione para subir.'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Aegunud'; $lang['expiry']='Aegub'; $lang['fielddef']='Välja definitsioon'; $lang['fielddefadded']='Välja definitsioon edukalt lisatud'; $lang['fielddefdeleted']='Välja definitsioon kustutatud'; $lang['fielddefupdated']='Välja definitsioon uuendatud'; $lang['filter']='Filtreeri'; $lang['firstpage']='&lt;&lt;'; $lang['formtemplate']='Vormi mallid'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end.
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpcategory']='Kuva uudiseid ainult sellest kategooriast. kasuta tärni (*) nime järel, et näidata alamaid. Komaga eraldades saad määrata korraga mitu kategooriat. Jättes tühjaks kuvatakse kõik kategooriad.'; $lang['helpdetailpage']='Leht, millel Uudiste detaile näidata. See võib olla lehe alias või id. Võimaldab kuvada detaile kokkuvõtest erineva malliga.'; $lang['helpdetailtemplate']='Kasuta artikli detailse vaate kuvamiseks eraldi malli. See peab asuma kaustas modules/News/templates.'; $lang['helpmoretext']='Tekst, mida näidata uudise lõpus, kui see ületam kokkuvõtte pikkuse. Vaikimis on see "loe edasi..."'; $lang['helpnumber']='Maksimaalne uudiste arv, mida kuvada =- jättes tühjaks kuvatakse kõik'; $lang['helpsortasc']='Sorteeri uudised kasvavas, mitte kahanevas järjekorras.'; $lang['helpsortby']='Väli, mille järgi sorteerida. Valikud on: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart']='Alusta alates n-dast uudisest -- jättes tühjaks alustatakse esimesest uudisest.'; $lang['helpsummarytemplate']='Kasuta artikli kokkuvõtte kuvamiseks eraldi malli. See peab asuma kaustas modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='&gt;&gt;'; $lang['more']='Loe edasi...'; $lang['moretext']='Loe edasi tekst'; $lang['name']='Nimi'; $lang['nameexists']='Sellise nimega väli eksisteerib juba'; $lang['needpermission']='Sul on selle funkstiooni jaoks vaja '%s' õigusi'; $lang['newcategory']='Uus Kategooria'; $lang['news']='Uudised'; $lang['news_return']='Tagasi'; $lang['nextpage']='&gt;'; $lang['nocategorygiven']='Kategooriat ei ole.'; $lang['nocontentgiven']='Sisu ei ole.'; $lang['noitemsfound']='Mitte ühtegi sissekannet kategoorias: %s'; $lang['nonamegiven']='Nime ei ole.'; $lang['nopostdategiven']='Postitamise kuupäeva ei ole.'; $lang['note']='Märkus: Kuupäevad peavad olema 'yyyy-mm-dd hh:mm:ss' formaadis.'; $lang['notitlegiven']='Pealkirja ei ole.'; $lang['numbertodisplay']='Mitut näidata (tühi väli näitab kõiki)?'; $lang['options']='Valikud'; $lang['optionsupdated']='Valikud edukalt uuendatud.'; $lang['postdate']='Postitamise kuupäev'; $lang['postinstall']='Palun määra kindlasti "Modify news" õigus kasutajatele, kes peavad uudiseid toimetama.'; $lang['prevpage']='&lt;'; $lang['print']='Prindi'; $lang['prompt_default']='Vaikimisi'; $lang['prompt_name']='Nimi'; $lang['prompt_newtemplate']='Loo uus mall'; $lang['prompt_of']='kokku'; $lang['prompt_page']='Lehekülg'; $lang['prompt_pagelimit']='Lehekülje piirang'; $lang['prompt_sorting']='Sorteeri'; $lang['public']='Avalik'; $lang['published']='Avalikustatud'; $lang['restoretodefaultsmsg']='See operatsioon taastab mallide algseaded. Oled kindel, et soovid jätkata?'; $lang['revert']='Sea olek 'Mustand''; $lang['selectcategory']='Vali Kategooria'; $lang['showchildcategories']='Näita Alamkategooriaid'; $lang['sortascending']='Sorteeri Kahanevalt'; $lang['startdate']='Alguskuupäev'; $lang['startdatetoolate']='Algus kuupäev on liiga hilja (peale lõpu kuupäeva?)'; $lang['startoffset']='Alusta näitamist alates n-dast sissekandest'; $lang['startrequiresend']='Alguskuupäeva sisestamisel tuleb sisestada ka lõppkuupäev'; $lang['status']='Staatus'; $lang['submit']='Saada'; $lang['summary']='Kokkuvõte'; $lang['summarytemplate']='Kokkuvõtte Mall'; $lang['summarytemplateupdated']='Uudiste Kokkuvõtte Mall edukalt uuendatud.'; $lang['sysdefaults']='Taasta algseaded'; $lang['template']='Mall'; $lang['title']='Pealkiri'; $lang['title_filter']='Filtrid'; $lang['type']='Tüüp'; $lang['up']='Üles'; $lang['useexpiration']='Kasuta Aegumiskuupäeva'; ?>Artikulu bat gehitzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    • \"category_id\" - Artikulu honen kategoriaren Id-a
    • \"title\" - Artikuluaren titulua
    • \"content\" - Artikuluaren edukia
    • \"summary\" - Artikuluaren laburpena
    • \"status\" - Artikuluaren egoera ("zirriborroa" edo "argitaragarria")
    • \"start_time\" - Artikulua bistaratua izaten hasiko den data
    • \"end_time\" - Artikulua bistaratua izatetik gelditu beharko den data
    • \"useexp\" - Amaiera data kontuan hartu behar den ala ez
    '; $lang['eventhelp-NewsArticleDeleted']='

    Artikulu bat ezabatzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    '; $lang['eventhelp-NewsArticleEdited']='

    Artikulu bat editatzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    • \"category_id\" - Artikulu honen kategoriaren Id-a
    • \"title\" - Artikuluaren titulua
    • \"content\" - Artikuluaren edukia
    • \"summary\" - Artikuluaren laburpena
    • \"status\" - Artikuluaren egoera ("zirriborroa" edo "argitaragarria")
    • \"start_time\" - Artikulua bistaratua izaten hasiko den data
    • \"end_time\" - Artikulua bistaratua izatetik gelditu beharko den data
    • \"useexp\" - Amaiera data kontuan hartu behar den ala ez
    '; $lang['eventhelp-NewsCategoryAdded']='

    Kategoria bat gehitzen denean bidalia.

    Parametroak

    • \"category_id\" - Berrien kategoriaren Id-a
    • \"name\" - Berrien kategoriaren izena
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Kategoria bat ezabatzen denean bidalia.

    Parameters

    • \"category_id\" - Ezabatutako kategoriaren Id-a
    • \"name\" - Ezabatutako kategoriaren izena
    '; $lang['eventhelp-NewsCategoryEdited']='

    Kategoria bat editatzen denean bidalia.

    Parametroak

    • \"category_id\" - Berrien kategoriaren Id-a
    • \"name\" - Berrien kategoriaren izena
    • \"origname\" - Berrien kategoriaren jatorrizko izena
    '; $lang['expiry']='Amaiera'; $lang['filter']='Filtroa'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['helpbrowsecat']='Erakutsi nabigagarria den kategori lista bat.'; $lang['helpcategory']='Kategori horretako elementuak bakarrik erakutsi. Erabili * izenaren ostean, honen umeak erakusteko. Kategoria ugari erabili ahal daitezke komekin separatuez gero. Utzik mantenduz gero, kategoria guztiak erakutsiko ditu.'; $lang['helpdetailpage']='Berrien xehetasunak erakusteko erabiliko den orrialdea. Alias bat edo id bat izan ahal da. Berrien xehetasunak, laburpenerako erabiltzen den txantiloi ezberdin baten bitartez erakusteko erabiltzen da.'; $lang['helpdetailtemplate']='Artikuluaren xehetasunak erakusteko aparteko txantiloi bat erabili. Hau modules/News/templates direktoriopean egon behar da.'; $lang['helpmoretext']='Laburpena baino luzeagoak diren berrien amaieran erakutsi beharreko textua. "gehiago..." dago lehenetsi moduan. '; $lang['helpnumber']='Erakutsi beharreko elementu kopuru maximoa =- Utzik, elementu guztiak erakutsiko dira.'; $lang['helpshowarchive']='Iraungitako berriak besterik ez erakutsi.'; $lang['helpsortasc']='Berriak zaharrenetik berrirenera ordenatu.'; $lang['helpsortby']='Zein eremugatik ordenatu . Aukerak: "news_date", "summary", "news_data", "news_category", "news_title". Lehenetsitzat: "news_date".'; $lang['helpstart']='Hasi Ngarren elementuan -- Utzik, lehenengo elementuan hasiko da.'; $lang['helpsummarytemplate']='Artikuluaren laburpena erakusteko aparteko txantiloi bat erabili. Hau modules/News/templates direktoriopean egon behar da.'; $lang['more']='Gehiago'; $lang['moretext']='Textu Gehiago'; $lang['name']='Izena'; $lang['needpermission']=' '%s' baimena behar duzu funtzio hori egi ahal izateko.'; $lang['newcategory']='Kategoria Berria'; $lang['news']='Berriak'; $lang['news_return']='Itzuli'; $lang['nocategorygiven']='Ez da Kategoriarik Zehaztu'; $lang['nocontentgiven']='Ez da Edukirik Zehaztu'; $lang['noitemsfound']='Ez da %s kategoriarentzako elementurik topatu.'; $lang['nonamegiven']='Ez da Izenik Zehaztu'; $lang['nopostdategiven']='Ez da Bialketa Datarik Zehaztu'; $lang['note']='Oharra: Datak 'yyyy-mm-dd hh:mm:ss' formatuan egon behar dira.'; $lang['notitlegiven']='Ez da Titulurik Zehaztu'; $lang['numbertodisplay']='Erakutsi Beharreko Kopurua (utzik, elementu denak erakusten ditu)'; $lang['options']='Hautapenak'; $lang['optionsupdated']='Aukerak arazorik gabe eguneratuak izan dira.'; $lang['postdate']='Igorpen Data'; $lang['postinstall']='Zihurtatu Berriak administratu behar dituzten erabiltzaile guztiek "Berriak Aldatu" baimena aktibatuta dutela.'; $lang['print']='Inprimatu'; $lang['restoretodefaultsmsg']='Eragiketa honek sistemak lehenetsitakotara berrezarriko ditu txantiloiaren edukiak. Zihur al zaude aurrera jarraitu nahi duzula?'; $lang['selectcategory']='Kategoria Ahutatu'; $lang['showchildcategories']='Ume-kategoriak erakutsi'; $lang['sortascending']='Goranzka Antolatu'; $lang['startdate']='Hasiera Data'; $lang['startoffset']='N-garren elementuan hasi'; $lang['startrequiresend']='Hasiera data sartuez gero amaiera data beharrezkoa da'; $lang['status']='Egoera'; $lang['submit']='Onartu'; $lang['summary']='Laburpena'; $lang['summarytemplate']='Laburpenaren Txantiloia'; $lang['summarytemplateupdated']='Berrien Laburpen Txantiloia arazorik gabe eguneratu da.'; $lang['sysdefaults']='Lehenetsiak berrezarri'; $lang['title']='Titulua'; $lang['useexpiration']='Erabili Amaiera Data'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['file']='فایل'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='بیشتر'; $lang['name']='نام'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='مجموعه جدید'; $lang['news_return']='برگشت'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['preview']='پیشنمایش'; $lang['prevpage']='<'; $lang['print']='چاپ'; $lang['prompt_default']='پیشفرض'; $lang['prompt_name']='نام'; $lang['prompt_page']='صفحه'; $lang['prompt_templatename']='نام قالب'; $lang['public']='عمومی'; $lang['revert']='Set Status to 'Draft''; $lang['select']='انتخاب'; $lang['status']='وضعیت'; $lang['title']='عنوان'; $lang['unlimited']='نا محمدود'; $lang['up']='بالا'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['file']='فایل'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='بیشتر'; $lang['name']='نام'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='مجموعه جدید'; $lang['news_return']='برگشت'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['preview']='پیشنمایش'; $lang['prevpage']='<'; $lang['print']='چاپ'; $lang['prompt_default']='پیشفرض'; $lang['prompt_name']='نام'; $lang['prompt_page']='صفحه'; $lang['prompt_templatename']='نام قالب'; $lang['public']='عمومی'; $lang['revert']='Set Status to 'Draft''; $lang['select']='انتخاب'; $lang['status']='وضعیت'; $lang['title']='عنوان'; $lang['unlimited']='نا محمدود'; $lang['up']='بالا'; ?>(Mahdollisesti käytössä, tai sisältää virheellisiä merkkejä)'; $lang['error_mkdir']='Ei voitu luoda kansiota: %s'; $lang['error_movefile']='Ei voitu luoda tiedostoa: %s'; $lang['error_noarticlesselected']='Ei valittuja artikkeleita'; $lang['error_templatenamexists']='Tämänniminen pohja on jo olemassa'; $lang['error_upload']='Tiedoston latauksessa tapahtui virhe'; $lang['eventdesc-NewsArticleAdded']='Lähetetään, kun artikkeli on lisätty.'; $lang['eventdesc-NewsArticleDeleted']='Lähetetään, kun artikkeli on poistettu.'; $lang['eventdesc-NewsArticleEdited']='Lähetetään, kun artikkelia on muokattu.'; $lang['eventdesc-NewsCategoryAdded']='Lähetetään, kun kategoria on lisätty.'; $lang['eventdesc-NewsCategoryDeleted']='Lähetetään kun kategoria on poistettu.'; $lang['eventdesc-NewsCategoryEdited']='Lähetetään kun kategoriaa on muokattu.'; $lang['eventhelp-NewsArticleAdded']='

    Lähetetään kun artikkeli on lisätty.

    Parametrit

    • \"news_id\" - Uuden artikkelin tunniste
    • \"category_id\" - Artikkelin kategorian tunniste
    • \"title\" - Artikkelin otsikko
    • \"content\" - Artikkelin sisältö
    • \"summary\" - Artikkelin yhteenveto
    • \"status\" - Artikkelin tila (\"luonnos\" tai \"julkaistu\")
    • \"start_time\" - Päivämäärä, jolloin uutisen tulisi olla näkyvissä
    • \"end_time\" - Päivämäärä, jolloin uutisen pitäisi poistua näkyvistä
    • \"useexp\" - Pitäisikö vanhentumispäivämäärä jättää huomiotta vai ei
    '; $lang['eventhelp-NewsArticleDeleted']='

    Lähetetään, kun artikkeli on poistettu.

    Parametrit

    • \"news_id\" - Artikkelin tunniste
    '; $lang['eventhelp-NewsArticleEdited']='

    Lähetetään, kun artikkelia on muokattu.

    Parametrit

    • \"news_id\" - Aartikkelin tunniste
    • \"category_id\" - Artikkelin kategorian tunniste
    • \"title\" - Artikkelin otsikko
    • \"content\" - Artikkelin sisältö
    • \"summary\" - Artikkelin yhteenveto
    • \"status\" - Artikkelin tila (\"luonnos\" tai \"julkaistu\")
    • \"start_time\" - Päivämäärä, jolloin uutisen tulisi olla näkyvissä
    • \"end_time\" - Päivämäärä, jolloin uutisen pitäisi poistua näkyvistä
    • \"useexp\" - Pitäisikö vanhentumispäivämäärä jättää huomiotta vai ei
    '; $lang['eventhelp-NewsCategoryAdded']='

    Lähetetään, kun kategoria on lisätty.

    Parametrit

    • \"category_id\" - Uutiskategorian tunniste
    • \"name\" - Uutiskategorian nimi
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Lähetetään, kun kategoria on poistettu.

    Parametrit

    • \"category_id\" - Poistetun kategorian tunniste
    • \"name\" - Poistetun kategorian nimi
    '; $lang['eventhelp-NewsCategoryEdited']='

    Lähetetään, kun kategoriaa on muokattu.

    Parametrit

    • \"category_id\" - Uutiskategorian tunniste
    • \"name\" - Uutiskategorian nimi
    • \"origname\" - Uutiskategorian alkuperäinen nimi
    '; $lang['expired']='Vanhentunut'; $lang['expired_searchable']='Vanhentuneet artikkelit voivat esiintyä hakutuloksissa'; $lang['expired_viewable']='Vanhentuneet artikkelit voidaan näyttää detail näkymässä'; $lang['expiry']='Vanhentuminen'; $lang['expiry_date_asc']='Vanhentumispvm, nouseva'; $lang['expiry_date_desc']='Vanhentumispvm, laskeva'; $lang['expiry_interval']='Jos vanhentuminen on valittu, kuinka monta päivää uutinen on oletuksena voimassa'; $lang['extra']='Lisä'; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='Sivun ID tai alias, jolle käyttäjä ohjataan kun uusi uutisartikkeli lähetetään fesubmit-toiminnon kautta'; $lang['fesubmit_status']='Sivustolta kirjoitettujen uutisten oletustila'; $lang['fielddef']='Kentän määrittely'; $lang['fielddefadded']='Kenttä lisätty onnistuneesti'; $lang['fielddefdeleted']='Kenttä poistettu'; $lang['fielddefupdated']='Kentän määrityksiä päivitetty'; $lang['file']='Tiedosto'; $lang['filter']='Suodatus'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Sähköpostiosoite, johon lähetetään ilmoitus uusista artikkeleista'; $lang['formtemplate']='Lomakepohjat'; $lang['help']='

    Tärkeitä muistiinpanoja

    Versiosta 2.9 lähtien Uutiset on poistanut formatpostdate jäsenen pohjista, ja myös dateformat parametri on poistettu. Sinun tulisi käyttää cms_date_format muuttujaa (kuten näytetään oletuspohjassa) päivämäärien muokkaamiseksi, ja tulisi käyttää entry->formatpostdaten sijasta entry->postdatea.

    Mitä tämä tekee?

    Uutiset on moduuli, jolla voidaan näyttää uutisia sivuillasi, samaan tyyliin kuin blogeissa, mutta monipuolisemmilla toiminnoilla! Kun moduuli on asennettu, hallintapaneeliin lisätään uutisten hallintavalikko, joka sallii sinun valita tai lisätä uutiskategorioita. Kun uutiskategoria on luotu tai valittu, näytetään lista uutisartikkeleista kategoriassa. Täältä voit lisätä, muokata tai poistaa uutisia tästä kategoriasta.

    Useita näyttömahdollisuuksia

    Uutismoduulin tukemat parametrit ja pohjat merkitsevät sitä, että tavat näyttää uutisia ovat lähes rajattomat.

    Mukautetut kentät

    Uutismoduuli sallii useiden mukautettujen kenttien määrittämisen (mukaan lukien tiedostot ja kuvat), jotka sallivat sinun liittää pdf-tiedostoja tai kuvia uutisiin.p>

    Kategoriat

    Uutiset tuo mukanaan hierarkisen kategoriajärjestelmän, jonka avulla voit järjestää artikkelesi. Uutisartikkeli voi sijaita ainoastaan yhdessä paikassa hierarkiassa.

    Vanhentuminen ja tila

    Jokaisella uutisartikkelilla voi olla vapaaehtoinen vanhentumaika, jonka jälkeen sitä ei enää näytetä sivustoltasi. Artikkelit voidaan myös merkitä luonnoksiksi, jolloin ne poistuvat pysyvästi sivustoltasi.

    Turvallisuus

    Käyttäjän täytyy kuulua ryhmään, jolla on oikeus muokata uutisia, jotta hän voi lisätä tai muokata uutisartikkeleita.

    Samoin käyttäjä voi poistaa uutisia, jos hän kuuluu ryhmään, jolla on 'Poistaa uutisia' -oikeus.

    Jotta käyttäjä voi muokata sivupohjia, täytyy hänen kuulua ryhmään, jolla on 'Muokata sivupohjia' -oikeus.

    Jotta hän voisi muokata yleisiä uutisasetuksia, hänen täytyy kuulua ryhmään, jolla on 'Sivuston asetusten muokkaus' -oikeus.

    Lisäksi, jotta käyttäjä voi hyväksyä julkisilta sivuilta lähetettyjä uutisia, käyttäjän täytyy kuulua ryhmään, jolla on 'Hyväksyä uutisia' -oikeus.

    Kuinka käytän sitä?

    Helpointa on käyttää {news} kääretagia (käärii moduulin tagiin). Tämä lisää moduulin sivupohjaasi tai sivulle uutisten näyttämiseksi. Koodi voi näyttää tältä: {news number='5'}

    Sivupohjat

    Versiosta 2.3 alkaen uutiset ovat tukeneet useampia tietokannassa olevia pohjia eikä se enää tue tiedostossa olevia pohjia. Käyttäjät, jotka ovat käyttäneet vanhoja pohjia tulisi seurata seuraavia ohjeita (jokaiselle tiedostopohjalle):

    • Kopioi tiedostossa oleva pohja leikepöydälle
    • Luo uusi pohja tietokantaan (joko kooste tai yksityiskohtainen on vaadittu) Anna uudelle pohjalle sama nimi (mukaan lukien .tpl pääte) kuin vanhalla pohjalla, ja liitä sisällöt siihen.
    • Paina Lähetä

    Näiden ohjeiden seuraamisen pitäisi ratkaista ongelmat uutispohjien löytymisen ja muiden smarty-virheiden kanssa, kun päivitetät uudempaan versioon CMS-järjestelmää.

    '; $lang['help_articleid']='Tämä parametri koskee ainoastaan yksityiskohtaista näkymää. Se määrittelee, mitkä artikkelit näytetään yksityiskohtaisessa tilassa. Jos erityisarvoa -1 käytetään, järjestelmä näyttää uusimman, julkaistun ja vanhentumattoman artikkelin.'; $lang['help_pagelimit']='Sivulla näkyvien uutisten enimmäismäärä. Jos tätä parametriä ei anneta, kaikki uutiset näytetään. Jos tämä parametri annetaan ja uutisia on enemmän kuin parametrin arvo, tulosten selaamiseen annetaan linkit.'; $lang['helpaction']='Ylikirjoita oletustoiminto. Mahdolliset arvot:
    • &quot;detail&quot; - tietyn artikkelin näyttämiseksi yksityiskohtaisessa tilassa.
    • &quot;default&quot; - yhteenvetotilan näyttämiseksi
    • &quot;fesubmit&quot; - julkisten sivujen lomakkeen näyttämiseksi, jolla käyttäjät voivat lähettää uutisia.
    • &quot;browsecat&quot; -selattavan kategorialistan näyttämiseksi.
    '; $lang['helpbrowsecat']='Näyttää selattavan kategorialistan.'; $lang['helpbrowsecattemplate']='Käytä tietokantapohjaa kategorioiden selaamisen näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpcategory']='Näytä vain tämän kategorian artikkelit. * kategorian nimen perässä näyttää myös alikategoriat. Voit määritellä useita kategorioita erottamalla ne toisistaan pilkulla. Tyhjä näyttää kaikki kategoriat. Tämä parametri toimii myös julkisten sivujen lähetystoiminnolle, mutta silloin ainoastaan yksi kategoria on mahdollinen.'; $lang['helpdetailpage']='Sivu, jossa esitetään uutisen yksityiskohdat. Tämä voi olla sivun alias tai tunniste. Mahdollistaa uutisen yksityiskohtien näyttämisen eri mallipohjassa kuin uutisotsikot.'; $lang['helpdetailtemplate']='Käytä erillistä tietokantapohjaa artikkelin yksityiskohtien näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpformtemplate']='Käytä tietokantapohjaa artikkelien lähetyslomakkeen näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpmoretext']='Linkin teksti koko uutiseen, jos uutisen pituus on yli yhteenvedon pituuden. Oletus on "Lue lisää..."'; $lang['helpnumber']='Maksimimäärä näytettäviä artikkeleita (per sivu) -- tyhjäksi jättäminen näyttää kaikki artikkelit. Tämä on synonyymi pagelimit parametrille.'; $lang['helpshowall']='Näytä kaikki artikkelit, riippumatta päättymispäivämäärästä'; $lang['helpshowarchive']='Näytä vain vanhentuneet uutisartikkelit.'; $lang['helpsortasc']='Järjestä artikkelit nousevasti päivämäärän mukaan.'; $lang['helpsortby']='Minkä mukaan järjestetään. Vaihtoehdot: "news_date", "summary", "news_data", "news_category", "news_title". Oletus on "news_date". Jos "random" on määritelty, sortasc parametria ei oteta huomioon.'; $lang['helpstart']='Aloita n:nnestä artikkelista (tyhjä aloittaa ensimmäisestä).'; $lang['helpsummarytemplate']='Käytä erillistä tietokantapohjaa artikkelien yhteenvedon näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['hide_summary_field']='Piilota "yhteenveto"-kenttä lisäys- ja muokkaussivuilta'; $lang['info_detail_returnid']='Tätä asetusta käytetään määrittelemään sivu (ja sivupohja), jota käytetään lisätietojen näyttämiseksi. Yksilölliset uutisten URL-osoitteet eivät toimi, jos tätä asetusta ei ole asetettu toimivaksi sivuksi. Lisäksi, jos tämä asetus on määritelty, eikä detailpage-parametria ole annettu uutistagissa, tätä asetusta käytetään lisätietolinkissä.'; $lang['info_maxlength']='Maksimipituus on käytössä vain tekstikentillä'; $lang['info_sysdefault']='(Pohja jota käytetään oletuksena)'; $lang['info_sysdefault2']='Huomioi: Tämä välilehti sisältää tekstikenttiä, jotka sallivat uusien pohjien oletustietojen muokkauksen.Nämä eivät vaikuta olemassa oleviin pohjiin!.'; $lang['lastpage']='>>'; $lang['maxlength']='Maksimipituus'; $lang['more']='Lue lisää'; $lang['moretext']='Lue lisää'; $lang['msg_contenttype_removed']='Uutiset sivutyyppi on poistettu. Ole hyvä ja lisää {news} tagi sopivilla parametreillä sivupohjaan tai sivun sisältöön saadaksesi saman toiminnallisuuden'; $lang['name']='Nimi'; $lang['nameexists']='Kenttä tällä nimellä on jo olemassa'; $lang['needpermission']='Tarvitset '%s'-oikeuden suorittaaksesi tämän toiminnon.'; $lang['newcategory']='Uusi kategoria'; $lang['news']='Uutiset'; $lang['news_return']='Palaa'; $lang['nextpage']='>'; $lang['nocategorygiven']='Kategoriaa ei annettu'; $lang['nocontentgiven']='Ei sisältöä määritelty'; $lang['noitemsfound']='Kategorialle %s ei löydy artikkeleita'; $lang['nonamegiven']='Nimeä ei ole määritelty'; $lang['none']='Ei mitään'; $lang['nopostdategiven']='Päivämäärää ei ole määritelty'; $lang['notanumber']='Maksimipituus ei ole numeerinen'; $lang['note']='Huomaa: päivämäärien tulee olla muotoa \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items']='Sinulla on %s, jotka eivät ole julkaistu'; $lang['notify_n_draft_items_sub']='%d uutisartikkeli(a)'; $lang['notitlegiven']='Otsikkoa ei ole määritelty'; $lang['numbertodisplay']='Kuinka monta näytetään (tyhjä = näytetään kaikki)'; $lang['options']='Valinnat'; $lang['optionsupdated']='Valinnat onnistuneesti päivitetty.'; $lang['post_date_asc']='Julkaisupvm, nouseva'; $lang['post_date_desc']='Julkaisupvm, laskeva'; $lang['postdate']='Päivämäärä'; $lang['postinstall']='Aseta "Muokkaa uutisia" -oikeudet käyttäjille, jotka hallitsevat uutisia'; $lang['preview']='Esikatselu'; $lang['prevpage']='<'; $lang['print']='Tulosta'; $lang['prompt_default']='Oletus'; $lang['prompt_name']='Nimi'; $lang['prompt_newtemplate']='Luo uusi pohja'; $lang['prompt_of']='/'; $lang['prompt_page']='Sivu'; $lang['prompt_pagelimit']='Sivurajoitus'; $lang['prompt_sorting']='Järjestä'; $lang['prompt_template']='Pohjan koodi'; $lang['prompt_templatename']='Pohjan nimi'; $lang['public']='Julkinen'; $lang['published']='Julkaistu'; $lang['reassign_category']='Vaihda kategoria'; $lang['removed']='Poistettu'; $lang['resettodefault']='Palauta oletukset'; $lang['restoretodefaultsmsg']='Haluatko varmasti palauttaa pohjan oletuspohjaksi?'; $lang['revert']='Aseta tilaksi "Luonnos"'; $lang['select']='Valitse'; $lang['selectcategory']='Valitse kategoria'; $lang['showchildcategories']='Näytä alakategoriat'; $lang['sortascending']='Lajittele nousevasti'; $lang['startdate']='Aloituspäivämäärä'; $lang['startdatetoolate']='Aloituspäivämäärä ei voi olla lopetuspäivämäärän jälkeen!'; $lang['startoffset']='Näytä alkaen n:nnestä artikkelista'; $lang['startrequiresend']='Aloituspäivämäärän määrittely tarvitsee myös lopetuspäivämäärän'; $lang['status']='Tila'; $lang['status_asc']='Tila nouseva'; $lang['status_desc']='Tila laskeva'; $lang['subject_newnews']='Uusi uutisartikkeli on julkaistu'; $lang['submit']='Lähetä'; $lang['summary']='Kooste'; $lang['summarytemplate']='Koostepohja'; $lang['summarytemplateupdated']='Uutisten koostepohja onnistuneesti päivitetty.'; $lang['sysdefaults']='Palauta oletukset'; $lang['template']='Pohja'; $lang['textarea']='Tekstialue'; $lang['textbox']='Tekstikenttä'; $lang['title']='Otsikko'; $lang['title_asc']='Otsikko nouseva'; $lang['title_available_templates']='Käytettävissä olevat pohjat'; $lang['title_browsecat_sysdefault']='Oletus kategorian selauspohja'; $lang['title_browsecat_template']='Kategorian selauspohjan editori'; $lang['title_desc']='Otsikko laskeva'; $lang['title_detail_returnid']='Oletus sivu detail näkymälle'; $lang['title_detail_settings']='Detail Näkymän Asetukset'; $lang['title_detail_sysdefault']='Oletus yksityiskohtainen pohja'; $lang['title_detail_template']='Yksityiskohtaisen pohjan muokkaus'; $lang['title_fesubmit_settings']='Frontend Lähetys Asetukset'; $lang['title_filter']='Suodatus'; $lang['title_form_sysdefault']='Oletus lomakepohja'; $lang['title_form_template']='Lomakepohjan muokkaus'; $lang['title_notification_settings']='Huomautus Asetukset'; $lang['title_submission_settings']='Uutisten Lähetys Asetukset'; $lang['title_summary_sysdefault']='Oletus koostepohja'; $lang['title_summary_template']='Koostepohjan muokkaus'; $lang['type']='Tyyppi'; $lang['unknown']='Tuntematon'; $lang['unlimited']='Rajoittamaton'; $lang['up']='Ylös'; $lang['uploadscategory']='Latausten kategoria'; $lang['url']='URL-osoite'; $lang['useexpiration']='Käytä vanhentumispäivämäärää'; ?>(peut-être déjà utilisée, ou il y a des caractères non valides)'; $lang['error_mkdir'] = 'Impossible de créer ce répertoire : %s'; $lang['error_movefile'] = 'Impossible de créer ce fichier : %s'; $lang['error_noarticlesselected'] = 'Aucun article sélectionné'; $lang['error_nooptions'] = 'Pas options spécifiées pour la définition du champ'; $lang['error_templatenamexists'] = 'Un gabarit de ce nom existe déjà'; $lang['error_upload'] = 'Il y a eu un problème lors du téléchargement d\'un fichier'; $lang['eventdesc-NewsArticleAdded'] = 'Envoyé quand un article est ajouté'; $lang['eventhelp-NewsArticleAdded'] = '

    Envoyé quand un article est ajouté

    Paramètres

    • "news_id" - Id de l\'article
    • "category_id" - Id de la catégorie de cet article
    • "title" - Titre de l\'article
    • "content" - Contenu de l\'article
    • "summary" - Sommaire de l\'article
    • "status" - Statut de l\'article ("Ébauche" ou "Publié")
    • "start_time" - Date de début de publication de l\'article
    • "end_time" - Date de fin de publication de l\'article
    • "useexp" - Si la date d\'expiration doit être ignorée ou pas
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Envoyé quand un article est supprimé'; $lang['eventhelp-NewsArticleDeleted'] = '

    Paramètres

    • "news_id" - Id de l\'article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Envoyé quand un article est édité'; $lang['eventhelp-NewsArticleEdited'] = '

    Paramètres

    • "news_id" - Id de l\'article
    • "category_id" - Id de la catégorie de cet article
    • "title" - Titre de l\'article
    • "content" - Contenu de l\'article
    • "summary" - Sommaire de l\'article
    • "status" - Statut de l\'article ("draft" or "published")
    • "start_time" - Date de début de publication de l\'article
    • "end_time" - Date de fin de publication de l\'article
    • "useexp" - Si la date d\'expiration doit être ignorée ou pas

    Note : Tous les paramètres peuvent ne pas être présents lorsque cet événement est envoyé..

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Envoyé quand une catégorie est ajoutée'; $lang['eventhelp-NewsCategoryAdded'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Envoyé quand une catégorie est supprimée'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie supprimée
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Envoyé quand une catégorie est éditée'; $lang['eventhelp-NewsCategoryEdited'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie
    • "origname" - Nom original de la catégorie
    '; $lang['expired'] = 'Expiré'; $lang['expired_searchable'] = 'Les articles expirés peuvent apparaître dans les résultats de recherche '; $lang['expired_viewable'] = 'Articles expirés peuvent être consultés dans la vue de détail'; $lang['expiry'] = 'Expiration'; $lang['expiry_date_asc'] = 'Date expiration ascendante'; $lang['expiry_date_desc'] = 'Date expiration descendante'; $lang['expiry_interval'] = 'Le nombre de jours (par défaut) avant qu\'un article expire (si Utiliser la date d\'expiration est sélectionnée) '; $lang['extra'] = 'Extra '; $lang['extra_label'] = 'Extra : '; $lang['fesubmit_redirect'] = 'PageID ou alias où se fera la redirection après qu\'un article ait été soumis via l\'action fesubmit '; $lang['fesubmit_status'] = 'Le statut des articles soumis via les pages du site Web (frontend) '; $lang['fielddef'] = 'Définition champ'; $lang['fielddefadded'] = 'La définition du champ a été ajoutée avec succès.'; $lang['fielddefdeleted'] = 'La définition du champ a été supprimée avec succès.'; $lang['fielddefupdated'] = 'La définition du champ a été mise à jour avec succès.'; $lang['file'] = 'Fichier'; $lang['filter'] = 'Filtre'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Adresse email pour recevoir les notifications des articles soumis '; $lang['formtemplate'] = 'Gabarit soumission article'; $lang['help'] = '

    Notes Importantes

    la Version 2.9 a supprimé le format "formatpostdate" des gabarits, et a également supprimé le paramètre "dateformat". Vous devez utiliser le paramètre "cms_date_format" (comme indiqué dans les gabarits par défaut) pour les formats des dates et entry->postdate au lieu de entry->formatpostdate dans vos gabarits.

    Que fait ce module ?

    Le module News (menu Contenu/Articles), est un module qui sert à afficher des articles dans vos pages, de façon similaire à un blog, mais avec plus de fonctions ! Dès que le module est installé, une page de gestion des articles est ajoutée au menu d\'administration qui vous permettra de sélectionner ou d\'ajouter des catégories d\'articles. Dès qu\'une catégorie d\'article est sélectionnée ou créée, une liste des articles associés à cette catégorie est affichée. À partir de là, vous pouvez ajouter, éditer ou supprimer des articles dans cette catégorie.

    Champs personnalisés

    Le module permet de définir de nombreux champs personnalisés (y compris des fichiers et des images) qui vous permettront de joindre des fichiers PDF ou de nombreuses images à vos articles.

    Catégories

    Le module News (Articles) fournit un mécanisme de catégories hiérarchiques pour l\'organisation de vos articles. Un article ne peut être qu\'en un seul endroit dans la hiérarchie.

    Date d\'expiration et statut

    Chaque article peut avoir une option de date d\'expiration au-delà de laquelle il ne s\'affichera plus sur votre page Web. En outre, les articles peuvent être marqués comme brouillon pour ne pas les afficher sur votre page Web.

    Sécurité

    L\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les articles (News)\' pour pouvoir, ajouter, éditer ou supprimer des articles.

    Pour supprimer les articles, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Supprimer les articles (News)\'.

    Pour modifier la présentation des gabarits, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les gabarits\'

    Pour modifier les préférences globales du module, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les préférences du site\'.

    En plus, pour approuver les articles soumis par un visiteur sur la page du site Web (frontend) l\'utilisateur doit appartenir à un groupe avec la permission \'Approuver les articles (News) sur le site Web\'.

    Comment l\'utiliser ?

    La façon la plus facile de l\'utiliser est avec la balise wrapper {news} (englobe le module dans une simple balise pour simplifier la syntaxe). Cela insérera votre module dans votre gabarit ou votre page à l\'endroit désiré, et y affichera les articles. Exemple de syntaxe : {news number=\'5\'}

    Gabarits

    Depuis la version 2.3 le module News utilise différents gabarits en base de données, et donc n\'utilise plus les fichiers de "templates". Les utilisateurs qui avaient d\'anciens fichiers gabarits doivent faire les modifications suivantes (pour chaque fichier gabarit) :

    • Copier le fichier dans le presse papier
    • Créer un nouveau gabarit (sommaire ou détail suivant le besoin). Donner le même nom au gabarit que l\'ancien nom du gabarit (sans l\'extension .tpl), et coller le contenu depuis le presse papier.
    • Cliquer sur le bouton Envoyer

    Ces différentes étapes résolvent le problème de ces nouveaux gabarits afin d\'éviter les différentes erreurs de Smarty quand vous mettez à jour vers une version de CMS avec un module de News version 2.3 ou supérieure.

    '; $lang['helpaction'] = 'Outrepasse l\'action par défaut. Les valeurs possibles sont :
    • "detail" - pour afficher l\'article en mode détail.
    • "default" - pour afficher le sommaire de l\'article
    • "fesubmit" - Obsolète pour afficher le gabarit de soumission (frontend) d\'articles des utilisateurs dans les pages du site Web. Ajouter le {cms_init_editor} dans la section des méta-données pour initialiser l\'éditeur WYSIWYG sélectionné (Administration du site/Paramètres globaux/WYSIWYG de la partie publique).
    • "browsecat" - pour afficher une liste de catégories.
    '; $lang['helpbrowsecat'] = 'Afficher une liste navigable de catégories'; $lang['helpbrowsecattemplate'] = 'Utilise la base de données pour afficher les gabarits de catégories. Ce gabarit doit exister dans la Gestion du design avec le type Article::Parcourir la catégorie. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['helpcategory'] = 'Affiche les articles de cette catégorie seulement. Utiliser * pour afficher les sous-catégories. Des catégories multiples peuvent être affichées en les séparant par une virgule. Laisser ce paramètre vide affichera tous les articles.'; $lang['helpdetailpage'] = 'Page dans laquelle afficher le détail des articles. Vous pouvez entrer soit un alias, soit un ID de page. Utile pour permettre d\'afficher le détail de l\'article dans un gabarit de page différent de celui du sommaire. Ce paramètre n\'a aucun effet pour les articles qui ont des URLs personnalisées.'; $lang['helpdetailtemplate'] = 'Utilise la base de données pour afficher le formulaire de soumission du détail des articles. Ce gabarit doit exister dans la Gestion du design avec le type Article::Détail. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé. Ce paramètre n\'est pas utilisé lors de la génération des URLs si vous avez défini une URL personnalisée.'; $lang['helpformtemplate'] = 'Utilise la base de données pour afficher le formulaire de soumission de l\'article. Ce gabarit doit exister dans la Gestion du design avec le type Article::Formulaire du site Web (Frontend). Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['helpmoretext'] = 'Texte à afficher à la fin d\'un article qui dépasse la longueur définie du sommaire. Par défaut = "Plus"'; $lang['helpnumber'] = 'Le nombre maximal d\'articles à afficher -- laisser ce paramètre vide affichera tous les articles. C\'est identique au paramètre "pagelimit".'; $lang['helpshowall'] = 'Si positionné à 1 : affiche tous les articles, quelle que soit la date de fin'; $lang['helpshowarchive'] = 'Afficher seulement les articles expirés.'; $lang['helpsortasc'] = 'Trie les articles dans un ordre de date ascendant plutôt que descendant. Par défaut : descendant.'; $lang['helpsortby'] = 'Champ sur lequel trier les articles. Les options sont : "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Par défaut : "news_date". Si "random" est spécifié, le critère de tri est ignoré.'; $lang['helpstart'] = 'Commence au énième article -- laisser ce paramètre vide commencera l\'affichage au premier article'; $lang['helpsummarytemplate'] = 'Utilise la base de donnée pour afficher le formulaire de soumission du sommaire des articles. Ce gabarit doit exister dans la Gestion du design avec le type Article::Sommaire. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['help_articleid'] = 'Ce paramètre est applicable uniquement à la vue de détail. Il permet de spécifier que l\'article sera affiché en mode détail. Si la valeur utilisée est -1, le système affichera l\'article le plus récemment, publié, mais non expiré.'; $lang['help_article_title'] = 'Entrez le titre de l\'article. Il doit être court et ne pas inclure des balises HTML.'; $lang['help_article_category'] = 'À des fins d\'organisation, vous pouvez sélectionner une catégorie.'; $lang['help_article_content'] = 'Entrer le contenu détaillé de l\'article ici'; $lang['help_article_enddate'] = 'Si Utiliser la date d\'expiration est activée, cette date (Date de fin) spécifie quand l\'article ne sera plus affiché sur le site Web.'; $lang['help_article_extra'] = 'Il s\'agit de données supplémentaires à associer à l\'article. Elles peuvent être utilisées pour un ordre de tri ou autre comportement. Quant à l\'utilisation de ce champ (ou pas), vous devez consulter votre développeur du site.'; $lang['help_article_searchable'] = 'Ce champ indique si cet article devrait être indexé par le module de recherche.'; $lang['help_article_postdate'] = 'La date à laquelle l\'article sera posté (généralement la date actuelle pour de nouveaux articles) est celle qui sera utilisée comme la date de publication de l\'article. Il est également utilisé dans le tri.'; $lang['help_article_summary'] = 'Entrer un bref paragraphe pour décrire l\'article. Ce résumé peut être utilisé lors de l\'affichage des vues d\'un certain nombre d\'articles.'; $lang['help_article_startdate'] = 'Si Utiliser la date d\'expiration est activée, cette date (Date de début) spécifie la date de laquelle l\'article sera visible sur le site Web.'; $lang['help_article_status'] = 'Si vous souhaitez que l\'article soit immédiatement visible par les autres, sélectionnez le statut "Publié". Si vous souhaitez continuer à travailler sur cet article pendant un certain temps, puis sélectionnez le statut "Ébauche".'; $lang['help_article_url'] = 'L\'URL facultatif pour un article (certaines autres plates-formes appellent cela un slug) est un suffixe d\'URL unique pour accéder à cet article. Les utilisateurs peuvent naviguer depuis racine_du_site/votre_url pour consulter cet article.'; $lang['help_article_useexpiry'] = 'Cette case à cocher active/désactive le comportement de date d\'expiration. Le comportement de Utiliser la date d\'expiration indique quand un article devient visible sur le site Web, et lorsqu\'il s\'avère par la suite invisible sur le site Web.'; $lang['help_articles_filtercategory'] = 'Éventuellement filtrer la liste des articles affichés dans cette liste de ceux qui appartiennent à la catégorie sélectionnée.'; $lang['help_articles_filterchildcats'] = 'Si activé, les articles dans la catégorie sélectionnée et leurs catégories enfants seront affichés.'; $lang['help_articles_pagelimit'] = 'Sélectionnez le nombre d\'articles à afficher dans une page. Pour les sites avec un grand nombre d\'articles en spécifiant une limite de page compris entre 10 et 100 améliorera sensiblement les performances.'; $lang['help_articles_sortby'] = 'Sélectionnez comment les articles seront initialement triés.'; $lang['help_category_name'] = 'Entrez un nom pour cette catégorie. Le nom doit être valide pour les URLs et ne contenir aucuns caractères spéciaux.'; $lang['help_category_parent'] = 'Spécifiez éventuellement une catégorie parent pour créer une hiérarchie de catégories.'; $lang['help_fesubmit_redirect'] = 'ID de la page ou alias de redirection après une soumission réussie depuis le site Web (frontend)'; $lang['help_fielddef_maxlen'] = 'Pour les champs texte, vous pouvez spécifier la longueur maximale à entrer par l\'utilisateur (en caractères).'; $lang['help_fielddef_name'] = 'Chaque définition de champ doit avoir un nom. Bien que cela ne soit pas strictement nécessaire, le nom du champ doit contenir uniquement des caractères alphanumériques et le caractère underscore. Ne pas utiliser d\'espace dans le nom du champ.'; $lang['help_fielddef_options'] = 'Ici vous pouvez spécifier les options valides pour les champs de la liste déroulante.'; $lang['help_fielddef_public'] = 'Spécifiez si la définition du champ est publique ou non. Les définitions des champs publics sont visualisables dans le site Web et peuvent être saisies par l\'action fesubmit. Les Champs personnalisés qui ne sont pas publics, ne sont modifiables uniquement que dans l\'interface d\'administration par les utilisateurs autorisés.'; $lang['help_fielddef_type'] = 'Chaque champ personnalisé peut être d\'un type différent pour différentes utilisations. Sélectionnez le type de champ qui correspond le mieux à la demande.'; $lang['help_idlist'] = 'Applicable uniquement à l\'action par défaut (Affiche le sommaire). Ce paramètre accepte une liste séparée par des virgules des ID numériques des articles et permet de filtrer davantage d\'articles que "articleid". La sortie de la liste actuelle des articles est toujours soumise à l\'état de l\'article, à sa date d\'expiration et à d\'autres paramètres.'; $lang['help_opt_alert_drafts'] = 'Si activé, vous recevrez des notifications (alertes), indiquant qu\'un ou plusieurs articles doivent être examinés et publiés.'; $lang['help_opt_allowed_upload_types'] = 'Pour les champs personnalisés de type "file", ce paramètre indique une liste, séparée par des virgules, des extensions de fichier valides pour l\'upload'; $lang['help_opt_dflt_category'] = 'Cette option permet de spécifier la catégorie par défaut pour les nouveaux articles.'; $lang['help_opt_hide_summary'] = 'Cette option permet de désactiver le champ sommaire lors de l\'ajout et/ou édition d\'un article (y compris avec l\'action fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Ce champ indique qu\'un éditeur WYSIWYG doit être activé pour le champ sommaire lorsque vous éditez un article. Dans bien des cas, le champ sommaire est un texte simple, mais cela est facultatif.
    Ce paramètre est ignoré si le champ sommaire est désactivé complètement (voir ci-dessus)'; $lang['help_opt_expiry_interval'] = 'Définissez le nombre de jours par défaut (minimum 1) auquel l\'article expirera, si la date d\'expiration est activée. La date d\'expiration peut être ajustée lorsque vous ajoutez ou éditez d\'un article.'; $lang['help_pagelimit'] = 'Nombre maximal d\'articles affichés (par page). Si ce paramètre n\'est pas défini, tous les articles sont affichés. Si ce paramètre est défini, et que le nombre d\'articles est supérieur, les textes et les liens seront affichés pour permettre le défilement des résultats. La valeur maximale pour ce paramètre est 1000.'; $lang['hide_summary_field'] = 'Cacher le champ sommaire lors de l\'ajout ou de la modification d\'articles '; $lang['info_allow_fesubmit'] = 'Cette option contrôle si l\'action "fesubmit" sera autorisé à fonctionner pour tout le site Web. Soyez prudent lorsque vous l\'activez.'; $lang['info_categories'] = 'À des fins d\'organisation, les articles peuvent être organisés en catégories hiérarchiques.'; $lang['info_detail_returnid'] = 'Cette préférence est utilisée pour déterminer si une page (et donc un gabarit) sert pour l\'affichage des pages de détails. Les URLs personnalisées ne fonctionneront pas si ce paramètre n\'est pas défini pour une page valide. En outre, si cette préférence est activée et aucun paramètre de page de détails n\'est fourni sur la balise {news}, alors cette valeur sera utilisée pour des liens pages de détails.'; $lang['info_expired_searchable'] = 'Si activé, les articles périmés peuvent continuer à être indexés par le module de recherche et apparaissent dans les résultats de la recherche.'; $lang['info_expired_viewable'] = 'Si activés, les articles périmés peuvent être visualisés en mode détail (ce qui est l\'ancienne fonctionnalité). Le paramètre "showall" peut être utilisé avec l\'URL (si vous n\'utilisez pas les pretty URLs) pour indiquer également que les articles périmés peuvent être consultés.'; $lang['info_fesubmit_notification'] = 'Vous pouvez éventuellement envoyer un email à une adresse email unique lorsqu\'un nouvel article est soumis par l\'intermédiaire de l\'action fesubmit.'; $lang['info_maxlength'] = 'Longueur maximale uniquement pour champ de texte.'; $lang['info_public'] = 'Seuls les champs publics sont disponibles pour l\'édition sur le site Web (frontend), et/ou dans les vues de résumé ou de détail.'; $lang['info_reorder_categories'] = 'Faites glisser-déplacer chaque élément dans le bon ordre pour changer les relations entre catégories'; $lang['info_searchable'] = 'Ce champ indique que cet article doit être indexé par le module de recherche'; $lang['info_sysdefault'] = '(le gabarit utilisé par défaut quand un nouveau gabarit est sélectionné)'; $lang['info_sysdefault2'] = 'Note : cette page contient des zones d\'édition des gabarits qui sont disponibles quand vous créez un \'Nouveau\' gabarit Sommaire, Détail ou Soumission d\'article. Le fait de cliquer sur \'Envoyer\' les données de cette page n\'aura aucun effet immédiat sur l\'affichage déjà existant.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Recherche dans les articles'; $lang['linkedfile'] = 'Fichier lié'; $lang['maxlength'] = 'Longueur maximale '; $lang['msg_cancelled'] = 'Opération annulée'; $lang['msg_categoriesreordered'] = 'Ordre des catégories mise à jour'; $lang['msg_contenttype_removed'] = 'Le type de contenu News a été supprimé. Merci de remplacer les tags {news} avec les paramètres appropriés dans vos gabarits ou vos pages pour remplacer cette fonctionnalité.'; $lang['msg_success'] = 'Opération réussie'; $lang['more'] = 'Plus'; $lang['moretext'] = 'Texte pour '; $lang['name'] = 'Nom '; $lang['nameexists'] = 'Un champ de ce nom existe déjà'; $lang['needpermission'] = 'Vous devez avoir la permission \'%s\' pour exécuter cette action.'; $lang['newcategory'] = 'Nouvelle catégorie'; $lang['news'] = 'Articles'; $lang['news_return'] = 'Retour'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Aucun article n\'a pour l\'instant été crée'; $lang['noarticlesinfilter'] = 'Aucun article ne répond aux critères de filtre'; $lang['nocategorygiven'] = 'Aucune catégorie entrée'; $lang['nocontentgiven'] = 'Aucun contenu entré'; $lang['noitemsfound'] = 'Aucun objet trouvé pour cette catégorie : %s'; $lang['nonamegiven'] = 'Aucun nom n\'a été donné'; $lang['none'] = 'Aucun'; $lang['nopostdategiven'] = 'Il manque la date à laquelle l\'article sera posté'; $lang['notanumber'] = 'La longueur maximale n\'est PAS un nombre'; $lang['note'] = 'Note : les dates doivent être entrées dans ce format \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Vous avez %s article(s) non publié(s)'; $lang['notify_n_draft_items_sub'] = '%d article(s)'; $lang['notitlegiven'] = 'Aucun titre n\'est entré'; $lang['numbertodisplay'] = 'Nombre à afficher (vide = toutes les entrées) '; $lang['options'] = 'Options '; $lang['optionsupdated'] = 'Les options ont été mises à jour avec succès'; $lang['parent'] = 'Parent '; $lang['postdate'] = 'Date de l\'article '; $lang['postinstall'] = 'Assurez-vous que les utilisateurs qui administreront les articles aient la permission "Modify News".'; $lang['post_date_asc'] = 'Date de l\'article ascendante'; $lang['post_date_desc'] = 'Date de l\'article descendante'; $lang['preview'] = 'Aperçu'; $lang['prevpage'] = '<'; $lang['print'] = 'Imprimer'; $lang['prompt_alert_drafts'] = 'Alerte sur les articles non approuvés '; $lang['prompt_allow_fesubmit'] = 'Autoriser les articles soumis par le site Web (frontend) '; $lang['prompt_default'] = 'Défaut'; $lang['prompt_go'] = 'Aller'; $lang['prompt_name'] = 'Nom'; $lang['prompt_newtemplate'] = 'Créer un nouveau gabarit'; $lang['prompt_of'] = 'sur'; $lang['prompt_page'] = 'Page '; $lang['prompt_pagelimit'] = 'Nombre d\'articles par page '; $lang['prompt_redirecttocontent'] = 'Retourner à la page'; $lang['prompt_sorting'] = 'Ordre de tri '; $lang['prompt_template'] = 'Source du gabarit '; $lang['prompt_templatename'] = 'Nom du gabarit '; $lang['public'] = 'Publique '; $lang['published'] = 'Publié'; $lang['reassign_category'] = 'Changer la catégorie par '; $lang['removed'] = 'Supprimé'; $lang['reorder'] = 'Réordonner'; $lang['reorder_categories'] = 'Réordonner les catégories'; $lang['reset'] = 'Remise à zéro'; $lang['resettodefault'] = 'Restaurer les paramètres par défaut'; $lang['restoretodefaultsmsg'] = 'Cette opération restaurera les gabarits par défaut. Êtes-vous sûr(e) de vouloir continuer ?'; $lang['revert'] = 'Mettre le statut à \'Ébauche\''; $lang['searchable'] = 'Effectuer la recherche dans cet article '; $lang['select'] = 'Sélectionner'; $lang['select_option'] = 'Sélectionnez l\'option'; $lang['selectall'] = 'Sélectionner tout'; $lang['selectcategory'] = 'Sélection de catégorie'; $lang['showchildcategories'] = 'Afficher les sous-catégories '; $lang['sortascending'] = 'Tri ascendant '; $lang['startdate'] = 'Date de début '; $lang['startdatetoolate'] = 'la date de début est passée (après la date de fin ?)'; $lang['startoffset'] = 'Commence l\'affichage au énième article '; $lang['startrequiresend'] = 'Entrer une date de début nécessite qu\'une date de fin soit également entrée'; $lang['status'] = 'Statut'; $lang['status_asc'] = 'Statut ascendant'; $lang['status_desc'] = 'Statut descendant'; $lang['subject_newnews'] = 'Un nouvel article a été posté'; $lang['submit'] = 'Envoyer'; $lang['summary'] = 'Sommaire '; $lang['summarytemplate'] = 'Gabarit du sommaire article'; $lang['summarytemplateupdated'] = 'Le gabarit de l\'affichage du sommaire de l\'article a été mis à jour avec succès'; $lang['sysdefaults'] = 'Restaurer les paramètres par défaut'; $lang['template'] = 'Gabarit '; $lang['textarea'] = 'Zone de texte'; $lang['textbox'] = 'Champ de texte'; $lang['title'] = 'Titre '; $lang['title_asc'] = 'Titre ascendant'; $lang['title_available_templates'] = 'Gabarits disponibles'; $lang['title_browsecat_sysdefault'] = 'Gabarit de catégories par défaut'; $lang['title_browsecat_template'] = 'Gabarit de catégories'; $lang['title_desc'] = 'Titre descendant'; $lang['title_detail_returnid'] = 'Page par défaut à utiliser pour des vues de détail '; $lang['title_detail_settings'] = 'Paramètres d\'affichage des détails '; $lang['title_detail_sysdefault'] = 'Gabarit du détail par défaut'; $lang['title_detail_template'] = 'Éditeur du gabarit du détail'; $lang['title_draft_entries'] = 'Articles (News) non approuvés'; $lang['title_fesubmit_form'] = 'Soumettre un article'; $lang['title_fesubmit_settings'] = 'Paramètres de soumission via le Frontend '; $lang['title_filter'] = 'Filtres'; $lang['title_form_sysdefault'] = 'Gabarit de soumission article par défaut (frontend)'; $lang['title_form_template'] = 'Éditeur du gabarit soumission d\'article via les pages du site Web (frontend)'; $lang['title_news_settings'] = 'Paramètres des articles'; $lang['title_notification_settings'] = 'Paramètres des notifications'; $lang['title_submission_settings'] = 'Paramètres de soumission des articles '; $lang['title_summary_sysdefault'] = 'Gabarit du sommaire par défaut'; $lang['title_summary_template'] = 'Éditeur du gabarit du sommaire'; $lang['toggle_bulk'] = 'Sélectionner cet article pour une opération en série'; $lang['type'] = 'Type '; $lang['type_browsecat'] = 'Parcourir la catégorie'; $lang['type_form'] = 'Formulaire du site Web (Frontend)'; $lang['type_detail'] = 'Détail'; $lang['type_News'] = 'Article'; $lang['type_summary'] = 'Sommaire'; $lang['unknown'] = 'Inconnu'; $lang['unlimited'] = 'Sans limite'; $lang['up'] = 'Haut'; $lang['uploadscategory'] = 'Catégorie uploads'; $lang['url'] = 'URL (slug) '; $lang['useexpiration'] = 'Utiliser la date d\'expiration '; $lang['viewfilter'] = 'Afficher le filtre'; $lang['warning_preview'] = 'Attention : cette page d\'aperçu se comporte comme une fenêtre permettant de naviguer loin de cette page aperçu originale. Toutefois, si vous faites cela, attention aux comportements inattendus ! Note : La prévisualisation ne pas uploader les fichiers que vous avez sélectionnés.'; $lang['with_selected'] = 'Avec la sélection'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['name']='Ime'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='Nova kategorija'; $lang['news']='Novosti'; $lang['news_return']='Povratak'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>(talán már használják vagy érvénytelen karakterek vannak benne)'; $lang['error_mkdir']='Nem sikerült létrehozni ezt a fájlt: %s'; $lang['error_movefile']='Nem sikerült létrehozni ezt a fájlt: %s'; $lang['error_noarticlesselected']='Nincsenek kijelölve cikkek.'; $lang['error_templatenamexists']='Ilyen nevű sablon már van.'; $lang['error_upload']='A fájl feltöltése közben hiba történt.'; $lang['eventdesc-NewsArticleAdded']='Akkor küldjük, amikor új cikk jön létre.'; $lang['eventdesc-NewsArticleDeleted']='Akkor küldjük, amikor egy cikket törölnek.'; $lang['eventdesc-NewsArticleEdited']='Akkor küldjük, amikor egy cikk megváltozik.'; $lang['eventdesc-NewsCategoryAdded']='Akkor küldjük, amikor egy rovatot felvesznek.'; $lang['eventdesc-NewsCategoryDeleted']='Akkor küldjük, amikor egy rovatot törölnek.'; $lang['eventdesc-NewsCategoryEdited']='Akkor küldjük, amikor egy rovatot módosítanak.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expired']='Lejárt'; $lang['expired_searchable']='Lejárt cikkek megjelenhessenek a keresési eredmények között'; $lang['expiry']='Lejárat'; $lang['expiry_date_asc']='Lejárat dátuma szerint növekvő'; $lang['expiry_date_desc']='Lejárat dátuma szerint csökkenő'; $lang['expiry_interval']='Cikkek lejárati napjainak alapértelmezett száma (ha a lejárat engedélyezve van)'; $lang['extra']='Extra '; $lang['fesubmit_redirect']='PageID vagy alias, amire át kell irányítani, amikor új cikk lett beküldve 'fesubmit'-on keresztül'; $lang['fesubmit_status']='A frontend-ről beküldött cikkik státusza'; $lang['fielddef']='Meződefiníció'; $lang['fielddefadded']='A meződefiníciót sikeresen hozzáadtuk'; $lang['fielddefdeleted']='A meződefiníciót törültük'; $lang['fielddefupdated']='A mező definícióját frissítettük'; $lang['file']='Fájl'; $lang['filter']='Szűrő'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Az email cím, ahova értesítést küldünk a cikk megírásáról'; $lang['formtemplate']='Form sablonok'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module=\"news\" number=\"5\" category=\"beer\"}

    '; $lang['help_articleid']='Ez a paraméter csak a részletes nézetben értelmezett. Megadható vele, hogy melyik cikk legyen látható a részletes nézetben. Ha -1-et adsz meg, akkor a rendszer a legfrissebb, nem lejárt, publikált státuszú cikket fogja megjeleníteni.'; $lang['help_pagelimit']='Egy oldalon megjeleníthető elemek maximális száma. Ha ez a paraméter nincs megadva, akkor minden cikk meg lesz mutatva. Ha viszont megadtad, akkor linkekkel és szöveggel lesz jelezve, hogy merre lehet lapozni (ha egy oldalra nem fér el egyszerre az összes cikk)'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Rovatok böngészése.'; $lang['helpbrowsecattemplate']='Adatbázis sablon használata a rovat böngésző megjelenítéséhez. Ennek a sablonnak léteznie kell és láthatónak kell lennie az admin felület Rovat sablonok panelján, de nem kell alapértelmezettnek lennie. Ha ez a paraméter nincs megadva, akkor az aktuális alapértelmezett sablont fogja használni a rendszer.'; $lang['helpcategory']='Csak az adott rovat híreit jelenítsük meg. A név után a * karaktert alkalmazva a gyermekrovatok is megmutathatók. Több rovat is megadható, vesszővel elválasztva. Üresen hagyva minden rovat meg lesz mutatva.'; $lang['helpdetailpage']='Az oldal, ahol a cikkeknek meg kell jelenniük. Ez lehet oldal alias vagy egy azonosító. Arra használható, hogy a cikk szövege az összefoglalótól eltérő sablon szerint lehessen megjelenítve.'; $lang['helpdetailtemplate']='Külön sablon használata a cikk megjelenítéséhez. Léteznie kell a modules/News/templates alatt.'; $lang['helpformtemplate']='Adatbázis sablon használata a cikk beküldő form megjelenítéséhez. Ennek a sablonnak léteznie kell és láthatónak kell lennie az admin felület sablon panelján, de nem kell alapértelmezettnek lennie. Ha ez a paraméter nincs megadva, akkor az aktuális alapértelmezett sablont fogja használni a rendszer.'; $lang['helpmoretext']='A szöveg, amit akkor jelenítünk meg, ha a hír hosszabb, mint az összefoglaló hossza. Alapértelmezésben ez \"tovább...\"'; $lang['helpnumber']='A maximálisan megjeleníthető elemek száma -- ha nem adod meg, minden elem meg lesz mutatva'; $lang['helpshowall']='Minden cikk mutatása, függetlenül a lejárati dátumtól'; $lang['helpshowarchive']='Csak lejárt cikkek mutatása.'; $lang['helpsortasc']='Az elemek növekvő sorrendben való megmutatása.'; $lang['helpsortby']='A rendezés alapja. Választási lehetőségek: \"news_date\", \"summary\", \"news_data\", \"news_category\", \"news_title\". Alapértelmezésben ez a \"news_date\".'; $lang['helpstart']='Az n. elemnél kezdjük a megjelenítést -- üresen hagyva az első elemnél kezdődik '; $lang['helpsummarytemplate']='Külön sablon használata az összefoglaló megjelenítéséhez. Léteznie kell a modules/News/templates alatt.'; $lang['hide_summary_field']='Az összefoglaló mező elrejtése cikkek hozzáadásakor/módosításakor'; $lang['info_maxlength']='A maximális hossz csak szövegbeviteli mezőkre érvényes'; $lang['info_sysdefault']='(az alkalmazott sablon, amikor új sablon kerül kiválasztásra)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Maximális hossz'; $lang['more']='tovább'; $lang['moretext']='További szöveg'; $lang['msg_contenttype_removed']='A Hír típusú tartalom megszűnt. Helyette használd a {news} tag-et a megfelelő paraméterekkel.'; $lang['name']='Név'; $lang['nameexists']='Ilyen nevű mező már létezik.'; $lang['needpermission']='Szükség van a(z) \'%s\' jogosultságra ezen művelet elvégzéséhez'; $lang['newcategory']='Új rovat'; $lang['news']='Hírek'; $lang['news_return']='Vissza'; $lang['nextpage']='>'; $lang['nocategorygiven']='A rovat nincs megadva'; $lang['nocontentgiven']='A tartalom nincs kitöltve'; $lang['noitemsfound']='Nincsenek elemek ebben a kategóriában: %s'; $lang['nonamegiven']='Nincs megadva a név'; $lang['none']='Nincs'; $lang['nopostdategiven']='A publikálás dátuma nincs megadva'; $lang['notanumber']='A maximum hossznak numerikusnak kell lennie'; $lang['note']='Megjegyzés: A dátumokat \'éééé-hh-nn óó:pp:mm\' formában kell megadni.'; $lang['notify_n_draft_items']='%s darab nem publikált cikked van'; $lang['notify_n_draft_items_sub']='%d darab új cikk'; $lang['notitlegiven']='Nincs megadva a cím'; $lang['numbertodisplay']='Megmutatható elemek száma (ha nincs megadva, akkor minden cikk meg lesz mutatva)'; $lang['options']='Opciók'; $lang['optionsupdated']='Az opciókat sikeresen frissítettük.'; $lang['post_date_asc']='Publikálás dátuma szerint növekvő'; $lang['post_date_desc']='Publikálás dátuma szerint csökkenő'; $lang['postdate']='Publikálás dátuma'; $lang['postinstall']='Győződj meg róla, hogy a \"Modify News\" jogosultsággal rendelkezik az összes olyan felhasználó, aki cikkeket fog adminisztrálni.'; $lang['prevpage']='<'; $lang['print']='Nyomtatás'; $lang['prompt_default']='Alapértelmezett'; $lang['prompt_name']='Név'; $lang['prompt_newtemplate']='Új sablon létrehozása'; $lang['prompt_of']='ennyiből:'; $lang['prompt_page']='Oldal'; $lang['prompt_pagelimit']='Oldal limit'; $lang['prompt_sorting']='Rendezési szempont'; $lang['prompt_template']='Sablon forrása'; $lang['prompt_templatename']='Sablon neve'; $lang['public']='Publikus'; $lang['published']='Publikált'; $lang['reassign_category']='Rovat átállítása erre'; $lang['removed']='Törölt.'; $lang['resettodefault']='Alapértelmezett értékek visszaállítása'; $lang['restoretodefaultsmsg']='Ez a művelet visszaállítja a sablon tartalmát az alapértelmezett értékekre. Biztosan folytatni akarod?'; $lang['revert']='Státusz beállítása 'Piszkozat'-ra'; $lang['select']='Kiválaszt'; $lang['selectcategory']='Válassz rovatot'; $lang['showchildcategories']='Gyermekrovatok mutatása'; $lang['sortascending']='Növekvő rendezés'; $lang['startdate']='Kezdet dátuma'; $lang['startdatetoolate']='A kezdődátum túl késői (a lejáratnál későbbi?)'; $lang['startoffset']='Az n. elemnél kezdjük a megjelenítést'; $lang['startrequiresend']='Kezdődátum megadásának csak úgy van értelme, ha lejárati dátumot is megad'; $lang['status']='Státusz'; $lang['status_asc']='Növekvő állapot'; $lang['status_desc']='Csökkenő állapot'; $lang['subject_newnews']='Az új cikket publikáltuk'; $lang['submit']='Elküld'; $lang['summary']='Összefoglaló'; $lang['summarytemplate']='Összefoglaló sablon'; $lang['summarytemplateupdated']='Az összefoglaló sablont sikeresen frissítettük.'; $lang['sysdefaults']='Alapértelmezett értékek visszaállítása'; $lang['template']='Sablon'; $lang['textarea']='Szövegterület'; $lang['textbox']='Szövegmező'; $lang['title']='Cím'; $lang['title_asc']='Cím szerint növekvő'; $lang['title_available_templates']='Elérhető sablonok'; $lang['title_browsecat_sysdefault']='Alapértelmezett rovatböngésző sablon'; $lang['title_browsecat_template']='Rovat sablon szerkesztő böngészése'; $lang['title_desc']='Cím szerint csökkenő'; $lang['title_detail_sysdefault']='Alapértelmezett részletes sablon'; $lang['title_detail_template']='Részletes sablon szerkesztő'; $lang['title_filter']='Szűrők'; $lang['title_form_sysdefault']='Alapértelmezett form sablon'; $lang['title_form_template']='Form sablon szerkesztő'; $lang['title_notification_settings']='Értesítés beállítások'; $lang['title_summary_sysdefault']='Alapértelmezett összefoglaló sablon'; $lang['title_summary_template']='Összefoglaló sablon szerkesztő'; $lang['type']='Típus'; $lang['unknown']='Ismeretlen'; $lang['unlimited']='Korlátlan'; $lang['up']='Fel'; $lang['uploadscategory']='Feltöltés kategória'; $lang['useexpiration']='Lejárati dátum használata'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expiry']='Expriry'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['helpcategory']='Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Maximum number of items to display =- leaving empty will show all items.'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpsummarytemplate']='Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['restoretodefaultsmsg']='Operasi ini akan mengembalikan isi template ke default sistem. Anda yakin untuk meneruskan proses ini ?'; $lang['summarytemplate']='Summary Template'; $lang['sysdefaults']='Dikembalikan ke bentuk asal'; ?>(forse è già utilizzato o ci sono dei caratteri non validi)'; $lang['error_mkdir'] = 'Non posso creare la cartella: %s'; $lang['error_movefile'] = 'Non posso creare il file: %s'; $lang['error_noarticlesselected'] = 'Nessun articolo selezionato'; $lang['error_nooptions'] = 'Nessuna opzione specificata per la definizione di campo'; $lang['error_templatenamexists'] = 'Esiste già un modello con lo stesso nome'; $lang['error_upload'] = 'Problemi nel caricamento di un file'; $lang['eventdesc-NewsArticleAdded'] = 'Inviato quando un articolo viene aggiunto.'; $lang['eventhelp-NewsArticleAdded'] = '

    Mandato quando un articolo è aggiunto.

    Parametri

    • "news_id" - Id dell\'articolo
    • "category_id" - Id della categoria dell\'articolo
    • "title" - Titolo dell\'articolo
    • "content" - Contenuto dell\'articolo
    • "summary" - Sommario
    • "status" - Stato dell\'articolo ("bozza" or "pubblicato")
    • "start_time" - Data in cui l\'articolo inizia ad essere visibile
    • "end_time" - Data in cui l\'articolo smette di essere visibile
    • "useexp" - Se la data di scadenza della visibilità deve essere ignorata o meno
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Mandato quando un articolo è cancellato.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Mandato quando un articolo è cancellato.

    Parametri

    • "news_id" - Id dell\'articolo
    '; $lang['eventdesc-NewsArticleEdited'] = 'Mandato quando un articolo è aggiornato.'; $lang['eventhelp-NewsArticleEdited'] = '

    Mandato quando un articolo è aggiornato.

    Parametri

    • "news_id" - Id dell\'articolo
    • "category_id" - Id della categoria dell\'articolo
    • "title" - Titolo dell\'articolo
    • "content" - Contenuto dell\'articolo
    • "summary" - Sommario
    • "status" - Stato dell\'articolo ("bozza" or "pubblicato")
    • "start_time" - Data in cui l\'articolo inizia ad essere visibile
    • "end_time" - Data in cui l\'articolo smette di essere visibile
    • "useexp" - Se la data di scadenza della visibilità deve essere ignorata o meno
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Mandato quando una categoria è aggiunta.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Mandato quando una categoria è aggiunta.

    Parametri

    • "category_id" - Id della categoria
    • "name" - Nome della categoria
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Mandato quando una categoria è cancellata.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Mandato quando una categoria è cancellata.

    Parameters

    • "category_id" - Id della categoria
    • "name" - Nome della categoria cancellata
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Mandato quando una categoria è aggiornata.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Mandato quando una categoria è aggiornata.

    Parametri

    • "category_id" - Id della categoria
    • "name" - Nome della categoria
    • "origname" - Il nome originale della categoria
    '; $lang['expired'] = 'Scaduto'; $lang['expired_searchable'] = 'Gli articoli scaduti possono apparire nei risultati di ricerca'; $lang['expired_viewable'] = 'Gli articoli scaduti possono essere visualizzati in modalità dettaglio'; $lang['expiry'] = 'Scadenza'; $lang['expiry_date_asc'] = 'Data di scadenza ascendente'; $lang['expiry_date_desc'] = 'Data di scadenza discendente'; $lang['expiry_interval'] = 'Il numero di giorni (predefinito) prima che un articolo scada (se la scadenza è selezionata)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'ID o alias della pagina a cui reindirizzare dopo che un articolo news è stato inviato tramite azione fesubmit'; $lang['fesubmit_status'] = 'Lo stato dell\'articolo inviato tramite interfaccia'; $lang['fielddef'] = 'Definizione del campo'; $lang['fielddefadded'] = 'Definizione del campo aggiunta con successo'; $lang['fielddefdeleted'] = 'Definizione del campo eliminata'; $lang['fielddefupdated'] = 'Definizione del campo aggiornata'; $lang['file'] = 'File'; $lang['filter'] = 'Filtro'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Indirizzo email per ricevere notifica di nuovi inserimenti'; $lang['formtemplate'] = 'Modelli Form'; $lang['help'] = '

    Note Importanti

    Dalla versione 2.9 News ha rimosso il formatpostdate member dai modelli e il parametro dateformat. Per formattare le date dovete usare il modificatore cms_date_format (come indicato nel modello predefinito) ed usare nei Vostri modelli entry->postdate invece di entry->formatpostdate.

    Da questa versione è disabilitata la visualizzazione diretta dei feed RSS. Per gli RSS Feed utilizzare i due moduli (da installare in questo ordine): CGExtensions e CGFeedMaker.

    Che cosa fa?

    News è un modulo per visualizzare eventi sulla tua pagina, simile allo stile blog, solo con più funzionalità!. Quando il module è installato, in amministrazione una pagina News è aggiunta in fondo al menu che vi permette di selezionare o aggiungere una categoria. Quando una categoria è creata o selezionata, sarà visualizzata una lista di news per quella categoria. Da qui, potete aggiungere, modificare o cancellare news per quella categoria.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Sicurezza

    L\'utente deve appartenere a un gruppo con il permesso \'Modifica News\' per aggiungere, modificare, o cancellare News.

    Per cancellare le news, l\'utente deve appartenere a un gruppo con il permesso \'Cancella articoli news\'

    Per modificare il layout dei Modelli, l\'utente deve appartenere a un gruppo con il permesso \'Modifica Modelli\'

    Per modificare le preferenze globali delle News, l\'utente deve appartenere a un gruppo con il permesso \'Modifica Preferenze del Sito\'

    In aggiunta, per approvare news per la visualizzazione nel frontend l\'utente deve appartenere ad un gruppo con il permesso \'Approva News\'.

    Come usarlo?

    Il modo più semplice di usarlo è con il tag {news} (il modulo in un tag, per semplificare la sintassi). Inseririsci il modulo dove vuoi nel vostro Modello o pagina, questo visualizzerà le news. Esempio di sintassi: {news number=\'5\'}

    Modelli

    Dalla versione 2.3 News supporta modelli multipli da database e NON supporta più i modelli file. Utenti che usano il vecchio sistema dei modelli file DEVONO seguire questi passi (per ciascun modello):

    • Copia il modello file negli appunti
    • Crea un nuovo Modello database (di sommario o dettaglio come richiesto). Dare al nuovo modello lo stesso nome (incluso l\'estensione .tpl) esattamente del vecchio file e incollare il contenuto.
    • Premere Invio
    Seguendo questi passi si dovrebbe risolvere il problema dei nuovi modelli non trovati e altri errori similari di smarty quando aggiorni ad una versione di CMS che contiene News 2.3 o maggiore.

    '; $lang['helpaction'] = 'Sovrascrive l\'azione predefinita. I valori possibili sono:
    • "detail" - per visualizzare un determinato articleid in modalità dettaglio
    • "default" - per visualizzare la modalità sommario
    • "fesubmit" - Deprecato per visualizzare il modulo che permette agli utenti l\'inserimento di news dal lato utente. Aggiunge il tag {cms_init_editor} nella sezione metadata per inizializzare l\'editor wysiwyg selezionato. (Amministrazione del sito >> Impostazioni Globali)
    • "browsecat" - per visualizzare una lista di categorie navigabile.
    '; $lang['helpbrowsecat'] = 'Mostra una lista di categorie.'; $lang['helpbrowsecattemplate'] = 'Usa un Modello da database per visualizzare le categorie. Questo Modello deve esistere ed essere visibile nei Modelli Categoria della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpcategory'] = 'Utilizzato nella vista sommario per mostrare solo elementi di una categoria specifica. Usate * dopo il nome per visualizzare le sottocategorie. E\' possibile inserire categorie multiple se separate da virgola. Lasciando vuoto, mostrerà tutte le categorie. Questo parametro funziona anche per l\'azione "frontend submit", anche se è supportato solo l\'uso di una categoria.'; $lang['helpdetailpage'] = 'Pagina di visualizzazione del dettaglio della News. Questa può essere una pagina alias o un id. Viene usata per visualizzare il dettaglio in un differente template dal sommario.'; $lang['helpdetailtemplate'] = 'Usa un Modello separato per visualizzare il dettaglio dell\'articolo. Questo Modello deve esistere ed essere visibile nel Modello Dettaglio della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpformtemplate'] = 'Usa un Modello da database per visualizzare l\'articolo pubblicato. Questo Modello deve esistere ed essere visibile nel Modelli Form della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpmoretext'] = 'Testo da visualizzare alla fine di una news se supera la lunghezza del sommario. Il predefinito è "Continua"'; $lang['helpnumber'] = 'Numero massimo di elementi da visualizzare (per pagina) -- se vuoto verranno mostrati tutti gli articoli.'; $lang['helpshowall'] = 'Mostra tutti gli articoli, senza considerare la data di scadenza'; $lang['helpshowarchive'] = 'Mostra solo gli articoli scaduti.'; $lang['helpsortasc'] = 'Ordina le news in modo ascendente per data piuttosto che discendente.'; $lang['helpsortby'] = 'Campo da ordinare per. Le opzioni sono: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Predefinito è "news_date". Se è specificato "random" il parametro sortasc è ignorato.'; $lang['helpstart'] = 'Inizia dal n-imo articolo -- se vuoto inizierà dal primo.'; $lang['helpsummarytemplate'] = 'Usa un Modello diverso da database per visualizzare il sommario dell\'articolo. Questo Modello deve esistere ed essere visibile nel pannello Modelli Sommario dell\'area amministrazione del modulo News, ma non è necessario che sia il predefinito. Se il parametro non viene specificato, verrà usato il modello predefinito attuale.'; $lang['help_articleid'] = 'Questo parametro è applicabile solo nella visualizzazione dettaglio. Permette di specificare quali articoli visualizzare in modalità dettaglio. Se viene usato il valore speciale -1, il sistema visualizzerà l\'articolo più recente, pubblicato e non scaduto.'; $lang['help_article_title'] = 'Inserisci il titolo dell\'articolo. Deve essere breve e non contenere tag HTML.'; $lang['help_article_category'] = 'Per motivi di organizzazione, puoi selezionare una categoria.'; $lang['help_article_content'] = 'Inserisci qui il contenuto principale dell\'articolo'; $lang['help_article_enddate'] = 'Se usa la data di scadenza è attivato, questa data indica quando l\'articolo verrà nascosto alla visualizzazione.'; $lang['help_article_extra'] = 'Si tratta di dati aggiuntivi da associare all\'articolo delle news. Può essere utilizzato per organizzare l\'ordine o per altri scopi previsti dagli sviluppatori. Devi contattare lo sviluppatore del sito per sapere come viene usato questo campo, se viene usato.'; $lang['help_article_searchable'] = 'Questo campo indica se l\'articolo debba essere indicizzato dal modulo di ricerca.'; $lang['help_article_postdate'] = 'La postdate (generalmente la data corrente, per i nuovi articoli) è la data che verrà usata come data di pubblicazione dell\'articolo. Viene usata anche nell\'ordinamento'; $lang['help_article_summary'] = 'Inserisci un breve paragrafo per descrivere l\'articolo. Questo sommario può essere usato quando viene mostrato un certo numero di visualizzazioni di articoli.'; $lang['help_article_startdate'] = 'Quando usa la scadenza è attivata, questa data indica la data dalla quale l\'articolo sarà mostrato nel sito'; $lang['help_article_status'] = 'Se vuoi che l\'articolo sia immediatamente visualizzabile seleziona lo stato di pubblicato. Se vuoi continuare a modificare questo articolo per un p\', allora scegli bozza.'; $lang['help_article_url'] = 'L\'url opzionale dell\'articolo (altre piattaforme lo chiamano slug) è un suffisso di url univoco per accedere a questo articolo. Gli utenti possono navigare a / per visualizzare questo articolo.'; $lang['help_article_useexpiry'] = 'Questa casella di controllo alterna il comportamento della data di scadenza. Il comportamento della data di scadenza determina quando un articolo diventa visibile nel sito e quando successivamente diventa non più visibile.'; $lang['help_articles_filtercategory'] = 'Facoltativamente filtra l\'elenco di articoli mostrati in questo elenco per quelli che appartengono alla categoria selezionata'; $lang['help_articles_filterchildcats'] = 'Se attivato, verranno mostrati gli articoli nella categoria selezionata e nelle loro sottocategorie.'; $lang['help_articles_pagelimit'] = 'Specificando un limite compreso tra 10 e 100 si migliorerà significativamente la prestazione'; $lang['help_articles_sortby'] = 'Seleziona come gli articoli verranno inizialmente ordinati.'; $lang['help_category_name'] = 'Inserisci un nome per questa categoria. Il nome deve essere adatto per l\'uso negli url e non deve contenere caratteri speciali.'; $lang['help_category_parent'] = 'Facoltativamente specifica una categoria genitore per costruire una gerarchia delle categorie.'; $lang['help_fesubmit_redirect'] = 'ID o alias della pagina a cui reindirizzare dopo un invio effettuato con successo dal frontend.'; $lang['help_fielddef_maxlen'] = 'Per campi di testo puoi specificare la lunghezza massima dell\'input da parte dell\'utente (in caratteri)'; $lang['help_fielddef_name'] = 'Ogni definizione del campo deve avere un nome. Sebbene non sia strettamente necessario, il nome del campo dovrebbe contenere solo caratteri alfanumerici ed il segno di sottolineato. Evita di usare spazi nel nome del campo.'; $lang['help_fielddef_options'] = 'Qui puoi specificare le opzioni valide per i campi con menu a tendina.'; $lang['help_opt_alert_drafts'] = 'Se attivato, si riceveranno notifiche (avvisi) in cui viene indicato che ci sono uno o più articoli da rivedere e pubblicare.'; $lang['help_opt_allowed_upload_types'] = 'Per i campi personalizzati del tipo "file" questa impostazione indica un elenco separato da virgole di estensioni di file valide per il caricamento nell\'editor .'; $lang['help_opt_dflt_category'] = 'Questa opzione consente di specificare la categoria predefinita per i nuovi articoli delle news.'; $lang['help_opt_hide_summary'] = 'Questa opzione consente la disattivazione del campo sommario mentre si aggiunge/modifica un articolo delle news (inclusa l\'azione fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Questo campo indica se un editor WYSIWYG debba essere attivato per il campo sommario durante la modifica di un articolo. In molte circostanze il campo sommario è un semplice campo di testo, tuttavia ciò è opzionale.
    Questa impostazione viene ignorata se il campo sommario è completamente disattivato (vedere sopra)'; $lang['help_opt_expiry_interval'] = 'Imposta il numero predefinito di giorni (minimo 1) dopo di cui gli articoli scadono, se la scadenza degli articoli è attivata. La data di scadenza può essere regolata mentre si aggiunge o si modifica un articolo delle news'; $lang['help_pagelimit'] = 'Numero massimo di elementi da visualizzare (per pagina). Se questo parametro non viene inserito verranno visualizzate tutte le ricorrenze. Se viene inserito e ci sono più elementi disponibili di quelli indicati dal parametro, verranno inseriti testi e collegamenti che permetteranno di scorrere i risultati.'; $lang['hide_summary_field'] = 'Nasconde il campo sommario quando aggiungi o modifichi articoli'; $lang['info_allow_fesubmit'] = 'Questa opzione determina se l\'azione fesubmit sia consentita per tutto il sito. Massima cautela nell\'attivarla.'; $lang['info_categories'] = 'Per ragioni di organizzazione, gli articoli delle news possono essere organizzati in categorie gerarchiche'; $lang['info_detail_returnid'] = 'Questa preferenza è utilizzata per determinare una pagina (e quindi un template) da usare per visualizzare le pagine di dettaglio. Le URL di Dettaglio News individuali non funzionano se questo parametro non è impostato su una pagina valida. In aggiunta, se questo parametro è impostato e nessun parametro detailpage è aggiunto sul tag news, allora questo valore sarà usato per i link dei dettagli'; $lang['info_expired_searchable'] = 'Se attivato, gli articoli scaduti possono continuare ad essere indicizzati dal modulo ricerca e vengono visualizzati nei risultati della ricerca'; $lang['info_expired_viewable'] = 'Se abilitato, gli articoli scaduti potranno essere visualizzati in modalità dettaglio (riproducendo funzionalità antecedenti). Il parametro "showall" può essere utilizzato nell\'URL (quando non vengono utilizzati i pretty url) per indicare anche che l\'articolo scaduto possa essere visualizzato'; $lang['info_fesubmit_notification'] = 'Puoi facoltativamente inviare un messaggio e-mail ad un indirizzo e-mail singolo quando viene inviato un nuovo articolo attraverso l\'azione fesubmit.'; $lang['info_maxlength'] = 'La lunghezza massima si applica solo a campi di testo.'; $lang['info_public'] = 'Solo i campi pubblici sono disponibili per la modifica del frontend, o per la visualizzazione nelle viste di sommario o di dettaglio.'; $lang['info_reorder_categories'] = 'Trascina ogni elemento nell\'ordine corretto per cambiare la relazione con la categoria'; $lang['info_searchable'] = 'Questo campo determina se questo articolo debba essere indicizzato dal modulo di ricerca'; $lang['info_sysdefault'] = '(contenuto predefinito quando viene creato un movo modello)'; $lang['info_sysdefault2'] = 'Nota: Questo pannello contiene aree di testo che vi permettono di compilare un insieme di modelli che verranno visualizzati alla creazione di un modello sommario, dettaglio o form. Modificare i contenuti di questo pannello non avrà effetti sulle visualizzazioni correnti.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Cerca articolo delle news'; $lang['linkedfile'] = 'File collegato'; $lang['maxlength'] = 'Lunghezza massima'; $lang['msg_cancelled'] = 'Operazione annullata'; $lang['msg_categoriesreordered'] = 'Ordine categoria aggiornato'; $lang['msg_contenttype_removed'] = 'Il tipo di contenuto news è stato rimosso. Inserite altri tag {news} con parametri appropriati nel vostro modello di pagina o nel contenuto della vostra pagina per sostituire questa funzionalità.'; $lang['msg_success'] = 'Operazione riuscita con successo'; $lang['more'] = 'Continua'; $lang['moretext'] = 'Altro testo'; $lang['name'] = 'Nome'; $lang['nameexists'] = 'Esiste già un campo con questo nome'; $lang['needpermission'] = 'E\' necessario il permesso \'%s\' per eseguire di questa funzione.'; $lang['newcategory'] = 'Nuova categoria'; $lang['news'] = 'News'; $lang['news_return'] = 'Torna'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Al momento non c\'è alcun articolo creato'; $lang['noarticlesinfilter'] = 'Non ci sono articoli da visualizzare con questo filtro'; $lang['nocategorygiven'] = 'Nessuna Categoria specificata'; $lang['nocontentgiven'] = 'Nessun Contenuto inserito'; $lang['noitemsfound'] = 'Nessun elemento trovato per la categoria: %s'; $lang['nonamegiven'] = 'Nessun Nome inserito'; $lang['none'] = 'Nessuno'; $lang['nopostdategiven'] = 'Nessuna data di pubblicazione inserita'; $lang['notanumber'] = 'La lunghezza massima non è un numero'; $lang['note'] = 'Nota: La data deve essere nel formato: \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Voi avete %s articolo(i) News che non sono ancora pubblicati'; $lang['notify_n_draft_items_sub'] = '%d articolo(i) News'; $lang['notitlegiven'] = 'Nessun Titolo inserito'; $lang['numbertodisplay'] = 'Numero da visualizzare (se vuoto mostra tutti gli articoli)'; $lang['options'] = 'Opzioni'; $lang['optionsupdated'] = 'Le opzioni sono state aggiornate con successo.'; $lang['parent'] = 'Genitore'; $lang['postdate'] = 'Data di pubblicazione'; $lang['postinstall'] = 'Assicuratevi di attribuire il permesso "Modifica News" agli utenti che dovranno amministrare le News.'; $lang['post_date_asc'] = 'Data di pubblicazione ascendente'; $lang['post_date_desc'] = 'Data di pubblicazione discendente'; $lang['preview'] = 'Anteprima'; $lang['prevpage'] = '<'; $lang['print'] = 'Stampa'; $lang['prompt_alert_drafts'] = 'Avviso per articoli non approvati'; $lang['prompt_allow_fesubmit'] = 'Consenti che gli articoli delle news siano inviati dal frontend'; $lang['prompt_default'] = 'Predefinito'; $lang['prompt_go'] = 'Vai'; $lang['prompt_name'] = 'Nome'; $lang['prompt_newtemplate'] = 'Crea un nuovo Modello'; $lang['prompt_of'] = 'di'; $lang['prompt_page'] = 'Pagina'; $lang['prompt_pagelimit'] = 'Limite pagina'; $lang['prompt_redirecttocontent'] = 'Torna alla pagina'; $lang['prompt_sorting'] = 'Ordina per'; $lang['prompt_template'] = 'Sorgente del Modello'; $lang['prompt_templatename'] = 'Nome del Modello'; $lang['public'] = 'Pubblico'; $lang['published'] = 'Pubblicato'; $lang['reassign_category'] = 'Cambia la categoria in'; $lang['removed'] = 'Rimosso'; $lang['reorder'] = 'Riordina'; $lang['reorder_categories'] = 'Riordina le categorie'; $lang['reset'] = 'Reimposta'; $lang['resettodefault'] = 'Reimposta ai valori predefiniti'; $lang['restoretodefaultsmsg'] = 'Questa operazione riporterà il contenuto del Modello a quello predefinito. Siete certi di volere procedere?'; $lang['revert'] = 'Imposta lo stato a \'Bozza\''; $lang['searchable'] = 'Ricercabile'; $lang['select'] = 'Seleziona'; $lang['select_option'] = 'Seleziona opzione'; $lang['selectall'] = 'Seleziona tutto'; $lang['selectcategory'] = 'Seleziona la categoria'; $lang['showchildcategories'] = 'Mostra le sottocategorie'; $lang['sortascending'] = 'Ordine crescente'; $lang['startdate'] = 'Data inizio'; $lang['startdatetoolate'] = 'La data di partenza è troppo in ritardo (dopo la data di fine?)'; $lang['startoffset'] = 'Inizia la visualizzazione dal n-imo articolo'; $lang['startrequiresend'] = 'Inserire una data di inizio richiede anche una data di fine'; $lang['status'] = 'Stato'; $lang['status_asc'] = 'Stato ascendente'; $lang['status_desc'] = 'Stato discendente'; $lang['subject_newnews'] = 'Nuovo articolo pubblicato'; $lang['submit'] = 'Invia'; $lang['summary'] = 'Sommario'; $lang['summarytemplate'] = 'Modelli Sommario'; $lang['summarytemplateupdated'] = 'Il Modello Sommario è stato aggiornato con successo.'; $lang['sysdefaults'] = 'Riporta nella configurazione predefinita'; $lang['template'] = 'Modello'; $lang['textarea'] = 'Area di Testo'; $lang['textbox'] = 'Input di Testo'; $lang['title'] = 'Titolo'; $lang['title_asc'] = 'Titolo ascendente'; $lang['title_available_templates'] = 'Modelli disponibili'; $lang['title_browsecat_sysdefault'] = 'Modello predefinito Elenco Categorie'; $lang['title_browsecat_template'] = 'Editor per Modello Elenco Categorie'; $lang['title_desc'] = 'Titolo discendente'; $lang['title_detail_returnid'] = 'Pagina predefinita da usare per la vista dettaglio'; $lang['title_detail_settings'] = 'Impostazioni vista dettaglio'; $lang['title_detail_sysdefault'] = 'Modello Dettaglio predefinito'; $lang['title_detail_template'] = 'Editor Modello Dettaglio'; $lang['title_draft_entries'] = 'Articolo delle news non approvato'; $lang['title_fesubmit_form'] = 'Invia articolo delle news'; $lang['title_fesubmit_settings'] = 'Impostazioni inserimento lato utente'; $lang['title_filter'] = 'Filtri'; $lang['title_form_sysdefault'] = 'Modello Form predefinito'; $lang['title_form_template'] = 'Modello del Form Editor'; $lang['title_news_settings'] = 'Impostazioni del modulo News'; $lang['title_notification_settings'] = 'Impostazioni di notifica'; $lang['title_submission_settings'] = 'Impostazioni inserimento News'; $lang['title_summary_sysdefault'] = 'Modello Sommario predefinito'; $lang['title_summary_template'] = 'Editor Modello Sommario'; $lang['toggle_bulk'] = 'Seleziona questo articolo per operazione in blocco'; $lang['type'] = 'Tipo'; $lang['type_browsecat'] = 'Sfoglia categorie'; $lang['type_form'] = 'Form di frontend'; $lang['type_detail'] = 'Dettaglio'; $lang['type_News'] = 'News'; $lang['type_summary'] = 'Sommario'; $lang['unknown'] = 'Sconosciuto'; $lang['unlimited'] = 'Illimitato'; $lang['up'] = 'Su'; $lang['uploadscategory'] = 'Categoria di Caricamento'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Usa la data di scadenza'; $lang['viewfilter'] = 'Filtro visualizzazione'; $lang['warning_preview'] = 'Attenzione: questo pannello anteprima si comporta in buona parte come la finestra di un browser, permettendovi di navigare rispetto alla pagina iniziale visualizzata. Tuttavia, se lo fate, potreste riscontrare comportamenti inattesi. Navigare spostandosi dalla pagina iniziale per poi ritornarvi non darà i risultati attesi.
    Nota: L\'anteprima non carica i file che potreste avere selezionato in attesa di caricamento.'; $lang['with_selected'] = 'Con selezionato'; ?>נשלח כשנוסף מאמר.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    • \"category_id\" - קוד זיהוי המדור של מאמר זה
    • \"title\" - כותרת המאמר
    • \"content\" - תוכן המאמר
    • \"summary\" - תקציר המאמר
    • \"status\" - מצב המאמר ("טיוטא" או "פרסם")
    • \"start_time\" - התאריך שבו המאמר יוצג
    • \"end_time\" - התאריך שבו המאמר יפסיק להיות מוצג
    • \"useexp\" - האם יש להתעלם מתאריך התפוגה או לא
    '; $lang['eventhelp-NewsArticleDeleted']='

    נשלח כשמאמר נמחק.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    '; $lang['eventhelp-NewsArticleEdited']='

    נשלח כשמאמר נערך.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    • \"category_id\" - מס' המדור למאמר זה
    • \"title\" - כותרת המאמר
    • \"content\" - תוכן המאמר
    • \"summary\" - תקציר המאמר
    • \"status\" - מצב המאמר ("טיוטא" או "פרסם")
    • \"start_time\" - התאריך שבו המאמר יוצג
    • \"end_time\" - התאריך שבו המאמר יפסיק להיות מוצג
    • \"useexp\" - האם יש להתעלם מתאריך התפוגה או לא
    '; $lang['eventhelp-NewsCategoryAdded']='

    נשלח כאשר נוסף מדור.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור
    • \"name\" - שם המדור
    '; $lang['eventhelp-NewsCategoryDeleted']='

    נשלח כאשר מדור נמחק.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור המחוק
    • \"name\" - שם המדור המחוק
    '; $lang['eventhelp-NewsCategoryEdited']='

    נשלח כאשר מדור נערך.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור
    • \"name\" - שם המדור
    • \"origname\" - השם המקורי של המדור
    '; $lang['expired']='פג תוקף'; $lang['expired_searchable']='מאמרים פג תוקף יכול להופיע בתוצאות החיפוש'; $lang['expiry']='תפוגה'; $lang['expiry_date_asc']='תאריך תפוגה עולה'; $lang['expiry_date_desc']='תאריך תפוגה יורד'; $lang['expiry_interval']='מספר ימים (כברירת מחדל) לפני המאמר פוקעת (אם פקיעת מסומנת)'; $lang['extra']='נוסף'; $lang['fesubmit_redirect']='PageID או alias to redirect to after a news article has been submitted via the fesubmit action'; $lang['fesubmit_status']='מעמדו של מאמרי חדשות שהוגשו באמצעות הממשק'; $lang['fielddef']='שדה Definition'; $lang['fielddefadded']='הגדרת שדה Definition הוסיף בהצלחה'; $lang['fielddefdeleted']='הגדרת שדות שנמחקו'; $lang['fielddefupdated']='הגדרת שדה עודכן'; $lang['file']='קובץ'; $lang['filter']='מסננת'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='כתובת דוא"ל כדי לקבל הודעה על הגשת החדשות'; $lang['formtemplate']='תבניות טופס'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['help_articleid']='פרמטר זה הוא ישים רק כדי להציג את הפרטים. זה מאפשר ציון אשר מאמר חדשותי כדי להציג במצב בפירוט. אם הערך המיוחד -1 משמש, המערכת תציג את החדש, שפורסם, מאמר שאינו פג.'; $lang['help_pagelimit']='מספר מרבי של פריטים להצגה (בכל דף). אם הפרמטר הזה לא סיפק את כל הפריטים התואמים יוצג. אם כן, ויש עוד פריטים זמינים מאשר המצוין בפרמטר, טקסט וקישורים יסופקו על מנת לאפשר גלילה באמצעות התוצאות'; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpbrowsecat']='מציג רשימת מדורים לעיון.'; $lang['helpbrowsecattemplate']='שימוש באתר התבנית להצגת דפדפן בקטגוריה. תבנית זו חייבת להתקיים ולהיות גלויים על הכרטיסייה קטגוריה תבניות עיון של מנהל החדשות, למרות שזה לא צריך להיות ברירת המחדל. אם פרמטר זה לא צוין, ואז שוטפים את התבנית מסומן כברירת מחדל ישמשו.'; $lang['helpcategory']='Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailpage']='דף כדי להציג פרטים חדשות פנימה זה יכול להיות כינוי מקור או תעודת זהות. משמש כדי לאפשר הפרטים שיוצגו תבנית שונה סיכום.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpformtemplate']='שימוש באתר התבנית להצגת טופס הגשת המאמר. תבנית זו חייבת להתקיים ולהיות גלוי בצורת תבניות הכרטיסייה של מנהל החדשות, למרות שזה לא צריך להיות ברירת המחדל. אם פרמטר זה לא צוין, ואז שוטפים את התבנית מסומן כברירת מחדל ישמשו.'; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Maximum number of items to display =- leaving empty will show all items.'; $lang['helpshowall']='הצג את כל הכתבות, ללא קשר לתאריך הסיום'; $lang['helpshowarchive']='הצג מאמרים שתוקפם פג בלבד.'; $lang['helpsortasc']='לפי ידיעות על מנת תאריך עולה ולא יורד.'; $lang['helpsortby']='שדה המיון. האפשרויות הן: "news_date" (תאריך), "summary" (תקציר), "news_data" (מידע), "news_category" (מדור), "news_title" (כותרת). ברירת המחדל היא "news_date" (תאריך).'; $lang['helpstart']='התחל פריט המי יודע כמה - משאיר ריק יתחיל בשעה הפריט הראשון.'; $lang['helpsummarytemplate']='Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['hide_summary_field']='הסתרת שדה סיכום בעת הוספת או עריכת מאמרים'; $lang['info_maxlength']='האורך המרבי חל רק על שדות הזנת טקסט.'; $lang['info_sysdefault']='(תוכן המשמש כברירת מחדל כאשר התבנית החדשה שנוצרה)'; $lang['info_sysdefault2']='ערה: כרטיסייה זו מכילה אזורים טקסט תאפשר לך לערוך את ערכה של תבניות מוצגות כאשר אתה יוצר "סיכום חדש ', פרט, או תבנית הטופס. שינוי התוכן בלשונית זו, לחיצה על 'שלח' יהיהלא כל השפעה מציגה הנוכחית.'; $lang['lastpage']='>>'; $lang['maxlength']='אורך מקסימלי'; $lang['more']='עוד'; $lang['moretext']='עוד מלל'; $lang['msg_contenttype_removed']='סוג התוכן החדשות הוסר. אנא (news) המקום תגיות עם הפרמטרים המתאימים לתוך דף התבנית שלך או אל מקור התוכן שלך כדי להחליף את הפונקציה הזו.'; $lang['name']='שם'; $lang['nameexists']='שדה בשם זה כבר קיים'; $lang['needpermission']='נדרשת הרשאת '%s' כדי לבצע פעולה זו.'; $lang['newcategory']='מדור חדש'; $lang['news']='חדשות'; $lang['news_return']='חזור'; $lang['nextpage']='>'; $lang['nocategorygiven']='לא צויין מדור'; $lang['nocontentgiven']='לא ניתן תוכן'; $lang['noitemsfound']='אין חדשות במדור %s'; $lang['nonamegiven']='לא ניתן שם'; $lang['none']='לא'; $lang['nopostdategiven']='לא צויין תאריך פרסום'; $lang['notanumber']='האורך המקסימלי אינו מספר'; $lang['note']='שים לב: תאריכים חייבים להיות בתצורה 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='יש לך %s לא פורסמו'; $lang['notify_n_draft_items_sub']='%d חדשות מאמר'; $lang['notitlegiven']='לא ניתנה כותרת'; $lang['numbertodisplay']='מספר על הצג (מראה ריק כל הרשומות)'; $lang['options']='אפשרויות'; $lang['optionsupdated']='האפשרויות עודכנו בהצלחה'; $lang['post_date_asc']='פוסט תאריך עולה'; $lang['post_date_desc']='פוסט תאריך יורד'; $lang['postdate']='תאריך פרסום'; $lang['postinstall']='חשוב להסמן את ההרשאה "לנהל חדשות" למשתמשים המתאימים.'; $lang['prevpage']='<'; $lang['print']='הדפס'; $lang['prompt_default']='ברירת מחדל'; $lang['prompt_name']='שם'; $lang['prompt_newtemplate']='יצירת תבנית חדשה'; $lang['prompt_of']='מ'; $lang['prompt_page']='דף'; $lang['prompt_pagelimit']='הגבלת דפים'; $lang['prompt_sorting']='מיין לפי'; $lang['prompt_template']='המקור תבנית'; $lang['prompt_templatename']='שם תבנית'; $lang['public']='הציבור'; $lang['published']='פורסם'; $lang['reassign_category']='שינוי הקטגוריה'; $lang['removed']='הוסר'; $lang['resettodefault']='איפוס לברירות המחדל במפעל'; $lang['restoretodefaultsmsg']='פעולה זו תחזיר את תבניות התוכן לברירות המחדל שלהן. האם להמשיך?'; $lang['revert']='סטטוס הגדר "טיוטה"'; $lang['select']='לבחור'; $lang['selectcategory']='בחר מדור'; $lang['showchildcategories']='הצג תת-מדורים'; $lang['sortascending']='מיין בסדר עולה'; $lang['startdate']='תאריך התחלה'; $lang['startdatetoolate']='תאריך ההתחלה מאוחר מדי (לאחר תאריך סיום?)'; $lang['startoffset']='הצג החל מהחדשה ה-n'; $lang['startrequiresend']='ציון תאריך התחלה דורשת גם ציון תאריך סיום'; $lang['status']='מצב'; $lang['status_asc']='סטטוס עולה'; $lang['status_desc']='סטטוס יורד'; $lang['subject_newnews']='מאמר חדש חדשות כבר פורסם'; $lang['submit']='שלח'; $lang['summary']='תקציר'; $lang['summarytemplate']='תבנית תקצירים'; $lang['summarytemplateupdated']='תבנית התקצירים לחדשות עודכנה בהצלחה'; $lang['sysdefaults']='החזר את ברירות המחדל'; $lang['template']='תבנית'; $lang['textarea']='Text אזור'; $lang['textbox']='להכניס Text'; $lang['title']='כותרת'; $lang['title_asc']='כותר עולה'; $lang['title_available_templates']='ניתן להשיג תבניות'; $lang['title_browsecat_sysdefault']='עיון בקטגוריה ברירת המחדל תבנית'; $lang['title_browsecat_template']='עיון בקטגוריה תבנית עורך'; $lang['title_desc']='כותרת יורד'; $lang['title_detail_sysdefault']='פירוט תבנית ברירת מחדל'; $lang['title_detail_template']='עורך פירוט תבנית'; $lang['title_filter']='מסננים'; $lang['title_form_sysdefault']='טופס תבנית ברירת מחדל'; $lang['title_form_template']='עורך תבנית טופס'; $lang['title_summary_sysdefault']='סיכום תבנית ברירת מחדל'; $lang['title_summary_template']='עורך סיכום תבנית'; $lang['type']='סוג'; $lang['unknown']='לא ידוע'; $lang['unlimited']='בלתי מוגבל'; $lang['up']='למעלה'; $lang['uploadscategory']='ההעלאות קטגוריה'; $lang['useexpiration']='השתמש בתאריך תפוגה'; ?>記事の追加時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    • \"category_id\" - 該当記事に対するカテゴリーのID
    • \"title\" - 記事のタイトル
    • \"content\" - 記事の内容
    • \"summary\" - 記事の要約
    • \"status\" - 記事の状態 ("ドラフト" 又は "公開")
    • \"start_time\" - 記事の公開開始日
    • \"end_time\" - 記事の公開終了日
    '; $lang['eventhelp-NewsArticleDeleted']='

    記事の削除時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    '; $lang['eventhelp-NewsArticleEdited']='

    記事の編集時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    • \"category_id\" - 該当記事に対するカテゴリーのID
    • \"title\" - 記事のタイトル
    • \"content\" - 記事の内容
    • \"summary\" - 記事の要約
    • \"status\" - 記事の状態 ("ドラフト" 又は "公開")
    • \"start_time\" - 記事の公開開始日
    • \"end_time\" - 記事の公開終了日
    '; $lang['eventhelp-NewsCategoryAdded']='

    カテゴリーの追加時に送信

    パラメーター

    • \"category_id\" - ニュースカテゴリーのID
    • \"name\" - ニュースカテゴリーの名前
    '; $lang['eventhelp-NewsCategoryDeleted']='

    カテゴリの削除時に送信

    パラメーター

    • \"category_id\" - ニュースのID
    '; $lang['eventhelp-NewsCategoryEdited']='

    カテゴリの編集時に送信

    パラメーター

    • \"category_id\" - ニュースカテゴリーのID
    • \"name\" - ニュースカテゴリーの名前
    '; $lang['expiry']='有効期限'; $lang['fielddef']='項目定義'; $lang['fielddefadded']='項目定義を追加しました。'; $lang['fielddefupdated']='項目定義を更新しました。'; $lang['file']='ファイル'; $lang['filter']='フィルター'; $lang['firstpage']='<<'; $lang['help']='

    何ができるのでしょうか?

    ニュースはページにニュースイベントを表示するモジュールで、多くの機能があり、例えばブログのような利用ができます。モジュールがインストールされると、ニュース管理ページが管理メニューに追加され、ニュースの管理はメニューから利用できます。ニュースカテゴリーが一旦作成、選択されると、該当カテゴリーのニュース項目がリスト表示されます。そこから、そのニュース項目の追加、編集、削除等が行えます。

    セキュリティ

    利用ユーザーは、入力や編集等の作業を行う為に、必ず\'ニュースの修正\'パーミッションを持ったグループに所属する必要があります。

    使用方法

    もっとも簡単な利用方法はcms_moduleタグと合わて使うことです。この方法はモジュールをテンプレートやページのどこかニュース項目を表示したい場所に挿入することです。コードの形式は以下のようになります: {cms_module module="news" number="5" category="beer"}

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpcategory']='該当カテゴリとその子カテゴリの項目だけを表示。空欄の場合は全カテゴリを表示。'; $lang['helpdetailpage']='ニュース詳細を表示するページ。ページのエイリアスまたはIDを使用できます。記事概要と異なるテンプレートで表示させる場合に使います。'; $lang['helpdetailtemplate']='記事詳細の表示に別のテンプレートを使用。ファイルはmodules/News/templatesに置く必要があります。'; $lang['helpmoretext']='要約のサイズを超えている場合に、ニュース項目を最後まで表示します。デフォルトは"さらに表示..."。'; $lang['helpnumber']='表示できる項目の最大数の値 -- 空欄の場合は全項目を表示'; $lang['helpsortasc']='ニュース項目を昇順に並べ替え。'; $lang['helpsortby']='並び替えの優先項目。項目は: "news_date"、"summary"、"news_data"、"news_category"、"news_title"。デフォルトは"news_date"。'; $lang['helpstart']='○番目の項目からスタート -- 空欄の場合は最初からスタート'; $lang['helpsummarytemplate']='要約記事の表示に別のテンプレートを利用。 ファイルはmodules/News/templatesに置く必要があります。'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['maxlength']='最大長さ'; $lang['more']='さらに表示'; $lang['moretext']='さらにテキストを表示'; $lang['name']='名前'; $lang['needpermission']='この機能を利用するには\'%s\'パーミッションが必要です。'; $lang['newcategory']='新規カテゴリ'; $lang['news']='ニュース'; $lang['news_return']='戻る'; $lang['nextpage']='>'; $lang['nocategorygiven']='カテゴリが存在しません。'; $lang['nocontentgiven']='コンテンツが存在しません。'; $lang['noitemsfound']='カテゴリ%sに対する項目がありません。'; $lang['nonamegiven']='名前が存在しません。'; $lang['none']='なし'; $lang['nopostdategiven']='投稿日付がありません。'; $lang['note']='注意: 日付は\'yyyy-mm-dd hh:mm:ss\'フォーマットの必要があります。'; $lang['notitlegiven']='タイトルが存在しません。'; $lang['numbertodisplay']='表示数(空欄の場合は全てのレコードが表示されます)'; $lang['options']='オプション'; $lang['optionsupdated']='オプションは正常に更新されました。'; $lang['postdate']='投稿日'; $lang['postinstall']='ニュース項目を管理するユーザーには"ニュースを修正"パーミッションを設定する必要があります。'; $lang['prevpage']='<'; $lang['print']='印刷'; $lang['prompt_default']='デフォルト'; $lang['prompt_name']='名'; $lang['prompt_newtemplate']='テンプレートを作成する。'; $lang['prompt_page']='ページ'; $lang['prompt_sorting']='ソート'; $lang['prompt_template']='テンプレート・ソース'; $lang['prompt_templatename']='テンプレート名'; $lang['public']='公開'; $lang['published']='公開'; $lang['removed']='削除しました。'; $lang['restoretodefaultsmsg']='テンプレートの設定をデフォルトに戻します。本当に実行しますか?'; $lang['revert']='ステータスを「ドラフト」に設定しました。'; $lang['select']='選択'; $lang['selectcategory']='カテゴリの選択'; $lang['showchildcategories']='子カテゴリを表示'; $lang['sortascending']='昇順並び替え'; $lang['startdate']='開始日'; $lang['startoffset']='○番目の項目から表示'; $lang['startrequiresend']='開始日を入力する際に終了日も必要'; $lang['status']='ステータス'; $lang['status_asc']='ステータス昇順'; $lang['status_desc']='ステータス降順'; $lang['submit']='送信'; $lang['summary']='要約'; $lang['summarytemplate']='要約テンプレート'; $lang['summarytemplateupdated']='ニュース要約テンプレートは正常に更新されました。'; $lang['sysdefaults']='デフォルトに戻す'; $lang['template']='テンプレート'; $lang['textarea']='テキストエリア'; $lang['textbox']='テキスト'; $lang['title']='タイトル'; $lang['title_asc']='タイトル昇順'; $lang['title_desc']='タイトル降順'; $lang['title_detail_settings']='詳細表示設定'; $lang['title_filter']='フィルタ'; $lang['title_notification_settings']='通知設定'; $lang['type']='タイプ'; $lang['unknown']='知らない。'; $lang['unlimited']='上限値なし'; $lang['up']='上'; $lang['uploadscategory']='カテゴリのアップロード'; $lang['useexpiration']='期限切れ日付を使用'; ?> Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Wether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Wether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Baigėsi'; $lang['expiry']='Galiojimas'; $lang['expiry_date_asc']='Pasibaigimo datą didėjančiai'; $lang['expiry_date_desc']='Pasibaigimo datą mažėjančiai'; $lang['expiry_interval']='Dienų skaičius (įprastai) po kurio baigs galioti straipsnis (jei pasirinkta)'; $lang['extra']='Papildomas'; $lang['fesubmit_redirect']='ID ar puslapio trumpinys kur bus nukreiptas po naujienos pateikimo naudojant fesubmint veiksmą'; $lang['fesubmit_status']='Straipsnių būsena kurie pateikti "priekinių" narių'; $lang['fielddef']='Laukelio Tikslas'; $lang['fielddefadded']='Sėkmingai pridėtas laukelio tikslas'; $lang['fielddefdeleted']='Laukelio tikslas ištrintas'; $lang['fielddefupdated']='Laukelio tikslas atnaujintas'; $lang['file']='Byla'; $lang['filter']='Filtruoti'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='El. pašto adresas kuri gaus įspėjimus apie naujus pateikimus'; $lang['formtemplate']='Formos Šablonas'; $lang['help']='

    Ką jis daro?

    Naujienų modulis rodo naujienas jūsų puslapyje, panašiu kaip 'blog' stiliumi, tik su daugiau galimybių. Kai meniu modulis įdiegtas, Naujienų administravimo puslapis yra įdedamas į meniu apačią, kuris jums leis parinkti ar pridėti naujienų kategoriją.

    Saugumas

    Vartotojas turi priklausyti grupei su prieiga 'Redaguoti Naujienas' ('Modify News'), tam kad galėtu pridėti, redaguoti ar trinti naujienų įrašus.

    Kaip jį naudoti?

    Lengviausias būdas naudojant cms_module žymę. Bus įterptas modulis į jūsų šabloną ar puslapį ir rodys naujienų įrašus. Kodas turėtų būti panašus kaip: {cms_module module="news" number="5" category="beer"}

    Kokie parametrai egzistuoja?

    • (optional) number="5" - Maksimalus rodomų įrašų skaičius =- palikus tuščią, bus rodomi visi įrašai
    • (optional) makerssbutton="true" - Sukuriamas naujienų įrašų RSSui mygtukas.
    • (optional) category="category" - Rodyti tik tos kategorijos įrašus ir jos vaikus. Palikus tuščią, rodomos visos kategorijos.
    • (optional) moretext="more..." - Tekstas, kuris rodomas kai naujiena viršiją santrauką. Nustatytas "more...".
    • (optional} summarytemplate="sometemplate.tpl" - Naudokite atskirą šabloną rodyti naujienų santrauką. Jį reikia sukurti modules/News/templates.
    • (optional} detailtemplate="sometemplate.tpl" - Naudokite atskirą šabloną rodyti visas naujienas. Jį reikia sukurti modules/News/templates.
    • (optional) sortby="news_date" - Rūšiavimo laukas. Pasirinkimai: "news_date", "summary", "news_data", "news_category", "news_title". Nustatyta: "news_date".
    • (optional) sortasc="true" - Rūšiuoti naujienas didėjančia tvarka.

    '; $lang['help_pagelimit']='Maksimalus rodomų elementų kiekis puslapyje. Jei šis parametras nenustatytas visi elementai bus rodomi. Jei nustatyta ir elementų yra daugiau tekstas ir nuorodos bus pateiktos taip, kad būtų įmanoma juos peržvelgi'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Rodyti naršoma kategorijų sąrašą.'; $lang['helpcategory']='Rodo straipsnius tik iš nurodytos kategorijos. Naudoti * po kategorijos jei rodyti subkategorijas. Daugiau kategorijų galima rodyti jei pavadinimai atskirti kableliais. Palikite tuščia rodysite visas kategorijas. Šis parametras taip pat veikia su priešakiniu pateikimo forma. bet palaiko tik vieną kategoriją.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext']='Tekstas rodomas santraukos pabaigoje, nuoroda į straipsnio turinį. Įprastai "more..."'; $lang['helpnumber']='Maximalus rodomų elementų skaičius =- palikite tuščia, rodys visus.'; $lang['helpshowarchive']='Rodyti tik pasibaigusio galiojimo naujienų straipsnius.'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart']='Pradėti nth elementu -- palikite tuščia, pradės nuo pirmos.'; $lang['hide_summary_field']='Paslėpti santraukos lauką kai pridedamas ar redaguojamas straipsnis'; $lang['info_maxlength']='Maksimalus ilgis taikomas tik teksto įvesties laukeliuose'; $lang['info_sysdefault']='(turinys naudojamas kai kuriamas naujas šablonas)'; $lang['info_sysdefault2']='Dėmesio: Šioje kortelėje esančios teksto sritys kuriose yra šablonai kurie rodomi kai paspaudžiamas 'kurti naują' santraukos, detalus, formos šablonus. Turinio pakeitimas šioje kortelėje neturės jokios įtakos esamiems šablonams '; $lang['lastpage']='>>'; $lang['maxlength']='Maksimalus ilgis'; $lang['more']='Daugiau'; $lang['moretext']='Daugiau teksto'; $lang['msg_contenttype_removed']='Naujienų turinio tipas buvo pašalintas. Prašome naudoti {news} žymę su atitinkamais parametrais puslapio šablome arba puslapio turinyje.'; $lang['name']='Vardas'; $lang['nameexists']='Laukelis tokiu pavadinimų jau yra'; $lang['needpermission']='Jums reikia prieigos '%s' tam, kad atlikti šią funkciją.'; $lang['newcategory']='Nauja Kategorija'; $lang['news']='Naujienos'; $lang['news_return']='grįžti'; $lang['nextpage']='>'; $lang['nocategorygiven']='Neužpildyta Kategorija'; $lang['nocontentgiven']='Neužpildytas Turinys'; $lang['noitemsfound']='Nerasta įrašų šioje kategorijoje: %s'; $lang['nonamegiven']='Neužpildytas vardas'; $lang['none']='Nei vienas'; $lang['nopostdategiven']='Neužpildyta įrašo pateikimo data'; $lang['notanumber']='Maksimalus ilgis nėra skaičius'; $lang['note']='Žyma: Datos turi būti 'yyyy-mm-dd hh:mm:ss' formato.'; $lang['notify_n_draft_items_sub']='Naujienų straipsnių: %d '; $lang['notitlegiven']='Neužpildytas Pavadinimas'; $lang['numbertodisplay']='Rodomas Skaičius (palikus tuščią, rodomi visi įrašai)'; $lang['options']='Nustatymai'; $lang['optionsupdated']='Nustaymai atnaujinti.'; $lang['post_date_asc']='Pagal įrašo datą didėjančiai'; $lang['post_date_desc']='Pagal įrašo datą mažėjančiai'; $lang['postdate']='Įrašo data'; $lang['postinstall']='Nustatykite "Redaguoti Naujienas (Modify News)" prieigą tiems vartotojams, kurie administruos naujienas.'; $lang['prevpage']='<'; $lang['print']='Spausdinti'; $lang['prompt_default']='Įprastas'; $lang['prompt_name']='Pavadinimas'; $lang['prompt_newtemplate']='Sukurti naują šabloną'; $lang['prompt_of']='iš'; $lang['prompt_page']='Puslapis'; $lang['prompt_pagelimit']='Puslapių limitas'; $lang['prompt_sorting']='Rūųšiuoti pagal'; $lang['prompt_template']='Šablono šaltinis'; $lang['prompt_templatename']='Šablono pavadinimas'; $lang['public']='Viešas'; $lang['published']='Paskelbtas'; $lang['reassign_category']='Pakeisti kategorija į'; $lang['removed']='Pašalinta'; $lang['resettodefault']='Nustatyti pradinius nustatymus'; $lang['restoretodefaultsmsg']='Šis veiksmas atstatys turinio šabloną į sistemos įprasta. Ar tikrai norite tęsti?'; $lang['revert']='Nustatyti į būsena 'Juodraštis''; $lang['select']='Pasirinkt'; $lang['selectcategory']='Pasirinkite Kategoriją'; $lang['showchildcategories']='Rodyti subkategorijas'; $lang['sortascending']='Rūšiuoti Didėjančiai'; $lang['startdate']='Pradžios Data'; $lang['startdatetoolate']='Pradžios data per vėlai (po pabaigos data?)'; $lang['startoffset']='Pradėti rodyti nth elemtą'; $lang['startrequiresend']='Įvedant pradžios datą, reikia įvesti ir pabaigos datą'; $lang['status']='Būklė'; $lang['subject_newnews']='Naujas Naujienų straipsnis'; $lang['submit']='Pateikti'; $lang['summary']='Santrauka'; $lang['summarytemplate']='Santraukos Šablonas'; $lang['summarytemplateupdated']='Naujienų santraukos šablonas atnaujintas sėkmingai.'; $lang['sysdefaults']='Atstayti įprastus nustatymus'; $lang['template']='Šablonas'; $lang['textarea']='Teksto sritis'; $lang['textbox']='Teksto įvestis'; $lang['title']='Pavadinimas'; $lang['title_asc']='Pavadinimą didėjančiai'; $lang['title_available_templates']='Galimi šablonai'; $lang['title_browsecat_sysdefault']='Įprastas kategorijų naršymo šablonas'; $lang['title_browsecat_template']='Kategorijų naršymo šablonų redaktorius'; $lang['title_desc']='Pavadinimą mažėjančiai'; $lang['title_detail_sysdefault']='Įprastas detalus šablonas'; $lang['title_detail_template']='Detalaus šablono redaktorius'; $lang['title_filter']='Filtrai'; $lang['title_form_sysdefault']='Įprastas formos šablonas '; $lang['title_form_template']='Formos šablono redaktorius'; $lang['title_summary_sysdefault']='Įprastas santraukos šablonas'; $lang['title_summary_template']='Santraukos šablono redaktorius'; $lang['type']='Tipas'; $lang['unknown']='Nežinomas'; $lang['unlimited']='Neribojama'; $lang['up']='Viršun'; $lang['uploadscategory']='Atsiuntimo kategorija'; $lang['useexpiration']='Naudoti galiojimo datą'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired_searchable']='Хугацаа нь дууссан нийтлэлүүд хайлтын үр дүнгээр илэрч болно'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['nextpage']='>'; $lang['none']='Хоосон'; $lang['post_date_asc']='Нийтлэгдсэн өдөр өсөхөөр'; $lang['post_date_desc']='Нийтлэгдсэн өдөр буурахаар'; $lang['prevpage']='<'; $lang['unlimited']='Хязгааргүй'; ?>(mulig den allerede er benyttet, eller at det er ugyldige bokstaver)'; $lang['error_mkdir'] = 'Kunne ikke opprette katalog: %s'; $lang['error_movefile'] = 'Kunne ikke opprette fil: %s'; $lang['error_noarticlesselected'] = 'Ingen artikler ble valgt'; $lang['error_nooptions'] = 'Ingen alternativer er spesifisert for feltdefinisjon'; $lang['error_templatenamexists'] = 'En mal med det navnet eksisterer allerede'; $lang['error_upload'] = 'Et problem oppstod under opplasting av fil'; $lang['eventdesc-NewsArticleAdded'] = 'Sendt når en artikkel er lagt til.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sendt når en artikkel er lagt til.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    • "category_id" - Id for kategorien for denne artikkelen
    • "title" - Artikkeltittel
    • "content" - Artikkel innhold
    • "summary" - Artikkel sammendrag
    • "status" - Artikkel status ("draft" eller "publish")
    • "start_time" - Dato artikkelen skal begynne å vises
    • "end_time" - Dato artikkelen ikke skal vises lengre
    • "useexp" - Om utløpsdatoen skal ignoreres eller ikke
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Sendt når en artikkel er slettet.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sendt når en artikkel er slettet.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    '; $lang['eventdesc-NewsArticleEdited'] = 'Sendt når en artikkel er redigert.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sendt når en artikkel er redigert.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    • "category_id" - Id for kategorien for denne artikkelen
    • "title" - Artikkeltittel
    • "content" - Artikkel innhold
    • "summary" - Artikkel sammendrag
    • "status" - Artikkel status ("draft" eller "publish")
    • "start_time" - Dato artikkelen skal begynne å vises
    • "end_time" - Dato artikkelen ikke skal vises lengre
    • "useexp" - Om utløpsdatoen skal ignoreres eller ikke

    Merk: Ikke alle parametere vill være tilgjengelige når denne handlingen blir sendt.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Sendt når en kategori er lagt til.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Parametere

    • "category_id" - Id for nyhetskategorien
    • "name" - Navn på nyhetskategorien
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Sendt når en kategori er slettet.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    parametere

    • "category_id" - Id for den slettede kategorien
    • "name" - Navn på den slettede kategorien
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Sendt når en kategori er redigert.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parametere

    • "category_id" - Id for nyhetskategorien
    • "name" - Navn på nyhetskategorien
    • "origname" - Det originale navnet på nyhetskategorien
    '; $lang['expired'] = 'Utløpt'; $lang['expired_searchable'] = 'Tillat at utløpte artikler vises i søkeresultat'; $lang['expired_viewable'] = 'Tillat at utgåtte artikler vises i detaljmodus'; $lang['expiry'] = 'Utløper'; $lang['expiry_date_asc'] = 'Utløper dato stigende'; $lang['expiry_date_desc'] = 'Utløper dato synkende'; $lang['expiry_interval'] = 'Antall dager (standard) før en artikkel skal utløpe (om utløp er valgt)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fesubmit_redirect'] = 'PageID eller alias som man omdirigeres til etter at en nyhetsartikkel har blitt opprettet via fesubmit handlingen'; $lang['fesubmit_status'] = 'Status for nyhetensartiklene som er innsendt via frontenden'; $lang['fielddef'] = 'Felt Definisjon'; $lang['fielddefadded'] = 'Feltdefinisjon lagt til'; $lang['fielddefdeleted'] = 'Feltdefinisjon slettet'; $lang['fielddefupdated'] = 'Feltet Definisjon Oppdatert'; $lang['file'] = 'Fil'; $lang['filter'] = 'Filtrer'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Epostadresse å motta meldinger om nyhetposteringer'; $lang['formtemplate'] = 'Skjemamaler'; $lang['help'] = '

    Viktige merknader

    Versjon 2.9 av News og høyere har fjernet formatpostdate medlemmet fra malene og har også fjernet dateformat parameteren. Du bør benytte cms_date_format (slik det er vist i standard malene) for å formatere datoer. Og du bør benytte entry->postdate i stedet for entry->formatpostdate i dine maler.
    Tips: For å få korrekt norsk æ og ø på ukedag så kan det hende du også må tilføye |htmlentities bak cms_date_format som dette: {$entry->postdate|cms_date_format:"%A %e. %B %Y"|htmlentities}

    Hva gjør denne modulen?

    News er en modul for visning av nyhetsartikler på din side. Den ligner en blogg, men har flere muligheter!. Når modulen er installert, blir det lagt til en administrasjonsside for Nyheter i administrasjonsmenyen, som vil tillate deg å velge og legge til nyhetskategori. Når en nyhetskategori er opprettet eller valgt, vil det vises en liste med nyhetsartikler for den kategorien. Herfra kan du legge til, redigere eller slette nyheter for kategorien.

    Mange visningsmåter

    Parameterne som er støttet av nyhets modulen, og støtte for mange maler på en gang vil si at dine muligheter for å vise nyhetsartikler er ubegrenset.

    Egendefinerte felter

    Nyhetsmodulen tillater definering av mange egendefinerte felter (inkludert filer og bilder) som vil tillate deg å koble pdf filer eller flere bilder til dine artikler.

    Kategorier

    Nyheter støtter en hierarkisk kategori mekanisme for å organisere dine artikler. En nyhetsartikkel kan kun tilhøre en posisjon i hierarkiet.

    Utløpsdato og Status

    Hver nyhetsartikkel kan ha en utløpsdato(valgfritt) og når denne utløper vil artikkelen ikke vises på din nettside. I tillegg kan artikler også merkes som kladd for å sette dem til å ikke vises på din nettside.

    Sikkerhet

    Brukeren må tilhøre en gruppe med \'Modify News\' tillatelse for å kunne legge til, redigere eller slette nyhetsartikler.

    Og for å slette nyhetsartikler må brukeren tilhøre en gruppe men \'Delete News Articles\' tillatelse.

    For å endre layout malene, må brukeren tilhøre en gruppe med \'Modify Templates\' tillatelse.

    For å redigere globale nyhets preferanser, må brukeren tilhøre en gruppe med \'Modify Site Preferences\' tillatelse.

    Og for å godkjenne nyheter for forsidevisning må brukeren i tillegg tilhøre en gruppe med \'Approve News\' tillatelse.

    Hvordan bruker jeg modulen?

    Den enkleste måten å bruke den er med en {news} omslagstagg (lukker inn modulen i en tagg, for å forenkle syntaksen). Dette vil sette inn modulen i din mal eller side hvor du måtte ønske, og vise nyhetsartikler. Koden vil se ut noe slikt som: {news number=\'5\'}

    Maler

    Fra og med versjon 2.3 støtter News flere database maler, og støtter ikke lenger filmaler. Brukere som brukte det gamle filmal systemet kan følge disse trinnene (for hver filmal):

    • Kopier filmalen til utklippstavla
    • Opprett en ny databasemal (enten sammendrag eller detalj). Gi den nye malen samme navn (inkludert .tpl endelse) som den gamle filmalen, og lim inn innholdet.
    • Trykk Oppdater

    Dersom du følger disse trinnene skulle det løse problemet med at dine nyhetsmaler ikke blir funnet og tilsvarende smarty feil, når du oppgraderer til en versjon av CMS som har News 2.3 eller høyere.

    '; $lang['helpaction'] = 'Overstyrer standard handlingen. Mulige verdier er:
    • "detail" - for å vise en spesifisert articleid i detaljvisningsmodus.
    • "default" - for å vise sammendragsvisningen
    • "fesubmit" - for å vise et forside skjema for å tillate brukere å bidra med nyhetsartikler fra nettsiden. Legg til {cms_init_editor} taggen i metadataseksjonen for å initialisere den valgte wysiwyg-redigereren. (Nettstedsadmin > > Globale innstillinger)
    • "browsecat" - for å vise en søkbar kategoriliste.
    '; $lang['helpbrowsecat'] = 'Viser en søkbar kategoriliste'; $lang['helpbrowsecattemplate'] = 'Benytt en database-mal for å vise kategorisøket. Denne malen må eksistere og må være synlig i Søk-Kategori malfanen i Nyhetsadministrasjonen, men den trenger ikke å være satt som standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['helpcategory'] = 'Benyttet i sammendragsvisning for kun å vise elementer fra den spesifiserte kategorien. Bruk * etter navnet for å vise underelementer. Flere kategorier kan bli brukt dersom disse er separert med komma. Om ingen verdi oppgis vil det resultere i at alle kategorier vises. Denne parameter virker også på frontend submit handlingen, men støtter kun et kategori navn.'; $lang['helpdetailpage'] = 'Side hvor nyhetsdetaljer skal vises. Dette kan enten være et sidealias eller en id. Benyttes for å tillate visning av detaljer i en annen mal enn sammendragsmalen.'; $lang['helpdetailtemplate'] = 'Bruk en separat database mal for visning av artikkel detaljene. Denne malen må eksistere og må være synlig Design Behandleren, men trenger ikke være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes. Denne parameteren benyttes ikke ved generering av url om tilpassede url er spesifisert.'; $lang['helpformtemplate'] = 'Bruk en database mal for å vise artikkel innsending skjemaet. Denne malen må eksistere og må være synlig i Design Behandleren, men den trenger ikke å være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['helpmoretext'] = 'Tekst som skal vises på slutten av nyhetssaken dersom innlegget er lengre enn sammendrags lengden. Standard verdi er "Mer"'; $lang['helpnumber'] = 'Maksimalt antall elementer som skal vises (per side) (ingen verdi vil medføre at alle elementer vises). Denne er synonym for pagelimit parameteren.'; $lang['helpshowall'] = 'Vis alle artikler, uten å ta hensyn til utløpsdato'; $lang['helpshowarchive'] = 'Vis bare utdaterte nyhetsartikler.'; $lang['helpsortasc'] = 'Sorter nyhetselementer i stigende rekkefølge i stedet for synkende.'; $lang['helpsortby'] = 'Felt å sortere etter. Alternativene er \'news_date\', \'summary\', \'news_data\', \'news_category\', \'news_title\', \'news_extra\', \'end_time\', \'start_time\', \'random\'. Standardsetting er \'news_date\'. Om tilfeldig(random) er valgt vil sortasc parameteren bli ignorert.'; $lang['helpstart'] = 'Start med artikkel n-- dersom ingen parameter er gitt vil visningen starte fra første artikkel.'; $lang['helpsummarytemplate'] = 'Bruk en separat mal for å vise artikkelsammendrag. Denne malen må eksistere og må være synlig i Sammendrag malfanen i Nyheter administrasjonen, men den trenger ikke å være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['help_articleid'] = 'Denne parameter er kun gyldig i detaljvisning. Den tillater å spesifisere hvilken nyhetsartikkel som skal vises i detaljmodus. Om den spesielle verdien -1 er benyttet vil systemet vise den nyeste, publiserte, ikke utløpte artikkelen.'; $lang['help_article_title'] = 'Skriv inn artikkel tittelen her. Den bør være kort, og skal ikke inneholde noen html tagger.'; $lang['help_article_category'] = 'For å organisere bedre, så kan du velge en kategori'; $lang['help_article_content'] = 'Skriv inn artikkelens hovedinnhold her'; $lang['help_article_enddate'] = 'Om Bruk utløper er aktivert, vil denne dato spesifisere når artikkelen vil sjules fra visning'; $lang['help_article_extra'] = 'Dette er ekstra data som skal knyttes til nyhetsartikkel. Det kan brukes for sorterings rekkefølge eller for andre designer beregnede oppførsler. Du bør konsultere nettstedsutvikleren om hvordan dette feltet brukes (hvis i det hele tatt)'; $lang['help_article_searchable'] = 'Dette feltet indikerer om denne artikkelen skal indekseres av søkemodulen'; $lang['help_article_postdate'] = 'Postdate (vanligvis dagens dato, for nye artikler) er datoen som vil bli brukt som publiseringsdato for artikkelen. Det er også brukt i sortering'; $lang['help_article_summary'] = 'Skriv et kort avsnitt for å beskrive artikkelen. Dette sammendraget kan benyttes når det skal vises flere artikler'; $lang['help_article_startdate'] = 'Når Bruk utløper er aktivert, angir denne datoen fra hvilken dato artikkelen vil være synlig på nettsiden'; $lang['help_article_status'] = 'Hvis du vil at artikkelen skal være umiddelbart synlig for andre så velg status publisert. Hvis du ønsker å fortsette å arbeide på denne artikkelen en stund, så velger du utkast.'; $lang['help_article_url'] = 'Den valgfrie artikkel url (noen andre plattformer kaller dette en slug) er en unik url suffiks for å få tilgang til denne artikkelen. Brukere kan navigere til / for å se denne artikkelen.'; $lang['help_article_useexpiry'] = 'Denne avkrysningsboksen veksler utløpsdato atferden. Utløpsdato atferd tilsier når en artikkel blir synlig på nettsiden, og når det i ettertid blir usynlig.'; $lang['help_articles_filtercategory'] = 'Alternativt filtrere listen over viste artikler i denne listen etter de som tilhører den valgte kategori'; $lang['help_articles_filterchildcats'] = 'Hvis aktivert, vil artiklene i valgt kategori, og deres underkategorier vises.'; $lang['help_articles_pagelimit'] = 'Velg antall artikler som skal vises på én side. For nettsteder med et stort antall artikler vil å angir en sidegrense mellom 10 og 100 betydelig forbedre ytelsen'; $lang['help_articles_sortby'] = 'Velg hvordan artikler i utagangspunktet skal sorteres.'; $lang['help_category_name'] = 'Skriv inn et navn for denne kategorien. Navnet bør være trygge for bruk i nettadresser, og ingen spesialtegn.'; $lang['help_category_parent'] = 'Eventuelt angi en overordnet kategori for å bygge et hierarki av kategorier.'; $lang['help_fesubmit_redirect'] = 'Side-ID eller alias for å omdirigere til etter en vellykket frontend innsending'; $lang['help_fielddef_maxlen'] = 'For tekstfelt kan du spesifisere den maksimale lengden på brukerens input (i antall tegn)'; $lang['help_fielddef_name'] = 'Hver feltdefinisjon må ha et navn. Selv om det ikke er strengt nødvendig, bør feltnavnet bare inneholde alfanumeriske tegn og understrek. Avstå fra å bruke mellomrom i feltnavnet.'; $lang['help_fielddef_options'] = 'Her kan du angi gyldige alternativer for nedtrekksfelt.'; $lang['help_fielddef_public'] = 'Angi om feltdefinisjon er offentlig eller ikke. Offentlig feltdefinisjoner er synlig i frontend visning, og kan legges inn av fesubmit handlingen. Egendefinerte felt som ikke er offentlig kan bare redigeres i Admin grensesnittet av autoriserte administratorer.'; $lang['help_fielddef_type'] = 'Hvert brukerdefinerte felt kan være av en annen type for ulike formål. Velg en felttype som passer best til formålet av feltet.'; $lang['help_idlist'] = 'Gjelder bare for standardhandlingen (sammendrags visning). Denne parameteren godtar en kommaseparert liste med numeriske artikkel-ID og tillater ytterligere filtrering av artikler til bare de med artikkel-ID spesifisert. Den faktiske listen over artikler vist er fortsatt gjenstand for artikkel status, utløpsdato og andre parametere.'; $lang['help_opt_alert_drafts'] = 'Hvis aktivert, vil du motta meldinger (varsler) som indikerer at en eller flere nyhetsartikler må gjennomgås og publiseres.'; $lang['help_opt_allowed_upload_types'] = 'For egendefinerte felt av typen "fil" Denne innstillingen indikerer en kommaseparert liste over filtyper som er gyldige for artikkelredigereren å laste opp.'; $lang['help_opt_dflt_category'] = 'Dette alternativet kan spesifisere standardkategori for nye nyhetsartikler.'; $lang['help_opt_hide_summary'] = 'Dette alternativet tillater å deaktivere sammendragsfeltet når man legger til og/eller redigerer en nyhetsartikkel inkludert med fesubmit handlingen)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Dette feltet indikerer om en WYSIWYG editor bør være aktivert for sammendragsfeltet når du redigerer en artikkel. I mange tilfeller er sammendragsfeltet et enkelt tekstfelt, men dette er valgfritt.
    Denne innstillingen blir ignorert dersom sammendragsfeltet er deaktivert helt (se ovenfor)'; $lang['help_opt_expiry_interval'] = 'Angi standard antall dager (minimum 1) som artikler utløper når Artikkel utløp er aktivert. Utløpsdatoen kan justeres når du legger til eller redigerer en nyhetsartikkel'; $lang['help_pagelimit'] = 'Maksimalt antall artikler å vise (pr side). Om denne parameter ikke settes vil alle passende artikler vises. Om satt, og det er fler artikler tilgjengelig enn spesifisert i parameteren, vil tekst og lenker vises for å tillate å rulle gjennom resultatene'; $lang['hide_summary_field'] = 'Skjul sammendragsfeltet under opprettelse eller redigering av artikler'; $lang['info_allow_fesubmit'] = 'Dette valget styrer om fesubmit handlingen vil få lov til å fungere i det hele tatt for dette nettstedet. Vær forsiktig når du aktiverer dette.'; $lang['info_categories'] = 'For organisasjons formål kan nyhetsartikler organiseres i hierarkiske kategorier'; $lang['info_detail_returnid'] = 'Denne innstillingen brukes til å fastslå en side (og derfor en mal) å bruke til å vise detaljsider. Individuelle Nyhetsdetalj nettadresser vil ikke fungere hvis denne parameteren ikke er satt til en gyldig side. I tillegg, hvis denne innstillingen er satt, og ingen detaljside-parameter er gitt på nyhetstaggen, så vil denne verdien bli brukt for detaljlenker'; $lang['info_expired_searchable'] = 'Hvis aktivert, kan utløpte artikler fortsette å bli indeksert av søkemodulen, og vises i søkeresultatene'; $lang['info_expired_viewable'] = 'Hvis aktivert, kan utgåtte artikler vises i detalj modus (dette er tilsvarende det fungerte før). Showall parameteren kan brukes på URLen (når du ikke bruker vakre urler) til også å indikere at utgåtte artikler kan sees'; $lang['info_fesubmit_notification'] = 'Du kan eventuelt sende en e-post til en enkelt e-postadresse når en ny artikkel er sendt inn via fesubmit handlingen.'; $lang['info_maxlength'] = 'Maksimum lengde påvirker kun tekst innskrivingsfelter.'; $lang['info_public'] = 'Offentlige felter er tilgjengelige for frontend redigering, eller for visning i sammendrags- eller detaljvisninger.'; $lang['info_reorder_categories'] = 'Dra og slipp hvert element i riktig rekkefølge for å endre kategori relasjoner'; $lang['info_searchable'] = 'Dette feltet indikerer om denne artikkelen skal indekseres av søkemodulen'; $lang['info_sysdefault'] = '(malen som er benyttet som standard når en ny mal velges)'; $lang['info_sysdefault2'] = 'Merk: Denne fanen inneholder tekstområder som tillater deg å redigere de malene som vises når du oppretter et \'nytt\' sammendrag, detalj, eller skjema mal. Å endre innhold i denne fanen og klikke \'utfør\' vil ikke ha effekt på nåværende visninger.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Søk i nyhetsartikler'; $lang['linkedfile'] = 'Lenket fil'; $lang['maxlength'] = 'Maksimal lengde'; $lang['msg_cancelled'] = 'Handling avbrutt'; $lang['msg_categoriesreordered'] = 'Kategorirekkefølge oppdatert'; $lang['msg_contenttype_removed'] = 'Nyhet-innholdtypen har blitt fjernet. Vennligst plasser {news} tagger med passende parametere i din mal eller inne i sideinnholdet for å gjenskape denne funksjonaliteten.'; $lang['msg_success'] = 'Handling fullført'; $lang['more'] = 'Mer'; $lang['moretext'] = 'Mer Tekst'; $lang['name'] = 'Navn'; $lang['nameexists'] = 'Et felt med det navnet eksisterer allerede'; $lang['needpermission'] = 'Du trenger \'%s\' rettighet for å utføre denne handlingen.'; $lang['newcategory'] = 'Ny kategori'; $lang['news'] = 'Nyheter'; $lang['news_return'] = 'Tilbake'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Det er for øyeblikket ikke opprettet noen nyhetsartikler'; $lang['noarticlesinfilter'] = 'Det er ingen nyhetsartikler å vise med dette filteret'; $lang['nocategorygiven'] = 'Ingen kategori satt'; $lang['nocontentgiven'] = 'Innhold mangler'; $lang['noitemsfound'] = 'Ingen artikler funnet i denne kategorien: %s'; $lang['nonamegiven'] = 'Ingen navn oppgitt'; $lang['none'] = 'Ingen'; $lang['nopostdategiven'] = 'Publiseringsdato mangler'; $lang['notanumber'] = 'Maksimum lengde er ikke et tall'; $lang['note'] = 'Merk: Dato må være i et \'yyyy-mm-dd hh:mm:ss\' format.'; $lang['notify_n_draft_items'] = 'Du har %s som ikke er publiserte'; $lang['notify_n_draft_items_sub'] = '%d nyhetsartikler'; $lang['notitlegiven'] = 'Tittel mangler'; $lang['numbertodisplay'] = 'Antall som skal vises (ingen verdi - viser alle)'; $lang['options'] = 'Alternativer'; $lang['optionsupdated'] = 'Valgene ble oppdaterte'; $lang['parent'] = 'Foreldre'; $lang['postdate'] = 'Publiseringsdato'; $lang['postinstall'] = 'Husk å tildele rettigheter for "Modify News" for brukere som skal administrere nyhetsartikler.'; $lang['post_date_asc'] = 'Publiseringsdato stigende'; $lang['post_date_desc'] = 'Publiseringsdato synkende'; $lang['preview'] = 'Forhåndsvisning'; $lang['prevpage'] = '<'; $lang['print'] = 'Skriv ut'; $lang['prompt_alert_drafts'] = 'Varsle om Ikke godkjente artikler'; $lang['prompt_allow_fesubmit'] = 'Tillat nyhetsartikler å blir lagt til via frontend'; $lang['prompt_default'] = 'Standard'; $lang['prompt_go'] = 'Utfør'; $lang['prompt_name'] = 'Navn'; $lang['prompt_newtemplate'] = 'Opprett ny mal'; $lang['prompt_of'] = 'av'; $lang['prompt_page'] = 'Side'; $lang['prompt_pagelimit'] = 'Sidegrense'; $lang['prompt_redirecttocontent'] = 'Gå tilbake til side'; $lang['prompt_sorting'] = 'Sorter etter'; $lang['prompt_template'] = 'Mal kildekode'; $lang['prompt_templatename'] = 'Malnavn'; $lang['public'] = 'Offentlig'; $lang['published'] = 'Publisert'; $lang['reassign_category'] = 'Endre Kategori til'; $lang['removed'] = 'Fjernet'; $lang['reorder'] = 'Omsorter'; $lang['reorder_categories'] = 'Omsorter Kategorier'; $lang['reset'] = 'Nullstill'; $lang['resettodefault'] = 'Sett tilbake til Standard fabrikkinnstilling'; $lang['restoretodefaultsmsg'] = 'Denne kommandoen vil tilbakestille mal-innholdet til deres system standard. Ønsker du virkelig å fortsette?'; $lang['revert'] = 'Sett status til \'kladd\''; $lang['searchable'] = 'Søkbar'; $lang['select'] = 'Velg'; $lang['select_option'] = 'Velg alternativ'; $lang['selectall'] = 'Velg alle'; $lang['selectcategory'] = 'Velg kategori'; $lang['showchildcategories'] = 'Vis underkategorier'; $lang['sortascending'] = 'Sorter stigende'; $lang['startdate'] = 'Startdato'; $lang['startdatetoolate'] = 'Startdato er for sen (etter sluttdato?)'; $lang['startoffset'] = 'Start visning på nde artikkel'; $lang['startrequiresend'] = 'Dersom du har en startdato må du også ha en sluttdato'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status Stigende'; $lang['status_desc'] = 'Status synkende'; $lang['subject_newnews'] = 'En nyhetsartikkel har blitt postet'; $lang['submit'] = 'Oppdater'; $lang['summary'] = 'Sammendrag'; $lang['summarytemplate'] = 'Sammendragsmal'; $lang['summarytemplateupdated'] = 'Nyhet sammendragsmalen ble oppdatert.'; $lang['sysdefaults'] = 'Tilbakestill til standard'; $lang['template'] = 'Mal'; $lang['textarea'] = 'Tekstområde'; $lang['textbox'] = 'Tekst innskriving'; $lang['title'] = 'Tittel'; $lang['title_asc'] = 'Tittel stigende'; $lang['title_available_templates'] = 'Tilgjengelige maler'; $lang['title_browsecat_sysdefault'] = 'Standard Søk-Kategorimal'; $lang['title_browsecat_template'] = 'Søk-Kategorimal redigerer'; $lang['title_desc'] = 'Tittel synkende'; $lang['title_detail_returnid'] = 'Standardside å benytte for detaljvisninger'; $lang['title_detail_settings'] = 'Detaljvisnings innstillinger'; $lang['title_detail_sysdefault'] = 'Standard Detaljmal'; $lang['title_detail_template'] = 'Detaljmal redigerer'; $lang['title_draft_entries'] = 'Ikke godkjente nyhetsartikler'; $lang['title_fesubmit_form'] = 'Send inn nyhetsartikkel'; $lang['title_fesubmit_settings'] = 'Frontend-innsendings innstillinger'; $lang['title_filter'] = 'Filtre'; $lang['title_form_sysdefault'] = 'Standard Skjemamal'; $lang['title_form_template'] = 'Skjema Mal Redigerer'; $lang['title_news_settings'] = 'Innstillinger - Nyhetsmodul'; $lang['title_notification_settings'] = 'Varslingsinnstillinger'; $lang['title_submission_settings'] = 'Nyhetsinnleverings innstillinger'; $lang['title_summary_sysdefault'] = 'Standard Sammendragsmal'; $lang['title_summary_template'] = 'Sammendragmal redigerer'; $lang['toggle_bulk'] = 'Velg denne artikkelen for massehandling'; $lang['type'] = 'Type'; $lang['type_browsecat'] = 'Se igjennom kategori'; $lang['type_form'] = 'Forntend skjema'; $lang['type_detail'] = 'Detaljer'; $lang['type_News'] = 'Nyhet'; $lang['type_summary'] = 'Sammendrag'; $lang['unknown'] = 'Ukjent'; $lang['unlimited'] = 'Ubegrenset'; $lang['up'] = 'Opp'; $lang['uploadscategory'] = 'Opplastings Kategori'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Bruk utløpsdato'; $lang['viewfilter'] = 'Vis filter'; $lang['warning_preview'] = 'Advarsel: Denne forhåndsvisnings panelet oppfører seg omtrent som et nettleservindu der du kan navigere bort fra den opprinnelig forhåndsvises siden. Men hvis du gjør det, kan det hende du opplever uventet oppførsel. Navigere bort fra den første siden og tilbake vil ikke gi de forventede resultatene
    Merknad: Forhåndsvisningen vil ikke laste opp filer du kanskje har valgt for opplasting.'; $lang['with_selected'] = 'Med valgte'; ?>(kan zijn dat deze al in gebruik is, of dat er verkeerde tekens in staan)'; $lang['error_mkdir'] = 'Kan map %s niet aanmaken'; $lang['error_movefile'] = 'Kan bestand %s niet aanmaken'; $lang['error_noarticlesselected'] = 'Er zijn geen berichten geselecteerd'; $lang['error_nooptions'] = 'Geen opties gespecificeerd voor dit veld'; $lang['error_templatenamexists'] = 'Een sjabloon met deze naam bestaat al'; $lang['error_upload'] = 'Probleem opgetreden tijdens uploaden bestand'; $lang['eventdesc-NewsArticleAdded'] = 'Een tag die wordt aangeroepen als een bericht is toegevoegd.'; $lang['eventhelp-NewsArticleAdded'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    • \\"category_id\\" - Id van de categorie van dit bericht
    • \\"title\\" - Titel van het bericht
    • \\"content\\" - Inhoud van het bericht
    • \\"summary\\" - Samenvatting van het bericht
    • \\"status\\" - Status van het bericht ("draft" of "publish" d.w.z. concept of publiceren)
    • \\"start_time\\" - Datum vanaf dat het bericht zichtbaar moet zijn
    • \\"end_time\\" - Datum totdat het bericht zichtbaar moet zijn
    • \\"useexp\\" - Of de verloopdatum genegeerd moet worden of niet
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Een tag die wordt aangeroepen als een bericht is verwijderd.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    '; $lang['eventdesc-NewsArticleEdited'] = 'Een tag die wordt aangeroepen als een bericht is bewerkt.'; $lang['eventhelp-NewsArticleEdited'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    • \\"category_id\\" - Id van de categorie van dit bericht
    • \\"title\\" - Titel van het bericht
    • \\"content\\" - Inhoud van het bericht
    • \\"summary\\" - Samenvatting van het bericht
    • \\"status\\" - Status van het bericht ("draft" of "publish")
    • \\"start_time\\" - Datum vanaf dat het bericht zichtbaar moet zijn
    • \\"end_time\\" - Datum totdat het bericht zichtbaar moet zijn
    • \\"useexp\\" - Of de verloopdatum genegeerd moet worden of niet

    Note: Not all parameters may be present when this event is sent.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Een tag die wordt aangeroepen als een categorie is toegevoegd.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Parameters

    • \\"category_id\\" - Id van de nieuwscategorie
    • \\"name\\" - Naam van de nieuwscategorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Een tag die wordt aangeroepen als een categorie is verwijderd.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Parameters

    • \\"category_id\\" - Id van het bericht
    • \\"name\\" - Naam van de verwijderde categorie
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Een tag die wordt aangeroepen als een categorie is bewerkt.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parameters

    • \\"category_id\\" - Id van de nieuwscategorie
    • \\"name\\" - Naam van de nieuwscategorie
    • \\"origname\\" - De originele naam van de nieuwscategorie
    '; $lang['expired'] = 'Verlopen'; $lang['expired_searchable'] = 'Verlopen artikelen kunnen verschijnen in de zoekresultaten'; $lang['expired_viewable'] = 'Verlopen artikelen kunnen worden bekeken in de Detail modus'; $lang['expiry'] = 'Vervaldatum'; $lang['expiry_date_asc'] = 'Verloopdatum oplopend'; $lang['expiry_date_desc'] = 'Verloopdatum aflopend'; $lang['expiry_interval'] = 'Het aantal dagen (volgens standaard) voordat een bericht verloopt (als expiry geselecteerd is)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'PageID of alias om naartoe te gaan, nadat een bericht is geplaatst via de fesubmit-actie'; $lang['fesubmit_status'] = 'De status van nieuwsberichten ingediend via de frontend'; $lang['fielddef'] = 'Velddefinitie'; $lang['fielddefadded'] = 'Velddefinitie toegevoegd'; $lang['fielddefdeleted'] = 'Velddefinitie verwijderd'; $lang['fielddefupdated'] = 'Velddefinitie bijgewerkt'; $lang['file'] = 'Bestand'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'E-mailadres om de bevestiging van ingezonden nieuws op te ontvangen'; $lang['formtemplate'] = 'Formuliersjablonen'; $lang['help'] = '

    Belangrijke opmerkingen

    In de versie 2.9 en hoger van de nieuws-module is de formatpostdate functie uit het sjabloon verwijderd, daarnaast wordt ook dateformat parameter niet meer gebruikt. U zal gebruik moeten maken van de cms_date_format functie (zoals nu wordt gebruikt in de standaard sjablonen) om de datumnotificaties te wijzigen, en plaats de entry->postdate in plaats van de entry->formatpostdate in uw sjabloon.

    Deze versie van News is nieuwer dan degene die met versie 1.1 van CMSMS werd meegeleverd. Als u deze versie van News gebruikt moet u zeer voorzichtig zijn met het upgraden van CMSMS om te voorkomen dat gegevens in de modules/News map worden overschreven.

    Wat doet het?

    News is een module om nieuws te tonen op uw pagina, vergelijkbaar met een blog, maar met meer mogelijkheden! Als de module geïnstalleerd is, wordt een News-beheerscherm aan het beheerpaneel toegevoegd waarmee u nieuwscategorieën kunt selecteren en aanmaken. Als een nieuwscategorie aangemaakt of geselecteerd is, worden een lijst met nieuwsberichten voor die categorie getoond. Vanuit deze lijst kunnen berichten worden gecreeerd, bewerkt of verwijderd.

    Sjabloonvariabelen

    • itemcount - Het aantal nieuwsberichten om te tonen.
    • entry->authorname - De volledige naam van de auteur, inclusief de voor- en achternaam.

    Beveiliging

    De gebruiker moet lid zijn van een groep met groepsrecht \'Modify News\' om berichten te mogen aanmaken, bewerken of verwijderen.

    Om een opmaaksjabloon te mogen bewerken moet de gebruiker lid zijn van een groep met \'Modify Templates\' rechten.

    Algemene News-voorkeuren kunnen alleen door gebruikers veranderd worden die onderdeel zijn van een groep met \'Modify Site Preferences\' rechten.

    Hoe gebruik ik het?

    De eenvoudigste manier om deze module te gebruiken is de {news} tag in uw sjabloon of pagina op te nemen op die plek waar de nieuwsberichten getoond moeten worden. De code zal er dan ongeveer als volgt uitzien: {news number=\'5\'}

    Sjablonen

    Vanaf versie 2.3 ondersteunt News meerdere database-sjablonen en is de ondersteuning van extra bestandssjablonen gestaakt. Gebruikers die de oude bestandssjablonen gebruikten, moeten voor ieder sjabloon de volgende stappen doorlopen:

    • Kopieer de bestandssjabloon naar het clipboard
    • Maak een nieuw database-sjabloon aan (een samenvattings- of berichtensjabloon). Geef het nieuwe sjabloon dezelfde naam (inclusief de .tpl extensie) als de oude bestandssjabloon en plak de inhoud van het clipboard erin.
    • Klik Versturen
    Het uitvoeren van bovenstaande stappen moet het probleem oplossen van verdwenen nieuwssjablonen en vergelijkbare smarty-fouten als u upgrade naar een versie van CMSMS die de News-module versie 2.3 of nieuwer heeft.

    '; $lang['helpaction'] = 'Negeer de standaardtaak. Mogelijke waarden zijn:
    • "detail" - toon van een specifiek artikel ID de detail weergave.
    • "default" - toon de samenvattingsweergave
    • "fesubmit" - toon het frontend formulier om (ingelogde) gebruikers de mogelijkheid te geven om nieuwsberichten aan te leveren. Voeg de {cms_init_editor} tag toe aan de metadata sectie om de geselecteerde WYSIWYG editor toe te passen. (Websitebeheer >> Algemene Instellingen)
    • "browsecat" - toon een overzichtslijst van categoriën.
    '; $lang['helpbrowsecat'] = 'Toon een doorbladerbare categorielijst.'; $lang['helpbrowsecattemplate'] = 'Gebruik een database-sjabloon om de categorie-browser te tonen. Dit sjabloon moet bestaan en zichtbaar zijn in het formuliersjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpcategory'] = 'Toon alleen items van die categorie. Gebruik * achter de naam om onderliggende items te tonen. Meerdere categorieën scheiden met een komma. Geen waarde laat alle categorieën zien. Deze parameter kan ook gebruikt worden bij een frontend actie, maar dan kan alleen één categorie naam worden gebruikt.'; $lang['helpdetailpage'] = 'Pagina om het nieuwsbericht in te tonen. Dit kan een paginaalias of -id zijn. Gebruikt om het volledige artikel in een ander sjabloon te tonen dan de samenvatting.'; $lang['helpdetailtemplate'] = 'Gebruik een ander database-sjabloon voor het tonen van het volledige bericht. Dit sjabloon moet bestaan en zichtbaar zijn in het artikelsjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpformtemplate'] = 'Gebruik een database-sjabloon om het artikelinzendingsformulier te tonen. Dit sjabloon moet bestaan en zichtbaar zijn in het formuliersjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpmoretext'] = 'Tekst die wordt getoond aan het eind van een nieuwsbericht als de samenvatting te lang is. Standaard "Meer"'; $lang['helpnumber'] = 'Maximum aantal te tonen items -- door dit leeg te laten worden alle items getoond. Het is een synoniem voor de pagina limiet parameter.'; $lang['helpshowall'] = 'Geef alle artikelen weer, ongeacht de einddatum'; $lang['helpshowarchive'] = 'Toon alleen verlopen artikelen.'; $lang['helpsortasc'] = 'Sorteer nieuwsberichten in oplopende volgorde in plaats van aflopend.'; $lang['helpsortby'] = 'Veld om op te sorteren. Mogelijkheden zijn: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Standaard is het "news_date". Als "random" is opgegeven, wordt de sortasc-parameter genegeerd.'; $lang['helpstart'] = 'Begin bij het zoveelste... item -- geen waarde ingevoerd start dan bij het eerste item.'; $lang['helpsummarytemplate'] = 'Gebruik een ander sjabloon voor het tonen van het samengevatte bericht. Dit sjabloon moet bestaan en zichtbaar zijn in het samenvattingssjabloon-tabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['help_articleid'] = 'Deze parameter is alleen van toepassing op het detail overzicht. Het specificeert welk nieuws artikel wordt getoond in het detail overzicht. Als de speciale waarde \'-1\' wordt gebruikt dan zal de module het nieuwste, gepubliceerde en niet verlopen artikel tonen'; $lang['help_article_title'] = 'Voer de titel van het bericht in. Het zou kort moeten zijn en mag geen html tags bevatten.'; $lang['help_article_category'] = 'U kunt een categorie selecteren voor organisatie-doeleinden'; $lang['help_article_content'] = 'Voer hier de hoofd-inhoud van het bericht in'; $lang['help_article_enddate'] = 'Als vervaldatum wordt gebruikt, geeft deze datum aan wanneer het bericht niet getoond wordt'; $lang['help_article_extra'] = 'Dit is extra data om te koppelen met het nieuwsbericht. Het zou gebruikt kunnen worden voor bijvoorbeeld sorteervolgorde of andere doeleinden. U zou uw websiteontwikkelaar moeten raadplegen hoe dit veld te gebruiken (indien uberhaupt van toepassing)'; $lang['help_article_searchable'] = 'Dit veld geeft aan of dit bericht geindexeerd zou moeten worden door de zoek-module'; $lang['help_article_postdate'] = 'De plaatsingsdatum (voor nieuwe berichten normaal gesproken de huidige datum) is de datum die wordt gebruikt als de datum waarop het bericht is gepubliceerd. Het wordt ook gebruikt bij het sorteren.'; $lang['help_article_summary'] = 'Voer een korte paragraaf in op dit bericht te beschrijven. Deze samenvatting kan gebruikt worden wanneer er een overzicht van berichten wordt getoond'; $lang['help_article_startdate'] = 'Als vervaldatum wordt gebruikt, geeft deze datum aan vanaf wanneer het bericht getoond wordt op de website'; $lang['help_article_status'] = 'Als u wilt dat het bericht direct zichtbaar is op de website kies dan de status: Gepubliceerd. Als u liever nog wilt werken aan het bericht kies dan voor: Concept'; $lang['help_article_url'] = 'De optionele url (sommige andere systemen noemen dit een slug) is een unieke url-toevoeging waarmee dit bericht kan worden benaderd. Gebruikers kunnen navigeren naar / om dit bericht te zien.'; $lang['help_article_useexpiry'] = 'Deze checkbox bepaalt of er een vervaldatum wordt gebruikt. Het gebruik van een vervaldatum geeft aan wanneer een bericht zichtbaar wordt op de website en wanneer het vervolgens weer wordt verborgen.'; $lang['help_articles_filtercategory'] = 'Optioneel kun je de lijst van getoonde berichten filteren op basis van de geselecteerde categorie'; $lang['help_articles_filterchildcats'] = 'Indien aangevinkt zullen berichten met de geselecteerde categorie EN onderliggende categorieen worden getoond.'; $lang['help_articles_pagelimit'] = 'Selecteer het aantal berichten dat getoond moet worden op een pagina. Voor websites met een groot aantal berichten zal een selectie tussen 10 en 100 de prestaties aanzienlijk verbeteren'; $lang['help_articles_sortby'] = 'Kies hoe berichten initieel moeten worden gesorteerd'; $lang['help_category_name'] = 'Voer een naam in voor deze categorie. De naam moet geschikt zijn voor gebruik in urls en geen speciale tekens bevatten.'; $lang['help_category_parent'] = 'Optioneel specifieer een ouder-categorie zodat een hierarchie kan worden opgebouwd.'; $lang['help_fesubmit_redirect'] = 'Pagina ID of alias om naar te verwijzen na een succesvolle frontend-plaatsing'; $lang['help_fielddef_maxlen'] = 'Voor tekstvelden kunt u een maximale gebruikersinvoer (aantal karakters) opgeven'; $lang['help_fielddef_name'] = 'Ieder velddefinitie moet een naam hebben. Hoewel niet strikt noodzakelijk, veldnamen zouden enkel alfanumerieke karakters en underscores moeten bevatten. Gebruik geen spaties in de veldnaam.'; $lang['help_fielddef_options'] = 'Hier kunt u de geldige opties voor een dropdown veld opgeven.'; $lang['help_fielddef_public'] = 'Geef aan of de velddefinitie publiek is of niet. Publieke velddefinities zijn beschikbaar in de diverse nieuws-sjablonen en kunnen worden ingevoerd met de fesubmit actie. Velddefinities die niet publiek zijn kunnen enkel in de beheerdersinterface door geautoriseerde beheerders worden aangepast.'; $lang['help_fielddef_type'] = 'Velddefinitie moeten een bepaald type hebben. Kies het type veld dat het beste past bij de toepassing van dit veld.'; $lang['help_idlist'] = 'Alleen van toepassing voor de standaard actie (samenvattingsweergave). Deze parameter accepteert een comma-gescheiden lijst van numerieke bericht-IDs en biedt zo de mogelijkheid dat er verder gefilterd kan worden op enkel de opgeven IDs. Het uiteindelijke resultaat is wel nog afhankelijk van bericht-status, vervaldatum en andere parameters.'; $lang['help_opt_allowed_upload_types'] = 'Voor velddefinities van het type "bestand". Deze instelling bevat een comma-gescheiden lijst van bestandsextensies die toegestaan zijn om te uploaden.'; $lang['help_opt_dflt_category'] = 'Deze optie geeft aan welke categorie standaard wordt toegekend aan nieuwe berichten.'; $lang['help_opt_hide_summary'] = 'Deze optie biedt de mogelijkheid om het samenvattings-veld uit te schakelen wanneer een nieuwsbericht wordt toegevoegd of gewijzigd. (inclusief de fesubmit actie)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Dit veld geeft aan of een WYSIWYG editor gebruikt moeten worden voor het samenvattingsveld bij het aanpassen van een bericht. In de meeste gevallen is het samenvattingsveld een eenvoudig tekstveld, maar dat is optioneel.
    Deze instelling wordt genegeerd als het samenvattingsveld is uitgeschakeld (zie andere instelling)'; $lang['help_opt_expiry_interval'] = 'Geef een standaard aantal dagen op (minimaal 1) waarin een nieuw bericht zal vervallen (expireren). De vervaldatum kan worden aangepast bij het aanmaken of bewerken van een nieuwsbericht.'; $lang['help_pagelimit'] = 'Maximum aantal te tonen items (per pagina). Als deze parameter niet is opgegeven, zullen alle resulterende items worden getoond. Als er een maximum is opgegeven, zal er bij meer resultaten dan opgegeven een tekst en link verschijnen om door de resultaten te kunnen scrollen.'; $lang['hide_summary_field'] = 'Verberg het samenvattingsveld tijdens toevoegen of bewerken van berichten'; $lang['info_allow_fesubmit'] = 'Deze optie geeft aan of de fesubmit actie kan worden gebruikt op deze website. Voorzichtigheid geboden bij het toestaan van deze functionaliteit.'; $lang['info_categories'] = 'Voor organisatie-doeleinden kunnen nieuwsberichten worden ingedeeld in hierarchische categorieen'; $lang['info_detail_returnid'] = 'Deze instelling wordt gebruikt om een pagina (en dus een sjabloon) te bepalen om te gebruiken om het detail artikel te tonen. Geïndividualiseerde Nieuws Detail URL\'s zullen niet werken als deze parameter niet is ingesteld op een geldige pagina.
    Bovendien, als deze voorkeur is ingesteld en de News tag is niet voorzien van de detailpage parameter, dan zal deze waarde worden gebruikt voor de detail links'; $lang['info_expired_searchable'] = 'Indien ingeschakeld kunnen verlopen berichten nog steeds worden geindexeerd door de zoek-module en getoond worden in de zoekresultaten'; $lang['info_expired_viewable'] = 'Indien geactiveerd kunnen verlopen artikelen worden bekeken in de Detail modus (dit reproduceert oudere functionaliteit). De showall parameter kan worden gebruikt op de URL (wanneer geen \'pretty urls\' worden gebruikt) om ook aan te geven dat verlopen artikelen kunnen worden bekeken'; $lang['info_fesubmit_notification'] = 'U kunt optioneel een email versturen naar een enkel emailadres wanneer een nieuwsbericht via de fesubmit actie wordt ingediend.'; $lang['info_maxlength'] = 'De maximum lengte betreft alleen tekstinvoervelden'; $lang['info_public'] = 'Alleen Publieke velden zijn beschikbaar in de frontend van de website, zowel in de samenvatting- als in de detailsjablonen.'; $lang['info_reorder_categories'] = 'Sleep items in de gewenste volgorde om de relaties tussen categorieen te wijzigen'; $lang['info_searchable'] = 'Dit veld geeft aan of dit bericht geindexeerd moet worden door de zoekmodule'; $lang['info_sysdefault'] = '(de inhoud die standaard wordt gebruikt bij het aanmaken van een nieuw sjabloon)'; $lang['info_sysdefault2'] = 'Opmerking: Dit tabblad bevat tekstgebieden om een groep sjablonen te bewerken die getoond worden als u een nieuwssamenvatting, -overzicht of formulier-sjabloon aanmaakt. Veranderen van inhoud in dit tabblad en versturen daarvan heeft geen effect op de bestaande weergaven.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Zoek Nieuws Artikelen'; $lang['linkedfile'] = 'Gekoppeld bestand'; $lang['maxlength'] = 'Maximum lengte'; $lang['msg_cancelled'] = 'Bewerking geannuleerd'; $lang['msg_categoriesreordered'] = 'Categorie volgorde aangepast'; $lang['msg_contenttype_removed'] = 'Het nieuwsinhoudtype is verwijderd. Plaats de {news} tags met de geschikte parameters in uw sjabloon of in uw pagina om deze functionaliteit te vervangen.'; $lang['msg_success'] = 'Bewerking geslaagd'; $lang['more'] = 'Meer'; $lang['moretext'] = 'Meer tekst'; $lang['name'] = 'Naam'; $lang['nameexists'] = 'Een veld met die naam bestaat al'; $lang['needpermission'] = 'U heeft \'%s\' rechten nodig om deze functie te gebruiken.'; $lang['newcategory'] = 'Nieuwe categorie'; $lang['news'] = 'Nieuws'; $lang['news_return'] = 'Terug'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Er zijn op dit moment geen artikelen beschikbaar'; $lang['noarticlesinfilter'] = 'Er zijn geen artikelen beschikbaar met dit filter'; $lang['nocategorygiven'] = 'Geen categorie ingevuld'; $lang['nocontentgiven'] = 'Geen inhoud ingevuld'; $lang['noitemsfound'] = 'Geen items gevonden voor de categorie: %s'; $lang['nonamegiven'] = 'Geen naam ingevuld'; $lang['none'] = 'Geen'; $lang['nopostdategiven'] = 'Geen plaatsingsdatum ingevuld'; $lang['notanumber'] = 'Maximum lengte is geen getal'; $lang['note'] = 'Opgelet: Data in het volgende formaat opgeven \'yyyy-mm-dd hh:mm:ss\' .'; $lang['notify_n_draft_items'] = 'U heeft %s nieuwsbericht(en) die niet is/zijn gepubliceerd.'; $lang['notify_n_draft_items_sub'] = '%d Nieuwsbericht(en)'; $lang['notitlegiven'] = 'Geen titel ingevuld'; $lang['numbertodisplay'] = 'Aantal weer te geven (leeg is alles weergeven)'; $lang['options'] = 'Opties'; $lang['optionsupdated'] = 'De opties zijn bijgewerkt.'; $lang['parent'] = 'Ouder'; $lang['postdate'] = 'Plaatsingsdatum'; $lang['postinstall'] = 'Zorg ervoor dat gebruikers die nieuwsberichten beheren "Modify News" rechten krijgen.'; $lang['post_date_asc'] = 'Bijdragedatum oplopend'; $lang['post_date_desc'] = 'Bijdragedatum aflopend'; $lang['preview'] = 'Voorbeeld'; $lang['prevpage'] = '<'; $lang['print'] = 'Afdrukken'; $lang['prompt_allow_fesubmit'] = 'Sta toe dat nieuwsberichten via de frondend kunnen worden ingediend'; $lang['prompt_default'] = 'Standaard'; $lang['prompt_go'] = 'Gaan'; $lang['prompt_name'] = 'Naam'; $lang['prompt_newtemplate'] = 'Maak een nieuw sjabloon aan'; $lang['prompt_of'] = 'van'; $lang['prompt_page'] = 'Pagina'; $lang['prompt_pagelimit'] = 'Paginalimiet'; $lang['prompt_redirecttocontent'] = 'Terug naar pagina'; $lang['prompt_sorting'] = 'Sorteren op'; $lang['prompt_template'] = 'Sjabloonbron'; $lang['prompt_templatename'] = 'Sjabloonnaam'; $lang['public'] = 'Publiek (openbaar)'; $lang['published'] = 'Gepubliceerd'; $lang['reassign_category'] = 'Verander categorie in'; $lang['removed'] = 'Verwijderd'; $lang['reorder'] = 'Hersorteer'; $lang['reorder_categories'] = 'Hersorteer Categorieen'; $lang['reset'] = 'Herstel'; $lang['resettodefault'] = 'Herstel naar standaard waarden'; $lang['restoretodefaultsmsg'] = 'Deze actie herstelt de inhoud van het sjabloon naar de standaardwaarde. Weet u zeker dat u door wilt gaan?'; $lang['revert'] = 'Zet status op \'Concept\''; $lang['searchable'] = 'Doorzoekbaar'; $lang['select'] = 'Selecteer'; $lang['select_option'] = 'Selecteer Optie'; $lang['selectall'] = 'Alles Selecteren'; $lang['selectcategory'] = 'Selecteer een categorie'; $lang['showchildcategories'] = 'Toon onderliggende categorieën'; $lang['sortascending'] = 'Sorteer oplopend'; $lang['startdate'] = 'Begindatum'; $lang['startdatetoolate'] = 'De begindatum is te laat (later dan de einddatum?)'; $lang['startoffset'] = 'Begin tonen bij het n-de item'; $lang['startrequiresend'] = 'Het toevoegen van een begindatum vereist ook een einddatum'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status Aflopend'; $lang['status_desc'] = 'Status Oplopend'; $lang['subject_newnews'] = 'Er is een nieuw artikel geplaatst'; $lang['submit'] = 'Versturen'; $lang['summary'] = 'Samenvatting'; $lang['summarytemplate'] = 'Samenvattingssjabloon'; $lang['summarytemplateupdated'] = 'Het nieuwssamenvattingssjabloon is bijgewerkt.'; $lang['sysdefaults'] = 'Terug naar standaardwaarde'; $lang['template'] = 'Sjabloon'; $lang['textarea'] = 'Tekstvak'; $lang['textbox'] = 'Tekstinvoer'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'Titel oplopend'; $lang['title_available_templates'] = 'Beschikbare Sjablonen'; $lang['title_browsecat_sysdefault'] = 'Standaard browse-categoriesjabloon'; $lang['title_browsecat_template'] = 'Browsen categoriesjabloon-editor'; $lang['title_desc'] = 'Titel aflopend'; $lang['title_detail_returnid'] = 'Standaard pagina voor detail vertoningen'; $lang['title_detail_settings'] = 'Detail vertoning Instellingen'; $lang['title_detail_sysdefault'] = 'Standaard artikelsjabloon'; $lang['title_detail_template'] = 'Artikelsjabloon-editor'; $lang['title_fesubmit_form'] = 'Dien nieuwsbericht in'; $lang['title_fesubmit_settings'] = 'Frontend Aanmelding Instellingen'; $lang['title_filter'] = 'Filters'; $lang['title_form_sysdefault'] = 'Standaard formuliersjabloon'; $lang['title_form_template'] = 'Formuliersjabloon-editor'; $lang['title_news_settings'] = 'Instellingen - Nieuws module'; $lang['title_notification_settings'] = 'Berichtgeving Instellingen'; $lang['title_submission_settings'] = 'Nieuws Aanmelding Instellingen'; $lang['title_summary_sysdefault'] = 'Standaard samenvattingssjabloon'; $lang['title_summary_template'] = 'Samenvattingssjabloon-editor'; $lang['toggle_bulk'] = 'Selecteer dit bericht voor een bulk bewerking'; $lang['type'] = 'Type'; $lang['type_browsecat'] = 'Doorzoek Categorie'; $lang['type_form'] = 'Frontend Formulier'; $lang['type_detail'] = 'Detail'; $lang['type_News'] = 'Nieuws'; $lang['type_summary'] = 'Samenvatting'; $lang['unknown'] = 'Onbekend'; $lang['unlimited'] = 'Onbeperkt'; $lang['up'] = 'Op'; $lang['uploadscategory'] = 'Uploads-categorie'; $lang['url'] = 'Url'; $lang['useexpiration'] = 'Gebruik vervaldatum'; $lang['viewfilter'] = 'Toon filter'; $lang['warning_preview'] = 'Waarschuwing: Dit voorbeeld panel gedraagt ​​zich als een browser-venster waarmee u kunt navigeren van de aanvankelijk bekeken pagina. Echter, als je dat doet, kan er onverwacht gedrag optreden. Navigeren vanaf de huidige pagina en terugkeren zal mogelijk niet het verwachte resultaat geven.
    Opmerking: De preview upload geen bestanden die u hebt geselecteerd voor uploaden.'; $lang['with_selected'] = 'Met geselecteerden'; ?>(może być w użyciu, albo zawiera niepoprawne znaki)'; $lang['error_mkdir']='Nie mogę utworzyć katalogu: %s'; $lang['error_movefile']='Nie mogę utworzyć pliku: %s'; $lang['error_noarticlesselected']='Żaden artykuł nie został zaznaczony'; $lang['error_templatenamexists']='Szablon o tej nazwie już istnieje'; $lang['error_upload']='Problem wystąpił przy wgrywaniu pliku'; $lang['eventdesc-NewsArticleAdded']='Wyślij, gdy dodano artykuł.'; $lang['eventdesc-NewsArticleDeleted']='Wyślij, gdy usunięto artykuł.'; $lang['eventdesc-NewsArticleEdited']='Wyślij, gdy zmieniono artykuł.'; $lang['eventdesc-NewsCategoryAdded']='Wyślij, gdy dodano kategorię.'; $lang['eventdesc-NewsCategoryDeleted']='Wyślij, gdy usunięto kategorię.'; $lang['eventdesc-NewsCategoryEdited']='Wyślij, gdy zmieniono kategorię.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Wygasło'; $lang['expired_searchable']='Wygasłe artykuły mogą pojawiać się w wynikach wyszukiwania'; $lang['expiry']='Wygasa'; $lang['expiry_date_asc']='Data wygaśnięcia rosnąco'; $lang['expiry_date_desc']='Data wygaśnięcia malejąco'; $lang['expiry_interval']='Domyślna ilość dni po jakiej artykuł wygaśnie (o ile zaznaczono wygasanie)'; $lang['extra']='Ekstra'; $lang['extra_label']='Ekstra:'; $lang['fesubmit_redirect']='ID strony lub alias do przekierowania po tym, jak artykuł został wysłany przez akcję fesubmit'; $lang['fesubmit_status']='Status artykułów przesłanych przez stronę (front-end)'; $lang['fielddef']='Definicja pola'; $lang['fielddefadded']='Definicja pola dodana'; $lang['fielddefdeleted']='Skasuj definicję pola'; $lang['fielddefupdated']='Definicja pola została zaktualizowana'; $lang['file']='Plik'; $lang['filter']='Filtr'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adres email używany do wysłania wiadomości z informacją o nowym newsie'; $lang['formtemplate']='Szablony formularza'; $lang['help']='

    Do czego to służy?

    News jest modułem do wyświetlania aktualności na Twojej stronie. Podobnie jak blog, tylko że posiada więcej funkcji. Jeśli moduł News jest zainstalowany, strona administracji News jest dodana do menu administracyjnego i pozwala Ci wybrać lub dodać kategorię aktualności. Jeśli kategoria aktualności zostanie stworzona lub wybrana, zostanie wyświetlona lista aktualności dla danej kategorii. W tym miejscu możesz dodawać, edytować i usuwać aktualności z wybranej kategorii.

    Bezpieczeństwo

    Użytkownik musi należeć do grupy z uprawnieniami do modyfikacji aktualności aby dodawać, edytować lub usuwać wpisy aktualności.

    Jak się tego używa?

    Najprostszą drogą jest użycie w połączeniu ze znacznikiem cms_module. To pozwala na wstawienie modułu w szablon lub lub stronę tam gdzie chcesz i wyświetla elementy news. Kod powinien wyglądać mniej więcej tak: {news number="5" category="beer"}

    Jakie przyjmuje parametry?

    • (opcjonalny) number=\"5\" - Maksymalna ilość elementów do wyświetlenia - pozostawienie pustego parametru wyświetla wszystkie
    • (opcjonalny) makerssbutton=\"true\" - Stworzenie przycisku do kanału RSS elementów news.
    • (opcjonalny) category=\"category\" - Wyświetla tylko elementy dla wybranej kategorii i podrzędnych. Pozostawienie pustego wyświetli wszystkie kategorie.
    • (opcjonalny) moretext=\"more...\" - Tekst do wyświetlenia na końcu elementu news, jeśli jego długość wykroczy ponad długość podsumowania. Domyślnie \"more...\".
    • (opcjonalny} summarytemplate=\"sometemplate.tpl\" - Użycie oddzielnego szablonu do wyświetlania podsumowania artykułu. Szablon zostanie umieszczony w katalogu modules/News/templates.
    • (opcjonalny} detailtemplate=\"sometemplate.tpl\" - Użycie oddzielnego szablonu do wyświetlania szczegółów artykułu. Szablon zostanie umieszczony w katalogu modules/News/templates.
    • (opcjonalny) sortby=\"news_date\" - Pole po którym nastąpi sortowanie. Możliwe opcje to: \"news_date\", \"summary\", \"news_data\", \"news_category\", \"news_title\". Domyślnie \"news_date\".
    • (opcjonalny) sortasc=\"true\" - Sortowanie elementów aktualności w porządku rosnącym zamiast malejącym.

    '; $lang['help_pagelimit']='Maksymalna liczba artykułów do wyświetlenia (na stronę)
    If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Pokazuje i umożliwia przeglądanie listy kategorii.'; $lang['helpcategory']='Wyświetl tylko elementy dla tej kategorii. Użyj * po nazwie aby wyświetlić kat. podrzędne. Wiele kategorii może być użytych, jeśli będą rozdzielone przecinkami. Pozostawienie pustego spowoduje wyświetlenie wszystkich kategorii.'; $lang['helpdetailpage']='Strona, na której będą widoczne szczegóły aktualności. To może być alias strony lub numer id.'; $lang['helpdetailtemplate']='Użyj osobnego szablonu do wyświetlenia szczegółów artykułu. Znajduje się w katalogu modules/News/templates.'; $lang['helpmoretext']='Tekst do wyświetlenia na końcu elementu news, jeśli przekroczy długość podsumowania. Domyślnie "więcej..."'; $lang['helpnumber']='Maksymalna ilość elementów do wyświetlenia =- pozostawienie pustego spowoduje wyświetlenie wszystkich elementów'; $lang['helpshowall']='Pokaż wszystkie artykuły niezależnie od daty zakończenia publikacji'; $lang['helpshowarchive']='Pokaż tylko aktualności, które wygasły.'; $lang['helpsortasc']='Sortowanie elementów news w kolejności rosnącej zamiast malejącej.'; $lang['helpsortby']='Pola po których można sortować: "news_date", "summary", "news_data", "news_category", "news_title". Domyślnie "news_date".'; $lang['helpstart']='Rozpocznij od n-tego elementu -- pozostawienie pustego spowoduje rozpoczęcie od pierwszego.'; $lang['helpsummarytemplate']='Użyj osobnego szablonu do wyświetlenia podsumowania artykułu. Znajduje się w katalogu modules/News/templates.'; $lang['hide_summary_field']='Ukryj pole podsumowania przy dodawaniu i edycji artykułów'; $lang['info_maxlength']='Długość maksymalna ma zastosowanie tylko do pól tekstowych'; $lang['info_sysdefault']='(szablon używany domyślnie, gdy nowy szablon jest zaznaczony)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Maksymalna długość'; $lang['more']='Więcej'; $lang['moretext']='Tekst "Więcej"'; $lang['msg_contenttype_removed']='Typ strony 'news' został usunięty. Wpisz tag {news} z odpowiednimi parametrami w szablony lub zawartość stron.'; $lang['name']='Nazwa'; $lang['nameexists']='Pole z taką nazwą już istnieje'; $lang['needpermission']='Musisz posiadać uprawnienie '%s', aby wykonać tę funkcję.'; $lang['newcategory']='Nowa kategoria'; $lang['news']='Aktualności'; $lang['news_return']='Wracaj'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nie podano kategorii'; $lang['nocontentgiven']='Nie podano treści'; $lang['noitemsfound']='Nie znaleziono elementów dla kategorii: %s'; $lang['nonamegiven']='Nie podano nazwy'; $lang['none']='Żaden'; $lang['nopostdategiven']='Nie podano daty publikacji'; $lang['notanumber']='Wpisana maksymalna długość nie jest liczbą'; $lang['note']='Uwaga: daty muszą być w formacie 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Masz %d artykułów, które nie zostały jeszcze opublikowane'; $lang['notify_n_draft_items_sub']='%d newsów'; $lang['notitlegiven']='Nie podano tytułu'; $lang['numbertodisplay']='Ilość do wyświetlenia (puste wyświetla wszystkie rekordy)'; $lang['options']='Opcje'; $lang['optionsupdated']='Opcje zostały zaktualizowane.'; $lang['post_date_asc']='Data publikacji rosnąco'; $lang['post_date_desc']='Data publikacji malejąco'; $lang['postdate']='Data publikacji'; $lang['postinstall']='Upewnij się, że ustawiłeś/aś uprawnienia do modyfikacji aktualności dla użytkowników, którzy będą administrowali aktualnościami.'; $lang['preview']='Podgląd'; $lang['prevpage']='<'; $lang['print']='Drukuj'; $lang['prompt_default']='Domyślny'; $lang['prompt_name']='Nazwa'; $lang['prompt_newtemplate']='Utwórz nowy szablon'; $lang['prompt_of']='z'; $lang['prompt_page']='Strona'; $lang['prompt_pagelimit']='Limit stron'; $lang['prompt_sorting']='Sortowanie'; $lang['prompt_template']='Źródło szablonu'; $lang['prompt_templatename']='Nazwa szablonu'; $lang['public']='Publiczna'; $lang['published']='Opublikowany'; $lang['reassign_category']='Zmień kategorię na'; $lang['removed']='Usunięte'; $lang['resettodefault']='Przywróć ustawienia fabryczne'; $lang['restoretodefaultsmsg']='Ta operacja przywróci zawartość szablonów do ich domyślnej zawartości. Czy na pewno kontynuować?'; $lang['revert']='Zmień status na "roboczy"'; $lang['select']='Zaznacz'; $lang['selectcategory']='Wybierz kategorię'; $lang['showchildcategories']='Pokaż kategorie podrzędne'; $lang['sortascending']='Sortuj rosnąco'; $lang['startdate']='Data początkowa'; $lang['startdatetoolate']='Data rozpoczęcia jest nieprawidłowa (późniejsza niż data zakończenia?)'; $lang['startoffset']='Rozpocznij wyświetlanie od n-tego elementu'; $lang['startrequiresend']='Wprowadzenie daty początkowej wymaga także wprowadzenia daty końcowej'; $lang['status']='status'; $lang['status_asc']='Status rosnąco'; $lang['status_desc']='Status malejąco'; $lang['subject_newnews']='Nowy news został dodany'; $lang['submit']='Zatwierdź'; $lang['summary']='Podsumowanie'; $lang['summarytemplate']='Szablon podsumowania'; $lang['summarytemplateupdated']='Szablon szczegółowy został zaktualizowany.'; $lang['sysdefaults']='Przywróć domyślne'; $lang['template']='Szablon'; $lang['textarea']='Pole tekstowe (textarea)'; $lang['textbox']='Pole tekstowe'; $lang['title']='Tytuł'; $lang['title_asc']='Tytuł rosnąco'; $lang['title_available_templates']='Dostępne szablony'; $lang['title_browsecat_sysdefault']='Domyślny szablon Przeglądanie Kategorii'; $lang['title_browsecat_template']='Edytor szablonów Przeglądanie Kategorii '; $lang['title_desc']='Tytuł malejąco'; $lang['title_detail_returnid']='Domyślna strona dla widoku szczegółowego'; $lang['title_detail_settings']='Ustawienia widoku szczegółowego'; $lang['title_detail_sysdefault']='Domyślny szablon szczegółowy'; $lang['title_detail_template']='Edytor szablonu szczegółowego'; $lang['title_filter']='Filtry'; $lang['title_form_sysdefault']='Domyślny szablon formularza'; $lang['title_form_template']='Edytor szablonu formularza'; $lang['title_notification_settings']='Ustawienia powiadomień'; $lang['title_summary_sysdefault']='Domyślny szablon ogólny'; $lang['title_summary_template']='Edytor szablonu ogólnego'; $lang['type']='Typ'; $lang['unknown']='Nieznane'; $lang['unlimited']='Bez limitu'; $lang['up']='Do góry'; $lang['uploadscategory']='Kategoria Uploads'; $lang['useexpiration']='Użyj daty wygaśnięcia'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Expirado'; $lang['expired_searchable']='Artigos expirados podem aparecer nos resultados da pesquisa'; $lang['expiry']='Expiração'; $lang['expiry_interval']='O número de dias (por padrão) antes de um artigo expirar (se expirar estiver selecionado)'; $lang['filter']='Filtro'; $lang['firstpage']='$lt;<'; $lang['formtemplate']='Modelo Visual de Formulários'; $lang['help']='

    O que isto faz?

    Notícias é um módulo para exibir eventos e notícias no seu site, similar a um blog, mas com muito mais funções!. Quando o módulo é instalado, uma página de administração de Notícias é adicionada ao menu de administradao e irá permitir que vocês selecione ou adiocione uma categoria de notícias. Uma vez criada ou selecionada, uma lista de itens de notícias será exibida. Daqui, você pode adicionar, editar ou deletar notícias para esta categoria.

    Variáveis de Modelo Visual

    • itemcount - Número de notícias a exibir.

    Segurança

    O usuário deve pertencer a um grupo com a permissão 'Modificar Notícias' a fim de adicionar, editar ou apagar Notícias.

    Para adicionar, editar ou apagar Modelos Visuais, o usuário deve pertencer a um grupo com a permissão 'Modificar Modelos Visuais'.

    Para editar as preferências das notícias globais, o usuário deve pertencer a um grupo com a permissão 'Modificar Preferências do Site'.

    Como eu uso?

    A maneira mais fácil de usar-lo é em conjunção com a tag cms_module. Isto irá inserir o módulo dentro do seu Modelo Visual ou página em qualquer lugar que você quiser exibir as notícias. O código deve se parecer com algo como: {cms_module module="news" number="5" category="beer"}

    Informação de Tradução

    Traduzido por José Diogenes Silva
    Dúvidas e sugestões: diogenescmsms@gmail.com

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpcategory']='Só mostrar itens para aquela categoria. Use * após o nome para exibir as subcategorias. Muitas categiras pode ser usadas se separadas por vírgula. Deixar em branco, irá mostrar todas as categorias.'; $lang['helpdetailpage']='Página para exibir a noticia detalhada. Pode ser o atalho da página ou um ID. Usado para permitir que a pagina detalhada seja exibida num modelo visual diferente do resumo.'; $lang['helpdetailtemplate']='Usa um modelo visual diferente para exibir o artigo detalhado. Ele deve estar no diretório modules/News/templates.'; $lang['helpmoretext']='Texto para exibir no final de uma notícia se ela passar do tamanho máximo do resumo. O Padrã é "mais..."'; $lang['helpnumber']='Número máximo de itens a exibir =- deixar em branco mostrará todos os itens.'; $lang['helpshowall']='Mostrar todos os artigos independentemente da data de vencimento'; $lang['helpsortasc']='Organizar novos itens em ordem de data ascendente ao invés de descendente.'; $lang['helpsortby']='Organizar por. As opções são: "news_date", "summary", "news_data", "news_category", "news_title". O padrão é "news_date".'; $lang['helpstart']='Iniciar no enésimo item -- deixar em branco iniciará no primeiro item'; $lang['helpsummarytemplate']='Usa um modelo visual diferente para exibir o resumo do artigo. Ele deve estar no diretório modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='Mais'; $lang['moretext']='Mais Texto'; $lang['name']='Nome'; $lang['needpermission']='Você precisa da permissão '%s' para realizar esta função.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícias'; $lang['news_return']='Retornar'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nenhuma categoria especificada'; $lang['nocontentgiven']='Nenhum conteúdo especificado'; $lang['noitemsfound']='Nenhum item encontrado para a categoria: %s'; $lang['nonamegiven']='Nenhum nome informado'; $lang['none']='Nenhum'; $lang['nopostdategiven']='Nenhuma Data de Postagem informada'; $lang['note']='Nota: As datas precisam estar no formato 'aaaa-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items_sub']='%d Artigo(s) de notícia'; $lang['notitlegiven']='Nenhum título informado'; $lang['numbertodisplay']='Número á exibir (em branco mostra todos os registros)'; $lang['options']='Opções'; $lang['optionsupdated']='As opções foram atualizadas com sucesso.'; $lang['postdate']='Data de Postagem'; $lang['postinstall']='Tenha certeza de especificar a permissão de "Modificar Notícias" aos usuários que irão administrar os itens de Notícias.'; $lang['prevpage']='<'; $lang['print']='Imprimir'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Limite de Página'; $lang['prompt_sorting']='Ordenar por'; $lang['published']='Publicado'; $lang['reassign_category']='Mudar categoria para'; $lang['removed']='Removido'; $lang['restoretodefaultsmsg']='Esta operação irá restaurar o conteúdo do Modelo Visual para o padrão do sistema. Você tem certeza que quer prosseguir?'; $lang['revert']='Mude o Status para 'Rascunho''; $lang['select']='Selecione'; $lang['selectcategory']='Selecione a Categoria'; $lang['showchildcategories']='Exibir sub-categorias'; $lang['sortascending']='Ordenação Ascendente'; $lang['startdate']='Data de Início'; $lang['startoffset']='Começar a exibir a partir do enésimo item'; $lang['startrequiresend']='Ao entrar uma data inicial, é preciso entrar uma data final também'; $lang['submit']='Enviar'; $lang['summary']='Sumário'; $lang['summarytemplate']='Modelo Visual Resumido'; $lang['summarytemplateupdated']='O modelo visual de notícia resumido foi atualizado com sucesso.'; $lang['sysdefaults']='Restaurar para os padrões'; $lang['title']='Título'; $lang['title_filter']='Filtros'; $lang['unknown']='Desconhecido'; $lang['unlimited']='Ilimitado'; $lang['useexpiration']='Usar data de expiração'; ?>(talvez já esteja a ser usado, ou contêm caracteres inválidos)'; $lang['error_mkdir']='Não foi possível criar a pasta: %s'; $lang['error_movefile']='Não foi possível criar o arquivo: %s'; $lang['error_noarticlesselected']='Não foram Selecionados Artigos'; $lang['error_templatenamexists']='Já existe um template com esse nome'; $lang['error_upload']='Ocorreu um problema no carregamento de um arquivo'; $lang['eventdesc-NewsArticleAdded']='Enviado quando um artigo é adicionado.'; $lang['eventdesc-NewsArticleDeleted']='Enviado quando um artigo é eliminado.'; $lang['eventdesc-NewsArticleEdited']='Enviado quando um artigo é editado.'; $lang['eventdesc-NewsCategoryAdded']='Enviado quando uma categoria é adicionada.'; $lang['eventdesc-NewsCategoryDeleted']='Enviado quando uma categoria é eliminada.'; $lang['eventdesc-NewsCategoryEdited']='Enviado quando uma categoria é editada.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['expired']='Expirar'; $lang['expired_searchable']='Artigos expirados podem aparecer nos resultados na pequisa?'; $lang['expiry']='Validade'; $lang['expiry_date_asc']='Data de Expiração Ascendente'; $lang['expiry_date_desc']='Data de Expiração Descendente'; $lang['expiry_interval']='O número de dias (por padrão) antes de expirar um artigo (se for seleccionado para expirar)'; $lang['extra']='Campo Extra'; $lang['fesubmit_redirect']='PáginaID ou alias por forma a redireccionar após uma notícia ser submetida via acção fesubmit'; $lang['fesubmit_status']='O Estado das notícias submetidas via frontend'; $lang['fielddef']='Definição Campo'; $lang['fielddefadded']='Campo adicionado com sucesso'; $lang['fielddefdeleted']='Campo eliminado'; $lang['fielddefupdated']='Campo actualizado'; $lang['file']='Ficheiro'; $lang['filter']='Filtro'; $lang['firstpage']='<< '; $lang['formsubmit_emailaddress']='E-mail para receber notificação da notícia'; $lang['formtemplate']='Templates Form '; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='This parameter is only applicable to the detail view. It allows specifying which news article to display in detail mode. If the special value -1 is used, the system will display the newest, published, non expired article. '; $lang['help_pagelimit']='Número máximo de itens para visualização (por página). Se este parâmetro não for fornecido todos os itens correspondentes serão exibidos. Se assim é, e há mais itens disponíveis do que o especificado no parâmetro, textos e links serão fornecidos para permitir percorrer os resultados'; $lang['helpaction']='Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end.
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Mostra uma lista das categorias.'; $lang['helpbrowsecattemplate']='Use a database template for displaying the category browser. This template must exist and be visible in the Browse Category Templates tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpcategory']='Used in the summary view to display only items for the specified categories. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories. This parameter also works for the frontend submit action, however only a single category name is supported. '; $lang['helpdetailpage']='Page to display News details in. This can either be a page alias or an id. Used to allow details to be displayed in a different template from the summary. '; $lang['helpdetailtemplate']='Use a separate database template for displaying the article detail. This template must exist and be visible in the detail template tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpformtemplate']='Use a database template for displaying the article submission form. This template must exist and be visible in the form templates tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Número máximo de itens a exibir =- deixando este vazio irá mostrar todos os itens.'; $lang['helpshowall']='Mostrar todos os arquivos, independentemente da data final'; $lang['helpshowarchive']='Mostrar apenas notícias que expiraram.'; $lang['helpsortasc']='Sort news items in ascending date order rather than descending. '; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['helpstart']='Comece com o enésimo item - deixando vazio terão início no primeiro item.'; $lang['helpsummarytemplate']='Use a separate database template for displaying the article summary. This template must exist and be visible in the summary template tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['hide_summary_field']='Esconder o campo do sumário quando adicionar ou editar artigos'; $lang['info_detail_returnid']='Esta preferência é usada para determinar uma página (e, por conseguinte, um template) a ser usado para visualizar as páginas de detalhe. URLS de Detalhe de News Individualizadas não vão funcionar se este parâmetro estiver definido para uma página válida. Adicionalmente, se esta preferência estiver definida, e nenhum parâmetro detailpage for fornecido na tag News, então este valor será usado para os links de detalhe'; $lang['info_maxlength']='O comprimento máximo, aplica-se apenas à introdução de campos de texto.'; $lang['info_sysdefault']='(o conteúdo utilizado por defeito quando se cria um novo template)'; $lang['info_sysdefault2']='Esta TAB contém áreas de texto para permitir que edite um conjunto de templates que são exibidos quando criar um 'novo' template. Mudar o conteúdo, e clicar no botão "enviar"não terá qualquer efeito nos actuais.'; $lang['lastpage']=' >>'; $lang['maxlength']='Comprimento Máximo'; $lang['more']='Mais'; $lang['moretext']='Texto Mais'; $lang['msg_contenttype_removed']='O conteúdo das notícias foi removido. Por favor, coloque {news} tags com os parâmetros adequados na sua página ou template para substituir essa funcionalidade.'; $lang['name']='Nome'; $lang['nameexists']='Um campo com este nome já existe'; $lang['needpermission']='Necessita da '%s' permissão para executar essa função.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícias '; $lang['news_return']='Voltar'; $lang['nextpage']=' >'; $lang['nocategorygiven']='Tem de inserir uma Categoria'; $lang['nocontentgiven']='Tem inserir um conteúdo'; $lang['noitemsfound']='Sem items encontrados para a categoria: %s'; $lang['nonamegiven']='Tem inserir um Nome'; $lang['none']='Nenhum'; $lang['nopostdategiven']='Tem inserir uma data'; $lang['notanumber']='O comprimento máximo não é um número'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['notify_n_draft_items']='Tem %s não publicado(s)'; $lang['notify_n_draft_items_sub']='%d Artigos de Notícia(s)'; $lang['notitlegiven']='Tem inserir um Titulo'; $lang['numbertodisplay']='Número a mostrar (vazia mostra todos os dados)'; $lang['options']='Opções'; $lang['optionsupdated']='Opções Actualizadas com Sucesso.'; $lang['post_date_asc']='Data Ascendente'; $lang['post_date_desc']='Data Descendente'; $lang['postdate']='Data da Submissão'; $lang['postinstall']='Certifique-se de definir a permissão "Modificar Notícias" para os usuários que deverão administrar Notícias.'; $lang['preview']='Pré-Visualização'; $lang['prevpage']='< '; $lang['print']='Imprimir'; $lang['prompt_default']='Padrão'; $lang['prompt_name']='Nome'; $lang['prompt_newtemplate']='Criar Novo Template'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Limite de Páginas'; $lang['prompt_sorting']='Ordenar por'; $lang['prompt_template']='Fonte do Template'; $lang['prompt_templatename']='Nome do Template'; $lang['public']='Público'; $lang['published']='Públicado'; $lang['reassign_category']='Alterar Categoria Para'; $lang['removed']='Removido'; $lang['resettodefault']='Redefinir para o Padrão'; $lang['restoretodefaultsmsg']='Esta operação irá restaurar o template do seu sistema para o padrão. Tem certeza de que deseja prosseguir?'; $lang['revert']='Defenir Status para 'Rascunho''; $lang['select']='Seleccionar'; $lang['selectcategory']='Seleccionar Categoria'; $lang['showchildcategories']='Mostrar Sub Categorias'; $lang['sortascending']='Ordenação Ascendente'; $lang['startdate']='Data de Inicio'; $lang['startdatetoolate']='A data de início é tarde demais (depois da data final?)'; $lang['startoffset']='Começar a exibir o item enésimo'; $lang['startrequiresend']='Introduzir uma data de início exige também uma data de final'; $lang['status']='Estado'; $lang['status_asc']='Estado Ascendente'; $lang['status_desc']='Estado Descendente'; $lang['subject_newnews']='Um novo artigo foi submetido'; $lang['submit']='Submeter'; $lang['summary']='Sumário'; $lang['summarytemplate']='Templates Sumário'; $lang['summarytemplateupdated']='Template Sumário foi actualizado.'; $lang['sysdefaults']='Restaurar para padrão'; $lang['template']='Template '; $lang['textarea']='Área de Texto'; $lang['textbox']='Campo de Texto'; $lang['title']='Título'; $lang['title_asc']='Titulo Ascendente'; $lang['title_available_templates']='Templates Disponíveis'; $lang['title_browsecat_sysdefault']='Template Padrão Navegador de Categorias '; $lang['title_browsecat_template']='Editor Template Navegador de Categorias '; $lang['title_desc']='Titulo Descendente'; $lang['title_detail_returnid']='Página predefinida para para usar em vistas de detalhe'; $lang['title_detail_settings']='Configurações de Visualização Detalhada'; $lang['title_detail_sysdefault']='Template de Detalhes Pré-Definido'; $lang['title_detail_template']='Detalhes Template'; $lang['title_fesubmit_settings']='Configurações de Submissão de Frontend'; $lang['title_filter']='Filtros'; $lang['title_form_sysdefault']='Padrão Form Template'; $lang['title_form_template']='Formulário Template'; $lang['title_notification_settings']='Configurações de Notificação'; $lang['title_submission_settings']='Configurações de Submissão Notícias'; $lang['title_summary_sysdefault']='Template de Sumário Pré-Definido'; $lang['title_summary_template']='Sumário Template'; $lang['type']='Tipo'; $lang['unknown']='Desconhecido'; $lang['unlimited']='Ilimitado'; $lang['up']='Cima'; $lang['uploadscategory']='Carregar Categoria'; $lang['useexpiration']='Usar Data de Expiração'; $lang['warning_preview']='Aviso: Este painel de pré-visualização comporta-se como uma janela de um navegador permitindo-lhe navegar para fora da página inicialmente pré-visualizada. No entanto, fizer isso, poderá experimentar um comportamento inesperado. Navegar para fora da página inicial e voltar não vai dar os resultados esperados
    Nota: A pré-visualização não carrega ficheiros que possa ter selecionado para upload.'; ?>(maybe it is already used, or there are invalid characters)'; $lang['error_mkdir']='Nu s-a putut crea director: %s'; $lang['error_movefile']='Nu s-a putut crea fişier: %s'; $lang['error_noarticlesselected']='Nici-un articol nu a fost Selectat'; $lang['error_templatenamexists']='Un şablon cu acest nume deja există'; $lang['error_upload']='A survenit o problemă încărcând un fişier'; $lang['eventdesc-NewsArticleAdded']='Trimis cand un articol este adaugat.'; $lang['eventdesc-NewsArticleDeleted']='Trimis cand un articol este sters.'; $lang['eventdesc-NewsArticleEdited']='Trimis cand un articol este editat.'; $lang['eventdesc-NewsCategoryAdded']='Trimis cand o categorie este adaugata.'; $lang['eventdesc-NewsCategoryDeleted']='Trimis cand o categorie este stearsa.'; $lang['eventdesc-NewsCategoryEdited']='Trimis cand o categorie este editata.'; $lang['eventhelp-NewsArticleAdded']='

    Trimis cand un articol este adaugat.

    Parametri

    • \"news_id\" - Id al articolului
    • \"category_id\" - Id al categoriei acestui articol
    • \"title\" - Titlul articolului
    • \"content\" - Continut articol
    • \"summary\" - Sumar articol
    • \"status\" - Status articol ("draft" sau "publish")
    • \"start_time\" - Data la care articolul ar trebui sa inceapa sa fie afisat
    • \"end_time\" - Data la care articoul ar trebui sa se opreasca de la afisare
    • \"useexp\" - Daca data expirarii ar trebui sa fie ignorata sau nu
    '; $lang['eventhelp-NewsArticleDeleted']='

    Trimis cand un articol este sters.

    Parametri

    • \"news_id\" - Id al articolului
    '; $lang['eventhelp-NewsArticleEdited']='

    Trimis cand un articol este editat.

    Parametri

    • \"news_id\" - Id al articolului
    • \"category_id\" - Id al categoriei acestui articol
    • \"title\" - Titlul articolului
    • \"content\" - Continut articol
    • \"summary\" - Sumar articol
    • \"status\" - Status articol ("draft" sau "publish")
    • \"start_time\" - Data la care articolul ar trebui sa inceapa sa fie afisat
    • \"end_time\" - Data la care articoul ar trebui sa se opreasca de la afisare
    • \"useexp\" - Daca data expirarii ar trebui sa fie ignorata sau nu
    '; $lang['eventhelp-NewsCategoryAdded']='

    Trimis cand o categorie este adaugata.

    Parametri

    • \"category_id\" - Id al categoriei de stiri
    • \"name\" - Numele categoriei de stiri
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Trimis cand o categorie este stearsa.

    Parametri

    • \"category_id\" - Id al categoriei de stiri sterse
    • \"name\" - Numele categoriei de stiri sterse
    '; $lang['eventhelp-NewsCategoryEdited']='

    Trimis cand o categorie este editata.

    Parametri

    • \"category_id\" - Id al categoriei de stiri
    • \"name\" - Numele categoriei de stiri
    • \"origname\" - Numele original al categoriei de stiri
    '; $lang['expired']='Expirat'; $lang['expired_searchable']='Articolele expirate pot aparea in rezultatele cautarii'; $lang['expiry']='Expirare'; $lang['expiry_date_asc']='Data terminare crescator'; $lang['expiry_date_desc']='Data terminare descrescator'; $lang['expiry_interval']='Numerele zilelor (implicite) înainte ca un articol sa expire (dacă este selectata data expirarii)'; $lang['extra']='Extra '; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='Pagina ID sau numele pentru redirecționare după ce un articol știre a fost adăugat prin acțiunea fesubmit '; $lang['fesubmit_status']='Starea articolelor noutati adăugate prin frontend'; $lang['fielddef']='Câmp Definiţie'; $lang['fielddefadded']='Câmă Definiţie a fost adăugat cu succes'; $lang['fielddefdeleted']='Câmp Definiţie Şters'; $lang['fielddefupdated']='Definiţia Câmpului Actualizat '; $lang['file']='Fişier'; $lang['filter']='Filtru'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adresa Email să primeşti notificări a ştirilor submise'; $lang['formtemplate']='Template-uri formulare'; $lang['help']='

    Note importante

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    RSS Feeds

    News supports generating simple rss feeds from your news articles, so that your visitors can always be up to date with what is happening on your site.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Acest parametru este aplicabil numai vizualizarii detalii. Permite specificarea a ce articol sa se afiseze in vizualizarea detalii. Daca valoarea speciala -1 este folosita, sistemul va afisa cel mai nou, publicat si non expirat articol.'; $lang['help_pagelimit']='Număr maxim de articole să afişeze (pe pagină). Dacă acest parametru nu este aprovizionat toate articolele potrivite vor fi afişate. Dacă este, şi sunt mai multe articole disponibile decat cele specificate în acest parametrum textul şi legăturile vor fi aprovizionate să permită sa vezi prin rezultate'; $lang['helpaction']='Face override la actiunea implicita. Valori posibile sunt:
    • &quot;detail&quot; - pentru afisarea unui anume articol in vizualizarea detaliata.
    • &quot;default&quot; - pentru afisarea vizualizarii sumar.
    • &quot;fesubmit&quot; - pentru afisarea formularului frontend pentru a pemite utilizatorilor trimiterea de articole de noutati direct din frontend site.
    • &quot;browsecat&quot; - pentru a afisa o lista navigabila de categorii noutati.
    '; $lang['helpbrowsecat']='Afiseaza o lista navigabila a categoriilor de noutati.'; $lang['helpbrowsecattemplate']='Se foloseste un template din baza de date pentru afisarea navigarii categorie. Acest template trebuie sa existe si sa fie vizibil in tabul Template-uri navigare categorii de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat implicit va fi folosit.'; $lang['helpcategory']='Folosit in vizualizare sumar pentru a afisa numai articolele pentru categoriile specificate. Folositi * dupa nume pentru a afisa copiii. Multiple categorii pot fi folosite daca sunt separate prin virgula. Daca se lasa gol se vor afisa toate categoriile. Acest parametru functioneaza si pentru actiune submit din frontend, in acest caz un singur nume de categorie este suportat.'; $lang['helpdetailpage']='Pagina in care se afiseaza detaliile noutatilor. Poate fi ori un alias de pagina sau un id. Se foloseste pentru ca detaliile sa fie afisate intr-un template diferit de sumar.'; $lang['helpdetailtemplate']='Se foloseste un template din baza de date pentru afisarea vizualizarii detaliate articole. Acest template trebuie sa existe si sa fie vizibil in tabul template-uri detalii de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat implicit va fi folosit.'; $lang['helpformtemplate']='Se foloseste un template din baza de date pentru afisarea formularului de trimitere articol. Acest template trebuie sa existe si sa fie vizibil in tabul template-uri formular de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat ca implicit va fi folosit.'; $lang['helpmoretext']='Text care seafiseaza la sfarsitul unui articol daca este mai lung decar sumarul. Implicit este "mai mult..."'; $lang['helpnumber']='Numar maxim de articole care se afiseaza (per pagina) -- daca se lasa gol se vor afisa toate articolele. Este un sinonim pentru pagelimit.'; $lang['helpshowall']='Afisare toate articolele, indiferent de data expirarii'; $lang['helpshowarchive']='Afisare numai articole noutati expirate.'; $lang['helpsortasc']='Se sorteaza articolele de noutati in ordinea ascendenta a datei in loc de cea descendenta.'; $lang['helpsortby']='Campul dupa care se sorteaza. optiunile sunt: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Implicit este "news_date". Daca "random" este specificat, parametrul sortasc este ignorat.'; $lang['helpstart']='Pornire afisare la al n-ulea obiect -- daca se lasa gol se va porni de la primul articol.'; $lang['helpsummarytemplate']='Se foloseste un template din baza de date separat pentru afisare sumar articol. Acest template trebuie sa existe si sa fie vizibil in tabul de template-uri sumar de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat ca implicit va fi folosit.'; $lang['hide_summary_field']='Ascunde sumarul câmpului când adaugi sau editezi articole'; $lang['info_maxlength']='Lungimea maximă se aplică numai la cămp cu text introdus '; $lang['info_sysdefault']='(conţinutul folosit de standart când un nou şablon este creat)'; $lang['info_sysdefault2']='Notă: acest tab conţine zone text care permite să editezi un set de şabloane care sunt afikate când creezi un "nou" sumar, detaliu, sau formă şablon. Schimbând conţinutul în acest tab şi apăsând "Submit" nu va afecta nici un afișaj curent.'; $lang['lastpage']='>>'; $lang['maxlength']='Lungimea Maximă'; $lang['more']='Mai mult'; $lang['moretext']='Text Mai mult'; $lang['msg_contenttype_removed']='Tipul de Conținut ştire a fost șters . Te rog pune {news} eticheta cu parametri apropiați în pagina șablon sau intră pagina conținut pentru a înlocui acesta funcțional.'; $lang['name']='Nume'; $lang['nameexists']='Un câmp cu acest nume există'; $lang['needpermission']='Aveti nevoie de permissiuni '%s' pentru a afectua aceasta functie.'; $lang['newcategory']='Categorie noua'; $lang['news']='Noutati'; $lang['news_return']='Returnare'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nu a fost data nici o categorie'; $lang['nocontentgiven']='Nu a fost dat nici un continut'; $lang['noitemsfound']='Niciun obiect gasit pentru categoria: %s'; $lang['nonamegiven']='Nu a fost dat nume'; $lang['none']='niciunul'; $lang['nopostdategiven']='Nu a fost data o dataa postarii'; $lang['notanumber']='Lungimea Maximă Nu este un Număr'; $lang['note']='Nota: Datele trebuie sa aiba formatul 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Aveti %s care este/sunt nepublicat(e)'; $lang['notify_n_draft_items_sub']='%d Articole noutati'; $lang['notitlegiven']='Nu a fost dat titlu'; $lang['numbertodisplay']='Numar de afisare (daca e gol se afiseaza toate inregistrarile)'; $lang['options']='Optiuni'; $lang['optionsupdated']='Optiunile au fost actualizate cu succes.'; $lang['post_date_asc']='Data postare crescator'; $lang['post_date_desc']='Data postare descrescator'; $lang['postdate']='Data postarii'; $lang['postinstall']='Verificati ca ati setat permisiunile de "Modificare Noutati" pentru utilizatorii care vor administra noutatile.'; $lang['preview']='Previzualizare'; $lang['prevpage']='<'; $lang['print']='Printare'; $lang['prompt_default']='Standart'; $lang['prompt_name']='Nume'; $lang['prompt_newtemplate']='Crează un Şablon Nou'; $lang['prompt_of']='din'; $lang['prompt_page']='Pagina'; $lang['prompt_pagelimit']='Pagina Limită'; $lang['prompt_sorting']='Ordonează după'; $lang['prompt_template']='Sursă Şabon'; $lang['prompt_templatename']='Nume sablon'; $lang['public']='Public '; $lang['published']='Publicat'; $lang['reassign_category']='Schimbă Categoria În'; $lang['removed']='Şters'; $lang['resettodefault']='Restează la factori standart'; $lang['restoretodefaultsmsg']='Această operaţie va restaora conținuturile şablonului la sistemul lor standart. Eşti sigur ca vrei să înaintezi? '; $lang['revert']='Setează Starea în "Salvate"'; $lang['select']='Selectează'; $lang['selectcategory']='Selectare categorie'; $lang['showchildcategories']='Afisare categorii copil'; $lang['sortascending']='Sortare ascendent'; $lang['startdate']='Data start'; $lang['startdatetoolate']='Data start e prea tarzie (dupa data expirarii?)'; $lang['startoffset']='Pornire afisare la al n-ulea obiect'; $lang['startrequiresend']='Daca introduceti o data de start trebuie setata si o data de expirare'; $lang['status']='Status '; $lang['status_asc']='Status crescator'; $lang['status_desc']='Status descrescator'; $lang['subject_newnews']='Un nou articol ştire a fost postat'; $lang['submit']='Trimitere'; $lang['summary']='Sumar'; $lang['summarytemplate']='Template-uri sumar'; $lang['summarytemplateupdated']='Template-ul sumar noutati a fost actualizat cu succes.'; $lang['sysdefaults']='Restaurare setari implicite'; $lang['template']='Şablon'; $lang['textarea']='Zonă Text'; $lang['textbox']='Introdu Text'; $lang['title']='Titlu'; $lang['title_asc']='Titlu crescator'; $lang['title_available_templates']='Şabloane Disponibile'; $lang['title_browsecat_sysdefault']='Template implicit navigare categorie'; $lang['title_browsecat_template']='Editor template navigare categorie'; $lang['title_desc']='Titlu descrescator'; $lang['title_detail_sysdefault']='Detaliu Şablon Standart'; $lang['title_detail_template']='Detaliu Şablon Editor'; $lang['title_filter']='Filtre'; $lang['title_form_sysdefault']='Şablon Standart'; $lang['title_form_template']='Şablon Formă Editor'; $lang['title_notification_settings']='Setari notificari'; $lang['title_summary_sysdefault']='Sumar Şablon Standart'; $lang['title_summary_template']='Sumar Şablon Editor'; $lang['type']='Tip'; $lang['unknown']='Necunoscut'; $lang['unlimited']='Nelimitat'; $lang['up']='Sus'; $lang['uploadscategory']='Categorie Incărcări'; $lang['useexpiration']='Folosire data expirare'; $lang['warning_preview']='Atentie: Acest panou de previzualizare se comporta foarte asemenator cu o fereastra de browser, permitand sa navigati in alta parte din pagina initiala. Totusi, daca faceti asta, este posibil sa apara comportamente neasteptate. Plecand din pagina initiala si venind inapoi nu va avea rezultatele asteptate.
    Nota: Previzualizarea nu incarca fisierele selectate pentru incarcare.'; ?>(возможно, уже используется или содержит запрещенные символы)'; $lang['error_mkdir'] = 'Не удалось создать каталог: %s'; $lang['error_movefile'] = 'Не удалось создать файл: %s'; $lang['error_noarticlesselected'] = 'Нет выбранных новостей'; $lang['error_nooptions'] = 'Для поля не определены свойства'; $lang['error_templatenamexists'] = 'Шаблон с этим именем уже существует'; $lang['error_upload'] = 'Произошла проблема при загрузке файла'; $lang['eventdesc-NewsArticleAdded'] = 'Отправляется, когда статья добавлена.'; $lang['eventhelp-NewsArticleAdded'] = '

    Отправляется, когда статья добавлена.

    Параметры

    • \\"news_id\\" - Id новостной статьи
    • \\"category_id\\" - Id категории для этой статьи
    • \\"title\\" - Заголовок статьи
    • \\"content\\" - Содержание статьи
    • \\"summary\\" - Резюме статьи
    • \\"status\\" - Статус статьи ("черновик" or "опубликована")
    • \\"start_time\\" - Дата публикации статьи
    • \\"end_time\\" - Дата окончания публикации статьи
    • \\"useexp\\" - Должно ли истечение срока быть проигнорировано
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Отправляется, когда статья была удалена.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Отправляется, когда статья была удалена.

    Параметры

    • \\"news_id\\" - Id новостной статьи
    '; $lang['eventdesc-NewsArticleEdited'] = 'Отправляется, когда статья отредактирована.'; $lang['eventhelp-NewsArticleEdited'] = '

    Отправляется, когда статья отредактирована.

    Параметры

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id категории для этой статьи
    • \\"title\\" - Заголовок статьи
    • \\"content\\" - Содержание статьи
    • \\"summary\\" - Резюме статьи
    • \\"status\\" - Статус статьи ("draft" или "publish")
    • \\"start_time\\" - Дата публикации статьи
    • \\"end_time\\" - Дата окончания публикации статьи
    • \\"useexp\\" - Должно ли истечение срока быть проигнорировано
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Отправляется, когда категория добавлена.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Отправляется, когда категория была добавлена.

    Параметры

    • \\"category_id\\" - Id новостной категории
    • \\"name\\" - Имя новостной категории
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Отправляется, когда категория удалена.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Отправлется, когда категория удалена.

    Параметры

    • \\"category_id\\" - Id удаленной категории
    • \\"name\\" - Имя удаленной категории
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Отправляется, когда категория отредактирована.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Отправляется, когда категория отредактирована.

    Параметры

    • \\"category_id\\" - Id новостной категории
    • \\"name\\" - Имя новостной категории
    • \\"origname\\" - Исходное имя новостной категории
    '; $lang['expired'] = 'Истекает'; $lang['expired_searchable'] = 'Новости могут появляться в результатах поиска, независимо от даты окончания'; $lang['expired_viewable'] = 'Истекшие статьи можно посмотреть в подробном виде'; $lang['expiry'] = 'Истекает'; $lang['expiry_date_asc'] = 'Дате окончания (Истекшие вверху)'; $lang['expiry_date_desc'] = 'Дате окончания (Истекшие внизу)'; $lang['expiry_interval'] = 'Число дней (по умолчанию) до истечения срока действия новости (если выбран срок истечения)'; $lang['extra'] = 'Экстра'; $lang['extra_label'] = 'Дополнительно:'; $lang['fesubmit_redirect'] = 'ID страницы или алиас для переброса пользователя после добавления новости через форму на сайте'; $lang['fesubmit_status'] = 'Статус новостей представленных через интерфейс'; $lang['fielddef'] = 'Определение поля'; $lang['fielddefadded'] = 'Определение поля успешно добавлено'; $lang['fielddefdeleted'] = 'Определение поля удалено'; $lang['fielddefupdated'] = 'Определение поля обновлено'; $lang['file'] = 'Файл'; $lang['filter'] = 'Фильтр'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Адрес электронной почты, чтобы получить уведомление о представлении новостей'; $lang['formtemplate'] = 'Шаблоны форм'; $lang['help'] = '

    Важные примечания

    В версиях 2.9 и выше из шаблонов News удалён модификатор formatpostdate, а также dateformat. Вам нужно использовать модификатор cms_date_format (как указано в шаблонах по умолчанию) для форматирования дат и параметр entry->postdate вместо entry->formatpostdate.

    Для чего это нужно?

    Новости - это модуль для отображения новостных событий на вашей странице, похожий на стиль блога, но с большим количеством функций!. Когда модуль установлен, в административное меню добавляется страница администрирования новостей, которая позволяет вам выбрать или добавить категорию новостей. После создания или выбора категории новостей будет отображаться список новостей для этой категории. Отсюда вы можете добавлять, редактировать или удалять новости для этой категории.

    Многообразие способов вывода

    Параметры, поддерживаемые модулем новостей, и поддержка разных шаблонов для каждого случая делают ваши возможности для отображения новостных статей безграничны.

    Дополнительный поля пользователя

    Модуль новостей позволяет определять многочисленные настраиваемые поля (включая файлы и изображения), которые позволят вам прикреплять файлы PDF или разные изображения к вашим статьям.

    Категории

    Новости предоставляют механизм иерархических категорий для организации ваших статей. Новостная статья может находиться только в одной категории.

    RSS-каналы

    Новости поддерживает создание простых RSS-каналов из ваших новостных статей, чтобы посетители всегда могли быть в курсе того, что происходит на вашем сайте.

    Срок публикации и статус

    У каждой новостной статьи может быть необязательный срок публикации, после которого она не будет отображаться на вашей веб-странице. Кроме того, статьи можно пометить как черновики , чтобы навсегда удалить их с вашей веб-страницы.

    Безопасность

    Пользователь должен принадлежать к группе с разрешением «Изменить новости», чтобы добавлять или редактировать статьи.

    Также, чтобы удалить записи новостей, пользователь должен принадлежать к группе с разрешением «Удалить новостные статьи».

    Чтобы редактировать шаблоны макета, пользователь должен принадлежать к группе с разрешением «Изменить шаблоны».

    Чтобы редактировать глобальные настройки новостей, пользователь должен принадлежать к группе с разрешением «Изменить настройки сайта».

    Кроме того, чтобы одобрить новости для отображения во внешнем интерфейсе, пользователь должен принадлежать к группе с разрешением «Утвердить новости».

    Как мне использовать модуль?

    Самый простой способ использовать модуль новостей - использовать тег-оболочку {news} (оборачивает модуль в тег для упрощения синтаксиса). Это позволит вставить модуль в ваш шаблон или страницу в любом месте, где вы хотите, и отобразить новости. Код будет выглядеть примерно так: {news number = \'5\'}

    Шаблоны

    Начиная с версии 2.3 News поддерживает несколько шаблонов из базы данных и больше не поддерживает дополнительные шаблоны файлов. Пользователи, которые использовали старую систему шаблонов файлов, должны выполнить следующие действия (для каждого шаблона файла):

    • Скопируйте шаблон файла в буфер обмена.
    • Создайте новый шаблон базы данных (краткий или подробный по мере необходимости) . Дайте новому шаблону то же имя (включая расширение .tpl), что и старому шаблону файла, и вставьте его содержимое.
    • Нажмите "Отправить".

    Выполнение этих шагов должно решить проблему отсутствия ваших шаблонов новостей и другие подобные ошибки при обновлении до версии CMS с News 2.3 или выше.

    '; $lang['helpaction'] = 'Отменяет действие значения по умолчанию. Возможные значения - \'default\', чтобы отобразить резюме, и \'fesubmit\', чтобы отобразить форму внешнего интерфейса для того, чтобы позволить пользователям представлять статьи новостей из фронтенда.'; $lang['helpbrowsecat'] = 'Показывает список категорий.'; $lang['helpbrowsecattemplate'] = 'Используйте шаблон базы данных чтобы отобразить браузер категории. Этот шаблон должен существовать и быть видимым во вкладке Browse Category Templates администрации новостей, хотя это не должно быть значением по умолчанию. Если этот параметр не определен, то будет использоваться текущий шаблон, отмеченный как значение.'; $lang['helpcategory'] = 'Отображать только объекты данной категории. Необходимо использовать * после имени, чтобы показать дочерние объекты. чтобы ввести несколько категорий, их нужно разделить запятыми. В случае незаполнения, будет показывать все категории.'; $lang['helpdetailpage'] = 'Страница для отображения полного текста новостного сообщения. Это может быть либо идентификатор страницы, либо алиас. Используется для отображения полного текста новостного сообщения с помощью шаблона, отличного от используемого в краткой сводке.'; $lang['helpdetailtemplate'] = 'Использование отдельной базы данных шаблонов для подробного отображения статьи. Этот шаблон должен существовать и быть видимым в деталях шаблона на вкладке новостей администратора, но он не должен быть включен по умолчанию. Если этот параметр не указан, то будет использоваться текущий шаблон с пометкой умолчанию.'; $lang['helpformtemplate'] = 'Используйте шаблон базы данных чтобы отобразить форму представления статьи. Этот шаблон должен существовать и быть видимым во вкладке шаблонов формы администрации новостей, хотя это не должно быть значением по умолчанию. Если этот параметр не определен, то будет использоваться текущий шаблон, отмеченный как значение по умолчанию.'; $lang['helpmoretext'] = 'Текст, отображаемый в конце новостного объекта если он превышает длину резюме. По умолчанию "more..."'; $lang['helpnumber'] = 'Максимальное число отображаемых элементов =- в случае незаполнения будет показывать все объекты.'; $lang['helpshowall'] = 'Показать все новости, независимо от даты окончания'; $lang['helpshowarchive'] = 'Показывать только статьи с истекшим сроком.'; $lang['helpsortasc'] = 'Сортировать статьи по возрастанию даты, а не по убыванию.'; $lang['helpsortby'] = 'Поле для сортировки. Варианты: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". По умолчанию это "news_date". Если "random", то предполагается, что в sortasc параметр игнорируется.'; $lang['helpstart'] = 'Начать с n-го объекта -- в случае незаполнения будет начинать с первого объекта.'; $lang['helpsummarytemplate'] = 'Использовать отдельный шаблон для отображения резюме. Он должен быть расположен в папке modules/News/templates.'; $lang['help_articleid'] = 'Этот параметр применяется только для подробного просмотра. Это позволяет указать, какие статьи новостей на дисплее в режиме "подробно". Если специальное значение -1 используется, то система будет показывать новейшую опубликованную, не истекшую статью.'; $lang['help_article_title'] = 'Введите заголовок статьи. Он должен быть коротким и не содержать html теги.'; $lang['help_article_category'] = 'С целью упорядочения статей, вы можете выбрать категорию.'; $lang['help_article_content'] = 'Введите основной текст статьи здесь'; $lang['help_article_enddate'] = 'Если используется срок публикации, то эта дата определяет, когда эта статья будет закрыта для показа.'; $lang['help_article_extra'] = 'Это дополнительное поле используется в новостной статье. Оно может быть использовано для сортировки или для других дизайнерских целей.'; $lang['help_article_searchable'] = 'Это поле показывает, что эта статья должна быть индексирована модулем Поиска.'; $lang['help_article_postdate'] = 'postdate (обычно это текущая дата для новой статьи) - используется для как дата публикации для этой статьи. Также используется для сортировки.'; $lang['help_article_summary'] = 'Добавьте краткий параграф, чтобы описать статью. Это резюме может быть использовано при выводе списка статей.'; $lang['help_article_startdate'] = 'Если срок публикации включен, то эта дата обозначает дату, начиная с которой статья будет выводиться на веб-сайте.'; $lang['help_article_status'] = 'Если вы хотите, чтобы статья была доступна для просмотра другими пользователями, выберите статус опубликована. Если вы хотите продолжить работу над этой статьей некоторое время, выберите черновик.'; $lang['help_article_url'] = 'Необязательный URL-адрес статьи (на некоторых других платформах это называется слагом) - это ЧПУ URL-адрес для доступа к этой статье. Пользователи могут перейти к / , чтобы просмотреть эту статью.'; $lang['help_article_useexpiry'] = 'Этот флажок включает или выключает использование срока публикации статьи на сайте. Срок публикации определяет, когда статья становится видимой на веб-сайте, а когда она впоследствии становится недоступной для прочтения.'; $lang['help_articles_filtercategory'] = 'При необходимости можно отфильтровать список статей по их категориям'; $lang['help_articles_filterchildcats'] = 'Если этот параметр включен, то будут отображаться статьи из выбранной категории и из дочерних категории.'; $lang['help_articles_pagelimit'] = 'Выберите количество статей для отображения на одной странице. Для сайтов с большим количеством статей указание ограничения на количество страниц от 10 до 100 значительно повысит производительность.'; $lang['help_articles_sortby'] = 'Выберите способ первоначальной сортировки статей.'; $lang['help_category_name'] = 'Введите имя для этой категории. Имя должно быть безопасным для использования в URL-адресах и не должно содержать специальных символов.'; $lang['help_category_parent'] = 'При желании укажите родительскую категорию для построения иерархии категорий.'; $lang['help_fesubmit_redirect'] = 'Идентификатор страницы или псевдоним для перенаправления после успешной публикации из фронтенда'; $lang['help_fielddef_maxlen'] = 'Для текстовых полей вы можете указать максимальную длину ввода (в символах)'; $lang['help_fielddef_name'] = 'Каждое поле должно иметь имя. Хотя это и не обязательно, имя поля должно содержать только буквенно-цифровые символы и подчеркивание. Воздержитесь от использования пробелов в имени поля.'; $lang['help_fielddef_options'] = 'Здесь вы можете указать параметры для выпадающего списка.'; $lang['help_fielddef_public'] = 'Укажите, является ли поле общедоступным или нет. Общедоступные поля можно выводить в шаблонах для фронтенда сайта, и их можно использовать в action fesubmit. Поля, которые не являются общедоступными, могут редактироваться только авторизованными администраторами в интерфейсе администратора.'; $lang['help_fielddef_type'] = 'Каждое пользовательское поле может быть разного типа для разных целей. Выберите тип поля, который лучше всего соответствует вашему требованию.'; $lang['help_idlist'] = 'Применимо только к default action (вывод списка статей). Этот параметр принимает список id статей, разделенных запятыми, и позволяет фильтровать статьи только по указанным идентификаторам. Фактический список выводимых статей по-прежнему зависит от статуса статьи, срока публикации и других параметров.'; $lang['help_opt_alert_drafts'] = 'Если этот параметр включен, вы будете получать уведомления (предупреждения) о том, что одна или несколько новостных статей необходимо просмотреть и опубликовать.'; $lang['help_opt_allowed_upload_types'] = 'Для пользовательский полей типа «файл». Этот параметр определяет список (через запятую) расширений файлов, допустимых для загрузки редактором статьи.'; $lang['help_opt_dflt_category'] = 'Эта опция позволяет указать категорию по умолчанию для новых новостных статей.'; $lang['help_opt_hide_summary'] = 'Эта опция позволяет отключить поле резюме при добавлении и/или редактировании новостной статьи (в том числе для action fesubmit) '; $lang['help_opt_allow_summary_wysiwyg'] = 'Это поле указывает, следует ли включать WYSIWYG-редактор для поля резюме при редактировании статьи. Эта опция игнорируется полностью, если поле резюме полностью отключено.'; $lang['help_opt_expiry_interval'] = 'Установите количество дней по умолчанию (минимум 1), через которые истечет срок действия статьи. Срок публикации можно изменить при добавлении или редактировании новостной статьи.'; $lang['help_pagelimit'] = 'Максимальное число элементов для отображения (на странице). Если этот параметр не будет указан, то будут отображены все соответствующие элементы. Если будет указан, и есть больше доступных элементов, чем указанно в параметре, то будет ставиться текст и ссылки, чтобы позволить просматривать результаты'; $lang['hide_summary_field'] = 'Скрыть поле резюме при добавлении или редактировании новостей'; $lang['info_allow_fesubmit'] = 'Этот параметр определяет, будет ли опция fesubmit вообще разрешена для работы на этом сайте. Будьте осторожны при включении этого параметра.'; $lang['info_categories'] = 'Для упорядочения новостных статей они могут быть распределены по категориям.'; $lang['info_detail_returnid'] = 'Этот параметр используется для назначения страницы (и соответствнно шаблона), в которой будет показываться полный текст новости. Альтернативные ссылки на новость не будут работать, если этот параметр не установлен. Также, если этот параметр установлен и тег {news} используется без параметра detailpage, то это значение будет использовано по умолчанию.'; $lang['info_expired_searchable'] = 'Если этот параметр включен, статьи с завершённым сроком публикации будут индексироваться модулем поиска и отображаться в результатах поиска.'; $lang['info_expired_viewable'] = 'Если этот параметр включен, статьи с оконченным сроком публикации можно просматривать в подробном режиме (это воспроизводит более старую функциональность). Параметр showall можно использовать в URL-адресе (если не используются ЧПУ), чтобы также вывести старые статьи для просмотра.'; $lang['info_fesubmit_notification'] = 'Вы можете отправить одно письмо на один адрес при публикации статьи пользователем на сайте.'; $lang['info_maxlength'] = 'Максимальная длина применяется только для полей ввода текста.'; $lang['info_public'] = 'Только публичные поля доступны на сайте и выводятся в списке статей или при детальном просмотре.'; $lang['info_reorder_categories'] = 'Возьмите и тяните категорию в нужную позицию, чтобы изменить порядок категорий'; $lang['info_searchable'] = 'Это поле показывает, что статья должна индексироваться модулем Поиска по сайту.'; $lang['info_sysdefault'] = '(шаблон используется по умолчанию, когда выбирается новый шаблон)'; $lang['info_sysdefault2'] = ' Примечание: Эта вкладка содержит текстовые области, чтобы позволить Вам редактировать набор шаблонов, которые отображены, когда Вы создаете \'new\' резюме, подробно, или шаблон формы. Измените содержание в этой вкладке, и щелкните \'Отправить\' будет не влияет на любые текущие экраны.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Поиск новостной статьи'; $lang['linkedfile'] = 'Связанный файл'; $lang['maxlength'] = 'Максимальная длина'; $lang['msg_cancelled'] = 'Операция отменена'; $lang['msg_categoriesreordered'] = 'Порядок категорий изменён'; $lang['msg_contenttype_removed'] = 'Тип содержания новостей был удален. Пожалуйста поместите {news} теги с соответствующими параметрами в ваш шаблон страницы или в ваше содержание страницы, чтобы заменить эти функциональные возможности.'; $lang['msg_success'] = 'Операция успешна'; $lang['more'] = 'Подробнее'; $lang['moretext'] = 'Текст для подробнее'; $lang['name'] = 'Имя'; $lang['nameexists'] = 'Поле с таким именем уже существует'; $lang['needpermission'] = 'Вам нужны права \'%s\' для совершения этого действия.'; $lang['newcategory'] = 'Новая категория'; $lang['news'] = 'Новости'; $lang['news_return'] = 'Вернуться'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'В данный момент нет новостных статей.'; $lang['noarticlesinfilter'] = 'Нет статей, соответствующих данной выборке.'; $lang['nocategorygiven'] = 'Не задана категория'; $lang['nocontentgiven'] = 'Не задан полный текст'; $lang['noitemsfound'] = 'Нет элементов в этой категории: %s'; $lang['nonamegiven'] = 'Не задано имя'; $lang['none'] = 'Нет'; $lang['nopostdategiven'] = 'Не введена дата публикации'; $lang['notanumber'] = 'Максимальная длина не является не числом'; $lang['note'] = 'Примечание: Даты должны быть в формате \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'У вас есть не опубликованные новости, всего %s'; $lang['notify_n_draft_items_sub'] = '%d новостных статей'; $lang['notitlegiven'] = 'Не задан заголовок'; $lang['numbertodisplay'] = 'Количество для показа (если не задано, то выводит все)'; $lang['options'] = 'Опции'; $lang['optionsupdated'] = 'Опции были успешно обновлены.'; $lang['parent'] = 'Родитель'; $lang['postdate'] = 'Дата публикации'; $lang['postinstall'] = 'Убедитесь, что вы установили права "Modify News" для тех пользователей, кто должен администрировать материалы.'; $lang['post_date_asc'] = 'Дате (Новые внизу)'; $lang['post_date_desc'] = 'Дате (Новые вверху)'; $lang['preview'] = 'Предпросмотр'; $lang['prevpage'] = '<'; $lang['print'] = 'Печать'; $lang['prompt_alert_drafts'] = 'Предупреждение для не утверждённых статей.'; $lang['prompt_allow_fesubmit'] = 'Разрешить публикацию статей пользователями сайта.'; $lang['prompt_default'] = 'По умолчанию'; $lang['prompt_go'] = 'Вперёд'; $lang['prompt_name'] = 'Имя'; $lang['prompt_newtemplate'] = 'Создать новый шаблон'; $lang['prompt_of'] = 'из'; $lang['prompt_page'] = 'Страница'; $lang['prompt_pagelimit'] = 'Новостей на страницу'; $lang['prompt_redirecttocontent'] = 'Вернуться назад'; $lang['prompt_sorting'] = 'Сортировать по'; $lang['prompt_template'] = 'Исходные данные шаблона'; $lang['prompt_templatename'] = 'Имя шаблона'; $lang['public'] = 'Общий'; $lang['published'] = 'Опубликовано'; $lang['reassign_category'] = 'Сменить категорию на'; $lang['removed'] = 'Удалено'; $lang['reorder'] = 'Изменить порядок'; $lang['reorder_categories'] = 'Изменить порядок категорий'; $lang['reset'] = 'Сброс'; $lang['resettodefault'] = 'Сбросить установки'; $lang['restoretodefaultsmsg'] = 'Эта операция восстановит содержание шаблонов к изначальному. Продолжить?'; $lang['revert'] = 'Установить статус \'Черновик\''; $lang['searchable'] = 'Участвует в поиске'; $lang['select'] = 'Выбрать'; $lang['select_option'] = 'Выбрать вариант'; $lang['selectall'] = 'Выбрать всё'; $lang['selectcategory'] = 'Выберите категорию'; $lang['showchildcategories'] = 'Показывать подкатегории'; $lang['sortascending'] = 'Сортировать по возрастанию'; $lang['startdate'] = 'Дата начала'; $lang['startdatetoolate'] = 'Дата начала слишком поздняя (после даты окончания?)'; $lang['startoffset'] = 'Начать вывод новостей с n-ой'; $lang['startrequiresend'] = 'Ввод даты начала требует ввода даты окончания'; $lang['status'] = 'Статус'; $lang['status_asc'] = 'Статус (от А до Я)'; $lang['status_desc'] = 'Статусу (от Я до А)'; $lang['subject_newnews'] = 'Новость была размещена'; $lang['submit'] = 'Отправить'; $lang['summary'] = 'Резюме'; $lang['summarytemplate'] = 'Шаблон для резюме'; $lang['summarytemplateupdated'] = 'Шаблон для резюме был успешно обновлен.'; $lang['sysdefaults'] = 'Восстановить значения по умолчанию'; $lang['template'] = 'Шаблон'; $lang['textarea'] = 'Текстовая область'; $lang['textbox'] = 'Ввод текста'; $lang['title'] = 'Заголовок'; $lang['title_asc'] = 'Заголовку (от А до Я)'; $lang['title_available_templates'] = 'Доступные шаблоны'; $lang['title_browsecat_sysdefault'] = 'Обзор по умолчанию категории шаблона'; $lang['title_browsecat_template'] = 'Просмотр категории редактора шаблонов'; $lang['title_desc'] = 'Заголовку (от Я до А)'; $lang['title_detail_returnid'] = 'Страница по умолчанию для полного текста новости'; $lang['title_detail_settings'] = 'Настройки показа полного текста новости'; $lang['title_detail_sysdefault'] = 'Шаблон полный текст по умолчанию'; $lang['title_detail_template'] = 'Редактор шаблона полный текст'; $lang['title_draft_entries'] = 'Не утверждённые статьи'; $lang['title_fesubmit_form'] = 'Опубликовать статью'; $lang['title_fesubmit_settings'] = 'Настройки добавления новостей пользователями'; $lang['title_filter'] = 'Фильтр'; $lang['title_form_sysdefault'] = 'Форма шаблона по умолчанию'; $lang['title_form_template'] = 'Редактор форм шаблонов'; $lang['title_news_settings'] = 'Настройки модуля Новости'; $lang['title_notification_settings'] = 'Настройки уведомлений'; $lang['title_submission_settings'] = 'Настройки добавления новостей'; $lang['title_summary_sysdefault'] = 'Шаблон резюме по умолчанию'; $lang['title_summary_template'] = 'Редактор шаблона резюме'; $lang['toggle_bulk'] = 'Выбрать эту статью для массовой обработки'; $lang['type'] = 'Тип'; $lang['type_browsecat'] = 'Посмотреть категорию'; $lang['type_form'] = 'Форма для сайта'; $lang['type_detail'] = 'Подробно'; $lang['type_News'] = 'Новости'; $lang['type_summary'] = 'Резюме'; $lang['unknown'] = 'Неизвестно'; $lang['unlimited'] = 'Неограничено'; $lang['up'] = 'Вверх'; $lang['uploadscategory'] = 'Загрузка файлов'; $lang['url'] = 'Ссылка'; $lang['useexpiration'] = 'Использовать дату окончания'; $lang['viewfilter'] = 'Фильтр'; $lang['warning_preview'] = 'Предупреждение: Данная панель предпросмотра во многом подобна полноценному браузеру и позволяет покинуть стартовую страницу, перейдя по размещённым на ней ссылкам. Однако, после этого Вы можете столкнуться с неожиданным поведением. Покинув стартовую страницу и затем вернувшись, Вы можете не получить ожидаемого результата.
    Примечание: Окно предпросмотра позволяет выбрать файлы для загрузки, но не выполняет загрузку.'; $lang['with_selected'] = 'С выбранными'; $lang['ga'] = 'GA1.2.1577865953.1612097230'; ?>(buď už existuje, alebo obsahuje neplatné znaky)'; $lang['error_mkdir']='Nie je možné vytvoriť adresár: %s'; $lang['error_movefile']='Nie je možné vytvoriť súbor: %s'; $lang['error_noarticlesselected']='Neboli vybrané žiadne novinky'; $lang['error_nooptions']='Nezadané žiadne pole'; $lang['error_templatenamexists']='Šablóna s týmto názvom už existuje'; $lang['error_upload']='Problém pri nahrávaní súboru'; $lang['eventdesc-NewsArticleAdded']='Poslať po pridaní novinky'; $lang['eventdesc-NewsArticleDeleted']='Poslať po odstránení novinky'; $lang['eventdesc-NewsArticleEdited']='Poslať po upravení novinky'; $lang['eventdesc-NewsCategoryAdded']='Poslať po pridaní kategórie'; $lang['eventdesc-NewsCategoryDeleted']='Poslať po odstránení kategórie'; $lang['eventdesc-NewsCategoryEdited']='Poslať po upravení kategórie'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Staré'; $lang['expired_searchable']='Vypršané články sa môžu objaviť vo výsledkoch vyhľadávania'; $lang['expired_viewable']='Detail môže byť zobrazený pri vypršanom článku'; $lang['expiry']='Vyprší'; $lang['expiry_date_asc']='Dátum expirácie - vzostupne'; $lang['expiry_date_desc']='Dátum expirácie - zostupne'; $lang['expiry_interval']='Počet dní (prednastavených) pre expiráciu novinky (v prípade že expiráciu pri novinke vyberiete)'; $lang['extra']='Extra pole'; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='PageID alebo alias pre presmerovanie po pridaní novinky odoslanej cez front-end formulár'; $lang['fesubmit_status']='Stav novinky po odoslaní cez front-end'; $lang['fielddef']='Vlastné pole'; $lang['fielddefadded']='Vlastné pole bolo úspešne pridané'; $lang['fielddefdeleted']='Vlastné pole odstránené'; $lang['fielddefupdated']='Vlastné pole bolo aktualizované'; $lang['file']='Súbor'; $lang['filter']='Filtre'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mailová adresa pre prijímanie notifikácie odoslaný noviniek cez front-end'; $lang['formtemplate']='Šablóna pre formulár'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Tento parameter je použiteľný iba pri použití detailu novinky a definuje id konkrétnej novnky. Hodnota -1 nastavuje detail najnovšej publikovanej, neexpirovanej novinky.'; $lang['help_pagelimit']='Najväčší počet položiek pre zobrazenie na stránke. Ak tento údaj nie je zadaný, budú zobrazené všetky vyhovujúce položky. Ak je zadaný a je dostupných viacej položiek, ako určuje parameter, bude vytvorený text a linky pre umožnenie prechádzania výsledkami.'; $lang['helpaction']='Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Ukáže prechádzateľný zoznam kategórií.'; $lang['helpbrowsecattemplate']='Použitie šablóny z databázy pre zobrazenie zoznamu kategórii. Táto šablóna musí byť vytvorená a musí byť zobrazená v záložke Šablóny pre zoznam kategórii. V prípade, že tento parameter zadáte, nemusíte šablónu označovať ako prednastavenú. V prípade, že parameter nevyplníte, zobrazí sa šablóna prednastavená.'; $lang['helpcategory']='Zobraziť iba položky téjto kategórie a ích podpoložiek. Ponechané prázdne zobrazí všetky kategórie.'; $lang['helpdetailpage']='Stránka, kde sá bude zobrazovať detail novinky Môže byť ako ID stránky alebo alias stránky. Používa sa v prípade, keď chcete detail zobraziť v inej šablóne ako máte zobrazený súhrn.'; $lang['helpdetailtemplate']='Používať oddelenú šablónu pre detail. Táto šablóna má býť v modules/News/templates.'; $lang['helpformtemplate']='Použitie šablóny z databázy pre zobrazenie formulára pre odoslanie článku. Táto šablóna musí byť vytvorená a musí byť zobrazená v záložke Šablóna pre formulár. V prípade, že tento parameter zadáte, nemusíte šablónu označovať ako prednastavenú. V prípade, že parameter nevyplníte, zobrazí sa šablóna prednastavená.'; $lang['helpmoretext']='Text pre zobrazenie na konci novinky ak presahuje dĺžku súhrnu. Predvolený je "more..."'; $lang['helpnumber']='Maximálny počet položiek k zobrazeniu - ponechané prázdne zobrazí všetky položky.'; $lang['helpshowall']='Zobraziť všetky články, bez ohľadu na dátum konca'; $lang['helpshowarchive']='Ukáž staré príspevky.'; $lang['helpsortasc']='Triediť novinky vzostupne.'; $lang['helpsortby']='Pole pre triedenie. Možnosti sú: "news_date", "summary", "news_data", "news_category", "news_title". Predvolené je "news_date".'; $lang['helpstart']='Začiatok zobrazovania od N-tej položky -- ponechané prázdne začne zobrazovať od prvej položky'; $lang['helpsummarytemplate']='Používať oddelenú šablónu pre súhrn. Táto šablóna má byť v modules/News/templates.'; $lang['hide_summary_field']='Skryť pole pre súhrn pri pridávaní a editácii noviniek'; $lang['info_detail_returnid']='Parameter služi na zobrazenie novinky na vybranej detailnej stránke. Vlastné URL nebudú fungovať ak nebude tento parameter nastavený na korektnú stránku. Pokiaľ je ale nastavená táto voľba a detailpage parameter nebude zadaný v značke News, použije sa pre zobrazenie detailu dáto voľba.'; $lang['info_expired_viewable']='Pokiaľ je voľba zapnutá, bude možné zobraziť detail článku Toto nastavenie sa aplikuje aj pri použití parametra showall'; $lang['info_maxlength']='Maximálna dĺžka poľa sa používa iba pre textové polia'; $lang['info_public']='Iba polia nastavené ako verejné sa zobrazujú na stránke.'; $lang['info_sysdefault']='(východzia šablóna pre novú šablónu)'; $lang['info_sysdefault2']='Poznámka: Táto záložka obsajue polia pre úpravu šablón, ktoré sú zobrazené, keď vytváraťe novú šablónu pre súhrn, detail, alebo formulár. Úpravou týchto šablón nemá žiadny efekt na aktuálne používané šablóny.'; $lang['lastpage']='>>'; $lang['maxlength']='Maximálna dĺžka'; $lang['more']='Viac'; $lang['moretext']='Viac textu'; $lang['msg_contenttype_removed']='Podpora pre typ obsahu stránky pre novinky bola zrušená. Prosím vložte tag {news} s príslušnými parametrami do vašej stránky, prípadne šablóny.'; $lang['name']='Meno'; $lang['nameexists']='Vlastné pole s týmto názvom už existuje'; $lang['needpermission']='Potrebujete '%s' oprávnenia pre uskutočnenie tejto funkcie.'; $lang['newcategory']='Nová kategórie'; $lang['news']='Novinky'; $lang['news_return']='Návrat'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nebola zadaná kategória'; $lang['nocontentgiven']='Nebol zadaný obsah'; $lang['noitemsfound']='Neboli nájdene žiadne položky v kategórii: %s'; $lang['nonamegiven']='Nebolo zadané žiadne meno'; $lang['none']='Žiadne'; $lang['nopostdategiven']='Nebol zadaný dátum publikovania'; $lang['notanumber']='Maximálna dĺžka poľa musí byť číslo'; $lang['note']='Poznámka: Dátumy musia byť v 'yyyy-mm-dd hh:mm:ss' formáte.'; $lang['notify_n_draft_items']='Máte %s ktoré nie je/sú publikované'; $lang['notify_n_draft_items_sub']='%d novinka'; $lang['notitlegiven']='Nebol zadaný nadpis'; $lang['numbertodisplay']='Zobraziť počet (prázdne pre všetky záznamy)'; $lang['options']='Voľby'; $lang['optionsupdated']='Voľby boli úspešne upravené.'; $lang['post_date_asc']='Dátum publikovania - vzostupne'; $lang['post_date_desc']='Dátum publikovania - zostupne'; $lang['postdate']='Dátum publikovania'; $lang['postinstall']='Uistite sa, že používatelia ktorí budú spravovať novinky, majú nastavené oprávnenie "Modify News".'; $lang['preview']='Náhľad'; $lang['prevpage']='<'; $lang['print']='Tlačiť'; $lang['prompt_default']='Východzie'; $lang['prompt_name']='Meno'; $lang['prompt_newtemplate']='Vytvoriť novú šablónu'; $lang['prompt_of']='z'; $lang['prompt_page']='Stránka'; $lang['prompt_pagelimit']='Limit stránky'; $lang['prompt_sorting']='Zoradiť podľa'; $lang['prompt_template']='Zdroj šablóny'; $lang['prompt_templatename']='Názov šablóny'; $lang['public']='Verejné'; $lang['published']='Publikované'; $lang['reassign_category']='Zmeniť kategóriu na'; $lang['removed']='Odstránený'; $lang['resettodefault']='Obnoviť východzie nastavenia'; $lang['restoretodefaultsmsg']='Táto operácia obnoví východzí obsah šablón. Ste si istý, že chcete pokračovať?'; $lang['revert']='Nastaviť ako 'Návrh''; $lang['select']='Vybrať'; $lang['selectcategory']='Vybrať kategóriu'; $lang['showchildcategories']='Zobraziť podriadené kategórie'; $lang['sortascending']='Triediť vzostupne'; $lang['startdate']='Začína'; $lang['startdatetoolate']='Dátum začiatku je väčší ako dátum konca'; $lang['startoffset']='Začiatok zobrazovania od N-tej položky'; $lang['startrequiresend']='Vloženie dátumu začiatku potrebuje tiež dátum ukončenia'; $lang['status']='Stav'; $lang['status_asc']='Stav zostupne'; $lang['status_desc']='Stav vzostupne'; $lang['subject_newnews']='Bola pridaná novinka'; $lang['submit']='Odoslať'; $lang['summary']='Súhrn'; $lang['summarytemplate']='Šablóna súhrnu'; $lang['summarytemplateupdated']='Súhrnná šablóna pre novinky bola úspešne upravená.'; $lang['sysdefaults']='Obnoviť východzie nastavenie'; $lang['template']='Šablóna'; $lang['textarea']='Textová oblasť'; $lang['textbox']='Textové pole'; $lang['title']='Nadpis'; $lang['title_asc']='Nadpis - vzostupne'; $lang['title_available_templates']='Dostupné šablóny'; $lang['title_browsecat_sysdefault']='Prednastavená šablóna pre zoznam kategórii'; $lang['title_browsecat_template']='Editor pre šablónu zoznamu kategórii'; $lang['title_desc']='Nadpis - zostupne'; $lang['title_detail_returnid']='Prednastavené stránka pre detail'; $lang['title_detail_settings']='Nastavenie detailu'; $lang['title_detail_sysdefault']='Východzia šablóna podrobnosti'; $lang['title_detail_template']='Editor šablóny podrobnosti'; $lang['title_fesubmit_settings']='Nastavenie odoslania cez web'; $lang['title_filter']='Filtre'; $lang['title_form_sysdefault']='Prednastavená šablóna pre formulár'; $lang['title_form_template']='Editor pre šasblónu pre formulár'; $lang['title_notification_settings']='Nastavenia notifikácie'; $lang['title_submission_settings']='Nastavenie odoslania noviniek '; $lang['title_summary_sysdefault']='Východzia šablóna súhrnu '; $lang['title_summary_template']='Editor šablóny súhrnu'; $lang['type']='Typ'; $lang['unknown']='Neznámy'; $lang['unlimited']='Bez obmedzenia'; $lang['up']='Hore'; $lang['uploadscategory']='Nahrá kategóriu'; $lang['url']='URL adresa'; $lang['useexpiration']='Použíť dátum konca'; $lang['warning_preview']='Upozornenie: Záložka náhľadu umožuje zobraziť aktuálnu novinku bez uloženie. Avšak pri zložitých úpravach, sa nemúsí náhľad zobraziť korektne
    Poznámka: Náhľad nezobrazí obrázky, ktoré máte vybrané pre nahratie v nahrávacom poli.'; ?>(Mogoče je že v uporabi, ali pa obstajajo neveljavni znaki)'; $lang['error_mkdir']='Ne morem ustvariti mape: %s'; $lang['error_movefile']='Ne morem ustvariti datoteke: %s'; $lang['error_noarticlesselected']='Noben članek ni bil izbran'; $lang['error_templatenamexists']='Predloga s tem imenom že obstaja'; $lang['error_upload']='Prišlo je do napake pri nalaganju datoteke'; $lang['eventdesc-NewsArticleAdded']='Poslano, ko je dodan nov članek.'; $lang['eventdesc-NewsArticleDeleted']='Poslano, ko je članek izbrisan.'; $lang['eventdesc-NewsArticleEdited']='Poslano, ko je članek spremenjen.'; $lang['eventdesc-NewsCategoryAdded']='Poslano, ko je dodana nova kategorija.'; $lang['eventdesc-NewsCategoryDeleted']='Poslano, ko je kategorija izbrisana.'; $lang['eventdesc-NewsCategoryEdited']='Poslano, ko je kategorija spremenjena.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Zapadlo'; $lang['expired_searchable']='Potekli članki se lahko prikažejo v rezultatih iskanja'; $lang['expiry']='Zapadlost'; $lang['expiry_date_asc']='Datum zapada naraščajoče'; $lang['expiry_date_desc']='Datum zapada padajoče'; $lang['expiry_interval']='Privzeto število dni, preden objava članka zapade (če je omogočeno zapadanje)'; $lang['extra']='Dodatno'; $lang['extra_label']='Dodatno:'; $lang['fesubmit_redirect']='ID ali alias strani za preusmeritev po objavi članka preko akcije fesubmit'; $lang['fesubmit_status']='Status člankov, objavljenih preko front-end strani'; $lang['fielddef']='Definicija polja'; $lang['fielddefadded']='Definicija polja uspešno dodana'; $lang['fielddefdeleted']='Definicija polja je bila izbrisana'; $lang['fielddefupdated']='Definicija polja je bila shranjena'; $lang['file']='Datoteka'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mail za prejemanje obvestil o objavi novih člankov'; $lang['formtemplate']='Obrazci - predloge'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Parameter se uporablja samo v podrobnem pogledu. Omogoča določevanje katere novice naj se prikažejo v podrobnem pogledu. Če je uporabljena posebna vrednost -1, bo sistem prikazal najnovejši objavljen članek.'; $lang['help_pagelimit']='Največje število zapisov (na stran) za prikaz. Če parameter ni nastavljen, bodo prikazani vsi zapisi. Če je zapisov več od te vrednosti, bo prikazana navigacija za premikanje med rezultati.'; $lang['helpaction']=''Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Prikaže seznam kategorij za pregledovanje.'; $lang['helpbrowsecattemplate']='Uporabi ločeno predlogo baze za prikaz pregledovanja kategorij. Ta predloga mora obstajati in biti vidna v zavihku za predloge pregledovanja kategorij v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpcategory']='Uporabljeno v prikazu povzetkov za prikaz zapisov samo določene kategorije.Uporabite * za imenom, če želite prikazati tudi vse podrejene zapise. Če želite uporabiti več kategorij, jih ločite med seboj z vejico. Če pustite polje prazno, bodo prikazane vse kategorije. Ta parameter deluje tudi pri front-end objavi, vendar je podprto samo ime ene kategorije.'; $lang['helpdetailpage']='Stran za prikaz podrobnosti novic. To je lahko psevdonim strani ali pa ID strani. Uporabno za omogočanje prikaza podrobnosti novice v drugačni predlogi kot povzetek.'; $lang['helpdetailtemplate']='Uporabi ločeno predlogo baze za prikaz podrobnosti članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge podrobnosti člankov v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpformtemplate']='Uporabi ločeno predlogo baze za prikaz obrazca za objavo članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge obrazcev v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpmoretext']='Besedilo za prikaz na koncu članka, če je dolžina daljša od dolžine povzetka. Privzeto "več..."'; $lang['helpnumber']='Največje število zapisov za prikaz -- če pustite prazno, bodo prikazani vsi zapisi.'; $lang['helpshowall']='Prikaži vse članke, ne glede na datum zaključka objave'; $lang['helpshowarchive']='Prikaži samo zapadle članke.'; $lang['helpsortasc']='Razvrsti zapise naraščajoče namesto padajoče.'; $lang['helpsortby']='Polje za razvrstitev. Možnosti na voljo: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Privzeta vrednost je "news_date". Če izberete "random", ne bo uporabljen parameter sortasc.'; $lang['helpstart']='Začni prikaz pri n-tem zapisu -- če pustite prazno, bo prikaz začel pri prvem zapisu.'; $lang['helpsummarytemplate']='Uporabi ločeno predlogo baze za prikaz povzetka članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge povzetkov v administracij novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['hide_summary_field']='Skrij polje za povzetek pri dodajanju ali urejanju člankov'; $lang['info_detail_returnid']='Ta nastavitev se uporablja za določanje strani (in zato predlogo) za uporabo v podrobnem ogledu strani. Posebni URL-ji za podroben ogled novic ne bodo delovali, če ta parameter ni nastavljen na veljavno stran. Poleg tega, če je ta nastavljen, in noben detailpage parameter ni dodeljen v news tagu, nato bo ta vrednost uporabljena za linke do ogleda podrobnosti'; $lang['info_maxlength']='Največja dolžina veljavna samo pri poljih za tekstovni vnos'; $lang['info_sysdefault']='(vsebina, ki bo privzeto uporabljena, ko ustvarite novo predlogo)'; $lang['info_sysdefault2']='V vednost: V tem zavihku lahko urejate nabor predlog, ki bodo prikazane, ko ustvarite 'novo' predlogo za povzetek, podrobnosti ali obrazec. Spreminjanje vsebin v tem zavihku ne bo spremenilo obstoječih prikazov novic.'; $lang['lastpage']='>>'; $lang['maxlength']='Največja dolžina'; $lang['more']='Več'; $lang['moretext']='Več besedila'; $lang['msg_contenttype_removed']='Vsebina tipa novice je bila izbrisana. Prosimo vstavite oznake {news} z ustreznimi parametri v predlogo vaše spletne strani za nadomestilo te funkcionalnosti.'; $lang['name']='Ime'; $lang['nameexists']='Polje s tem imenom že obstaja'; $lang['needpermission']='Imeti morate pravico '%s', če želite izvesti to funkcijo.'; $lang['newcategory']='Nova kategorija'; $lang['news']='Novice'; $lang['news_return']='Nazaj'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nobena kategorija ni podana'; $lang['nocontentgiven']='Vsebina ni podana'; $lang['noitemsfound']='Nobenih zapisov v kategoriji: %s'; $lang['nonamegiven']='Ime ni podano'; $lang['none']='Noben'; $lang['nopostdategiven']='Datum objave ni podan'; $lang['notanumber']='Največja dolžina ni število'; $lang['note']='V vednost: Datumi naj bodo v formatu 'llll-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Imate %s, ki ni(so) objavljen(i)'; $lang['notify_n_draft_items_sub']='%d člankov'; $lang['notitlegiven']='Naziv ni podan'; $lang['numbertodisplay']='Število za prikaz (prazno prikaže vse zapise)'; $lang['options']='Možnosti'; $lang['optionsupdated']='Možnosti so bile uspešno spremenjene.'; $lang['post_date_asc']='Datum objave naraščajoče'; $lang['post_date_desc']='Datum objave padajoče'; $lang['postdate']='Datum objave'; $lang['postinstall']='Prepričajte se, da nastavite pravice za urejanje novic ("Modify News") uporabnikom, ki bodo administrirali članke.'; $lang['preview']='predogled'; $lang['prevpage']='<'; $lang['print']='Tiskanje'; $lang['prompt_default']='Privzeto'; $lang['prompt_name']='Naziv'; $lang['prompt_newtemplate']='Ustvari novo predlogo'; $lang['prompt_of']='od'; $lang['prompt_page']='Stran'; $lang['prompt_pagelimit']='Omejitev strani'; $lang['prompt_sorting']='Razvrsti po'; $lang['prompt_template']='Izvorna koda predloge'; $lang['prompt_templatename']='Naziv predloge'; $lang['public']='Javno'; $lang['published']='Objavljeno'; $lang['reassign_category']='Spremeni kategorijo v'; $lang['removed']='Izbrisano'; $lang['resettodefault']='Ponastavi na izvirno različico'; $lang['restoretodefaultsmsg']='Operacija bo povrnila vsebino predloge na sistemske privzete vrednosti. Ste prepričani, da želite nadaljevati?'; $lang['revert']='Nastavi status 'Osnutek''; $lang['select']='Izberi'; $lang['selectcategory']='Izberite kategorijo'; $lang['showchildcategories']='Prikaži podrejene kategorije'; $lang['sortascending']='Razvrsti naraščajoče'; $lang['startdate']='Datum začetka objave'; $lang['startdatetoolate']='Datum začetka objave je prepozen (po datumu konca?)'; $lang['startoffset']='Začni prikaz pri n-tem zapisu'; $lang['startrequiresend']='Vnos začetka objave zahteva tudi vnos datuma konca objave'; $lang['status_asc']='Status naraščajoč'; $lang['status_desc']='Status padajoč'; $lang['subject_newnews']='Nov članek je bil objavljen v novicah'; $lang['submit']='Pošlji'; $lang['summary']='Povzetek'; $lang['summarytemplate']='Povzetek - predloge'; $lang['summarytemplateupdated']='Predloga za povzetek novice je bila uspešno shranjena.'; $lang['sysdefaults']='Povrni na privzeto'; $lang['template']='Predloga'; $lang['textarea']='Tekstovno področje'; $lang['textbox']='Tekstovni vnos'; $lang['title']='Naziv'; $lang['title_asc']='Naziv naraščajoče'; $lang['title_available_templates']='Predloge na voljo'; $lang['title_browsecat_sysdefault']='Pregledovanje kategorije - privzeta predloga'; $lang['title_browsecat_template']='Pregledovanje kategorije - urejanje predloge'; $lang['title_desc']='Naziv padajoče'; $lang['title_detail_returnid']='Predstavljena stran, za uporabo podrobnega ogleda novic'; $lang['title_detail_settings']='Nastavitve za ogled podrobnosti'; $lang['title_detail_sysdefault']='Privzeta predloga podrobnosti'; $lang['title_detail_template']='Urejevalnik predloge podrobnosti'; $lang['title_fesubmit_settings']='Nastavitve za Frontend predložitev'; $lang['title_filter']='Filtri'; $lang['title_form_sysdefault']='Privzeta predloga obrazca'; $lang['title_form_template']='Urejevalnik predloge obrazca'; $lang['title_notification_settings']='Nastavitve za obvestilo'; $lang['title_submission_settings']='Nastavitve za predložitev novic'; $lang['title_summary_sysdefault']='Privzeta predloga povzetka'; $lang['title_summary_template']='Urejevalnik predloge povzetka'; $lang['type']='Tip'; $lang['unknown']='Neznano'; $lang['unlimited']='Neomejeno'; $lang['up']='Gor'; $lang['uploadscategory']='Kategorija za nalaganje datotek'; $lang['useexpiration']='Uporabi datum zapadlosti'; ?>(možda je već u upotrebi, ili sadrži nevalidne karaktere)'; $lang['error_mkdir'] = 'Neuspešno kreiranje direktorijuma: %s'; $lang['error_movefile'] = 'Neuspešno kreiranje datoteke: %s'; $lang['error_noarticlesselected'] = 'Nije izabran nijedan članak'; $lang['error_nooptions'] = 'Za definiciju polja nisu izabrane potrebne opcije'; $lang['error_templatenamexists'] = 'Šablon pod tim nazivom već postoji'; $lang['error_upload'] = 'Došlo je do problema prilikom otpremanja datoteke'; $lang['eventdesc-NewsArticleAdded'] = 'Šalje se nakon objavljivanja svežeg članka.'; $lang['eventdesc-NewsArticleDeleted'] = 'Šalje se nakon brisanja članka'; $lang['eventdesc-NewsArticleEdited'] = 'Šalje se nakon ažuriranja članka.'; $lang['eventdesc-NewsCategoryAdded'] = 'Šalje se nakon dodavanja nove kategorije.'; $lang['eventdesc-NewsCategoryDeleted'] = 'Šalje se nakon brisanja kategorije.'; $lang['eventdesc-NewsCategoryEdited'] = 'Šalje se nakon ažuriranja kategorije.'; $lang['eventhelp-NewsArticleAdded'] = '

    Šalje se nakon objavljivanja svežeg članka.

    Parametri

    • \"news_id\" - Id članka
    • \"category_id\" - Id kategorije datog članka
    • \"title\" - Naslov članka
    • \"content\" - Sadržaj članka
    • \"summary\" - Sažetak članka
    • \"status\" - Status članka ("nacrt" ili "objavljena")
    • \"start_time\" - Datum kada bi se novost trebala početi prikazivati
    • \"end_time\" - Datum kada bi će novost prestati prikazivati
    • \"useexp\" - Da li datum isteka važnosti treba zanemariti ili ne
    '; $lang['eventhelp-NewsArticleDeleted'] = '

    Šalje se nakon brisanja članka

    Parametri

    • \"news_id\" - Id članka
    '; $lang['eventhelp-NewsArticleEdited'] = '

    Šalje se nakon ažuriranja članka.

    Parametri

    • \"news_id\" - Id članka
    • \"category_id\" - Id kategorije datog članka
    • \"title\" - Naslov članka
    • \"content\" - Sadržaj članka
    • \"summary\" - Sažetak članka
    • \"status\" - Status članka ("nacrt" ili "objavljena")
    • \"start_time\" - Datum kada bi se novost trebala početi prikazivati
    • \"end_time\" - Datum kada bi će novost prestati prikazivati
    • \"useexp\" - Da li datum isteka važnosti treba zanemariti ili ne
    '; $lang['eventhelp-NewsCategoryAdded'] = '

    Šalje se nakon dodavanja nove kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv kategorije
    '; $lang['eventhelp-NewsCategoryDeleted'] = '

    Šalje se nakon brisanja kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv obrisane kategorije
    '; $lang['eventhelp-NewsCategoryEdited'] = '

    Šalje se nakon ažuriranja kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv kategorije
    • \"origname\" - Prethodni naziv kategorije
    '; $lang['expired'] = 'Istekla'; $lang['expired_searchable'] = 'Članci kojima je važnost istekla mogu se pojaviti u rezultatima pretrage'; $lang['expired_viewable'] = 'Članci koji su istekli mogu se pogledati u detaljnom pregledu'; $lang['expiry'] = 'Ističe'; $lang['expiry_date_asc'] = 'Po datumu isteka u rastućem redosledu'; $lang['expiry_date_desc'] = 'Po datumu isteka u opadajućem redosledu'; $lang['expiry_interval'] = 'Broj dana (podrazumevani) nakon kojih novost ističe (ukoliko je ta opcija čekirana)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ejstra:'; $lang['fesubmit_redirect'] = 'ID ili alijas strane na koju će korisnik biti preusmeren nakon što objavi novi članak putem fesubmit akcije'; $lang['fesubmit_status'] = 'Status članka koji je poslat preko korisničkog dela sajta'; $lang['fielddef'] = 'Definicija polja'; $lang['fielddefadded'] = 'Definicija polja uspešno dodata'; $lang['fielddefdeleted'] = 'Definicija polja obrisana'; $lang['fielddefupdated'] = 'Definicija polja ažurirana'; $lang['file'] = 'Datoteka'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'E-mail adresa na koju će se slati obaveštenja o objavljivanju novih članaka'; $lang['formtemplate'] = 'Šabloni formi'; $lang['help'] = '

    Važne napomene

    Od verzije 2.9 nadalje, iz modula Novosti je izbačen parametar formatpostdate koji se koristio u šablonima, kao i parametar dateformat. Za formatiranje datuma u svojim šablonima biste trebali koristiti cms_date_format modifikator (kao što je prikazano u fabrički podešenim šablonima) kao i entry->postdate umesto entry->formatpostdate.

    Šta ovo radi?

    Novosti su modul za objavljivanje novosti (ozbiljno :) ) na Vašim stranicama u stilu sličan blogovima, samo sa više mogućnosti. Nakon instalacije modula, u administrativni meni se dodaje još nedna stranica, koja Vam omogućava da izaberete ili dodate kategoriju novosti. Kada kreirate ili izaberete kategoriju novosti, prikazaće se spisak novosti iz te kategorije. Potom možete dodavati, menjati ili brisati novosti u toj kategoriji.

    Brojni načini prikazivanja

    Parametri koje modul Novosti podržava, kao i podrška brojnim šablonima za svaku priliku čine da su bukvalno nemate nikakvih ograničenja u načinima prikazivanja novosti.

    Korisnički definisana polja

    Modul Novosti dopušta definisanje sopstvenih polja (uključujući dokumente i slike) koji će Vam omogućiti da člancima dodate PDF dokumente ili brojne slike.

    Kategorije

    Modul pruža hijerarhijski model kategorija za organizovanje Vaših članaka. Jedan članak može pripadati samo jednoj kategoriji.

    Datum isteka i status

    Za svaku novost opciono može biti definisan datum isteka važnosti, nakon kog ona više neće biti prikazivana na Vašem sajtu. Takođe, članak može biti označen i kao nacrt što ga trajno uklanja sa Vašeg sajta.

    Sigurnost

    Korisnik mora pripadati grupi koja ima privilegiju "Menjanje novosti" kako bi mogao dodavati i menjati novosti.

    Takođe, da bi brisao članke, korisnik mora pripadati grupi koja ima privilegiju "Brisanje novosti".

    Da bi menjao elemente izgleda novosti, korisnik mora pripadati grupi sa "Menjanje šablona" privilegijom.

    Korisnik mora pripadati grupi sa privilegijom "Menjanje podešavanja sajta" da bi menjao opšta podešavanja modula.

    Dodatno, da bi mogao odobriti da se novst pojavi na sajtu, grupi kojoj korisnik pripada mora biti dodeljena "Odobravanje novosti" privilegija.

    Kako da ga koristim?

    Najlakši način za korišćenje modula je tag {news}. Ovim će modul biti ubačen u Vaš šablon ili stranicu sa sadržajem, gde god želite, i prikazati novosti. Kod bi bio sličan ovome: {news number='5'}

    Šabloni

    Od verzije 2.3 modul podržava višestruke šablone iz baze podataka, ali više ne podržava dodatne šablonske datoteke. Korisnici koji su upotrebljavali stari sistem za šablone, trebali bi da urade sledeće (za svaku šablonsku datoteku:

    • Kopirajte sadržaj datoteke u Klipboard;
    • Kreirajte novi šablon u bazi podataka (za sažetak ili detaljan prikaz, po potrebi). Dajte šablonu isti naziv koji je imao stari šablon (uključujući i .tpl ekstenziju) i prebacite sadržaj datoteke (Paste).
    • Kliknite na 'Pošalji'

    Ovo bi trebalo da reši problem nepronalaženja šablona za novosti i druge slične Smarty greške koje su se mogle javiti nakon što se prebacite na verziju CMS MS-a koja sadrži verziju 2.3 modula ili noviju.

    '; $lang['helpaction'] = 'Premošćuje podrazumevanu akciju. Moguće vrednosti su:
    • "detail" - za prikazivanje detalja određenog članka.
    • "default" - za prikazivanje sažetka
    • "fesubmit" - za prikazivanje forme na javnom korisničkom delu sajta, kako bi se omogućilo korisnicima da šalju novosti.
    • "browsecat" - za prikazivanje liste kategorija koju je moguće pretraživati.
    '; $lang['helpbrowsecat'] = 'Prikazuje listu kategorija koja se može pretraživati.'; $lang['helpbrowsecattemplate'] = 'Koristi šablon iz baze podataka za prikazivanje liste kategorija. Ovaj šablon mora postojati i biti vidljiv na tabu šablona za pretraživanje kategorija u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpcategory'] = 'Koristi se pri prikazivanju sažetaka kako bi se izdvojili članci specificiranih kategorija. Nakon naziva kategorije stavite * ukoliko želite da se prikažu i podkategorije. Više kategorija se može prikazati odjednom ako njihove nazive razdvojite zarezom. Ukoliko ovo polje ostavite prazno, prikazaće se sve kategorije. Ovaj parametar funkcioniše takođe i pri slanju novosti iz korisničkog dela sajta, ali je u tom slučaju podržan samo jedan naziv kategorije.'; $lang['helpdetailpage'] = 'Stranica na kojoj će se prikazivati detaljne novosti. Vrednost ovog polja može biti alijas ili ID oznaka stranice. Koristi se kako bi se omogućilo prikazivanje detaljne novosti po šablonu drukčijem og onog po kom se prikazuje sažetak.'; $lang['helpdetailtemplate'] = 'Koristi zaseban šablon iz baze podataka za prikazivanje detalja članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona detaljnih prikaza u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpformtemplate'] = 'Koristi šablon iz baze podataka za prikazivanje forme za slanje članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona formi za slanje novosti u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpmoretext'] = 'Tekst koji će se prikazivati na kraju novosti ako ista prekoračuje dužinu sažetka. Podrazumevana vrednost je "Više".'; $lang['helpnumber'] = 'Maksimalan broj članaka koji mogu biti prikazani na jednoj stranici. Ukoliko ovo polje ostavite prazno, prikazaće se svi članci. Ovo je sinonim parametra pagelimit'; $lang['helpshowall'] = 'Prikaži sve članke, nezavisno od datuma prestanka važnosti'; $lang['helpshowarchive'] = 'Prikaži samo članke čija važnost je istekla.'; $lang['helpsortasc'] = 'Sortiraj novosti po datumu objavljivanja u rastućem redosledu, radije nego u opadajućem.'; $lang['helpsortby'] = 'Polje po kom se vrši sortiranje. Opcije su: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Podrazumevana vrednost je "news_date". Ukoliko je navedena vrednost "random", parametar sortasc će biti ignorisan.'; $lang['helpstart'] = 'Počni od n-tog članka. Ukoliko ostavite ovo polje prazno, počeće se od prvog članka.'; $lang['helpsummarytemplate'] = 'Koristi zaseban šablon iz baze podataka za prikazivanje sažetka članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona sažetaka u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['help_articleid'] = 'Parametar je primenljiv isključivo na detaljan prikaz novosti. Omogućava koji članci će biti prikazani u detaljnom modu. Ukoliko je podešen na specijalnu vrednost -1, sistem će prikazivati najsvežiji, objavljeni važeći članak.'; $lang['help_idlist'] = 'Primenljivo samo na podrazumevanu akciju (sumarni pregled). Ovaj parametar prihvata listu numeričkih ID oznaka članaka (razdvojenih zarezima) i dozvoljava filtriranje članaka samo na članke čije su ID oznake naznačene. Stvarana lista prikazanih članaka i dalje će zavisiti od statusa članka, datuma isticanja i drugih parametara.'; $lang['help_pagelimit'] = 'Maksimalan broj članaka koji će se prikazati (po stranici). Ukoliko se ovaj parametar ne podesi, biće prikazani svi članci koji zadovolje dati kriterijum. A ukoliko je parametar podešen i broj članaka ga prevaziđe, korisniku će se omogućiti da "lista" rezultate putem linkova i odgovarajućeg teksta'; $lang['hide_summary_field'] = 'Sakrij polje za unos sažetka prilikom dodavanja ili ažuriranja članaka'; $lang['info_categories'] = 'Zbog lakšeg snalaženja, članci mogu biti organizovani u hijerarhijske kategorije'; $lang['info_detail_returnid'] = 'Ovo podešavanje se koristi za određivanje stranice (a samim tim i Šablona) koji će se koristiti pri detaljnom gledanju novosti. URL ka pojedinačnim člancima neće funkcionisati ukoliko ovaj parametar nije podešen na validnu stranicu. Takođe, ako je ovo podešavanje ispravno, ali parametar detailpage u news tagu nije podešen, onda će se upotrebiti za linkove ka detaljnijim vestima.'; $lang['info_expired_viewable'] = 'Ukoliko je omogućena, ova opcija učiniće da članci koji su istekli budu vidljivi u detaljnom pregledu (ovo podražava jednu staru funkcionalnost). Parametar showall takođe može biti upotrebljen u URL (kada sajt ne koristi tzv. pretty urls ) da bi se odredila vidljivost isteklih članaka'; $lang['info_maxlength'] = 'Maksimalna dužina se odnosi isključivo na polja za unos teksta'; $lang['info_public'] = 'U korisničkom delu za editovanje, kao i za prikazivanje u sumarnom i detaljnom pregledu članaka, dostupna su samo javna polja.'; $lang['info_reorder_categories'] = 'Prevucite svaku stavku u željeni redosled, kako biste promenili odnose između kategorija'; $lang['info_searchable'] = 'Ovo polje određuje da li će ovaj članak biti indeksiran od strane modula za pretragu'; $lang['info_sysdefault'] = '(sadržaj koji se automatski ubacuje u novokreirani šablon)'; $lang['info_sysdefault2'] = 'Napomena: Ovaj tab sadrži nekoliko tekst boksova koji Vam omogućavaju da menjate skup šablona koji se prikažu kada kliknete na "Kreiraj novi šablon", bilo za sažetak, detaljan prikaz ili za formu. Menjanje sadržaja u ovom tabu i pritiskanje dugmeta 'Pošalji' neće imati uticaja na bilo koji prikaz koji sada imate na sajtu. Ovi sadržaji se odnose samo na novokreirane šablone.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Pretraži članke'; $lang['maxlength'] = 'Maksimalna dužina'; $lang['msg_cancelled'] = 'Akcija otkazana'; $lang['msg_categoriesreordered'] = 'Redosled kategorija je izmenjen'; $lang['msg_contenttype_removed'] = 'Tip sadržaja news je uklonjen iz sistema. Molimo da umesto njega ubacite {news} tagove sa odgovarajućim parametrima u šablon ili sadržaj Vaše stranice kako biste dobili istu (ali unapređenu) funkcionalnost.'; $lang['msg_success'] = 'Operacija uspešno izvršena'; $lang['more'] = 'Još'; $lang['moretext'] = 'Još teksta'; $lang['name'] = 'Naziv'; $lang['nameexists'] = 'Polje pod tim nazivom već postoji'; $lang['needpermission'] = 'Morate imati dozvolu '%s' da biste izveli tu akciju.'; $lang['newcategory'] = 'Nova kategorija'; $lang['news'] = 'Novosti'; $lang['news_return'] = 'Nazad'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Nije izabrana kategorija'; $lang['nocontentgiven'] = 'Nije unet sadržaj'; $lang['noitemsfound'] = 'Nisu pronađeni članci u kategoriji: %s'; $lang['nonamegiven'] = 'Nije unet naziv'; $lang['none'] = 'Nema'; $lang['nopostdategiven'] = 'Nije unešen datum objavljivanja'; $lang['notanumber'] = 'Vrednost za maksimalnu dužinu koju ste uneli nije broj'; $lang['note'] = 'Napomena: Datumi moraju biti u formatu 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items'] = 'Imate %s koji nije/nisu objavljen(i)'; $lang['notify_n_draft_items_sub'] = '%d članak(a) novosti'; $lang['notitlegiven'] = 'Nije unet naslov'; $lang['numbertodisplay'] = 'Broj prikazanih (ukoliko je polje prazno, prikazuju se svi zapisi)'; $lang['options'] = 'Opcije'; $lang['optionsupdated'] = 'Opcije su uspešno ažurirane.'; $lang['parent'] = 'Roditelj'; $lang['postdate'] = 'Datum objavljivanja'; $lang['postinstall'] = 'Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['post_date_asc'] = 'Po datumu objavljivanja u rastućem redosledu'; $lang['post_date_desc'] = 'Po datumu objavljivanja u opadajućem redosledu'; $lang['preview'] = 'Pregled'; $lang['prevpage'] = '<'; $lang['print'] = 'Štampaj'; $lang['prompt_default'] = 'Podrazumevano'; $lang['prompt_go'] = 'Idi'; $lang['prompt_name'] = 'Naziv'; $lang['prompt_newtemplate'] = 'Kreiraj novi šablon'; $lang['prompt_of'] = 'od'; $lang['prompt_page'] = 'Strana'; $lang['prompt_pagelimit'] = 'Broj članaka po strani'; $lang['prompt_sorting'] = 'Sortiraj po'; $lang['prompt_template'] = 'Izvor šablona'; $lang['prompt_templatename'] = 'Naziv šablona'; $lang['public'] = 'Javno'; $lang['published'] = 'Objavljena'; $lang['reassign_category'] = 'Promeni kategoriju u'; $lang['removed'] = 'Obrisano'; $lang['reorder'] = 'Promeni redosled'; $lang['reorder_categories'] = 'Promeni redosled kategorija'; $lang['reset'] = 'Resetuj'; $lang['resettodefault'] = 'Resetuj na fabrička podešavanja'; $lang['restoretodefaultsmsg'] = 'Ova operacija će vratiti sadržaj šablona u stanje u kom je bio nakon instalacije sistema. Da li ste sigurni da želite sa ovim da nastavite?'; $lang['revert'] = 'Promeni status u 'Nacrt''; $lang['searchable'] = 'Pretraživ'; $lang['select'] = 'Čekiraj'; $lang['selectall'] = 'Selektuj sve'; $lang['selectcategory'] = 'Izaberite kategoriju'; $lang['showchildcategories'] = 'Prikaži podkategorije'; $lang['sortascending'] = 'Sortiraj u rastućem redosledu'; $lang['startdate'] = 'Datum početka važenja'; $lang['startdatetoolate'] = 'Datum početka važenja je preveliki (nakon datuma isteka?)'; $lang['startoffset'] = 'Počni da prikazuješ od n-tog članka'; $lang['startrequiresend'] = 'Unošenje datuma početka važenja zahteva da unesete i datum isteka'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Po statusu u rastućem redosledu'; $lang['status_desc'] = 'Po statusu u opadajućem redosledu'; $lang['subject_newnews'] = 'Objavljen je sveži članak novosti'; $lang['submit'] = 'Pošalji'; $lang['summary'] = 'Sažetak'; $lang['summarytemplate'] = 'Šabloni sažetaka'; $lang['summarytemplateupdated'] = 'Šablon prikaza sažetka novosti je uspešno ažuriran'; $lang['sysdefaults'] = 'Vrati u prvobitno stanje'; $lang['template'] = 'Šablon'; $lang['textarea'] = 'Tekst boks'; $lang['textbox'] = 'Polje za unos teksta'; $lang['title'] = 'Naslov'; $lang['title_asc'] = 'Po naslovu u rastućem redosledu'; $lang['title_available_templates'] = 'Dostupni šabloni'; $lang['title_browsecat_sysdefault'] = 'Podrazumevani šablon pretrage po kategoriji'; $lang['title_browsecat_template'] = 'Editor šablona pretrage po kategoriji'; $lang['title_desc'] = 'Po naslovu u opadajućem redosledu'; $lang['title_detail_returnid'] = 'Podrazumevana stranica koja će se koristiti za pregledanje detaljnih novosti'; $lang['title_detail_settings'] = 'Podešavanja detaljnog pregleda'; $lang['title_detail_sysdefault'] = 'Podrazumevani šablon detaljnog prikaza'; $lang['title_detail_template'] = 'Editor šablona detaljnog prikaza'; $lang['title_fesubmit_settings'] = 'Podešavanje procedue objavljivanja iz korisničkog dela sajta'; $lang['title_filter'] = 'Filteri'; $lang['title_form_sysdefault'] = 'Podrazumevani šablon forme'; $lang['title_form_template'] = 'Editor šablona formi'; $lang['title_notification_settings'] = 'Podešavanje obaveštenja'; $lang['title_submission_settings'] = 'Podešavanja procedure objavljivanja novosti'; $lang['title_summary_sysdefault'] = 'Podrazumevani šablon sažetka'; $lang['title_summary_template'] = 'Editor šablona sažetog prikaza'; $lang['toggle_bulk'] = 'Selektuj ovaj članak za izvršenje grupne operacije'; $lang['type'] = 'Tip'; $lang['type_browsecat'] = 'Pretraži kategoriju'; $lang['type_form'] = 'Forma za korisnički deo'; $lang['type_detail'] = 'Detalj'; $lang['type_News'] = 'Novosti'; $lang['type_summary'] = 'Sumarni pregled'; $lang['unknown'] = 'Nepoznato'; $lang['unlimited'] = 'Neograničeno'; $lang['up'] = 'Gore'; $lang['uploadscategory'] = 'Kategorija otpremanja'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Odredi datum isticanja važnosti'; $lang['viewfilter'] = 'Filter pregleda'; $lang['warning_preview'] = 'Upozorenje: Ovaj pregledni panel se ponaša slično kao prozor Veb pretraživača, omogućavajući Vam da se udaljite od stranice koju ste prvobitno pregledali. Međutim, ukoliko to uradite, može doći do neočekivanog ponašanja. Ako se udaljite od izvornog prikaza i vratite se nazad, možete dobiti neočekivane rezultate.
    Napomena: Tokom pregleda neće biti otpremljene datoteke koje izaberete.'; $lang['with_selected'] = 'Sa izabranim'; $lang['utma'] = '156861353.114482514.1383506026.1383686623.1383983278.5'; $lang['utmz'] = '156861353.1383506026.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'; $lang['utmb'] = '156861353'; $lang['utmc'] = '156861353'; ?> (kanske den redan används, eller om det finns ogiltiga tecken) '; $lang['error_mkdir']='Kunde inte skapa mappen: %s'; $lang['error_movefile']='Kunde inte skapa filen: %s'; $lang['error_noarticlesselected']='Inga artiklar valdes'; $lang['error_templatenamexists']='En mall med detta namn finns redan'; $lang['error_upload']='Problem uppstod när fil laddades upp'; $lang['eventdesc-NewsArticleAdded']='Skickas när en artikel läggs till.'; $lang['eventdesc-NewsArticleDeleted']='Skickas när en artikel tas bort.'; $lang['eventdesc-NewsArticleEdited']='Skickas när en artikel redigeras.'; $lang['eventdesc-NewsCategoryAdded']='Skickas när en kategori läggs till.'; $lang['eventdesc-NewsCategoryDeleted']='Skickas när en kategori tas bort.'; $lang['eventdesc-NewsCategoryEdited']='Skickas när en kategori redigeras.'; $lang['eventhelp-NewsArticleAdded']='

    Skickas när en artikel läggs till.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln
    • \"category_id\" - ID på kategorin för den här artikeln
    • \"title\" - Titel på artikeln
    • \"content\" - Innehållet i artikeln
    • \"summary\" - Summering av artikeln
    • \"status\" - Statusen på artikeln ("skriven" eller "publicerad")
    • \"start_time\" - Datumet då artikeln ska börja visas
    • \"end_time\" - Om slutdatumet ska ignoreras eller inte
    '; $lang['eventhelp-NewsArticleDeleted']='

    Skickas när en artikel är borttagen.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln.
    '; $lang['eventhelp-NewsArticleEdited']='

    Skickas när en artikel är ändrad.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln
    • \"category_id\" - ID på kategorin för den här artikeln.
    • \"title\" - Titel på artikeln
    • \"content\" - Innehållet i artikeln
    • \"summary\" - Summering av artikeln
    • \"status\" - Statusen på artikeln ("skriven" eller "publicerad")
    • \"start_time\" - Datumet då artikeln ska börja visas
    • \"end_time\" - Datumet då artikeln ska sluta visas
    • \"useexp\" - Om slutdatumet ska ignoreras eller inte
    '; $lang['eventhelp-NewsCategoryAdded']='

    Skickas när en kategori är tillagd.

    Parametrar

    • \"category_id\" - ID på nyhetskategorin
    • \"name\" - Namnet på nyhetskategorin
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Skickas när en kategori tas bort.

    Parametrar

    • \"category_id\" - ID på kategorin som togs bort
    • \"name\" - Namnet på kategorin som togs bort
    '; $lang['eventhelp-NewsCategoryEdited']='

    Skickas när en kategori är ändrad.

    Parametrar

    • \"category_id\" - ID på nyhetskategorin
    • \"name\" - Namnet på nyhetakategorin.
    • \"origname\" - Ursprungsnamnet på nyhetakategorin.
    '; $lang['expired']='Utgången'; $lang['expired_searchable']='Tillåt artiklar som passerat slutdatum att visas i sökresultat'; $lang['expired_viewable']='Utgångna artiklar kan ses i detaljvyn'; $lang['expiry']='Upphörande'; $lang['expiry_date_asc']='Utgångsdatum stigande'; $lang['expiry_date_desc']='Utgångsdatum fallande'; $lang['expiry_interval']='Antalet dagar (som standard) innan en artikel utgår (om "utgång" är vald)'; $lang['extra']='Extra '; $lang['extra_label']='Extra :'; $lang['fesubmit_redirect']='Sid ID eller alias att återgå till efter att en nyhetsartikel har blivit tillagd med "fesubmit" funktionen'; $lang['fesubmit_status']='Statusen för nyhetsartiklar som skickas via framsidan/frontend'; $lang['fielddef']='Fältdefinition'; $lang['fielddefadded']='Fältdefinition lades till'; $lang['fielddefdeleted']='Fältdefinition borttagen'; $lang['fielddefupdated']='Fältdefinition uppdateraf'; $lang['file']='Fil'; $lang['filter']='Filter '; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Epostadress som ska motta meddelande om nyhetsprenumerationer'; $lang['formtemplate']='Formulärsmallar'; $lang['help']='

    Important Notes

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    Vad gör den här modulen?

    Nyheter är en modul med vars hjälp man kan hantera och visa nyhetsartiklar på sin webbplats. Man kan jämföra modulen med weblog (blogg), fast nyhetsmodulen har fler funktioner. När modulen installeras så utökas också administrationsgränssnittet med verktyg för att hantera nyhetsartiklar. Man ges möjlighet att skapa egna nyhetskategorier så att olika typer av nyheter kan placeras på olika ställen på webbplatsen.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    RSS Feeds

    News supports generating simple rss feeds from your news articles, so that your visitors can always be up to date with what is happening on your site.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Säkerhet

    En användare måste tillhöra gruppen 'Modify News' för att kunna lägga till, redigera eller ta bort nyhetsartiklar.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    För att redigera layoutmallarna måste användaren tillhöra en grupp med rättigheten 'Modify Templates'.

    För att redigera globala nyhetsinställningar måste användaren tillhöra en grupp med rättigheten 'Modify Site Preferences'.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    Hur använder man modulen?

    Enklast är att använda taggen {news} (som är ett hölje runt modultaggen, för att förenkla syntaxet). Med denna tagg kan man lägga till och visa nyheter på valfri plats i en mall eller en sida. Koden för detta kan till exempel se ut så här: {news number="5"}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit
    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Denna parameter fungerar endast i den detaljerade vyn. Den tillåter att specificera vilken nyhetsartikel som visas i detaljerad vy. Om specialvärdet -1 används, visar systemet den nyaste, publicerade, ej utgångna artikeln.'; $lang['help_pagelimit']='Maximalt antal artiklar att visa (per sida). Om denna parametern inte anges kommer alla matchande artiklar att visas. Om parametern anges, och det finns fler artiklar än vad som anges i parametern, kommer text och länkar läggas till så att man kan navigera genom resultaten.'; $lang['helpaction']='Upphäv förvald handling. Möjliga värden är 'default' för att visa summeringsvyn, och 'fesubmit' för att visa Frontend-formuläret för att tillåta användare att skicka in nyheter via frontend.'; $lang['helpbrowsecat']='Visa en sökbar kategorilista.'; $lang['helpbrowsecattemplate']='Använd en databasmall för att visa kategoribläddraren. Denna mall måste finnas och vara synlig i fliken Mallar för kategoribläddring i administrationen för Nyheter, även om det inte måste vara standardmallen. Om denna parameter inte anges kommer den nuvarande standardmallen markeras att användas.'; $lang['helpcategory']='Visar endast nyheter i vald kategori. Använd * efter namnet för att visa underkategorier. Flera kategorier kan visas, använd kommatecken mellan varje. Om ingen specifik kategori anges så visas alla nyheter.'; $lang['helpdetailpage']='Sida att visa detaljerna för nyhetsartikeln på. Detta kan antingen vara ett sidalias eller ett id. Används för att detaljer ska kunna visas med en annan mall än sammanfattningen.'; $lang['helpdetailtemplate']='Använd en specifik mall för att styra huvudinnehållet i artikeln. Mallen måste finnas i mappen modules/News/templates.'; $lang['helpformtemplate']='Använd en databasmall för att visa formulär för artikelredigering. Mallen måste finnas och vara synlig i fliken för formulärsmallar i News administrationen, även om den inte behöver vara förvald. Om den här parametern inte ange kommer den förvalda mallen användas.'; $lang['helpmoretext']='Text som visas efter en artikels sammanfattning. Ett klick på den visar hela nyhetsartikeln. Om inget anges så visas "more...".'; $lang['helpnumber']='Max antal artiklar att visa (om tomt visas alla artiklar).'; $lang['helpshowall']='Visa alla artiklar, oavsett slutdatum'; $lang['helpshowarchive']='Visa endast utgågna nyhetsartiklar.'; $lang['helpsortasc']='Sortera artiklar i stigande datumordning i stället för fallande.'; $lang['helpsortby']='Anger efter vilket fält som sortering ska ske. Alternativen är: "news_date", "summary", "news_data", "news_category", "news_title". "news_date" används om inget annat anges.'; $lang['helpstart']='Börja från nyhet nummer X -- om lämnas tom visas från första nyheten.'; $lang['helpsummarytemplate']='Använd en specifik mall för att styra nyhetssammanfattningen. Mallen måste finnas i mappen modules/News/templates.'; $lang['hide_summary_field']='Göm sammanfattningsfältet när artiklar läggs till eller redigeras'; $lang['info_detail_returnid']='Den här inställningen används för att bestämma en sida (och därför en mall) som ska användas för att visa detaljsidor. Individualiserad nyhets-detalj webbadresser kommer inte att fungera om den här parametern inte är satt till en giltig sida. Dessutom, om detta är inställt, och ingen detaljside parameter anges på nyhets taggen, så kommer detta värde att användas för detaljlänkar.'; $lang['info_expired_viewable']='Om aktiverat så kan utgångna artiklar visas i detaljvyn (detta reproducerar äldre funktionalitet). Parametern showall kan användas (när du inte använder Pretty urls) för att visa utgångna artiklar.'; $lang['info_maxlength']='Maxlängden gäller bara för textinmatningsfält'; $lang['info_sysdefault']='(mall som används som standard när en ny mall väljs)'; $lang['info_sysdefault2']='Observera: Den här flicken innehåller textfält som gör det möjligt för dit att redigera en mängd mallar som visas när du skapar ett ny summerings-, detalj- eller formulärsmall. Gällande visningar påverkas inte av att du redigerar innehållet och sparar informationen.'; $lang['lastpage']='>>'; $lang['maxlength']='Maxlängd'; $lang['more']='Mer'; $lang['moretext']='Mera text'; $lang['msg_contenttype_removed']='Innehållstypen nyheter har tagits bort. Placera istället taggen {news} med lämpliga parametrar i din sidmall eller i din sidas innehåll, för att ersätta den här funktionen.'; $lang['name']='Namn'; $lang['nameexists']='Ett fält med det här namnet finns redan'; $lang['needpermission']='Du behöver rättigheten '%s' för att göra detta.'; $lang['newcategory']='Ny kategori'; $lang['news']='Nyheter'; $lang['news_return']='Tillbaka'; $lang['nextpage']='>'; $lang['nocategorygiven']='Ingen kategori angiven'; $lang['nocontentgiven']='Inget innehåll valt'; $lang['noitemsfound']='Hittade inga artiklar i kategori: %s'; $lang['nonamegiven']='Inget namn angett'; $lang['none']='Ingen'; $lang['nopostdategiven']='Inget publiceringsdatum angivet'; $lang['notanumber']='Maxlängd är inte en siffra'; $lang['note']='OBS: Datum måste vara på formatet 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Du har %d nyhetsartiklar som inte har publicerats'; $lang['notify_n_draft_items_sub']='%d nyhetsartikel/-artiklar'; $lang['notitlegiven']='Ingen titel angiven'; $lang['numbertodisplay']='Max antal nyheter som ska visas (om tomt visas alla)'; $lang['options']='Inställningar'; $lang['optionsupdated']='Inställningarna har uppdaterats.'; $lang['post_date_asc']='Publiceringsdatum stigande'; $lang['post_date_desc']='Publiceringsdatum fallande'; $lang['postdate']='Publiceringsdatum'; $lang['postinstall']='Kom ihåg att sätta rättigheten "Modify News" för de användare som ska administrera nyhetsartiklar.'; $lang['preview']='Förhandsgranskning'; $lang['prevpage']='<'; $lang['print']='Skriv ut'; $lang['prompt_default']='Standard'; $lang['prompt_name']='Namn'; $lang['prompt_newtemplate']='Skapa en ny mall'; $lang['prompt_of']='av'; $lang['prompt_page']='Sida'; $lang['prompt_pagelimit']='Sidmax'; $lang['prompt_sorting']='Sortera efter'; $lang['prompt_template']='Mallkod'; $lang['prompt_templatename']='Mallnamn'; $lang['public']='Allmän'; $lang['published']='Publicerad'; $lang['reassign_category']='Ändra kategori till'; $lang['removed']='Borttagen'; $lang['resettodefault']='Återställ till fabriksinställningar'; $lang['restoretodefaultsmsg']='Detta återställer mallarna till standardinställningarna. Är du säker på att du vill fortsätta?'; $lang['revert']='Sätt status till 'Utkast''; $lang['select']='Välj'; $lang['selectcategory']='Välj kategori'; $lang['showchildcategories']='Visa underkategorier'; $lang['sortascending']='Sortera stigande'; $lang['startdate']='Startdatum'; $lang['startdatetoolate']='Startdatum är för sent (efter slutdatum?)'; $lang['startoffset']='Börja visa från nyhet nummer X'; $lang['startrequiresend']='Ett startdatum kräver också att man anger ett stoppdatum'; $lang['status']='Status '; $lang['status_asc']='Status Stigande'; $lang['status_desc']='Status Fallande'; $lang['subject_newnews']='En ny artikel i News har skickats'; $lang['submit']='Lägg till'; $lang['summary']='Sammandrag'; $lang['summarytemplate']='Mall för sammandrag'; $lang['summarytemplateupdated']='Nyhetsmallen för sammandrag har uppdaterats.'; $lang['sysdefaults']='Återställ standardinställningar'; $lang['template']='Mall'; $lang['textarea']='Textruta (textarea)'; $lang['textbox']='Inmatningsfält (input)'; $lang['title']='Titel'; $lang['title_asc']='Titel fallande'; $lang['title_available_templates']='Tillgängliga mallar'; $lang['title_browsecat_sysdefault']='Standardmall för kategoribläddrare'; $lang['title_browsecat_template']='Redigera mall för kategoribläddrare'; $lang['title_desc']='Titel stigande'; $lang['title_detail_returnid']='Standardsida för detaljvisning'; $lang['title_detail_settings']='Inställningar för detaljvisningar'; $lang['title_detail_sysdefault']='Standarddetaljmall'; $lang['title_detail_template']='Redigerare för detaljmall'; $lang['title_fesubmit_settings']='Inställningar vid tillagd nyhet från framsidan'; $lang['title_filter']='Filter'; $lang['title_form_sysdefault']='Förvald formulärsmall'; $lang['title_form_template']='Editor för formulärsmall'; $lang['title_notification_settings']='Notiferingsinställningar'; $lang['title_submission_settings']='Inställningar vid tillagd nyhet'; $lang['title_summary_sysdefault']='Standardsammanfattningsmall'; $lang['title_summary_template']='Redigerare för sammanfattningsmall'; $lang['type']='Typ'; $lang['unknown']='Okänd'; $lang['unlimited']='Obegränsad'; $lang['up']='Upp'; $lang['uploadscategory']='Uppladdningskategori'; $lang['url']='Url'; $lang['useexpiration']='Använd stoppdatum'; $lang['warning_preview']='Varning: Denna förhandsgranskning uppför sig i stort sett som ett eget webbläsar-fönster och tillåter att du navigerar bort från den sida du förhandsgranskar. Om du gör detta kan du uppleva ett beteende som skiljer sig från det du normalt förväntar dig. Om du navigerar bort från den förhandsgranskade sidan och sedan tillbaka till den kommer du inte att få det förväntade resultatet.
    Observera: Förhandsgranskningen laddar inte upp filer som du har valt för uppladdning.'; ?> (zaten kullanılmış veya geçersiz karakter içeriyor) '; $lang['error_mkdir'] = 'Klasör oluşturulamadı: %s'; $lang['error_movefile'] = 'Dosya oluşturulamadı: %s'; $lang['error_noarticlesselected'] = 'Hiç Haber Seçilmedi'; $lang['error_templatenamexists'] = 'Şablon adı zaten var'; $lang['error_upload'] = 'Dosya yükleme hatası oluştu'; $lang['eventdesc-NewsArticleAdded'] = 'Haber eklendiğinde gönderildi.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sent when an article is added.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Haber silindiğinde gönderildi.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • \\"news_id\\" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Haber düzenlendiğinde gönderildi.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Kategori eklendiğinde gönderildi.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Kategori silindiğinde gönderildi.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • \\"category_id\\" - Id of the deleted category
    • \\"name\\" - Name of the deleted category
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Kategori düzenlendiğinde gönderildi.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    • \\"origname\\" - The original name of the news category
    '; $lang['expired'] = 'Süresi Dolmuş'; $lang['expired_searchable'] = 'Süresi bitmiş haberler arama sonuçlarında çıkabilsin'; $lang['expiry'] = 'Süresi'; $lang['expiry_date_asc'] = 'Gerçerlilik Tarihi Artan'; $lang['expiry_date_desc'] = 'Geçerlilik Tarihi Azalan'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fielddef'] = 'Alan Tanımlama'; $lang['fielddefadded'] = 'Alan Tanımı Eklendi'; $lang['fielddefdeleted'] = 'Tanımlanan Alan Silindi'; $lang['fielddefupdated'] = 'Alan Tanımı Güncellendi'; $lang['file'] = 'Dosya'; $lang['filter'] = 'Süz'; $lang['firstpage'] = '<<'; $lang['formtemplate'] = 'Form Şablonları'; $lang['help'] = '

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number=\'5\'}

    '; $lang['helpaction'] = 'Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat'] = 'Taranabilir kategori listesini göster.'; $lang['helpcategory'] = 'Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailtemplate'] = 'Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext'] = 'Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber'] = 'Gösterilecek öğe sayısı =- boş bırakılırsa tüm öğeler gösterilir.'; $lang['helpshowall'] = 'Bitiş tarihine bakılmaksızın tüm haberleri göster'; $lang['helpshowarchive'] = 'Sadece süresi geçmiş haberleri göster.'; $lang['helpsortby'] = 'Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart'] = 'Başlangıç öğe sayısı -- boş bırakılırsa ilk öğeden başlanır.'; $lang['helpsummarytemplate'] = 'Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['info_maxlength'] = 'Maksimum uzunluğu yalnızca metin giriş alanları için geçerlidir.'; $lang['info_sysdefault'] = '(the content used by default when a new template is created)'; $lang['info_sysdefault2'] = 'Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a \'new\' summary, detail, or form template. Changing content in this tab, and clicking \'submit\' will not effect any current displays.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Haberlerde Ara'; $lang['maxlength'] = 'Maksimum Uzunluk'; $lang['msg_categoriesreordered'] = 'Kategory sıralaması güncellendi'; $lang['msg_success'] = 'İşlem Başarılı'; $lang['more'] = 'Devamı'; $lang['moretext'] = 'Fazla yazı'; $lang['name'] = 'İsim'; $lang['nameexists'] = 'Tanımlı alan adı zaten var'; $lang['needpermission'] = 'Bu işlemi yapmak için \'%s\' yetkinizin olması gerekir.'; $lang['newcategory'] = 'Yeni Kategori'; $lang['news'] = 'Haberler'; $lang['news_return'] = 'Geri dön'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Kategori girilmemiş'; $lang['nocontentgiven'] = 'İçerik girilmemiş'; $lang['noitemsfound'] = 'Kategori için hiç öğe bulunamadı: %s'; $lang['nonamegiven'] = 'İsim girilmemiş'; $lang['none'] = 'Yok'; $lang['nopostdategiven'] = 'Gönderme Tarihi girilmemiş'; $lang['notanumber'] = 'Maksimum Uzunluk Sayı Değil'; $lang['note'] = 'Not: Tarihler \'yyyy-mm-dd hh:mm:ss\' biçiminde olmalıdır.'; $lang['notify_n_draft_items'] = '%s sayıda yayınalnmamış haber var'; $lang['notify_n_draft_items_sub'] = '%d Haber Yazıları(s)'; $lang['notitlegiven'] = 'Başlık girilmemiş'; $lang['numbertodisplay'] = 'Gösterilecek adet (boş bırakılırsa tüm kayıtlar gösterilir)'; $lang['options'] = 'Seçenekler'; $lang['optionsupdated'] = 'Seçenekler başarılı olarak güncellendi.'; $lang['parent'] = 'Üst'; $lang['postdate'] = 'Gönderme Tarihi'; $lang['postinstall'] = 'Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['post_date_asc'] = 'Gönderim Tarihi Artan'; $lang['post_date_desc'] = 'Gönderim Tarihi Azalan'; $lang['preview'] = 'Önizleme'; $lang['prevpage'] = '<'; $lang['print'] = 'Yazdır'; $lang['prompt_default'] = 'Varsayılan'; $lang['prompt_go'] = 'Git'; $lang['prompt_name'] = 'Adı'; $lang['prompt_newtemplate'] = 'Yeni Şablon Yarat'; $lang['prompt_of'] = '-'; $lang['prompt_page'] = 'Sayfa'; $lang['prompt_pagelimit'] = 'Sayfa Limiti'; $lang['prompt_redirecttocontent'] = 'Geri dön'; $lang['prompt_sorting'] = 'Sırala'; $lang['prompt_template'] = 'Şablon Kaynağı'; $lang['prompt_templatename'] = 'Şablon Adı'; $lang['public'] = 'Genel'; $lang['published'] = 'Yayınlandı'; $lang['reassign_category'] = 'Kategori değiştir'; $lang['removed'] = 'Geri Alındı'; $lang['reorder'] = 'Sırala'; $lang['reorder_categories'] = 'Kategorileri Sırala'; $lang['reset'] = 'Sıfırla'; $lang['resettodefault'] = 'Varsayılan Ayarlara Geri Dön'; $lang['restoretodefaultsmsg'] = 'Bu işlem şablon içeriğini sistem varsayılanlarına çevirecektir. Devam etmek istediğinizden emin misiniz?'; $lang['revert'] = 'Durumu \'Taslak\' olarak değiştir'; $lang['searchable'] = 'Aranabilir'; $lang['select'] = 'Seçiniz'; $lang['select_option'] = 'Seçiniz'; $lang['selectall'] = 'Hepisini Seç'; $lang['selectcategory'] = 'Kategori Seçin'; $lang['showchildcategories'] = 'Alt kategorileri göster'; $lang['sortascending'] = 'Büyükten küçüğe sırala'; $lang['startdate'] = 'Başlangıç Tarihi'; $lang['startdatetoolate'] = 'Başlangıç ​​Tarihi bitiş tarihinden sonra olamaz'; $lang['startoffset'] = 'n\'inci öğeden başlayarak göster'; $lang['startrequiresend'] = 'Başlangıç tarihini girmek bitiş tarihini de girmeyi gerektirir'; $lang['status'] = 'Durum'; $lang['status_asc'] = 'Duruma Göre Azalan'; $lang['status_desc'] = 'Duruma Göre Azalan'; $lang['subject_newnews'] = 'Yeni bir haber makalesi gönderildi'; $lang['submit'] = 'Gönder'; $lang['summary'] = 'Özet'; $lang['summarytemplate'] = 'Özet Şablonu'; $lang['summarytemplateupdated'] = 'Haber Özet Şablonu başarılı olarak güncellendi.'; $lang['sysdefaults'] = 'Varsayılanlara dön'; $lang['template'] = 'Şablon'; $lang['textarea'] = 'Text Area'; $lang['textbox'] = 'Text Input'; $lang['title'] = 'Başlık'; $lang['title_asc'] = 'Başlığa Göre Artan'; $lang['title_available_templates'] = 'Kullanılabilir Şablonlar'; $lang['title_desc'] = 'Başlığa Göre Azalan'; $lang['title_detail_returnid'] = 'Ayrıntılı görünüm için varsayılan sayfa'; $lang['title_detail_settings'] = 'Ayrıntılı Görünüm Ayarları'; $lang['title_detail_sysdefault'] = 'Varsayılan Ayrıntı Şablonu'; $lang['title_detail_template'] = 'Ayrıntı Şablon Editörü'; $lang['title_fesubmit_settings'] = 'Ön sayfa ekleme ayarları'; $lang['title_filter'] = 'Filtreler'; $lang['title_form_sysdefault'] = 'Varsayılan Form Şablonu'; $lang['title_form_template'] = 'Form Şablonu Editörü'; $lang['title_news_settings'] = 'Ayarlar - Haberler Modulu'; $lang['title_notification_settings'] = 'Bilgilendirme Ayarları'; $lang['title_submission_settings'] = 'Haber Giriş Ayarları'; $lang['title_summary_sysdefault'] = 'Varsayılan Özet Şablonu'; $lang['title_summary_template'] = 'Özet Şablon Editörü'; $lang['type'] = 'Tip'; $lang['type_browsecat'] = 'Kategoriler'; $lang['type_detail'] = 'Ayrıntı'; $lang['type_News'] = 'Haberler'; $lang['type_summary'] = 'Özet'; $lang['unknown'] = 'Bilinmiyor'; $lang['unlimited'] = 'Limitsiz'; $lang['up'] = 'Yukarı'; $lang['uploadscategory'] = 'Yüklemeler Kategorisi'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Süresi geçme tarihini kullan'; $lang['viewfilter'] = 'Filtre'; ?>(можливо, вона вже використовується або містить некоректні символи)'; $lang['error_mkdir'] = 'Не вдалося створити теку: %s'; $lang['error_movefile'] = 'Не вдалося створити файл: %s'; $lang['error_noarticlesselected'] = 'Жодної статті не вибрано'; $lang['error_nooptions'] = 'Не визначено жодного параметру для поля'; $lang['error_templatenamexists'] = 'Шаблон з таким іменем вже існує'; $lang['error_upload'] = 'Виникла проблема з вивантаженням файлу'; $lang['eventdesc-NewsArticleAdded'] = 'Відсилається, коли статтю додано.'; $lang['eventhelp-NewsArticleAdded'] = '

    Параметри

    • "news_id" - ID статті
    • "category_id" - ID категорії для цієї статті
    • "title" - Заголовок статті
    • "content" -Вміст статті
    • "summary" - Короткий опис статті
    • "status" - Статус статті ("чернетка" чи "опубліковано")
    • "start_time" - Дата початку показу статті
    • "end_time" - Дата закінчення показу статті
    • "useexp" - Чи ігнорувати дату закінчення терміну дії
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Відсилається, коли статтю видалено.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Параметри

    • "news_id" - ID статті
    '; $lang['eventdesc-NewsArticleEdited'] = 'Відсилається, коли статтю відредаговано.'; $lang['eventhelp-NewsArticleEdited'] = '

    Параметри

    • "news_id" - ID статті
    • "category_id" - ID категорії для цієї статті
    • "title" - Заголовок статті
    • "content" -Вміст статті
    • "summary" - Короткий опис статті
    • "status" - Статус статті ("чернетка" чи "опубліковано")
    • "start_time" - Дата початку показу статті
    • "end_time" - Дата закінчення показу статті
    • "useexp" - Чи ігнорувати дату закінчення терміну дії

    Примітка: Допускається заповнення тільки окремих параметрів, коли відсилається ця подія.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Відсилається, коли категорію додано.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Параметри

    • "category_id" - ID категорії
    • "name" - Назва категорії
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Відсилається, коли категорію видалено.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Параметри

    • "category_id" - ID видаленої категорії
    • "name" - Назва видаленої категорії
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Відсилається, коли категорію відредаговано.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parameters

    • "category_id" -ID категорії статті
    • "name" - Назва категорії
    • "origname" - Оригінальна назва категорії
    '; $lang['expired'] = 'Термін закінчився'; $lang['expired_searchable'] = 'Статті з закінченим терміном дії можуть відображатися в результатах пошуку'; $lang['expired_viewable'] = 'Статті з закінченим терміном дії доступні за прямим посиланням'; $lang['expiry'] = 'Термін дії'; $lang['expiry_date_asc'] = 'Термін дії за зростанням'; $lang['expiry_date_desc'] = 'Термін дії за спаданням'; $lang['expiry_interval'] = 'Кількість днів (за замовчуванням) до закінчення терміну дії статті (якщо вибрано термін дії)'; $lang['extra'] = 'Додатково'; $lang['extra_label'] = 'Додатково:'; $lang['fesubmit_redirect'] = 'ID або псевдонім сторінки, на яку буде переадресовуватися після відправлення статті за допомогою дії fesubmit'; $lang['fesubmit_status'] = 'Статус статей, відправлених через фронтенд'; $lang['fielddef'] = 'Поле'; $lang['fielddefadded'] = 'Поле успішно додано'; $lang['fielddefdeleted'] = 'Поле успішно видалено'; $lang['fielddefupdated'] = 'Поле успішно оновлено'; $lang['file'] = 'Файл'; $lang['filter'] = 'Фільтр'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Адреса електронної пошти для отримання сповіщення про відправку статті'; $lang['formtemplate'] = 'Шаблони форм'; $lang['help'] = '

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach PDF files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the \'Delete News Articles\' permission.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the \'Approve News\' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number=\'5\'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction'] = 'Перевизначити дію за замовчуванням. Можливі значення:
    • "detail" - відображення вибраної статті в режимі повної статті.
    • "default" - відображення списку статей
    • "fesubmit" - Застаріле, відображення форми у фронтенді для того, щоб дозволити користувачам відправляти статті з фронтенду. Додайте теґ {cms_init_editor} у розділі метаданих для ініціалізації вибраного візуального редактора. (Адміністратор сайту >> Глобальні налаштування)
    • "browsecat" - відображення списку категорій, доступних для перегляду.
    '; $lang['helpbrowsecat'] = 'Відображає доступні для перегляду категорії.'; $lang['helpbrowsecattemplate'] = 'Використовується шаблон з бази даних для відображення списку категорій. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['helpcategory'] = 'Використовується для виводу списку статей зазначених категорій. Використовуйте * після імені, щоб показувати статті дочірніх категорій. Можна вказати декілька категорій через кому. Якщо поле порожнє, то буде показано всі категорії. Цей параметр також працює для дії "fesubmit", однак можна вказати лише одну категорію.'; $lang['helpdetailpage'] = 'Сторінка, на якій відображується повна стаття. Це може бути ID або псевдонім сторінки. Дозволяє відобразити повну статтю на сторінці, відмінній від тієї, на якій був виведений список статей. Тим самим ми можемо використати різні шаблони сторінок для списку статей та повного тексту. Цей параметр не матиме ефекту для статей URL-адресами, зазначеними вручну.'; $lang['helpdetailtemplate'] = 'Використовуйте окремий шаблон бази даних для відображення повної статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням. Цей параметр не використовується при створенні URL-адрес, якщо для статті вказано URL-адресу спеціально.'; $lang['helpformtemplate'] = 'Використовуйте шаблон бази даних для відображення форми відправки статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['helpmoretext'] = 'Текст, що відображається в кінці статті, якщо він перевищує довжину короткого опису. Значення за замовчуванням "Читати далі"'; $lang['helpnumber'] = 'Максимальна кількість статей для виводу (на сторінці) -- якщо поле порожнє, то буде показано всі елементи. Це синонім до параметра pagelimit'; $lang['helpshowall'] = 'Показати всі статті, незалежно від дати закінчення'; $lang['helpshowarchive'] = 'Показати лише статті, в яких закінчився термін дії.'; $lang['helpsortasc'] = 'Сортувати статті за зростанням дат'; $lang['helpsortby'] = 'Параметр "Сортувати за ". Варіанти: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". За замовчуванням - "news_date". Якщо вказано "random", параметр sortasc ігнорується.'; $lang['helpstart'] = 'Почати з n-го елемента - якщо поле порожнє, то буде показано з першого елемента.'; $lang['helpsummarytemplate'] = 'Використовуйте окремий шаблон бази даних для перегляду короткого опису статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['help_articleid'] = 'Цей параметр застосовується лише до виводу повного тексту статті. Він вказує, яка стаття відображається в режимі виводу повного тексту . Якщо використовується спеціальне значення -1, система буде відображати найновішу, опубліковану статтю, що не має терміну дії.'; $lang['help_article_title'] = 'Введіть назву статті. Вона має бути короткою і не повинна містити жодних HTML-теґів.'; $lang['help_article_category'] = 'Для організаційних цілей ви можете вибрати категорію'; $lang['help_article_content'] = 'Введіть основний вміст статті'; $lang['help_article_enddate'] = 'Якщо ввімкнено термін дії, ця дата вказує, коли стаття буде прихована від перегляду'; $lang['help_article_extra'] = 'Це додаткові дані, пов\'язані з статтею. Вони можуть використовуватися для сортування або для реалізації особливої поведінки статті в дизайні. Вам слід проконсультуватися зі своїм розробником сайту про те, як це поле використовується (якщо взагалі використовується)'; $lang['help_article_searchable'] = 'Це поле вказує, чи потрібно індексувати цю статтю пошуковим модулем'; $lang['help_article_postdate'] = 'Дата публікації (зазвичай поточна дата, для нових статей) - це дата, яка використовується як дата опублікування статті. Вона також використовується для сортування'; $lang['help_article_summary'] = 'Введіть короткий абзац для опису статті. Цей короткий опис може використовуватися при перегляді списку статей'; $lang['help_article_startdate'] = 'Якщо ввімкнено термін дії, ця дата є датою початку відображення на веб-сайті'; $lang['help_article_status'] = 'Якщо ви хочете, щоб стаття була негайно доступна для перегляду іншими користувачами, виберіть статус "опубліковано". Якщо ви хочете продовжити роботу з цією статтею, виберіть статус "чернетка".'; $lang['help_article_url'] = 'Додаткова URL-адреса статті (деякі інші системи називають її slug) - це унікальний суфікс url-адреси цієї статті. Користувачі можуть переходити на сторінку / щоб переглянути цю статтю.'; $lang['help_article_useexpiry'] = 'Цей прапорець вмикає відслідковування закінчення терміну дії статті. Зазначені терміни вказують, коли стаття стає видимою або невидимою на веб-сайті.'; $lang['help_articles_filtercategory'] = 'Фільтрувати статті у цьому списку залежно від вибраної категорії (необов\'язково)'; $lang['help_articles_filterchildcats'] = 'Якщо цей параметр увімкнено, будуть відображатися статті вибраної категорії та її дочірні категорії.'; $lang['help_articles_pagelimit'] = 'Вибрати кількість статей для показу на одній сторінці. Для сайтів із великою кількістю статей, вказавши цей параметр від 10 до 100, значно підвищиться продуктивність'; $lang['help_articles_sortby'] = 'Вибрати спосіб первинного сортування статей.'; $lang['help_category_name'] = 'Введіть назву для цієї категорії. Ім\'я має бути безпечним для використання в URL-адресах і не мати спеціальних символів.'; $lang['help_category_parent'] = 'Вкажіть батьківську категорію для створення ієрархії категорій (необов\'язково).'; $lang['help_fesubmit_redirect'] = 'ID або псевдонім сторінки, на яку буде переадресовуватися після успішної відправки з фронтенду'; $lang['help_fielddef_maxlen'] = 'Для текстових полів можна вказати максимальну довжину введення тексту (в символах)'; $lang['help_fielddef_name'] = 'Кожне поле повинно мати назву. Хоч це не є обов\'язковим, назва поля повинна містити лише буквено-цифрові символи та підкреслення. Не використовуйте пробіл у назві поля.'; $lang['help_fielddef_options'] = 'Тут ви можете вказати дійсні параметри для випадаючих списків.'; $lang['help_fielddef_public'] = 'Вкажіть, чи це поле є публічним. Публічні поля можна переглянути у фронтенді, їх можна ввести за допомогою дії fesubmit. Спеціальні поля, які не є публічними, можуть редагувати лише в адмін. панелі авторизовані адміністратори.'; $lang['help_fielddef_type'] = 'Кожне спеціальне поле може бути різного типу для різних цілей. Виберіть тип поля, який найкраще відповідає цілі поля.'; $lang['help_idlist'] = 'Застосовується лише до дії за замовчуванням (список статей). Цей параметр приймає список ID статей через кому, і дає змогу додатково фільтрувати статті лише за вказаними ID. Список, який буде реально виведений, залежить також від параметрів цих статей, а саме статусу, дати закінчення терміну дії та інших параметрів.'; $lang['help_opt_alert_drafts'] = 'Якщо цей параметр увімкнено, ви отримаєте сповіщення про необхідність переглянути та опублікувати одну чи декілька статей.'; $lang['help_opt_allowed_upload_types'] = 'Для полів типу "file" Цей параметр вказує список розширень файлів через кому, дійсних для завантаження.'; $lang['help_opt_dflt_category'] = 'Ця опція дозволяє вказати категорію за замовчуванням для нових статей.'; $lang['help_opt_hide_summary'] = 'Ця опція дозволяє відключити поле короткого опису під час додавання та/або редагування статті (у тому числі за допомогою функції fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Це поле вказує, чи треба увімкнути візуальний редактор для поля короткого опису під час редагування статті. У багатьох випадках поле короткого опису є простим текстовим полем, однак воно не обов\'язкове.
    Цей параметр ігнорується, якщо поле короткого опису повністю вимкнено (див. вище)'; $lang['help_opt_expiry_interval'] = 'Встановіть кількість днів за замовчуванням (мінімум 1). У статей буде закінчуватися термін дії, коли увімкнено термін дії статті. Дату закінчення терміну дії можна налаштувати під час додавання або редагування статті'; $lang['help_pagelimit'] = 'Максимальна кількість статей для виводу (на сторінці). Якщо параметр не вказано, то буде показано всі статті. Якщо вказано і значення є меншим за кількість елементів, то буде виведено сторінки "вперед", "назад", які дозволять побачити всі статті. Максимальне значення для цього параметра становить 1000.'; $lang['hide_summary_field'] = 'Приховати поле короткого опису при додаванні або редагуванні статей'; $lang['info_allow_fesubmit'] = 'Цей параметр визначає, чи буде дія fesubmit взагалі дозволена для використання на цьому сайті. Будьте обережні, вмикаючи це.'; $lang['info_categories'] = 'Для організаційних цілей статті можуть бути організовані в ієрархічні категорії'; $lang['info_detail_returnid'] = 'Це налаштування використовується для визначення сторінки (а, отже, і шаблону) для перегляду повної статті. Спеціальні URL-адреси не працюватимуть, якщо цей параметр не встановлено на дійсну сторінку. Крім того, якщо це налаштування встановлено, а параметр detailpage не вказано в тегу статей, то це значення буде використано у посиланні на повну статтю'; $lang['info_expired_searchable'] = 'Якщо цей параметр увімкнено, статті з закінченим терміном дії можуть продовжувати індексуватися пошуковим модулем і з\'являтися в результатах пошуку'; $lang['info_expired_viewable'] = 'Якщо цей параметр ввімкнено, статті з закінченим терміном дії можна переглянути за прямим посиланням (це відтворює стару функціональність). Параметр showall може використовуватися в URL-адресі (якщо не використовуються pretty URL-адреси) для позначення того, що статті з закінченим терміном дії можна переглянути.'; $lang['info_fesubmit_notification'] = 'Ви можете додатково надіслати електронний лист на одну адресу електронної пошти, коли нова стаття відправлена за допомогою дії fesubmit.'; $lang['info_maxlength'] = 'Максимальна довжина стосується лише текстових полів.'; $lang['info_public'] = 'У фронтенді ви можете редагувати та виводити в списку статей або в повному тексті статті тільки публічні поля.'; $lang['info_reorder_categories'] = 'Перетягніть кожен елемент у правильному порядку, щоб змінити підпорядкування відносно категорії'; $lang['info_searchable'] = 'Це поле вказує, чи потрібно індексувати цю статтю пошуковим модулем'; $lang['info_sysdefault'] = '(вміст, який використовується за замовчуванням, коли створюється новий шаблон)'; $lang['info_sysdefault2'] = 'Примітка: Ця вкладка містить текстові області, які дозволяють редагувати набір шаблонів, що відображаються під час створення "нового" шаблону списку статей, шаблону повної статті чи шаблону форми. Зміна вмісту на цій вкладці та натискання кнопки "Відправити" не вплине на поточне відображення статей.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Шукати статті'; $lang['linkedfile'] = 'Пов\'язаний файл'; $lang['maxlength'] = 'Максимальна довжина'; $lang['msg_cancelled'] = 'Операцію скасовано'; $lang['msg_categoriesreordered'] = 'Порядок категорій оновлено'; $lang['msg_contenttype_removed'] = 'Тип вмісту "новини" вилучено. Будь ласка, помістіть теґи {news} з відповідними параметрами у шаблон сторінки або у вміст сторінки, щоб замінити цю функцію.'; $lang['msg_success'] = 'Операцію виконано успішно'; $lang['more'] = 'Більше'; $lang['moretext'] = 'Читати далі'; $lang['name'] = 'Назва'; $lang['nameexists'] = 'Файл з таким іменем вже існує'; $lang['needpermission'] = 'Вам потрібен дозвіл \'%s\' для виконання цієї функції.'; $lang['newcategory'] = 'Нова категорія'; $lang['news'] = 'Статті'; $lang['news_return'] = 'Повернутися'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Наразі немає створених статей'; $lang['noarticlesinfilter'] = 'Немає статей, що відповідають вибраному фільтру'; $lang['nocategorygiven'] = 'Категорію не вказано'; $lang['nocontentgiven'] = 'Вміст не вказано'; $lang['noitemsfound'] = 'Жодного елементу не знайдено для категорії: %s'; $lang['nonamegiven'] = 'Назву не вказано'; $lang['none'] = 'Жоден'; $lang['nopostdategiven'] = 'Дату публікації не вказано'; $lang['notanumber'] = 'Максимальна довжина НЕ число'; $lang['note'] = 'Примітка: Дати мають бути у форматі \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Ви маєте не опублікований(-ні) файл(-и): %s'; $lang['notify_n_draft_items_sub'] = 'Стаття(-і) %d'; $lang['notitlegiven'] = 'Заголовок не вказано'; $lang['numbertodisplay'] = 'Кількість статей для показу (якщо поле порожнє, то показуються всі записи)'; $lang['options'] = 'Параметри'; $lang['optionsupdated'] = 'Параметри успішно оновлено'; $lang['parent'] = 'Батьківська категорія'; $lang['postdate'] = 'Дата публікації'; $lang['postinstall'] = 'Не забудьте встановити дозвіл "Modify News" для користувачів, які будуть працювати з статтями.'; $lang['post_date_asc'] = 'Дата публікації за зростанням'; $lang['post_date_desc'] = 'Дата публікації за спаданням'; $lang['preview'] = 'Попередній перегляд'; $lang['prevpage'] = '<'; $lang['print'] = 'Друкувати'; $lang['prompt_alert_drafts'] = 'Попередження про непідтверджені статті'; $lang['prompt_allow_fesubmit'] = 'Дозволити відправляти статті з фронтенду'; $lang['prompt_default'] = 'За замовчуванням'; $lang['prompt_go'] = 'Вперед'; $lang['prompt_name'] = 'Назва'; $lang['prompt_newtemplate'] = 'Створити новий шаблон'; $lang['prompt_of'] = 'з'; $lang['prompt_page'] = 'Сторінка'; $lang['prompt_pagelimit'] = 'Ліміт записів на сторінці'; $lang['prompt_redirecttocontent'] = 'Повернутися на сторінку'; $lang['prompt_sorting'] = 'Сортувати за'; $lang['prompt_template'] = 'Джерело шаблону'; $lang['prompt_templatename'] = 'Назва шаблону'; $lang['public'] = 'Публічне'; $lang['published'] = 'Опубліковано'; $lang['reassign_category'] = 'Змінити категорію на'; $lang['removed'] = 'Видалити'; $lang['reorder'] = 'Змінити порядок'; $lang['reorder_categories'] = 'Змінити порядок категорій'; $lang['reset'] = 'Скинути'; $lang['resettodefault'] = 'Скинути до заводських налаштувань'; $lang['restoretodefaultsmsg'] = 'Ця операція відновить вміст шаблону до системних значень за замовчуванням. Ви впевнені, що хочете продовжити?'; $lang['revert'] = 'Встановити статус \'Чернетка\''; $lang['searchable'] = 'Доступна для пошуку'; $lang['select'] = 'Вибрати'; $lang['select_option'] = 'Виберіть варіант'; $lang['selectall'] = 'Вибрати все'; $lang['selectcategory'] = 'Вибрати категорію'; $lang['showchildcategories'] = 'Показати дочірні категорії'; $lang['sortascending'] = 'Сортувати за зростанням'; $lang['startdate'] = 'Дата початку'; $lang['startdatetoolate'] = 'Дата початку занадто пізня (після дати закінчення?)'; $lang['startoffset'] = 'Почати список статей з n-ої статті'; $lang['startrequiresend'] = 'Для введення дати початку також потрібна дата закінчення'; $lang['status'] = 'Статус'; $lang['status_asc'] = 'Статус за зростанням'; $lang['status_desc'] = 'Статус за спаданням'; $lang['subject_newnews'] = 'Нову статтю створено'; $lang['submit'] = 'Відправити'; $lang['summary'] = 'Короткий опис'; $lang['summarytemplate'] = 'Шаблони списку статей'; $lang['summarytemplateupdated'] = 'Шаблон списку статей успішно оновлено.'; $lang['sysdefaults'] = 'Відновити до значення за замовчуванням'; $lang['template'] = 'Шаблон'; $lang['textarea'] = 'Текстова область'; $lang['textbox'] = 'Текстове поле'; $lang['title'] = 'Заголовок'; $lang['title_asc'] = 'Заголовок за зростанням'; $lang['title_available_templates'] = 'Доступні шаблони'; $lang['title_browsecat_sysdefault'] = 'Шаблон перегляду категорії за замовчуванням'; $lang['title_browsecat_template'] = 'Редактор шаблону перегляду категорії'; $lang['title_desc'] = 'Заголовок за спаданням'; $lang['title_detail_returnid'] = 'Сторінка за замовчуванням для виводу повного тексту статті'; $lang['title_detail_settings'] = 'Налаштування виводу повного тексту статті'; $lang['title_detail_sysdefault'] = 'Шаблон повної статті за замовчуванням'; $lang['title_detail_template'] = 'Редактор шаблону повної статті'; $lang['title_draft_entries'] = 'Непідтверджені статті'; $lang['title_fesubmit_form'] = 'Відправити статтю'; $lang['title_fesubmit_settings'] = 'Налаштування відправки з фронтенду'; $lang['title_filter'] = 'Фільтри'; $lang['title_form_sysdefault'] = 'Шаблон форми за замовчуванням'; $lang['title_form_template'] = 'Редактор шаблону форми'; $lang['title_news_settings'] = 'Налаштування - Модуль "Новини"'; $lang['title_notification_settings'] = 'Налаштування сповіщень'; $lang['title_submission_settings'] = 'Налаштування відправки статей'; $lang['title_summary_sysdefault'] = 'Шаблон списку статей за замовчуванням'; $lang['title_summary_template'] = 'Редактор шаблону списку статей'; $lang['toggle_bulk'] = 'Вибрати цю статтю для масової обробки'; $lang['type'] = 'Тип'; $lang['type_browsecat'] = 'Перегляд категорії'; $lang['type_form'] = 'Форма для виводу у фронтенді'; $lang['type_detail'] = 'Повний текст статті'; $lang['type_News'] = 'Статті'; $lang['type_summary'] = 'Короткий опис'; $lang['unknown'] = 'Невідомо'; $lang['unlimited'] = 'Необмежено'; $lang['up'] = 'Вгору'; $lang['uploadscategory'] = 'Категорія вивантажень'; $lang['url'] = 'URL-адреса (slug)'; $lang['useexpiration'] = 'Використовуйте дату закінчення терміну дії'; $lang['viewfilter'] = 'Показати фільтр'; $lang['warning_preview'] = 'Попередження: це вікно попереднього перегляду поводить себе максимально наближено до окремого вікна браузера, що дозволяє вам перейти на інші сторінки, тим самим завершивши попередній перегляд сторінки. Якщо ви перейдете на іншу сторінку, то можете зіткнутися із несподіваною поведінкою. Якщо ви перейдете на іншу сторінку, а потім повернетесь на ту, з якої починали, це не дасть очікуваних результатів.
    Примітка: У попередньому перегляді не вивантажуються файли, які ви могли вибрати для вивантаження.'; $lang['with_selected'] = 'З обраними'; ?>Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>没有
    找到该类别的条目: %s'; $lang['nopostdategiven']='没有指定发布日期'; $lang['note']='注意:日期必须是 \'yyyy-mm-dd hh:mm:ss\' 格式.'; $lang['notitlegiven']='没有给出标题'; $lang['numbertodisplay']='显示数目(不填显示所有内容)'; $lang['options']='选项'; $lang['postdate']='发布日期'; $lang['postinstall']='确认赋予管理新闻条目的用户"修改新闻"的权限'; $lang['print']='打印'; $lang['restoretodefaultsmsg']='该操作将把模板内容恢复到系统默认值.是否继续?'; $lang['selectcategory']='选择类别'; $lang['showchildcategories']='显示子类别'; $lang['sortascending']='升序排列'; $lang['startdate']='开始日期'; $lang['startoffset']='从 nth 条目开始显示'; $lang['startrequiresend']='输入开始日期同时需要结束日期'; $lang['status']='状态'; $lang['submit']='提交'; $lang['summary']='摘要'; $lang['summarytemplate']='摘要模板'; $lang['sysdefaults']='恢复到默认'; $lang['title']='标题'; $lang['useexpiration']='使用过期日期'; ?> Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = '刪除文章後發送。'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = '編緝文章後發送。'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['expired'] = '過期'; $lang['expiry'] = '過期'; $lang['expiry_interval'] = '文章期滿前天數 (預設)(如果有選擇期滿)'; $lang['extra_label'] = '額外:'; $lang['file'] = '檔案'; $lang['filter'] = '過濾'; $lang['firstpage'] = '<<'; $lang['help'] = '

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction'] = 'Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpcategory'] = '只顯示該類別的項目。名稱前加*顯示子類別。多類別請用逗號分隔.不填將顯示所有類別。'; $lang['helpdetailpage'] = '顯示新聞內容的詳細內容的頁面。 可以是頁面別名,也可以是id。 用來使詳細內容能夠以不同模板顯示。'; $lang['helpdetailtemplate'] = '用獨立的模板顯示文章內容. 模板必須位於 modules/News/templates.'; $lang['helpmoretext'] = '項目超過摘要長度時顯示的文字。 預設 "more..."'; $lang['helpnumber'] = '最大顯示項目數(不填顯示所有項目)。'; $lang['helpsortasc'] = '使用遞增列新聞項目。'; $lang['helpsortby'] = '排序欄位. 選項: "新聞日期","摘要","新聞內容","新聞類別","新聞標題". 預設為 "新聞日期"。'; $lang['helpstart'] = '從 nth 條開始顯示(不填從第一條顯示)。'; $lang['helpsummarytemplate'] = '用獨立的模板顯示文章摘要. 模板必須位於 modules/News/templates.'; $lang['hide_summary_field'] = '添加或編輯文章時,隱藏的匯總欄位'; $lang['lastpage'] = '>>'; $lang['more'] = '更多'; $lang['moretext'] = '更多文字'; $lang['name'] = '名稱'; $lang['needpermission'] = '你需要 \'%s\' 權限來執行這項操作。'; $lang['newcategory'] = '新類別'; $lang['news'] = '新聞'; $lang['news_return'] = '返回'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = '沒有指定類別'; $lang['nocontentgiven'] = '沒有指定內容'; $lang['noitemsfound'] = '沒有 找到該類別的項目:%s'; $lang['nonamegiven'] = '沒有給名稱'; $lang['none'] = '無'; $lang['nopostdategiven'] = '沒有指定發佈日期'; $lang['note'] = '注意: 日期必須是 \'yyyy-mm-dd hh:mm:ss\' 格式。'; $lang['notitlegiven'] = '沒有指定標題'; $lang['numbertodisplay'] = '顯示數目(不填顯示所有內容)'; $lang['options'] = '選項'; $lang['optionsupdated'] = '這選項已成功更新。'; $lang['postdate'] = '發佈日期'; $lang['postinstall'] = '確認賦予管理新聞項目的用戶"修改新聞"的權限。'; $lang['preview'] = '預覽'; $lang['prevpage'] = '<'; $lang['print'] = '列印'; $lang['prompt_default'] = '預設'; $lang['prompt_name'] = '名稱'; $lang['prompt_page'] = '頁'; $lang['prompt_sorting'] = '排序、依'; $lang['reassign_category'] = '更改類別至'; $lang['removed'] = '刪除'; $lang['restoretodefaultsmsg'] = '該操作將把模板內容恢復到系統預設值.是否繼續?'; $lang['revert'] = '設定狀態為“草稿”'; $lang['select'] = '選取'; $lang['selectcategory'] = '選擇類別'; $lang['showchildcategories'] = '顯示子類別'; $lang['sortascending'] = '遞增排列'; $lang['startdate'] = '開始日期'; $lang['startdatetoolate'] = '開始日期已經為時已晚(在結束日期之後?)'; $lang['startoffset'] = '從 nth 項目開始顯示'; $lang['startrequiresend'] = '輸入開始日期同時需要結束日期'; $lang['status'] = '狀態'; $lang['status_asc'] = '狀態遞增'; $lang['status_desc'] = '狀態遞減'; $lang['submit'] = '提交'; $lang['summary'] = '摘要'; $lang['summarytemplate'] = '摘要模板'; $lang['summarytemplateupdated'] = '新聞摘要模板已成功更新。'; $lang['sysdefaults'] = '恢復到預設值'; $lang['textarea'] = '文本區域'; $lang['textbox'] = '文字輸入'; $lang['title'] = '標題'; $lang['title_asc'] = '標題遞增'; $lang['title_desc'] = '標題遞減'; $lang['title_detail_returnid'] = '預設頁面使用的詳細意見'; $lang['title_detail_settings'] = '詳細查看設定'; $lang['title_fesubmit_settings'] = '前台提交設定'; $lang['title_news_settings'] = '設定 - 新聞模組'; $lang['title_notification_settings'] = '通知設定'; $lang['title_submission_settings'] = '新聞投稿設定'; $lang['type_News'] = '新聞'; $lang['unknown'] = '未知'; $lang['unlimited'] = '無限的'; $lang['up'] = '上'; $lang['useexpiration'] = '使用過期日期'; $lang['warning_preview'] = '警告: This preview panel behaves much like a browser window allowing you to navigate away from the initially previewed page. However, if you do that, you may experience unexpected behaviour. Navigating away from the initial page and returning will not give the expected results.
    Note: The preview does not upload files you may have selected for upload.'; ?>get_name(); } public function test($time = '') { if( !$time ) $time = time(); $mod = \cms_utils::get_module('News'); $lastrun = (int) $mod->GetPreference('task1_lastrun'); if( $lastrun >= ($time - 900) ) return FALSE; // hardcoded to 15 minutes return TRUE; } public function on_success($time = '') { IF( !$time ) $time = time(); $mod = \cms_utils::get_module('News'); $mod->SetPreference('task1_lastrun',$time); } public function on_failure($time = '') {} public function execute($time = '') { $db = \CmsApp::get_instance()->GetDb(); if( !$time ) $time = time(); $query = 'SELECT count(news_id) FROM '.CMS_DB_PREFIX.'module_news n WHERE status != \'published\' AND (end_time IS NULL OR end_time > NOW())'; $count = $db->GetOne($query); if( !$count ) return TRUE; $alert = new DraftMessageAlert($count); $alert->save(); return TRUE; } } name = __CLASS__; $this->priority = self::PRIORITY_LOW; $this->titlekey = 'title_draft_entries'; $this->module = 'News'; $this->msgkey = 'notify_n_draft_items'; $this->msgargs = $count; } }Lang('lbl_adminsearch'); } public function get_description() { $mod = cms_utils::get_module('News'); return $mod->Lang('desc_adminsearch'); } public function check_permission() { $userid = get_userid(); return check_permission($userid,'Modify News'); } public function get_matches() { $mod = cms_utils::get_module('News'); if( !is_object($mod) ) return; $db = cmsms()->GetDb(); // need to get the fielddefs of type textbox or textarea $query = 'SELECT id, name FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE type IN (?,?)'; $fdlist = $db->GetArray($query,array('textbox','textarea')); $fields = array('N.*'); $joins = array(); $where = array('news_title LIKE ?','news_data LIKE ?','summary LIKE ?'); $str = '%'.$this->get_text().'%'; $parms = array($str,$str,$str); // add in fields $fieldNames = array(); for( $i = 0; $i < count($fdlist); $i++ ) { $tmp = 'FV'.$i; //$fdid = $fdlist[$i]; $fdid = $fdlist[$i]['id']; $fieldNames[$tmp] = $fdlist[$i]['name']; $fields[] = "$tmp.value as $tmp"; $joins[] = 'LEFT JOIN '.CMS_DB_PREFIX."module_news_fieldvals $tmp ON N.news_id = $tmp.news_id AND $tmp.fielddef_id = $fdid"; $where[] = "$tmp.value LIKE ?"; $parms[] = $str; } // build the query. $query = 'SELECT '.implode(',',$fields).' FROM '.CMS_DB_PREFIX.'module_news N'; if( count($joins) ) $query .= ' ' . implode(' ',$joins); if( count($where) ) $query .= ' WHERE '.implode(' OR ',$where); $query .= ' ORDER BY N.modified_date DESC'; $this->process_query_string($query); $dbr = $db->GetArray($query,array($parms)); if( is_array($dbr) && count($dbr) ) { // got some results. $output = array(); $resultSets = array(); if ($this->show_snippets()) { $fieldNames['news_title'] = $mod->lang('title'); $fieldNames['news_data'] = $mod->lang('content'); $fieldNames['summary'] = $mod->lang('summary'); } foreach( $dbr as $row ) { if (!isset($resultSets[$row['news_id']])) { $resultSets[$row['news_id']] = $this->get_resultset($row['news_title'],AdminSearch_tools::summarize($row['summary']),$mod->create_url('m1_','editarticle','',array('articleid'=>$row['news_id']))); } foreach( $fieldNames as $key => $value ) { $content = $row[$key]; $resultSets[$row['news_id']]->count += $count = $this->get_number_of_occurrences($content); if ($this->show_snippets() && $count > 0) { $resultSets[$row['news_id']]->locations[$value] = $this->generate_snippets($content); } } } #processing the results foreach ($resultSets as $result_object) { $output[] = json_encode($result_object); } return $output; } } } // end of class ?> $articleid ] ); $db = cmsms()->GetDb(); //Now remove the article $query = "DELETE FROM ".CMS_DB_PREFIX."module_news WHERE news_id = ?"; $db->Execute($query, array($articleid)); // Delete it from the custom fields $query = 'DELETE FROM '.CMS_DB_PREFIX.'module_news_fieldvals WHERE news_id = ?'; $db->Execute($query, array($articleid)); // delete any files... $config = cmsms()->GetConfig(); $p = cms_join_path($config['uploads_path'],'news','id'.$articleid); if( is_dir($p) ) recursive_delete($p); news_admin_ops::delete_static_route($articleid); //Update search index $mod = cms_utils::get_module('News'); $module = cms_utils::get_search_module(); if ($module != FALSE) $module->DeleteWords($mod->GetName(), $articleid, 'article'); \CMSMS\HookManager::do_hook('News::NewsArticleDeleted', ['news_id'=>$articleid ] ); // put mention into the admin log audit($articleid, 'News: '.$articleid, 'Article deleted'); } public static function handle_upload($itemid,$fieldname,&$error) { $config = cmsms()->GetConfig(); $mod = cms_utils::get_module('News'); $p = cms_join_path($config['uploads_path'],'news'); if (!is_dir($p)) { $res = @mkdir($p); if( $res === FALSE ) { $error = $mod->Lang('error_mkdir',$p); return FALSE; } } $p = cms_join_path($config['uploads_path'],'news','id'.$itemid); if (!is_dir($p)) { if( @mkdir($p) === FALSE ) { $error = $mod->Lang('error_mkdir',$p); return FALSE; } } if( $_FILES[$fieldname]['size'] > $config['max_upload_size'] ) { $error = $mod->Lang('error_filesize'); return FALSE; } $filename = basename($_FILES[$fieldname]['name']); $dest = cms_join_path($config['uploads_path'],'news','id'.$itemid,$filename); // Get the files extension $ext = substr(strrchr($filename, '.'), 1); // compare it against the 'allowed extentions' $exts = explode(',',$mod->GetPreference('allowed_upload_types','')); if( !in_array( $ext, $exts ) ) { $error = $mod->Lang('error_invalidfiletype'); return FALSE; } if( @cms_move_uploaded_file($_FILES[$fieldname]['tmp_name'], $dest) === FALSE ) { $error = $mod->Lang('error_movefile',$dest); return FALSE; } return $filename; } static public function UpdateHierarchyPositions() { $db = cmsms()->GetDb(); $query = "SELECT news_category_id, item_order, news_category_name FROM ".CMS_DB_PREFIX."module_news_categories"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $current_hierarchy_position = ""; $current_long_name = ""; $content_id = $row['news_category_id']; $current_parent_id = $row['news_category_id']; $count = 0; while ($current_parent_id > -1) { $query = "SELECT news_category_id, item_order, news_category_name, parent_id FROM ".CMS_DB_PREFIX."module_news_categories WHERE news_category_id = ?"; $row2 = $db->GetRow($query, array($current_parent_id)); if ($row2) { $current_hierarchy_position = (string)str_pad($row2['item_order'], 5, '0', STR_PAD_LEFT) . "." . $current_hierarchy_position; $current_long_name = $row2['news_category_name'] . ' | ' . $current_long_name; $current_parent_id = $row2['parent_id']; $count++; } else { $current_parent_id = 0; } } if (strlen($current_hierarchy_position) > 0) { $current_hierarchy_position = substr($current_hierarchy_position, 0, strlen($current_hierarchy_position) - 1); } if (strlen($current_long_name) > 0) { $current_long_name = substr($current_long_name, 0, strlen($current_long_name) - 3); } $query = "UPDATE ".CMS_DB_PREFIX."module_news_categories SET hierarchy = ?, long_name = ? WHERE news_category_id = ?"; $db->Execute($query, array($current_hierarchy_position, $current_long_name, $content_id)); } } static public function delete_static_route($news_article_id) { return cms_route_manager::del_static('','News',$news_article_id); } static public function register_static_route($news_url,$news_article_id,$detailpage = '') { if( $detailpage <= 0 ) { $gCms = cmsms(); $module = cms_utils::get_module('News'); $detailpage = $module->GetPreference('detail_returnid',-1); if( $detailpage == -1 ) { $detailpage = $gCms->GetContentOperations()->GetDefaultContent(); } } $parms = array('action'=>'detail','returnid'=>$detailpage,'articleid'=>$news_article_id); $route = CmsRoute::new_builder($news_url,'News',$news_article_id,$parms,TRUE); return cms_route_manager::add_static($route); } public static function optionstext_to_array($txt) { $txt = trim($txt); if( !$txt ) return; $arr_options = array(); $tmp1 = explode("\n",$txt); foreach( $tmp1 as $tmp2 ) { $tmp2 = trim($tmp2); if( $tmp2 == '' ) continue; $tmp2_k = $tmp2_v = $tmp2; if( strpos($tmp2,'=') !== FALSE ) { list($tmp2_k,$tmp2_v) = explode('=',$tmp2,2); } if( $tmp2_k == '' || $tmp2_v == '' ) continue; $arr_options[$tmp2_k] = $tmp2_v; } if( count($arr_options) == 0 ) return; return $arr_options; } public static function array_to_optionstext($arr) { $txt = ''; foreach( $arr as $key => $val ) { $txt .= "$key=$val\n"; } return trim($txt); } } // end of class # # EOF # _rawdata[$key]) ) $res = $this->_rawdata[$key]; return $res; } private function _getauthorinfo($author_id,$authorname = FALSE) { if( !isset($this->_meta['author']) ) { $mod = cms_utils::get_module('News'); $this->_meta['author'] = $mod->Lang('anonymous'); $this->_meta['authorname'] = $mod->Lang('unknown'); if( $author_id > 0 ) { $userops = cmsms()->GetUserOperations(); $theuser = $userops->LoadUserById($author_id); if( is_object($theuser) ) { $this->_meta['author'] = $theuser->username; $this->_meta['authorname'] = $theuser->firstname.' '.$theuser->lastname; // is there some locale way we can do this? } } else if( $author_id < 0 ) { $author_id *= -1; $feu = cms_utils::get_module('FrontEndUsers'); if( $feu ) { $uinfo = $feu->GetUserInfo($author_id); if( $uinfo[0] ) $this->_meta['author'] = $uinfo[1]['username']; } } } if( $authorname ) return $this->_meta['authorname']; return $this->_meta['author']; } private function _get_returnid() { if( !isset($this->_meta['returnid']) ) { $mod = cms_utils::get_module('News'); $tmp = $mod->GetPreference('detail_returnid',-1); if( $tmp <= 0 ) $tmp = ContentOperations::get_instance()->GetDefaultContent(); $this->_meta['returnid'] = $tmp; } return $this->_meta['returnid']; } private function _get_canonical() { if( !isset($this->_meta['canonical']) ) { $tmp = $this->news_url; if( $tmp == '' ) { $aliased_title = munge_string_to_url($this->title); $tmp = 'news/'.$this->id.'/'.$this->returnid."/{$aliased_title}"; } $mod = cms_utils::get_module('News'); $canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp); $this->_meta['canonical'] = $canonical; } return $this->_meta['canonical']; } private function _get_params() { $params = $this->_inparams; $params['articleid'] = $this->id; return $params; } public function set_linkdata($id,$params,$returnid = '') { if( $id ) $this->_inid = $id; if( is_array($params) ) $this->_inparams = $params; if( $returnid != '' ) $this->_meta['returnid'] = $returnid; } public function set_field(news_field $field) { if( !isset($this->_rawdata['fieldsbyname']) ) $this->_rawdata['fieldsbyname'] = array(); $name = $field->name; $this->_rawdata['fieldsbyname'][$name] = $field; } public function unset_field($name) { if( isset($this->_rawdata['fieldsbyname']) ) { if( isset($this->_rawdata['fieldsbyname'][$name]) ) unset($this->_rawdata['fieldsbyname'][$name]); if( count($this->_rawdata['fieldsbyname']) == 0 ) unset($this->_rawdata['fieldsbyname']); } } public function __get($key) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'postdate': // db time format case 'startdate': // db time format case 'enddate': // db time format case 'create_date': // db time format case 'modified_date': // db time format case 'category_id': case 'status': return $this->_getdata($key); case 'file_location': $config = \cms_config::get_instance(); $url = $config['uploads_url'].'/news/id'.$this->id; return $url; case 'author': // metadata. return $this->_getauthorinfo($this->author_id); case 'authorname': // metadata. return $this->_getauthorinfo($this->author_id,TRUE); case 'category': // metadata. return news_ops::get_category_name_from_id($this->category_id); case 'useexp': if( isset($this->_meta['useexp']) ) return $this->_meta['useexp']; return 0; case 'canonical': // metadata return $this->_get_canonical(); break; case 'fields': case 'customfieldsbyname': // deprecated case 'fieldsbyname': // deprecated if( isset($this->_rawdata['fieldsbyname']) ) return $this->_rawdata['fieldsbyname']; break; case 'returnid': // metadata return $this->_get_returnid(); case 'params': // metadata return $this->_get_params(); default: // check if there is a field with this alias if( isset($this->_rawdata['fieldsbyname']) && is_array($this->_rawdata['fieldsbyname']) ) { foreach( $this->_rawdata['fieldsbyname'] as $fname => &$obj ) { if( !is_object($obj) ) continue; if( $key == $obj->alias ) return $obj->value; } } //throw new Exception('Requesting invalid data from News article object '.$key); } } public function __isset($key) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'category_id': case 'postdate': case 'startdate': case 'enddate': case 'fieldsbyname': case 'status': return isset($this->_rawdata[$key]); case 'customfieldsbyname': // deprecated case 'fields': // deprecated return isset($this->_rawdata['fieldsbyname']); case 'author': case 'authorname': case 'category': case 'canonical': case 'returnid': case 'params': case 'useexp': return true; case 'create_date': case 'modified_date': if( $this->id != '' ) return TRUE; break; default: throw new Exception('Requesting invalid data from News article object '.$key); } return FALSE; } public function __set($key,$value) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'category_id': $this->_rawdata[$key] = $value; break; case 'status': $value = strtolower($value); if( $value != 'published' ) $value = 'draft'; $this->_rawdata[$key] = $value; break; case 'useexp': // this is a different case as this doesn't get stored in the database $this->_meta['useexp'] = $value; break; case 'create_date': // db time format case 'modified_date': // db time format case 'postdate': // db time format case 'startdate': // db time format case 'enddate': // db time format if( is_int($value) ) { $db = cmsms()->GetDb(); $value = $db->DbTimeStamp($value); } $this->_rawdata[$key] = $value; break; default: throw new Exception('Modifying invalid data in News article object '.$key); } } } ?>_data[$key]) ) return $this->_data[$key]; } public function __get($key) { $fielddefs = news_ops::get_fielddefs(FALSE); switch( $key ) { case 'alias': $alias = munge_string_to_url($this->name); return $alias; case 'id': case 'name': case 'type': case 'max_length': case 'create_date': case 'modified_date': case 'item_order': case 'public': case 'value': if( isset($this->_data[$key]) ) return $this->_data[$key]; break; case 'extra': if( isset($this->_data['extra']) ) { if( !is_array($this->_data['extra']) ) $this->_data['extra'] = unserialize($this->_data['extra']); return $this->_data['extra']; } break; case 'options': $extra = $this->extra; if( is_array($extra) && isset($extra['options']) ) return $extra['options']; break; case 'displayvalue': if( !$this->_displayvalue ) { if( isset($this->_data['value']) ) { $value = $this->_data['value']; $this->_displayvalue = $value; if( $this->type == 'dropdown' ) { // dropdowns may have a different displayvalue than actual value. if( is_array($this->options) && isset($this->options[$value]) ) $this->_displayvalue = $this->options[$value]; } } } return $this->_displayvalue; break; case 'fielddef_id': return $this->_data['id']; } } public function __isset($key) { switch( $key ) { case 'alias': case 'id': case 'name': case 'type': case 'max_length': case 'create_date': case 'modified_date': case 'item_order': case 'public': return TRUE; case 'value': case 'extra': return isset($this->_data[$key]); default: return FALSE; } } public function __set($key,$value) { switch( $key ) { case 'id': case 'name': case 'type': case 'max_length': case 'item_order': case 'public': case 'value': case 'extra': $this->_data[$key] = $value; break; case 'alias': throw new Exception('Attempt to set invalid data into field object: '.$key); break; case 'create_date': case 'modified_date': break; default: throw new Exception('Attempt to set invalid data into field object: '.$key); } } private function _validate() { if( $this->name == '' ) throw new CmsException('Invalid field definition name'); if( $this->type == 'dropdown' && count($this->options) == 0 ) throw new CmsException('No options for dropdown field'); if( $this->id > 0 && $this->item_order < 1 ) throw new CmsException('Invalid item order'); } private function _insert() { $db = cmsms()->GetDb(); if( $this->item_order < 1 ) { $query = 'SELECT MAX(item_order) FROM '.CMS_DB_PREFIX.'module_news_fielddefs'; $num = (int)$db->GetOne($query); $this->item_order = $num+1; } $query = 'INSERT INTO '.CMS_DB_PREFIX."module_news_fielddefs (name,type,max_length,create_date,modified_date,item_order,public,extra) VALUES (?,?,?,NOW(),NOW(),?,?,?)"; $dbr = $db->Execute($query,array($this->name,$this->type,$this->max_length,$this->item_order,$this->public, serialize($this->extra))); $this->_data['id'] = $db->Insert_ID(); $this->create_date = $this->modified_date = $db->DbTimeStamp(time()); } private function _update() { $db = cmsms()->GetDb(); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET name = ?, type = ?, max_length = ?, modified_date = NOW(), item_order = ?, public = ?, extra = ? WHERE id = ?'; $dbr = $db->Execute($query,array($this->name,$this->type,$this->max_length,$this->item_order,$this->public, serialize($this->extra),$this->id)); $this->modified_date = $db->DbTimeStamp(time()); } public function save() { $this->_validate(); if( $this->_data['id'] ) { $this->_insert(); } else { $this->_update(); } } public static function &load_by_id($id) { $id = (int)$id; if( $id < 1 ) return; $db = cmsms()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query,array($id)); if( $row['extra'] ) $row['extra'] = unserialize($row['extra']); $obj = new news_field; $obj->_data = $row; return $obj; } public static function &load_by_name($name) { $name = trim($name); if( !$name ) return; $db = cmsms()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ?'; $row = $db->GetRow($query,array($name)); if( $row['extra'] ) $row['extra'] = unserialize($row['extra']); $obj = new news_field; $obj->_data = $row; return $obj; } } // end of class ?>GetDb(); $counts = array(); $now = $db->DbTimeStamp(time()); { $q2 = 'SELECT news_category_id,COUNT(news_id) AS cnt FROM '.CMS_DB_PREFIX.'module_news WHERE news_category_id IN ('; $q2 .= implode(',',$cat_ids).')'; if (isset($params['showarchive']) && $params['showarchive'] == true) { $q2 .= " AND (end_time < ".$db->DBTimeStamp(time()).") "; } else { $q2 .= " AND (".$db->IfNull('start_time',$db->DBTimeStamp(1))." < $now) "; $q2 .= " AND ((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > $now)) "; } $q2 .= ' AND status = \'published\' GROUP BY news_category_id'; $tmp = $db->GetArray($q2); if( count($tmp) ) { for( $i = 0, $n = count($tmp); $i < $n; $i++ ) { $counts[$tmp[$i]['news_category_id']] = $tmp[$i]['cnt']; } } } $rowcounter=0; $items = array(); $depth = 1; for( $i = 0, $n = count($catinfo); $i < $n; $i++ ) { $row =& $catinfo[$i]; $row['index'] = $rowcounter++; $row['count'] = (isset($counts[$row['news_category_id']]))?$counts[$row['news_category_id']]:0; $row['prevdepth'] = $depth; $depth = count(explode('.', $row['hierarchy'])); $row['depth']=$depth; // changes so that parameters supplied to the tag // gets carried down through the links // screw pretty urls $parms = $params; unset($parms['browsecat']); unset($parms['category']); $parms['category_id'] = $row['news_category_id']; $pageid = (isset($params['detailpage']) && $params['detailpage']!='')?$params['detailpage']:$returnid; $mod = cms_utils::get_module('News'); $row['url'] = $mod->CreateLink($id,'default',$pageid,$row['news_category_name'],$parms,'',true); $items[] = $row; } return $items; } public static function get_all_categories() { if( !self::$_categories_loaded ) { $db = CmsApp::get_instance()->GetDb(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->GetArray($query); if( $dbresult ) self::$_cached_categories = $dbresult; self::$_categories_loaded = TRUE; } return self::$_cached_categories; } public static function get_category_list() { self::get_all_categories(); $categorylist = array(); if (!empty(self::$_cached_categories)) { for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { $row = self::$_cached_categories[$i]; $categorylist[$row['long_name']] = $row['news_category_id']; } } return $categorylist; } public static function get_category_names_by_id() { self::get_all_categories(); if (!empty(self::$_cached_categories)) { $list = array(); for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { $list[self::$_cached_categories[$i]['news_category_id']] = self::$_cached_categories[$i]['news_category_name']; } } return $list; } public static function get_category_name_from_id($id) { self::get_all_categories(); if (!empty(self::$_cached_categories)) { for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { if( $id == self::$_cached_categories[$i]['news_category_id'] ) { return self::$_cached_categories[$i]['news_category_name']; } } } } public static function get_fielddefs($publiconly = TRUE) { if( !is_array(self::$_cached_fielddefs) ) { $db = CmsApp::get_instance()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE public = 1 ORDER BY item_order'; if( !$publiconly ) { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs ORDER BY item_order'; } $tmp = $db->GetArray($query); self::$_cached_fielddefs = array(); if( is_array($tmp) && count($tmp) ) { for( $i = 0, $n = count($tmp); $i < $n; $i++ ) { self::$_cached_fielddefs[$tmp[$i]['id']] = $tmp[$i]; } } } return self::$_cached_fielddefs; } public static function &get_field_from_row($row) { $res = null; if( !isset($row['id']) ) return $res; $res = new news_field; foreach( $row as $key => $value ) { switch( $key ) { case 'id': case 'name': case 'type': case 'max_length': case 'item_order': case 'public': case 'value': $res->$key = $value; break; } } return $res; } public static function fill_article_from_formparams(news_article &$news,$params,$handle_uploads = FALSE,$handle_deletes = FALSE) { foreach( $params as $key => $value ) { switch( $key ) { case 'articleid': $news->id = $value; break; case 'author_id': case 'title': case 'content': case 'summary': case 'status': case 'news_url': case 'useexp': case 'extra': $news->$key = $value; break; case 'category': $list = self::get_category_names_by_id(); for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { if( $value == self::$_cached_categories[$i]['news_category_name'] ) $news->category_id = self::$_cached_categories[$i]['news_category_id']; } break; case 'postdate_Month': $news->postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); break; case 'startdate_Month': $news->startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); break; case 'startdate_Month': $news->enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); break; } } if( isset($params['customfield']) && is_array($params['customfield']) ) { $fielddefs = self::get_fielddefs(); foreach( $params['customfield'] as $key => $value ) { if( !isset($fielddefs[$key]) ) continue; $field = self::get_field_from_row($fielddefs[$key]); $field->value = $value; $news->set_field($field); } } return $news; } static private function &get_article_from_row($row,$get_fields = 'PUBLIC') { if( !is_array($row) ) return; $article = new news_article; foreach( $row as $key => $value ) { switch( $key ) { case 'news_id': $article->id = $value; break; case 'news_category_id': $article->category_id = $value; break; case 'news_title': $article->title = $value; break; case 'news_data': $article->content = $value; break; case 'news_date': $article->postdate = $value; break; case 'summary': $article->summary = $value; case 'start_time': $article->startdate = $value; break; case 'end_time': $article->enddate = $value; break; case 'status': $article->status = $value; break; case 'create_date': $article->create_date = $value; break; case 'modified_date': $article->modified_date = $value; break; case 'author_id': $article->author_id = $value; break; case 'news_extra': $article->extra = $value; break; case 'news_url': $article->news_url = $value; break; } } if( $get_fields && $get_fields != 'NONE' && $article->id ) { self::preloadFieldData($article->id); $fields = self::get_fields($article->id); if( isset($fields) && count($fields) ) { foreach( $fields as $field ) { $article->set_field($field); } } } return $article; } static public function &get_latest_article($for_display = TRUE) { $db = CmsApp::get_instance()->GetDb(); $now = $db->DbTimeStamp(time()); $query = "SELECT mn.*, mnc.news_category_name FROM ".CMS_DB_PREFIX."module_news mn LEFT OUTER JOIN ".CMS_DB_PREFIX."module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = 'published' AND "; $query .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < $now) AND "; $query .= "((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > $now)) "; $query .= 'ORDER BY news_date DESC LIMIT 1'; $row = $db->GetRow($query); return self::get_article_from_row($row,($for_display)?'PUBLIC':'ALL'); } static public function &get_article_by_id($article_id,$for_display = TRUE,$allow_expired = FALSE) { $db = CmsApp::Get_instance()->GetDb(); $query = 'SELECT mn.*, mnc.news_category_name FROM '.CMS_DB_PREFIX.'module_news mn LEFT OUTER JOIN '.CMS_DB_PREFIX.'module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = \'published\' AND news_id = ? AND ('.$db->ifNull('start_time',$db->DbTimeStamp(1)).' < NOW())'; if( !$allow_expired ) { $query .= 'AND (('.$db->ifNull('end_time',$db->DbTimeStamp(1)).' = '.$db->DbTimeStamp(1).') OR (end_time > NOW()))'; } $row = $db->GetRow($query, array($article_id)); $res = null; if( !$row ) return $res; return self::get_article_from_row($row,($for_display)?'PUBLIC':'ALL'); } public static function preloadFieldData($ids) { if( !is_array($ids) && is_numeric($ids) ) $ids = array($ids); $tmp = array(); for( $i = 0, $nn = count($ids); $i < $nn; $i++ ) { $n = (int)$ids[$i]; if( $n < 0 ) continue; if( is_array(self::$_cached_fieldvals) && isset(self::$_cached_fieldvals[$n]) ) continue; $tmp[] = $n; } if( !is_array($tmp) || !count($tmp) ) return; sort($tmp); $idlist = array_unique($tmp); $fielddefs = self::get_fielddefs(); if( !count($fielddefs) ) return; $db = CmsApp::get_instance()->GetDb(); $query = 'SELECT A.news_id,A.fielddef_id,A.value FROM '.CMS_DB_PREFIX.'module_news_fieldvals A INNER JOIN '.CMS_DB_PREFIX.'module_news_fielddefs B ON A.fielddef_id = B.id WHERE news_id IN ('.implode(',',$idlist).') ORDER BY A.news_id,B.item_order'; $dbr = $db->GetArray($query); if( !$dbr ) return; // initialization. if( !is_array(self::$_cached_fieldvals) ) self::$_cached_fieldvals = array(); foreach( $idlist as $news_id ) { if( isset(self::$_cached_fieldvals[$news_id]) ) continue; self::$_cached_fieldvals[$news_id] = array(); foreach( $fielddefs as $field ) { $obj = new news_field; foreach( $field as $k => $v ) { $obj->$k = $v; } $obj->value = null; self::$_cached_fieldvals[$news_id][$field['id']] = $obj; } } // fill with values. foreach( $dbr as $row ) { $news_id = $row['news_id']; $flddef_id = $row['fielddef_id']; $value = $row['value']; if( !isset(self::$_cached_fieldvals[$news_id][$flddef_id]) ) continue; self::$_cached_fieldvals[$news_id][$flddef_id]->value = $value; } } public static function get_fields($news_id,$public_only = true,$filled_only = FALSE) { if( $news_id <= 0 ) return; $fd = self::get_fielddefs(); if( !count($fd) ) return; $results = array(); foreach( $fd as $field ) { $obj = null; if( isset(self::$_cached_fieldvals[$news_id][$field['id']]) ) { $obj = self::$_cached_fieldvals[$news_id][$field['id']]; } else { // data for this field must not have been preloaded. // means there is no value, so just build one $obj = new news_field; foreach( $field as $k => $v ) { $obj->$k = $v; } $obj->value = null; } $results[$field['name']] = $obj; } /* foreach( self::$_cached_fieldvals[$news_id] as $fid => $data ) { if( !$public_only || $data->public ) { if( !$filled_only || (isset($data->value) && $data->value != '') ) { $results[$data->name] = $data; } } } */ return $results; } } // end of class # # EOF # ?>test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } $db = $this->GetDb(); $dict = NewDataDictionary($db); $flds = " news_id I KEY, news_category_id I, news_title C(255), news_data X, news_date " . CMS_ADODB_DT . ", summary X, start_time " . CMS_ADODB_DT . ", end_time " . CMS_ADODB_DT . ", status C(25), icon C(255), create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . ", author_id I, news_extra C(255), news_url C(255), searchable I1 "; // icon is no longer used. $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $db->CreateSequence(CMS_DB_PREFIX."module_news_seq"); $flds = " news_category_id I KEY, news_category_name C(255) NOTNULL, parent_id I, hierarchy C(255), item_order I, long_name X, create_date T, modified_date T "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_categories",$flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $db->CreateSequence(CMS_DB_PREFIX."module_news_categories_seq"); $flds = " id I KEY AUTO, name C(255), type C(50), max_length I, create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . ", item_order I, public I, extra X "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_fielddefs", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $flds = " news_id I KEY NOT NULL, fielddef_id I KEY NOT NULL, value X, create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . " "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_fieldvals", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); #Set Permission $this->CreatePermission('Modify News', 'Modify News'); $this->CreatePermission('Approve News', 'Approve News For Frontend Display'); $this->CreatePermission('Delete News', 'Delete News Articles'); # Setup summary template try { $summary_template_type = new CmsLayoutTemplateType(); $summary_template_type->set_originator($this->GetName()); $summary_template_type->set_name('summary'); $summary_template_type->set_dflt_flag(TRUE); $summary_template_type->set_lang_callback('News::page_type_lang_callback'); $summary_template_type->set_content_callback('News::reset_page_type_defaults'); $summary_template_type->set_help_callback('News::template_help_callback'); $summary_template_type->reset_content_to_factory(); $summary_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_summary_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Summary Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($summary_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup Simplex Theme HTML5 sample summary template $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'Summary_Simplex_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('Simplex News Summary'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($summary_template_type); $tpl->add_design('Simplex'); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup detail template $detail_template_type = new CmsLayoutTemplateType(); $detail_template_type->set_originator($this->GetName()); $detail_template_type->set_name('detail'); $detail_template_type->set_dflt_flag(TRUE); $detail_template_type->set_lang_callback('News::page_type_lang_callback'); $detail_template_type->set_content_callback('News::reset_page_type_defaults'); $detail_template_type->reset_content_to_factory(); $detail_template_type->set_help_callback('News::template_help_callback'); $detail_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_detail_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Detail Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($detail_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup Simplex Theme HTML5 sample detail template $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'Simplex_Detail_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('Simplex News Detail'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($detail_template_type); $tpl->add_design('Simplex'); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup form template $form_template_type = new CmsLayoutTemplateType(); $form_template_type->set_originator($this->GetName()); $form_template_type->set_name('form'); $form_template_type->set_dflt_flag(TRUE); $form_template_type->set_lang_callback('News::page_type_lang_callback'); $form_template_type->set_content_callback('News::reset_page_type_defaults'); $form_template_type->reset_content_to_factory(); $form_template_type->set_help_callback('News::template_help_callback'); $form_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_form_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Fesubmit Form Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($form_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup browsecat template $browsecat_template_type = new CmsLayoutTemplateType(); $browsecat_template_type->set_originator($this->GetName()); $browsecat_template_type->set_name('browsecat'); $browsecat_template_type->set_dflt_flag(TRUE); $browsecat_template_type->set_lang_callback('News::page_type_lang_callback'); $browsecat_template_type->set_content_callback('News::reset_page_type_defaults'); $browsecat_template_type->reset_content_to_factory(); $browsecat_template_type->set_help_callback('News::template_help_callback'); $browsecat_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'browsecat.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Browse Category Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($browsecat_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } # Setup default email template and email preferences $this->SetPreference('email_subject',$this->Lang('subject_newnews')); $this->SetTemplate('email_template',$this->GetDfltEmailTemplate()); # Other preferences $this->SetPreference('allowed_upload_types','gif,png,jpeg,jpg'); $this->SetPreference('auto_create_thumbnails','gif,png,jpeg,jpg'); # Setup General category $catid = $db->GenID(CMS_DB_PREFIX."module_news_categories_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_categories (news_category_id, news_category_name, parent_id, create_date, modified_date) VALUES (?,?,?,'.$db->DBTimeStamp(time()).','.$db->DBTimeStamp(time()).')'; $db->Execute($query, array($catid, 'General', -1)); # Setup initial news article $articleid = $db->GenID(CMS_DB_PREFIX."module_news_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news ( NEWS_ID, NEWS_CATEGORY_ID, AUTHOR_ID, NEWS_TITLE, NEWS_DATA, NEWS_DATE, SUMMARY, START_TIME, END_TIME, STATUS, ICON, SEARCHABLE, CREATE_DATE, MODIFIED_DATE ) VALUES (?,?,?,?,?,'.$db->DBTimeStamp(time()).',?,?,?,?,?,?,'.$db->DBTimeStamp(time()).','.$db->DBTimeStamp(time()).')'; $db->Execute($query, array($articleid, $catid, 1, 'News Module Installed', 'The news module was installed. Exciting. This news article is not using the Summary field and therefore there is no link to read more. But you can click on the news heading to read only this article.', null, null, null, 'published', null, 1)); news_admin_ops::UpdateHierarchyPositions(); # Setup permissions $perm_id = $db->GetOne("SELECT permission_id FROM ".CMS_DB_PREFIX."permissions WHERE permission_name = 'Modify News'"); $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Admin'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", array($group_id, $perm_id)); if (isset($count) && intval($count) == 0) { $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO " . CMS_DB_PREFIX . "group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (".$new_id.", ".$group_id.", ".$perm_id.", ". $db->DBTimeStamp(time()) . ", " . $db->DBTimeStamp(time()) . ")"; $db->Execute($query); } $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Editor'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", array($group_id, $perm_id)); if (isset($count) && intval($count) == 0) { $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO " . CMS_DB_PREFIX . "group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (".$new_id.", ".$group_id.", ".$perm_id.", ". $db->DBTimeStamp(time()) . ", " . $db->DBTimeStamp(time()) . ")"; $db->Execute($query); } # Indexes $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_postdate', CMS_DB_PREFIX.'module_news', 'news_date'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_daterange', CMS_DB_PREFIX.'module_news', 'start_time,end_time'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_author', CMS_DB_PREFIX.'module_news', 'author_id'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_hier', CMS_DB_PREFIX.'module_news', 'news_category_id'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_url', CMS_DB_PREFIX.'module_news', 'news_url'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_startenddate', CMS_DB_PREFIX.'module_news', 'start_time,end_time'); $dict->ExecuteSQLArray($sqlarray); #Setup events $this->CreateEvent('NewsArticleAdded'); $this->CreateEvent('NewsArticleEdited'); $this->CreateEvent('NewsArticleDeleted'); $this->CreateEvent('NewsCategoryAdded'); $this->CreateEvent('NewsCategoryEdited'); $this->CreateEvent('NewsCategoryDeleted'); $this->RegisterModulePlugin(TRUE); $this->RegisterSmartyPlugin('news','function','function_plugin'); // and routes... $this->CreateStaticRoutes(); ?> GetDb(); $this->DeleteTemplate('displaysummary'); $this->DeleteTemplate('displaydetail'); $dict = NewDataDictionary( $db ); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_categories" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_fielddefs" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_fieldvals" ); $dict->ExecuteSQLArray($sqlarray); $db->DropSequence( CMS_DB_PREFIX."module_news_seq" ); $db->DropSequence( CMS_DB_PREFIX."module_news_categories_seq" ); $this->RemovePermission('Modify News'); $this->RemovePermission('Approve News'); $this->RemovePermission('Delete News'); // Remove all preferences for this module $this->RemovePreference(); // And all Templates $this->DeleteTemplate(); #Setup events $this->RemoveEvent('NewsArticleAdded'); $this->RemoveEvent('NewsArticleEdited'); $this->RemoveEvent('NewsArticleDeleted'); $this->RemoveEvent('NewsCategoryAdded'); $this->RemoveEvent('NewsCategoryEdited'); $this->RemoveEvent('NewsCategoryDeleted'); $this->RemoveSmartyPlugin(); cms_route_manager::del_static('',$this->GetName()); // remove templates // and template types. try { $types = CmsLayoutTemplateType::load_all_by_originator($this->GetName()); if( is_array($types) && count($types) ) { foreach( $types as $type ) { $templates = $type->get_template_list(); if( is_array($templates) && count($templates) ) { foreach( $templates as $template ) { $template->delete(); } } $type->delete(); } } } catch( Exception $e ) { // log it audit('',$this->GetName(),'Uninstall Error: '.$e->GetMessage()); } ?>GetDb(); if( version_compare($oldversion,'2.50') < 0 ) { $uid = null; if( cmsms()->test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } $_fix_name = function($str) { if( CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; // create template types. $upgrade_template = function($type,$prefix,$tplname,$currentdflt,$prefix2) use (&$mod,&$_fix_name,$uid) { if( !startswith($tplname,$prefix) ) return; $contents = $mod->GetTemplate($tplname); if( !$contents ) return; $prototype = substr($tplname,strlen($prefix)); $prototype = $_fix_name($prototype); try { $tpl = new CmsLayoutTemplate(); $tpl->set_name($tpl::generate_unique_name($prototype,$prefix2)); $tpl->set_owner($uid); $tpl->set_content($contents); $tpl->set_type($type); $tpl->set_type_dflt($prototype == $mod->GetPreference($currentdflt)); $tpl->save(); $mod->DeleteTemplate($tplname); } catch( \CmsInvalidDataException $e ) { } }; try { $dict = NewDataDictionary($db); $sqlarray = $dict->AddColumnSQL(CMS_DB_PREFIX.'module_news','searchable I1'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->AddColumnSQL(CMS_DB_PREFIX.'module_news_categories','item_order I'); $dict->ExecuteSQLArray($sqlarray); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY parent_id"; $categories = $db->GetArray($query); $uquery = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET item_order = ? WHERE news_category_id = ?'; if( is_array($categories) && count($categories) ) { $prev_parent = null; $item_order = 0; foreach( $categories as $row ) { $parent = $row['parent_id']; if( $parent != $prev_parent ) $item_order = 0; $item_order++; $db->Execute($uquery,array($item_order,$row['news_category_id'])); } } $mod = $this; $alltemplates = $this->ListTemplates(); try { $summary_template_type = new CmsLayoutTemplateType(); $summary_template_type->set_originator($this->GetName()); $summary_template_type->set_name('summary'); $summary_template_type->set_dflt_flag(TRUE); $summary_template_type->set_lang_callback('News::page_type_lang_callback'); $summary_template_type->set_content_callback('News::reset_page_type_defaults'); $summary_template_type->reset_content_to_factory(); $summary_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($summary_template_type,'summary',$tplname,'current_summary_template','News-Summary-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $detail_template_type = new CmsLayoutTemplateType(); $detail_template_type->set_originator($this->GetName()); $detail_template_type->set_name('detail'); $detail_template_type->set_dflt_flag(TRUE); $detail_template_type->set_lang_callback('News::page_type_lang_callback'); $detail_template_type->set_content_callback('News::reset_page_type_defaults'); $detail_template_type->reset_content_to_factory(); $detail_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($detail_template_type,'detail',$tplname,'current_detail_template','News-Detail-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $form_template_type = new CmsLayoutTemplateType(); $form_template_type->set_originator($this->GetName()); $form_template_type->set_name('form'); $form_template_type->set_dflt_flag(TRUE); $form_template_type->set_lang_callback('News::page_type_lang_callback'); $form_template_type->set_content_callback('News::reset_page_type_defaults'); $form_template_type->reset_content_to_factory(); $form_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($form_template_type,'form',$tplname,'current_form_template','News-Form-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $browsecat_template_type = new CmsLayoutTemplateType(); $browsecat_template_type->set_originator($this->GetName()); $browsecat_template_type->set_name('browsecat'); $browsecat_template_type->set_dflt_flag(TRUE); $browsecat_template_type->set_lang_callback('News::page_type_lang_callback'); $browsecat_template_type->set_content_callback('News::reset_page_type_defaults'); $browsecat_template_type->reset_content_to_factory(); $browsecat_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($browsecat_template_type,'browsecat',$tplname,'current_browsecat_template','News-Browsecat-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } } catch( CmsException $e ) { audit('',$this->GetName(),'Upgrade Error: '.$e->GetMessage()); return; } $this->RegisterModulePlugin(TRUE); $this->RegisterSmartyPlugin('news','function','function_plugin'); $this->CreateStaticRoutes(); } if( version_compare($oldversion,'2.50.8') < 0 ) { try { $types = CmsLayoutTemplateType::load_all_by_originator($this->GetName()); if( is_array($types) && count($types) ) { foreach( $types as $type_obj ) { $type_obj->set_help_callback('News::template_help_callback'); $type_obj->save(); } } } catch( Exception $e ) { // log it audit('',$this->GetName(),'Uninstall Error: '.$e->GetMessage()); return FALSE; } } ?> {* this is a sample detail template that works with the Simplex theme *} {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {assign var='canonical' value=$entry->canonical scope=global} {assign var='main_title' value=$entry->title scope=global} {/if} {*

    {$entry->title|cms_escape:htmlall}

    *} {if $entry->summary} {$entry->summary} {/if} {$entry->content} {if $entry->extra} {$extra_label} {$entry->extra} {/if} {if $return_url != ""}
    ← {$return_url}{if $category_name != ''} - {$category_link}{/if} {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'}
    {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if}
    {if $entry->postdate} {$entry->postdate|cms_date_format} {/if} {if $entry->category} {$category_label} {$entry->category} {/if} {if $entry->author} {$author_label} {$entry->author} {/if}
    {strip}
    News
      {foreach from=$cats item='node'} {if $node.depth > $node.prevdepth} {repeat string='
        ' times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string='
      ' times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if} {if $node.count > 0} {$node.news_category_name}{else}{$node.news_category_name} {/if} {/foreach} {repeat string='
    ' times=$node.depth-1} {foreach from=$items item='entry'}

    {$entry->title|cms_escape}

    {$author_label} {$entry->author} {$category_label} {$entry->category}
    {if $entry->summary}

    {$entry->summary|strip_tags}

    {$entry->morelink} → {else if $entry->content}

    {$entry->content|strip_tags}

    {/if}
    {/foreach} {if $pagecount > 1} {if $pagenumber > 1} {$firstpage} {$prevpage} {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount} {$nextpage} {$lastpage} {/if} {/if}
    {/strip} {function category_tree parent=-1 depth=1}{strip} {foreach $allcats as $cat} {if $cat.parent_id == $parent}
  • {$cat.news_category_name}
    {category_tree parent=$cat.news_category_id depth=$depth+1}
  • {/if} {/foreach} {/strip}{/function}

    {$mod->Lang('reorder_categories')}

    {$mod->Lang('info_reorder_categories')}
    {category_tree} {form_start id="reorder_form"}

    {form_end}{$startform}

    {$title_submission_settings}:

    {cms_help key='help_opt_alert_drafts' title=$mod->Lang('prompt_alert_drafts')}

    {cms_help key='help_opt_dflt_category' title=$title_submission_settings}

    {cms_help key='help_opt_allowed_upload_types' title=$title_allowed_upload_types}

    {cms_help key='help_opt_hide_summary' title=$title_hide_summary_field}

    {cms_help key='help_opt_expiry_interval' title=$title_expiry_interval}


    {$title_fesubmit_settings}:


    {$mod->Lang('info_allow_fesubmit')}

    {cms_help key='help_fesubmit_redirect' title=$title_fesubmit_redirect}

    {$title_notification_settings}:
    {$mod->Lang('info_fesubmit_notification')}


    {$title_detail_settings}:

    {$title_detail_returnid}: {cms_help key='info_detail_returnid' title=$title_detail_returnid}

    {$input_detail_returnid}

    {cms_help key='info_expired_searchable' title=$title_expired_searchable}

    {cms_help key='info_expired_viewable' title=$title_expired_viewable}

    {$endform} {if isset($formstart) } {/if}
    {if $itemcount > 0 && $pagecount > 1}
    {form_start} {$mod->Lang('prompt_page')}    {form_end}
    {/if}
    {* .row *} {if $itemcount > 0} {$form2start} {foreach from=$items item=entry} {/foreach}
    # {$titletext} {$postdatetext} {$startdatetext} {$enddatetext} {$categorytext} {$statustext}    
    {$entry->id} {if isset($entry->edit_url)} {$entry->news_title|cms_escape} {else} {$entry->news_title|cms_escape} {/if} {$entry->u_postdate|cms_date_format} {if !empty($entry->u_enddate)}{$entry->u_startdate|cms_date_format}{/if} {if $entry->expired == 1}
    {$entry->u_enddate|cms_date_format}
    {else} {$entry->u_enddate|cms_date_format} {/if}
    {$entry->category|cms_escape} {if isset($entry->approve_link)}{$entry->approve_link}{/if} {if isset($entry->edit_url)} {admin_icon icon='edit.gif'} {/if} {if isset($entry->delete_url)} {admin_icon icon='delete.gif'} {/if}
    {else}

    {if $curcategory == ''}{$mod->Lang('noarticles')}{else}{$mod->Lang('noarticlesinfilter')}{/if}

    {/if}
    {if isset($addlink)}

    {$addlink}

    {/if} {if $itemcount > 0}
    {$mod->Lang('category')}: {$categoryinput}
    {/if}
    {$form2end} {if $count > 0}
      {foreach from=$cats item=node} {if $node.depth > $node.prevdepth} {repeat string="
        " times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string="
      " times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if}
    • {if $node.count > 0} {$node.news_category_name} ({$node.count}){else}{$node.news_category_name} (0){/if} {/foreach} {repeat string="
    " times=$node.depth-1} {/if} {if $itemcount > 0} {foreach from=$items item=entry} {/foreach}
    {$categorytext}    
    {repeat string=' > ' times=$entry->depth}{$entry->name|cms_escape} {admin_icon icon='edit.gif'} {admin_icon icon='delete.gif'}
    {/if}{* #CMS - CMS Made Simple #(c)2004-6 by Ted Kulp (ted@cmsmadesimple.org) #This project's homepage is: http://cmsmadesimple.org # #This 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. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #$Id$ *} {if $itemcount > 0} {foreach from=$items item=entry} {cycle values="row1,row2" assign='rowclass'} {/foreach}
    {$fielddeftext} {$typetext}        
    {$entry->name} {$entry->type} {$entry->uplink} {$entry->downlink} {$entry->editlink} {admin_icon icon='delete.gif' alt=$mod->Lang('delete')}
    {/if}

    {if isset($articleid)}{$mod->Lang('editarticle')}{else}{$mod->Lang('addarticle')}{/if}

    {strip}
    {$startform}

    {$hidden|default:''} {if isset($articleid)} {/if}

    {if isset($start_tab_headers)} {$start_tab_headers} {$tabheader_article} {$tabheader_preview} {$end_tab_headers} {$start_tab_content} {$start_tab_article} {/if}
    {if $inputauthor}

    *{$authortext}:

    {$inputauthor}

    {/if}

    {cms_help key='help_article_title' title=$titletext}

    {cms_help key='help_article_category' title=$categorytext}

    {if !isset($hide_summary_field) or $hide_summary_field == '0'}

    {$summarytext}: {cms_help key='help_article_summary' title=$summarytext}

    {$inputsummary}

    {/if}

    *{$contenttext}: {cms_help key='help_article_content' title=$contenttext}

    {$inputcontent}

    {if isset($statustext)}

    {cms_help key='help_article_status' title=$statustext}

    {else} {/if}

    {cms_help key='help_article_url' title=$urltext}

    {cms_help key='help_article_extra' title=$extratext}

    {$postdatetext}: {cms_help key='help_article_postdate' title=$postdatetext}

    {html_select_date prefix=$postdateprefix time=$postdate start_year='1980' end_year='+15'} {html_select_time prefix=$postdateprefix time=$postdate}

    {cms_help key='help_article_searchable' title=$mod->Lang('searchable')}


    {$mod->Lang('info_searchable')}

    {cms_help key='help_article_useexpiry' title=$useexpirationtext}

    {$startdatetext}: {cms_help key='help_article_startdate' title=$startdatetext}

    {html_select_date prefix=$startdateprefix time=$startdate start_year="-10" end_year="+15"} {html_select_time prefix=$startdateprefix time=$startdate}

    {$enddatetext}: {cms_help key='help_article_enddate' title=$enddatetext}

    {html_select_date prefix=$enddateprefix time=$enddate start_year="-10" end_year="+15"} {html_select_time prefix=$enddateprefix time=$enddate}

    {if isset($custom_fields)} {foreach $custom_fields as $field}

    {if $field->type == 'textbox'} {elseif $field->type == 'checkbox'} value == 1} checked="checked"{/if} /> {elseif $field->type == 'textarea'} {cms_textarea id=$field->idattr name=$field->nameattr enablewysiwyg=1 value=$field->value maxlength=$field->max_len} {elseif $field->type == 'file'} {if !empty($field->value)}{$field->value}
    {/if} {if !empty($field->value)} {$delete_field_val} {/if} {elseif $field->type == 'dropdown'} {elseif $field->type == 'linkedfile'} {if $field->value} {thumbnail_url file=$field->value assign=tmp} {if $tmp}{$field->value}{/if} {/if} {cms_filepicker name="{$field->nameattr}" value=$field->value} {/if}

    {/foreach} {/if}
    {if isset($end_tab_article)} {$end_tab_article} {/if} {/strip} {if isset($start_tab_preview)} {$start_tab_preview} {strip} {* display a warning *}
    {$warning_preview}
         

    {$end_tab_preview} {$end_tab_content} {/if}

      {if isset($articleid)}   {/if}

    {$endform}
    {/strip} {if isset($catid)}

    {$mod->Lang('editcategory')}

    {else}

    {$mod->Lang('addcategory')}

    {/if}
    {$mod->Lang('info_categories')}
    {$startform}

    {cms_help key='help_category_name' title=$mod->Lang('name')}

    {cms_help key='help_category_parent' title=$mod->Lang('parent')}

     

    {$endform}{$startform}

    {$defaulttemplateform_title}

    {$info_title}

    {$prompt_template}:

    {$input_template}

     

    {$submit}{$reset}

    {$endform}
    {* #CMS - CMS Made Simple #(c)2004-6 by Ted Kulp (ted@cmsmadesimple.org) #This project's homepage is: http://cmsmadesimple.org # #This 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. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #$Id$ *}

    {$title}

    {$startform}{$hidden|default:''}

    {cms_help key='help_fielddef_name' title=$nametext}

    {if $showinputtype eq true}

    {cms_help key='help_fielddef_type' title=$typetext}

    {else} {/if}

    {cms_help key='help_fielddef_options' title=$mod->Lang('options')}

    {cms_help key='help_fielddef_maxlen' title=$maxlengthtext}


    {$info_maxlength}

    {cms_help key='help_fielddef_public' title=$userviewtext}

     

    {$endform}

    {$title}

    {$formstart}

    {$prompt_templatename}:

    {$templatename}

    {$prompt_template}:

    {$template}

     

    {$submit}{$cancel}{if isset($apply)}{$apply}{/if}

    {$formend}
    {foreach from=$items item=entry} {/foreach}
    {$nameprompt} {$defaultprompt}    
    {$entry->name} {$entry->default} {$entry->editlink} {$entry->deletelink}

    {$newtemplatelink}

    {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {* note this syntax ensures that the canonical variable is set into global scope *} {assign var='canonical' value=$entry->canonical scope=global} {/if} {if $entry->postdate}
    {$entry->postdate|cms_date_format}
    {/if}

    {$entry->title|cms_escape:htmlall}


    {if $entry->summary}
    {$entry->summary}
    {/if} {if $entry->category}
    {$category_label} {$entry->category}
    {/if} {if $entry->author}
    {$author_label} {$entry->author}
    {/if}
    {* note, for security purposes we do not pass the content through smarty before displaying it. This is incase your articles can come from untrusted sources. *} {$entry->content}
    {if $entry->extra}
    {$extra_label} {$entry->extra}
    {/if} {if $return_url != ""} {/if} {if isset($entry->fields)} {foreach $entry->fields as $fieldname => $field}
    {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} {if isset($field->value) && $field->value} {$field->value} {/if} {elseif $field->type == 'linkedfile'} {* also assume it's an image... *} {if !empty($field->value)} {$field->value} {/if} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if} {* original form template *}

    {$mod->Lang('title_fesubmit_form')}

    {if isset($error)}
    {$message}
    {/if} {form_start category_id=$category_id}

    {if !isset($hide_summary_field) or $hide_summary_field == 0}

    {$tmp=$actionid|cat:'summary'} {cms_textarea enablewysiwyg=true id=news_summary name=$tmp value=$summary required=true}

    {/if}

    {$tmp=$actionid|cat:'content'} {cms_textarea enablewysiwyg=true id=news_content name=$tmp value=$content required=true}

    {$mod->Lang('startdate')}:

    {$tmp=$actionid|cat:'startdate_'} {html_select_date prefix=$tmp time=$startdate end_year="+15"} {html_select_time prefix=$tmp time=$startdate}

    {$mod->Lang('enddate')}:

    {$tmp=$actionid|cat:'enddate_'} {html_select_date prefix=$tmp time=$enddate end_year="+15"} {html_select_time prefix=$tmp time=$enddate}

    {if isset($customfields)} {foreach from=$customfields item='field'}

    {if $field->type == 'file'} {elseif $field->type == 'checkbox'} {elseif $field->type == 'textarea'} {$tmp1='news_fld_'|cat:$field->id} {capture assign='tmp2'}{$actionid}news_customfield_{$field->id}{/capture} {cms_textarea id=$tmp1 name=$tmp2 enablewysiwyg=true} {elseif $field->type == 'textbox'} {/if}

    {/foreach} {/if} {form_end} {* This section shows a clickable list of your News categories. *}
      {foreach from=$cats item=node} {if $node.depth > $node.prevdepth} {repeat string="
        " times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string="
      " times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if} {if $node.count > 0} {$node.news_category_name}{else}{$node.news_category_name} {/if} {/foreach} {repeat string="
    " times=$node.depth-1} {* this displays the category name if you're browsing by category *} {if $category_name}

    {$category_name}

    {/if} {* if you don't want category browsing on your summary page, remove this line and everything above it *} {if $pagecount > 1}

    {if $pagenumber > 1} {$firstpage} {$prevpage}  {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount}  {$nextpage} {$lastpage} {/if}

    {/if} {foreach from=$items item=entry}
    {if $entry->postdate}
    {$entry->postdate|cms_date_format}
    {/if}
    {$category_label} {$entry->category}
    {if $entry->author}
    {$author_label} {$entry->author}
    {/if} {if $entry->summary} {* note, for security purposes, incase News articles can come from untrused sources, we do not pass the summary or content through smarty in the default templates *}
    {$entry->summary}
    {else if $entry->content} {* note, for security purposes, incase News articles can come from untrused sources, we do not pass the summary or content through smarty in the default templates *}
    {$entry->content}
    {/if} {if isset($entry->extra)}
    {$entry->extra} {* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'}
    {if $field->type == 'file'} {if isset($field->value) && $field->value} {/if} {elseif $field->type == 'linkedfile'} {* also assume it's an image... *} {if !empty($field->value)} {$field->value} {/if} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if}
    {/foreach} { "type": "module", "name": "News", "module_name": "News", "source": "core", "default_selected": true, "description": "Adds article and news publishing features, including categories, detail pages, summary lists and frontend templates for blog-style or newsroom content." } #------------------------------------------------------------------------- # CMS - CMS Made Simple is (c) 2011 by Ted Kulp (wishy@cmsmadesimple.org) # Project's homepage is: http://www.cmsmadesimple.org # Module's homepage is: http://dev.cmsmadesimple.org/projects/UserGuide #------------------------------------------------------------------------- # This 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . #------------------------------------------------------------------------- class UserGuide extends CMSModule { const MANAGE_PERM = 'manage_userguide'; const USE_PERM = 'use_userguide'; const ADMIN_SECTION_DEFAULT = 'main'; const LOADING_ICON = '../modules/UserGuide/lib/images/loading.gif'; const EMBED_TYPES = [ 'vimeo', 'youtube', 'local', 'code' ]; const EMBED_PREFIX_VIMEO = '//player.vimeo.com/video/'; const EMBED_PREFIX_YOUTUBE = '//www.youtube.com/embed/'; const DEFAULT_CONTENT_XML = '/lib/userguide_default_content.xml'; public function GetVersion() { return '1.1'; } public function GetFriendlyName() { return $this->GetPreference('customModuleName', 'User Guide'); } public function GetAdminDescription() { return $this->Lang('admindescription'); } public function IsPluginModule() { return FALSE; } public function HasAdmin() { return TRUE; } public function LazyLoadAdmin() { return TRUE; } public function GetAdminSection() { return $this->GetPreference('adminSection', self::ADMIN_SECTION_DEFAULT); } public function VisibleToAdminUser() { return ( $this->CheckPermission(self::USE_PERM) || $this->CheckPermission(self::MANAGE_PERM) ); } public function GetHelp() { return $this->Lang('help'); } public function GetAuthor() { return 'Chris Taylor'; } public function GetAuthorEmail() { return 'chris@binnovative.co.uk'; } public function GetChangeLog() { return $this->Lang('changelog'); } public function MinimumCMSVersion() { return '2.0'; } function __construct() { parent::__construct(); } public function UninstallPreMessage() { return $this->Lang('ask_uninstall'); } public function GetHeaderHTML() { $module_path = $this->GetModuleURLPath(); $header_links = ''; // see if custom.css file exists $customCSSfile = 'assets/module_custom/UserGuide/custom.css'; if ( file_exists(CMS_ROOT_PATH.'/'.$customCSSfile) ) { $header_links .= ''; } $header_links .= ''; return $header_links; } /** * @link http://www.cmsmadesimple.org/apidoc/CMS/CMSModule.html#HasCapability * @ignore */ function HasCapability($capability, $params = array()) { switch ($capability) { default: return FALSE; } } /** * @link https://apidoc.cmsmadesimple.org/classes/CMSModule.html#method_GetAdminMenuItems */ public function GetAdminMenuItems() { $out = []; if ( $this->VisibleToAdminUser() ) { $out[] = CmsAdminMenuItem::from_module($this); } if ( $this->CheckPermission(self::MANAGE_PERM) && $this->GetPreference('separate_settings', 0) ) { $obj = new CmsAdminMenuItem(); $obj->module = $this->GetName(); $obj->section = 'siteadmin'; $obj->title = $this->Lang('title_userguide_settings'); $obj->description = $this->Lang('desc_userguide_settings'); $obj->action = 'admin_settings'; $out[] = $obj; } return $out; } } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) { $this->Redirect($id, 'defaultadmin', $returnid); } // Save Parameters Options Tab $message = ''; $error = ''; if ( isset($params['submit']) ) { // All form sumbits save settings $this->SetPreference('customModuleName', (isset($params['input_customModuleName']) && $params['input_customModuleName']!='') ? $params['input_customModuleName'] : 'User Guide'); $this->SetPreference('adminSection', isset($params['input_adminSection']) ? $params['input_adminSection'] : UserGuide::ADMIN_SECTION_DEFAULT); $this->SetPreference('useSmarty', isset($params['input_useSmarty']) ? $params['input_useSmarty'] : false); $this->SetPreference('imageFolder', isset($params['input_imageFolder']) ? $params['input_imageFolder'] : ''); $separate_settings = isset($params['separate_settings']) ? $params['separate_settings'] : false; $this->SetPreference('separate_settings', $separate_settings); // Trigger cache clear - Touch menu cache files - core will refresh (v2.0+ ) foreach ( glob(cms_join_path(TMP_CACHE_LOCATION, 'cache*.cms')) as $filename ) { touch( $filename, time() - 360000 ); } switch ($params['submit']) { case 'save_settings': audit('', 'UserGuide - Options tab', 'Saved'); $message = $this->Lang('settings_saved'); break; case 'xml_import': $xmlfield = $id.'xmlfile'; if ( empty($_FILES[$xmlfield]['name']) || $_FILES[$xmlfield]['type']!='text/xml' ) { $error = $this->Lang('file_error'); break; } $importerExporter = new UserGuideImporterExporter(); $imported = $importerExporter->import( $_FILES[$xmlfield]['tmp_name'] ); if ($imported) { $message = $this->Lang('import_completed'); } else { $error = $this->Lang('import_error'); } break; case 'xml_export': $importerExporter = new UserGuideImporterExporter(); $importerExporter->export(); $message = $this->Lang('export_completed'); break; case 'import_UsersGuide_module': // import from legacy module $UsersGuideMod = $this->GetModuleInstance('UsersGuide'); if ( !is_object($UsersGuideMod) ) break; // import from db $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, position, content) SELECT man_title, man_order, man_content FROM '.CMS_DB_PREFIX.'module_UsersGuide'; $res = $db->Execute($sql); if (!$res) { $error = $this->Lang('module_import_database_error'); break; } $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET active = IFNULL(active, 1)'; $res = $db->Execute($sql); // import settings (preferences) $this->SetPreference('customModuleName', $UsersGuideMod->GetPreference('module_name').'*'); $this->SetPreference('adminSection', $UsersGuideMod->GetPreference('admin_section')); $message = $this->Lang('import_completed'); break; case 'import_UserGuide2_module': // import from previous module $UserGuide2Mod = $this->GetModuleInstance('UserGuide2'); if ( !is_object($UserGuide2Mod) ) break; // import from db $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, active, content, admin) SELECT title, active, content, admin FROM '.CMS_DB_PREFIX.'module_userguide2'; $res = $db->Execute($sql); if (!$res) { $error = $this->Lang('module_import_database_error'); break; } $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position=?, embed_type=?, embed_code=?, embed_first=? WHERE position=NULL'; // imported only $res = $db->Execute($sql, [10000, $this::EMBED_TYPES[0], '', 0]); $query = new UserGuideQuery; $updated = $query->updatePositions(); // import settings (preferences) $old_custom_name = $UserGuide2Mod->GetPreference('customModuleName'); if (!empty($old_custom_name)) $this->SetPreference('customModuleName', $old_custom_name.'*'); $this->SetPreference('adminSection', $UserGuide2Mod->GetPreference('admin_section')); $this->SetPreference('useSmarty', $UserGuide2Mod->GetPreference('useSmarty')); $this->SetPreference('imageFolder', $UserGuide2Mod->GetPreference('imageFolder')); $message = $this->Lang('import_completed'); break; } // either redirect to defaultadmin or continue to output settings template if (!$separate_settings) { if ($error) $this->SetError( $error ); if ($message) $this->SetMessage( $message ); $this->Redirect($id, 'defaultadmin', $returnid, ['active_tab' => 'options']); } } // output the Settings tabs if ($error) $this->ShowErrors( $error ); if ($message) $this->ShowMessage( $message ); $tpl = $smarty->CreateTemplate( $this->GetTemplateResource('admin_settings.tpl'), null, null, $smarty ); $tpl->assign( 'separate_settings', $this->GetPreference('separate_settings', false) ); if ( !isset($pages)) { // unless already set by defaultadmin (includes this file) $query = new UserGuideQuery; $pages = $query->GetMatches(); } $tpl->assign('pages', $pages); $tpl->assign('loadingIcon', $this::LOADING_ICON); $tpl->assign('input_customModuleName', $this->CreateInputText($id, 'input_customModuleName', $this->GetPreference('customModuleName',''),50,255)); $tpl->assign('input_adminSection', $this->CreateInputDropdown($id, 'input_adminSection', [ lang('main') => 'main', lang('content') => 'content', lang('layout') => 'layout', lang('usersgroups') => 'usersgroups', lang('extensions') => 'extensions', lang('admin') => 'siteadmin', lang('myprefs') => 'myprefs' ], -1, $this->GetPreference('adminSection', UserGuide::ADMIN_SECTION_DEFAULT) )); $tpl->assign( 'input_useSmarty', $this->CreateInputCheckbox($id, 'input_useSmarty', true, $this->GetPreference('useSmarty', false)) ); $tpl->assign( 'imageFolder', $this->GetPreference('imageFolder','') ); $tpl->assign('input_import', $this->CreateInputFile($id, 'xmlfile', '.xml')); $hasUsersGuideMod = $this->GetModuleInstance('UsersGuide'); $tpl->assign('hasUsersGuideMod', is_object($hasUsersGuideMod) ); $hasUserGuide2Mod = $this->GetModuleInstance('UserGuide2'); $tpl->assign('hasUserGuide2Mod', is_object($hasUserGuide2Mod) ); $tpl->display(); // echo $this->EndTab(); #--------------------------------------------------------------------------------------------------- // should never get here - no front end functionality if ( !defined('CMS_VERSION') ) exit; #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $managePermission = $this->CheckPermission(UserGuide::MANAGE_PERM); $usePermission = $this->CheckPermission(UserGuide::USE_PERM); if ( !$managePermission && !$usePermission ) { $this->ShowErrors( $this->Lang('need_permission') ); return; } $query = new UserGuideQuery; $pages = $query->GetMatches(); $useSmarty = $this->GetPreference('useSmarty', false); $adminTheme = cms_utils::get_theme_object(); $separate_settings = $this->GetPreference('separate_settings', false); // Create Admin tabs echo $this->StartTabHeaders(); // All active User Guide tabs if ( is_array($pages) ) { foreach ($pages as $page) { if ($page->active && $managePermission >= $page->admin) { $adminOnlyStar = $page->admin ? '*' : ''; echo $this->SetTabHeader( 'UGPage'.$page->id, htmlspecialchars($page->title).$adminOnlyStar ); } } } if ( $managePermission && !$separate_settings) { echo $this->SetTabHeader("pages", $this->Lang("tab_pages").'*'); echo $this->SetTabHeader("options", $this->Lang("tab_options").'*'); } echo $this->EndTabHeaders(); // create Tab content echo $this->StartTabContent(); // All active User Guide tab content if ( is_array($pages) ) { foreach ($pages as $page) { if ($page->active && $managePermission >= $page->admin) { echo $this->StartTab('UGPage'.$page->id); $tpl = $smarty->CreateTemplate( $this->GetTemplateResource('admin_user_guide_page.tpl'), null, null, $smarty ); $tpl->assign( 'page',$page ); $aspect = '16x9'; // default aspect ratio - could be selectable: 16x9,4x3,1x1,21x9 $tpl->assign( 'aspect', $aspect ); $tpl->assign( 'managePermission', $managePermission ); $tpl->assign( 'separate_settings', $separate_settings ); if ($useSmarty) { try { $smarty->display( 'eval:'.$tpl->fetch() ); } catch (Exception $e) { // possible Smarty eval error $tpl->assign( 'error', $this->Lang('smarty_error') ); $tpl->display(); // without eval } } else { $tpl->display(); } echo $this->EndTab(); } } } if ( $managePermission && !$separate_settings) { include(dirname(__FILE__).'/action.admin_settings.php'); } echo $this->EndTabContent(); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->delete(); $query = new UserGuideQuery; $updated = $query->updatePositions(); $this->SetMessage( $this->Lang('item_deleted') ); $separate_settings = $this->GetPreference('separate_settings', false); if ($separate_settings) { $this->RedirectToAdminTab('pages', '', 'admin_settings'); } else { $this->RedirectToAdminTab('pages', '', 'defaultadmin'); } } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; $page = new UserGuideItem(); $isNewPage = true; if ( isset($params['pid']) && $params['pid'] > 0 ) { $page = UserGuideItem::load_by_id((int)$params['pid']); $isNewPage = false; } if ( isset($params['cancel']) ) { $this->RedirectToAdminTab('UGPage'.$page->id); } elseif ( isset($params['submit']) || isset($params['apply']) ) { $errors = []; $page->title = trim($params['title']); $page->active = isset($params['active']) ? true : false; $page->admin = isset($params['admin']) ? true : false; $page->content = trim($params['content']); $page->embed_type = trim($params['embed_type']); $page->embed_code = trim($params['embed_code']); $page->embed_first = isset($params['embed_first']) ? true : false; // check title if ( $page->title=='' ) { $errors[] = $this->Lang('error_title_empty'); } // set position to last position for new Pages if ($isNewPage) { $sql = "SELECT MAX(position) AS maxposition FROM ".CMS_DB_PREFIX."module_userguide"; $maxposition = $db->GetOne($sql); if ($maxposition) { $page->position = $maxposition + 1; } else { $page->position = 1; } } // either display errors or save $formattedErrors = ''; if ( !empty($errors) ) { foreach ($errors as $error) { $formattedErrors .= '
  • '.$error.'
  • '; } $this->ShowErrors('
      '.$formattedErrors.'
    '); } else { $isSaved = $page->save(); if ( !$isSaved ) { $this->SetError( $this->Lang('item_notsaved') ); } else { // saved $isNewPage = false; if ($isNewPage) { $query = new UserGuideQuery; $updated = $query->updatePositions(); } if ( isset($params['submit']) ) { $this->SetMessage( $this->Lang('item_saved') ); $this->RedirectToAdminTab('UGPage'.$page->id); } else { // apply $this->ShowMessage( $this->Lang('item_saved') ); } } } } // get defaults $active = is_null($page->active) ? 1 : $page->active; // default to active $admin = is_null($page->admin) ? 0 : $page->admin; // default to not admin $wysiwyg = 1; // default to wysiwyg - not even sure how this got here! $embed_type = is_null($page->embed_type) ? $this::EMBED_TYPES[0] : $page->embed_type; foreach ($this::EMBED_TYPES as $type) { $embed_options[$type] = $this->Lang('embed_type_'.$type); } // smarty processing to display admin page $tpl = $smarty->CreateTemplate($this->GetTemplateResource('admin_edit_page.tpl'), null, null, $smarty); $tpl->assign('page',$page); $tpl->assign('input_active', $this->CreateInputcheckbox($id, 'active', 1, $active)); $tpl->assign('isNewPage',$isNewPage); $tpl->assign('input_content', $this->CreateTextArea(($wysiwyg), $id, $page->content, 'content')); $tpl->assign('embed_type', $embed_type); $tpl->assign('embed_options', $embed_options); $tpl->display(); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( empty($params['pid']) || !isset($params['after']) || $params['after']<0 ) return; // fix issue where new pages previously didn't have 'position' set $sql = "SELECT * from ".CMS_DB_PREFIX."module_userguide WHERE position IS NULL OR position=0"; $res = $db->Execute($sql); $errorCount = $res->RecordCount(); if ($errorCount>0) { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=id"; $res = $db->Execute($sql); echo $this->Lang('order_error'); return; } $page = new UserGuideItem(); if ($params['after']==0) { $afterPosition = 0; } else { $page = UserGuideItem::load_by_id((int)$params['after']); $afterPosition = $page->__get('position'); } $page = UserGuideItem::load_by_id((int)$params['pid']); $fromPosition = $page->__get('position'); $db = \cms_utils::get_db(); if ($fromPosition>$afterPosition) { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=position+1 WHERE position > '$afterPosition' AND position < '$fromPosition'"; $res = $db->Execute($sql); $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=$afterPosition+1 WHERE id=".(int)$params['pid']; $res = $db->Execute($sql); } else { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=position-1 WHERE position > '$fromPosition' AND position <= '$afterPosition'"; $res = $db->Execute($sql); $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=$afterPosition WHERE id=".(int)$params['pid']; $res = $db->Execute($sql); } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->toggle_active(); $this->RedirectToAdminTab('manage'); } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->toggle_admin_only(); $this->RedirectToAdminTab('manage'); }#------------------------------------------------------------------------- # Module: UserGuide # Author: Chris Taylor # Copyright: (C) 2016 Chris Taylor, chris@binnovative.co.uk # Licence: GNU General Public License version 3 # see /UserGuide/lang/LICENCE.txt or #------------------------------------------------------------------------- # CMS - CMS Made Simple is (c) 2011 by Ted Kulp (wishy@cmsmadesimple.org) # Project's homepage is: http://www.cmsmadesimple.org # Module's homepage is: http://dev.cmsmadesimple.org/projects/UserGuide #------------------------------------------------------------------------- # This 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . #------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS #--------------------------------------------------------------------------------------------------- $lang['friendlyname'] = 'User Guide'; $lang['admindescription'] = 'For displaying and editing the a customisable CMS User Guide'; $lang['need_permission'] = 'You need permission to use this module'; $lang['title_userguide_settings'] = 'User Guide Settings'; $lang['desc_userguide_settings'] = 'Settings for the User Guide module'; # Install $lang['ask_uninstall'] = 'Are you sure you want to uninstall the User Guide module? All User Guide information will be permanently deleted.'; # User Guide pages $lang['smarty_error'] = 'This page may include a smarty tag that is not displaying correctly. Please either add {literal}{/literal} tags, remove, or turn off smarty processing.'; $lang['admin_only_visible'] = 'only visible to Admin users'; # Pages Tab $lang['tab_pages'] = 'Pages'; $lang['submit'] = 'Sumbit'; $lang['cancel'] = 'Cancel'; $lang['save_options'] = 'Save Options'; $lang['apply'] = 'Apply'; $lang['add_item'] = 'Create New User Guide Page'; $lang['edit_item'] = 'Edit User Guide Page'; $lang['item_saved'] = 'This User Guide Page is now saved'; $lang['item_notsaved'] = 'This User Guide Page did not save'; $lang['edit'] = 'Edit this User Guide Page'; $lang['delete'] = 'Delete this User Guide Page'; $lang['confirm_delete'] = 'Are you sure that you want to delete this User Guide Page'; $lang['item_deleted'] = 'This User Guide Page is now deleted'; $lang['order_error'] = 'Error found and corrected with page order - please try again'; $lang['view_user_guide'] = 'View User Guide'; # Options Tab $lang['tab_options'] = 'Options'; $lang['title_customModuleName'] = 'Custom Module Name'; $lang['title_adminSection'] = 'Module Admin Section'; $lang['title_separate_settings'] = 'Separate menu entry for User Guide settings'; $lang['title_customCSS'] = 'Custom CSS'; $lang['text_customCSS'] = 'To add custom CSS for the user guide pages, create the file \'assets/module_custom/UserGuide/custom.css\'. You can use the .guide class to target the User Guide content.'; $lang['title_useSmarty'] = 'Use Smarty'; $lang['help_useSmarty'] = 'Process all User Guide pages through Smarty before displaying them? If enabled you will need to use {literal} tags around any curly brackets { & } in the content.'; $lang['settings_saved'] = 'Your Options have been saved.'; $lang['saved_and_imported'] = 'Options saved and imported User Guide pages.'; $lang['import_completed'] = 'User Guide pages and settings imported.'; $lang['file_error'] = 'Filename error - not selected.'; $lang['import_error'] = 'Import error - file did not import correctly.'; $lang['title_export'] = 'Export content to XML'; $lang['title_import'] = 'Import content from XML'; $lang['title_import_export'] = 'Import & Export content'; $lang['module_import_database_error'] = 'Database import failed'; $lang['xml_export'] = 'XML Export'; $lang['xml_import'] = 'Import User Guide Content'; $lang['title_exportImageFolder'] = 'Export Image Folder'; $lang['text_exportImageFolder'] = 'Location of User Guide images to include in export, e.g. "images/UserGuide". Location is relative to uploads_url. Leave empty to skip image export.'; $lang['export_completed'] = 'User Guide pages and settings exported.'; $lang['title_import_UsersGuide'] = 'Import from UsersGuide module'; $lang['title_import_UserGuide2'] = 'Import from UserGuide2 module'; $lang['import_UsersGuide'] = 'Import Content & Settings'; $lang['text_UsersGuide'] = 'from UsersGuide Module'; $lang['text_UserGuide2'] = 'from UserGuide2 Module'; $lang['none'] = 'none'; $lang['error_invalid_file_path'] = 'Invalid file path'; $lang['error_creating_directory'] = 'Error creating directory'; # Edit User Guide Page $lang['error_title_empty'] = 'A title is required'; $lang['title_title'] = 'Title'; $lang['title_active'] = 'Active'; $lang['title_content'] = 'Content'; $lang['title_admin'] = 'Admin only'; $lang['prompt_admin'] = 'only visible to full Admin users'; $lang['title_embed_type'] = 'Video type'; $lang['title_embed_code'] = 'Video id or code'; $lang['title_embed_first'] = 'Show video above content'; $lang['embed_type'] = 'Video type'; $lang['embed_type_vimeo'] = 'Vimeo (ID only)'; $lang['embed_type_youtube'] = 'YouTube (ID only)'; $lang['embed_type_local'] = 'Local video (URL)'; $lang['embed_type_code'] = 'Code (HTML)'; $lang['embed_type_prompt_vimeo'] = 'Vimeo ID - full url after /video/: 929800455?badge=0&autopause=0&player_id=0&app_id=58479'; $lang['embed_type_prompt_youtube'] = 'YouTube ID - e.g. n4IhCSMkADc?si=YJ4K5qsrgl9LXW0a'; $lang['embed_type_prompt_local'] = 'Local video URL relative to uploads_url - e.g. images/UserGuide/video.mp4'; $lang['embed_type_prompt_code'] = 'Full Embed Code'; ### ### ######### ### ######### ### ### ######### ### ######### ### ### ### ### ### ### ########## ######### ### ######### ########## ######### ### ######### ### ### ### ### ### ### ### ######### ######### ### ### ### ######### ######### ### $lang['help'] = "

    What does this do?

    'UserGuide' provides an online CMS User Guide. It is easy to access for Editors and easy to update and customise for Admins. The completed User Guide can easily be printed directly from the browser.


    User Guide pages can now easily include responsive video content, from Vimeo, YouTube, a local video file, or full embed code for external content.


    'UserGuide' module is a replacement for the 'UserGuide2' module and can import all contact from UserGuide2 and UsersGuide modules.


    Getting Started

    1. Install the module

    2. Check module permissions. All 'editors' have default USE permission to view the User Guide.


    Printing a User Guide

    Simply select Print in the browser menu or press 'Ctrl + P'.

    Tip: Select the option to print 'Headers & Footers' (if available)


    Options

    The following Admin options are available:

    • Add, edit, delete, rename
    • Inculde a video on the User Guide page, from Vimeo, YouTube, a local video file, or full embed code for external content.
    • Set a page for 'Admin only' visibility or to be 'Active' or not
    • Drag-n-drop reordering of the User Guide pages/tabs
    • Custom module name
    • Choose admin menu section
    • Custom CSS - see below
    • Use Smarty processing on the User Guide pages. If enabled you may need to use {literal}{/literal} or {ldelim}{rdelim} tags in the page content.
    • Import/Export - see below
    • Import from UserGuide2 or UsersGuide module - see below

    Custom CSS

    To add custom CSS for the user guide pages, create the file 'assets/module_custom/UserGuide/custom.css'. This will be in addition to the Admin & User Guide CSS.

    You can use the .guide class to target the User Guide content.


    Import/Export User Guide

    All User Guide pages can be easily be exported to an XML file.

    A full User Guide can be imported to a fresh installation of the User Guide module. Any imported pages will be added after any existing pages. Options will not be changed.

    If an 'Export Image Folder' is set then the export will include all images from this folder. When imported any images will be imported to this same folder.


    Import from UserGuide2 or UsersGuide module

    If the UserGuide2 or UsersGuide modules are installed, an option will be shown to import all content and settings from the the older modules. This includes the custom module name (with '*' added), and admin section.


    Permissions

    • 'UserGuide - Use' - can view the user guide, except any 'Admin only' pages
    • 'UserGuide - Manage' - can do everything, and view all pages.

    Support

    As per the GPL licence, this software is provided as is. Please read the text of the license for the full disclaimer. The module author is not obligated to provide support for this code. However you might get support through the following:

    • For support, first search the CMS Made Simple Forum, for issues with the module similar to those you are finding.
    • Then, if necessary, open a new forum topic to request help, with a thorough description of your issue, and steps to reproduce it.
    • If you find a bug you can submit a Bug Report.
    • For any good ideas you can submit a Feature Request.
    • If you found the Module useful - shout out to me on Twitter @KiwiChrisBT

    Copyright & Licence

    Copyright © 2016, Chris Taylor . All Rights Are Reserved.


    This module has been released under the GNU Public License v3. However, as a special exception to the GPL, this software is distributed as an addon module to CMS Made Simple. You may only use this software when there is a clear and obvious indication in the admin section that the site was built with CMS Made Simple!


    Inspired by: UsersGuide module by jissey.


    "; ######### ### ### ########## ### ### ######### ######## ### ######### ######### ######### ### ### ########## #### ### ######### ######## ### ######### ######### ### ### ### ### ### ##### ### ### ### ### ### ### ### ### ########## ########## ### ## ### ### ######## ### ### ### ### ### ########## ########## ### ##### ### ### ######## ### ### ### ### ### ### ### ### ### ### ### #### ### ### ### ### ### ### ### ### ######### ### ### ### ### ### ### ######### ######## ######### ######### ######### ######### ### ### ### ### ### ### ######### ######## ######### ######### ######### $lang['changelog'] = '

    Version 1.1 - 19Feb26

    • Kept page order stable during export and import.
    • Added a one-time upgrade step to fix existing page order.
    • Added stricter image checks for import and export.
    • Improved import filenames: keeps spaces, brackets and %, and avoids overwriting existing files.

    Version 1.0 - 04Apr24

    • Initial release of the UserGuide module. A fork and replacement for UserGuide2 module.
    • This module can import all content and settings from the UserGuide2 and UsersGuide modules if they are already installed.
    • Can export and import content and settings and files to/from xml file
    • Can include video content from Vimeo, YouTube, local files and also embedded code.
    • Includes default video User Guides for CMS Made Simple.
    • By default all Editors have view access with options to set permissions for all user groups.

    ';/assets/module_custom/UserGuide/custom.css\'. Vous pouvez utiliser la classe .guide pour le contenu du guide de l\'utilisateur.'; $lang['title_useSmarty'] = 'Utiliser Smarty '; $lang['help_useSmarty'] = 'Traiter toutes les pages du guide de l\'utilisateur avec Smarty avant de les afficher ? Si cette option est activée, vous devrez utiliser des balises {literal} autour des accolades { & } dans le contenu..'; $lang['settings_saved'] = 'Vos options ont été sauvegardées.'; $lang['saved_and_imported'] = 'Options sauvegardées et importées des pages du guide de l\'utilisateurs.'; $lang['import_completed'] = 'Pages Guide de l\'utilisateur et paramètres importés.'; $lang['file_error'] = 'Erreur de nom de fichier - non sélectionné.'; $lang['import_error'] = 'Erreur importation - le fichier n\'a pas été importé correctement.'; $lang['title_export'] = 'Exporter le contenu en XML'; $lang['title_import'] = 'Importer le contenu depuis XML'; $lang['title_import_export'] = 'Importer & Exporter le contenu'; $lang['module_import_database_error'] = 'Échec d\'import de la base de données'; $lang['xml_export'] = 'Export XML'; $lang['xml_import'] = 'Importer le contenu du guide'; $lang['title_exportImageFolder'] = 'Dossier d\'export des images  '; $lang['text_exportImageFolder'] = 'Emplacement des images du guide de l\'utilisateur à inclure dans l\'exportation, par exemple "images/userguide/". L\'emplacement est relatif à uploads_url. Laisser vide pour ne pas exporter les images.'; $lang['export_completed'] = 'Paramètres et page de User Guide exportés.'; $lang['title_import_UsersGuide'] = 'Importer depuis le module UsersGuide'; $lang['title_import_UserGuide2'] = 'Importer depuis le module UserGuide2'; $lang['import_UsersGuide'] = 'Importer le contenu et les paramètres'; $lang['text_UsersGuide'] = 'depuis le module UsersGuide'; $lang['text_UserGuide2'] = 'depuis le module UserGuide2'; $lang['none'] = 'aucun'; $lang['error_title_empty'] = 'Un titre est requis'; $lang['title_title'] = 'Titre '; $lang['title_active'] = 'Actif '; $lang['title_content'] = 'Contenu '; $lang['title_admin'] = 'Administrateurs uniquement '; $lang['prompt_admin'] = 'visible uniquement par les utilisateurs de l\'administration'; $lang['title_embed_type'] = 'Type vidéo'; $lang['title_embed_code'] = 'ID ou code vidéo'; $lang['title_embed_first'] = 'Afficher la vidéo au-dessus du contenu'; $lang['embed_type'] = 'Type de vidéo'; $lang['embed_type_vimeo'] = 'Vimeo (ID seulement)'; $lang['embed_type_youtube'] = 'Youtube (ID seulement)'; $lang['embed_type_local'] = 'Vidéo locale (ID seulement)'; $lang['embed_type_code'] = 'Code (HTML)'; $lang['embed_type_prompt_vimeo'] = 'ID Vimeo - URL complète après /video/ : 929800455?badge=0&autopause=0&player_id=0&app_id=58479'; $lang['embed_type_prompt_youtube'] = 'ID Youtube - ex : n4IhCSMkADc?si=YJ4K5qsrgl9LXW0a'; $lang['embed_type_prompt_local'] = 'URL relatif à uploads_url pour les vidéos locales - ex : images/UserGuide/video.mp4'; $lang['embed_type_prompt_code'] = 'Code complet d\'insertion'; ?> #--------------------------------------------------------------------------------------------------- class UserGuideImporterExporter { private const ALLOWED_IMAGE_EXTENSIONS = ['jpg', 'jpeg', 'png', 'gif', 'webp']; private const ALLOWED_IMAGE_MIMES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp']; private const MAX_IMAGE_BYTES = 10485760; // 10MB private const MAX_IMAGE_WIDTH = 10000; private const MAX_IMAGE_HEIGHT = 10000; private $modulename; private $mod; private $preferences; private $tables; private $_xml; private $xml_exclude_files = ['^\.svn' , '^CVS$' , '^\#.*\#$' , '~$', '\.bak$', '^\.git', '^\.tmp$']; #--------------------- # Magic methods #--------------------- public function __construct() { $this->modulename = 'UserGuide'; $this->mod = cms_utils::get_module( $this->modulename ); $this->preferences = [ 'customModuleName', 'adminSection', 'useSmarty', 'imageFolder' ]; $this->tables = [ // table_from => table_to 'module_userguide' => 'module_userguide', 'module_userguide2' => 'module_userguide' ]; } #--------------------- # public functions #--------------------- public function export() { $this->_create_xml(); $this->_copyFromPreferences(); $this->_copyFromDataBase(); // $this->_copyFromTemplates(); $this->_copyFilesFromFolder(); $this->_output_xml(); } /** * import uploaded .xml file - allow for xml format change @ v1.3+ * @param string $filename - uploaded xml file * @return bool - success/fail */ public function import($filename = NULL) { if ( empty($filename) || !file_exists($filename) ) return false; $file = file_get_contents( $filename ); $this->_xml = new SimpleXMLElement( $file ); $canImportFrom = [$this->modulename, 'UserGuide2']; if ( !in_array($this->_xml->module, $canImportFrom) || !isset($this->_xml->version) ) return false; // check xml module & version values $xmlVersion = $this->_xml->version; if ( $this->_xml->module=='UserGuide2' && $xmlVersion < 1.3 ) { // 1.2 & before version xml $this->_import_xml_v1(); } else { // v1.3+ $this->_copyToPreferences(); $this->_copyToDataBase(); // $this->_copyToTemplates(); $this->_copyFilesToFolder(); } $query = new UserGuideQuery; $query->updatePositions(); return true; } #--------------------- # export functions #--------------------- private function _create_xml() { //*********************************************************************************************** // // //*********************************************************************************************** global $CMS_VERSION; $baseXML = ''; $this->_xml = new SimpleXMLElement( $baseXML ); $this->_xml->addChild('module', $this->mod->GetName()); $this->_xml->addChild('version', $this->mod->GetVersion()); $this->_xml->addChild('cmsversion', $CMS_VERSION); $this->_xml->addChild('exportdate', date('Y-m-d H:i:s')); } private function _copyFromPreferences() { //*********************************************************************************************** // add all specified preferences into _xml //*********************************************************************************************** if (empty($this->preferences)) return; foreach($this->preferences as $pref) { $prefs[$pref] = $this->mod->GetPreference($pref, ''); } $this->_xml->addChild( 'prefs', base64_encode( serialize($prefs) ) ); } private function _copyFromDataBase() { //*********************************************************************************************** // add all data from specified tables into _xml //*********************************************************************************************** if (empty($this->tables)) return; $db = \cms_utils::get_db(); $data = array(); foreach($this->tables as $old => $new) { $sql = 'SELECT * FROM '.cms_db_prefix().$new; if ( $new == 'module_userguide' ) $sql .= ' ORDER BY position, id'; $data[$new] = $db->GetArray($sql); } $this->_xml->addChild( 'db', base64_encode( serialize($data) ) ); } private function _copyFromTemplates() { //*********************************************************************************************** // //*********************************************************************************************** // not yet implemented } private function _copyFilesFromFolder() { //*********************************************************************************************** // recursive copy of all files & folders below 'imageFolder' (if set) // from class.moduleoperations.inc.php > CreateXMLPackage //*********************************************************************************************** $filecount = 0; $uploads_path = CmsApp::get_instance()->GetConfig()['uploads_path']; $imageFolder = $this->mod->GetPreference('imageFolder', ''); $dir = $uploads_path.'/'.$imageFolder; if ($imageFolder=='' || !is_dir( $dir ) ) return; $files = get_recursive_file_list( $dir, $this->xml_exclude_files ); $xmlFiles = $this->_xml->addChild( 'files' ); foreach( $files as $file ) { // strip off the beginning if (substr($file,0,strlen($dir)) == $dir) $file = substr($file,strlen($dir)); if ( $file == '' ) continue; $xmlFile = $xmlFiles->addChild( 'file' ); $filespec = $dir.DIRECTORY_SEPARATOR.$file; $xmlFile->addChild( 'filename', $file ); if ( @is_dir( $filespec ) ) { $xmlFile->addChild( 'isdir', '1' ); } else { $rawData = @file_get_contents($filespec); if ( $rawData === false || !$this->_isAllowedImageFile($file, $rawData) ) continue; $xmlFile->addChild( 'isdir', '0' ); $data = base64_encode($rawData); $xmlFile->addChild( 'data', $data ); } ++$filecount; } } private function _output_xml() { //*********************************************************************************************** // // //*********************************************************************************************** // create filename $date = date('Y-m-d_H-i-s', time()); $filename = 'UserGuide_Export_' . $date . '.xml'; ob_end_clean(); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Cache-Control: private',false); header('Content-Description: Export'); header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename='.$filename); header('Content-Type: text/xml; charset=utf-8'); echo $this->_xml->asXML(); exit(); } #--------------------- # import functions #--------------------- private function _import_xml_v1() { //*********************************************************************************************** // import original format of xml <= v1.2.1 (doesn't update preferences) // fields - add all imported pages after exisiting pages. If Title exists already = add '-2' //*********************************************************************************************** $db = \cms_utils::get_db(); $sql = 'SELECT title FROM ' . cms_db_prefix() . 'module_userguide'; $curTitles = $db->GetCol($sql); $sql = 'SELECT MAX(position) FROM ' . cms_db_prefix() . 'module_userguide'; $nextPos = $db->GetOne($sql) + 1; foreach ($this->_xml->fields->field as $field) { $fieldTitle = (string) $field->title; if (in_array ($fieldTitle, $curTitles)) $fieldTitle .= '-2'; $sql = 'INSERT INTO ' . cms_db_prefix() . 'module_userguide (title, position, active, content) VALUES (?,?,?,?)'; $dbr = $db->Execute($sql, array( (string) $fieldTitle, (int) $nextPos++, (int) $field->active, (string) $field->content )); } } // private function _expand_xml() { // //*********************************************************************************************** // // // //*********************************************************************************************** // } private function _copyToPreferences() { //*********************************************************************************************** // get all valid preferences from _xml & update //*********************************************************************************************** if ( !isset($this->_xml->prefs) ) return; $prefs = unserialize( base64_decode($this->_xml->prefs) ); foreach($prefs as $preference_name => $value) { if ( in_array($preference_name, $this->preferences)) $this->mod->SetPreference($preference_name, $value); } // Touch menu cache files - core will refresh (v2.0+ ) foreach ( glob(cms_join_path(TMP_CACHE_LOCATION, 'cache*.cms')) as $filename ) { touch( $filename, time() - 360000 ); } } private function _copyToDataBase() { //*********************************************************************************************** // get all valid database tables from _xml & update - will normally replace existing rows (id) //*********************************************************************************************** if ( !isset($this->_xml->db) ) return; $data = unserialize( base64_decode($this->_xml->db) ); $db = \cms_utils::get_db(); foreach($data as $tablename => $tabledata) { if ( array_key_exists($tablename, $this->tables) ) { // valid tablename $to_table = $this->tables[$tablename]; foreach ($tabledata as $row) { $data_rows = $row; unset($data_rows['id']); // remove id $fields = implode(',', array_keys($data_rows) ); $phs = implode(',', array_fill(0, count($data_rows), '?') ); $sql = 'INSERT INTO '.CMS_DB_PREFIX.$to_table.' ('.$fields.') VALUES ('.$phs.')'; $res = $db->Execute($sql, array_values($data_rows)); } } } } private function _copyToTemplates() { //*********************************************************************************************** // //*********************************************************************************************** // not yet implemented } private function _isAllowedImageFile($filename, $data) { //*********************************************************************************************** // validate file is a real image with allowed type and sane limits //*********************************************************************************************** if (empty($filename) || $data === false || $data === '') return false; if (strlen($data) > self::MAX_IMAGE_BYTES) return false; $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if (!in_array($ext, self::ALLOWED_IMAGE_EXTENSIONS, true)) return false; $imageInfo = @getimagesizefromstring($data); if ($imageInfo === false || !isset($imageInfo['mime'])) return false; $mime = strtolower($imageInfo['mime']); if (!in_array($mime, self::ALLOWED_IMAGE_MIMES, true)) return false; if (!isset($imageInfo[0], $imageInfo[1])) return false; if ($imageInfo[0] < 1 || $imageInfo[1] < 1 || $imageInfo[0] > self::MAX_IMAGE_WIDTH || $imageInfo[1] > self::MAX_IMAGE_HEIGHT) return false; return true; } private function _getUniqueDestinationFile($destDir, $filename) { //*********************************************************************************************** // create a non-colliding destination path using "name (n).ext" //*********************************************************************************************** $targetFile = $destDir.'/'.$filename; if ( !file_exists($targetFile) ) return $targetFile; $nameOnly = pathinfo($filename, PATHINFO_FILENAME); $extension = pathinfo($filename, PATHINFO_EXTENSION); $counter = 2; while ( $counter < 10000 ) { $candidate = $nameOnly.' ('.$counter.')'; if ( $extension !== '' ) $candidate .= '.'.$extension; $targetFile = $destDir.'/'.$candidate; if ( !file_exists($targetFile) ) return $targetFile; ++$counter; } return false; } private function _copyFilesToFolder() { //*********************************************************************************************** // //*********************************************************************************************** if ( !isset($this->_xml->files) ) return; $uploads_path = CmsApp::get_instance()->GetConfig()['uploads_path']; $mod = cms_utils::get_module( $this->modulename ); // first make sure that we can actually write to the uploads folder if ( !is_writable( $uploads_path ) ) return false; $imageFolder = $this->mod->GetPreference('imageFolder', ''); $imageFolder = trim($imageFolder, '/.\\'); // strip off any leading/trailing slashes and dots for security $destDir = $uploads_path.'/'.$imageFolder; // create destination folder if it doesn't exist if ( !file_exists( $destDir ) ) { if (!@mkdir( $destDir ) && !is_dir( $destDir )) { throw new CmsFileSystemException($mod->Lang('error_creating_directory').' '.$destDir); } } // validate destination is within allowed directory $realDestPath = realpath($destDir); if (strpos($realDestPath, realpath($uploads_path)) !== 0) { throw new CmsFileSystemException($mod->Lang('error_invalid_file_path')); } foreach ($this->_xml->files->file as $xmlFile) { if (!isset($xmlFile->filename) || !isset($xmlFile->isdir) ) return false; $filename = basename((string) $xmlFile->filename); // Remove path components $filename = preg_replace('/[^a-zA-Z0-9._()% -]/', '', $filename); // Sanitize but keep spaces/parentheses/percent $filename = trim($filename); if ( $filename === '' ) continue; // ignore all files that are $isdir = (string) $xmlFile->isdir; if ( $isdir ) { $targetDir = $destDir.'/'.$filename; if ( !empty($filename) && !@mkdir( $targetDir ) && !is_dir( $targetDir )) continue; } else { $data = (string) $xmlFile->data; if ( strlen( $data ) ) $data = base64_decode( $data, true ); if ( $data === false ) continue; if ( !$this->_isAllowedImageFile($filename, $data) ) continue; $targetFile = $this->_getUniqueDestinationFile($destDir, $filename); if ( $targetFile === false ) continue; $fp = @fopen( $targetFile, "wb" ); if ( !$fp ) throw new CmsFileSystemException($mod->Lang('errorcantcreatefile').' '.$filename); if ( strlen( $data ) ) @fwrite( $fp, $data ); @fclose( $fp ); } } } } // UserGuideImporterExporter #--------------------------------------------------------------------------------------------------- class UserGuideItem { private const LOCAL_VIDEO_TYPES = [ 'mp4' => 'video/mp4', 'webm' => 'video/webm', 'ogg' => 'video/ogg' ]; private $_data = [ 'id' => null, 'title' => null, 'position' => null, 'active' => null, 'admin' => null, 'content' => null, 'embed_type' => null, 'embed_code' => null, 'embed_first' => null, ]; public function __get($key) { switch( $key ) { case 'id': case 'title': case 'position': case 'active': case 'admin': case 'content': case 'embed_type': case 'embed_code': case 'embed_first': return $this->_data[$key]; } } public function __set($key,$val) { switch( $key ) { case 'title': case 'content': case 'embed_type': case 'embed_code': $this->_data[$key] = trim($val); break; case 'position': $this->_data[$key] = (int) $val; break; case 'active': case 'admin': case 'embed_first': $this->_data[$key] = (bool) $val; break; } } public function save() { // test if valid before calling save() if ( $this->id > 0 ) { $saved = $this->update(); } else { $saved = $this->insert(); } return $saved; } protected function insert() { $db = \cms_utils::get_db(); $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, position, active, admin, content, embed_type, embed_code, embed_first) VALUES (?,?,?,?,?,?,?,?)'; $dbr = $db->Execute($sql, [$this->title, $this->position, $this->active, $this->admin, $this->content, $this->embed_type, $this->embed_code, $this->embed_first]); if ( !$dbr ) return FALSE; $this->_data['id'] = $db->Insert_ID(); return TRUE; } protected function update() { $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET title = ?, position = ?, active = ?, admin = ?, content = ?, embed_type=?, embed_code=?, embed_first=? WHERE id = ?'; $dbr = $db->Execute($sql, [$this->title, $this->position, $this->active, $this->admin, $this->content,$this->embed_type, $this->embed_code, $this->embed_first, $this->id]); if ( !$dbr ) return FALSE; return TRUE; } public function delete() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'DELETE FROM '.CMS_DB_PREFIX.'module_userguide WHERE id = ?'; $dbr = $db->Execute($sql,array($this->id)); if ( !$dbr ) return FALSE; $this->_data['id'] = null; return TRUE; } public function toggle_active() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET active = ? WHERE id = ?'; $dbr = $db->Execute($sql, array(!(bool)$this->active, $this->id)); if ( !$dbr ) return FALSE; return TRUE; } public function toggle_admin_only() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET admin = ? WHERE id = ?'; $dbr = $db->Execute($sql, array(!(bool)$this->admin, $this->id)); if ( !$dbr ) return FALSE; return TRUE; } /** * Parse local embed code to extract sources & errors * @return stdClass with properties: sources, errors */ public function parse_local_embed() { if ( !$this->id || $this->embed_type!='local') return; $result = new stdClass(); $result->sources = []; $result->errors = []; $config = cmsms()->GetConfig(); $filenames = explode(',', $this->embed_code); foreach( $filenames as &$filename ) { $filename = trim($filename); if ( $filename=='' ) continue; $ext = pathinfo($filename, PATHINFO_EXTENSION); if ( !array_key_exists($ext, self::LOCAL_VIDEO_TYPES) ) { $result->errors[] = 'Invalid filename type: '.$filename; continue; } // check if file exists if ( !file_exists($config['uploads_path'].'/'.$filename) ) { $result->errors[] = 'File not found: '.$filename; continue; } $result->sources[$ext] = $filename; } return $result; } /** internal */ public function fill_from_array($row) { foreach( $row as $key => $val ) { if ( array_key_exists($key,$this->_data) ) { $this->_data[$key] = $val; } } } public static function &load_by_id($id) { $id = (int) $id; $db = \cms_utils::get_db(); $sql = 'SELECT * FROM '.CMS_DB_PREFIX.'module_userguide WHERE id = ?'; $row = $db->GetRow($sql,array($id)); if ( is_array($row) ) { $obj = new self(); $obj->fill_from_array($row); return $obj; } } } #--------------------------------------------------------------------------------------------------- class UserGuideQuery extends CmsDbQueryBase { public function __construct($args = '') { parent::__construct($args); if ( isset($this->_args['limit']) ) $this->_limit = (int) $this->_args['limit']; } public function execute() { if ( !is_null($this->_rs) ) return; $sql = 'SELECT SQL_CALC_FOUND_ROWS UG.* FROM '.CMS_DB_PREFIX.'module_userguide AS UG'; if ( isset($this->_args['active']) ) { // store only active or non-active items $tmp = $this->_args['active']; if ( $tmp === 0 ) { $sql .= ' WHERE active = 0'; } else if ( $tmp === 1 ) { $sql .= ' WHERE active = 1'; } } $sql .= ' ORDER BY position'; $db = \cms_utils::get_db(); $this->_rs = $db->SelectLimit($sql,$this->_limit,$this->_offset); if ( $db->ErrorMsg() ) throw new \CmsSQLErrorException( $db->sql.' -- '.$db->ErrorMsg() ); $this->_totalmatchingrows = $db->GetOne('SELECT FOUND_ROWS()'); } public function &GetObject() { $obj = new UserGuideItem; $obj->fill_from_array($this->fields); return $obj; } public function updatePositions() { $db = \cms_utils::get_db(); $sql = 'SET @rownumber = 0'; $res = $db->Execute($sql); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position = (@rownumber:=@rownumber+1) ORDER BY position, id'; $res = $db->Execute($sql); if ( $db->ErrorMsg() ) { throw new \CmsSQLErrorException( $db->sql.' -- '.$db->ErrorMsg(). '(updatePositions)' ); } return $res; } } /* UserGuide_admin.css */ .sortable-list tr {cursor:move;} .sortable-list .ui-sortable-helper {border:1px solid #CCC;} #loader {padding-left:50px;} .collapse:not(.show) {display:none;} #page_content {float:left; width:99%; margin-bottom:20px;} /* some custom CSS for displaying the User Guide pages */ .guide * {box-sizing:border-box;} .guide {position:relative; padding-top:10px;} .guide, .guide p {font-size:14px;} .guide h1 {margin:0 0 1rem; font-size:1.8rem; color:#147fdb;} .guide h2 {margin:0 0 .5rem; font-size:1.4rem; color:#147fdb;} .guide h3 {margin:0 0 .25rem; font-size:1.15rem; color:#147fdb;} .guide h4 {margin:0; font-size:1rem; color:#147fdb;} .guide p {margin-bottom:1rem;} #oe_mainarea .guide ul, #oe_mainarea .guide ol {margin-left:0; overflow:hidden;} .guide li {margin:0 0 .3rem 2rem;} .guide .font-extra-large {font-size:1.25em;} .guide .font-larger {font-size:1.125em;} .guide .font-smaller {font-size:.875em;} .guide .image-left {float:left; margin:0 10px 10px 0;} .guide .image-center, .guide .image-center img {display:block; margin:0 auto 10px;} .guide .image-right {float:right; margin:0 0 10px 10px;} .guide .image-max-50 {max-width:50%;} .guide .image-inline {display:inline;} .guide blockquote {padding:1rem 2rem; background-color: rgba(0,0,0,.1);} .guide .edit-link-container {position:absolute; top:-10px; right:0;} .guide .edit-link, .guide .admin-only {float:right; margin-left:1rem;} /* .guide .admin-only {position:absolute; top:-10px; right:40px;} */ .guide iframe {border:0;} .guide .ratio {position:relative; width:100%; margin-bottom:1rem;} .guide .ratio::before {display:block; padding-top:var(--bs-aspect-ratio); content:'';} .guide .ratio > * {position:absolute; top:0; left:0; width:100%; height:100%;} .guide .ratio-1x1 {--bs-aspect-ratio:100%;} .guide .ratio-4x3 {--bs-aspect-ratio:75%;} .guide .ratio-16x9 {--bs-aspect-ratio:56.25%;} .guide .ratio-21x9 {--bs-aspect-ratio:42.8571428571%;} /* custom CSS for admin pages */ .user-guide-edit-page .embed-code.small {min-width:500px; width:500px; min-height:21px; max-height:21px;} /* bs input-group css */ .input-group, .input-group * {box-sizing:border-box;} .input-group {position:relative; display:-ms-flexbox; display:flex; align-items:stretch; -ms-flex-align:stretch; -ms-flex-wrap:wrap; flex-wrap:wrap; width:100%;} .input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file {position:relative; -ms-flex:0 0 auto; flex:0 0 auto; width:auto; margin-bottom:0;} .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, .input-group > .form-control-plaintext + .form-control, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file {margin-left:-1px;} .input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {z-index:3;} .input-group > .custom-file .custom-file-input:focus {z-index:4;} .input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) {border-top-right-radius:0; border-bottom-right-radius:0; } .input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) {border-top-left-radius:0; border-bottom-left-radius:0;} .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {margin-left:-1px; border-top-left-radius:0; border-bottom-left-radius:0;} .input-group > :not(:last-child) {border-top-right-radius:0; border-bottom-right-radius:0;} .input-group-text {font-weight:400; line-height:1.5; display:-ms-flexbox; display:flex; align-items:center; -ms-flex-align:center; margin-bottom:0; padding:4px .75rem; text-align:center; white-space:nowrap; color:#495057; border:1px solid #ced4da; border-radius:.25rem; background-color:#e9ecef; } .input-group input[type='text'] {margin:0 5px 0 0;} .input-group-text input[type='radio'], .input-group-text input[type='checkbox'] {margin-top:0;} /* BS4 default Print styles */ @media print { *, *::before, *::after { text-shadow: none !important; box-shadow: none !important; } a:not(.btn) { text-decoration: underline; } abbr[title]::after { content: " (" attr(title) ")"; } pre { white-space: pre-wrap !important; } pre, blockquote { border: 1px solid #adb5bd; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } @page { size: a3; } body { min-width: 992px !important; } .container { min-width: 992px !important; } .navbar { display: none; } .badge { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #dee2e6 !important; } .table-dark { color: inherit; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #dee2e6; } .table .thead-dark th { color: inherit; border-color: #dee2e6; } } @media print { /* custom print styles for Users Guide */ @page {margin:2cm;} .header, .pageheader, #oe_sidebar, #oe_footer, #page_tabs, #options_c, .shadow { display:none;} #oe_mainarea {margin:0;} #page_content {border:0;} #oe_mainarea .content-inner {padding:0;} #page_content [id^="ugpage"] { display:block !important; page-break-after:always; break-after:always; } } GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~! NETSCAPE2.0! , H*\ȰAQԢe 9ʝGAz0fG8Xn NqkҜ@\f*g8 ݅OBUHc5$L6cxu%u4eѢ%nT'X E88TV`9Q˷߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAN 70JgE~ѸEpq bhn#9>|,9rjTSak@{ 䧨-?$jt!h{%!bVҦ +Vn*q(bX YFąr \9%>{&߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱx <7М WE~a(nEs|ðFqA\r tuȦBpςn#xXFh )&W*q ,W&a]X /rD(C^t'.Ӥ (Q2 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱr 47pܸz"?ok0[9Xð7nȑSd‰ Mߌ FZ( &0p zL֬Ta]-r2S4HCZ.N (X1 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAr 47P8ahiuH4paGEzlF0јƜY昜 o֦p ǭ2%Qz!]x*r gUTfN Q"0`+ʝKw`@! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱq 478E#"s1Y9 C2$LpB;אܵpg.F1OBU(1(]d(nT'^JqgWF;t\8B%َ0)@wȷ߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱp 47ڵKFE~ƍc,XrCdHX0jI%4pˑ٪BB? %ŨBq T'Cq(8Vi?!PS(q'r (і- 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAp ,7ٳ 6E~E\X W/rCp/\δi'bdg32Q@u>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱo ,7И5E~E\-r}8ZQ7.](.΄2 Eܸ? *qIK'@[4(HɺP EذƊ$㧖5`+D~XLa! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAm ,7W5E~Ucx*rUU5knZ5r &P7 Aʊ8qHJ(RqJ4KpJ$=ƍcUpZU@SʝK! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAj ,7J%E~5cӨq5S6Qx3MY3r r&05 wZ`8pH!J(RpJJrӠAf](NqZ KqaA巶BrH,(J޿ F! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱg ,7pժj%E~cҦq ֌8MjE-X1r ŹJ&4 m kH!:ԓQה*H@r22%>}ȍU 4qEbn8q㷖_۷ ҍ20D~8La! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAe ,7PN$E~bѤqUI^ q šjɏ[2 cgH!:Qϔ*wq2. są 5a/hę3WnlDžh(]˯m8xN"x L0€! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱb ,70S*E~rbiТqzՋa8ERɒq Å &0 Y 5cH!:QƔ*@q2.Ɗ"rq5a+`čW7p g9ptv9ʕL! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰA` $7 RE~bb8Iqǭ2ua8AzFb%Ԫq m%p/ M`^H!:4QJ 獢DMfա8qMv+?rت7Ur]ʝKn! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱ] $7СE~Rb(qō!>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰA[ $7ЏE~Dmb8Mqm!8h,yT&q 5%0+ 9EڇUH!:Q*4G"?nѬ.47n9p+5aq]#W,3]Sˏb +Pp$ LpÀ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰX $7NE~4MbKqMb!84_ ]$q r%* z`.QH!J(RQJ7N5eU NmpʪPWsϞㅫCâ (\G 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAV $7 Y㍟E~&-bXJq-70VAjp R%0X( ˍJqLH!JѤ ˅'Pڰq }5dha]rƌʗKpCs (7 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAS3f 9( HF附1QQz(צ ɉ9 +H8!I&NH:czٌWMM׬0S*6Z^ƭ2ea5lkCs ,Q6pʝ;0 ;// UserGuide_admin.js $(function() { $('.sortable-list').sortable({ delay: 150, revert: 300, placeholder: 'ui-state-highlight', helper: function (event, ui) { ui.children().each(function() { // fixes width & height of dragged cells $(this).width($(this).width()).height($(this).height()); }); return ui; }, stop: function (event, ui) { $(ui.item).parent().children().each(function( index ) { $(this).removeClass('row1 row2').addClass('row'+(index%2+1)); }); var moveItem = $(ui.item).data('id'); var moveToAfter = $(ui.item).prev('tr').data('id'); if (typeof moveToAfter=='undefined') moveToAfter = '0'; var reorderUrl = $(ui.item).data('reorder').replace('_after=-1', '_after='+moveToAfter) + '&showtemplate=false'; var loadingIcon = $('#loader').data('icon'); if (loadingIcon!='') { loadingIcon = 'updating'; } else { loadingIcon = 'updating'; } $('#loader').html(loadingIcon); $.get( reorderUrl, function( data ) { if (data=="") { $('#loader').html(''); reorderUserGuideTabs(moveItem, moveToAfter); } else { // error returned $('#loader').html(''+data+''); $('.sortable-list').sortable('cancel'); } }); } }); function reorderUserGuideTabs(moveItem, moveToAfter) { var idPrefix = '#ugpage'; var tabsId ='#page_tabs'; if (moveToAfter=='0') { $(idPrefix+moveItem).detach().prependTo( $(tabsId) ); } else { $(idPrefix+moveItem).detach().insertAfter( $(idPrefix+moveToAfter) ); } }; $('.embed-type').on('change', function() { var embedType = $(this).val(), $embedCode = $(this).closest('form').find('.embed-code'), $embedCodePrompt = $(this).closest('form').find('.embed-code-prompt'), $embedCodePrefix = $(this).closest('form').find('#embed_code_prefix'), $embed_code_input_group = $(this).closest('form').find('#embed_code_input_group'), $embed_code_input = $(this).closest('form').find('#embed_code_input'), $embed_code_textarea = $(this).closest('form').find('#embed_code_textarea'); $embedCodePrompt.html( $(this).data(embedType) ); if (embedType=='code') { $embed_code_input_group.removeClass('show'); $embed_code_input.attr('name', $embed_code_input.data('name')); $embed_code_textarea.addClass('show').attr('name', $embed_code_textarea.data('name')); // $embedCode.removeClass('small'); $embedCodePrefix.html( '' ); } else { $embed_code_input_group.addClass('show'); $embed_code_input.attr('name', $embed_code_input.data('name')); $embed_code_textarea.removeClass('show').attr('name', '') $embedCodePrefix.html( $embedCodePrefix.data(embedType) ); // $embedCode.addClass('small'); } }); $('a.del_user_guide_page').click(function() { return confirm( $(this).data('confirm') + ' "' + $(this).data('title') + '"?'); }) }); UserGuide1.02.2.192024-04-04 13:39:29YTo0OntzOjE2OiJjdXN0b21Nb2R1bGVOYW1lIjtzOjEwOiJVc2VyIEd1aWRlIjtzOjEyOiJhZG1pblNlY3Rpb24iO3M6NDoibWFpbiI7czo5OiJ1c2VTbWFydHkiO3M6MToiMSI7czoxMToiaW1hZ2VGb2xkZXIiO3M6MDoiIjt9YToxOntzOjE2OiJtb2R1bGVfdXNlcmd1aWRlIjthOjc6e2k6MDthOjk6e3M6MjoiaWQiO3M6MToiMSI7czo1OiJ0aXRsZSI7czoxMjoiSW50cm9kdWN0aW9uIjtzOjg6InBvc2l0aW9uIjtzOjE6IjEiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwNTEwP2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aToxO2E6OTp7czoyOiJpZCI7czoxOiIyIjtzOjU6InRpdGxlIjtzOjE2OiJUaGUgRmlsZSBNYW5hZ2VyIjtzOjg6InBvc2l0aW9uIjtzOjE6IjIiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwNDU1P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aToyO2E6OTp7czoyOiJpZCI7czoxOiIzIjtzOjU6InRpdGxlIjtzOjI0OiJUaGUgQ29udGVudCBNYW5hZ2VyIFB0IDEiO3M6ODoicG9zaXRpb24iO3M6MToiMyI7czo2OiJhY3RpdmUiO3M6MToiMSI7czo1OiJhZG1pbiI7czoxOiIwIjtzOjc6ImNvbnRlbnQiO3M6MDoiIjtzOjEwOiJlbWJlZF90eXBlIjtzOjU6InZpbWVvIjtzOjEwOiJlbWJlZF9jb2RlIjtzOjU0OiI5Mjk4MDAyMDY/YmFkZ2U9MCZhdXRvcGF1c2U9MCZwbGF5ZXJfaWQ9MCZhcHBfaWQ9NTg0NzkiO3M6MTE6ImVtYmVkX2ZpcnN0IjtzOjE6IjAiO31pOjM7YTo5OntzOjI6ImlkIjtzOjE6IjQiO3M6NToidGl0bGUiO3M6MjQ6IlRoZSBDb250ZW50IE1hbmFnZXIgUHQgMiI7czo4OiJwb3NpdGlvbiI7czoxOiI0IjtzOjY6ImFjdGl2ZSI7czoxOiIxIjtzOjU6ImFkbWluIjtzOjE6IjAiO3M6NzoiY29udGVudCI7czowOiIiO3M6MTA6ImVtYmVkX3R5cGUiO3M6NToidmltZW8iO3M6MTA6ImVtYmVkX2NvZGUiO3M6NTQ6IjkyOTgwMDEyNj9iYWRnZT0wJmF1dG9wYXVzZT0wJnBsYXllcl9pZD0wJmFwcF9pZD01ODQ3OSI7czoxMToiZW1iZWRfZmlyc3QiO3M6MToiMCI7fWk6NDthOjk6e3M6MjoiaWQiO3M6MToiNSI7czo1OiJ0aXRsZSI7czoyNDoiVGhlIENvbnRlbnQgTWFuYWdlciBQdCAzIjtzOjg6InBvc2l0aW9uIjtzOjE6IjUiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwMzM5P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aTo1O2E6OTp7czoyOiJpZCI7czoxOiI2IjtzOjU6InRpdGxlIjtzOjQ6Ik5ld3MiO3M6ODoicG9zaXRpb24iO3M6MToiNiI7czo2OiJhY3RpdmUiO3M6MToiMSI7czo1OiJhZG1pbiI7czoxOiIwIjtzOjc6ImNvbnRlbnQiO3M6MDoiIjtzOjEwOiJlbWJlZF90eXBlIjtzOjU6InZpbWVvIjtzOjEwOiJlbWJlZF9jb2RlIjtzOjU0OiI5Mjk4MTgwOTE/YmFkZ2U9MCZhdXRvcGF1c2U9MCZwbGF5ZXJfaWQ9MCZhcHBfaWQ9NTg0NzkiO3M6MTE6ImVtYmVkX2ZpcnN0IjtzOjE6IjAiO31pOjY7YTo5OntzOjI6ImlkIjtzOjE6IjciO3M6NToidGl0bGUiO3M6MjA6IkdldHRpbmcgRnVydGhlciBIZWxwIjtzOjg6InBvc2l0aW9uIjtzOjE6IjciO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODI3MDI3P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9fX0= #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $uid = null; if ( cmsms()->test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } // Setup Module Permissions $this->CreatePermission(UserGuide::MANAGE_PERM, 'UserGuide - Manage'); $this->CreatePermission(UserGuide::USE_PERM, 'UserGuide - Use'); // Setup default permissions - Editor has USE permission $perm_id = $db->GetOne("SELECT permission_id FROM ".CMS_DB_PREFIX."permissions WHERE permission_name = '".UserGuide::USE_PERM."'"); $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Editor'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", [$group_id, $perm_id]); if (isset($count) && intval($count)==0) { // if not already set $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO ".CMS_DB_PREFIX."group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (?, ?, ?, NOW(), NOW())"; $db->Execute($query, [$new_id, $group_id, $perm_id]); } // Set Preferences $this->SetPreference('customModuleName', 'User Guide'); $this->SetPreference('adminSection', UserGuide::ADMIN_SECTION_DEFAULT); $this->SetPreference('useSmarty', true); $this->SetPreference('imageFolder', ''); // Create Tables $db = $this->GetDb(); $dict = NewDataDictionary($db); $taboptarray = array('mysql' => 'TYPE=MyISAM'); // create module_userguide table $fields = " id I KEY AUTO, title C(255) NOTNULL, position I, active I1, admin I1, content X, embed_type C(10), embed_code X, embed_first I1 "; $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX.'module_userguide', $fields, $taboptarray); $dict->ExecuteSQLArray($sqlarray); // install default content $importerExporter = new UserGuideImporterExporter(); $imported = $importerExporter->import( $this->GetModulePath().UserGuide::DEFAULT_CONTENT_XML ); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $db = $this->GetDb(); // remove the database tables $dict = NewDataDictionary( $db ); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX.'module_userguide'); $dict->ExecuteSQLArray($sqlarray); // remove the permissions $this->RemovePermission(UserGuide::MANAGE_PERM); $this->RemovePermission(UserGuide::USE_PERM); // remove all preferences $this->RemovePreference(); #------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $db = $this->GetDb(); if ( version_compare($oldversion, '1.1', '<') ) { $sql = 'SET @rownumber = 0'; $db->Execute($sql); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position = (@rownumber:=@rownumber+1) ORDER BY position, id'; $db->Execute($sql); }

    {if $isNewPage}{$mod->Lang('add_item')}{else}{$mod->Lang('edit_item')}{/if}

    {form_start pid=$page->id class='user-guide-edit-page'}

    {$mod->Lang('title_title')}:

    {$mod->Lang('title_active')}:

    {$input_active}

    {$mod->Lang('title_admin')}:

    admin}checked{/if}>

    {$mod->Lang('title_content')}:

    {$input_content}


    {$mod->Lang('title_embed_type')}:

    {$mod->Lang('title_embed_code')}:

    {strip} {if $embed_type=='vimeo'} {$mod::EMBED_PREFIX_VIMEO} {elseif $embed_type=='youtube'} {$mod::EMBED_PREFIX_YOUTUBE} {elseif $embed_type=='local'} {uploads_url}/ {/if}{/strip}
    {$mod->Lang("embed_type_prompt_{$embed_type}")}
    {*

    *}

    embed_first}checked{/if}>

     

    {form_end}{* admin_settings.tpl *} {if $separate_settings} {tab_header name='pages' label="{$mod->Lang('tab_pages')}"} {tab_header name='options' label="{$mod->Lang('tab_options')}"} {/if} {tab_start name='pages'}
    {if empty($pages)} {else} {foreach $pages as $page} {cms_action_url action=edit_page pid=$page->id assign='edit_url'} {/foreach} {/if}
    {$mod->Lang('title_title')} {$mod->Lang('title_active')} {$mod->Lang('title_admin')} {* edit icon *} {* delete icon *}
    --- {$mod->Lang('none')} ---
    {$page->title} {if $page->active}{admin_icon icon='true.gif'}{else}{admin_icon icon='false.gif'}{/if} {if $page->admin}{admin_icon icon='true.gif'}{else}{admin_icon icon='false.gif'}{/if} {admin_icon icon='edit.gif'} {admin_icon icon='delete.gif'}
    {tab_start name='options'}
    {form_start action=admin_settings}
    {$mod->Lang('tab_options')}

    {$mod->Lang('title_customModuleName')}:

    {$input_customModuleName}

    {$mod->Lang('title_adminSection')}:

    {$input_adminSection}

    {$mod->Lang('title_separate_settings')}

    {$mod->Lang('title_customCSS')}:

    {$mod->Lang('text_customCSS')|nl2br}


    {$input_useSmarty} {$mod->Lang('title_useSmarty')}:

    {$mod->Lang('help_useSmarty')|nl2br}


    {$mod->Lang('title_import_export')}

    {$mod->Lang('title_import')}:

    {$input_import}  


    {$mod->Lang('title_exportImageFolder')}:

    {uploads_url}/
    {$mod->Lang('text_exportImageFolder')}

    {$mod->Lang('title_export')}:


    {if $hasUsersGuideMod}{* if installed *}
    {$mod->Lang('title_import_UsersGuide')}

    {/if} {if $hasUserGuide2Mod}{* if installed *}
    {$mod->Lang('title_import_UserGuide2')}

    {/if} {form_end} {if $separate_settings} {tab_end} {/if}{* admin_user_guide_page.tpl - includes adding '../' to the start of all img src attributes so they display in /admin ***************************************************************************************************} {if !empty($error)}
    {$error}
    {/if}
    {if $page->content!='' && $page->embed_first==0}
    {$page->content|replace:'src="':'src="../'}
    {/if} {if $page->embed_code!=''} {if $page->embed_type=='vimeo'}
    {elseif $page->embed_type=='youtube'}
    {elseif $page->embed_type=='local'} {$result=$page->parse_local_embed()} {if $result->errors}
    {foreach $result->errors as $error}{$error}
    {/foreach}
    {/if}
    {elseif $page->embed_type=='code'}
    {$page->embed_code}
    {/if} {/if} {if $page->content!='' && $page->embed_first==1}
    {$page->content|replace:'src="':'src="../'}
    {/if}
    { "type": "module", "name": "User Guide", "module_name": "UserGuide", "source": "core", "default_selected": true, "description": "Adds an editable documentation area inside the CMS admin so site owners and editors can keep project-specific help pages with the installation." } {* error template *} {extends file='index.tpl'} {block name='logic'} {$title = 'title_error'|tr} {/block} {block name='contents'}{/block} {block name='logic'}{/block} {if isset($BASE_HREF)}{/if} {if !empty($browser_title)} {$browser_title} {elseif !empty($title)} {$title nocache} - CMS Made Simple™ {'apptitle'|tr} {else} CMS Made Simple™ {'apptitle'|tr}} {/if}
    {'apptitle'|tr}
    {block name='aside_content'} {if isset($wizard_steps)} {/if} {/block}

    {if isset($title)}{$title}{else}{'install_upgrade'|tr}{/if}

    {if isset($subtitle)}

    {$subtitle}

    {/if} {if isset($dir) && ($in_phar || $cur_step > 1)}
    {'prompt_dir'|tr}:
    {$dir}
    {/if} {if isset($error)}
    {$error}
    {/if}
    {block name='contents'}WIZARD CONTENTS GO HERE{/block} {block name='content-footer'}{/block}
    © Copyright {$smarty.now|localedate_format:'Y'} CMS Made Simple™. All rights reserved{if isset($installer_version)} - {'installer_ver'|tr}: {$installer_version}{/if}{if isset($build_number)} - {'build_num'|tr}: {$build_number}{/if}{if isset($build_time)} - {'build_date'|tr}: {$build_time|localedate_format:'j %h Y H:i:s'}{/if}
    {block name='javascript'} {/block} {extends file='index.tpl'} {block name='javascript' append} {/block}{* wizard step 1 *} {extends file='wizard_step.tpl'} {block name='logic'} {capture assign='browser_title'}CMS Made Simple™ {$version|default:''} ({$version_name|default:''}) {'apptitle'|tr}{/capture} {capture assign='title'}{'title_welcome'|tr} {'to'|tr} CMS Made Simple™ {$version|default:''} ({$version_name|default:''})
    {'apptitle'|tr}{/capture} {$current_step = '1'} {/block} {block name='contents'}

    {'welcome_message'|tr}

    {wizard_form_start} {if empty($custom_destdir) && !empty($dirlist)}

    {'step1_destdir'|tr}

    {'step1_info_destdir'|tr}


    {/if}

    {'step1_language'|tr}

    {'select_language'|tr}


    {'step1_advanced'|tr}

    {'info_advanced'|tr}

    {wizard_form_end}
    {/block} {* wizard step 2 *} {extends file='wizard_step.tpl'} {block name='logic'} {$title = 'title_step2'|tr} {$current_step = '2'} {/block} {block name='contents'}
    {wizard_form_start} {$label='install'|tr} {if $nofiles}
    {'step2_nofiles'|tr}
    {/if} {if !isset($cmsms_info)}
    {'step2_nocmsms'|tr}
    {if !$install_empty_dir}
    {'step2_install_dirnotempty2'|tr} {if !empty($existing_files)}
      {foreach $existing_files as $one}
    • {$one}
    • {/foreach}
    {/if}
    {/if} {else} {* its an upgrade or freshen *} {if isset($cmsms_info.error_status)} {if $cmsms_info.error_status == 'too_old'}
    {'step2_cmsmsfoundnoupgrade'|tr}
    {elseif $cmsms_info.error_status == 'same_ver'}
    {'step2_errorsamever'|tr}
    {elseif $cmsms_info.error_status == 'too_new'}
    {'step2_errortoonew'|tr}
    {else}
    {'step2_errorother'|tr}
    {/if} {else}
    {'step2_cmsmsfound'|tr}
    {/if}
    • {'step2_pwd'|tr}:
      {$pwd}
    • {'step2_version'|tr}:
      {$cmsms_info.version} ({$cmsms_info.version_name})
    • {'step2_schemaver'|tr}:
      {$cmsms_info.schema_version}
    • {'step2_installdate'|tr}:
      {$cmsms_info.mtime|localedate_format:'j %h Y'}
    {if isset($cmsms_info.noupgrade)}
    {'step2_minupgradever'|tr:$config.min_upgrade_version}
    {else} {$label='upgrade'|tr} {if !empty($upgrade_info)}
    {'step2_hdr_upgradeinfo'|tr}
    {'step2_info_upgradeinfo'|tr}
      {foreach $upgrade_info as $ver => $data}
    • {$ver}
      {if $data.readme} {/if}
      {if $data.changelog} {/if}
    • {/foreach}
    {/if} {/if} {if isset($cmsms_info.error_status) && $cmsms_info.error_status == 'same_ver'}
    {'step2_info_freshen'|tr:$cmsms_info.config.db_prefix}
    {/if} {/if}
    {if !isset($cmsms_info)} {if isset($retry_url)} {* {'retry'|tr} *} {'retry'|tr} {/if} {elseif !isset($cmsms_info.error_status)} {elseif $cmsms_info.error_status == 'same_ver'} {/if}
    {wizard_form_end}
    {/block} {* wizard step 3 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step3'|tr} {$current_step = '3'} {/block} {block name='contents'} {if $tests_failed} {if !$can_continue}
    {'step3_failed'|tr}
    {else}
    {'sometests_failed'|tr}
    {/if} {/if} {if $tests_failed || $verbose} {foreach from=$tests item='test'} {cycle values='odd,even' assign='rowclass'} {/foreach}
    {'th_status'|tr} {'th_testname'|tr}
    {if $test->status == 'test_fail'}{elseif $test->status == 'test_warn'}{else}{/if} {$test->name|tr} {$str = $test->msg()} {if $str != '' && ($verbose || $test->status != 'test_pass')}
    {$str} {/if}
    {else}
    {'step3_passed'|tr}
    {/if}
    {'legend'|tr}
    {'symbol'|tr} {'meaning'|tr}
    {'test_failed'|tr}
    {'test_passed'|tr}
    {'test_warning'|tr}
    {'warn_tests'|tr}
    {if $tests_failed} {* {'retry'|tr} *} {'retry'|tr} {/if} {if $can_continue} {'next'|tr} →{/if}
    {/block} {* wizard step 4 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step4'|tr} {$current_step = '4'} {/block} {block name='contents'}
    {wizard_form_start}

    {'prompt_dbinfo'|tr}

    {'info_dbinfo'|tr}

    {if $verbose}
    {/if}
    {if $verbose}
    {/if}

    {'prompt_timezone'|tr}

    {'info_timezone'|tr}

    {if $verbose}

    {'prompt_queryvar'|tr}

    {'info_queryvar'|tr}

    {/if} {if $action == 'install'}

    {'prompt_installprofile'|tr}

    {'info_installprofile'|tr}

    {if isset($install_profile_details) && count($install_profile_details)}
    {foreach $install_profile_details as $profile_id => $profile}

    {$profile.name|escape}: {if isset($profile.description) && $profile.description}{$profile.description|escape}{/if}

    {/foreach}
    {/if} {if isset($optional_module_bundles) && count($optional_module_bundles)}

    {'prompt_optionalmodules'|tr}

    {'info_optionalmodules'|tr}

    {foreach $optional_module_bundles as $bundle_id => $bundle}
    {if isset($bundle.description) && $bundle.description}

    {$bundle.description|escape}

    {/if}
    {/foreach}
    {/if} {/if}
    {wizard_form_end}
    {/block} {* wizard step 5 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step5'|tr} {$current_step = '5'} {/block} {block name='contents'}
    {wizard_form_start}

    {'info_adminaccount'|tr}

    {if $verbose} {else}
    {/if}
    {if $verbose}
    {/if}
    {wizard_form_end}
    {/block} {* wizard step 6 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step6'|tr} {$current_step = '6'} {/block} {block name='contents'}
    {wizard_form_start} {if $action != 'freshen'}

    {'prompt_sitename'|tr}

    {'info_sitename'|tr}

    {/if}

    {'prompt_addlanguages'|tr}

    {'info_addlanguages'|tr}

    {wizard_form_end}
    {/block} {* wizard step 7 -- files *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step7'|tr} {$current_step = '7'} {/block} {block name='contents'}
    {if isset($next_url)} {'next'|tr} → {/if}
    {/block}{* wizard step 8 -- database work *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step8'|tr} {$current_step = '8'} {/block} {block name='contents'}
    {if isset($next_url) && $next_url} {'next'|tr} → {/if}
    {/block}{* wizard step 9 -- files *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step9'|tr} {$current_step = '9'} {/block} {block name='contents'}
    {* bottom nav is needed here *}
    {/block} {block name='content-footer'}
    {'step9_removethis'|tr}

    {'step9_join_community'|tr}

    {'step9_get_help'|tr}:

    {'step9_love_cmsms'|tr}?

    {/block}MANIFEST GENERATED: 1774384559 MANIFEST FROM VERSION: 1.0.0 MANIFEST FROM NAME: Smoke MANIFEST TO VERSION: 1.0.1 MANIFEST TO NAME: Smoke MANIFEST GENERATOR: build/create_manifest.php CHANGED :: 2f9a3319fa9e7a4b53e0ac3368c3848a :: /index.php CHANGED :: a82245a884cd7a0cc7ddfc90e8eda54c :: /lib/version.php ADDED :: b60ed88355ac3f6898fd8a7ab1734d06 :: /new.txt PK}x\됿new.txtaddedPK}x\DW1 index.php8tQ7z1DuX Ismarty magic method in the module class to resolve to the action template or the global smarty. VrH W F'Q2Uqf.vXD*l9%F\D$z|9xijC%woo?,&vj^-O7'fS8yunIi@!E|Nզ]Cp>Շof݆W*sH9&P!Պ 9~]u4[w=OaC0ALLx"[De)' 7l=фPkiKƒ9VO^aKNl7l?%(% q ȞK'lkϱ ^ I}OE|aw 7QR8#B6sڹm X@ МH.<-ώ6߼߆97saXR4B!7 M'AUv Ρgoʥ^-zXi5Jo{QYSnsAֻ#Jm1uhJp9H(y25XZiֈ-N9e@{ÚFm"L HRoq"]a5ABvJxj@H }=N+=nib@]`*7hz{ni]pX#YvmSY Version 2.0.1 - Adelaide ---------------------------------- Core - General - Improved optimization in ContentOperations::SetAllHierarchyPositions. - Fixed return type of ContentOperations::GetPageIdFromAlias(). - Help for the {cms_html_options} plugin. - Change the default page template to use {Navigator}. - Explicitly force $smarty->fetch() to create a new template, and therefore a new scope. Keep track of scopes in a stack. - Change prototype to CMSModule::DoActionBase to pass in the current template object. - SITENAME is now assigned as a Smarty global. (fixes some variable scope issues) - Fix problem with changing content types. - Fix problem with CmsLayoutTemplateQuery wrt the editable option, that generated an SQL error. (resolves problems where people have additional editor access to templates, but no other design manager permissions). - Fix minor JavaScript errors in plugin (error checking). - Fix problems where If assign was passed to a {content} tag, do not pass it to the module on a mact request. - Implements the completely forgotten 403 exception stuff and the IsPermitted content method. - Improve the cmsms_dirtyform jQuery plugin to support the unload handler and an onUnload callback. - Fixed the jQuery page selector plugin when the current value points to an invalid page, and fixes for asynchronous Ajax. - Adds a globally available cms_busy() JavaScript function for the Admin. - Fix problem with html entitites in email addresses in user settings. - Fix problem with {content cssname=string} and quotes. - Chaged cmsms plugins to use $smarty->getTemplateVars() instead of $smarty->get_template_vars() because of scope issues. - Minor fix to {form_start} when not used in a module. - Improved error handling for cms_stylesheet. Now will generate a message in the admin log, and an html comment on error. - Minor fixes for module provided content blocks for Content type pages. CMSContentManager v1.0.1 - Fixes for changing content types. - Adds a title for some contextual help if a template is not available for a content item. - Clear any locks if an exception occurred while submitting a content item. - Improvements to error handling with apply and preview. - Content list now refreshes every 30 seconds to display up-to-date lock information. DesignManager v1.0.1 - Clear the type_default flag when copying a template. - Clear any locks if an exception occurred while submitting a template. - Clear any locks if an exception occurred while submitting a stylesheet. - Template and stylesheet lists now refresh every 30 seconds to display up-to-date lock information. - Fixes for design exporting templates with protocol-less URLs in them. MenuManager v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). Navigator v1.0.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Minor change to the help ($node->children_exist) Search v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). News v2.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Fix problem with custom fields not being assigned in fesubmit. - Fix minor problem with html entities in the detailtempalte parameter. FileManager v1.5.1 - Fix minor problem with Smarty scope in the drop zone. Announcing CMSMS 2.0.1 - Adelaide ---------------------- We knew that shortly after releasing 2.0, regardless of how many months we were in beta, we would be creating bug-fix releases. This is because the number of users who actually use the system increase when you remove the 'beta' or 'release candidate' suffixes. Therefore, more issues are reported that need to be fixed. CMSMS 2.0.1 - Adelaide is the first of those bug fix releases. The bugs fixed in this release are important to almost everybody, they will affect upgrading, modules, templates, and users. Therefore, we encourage you to upgrade your CMSMS 2.0 sites as soon as possible. Some of the issues fixed in this release include - Template, Stylesheet, and Content Locking We fixed numerous page locking issues with respect to different browsers and handling of unloading pages and various things. We also changed the respective template, stylesheet, and content lists to automatically refresh every 30 seconds so that they will show your locks properly. This will help to solve problems with people who keep multiple tabs open. - Smarty Scope Numerous issues with respect to passing Smarty variables from parent templates to child templates were attacked and solved. - The new page selector Issues related to the new page-selector jQuery plugin were resolved. - Editing templates with restricted permissions We solved a few relatively minor issues which occurred when a user had only 'additional-editor' access to a template, but nothing more. - Implement the missing 403 error handler page type. We re-merged some changes from the 1.11.13 release that did not make it into 2.0 with respect to handling 403 (permission denied) errors. - More There are lots of issues that were fixed in this release... you can find more details about them by viewing the changelog that is included with your install after upgrading. You can also see the changelog before upgrading from within the installation assistant. - Installation Assistant The installation assistant also got a few minor tweaks for this release. Most of those tweaks are just related to displaying more useful messages. Supported Versions -------- At this time, the CMSMS Dev team will support general issues in CMSMS 2.0 and CMSMS 2.0.1. CMSMS 1.12.1 will be supported with respect to absolutely critical bugs, and security issues until September 6, 2016. Thanks: -------- We would like to thank all of the people that reported issues to us, and made it easy for us to reproduce and therefore fix the issues. The Dev Team has worked hard to test, re-test and document each and every issue. K-D[BK\K-rx}r;BR2jlZ-tKHٽ~[yq- n_tt{7ۛW7ճ+]鯕7{+AN \|nb|䑛d1xzU! oƷBc^ƾ-X:HnOky| n!Xcʡ9,WCgkv=vW;CF:`* ꜆cL%G8-R#eٛwҿ7!5W'%eӼ0؏ϛ{ѹ Z1͙5zykۿmW]~{D>|d̃F)PGϙGgSŝ"zzۀn+L$R#Ilep'}.H%8i;g|u.Wם]N>}usX1xc t͎^orq2&ukkS  un#c6Rd7Fo\C=MַޓqzHw[ ]i[7%xIq {5 %ʱG̏r${sin_8'2A4 I=76lDK8_Jʵ`r9$5 z|4F> s^]t@rb1A¾6+y5@ 6jBfz pl!\ۇ uc\AL%f?6y};;p B\EaBCðý}zn vYĚc+~I<^PV{5Wc+@F KBD9n?n/7ejjf)'?%^ѓlpm6Z.IM"7`)57O8h4B8fQE>] 4n-؟,'G5sF94@ ;%X#(ٔy_sjq(pol+ Vp`=@̣)%Jݽ'4n hy0h6#9KXq8Oq07^&V}u8t! , 6stôJd+%(3:gKH9t>15ZX6 fo\&FdF ?]m\;-pg/ؠKϏ @"\mL$5Cɍ Nfv6 &gGDsaal MJxj d)wey=hPY:rҦbBLNy=LkY8H6!t:Œ@&=[^0D!%v5N[9y g0c%8̨~!A7>qZR9!R:s fEP7%lɈ7==v5XW| 4|#_sN!Í F Y E<a$pAhZ Ur[3Kp9 Dgүf*ޒ(X9{bW ZDI H|قa=B:H@ υ>?8P"ζ#1Bm'k5QR3aKĐh*l噞mnzǒ+ U8S G=KҁfY#}"؎CW0n–k8lgV9sKP+35 Y96nwt=[7"p\2,&)ԓn,PHK0Bt(Kπ,,|43x4-QC .Y^ɍ҆mCR+$t0G:s ^+^>k'!nWBKϏzGt]<~rA_gXs@":0<)KR{jg7&gRUP% …Pg7X!TsmqH_QZpvonN,v3pWN.p x;)A&oQ ya=—2#!,4' xֻqŴScIi@nAX@g1 ""pǀ+ v@jC`(7|a˭y7П2S }?=}A08 ѩ:c[xx6Wsct].YW^ 0u$=Cy{㜽(=󌮟x(ެWoSXcEk ͘3Fz$pj&LDϥˈH%:9sKJGֵĉ(cS G G:|ٗ鯣GJ14!s ~=1苯wA[lɖAf*%sNOl7''|77_k6e=n(ZL;8LrXn|#0ͬk)#ckkEDրi ^|֫qWjIKT&PX c_嫙^>1ŰiP>\t Mۜϊ?==ݲ&}G Ad'"GxJϭ#<=nF>Bܐ;U&;ٛ6SDD5@N!JG2M3#[4}G7WGވ{꣺0N!g<*F1mY՛gAW۳P5M@(S彷H\o^nR;z2H:*6OHpE{oҕ,:&fp. p%Wz\r 6|$D( E/ j-Ľ}>8`%g-l{B1[^}X@\Z'M 7㚴@5]8!(U’`k׷-|zI8xJQƨã;MX9PoGp`A ađڋ lM fV Yx)VD}#~́ 85f ZwuDkit{%+CJ 5- 3 ã~ E}%e 3=[CqLЁd;4v_2KR:d{:߇'O l6)rz>- ?K&P%&ZKQWڎT!NLrۯ.1[>X ,0]O;[5<1pGĠ *M3&23[ͦXU ܓXn83R%T<8X啅b ұq0Ǡop>;Pܣۜ8M17ɐYL mºX| 7˥i?ǾxGÃVnx aqI u8z8Ql2֬M1s9?ޗ 4Cҧۤ0xƐL3lxx'KzW^h1ݾ>=]+fdRDՏc__rqh$2*CPI ށ+cmEŋ'.wx`ڱ|- V{'3y"?>֮,Ӭ_}DGI7+[oAF4[ҹ, VߏO]ȽӀdi 9׃!p'I}i~b@aؼuSrnO'5D/'Hm5jA6}3讷^=1]Dw&d52^>nӿI猉T,1_K˄ASɷz׫WO||5/ZGY_E%9A|"]}Ĵt ,zWlMzj}Zlx6?>N"}ɰv lNOLEɇ迮^==N"dіjB0 G%sh$r~\v'Fe7LJշOL&e)/uD0kAĴq/AOM*n^ 9hUhZnJ2Z?~vMsL^=tXV`{E@}C)݃3'pp2ހx jG-ɛuH6!J:LqXލ%EZČT 0CZ1`) v"}Y^ OZg5[P y6-0:[c_d ca. 6Tk,v$U^nZ-׎vѻ|(ٔdjɚ\ 3=gfzg[dҒ{*M wO0FTY(IZjH'S{u>HYMe!f1r1.0 pÄw* 1QoD`29vzM]Kce9+L 4#VL,>-_j݂9@?FA]m:w\}zdqey:ei^F^y̝9"X}(YeکѤfq&cwo5#j(ˠUi%2D+sBZj=sgI _),ܺ`x*;)5I6/MC,*Y.]4!NJ> U]_cE%BZKM d~ߦ<|Ǥ< idMeɋ#x_~uuĖ`.k=i꿦-h8Aߛ gu.u&͝$IiPtE0J[zh]dSaT^KRKwЬ/^ID0*H-FKx C^g[&k*a*| aY-k㣁qLt~ i y5+\}d5A(}T|oPw'oNja7Ԯ֓T&W-J\^/uREs6jRg,V$K'Z}EڟiSx_{Z]5$,]n֛o6t3+ICV[fкVp;<^_:/<Cbb do U{7WY#(#7}@Τ@5=5*VbPΒbdӼYFFdUl>|:&$Ri~bR \d.+egI=ϼHWٵ2,BpE2KBvj=sCcӇY6jɦO9kvetcĞ+pڠ}[`Ƞ<>G%s)l̖)ȏN,\5J!jlN~;(:*tP* {Cpa*&꘴2y);'GM=|q$B,tUA -s'XIjY-:pjX:uO V{|M1 8A z+N|_mr*ر$,Dp&l^4:Mio2ڍ!_*X-bJ+޸Doֻ~ER 4%7HyĽlob`mUiu]sWۇUm(ml:}DžnOz֛.sqD/LMQpiFh{}N]9pS}z= D}_g}I^8CD-_?N⸆"k[Ѽ[hl;o-z$Y:RPEtg⊵OlU[}v%}+w`]23֝p v/7Y:a_5xVC倎$ x F$e >Jj-BfC:^88m훅 *q hwēIBҝźt}D` IEMɖP"3+ OPd?M !WMȂ{c~[mO޴=n&>􊺚FÈ4I_(WZDeZԊى sɈ|};eJZYЮ p^uN `t05iu&S<62@ea\AU˙e\Vo7k9׊*ȼklOQ;=}>=G[ N+㔂EM aOPgV=bO`:cvʗNZqxZ>DbOXԭP^<$LkoLz^ C}6s1PTc$DOV[j؍uNþD^ߎ׋ׁ#r|hZH@^=<0Cذ5|zJ'~9 K7t+oy7K,B0 X 8˜ /Njg<Ѓcժ2fl65/zNu/=8 nW9@tZXfN9u!z>xuu!h;AkIlLѶ_vqP+%(qes+lrgR_kKtxGs hMWeP ۥa]Ϧ TZ;Bv˦:﹃md߰W2!ha] !Nz2NҙH+,7V}|<&~#Obiul;{` 6h Mf#\:կN ?6W14MjwFh'Yf.%BKbCx<_ א^{ (kt&-)$\[̟m꛳5R_ګh`Yk܍-~O)0~u &zgD ![mkd|_͟)fgX*yHE;KruR6,? Cme$c&*@:r)H sfݯՂќJ#5_B @a=z#XY]>U='vwcJEs&^8 HTF|)yG7k~Vu¥e P3S-Ҵ@\WRB:m 0%NK4% w]@įGEZ餽OUm`hk\\cx>~8-iK(>3T0܌Z7wiJ>Y 鈃{7|r Dv1j[U-)jwԺ>; ]]W"IL %5"$?á7!56TMr;)l{ M'rUrI+8#R_ym=c>:ZJıT+>?I#/@ri#婜 y:BﮮvfrQk'TZ5Ek%V>^,Kj礡`ptj繸!Z Vb:m8hhxdN(flJ P6HOչf|͟(<>þ8& mU)#L8O LrB`yjjHBG>.V ؈km zc}Gڬ k +Aspvwss[i~n^(cLi A*gw)$=ر %.i]EFSNF n,@hU( 9Ue7Xf<|fZzXeCX5E. H%/R{nwP)} @j7[/-GG%)=>춸+04i{^pT sre#jWkV:5S˹l3e51XHi< nPݥ`я譿'+g-+MvJv?SەEo d86$~I/Ww%`i״O.EdEG,̩1ĨGhS[3iXЈZ@c) {'"/`16۹v N@:= WAuy* mJSBg.E CSO[^MWYf˪,i+0Svŋ㏈\ߪ,]}ۖئew~@ޮ7fl+th2Ik)m&F´~&~}zqM= ht{PT|\P 9xѪ+h\]_A鍆96xܮMۣL)md%460ˆsn$ZcF4p{v=1y+D^)g(?:ZV;+ܰ WpvS'Mnΰkٖ b.$~?L>_+|X@hġvݪNY7mu̹PiAknP&;G ~dÄS-c&Za O, vd<ۏ&Vj=߃lQ3dPdSqAg ̶ d.iX-ߠfs WDAu WD. T}_nkԘiU1[yF&[Py?X@|¥&ҷjzipQDXRTP!|o(4lFdm!bfs r~+urA_ ij֖ڡx}O=kю[!pണ^ӴRmLsB'I6_e%}|*c'}>/=(3/ZPR& RUld wpemlJ@P:;y8͍L9M8S V^[4P&-,c2Kĉw Z 3Kp3pRO[Q[XG| L,coaCCE!qFT|E]Qp(DG@}57bkN:h'"& 2}59jEt/nRnEhE&GIgNs v~L!dնUx?sLU5xX_R@ nWyOJj d P;y \6Dƪ P-`9uMDPx!?Ic/KZG'+^eK-C[8 >'teD0c|Ekq굄EjeYuPs*$QZ&n+L[z]G]Ev׺ȣ("h귨ǧKDF$=ᲫZ:ƃźQi9Վ4n Gnٯ`V\kYM7?x˯kʠZӵB ȱPE3/_[ūv(ć|llVsZN/U&w֥javy~2H,-|8~)W_~ev@cn^Bz7ۛzpZqOMj/- ~=P٬7x}]?߆ |zV34frZVZ` smmDf${ܦKHՋr5`^ pQv>8PmXGh2q4@ >,AޤvDW߿[ϗGoȊIZ*VYԍKy}MhߗD+0]^n׿<305' έcpqd]/}]rXu`{V1LQ@SRt_X*pSqWjЄI4zޏ˟ޠ.^ͰzKŶ 2BO7 X7~8,?@P"7W[^,QCqi@p<MA!V.( /)^$^MجO}'yӛy纖yX%0 4>>/^~CZSz2&>2B.?>v?~f̴m!d0*a~۟\~J`,(W:)kw|l #n K@+LkK#$qrNZp P-ڹdHy Jܵa zJ+|79Hii݉b4C-V<EU`1ҁXy2vxVɘ^5I5f<˕p7OiVH2» \&O*ڇmN.ˇj 5EKg=JASaez`'N˘b1*ŧܤ^meHєSz^H0`n"(j:HfֱR4QS ѡfɸ*2@@|E羧 +hHjJΦH6"C=%fka-Vv輦ʧm d4 6†PGNDNצ)TZ 7pJ%x=Jݜ?z񔻷4I MxݴcK T 4?j/~Ǚ.~vp)-SK%-r2 ~+;Pt J&]N}X̥ Lc\A.[&4m}O'@nt36){TLlN}쳍l  )s'/Dne袜zs4pH@ZD#Վ\QvhLKw;Q]˩ C>7{on) گ%L*#f` ާV ~O',1e'_b*"O!d lmn,%7M9 Z?۶js\#yJvk:knW>-vq6'X8uatZ'^vF5W@ 6P7 dIiblV9[[ Pkt\Lz`꧗FRl%Mw6z&>>?YtBMCӍtl .v? JoI{丒ŎUNP(roiLW0T>s]}u=ꞻL]F$iS*3,+OX_W^5[U[^m7P|6/_.TW#C%64}s^?]JAY%-ppOX۫o @>kQb|T7QEجW/g:I5靴^Oޭi^`%:X2}X! ~9M5ϗ4Fa6gpeaYj2hk$pf ^s0SLRtT11cf!*_`1 \}'._)/gkK.#.NҡñDP0Eav`1ȝ.S3xNI_ja$ѼKx4qjNEY ؤ}"uz*67lһ*dʨ^KPU%TѧGqq(#vAE{:/s<{aLi >:oab~AW ٧5Mh GDudRq2)9ϏxucktˍOh3݃ F' NԳ+5Nhd*@Po )|9.jKw8-Z1ͬgSx>bЭ>(+%2X&Al-j=1Q8BRn1͔@}|29zpR67VSSӉMN=%"]3~y)pٹQSRE#ݶ`)yĮ-,4/g:ň=TM>\ifPUhP+ O-tlcrX'AE#ͺb5;9@ЦuЋf=Yƹ$cKyz3u v!: oVz?]xPfЀ'Gc#m=) }B` <h .[%-Z6%זj;>#wIe b2ksV`%)2zHj{uч AHaL5-$PR?r|_M./^ [hݡjŞ>N@"Gw]-i6(3KhII T5b·6#faA$p3lzպNDzM6ǽzRm6ȻK@ĽLևEz:l5㴋RA@K#\^ RI\6p.(>=pɷF-iOp5 =T#3:̅#|AicCd;kKF Y&:|B7@zvт,.J|٪mShP)ݰ'(Q8{iT|^6oYۂww0.G2PAzT𭗍t B@E/]C a3Zԑ1tP-Ps!JKGYڠ<>Xc}/V4_|YI+{.Pf}ԾU6qu\6f,68P^: \/!LE{cpVJ }= cezGOjnV궒Ew4!$'F A{ Zw շzα$@)([AR{ȃ'Bl+Y,D :}S=L:u_#w>ڲm(Y8:(^z а 딀uKeGFU0!zk# TzB_0 :(WaBȔ4@,֮& w}WJoe+LJWO-5F)be,x,ƑQnE'j\w>XMKNs|aiZOK0B+_B⑵\aYRU7oMhBׇf !6%iA/״Z,G7_4V:`:6mg;K^ePLG3KP9W/<i(K;Xg=+7.ӂ/g^fj;-ʡyǦ /ܟ%fWF"(]ɕ{k7@3 Ipӹ5حymڅgKg%KT#'i$SzBBN=>6zRGt"JL2"`~˅:7֦KR *v ]g;V @v$8*o*_xej8˵X`QcDf{˔#a<\[En+O:iRTsGXZRi4sJڡ1pVOz!?ΰuDĴ <`ȵDZ[/ f3ֺ%h99KϮ4bct!r<ϽF`m`!tPsY%quߔ8#+0Rm4%Ե猵jĿȩܪ>P-s9#s0`MA4h[(&Zwl*74zgA1#"hL`aOX9p3ׯH}΋s{F QN 6ًyLk[AEcJ|O5sLg w(DK^Rq22 &wtLU_f~;:Ѧõh%Nb-057@˟=Nnf.)d`Ea9gTuGm66`C%5iPg SY6o0@Ϟ^i`?8xg{y(^rm)gӘu )_6IfEVP6a!2`Gq?{?OKfP.,=@ ]kod7rG ߏ$`P$kI4:>4^Fnۼd9dU|mgݖlGn_=T`oXRj]\;<><~~Jѓtҫˬm2mllo_3_P͊]-Ci\/wϧ:f >,va}K{toNnqfL dul!gFۀ)M(j 01۟)||(8Y~:nHvd@)ifk#~gr@}y1]6cy!gV\)`Y$6Oeʢ؊Z\`r>,i"x-""A&].;csP A]뙌*Y4x1)÷CVwBW5f ^u*BY8%2;6{3{y904du (Hy1&o!>G i{]a: kWm_gǬrpX *: }x;2a:UO@R`%$8duoRsl3aqxUj]F3٥e7ᤪgw#+Yș<8'\t  ѕǙ;~y c>/"vy۾Ux$⍧ ˖} 1ß8&U-V3籕IW~dق>)Q7PWG 6fy k &u3# @3ʒbXBvWy5^++2O|뎭"U^Tz|سn05G10$s%S%b^YL 4TB<6[(?5] fXn0":aQV&;Qe lس~bFnL,`pat^+' xCK \2b$ٜfUɿt p[ PlB3#wUkm1?7@kن_2͠P4 ./X.~R?>v[# ,ܢ `6T&;4}{w{'^UMqրG|e%)JSc}k&PVs@\lJ_fß~t_oï3'1N=H{et ֙ܝy>ܿX$Oc6qϰn#esv3SA5rGp^|p1eߝkFD'" : b)ytO$ cb#ڰc$3΀vxe$hIİ7lp.{[5z۱b bwy郏?>2?xwK:`^Yb޶^gRɾuʫemEPl, cg^sLYC 5~tY]V{T?/ ^OeQRX^KfmeT-*Xm<-hS(FeeQ bQGٽ\)'5p d^vMYVT0s!aو(tMqt5β'PVft;F٭+mLkҿ |-?Be,+J&5}(- ةIuВzrcv,d|-P ^GuIق1d̎]QAb&^ޖ@(j&搌!r ^uO\gW#F纒k̂9.T5)iDR&k2?}lX>Xi0Lq8*t[v l{*ewk.#iT׶Tz̩Q\;aQJ)vp{~m{XyaՅ:bdn3OCӹ/ T)Q)c%^noV=29o{Y IFXpv<#;m1{{o"M!OF7l ٝL#[g[<܂/὜{O6[,ӎLjg}Lec+:cxȼi~mקucZЭMmj>kK mACEg:iKkͨNs*u 7>+KU|L;3*/lsU* `Whuzm+AUba gI_ͶzʋmJX^%Lʬ18ǻ n+6_[&ˮ7~,Ȅ}@;`w[A/88O/XaUK\A V[jXn4=\a5 `9[- ƚ#vWŕQLu3 [HJwp @wR³j9 60vLb]L v}J `[Xh~W29`@R$a}b 6ʑ}t9An:V"lFӏ~cK>6Y(J?k#m)`JӉ(:euհeCT0㌠,daqn-y^YgΆ4mx.&RMMSGR9,YZ5m Zҏ싥6F(j8bqR;Zl 5#VhE^zd`(Ͷ&?#gJF, L ǔJ e[LBEH\&/e:RE0HjShVO$2x(!eMmlS{d-52>ƯE2AH0 Ƀ' V4+H$?)n<&sh_,e227!Y)aaD'v:=u0ԫ:Hr,20~4 5IJqZ$^{T$ T穝3{4#OGU\yѐω ,rW9'Pci}Ś/5-Y9A"Y^Ry?}"Y`Rء{")2:  ggf%R5ִ@CSke.V6ITz/ׇ|B j|Wx# dn[w|5K_xKUYW(ݨXG[jZH9Y XFpyaŞ7Va3VS 0;&jke(Dymgcxx9굦4 5%DVml;N^)9-b) j(vTឍrɺq4po^t_IIVK)Oaj]5ب",͂93>Yj*Lcgq{5Y}|v6ͫ kL("sFz7пY3kAw1j,WTs>0ہ<)WXjؼ,{akh,IY,X~dPZ7Gs8>6{7uvaV5nSKf|01EnyvA 8අ4xTX2.B3ƛ˽b 'ySY&x>etD|أ?zaH_nxwM~ӫ6耚[k%tv+-Uw~۝l_NJED]]{oK^~{;`cl_4ky9NB{$_oeoc]?j?% @bo6<|EL;- &i#x)6lo=\&Sof}\c6_>a5" |G 5yO\+`_CMS Made Simple Version 2.0 --------------------------- NOTE: This is a major upgrade and a significant amount of code has changed in this version. NOTE: Many sites will not upgrade cleanly. You may need to spend some time resolving various errors. NOTE: The CMSMS Forum at https://forum.cmsmadesimple.org is an important resource to help you in determining how to solve problems prior to and after upgrading your site. ---------------- BEFORE UPGRADING ---------------- Before upgrading major versions such as this, please ensure that you: A: check all of your modules for compatibility with CMSMS 2.0 before upgrading. B: Ensure you have upgraded all modules to their latest available version, as this should help ensure that your modules are compatible with CMSMS 2.0 C: Ensure that you have a verified backup of all of your files and the database before upgrading so that you can restore in case of an error. D: Completely read the announcements, release notes, and any documentation (including the README files distributed with the installation) before proceeding. --------------- UPGRADE ISSUES: --------------- A: Smarty variable scope issues -- Description: CMSMS has updated the Smarty template engine. Smarty variables created in one template are no longer automatically available throughout the generation of the page. You must explicitly copy those variables into another scope using the {assign} smarty plugin, it's shortcut or the new {share_data} plugin. Symptoms: After upgrading the site you may see one or more notices, warnings, or fatal errors about 'undefined index variablename'. and other related messages. Solution: You need to find the location where the 'undefined' variable was created and copy it to a global scope. Using the AdminSearch mechanism is a good way to find instances where these variables are used and/or created. Once you find the template that the variable was created in, you can alter the template to copy the variable into the global scope for use by other templates. One way to do this is via the {assign} smarty plugin (or it's short form). i.e: {assign var=foo value=$foo scope=global}. Another way is to use the {share_data} plugin that was created for CMSMS 2.0. i.e: {share_data vars='title,description,foo'} B: Smarty security issues -- Description: CMSMS has enabled the built in smarty security mechanism to prevent editors, or content submitters from entering potentially unsafe smarty code. Symptom: You will see the 'Oops' error page with a message like: access to **something** not allowed by security setting Solution: You can enable permissive smarty by adding $config['permissive_smarty'] = 1; into your config.php file. Warning: We do not recommend the use of permissive smarty on websites that allow submission of content by untrusted users. i.e: if you are using a module such as CGFeedback or AComments, or allowing news or blog article submission, or uploads by untrusted users, you should not use this setting. C: Sites that use multiple templates of the same name will have difficulties. -- Description: If for example your page template is called 'MySite' and your MenuManager template is also entitled 'MySite', then there will be difficulty with the upgrade to CMSMS 2.0. This is because the Design manager module (new for 2.0) treats all templates alike, and therefore requires that each template has a unique name. The upgrade process will ensure that all templates will have a unique name, however it WILL NOT touch your templates. Therefore if you did not correct this situation before the upgrade you may encounter errors. Symptoms: If you get a white screen immediately after upgrade, that takes quite a while (up to your PHP time limit) to complete. And/or you get errors like stack overflow" or "timeout" or "insufficient php memory" this may be the cause. Solution: Go into the design manager and find the new name for your child template (i.e: News, MenuManager, or some template from a third party module) and change the appropriate call in your page template. i.e: If You call {menu template='MySite'} in your page template, you will need to alter that call to specify the new template name. D: invalid characters in the template or stylesheet names. -- Description: Previous versions of CMSMS did not have tight controls on the characters that could be used in template and stylesheet names, GCB's, UDT's, etc. This presented numerous difficulties over time. In CMSMS 2.0 we have tightened the range of characters that can be used. Typically these are alphanumeric characters, spaces the comma, dot, dash, and colon (:). And some UTF-8 characters, but nothing that is not URL safe. The CMSMS installation assistant will clean item names (templates, designs, collections, stylesheets) on upgrade, and this result in errors on your site. The errors may be something like 'template not found: cms_template:foo'. You can resolve these errors by making the appropriate changes in your templates. The AdminSearch utility may be useful in finding the places where changes are needed. E: Database stylesheets whose name ends in .css will be renamed -- Description: The extension .css is reserved for future file based CSS functionality. Therefore any database stylesheets ending in .css will be renamed. Symptoms: You may either see the 'Oops' error page, or you may have a styling problem. This is because the upgrade may have renamed your stylesheets. If you are referring to stylesheets by name you may see an error message. Solution: Find the new name of the stylesheet from within the Design Manager and adjust your page templates accordingly. The AdminSearch module may be of assistance here. F: Database templates whose name ends in .tpl will be renamed -- Description: The extension .tpl is reserved for file based template functionality (useful in modules). Therefore any database templates ending in .tpl will be renmed. Symptoms: You see the 'Oops' error page with a message like: Unable to load template cms_template 'something' Solution: Find the new name of the stylesheet from within the Design Manager, and adjust your page templates accordingly. The AdminSearch module may be of assistance here. G: Third party plugins in the lib/smarty directory -- Description: Third party plugins that were manually installed into the lib/smarty/libs/plugins directory will be deleted on upgrade. Symptoms: You see the 'Oops' error page with a message like: Syntax error in template "tpl_body:7" on line 67 " {invalid_plugin} unknown tag "invalid_plugin" Solution: Copy the plugin file from your backup to the /plugins directory H: Old plugins may not function -- Description: Some plugins that were formerly part of the core, or have been deprecated, and may no longer function. i.e: some plugins like {toggle_open} and {toggle_close} Symptoms: You see the 'Oops' error page with a message like: Syntax error in template "tpl_body:7" on line 67 " {invalid_plugin} unknown tag "invalid_plugin" Solution: Comment out the plugin call from within your template using {* and *} ... or replace the plugin with a different one. Note: Plugins that ended in the name 'close' will not function in CMSMS 2.0. i.e: {toggle_close}. I: Module use of CMSMailer -- Description: Some modules or plugins may use the CMSMailer module to send email messages, without explicitly declaring a dependency (modules). The functionality for sending emails has been internalized into the CMSMS API's, and the CMSMailer module is usually not installed by default on an upgrade. Symptoms: Various symptoms.... fatal errors or warnings related to sending emails, or accessing a property of a non object in functionality that sends mail. Solution: From within the ModuleManager module, install the CMSMailer module. ---------------- WHAT HAS CHANGED ---------------- Note: This is only a brief list of the major items that changed in CMSMS 2.0. For more information you are encouraged to view the CMSMS docs site at https://docs.cmsmadesimple.org and the forum at https://forum.cmsmadesimple.org 1. New Smarty - Introduces variable scopes - Introduces the smarty security policy 2. New Template, Stylesheet and Design paradigm - GCB's are now Generic templates. There is no WYSIWYG functionality on generic templates. - All templates must be uniquely named - All stylesheets must be uniquely named - MenuManager, Navigator, Search, and News converted to use new paradigm 3. New Content Manager module - Pagination, Filtering and Find - Now handles many more content pages - Locking to prevent accidental overwrites 4. New Design Manager module - Handles Designs, Templates, Stylesheets, and Categories - Locking to prevent accidental overwrites - Has import and export functionality - Makes module development easier as module authors do not need to manage templates. 5. New AdminSearch module - Allows searching through page content, templates, and stylesheets for various strings 6. New Navigator Module - Allows building navigations recursively, is faster, and supports more flexibility. - Templates are much easier to understand 7. Enhanced and improved ModuleManager module - See stale, new, and old modules at a glance - Easier to use 8. Performance enhancements - Throughout the core with a focus on speed improvements for frontend rendering. 9. Removed CMSPrinting - A UDT is used as a stub to prevent errors from this. But there is no printing module distributed in the core. 10. Removed old, seldom used plugins 11. Improved admin theme and API 12. Improved admin navigation 13. Internalize CMSMailer - CMSMailer classes are now in the core API. CMSMailer functionality is only a stub function for compatibility for those modules that need it. 14. UTF-8 URL Slugs - Just like domain names can have utf-8 characters, URL slugs in CMSMS can now contain utf-8 characters. 15. API Changes - API Changes will break some modules. Check for compatibility before upgrading. 16. More config options more.... - Almost everything has been adjusted in some way. 'TYPE=MyISAM'); verbose_msg('updating structure of content tabless'); $sqlarray = $dbdict->DropColumnSQL(CMS_DB_PREFIX.'content',array('collaapsed','markup')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->AlterColumnSQL(CMS_DB_PREFIX.'content_props', 'content X2'); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_modified', CMS_DB_PREFIX."content", 'modified_date'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('add index to the module plugins table'); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_smp_module', CMS_DB_PREFIX."module_smarty_plugins", 'module'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('updating structure of the permissions table'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.'permissions','permission_source C(255)'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('add index to user groups table'); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_ug_keys', CMS_DB_PREFIX.'user_groups ','group_id, user_id',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('deleting old events'); $tmp = array('AddGlobalContentPre','AddGlobalContentPost','EditGlobalContentPre','EditGlobalContentPost', 'DeleteGlobalContentPre','DeleteGlobalContentPost','GlobalContentPreCompile','GlobalContentPostCompile', 'ContentStylesheet'); $query = 'DELETE FROM '.CMS_DB_PREFIX.'events WHERE originator = \'Core\' AND event_name IN ('.implode(',',$tmp).')'; $return = $db->Execute($query); // create new events verbose_msg('creating new events'); Events::CreateEvent('Core','AddTemplateTypePre'); Events::CreateEvent('Core','AddTemplateTypePost'); Events::CreateEvent('Core','EditTemplateTypePre'); Events::CreateEvent('Core','EditTemplateTypePost'); Events::CreateEvent('Core','DeleteTemplateTypePre'); Events::CreateEvent('Core','DeleteTemplateTypePost'); Events::CreateEvent('Core','AddDesignPre'); Events::CreateEvent('Core','AddDesignPost'); Events::CreateEvent('Core','EditDesignPre'); Events::CreateEvent('Core','EditDesignPost'); Events::CreateEvent('Core','DeleteDesignPre'); Events::CreateEvent('Core','DeleteDesignPost'); // create new tables verbose_msg('create table '.CmsLayoutTemplateType::TABLENAME); $flds = " id I KEY AUTO, originator C(50) NOTNULL, name C(100) NOTNULL, has_dflt I1, dflt_contents X2, description X, lang_cb C(255), dflt_content_cb C(255), requires_contentblocks I1, owner I, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_type_1', CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, 'originator,name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplateCategory::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, item_order X, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_cat_1', CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplate::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, type_id I NOTNULL, type_dflt I1, category_id I, owner_id I NOTNULL, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_1', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_2', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'type_id,type_dflt'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutStylesheet::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, media_type C(255), media_query X, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_css_1',CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplate::ADDUSERSTABLE); $flds = " tpl_id I KEY, user_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, dflt I1, created I, modified I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_dsn_1',CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, 'name', array('unique')); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::TPLTABLE); $flds = " design_id I KEY NOTNULL, tpl_id I KEY NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_dsnassoc1', CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, 'tpl_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::CSSTABLE); $flds = " design_id I KEY NOTNULL, css_id I KEY NOTNULL, item_order I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLock::LOCK_TABLE); $flds = " id I AUTO KEY NOTNULL, type C(20) NOTNULL, oid I NOTNULL, uid I NOTNULL, created I NOTNULL, modified I NOTNULL, lifetime I NOTNULL, expires I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks1', CMS_DB_PREFIX."locks", 'type,oid', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks2', CMS_DB_PREFIX."locks", 'expires'); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks3', CMS_DB_PREFIX."locks", 'uid'); $return = $dbdict->ExecuteSQLArray($sqlarray); // create initial types. $page_template_type = $gcb_template_type = null; for( $tries = 0; $tries < 2; $tries++ ) { try { $page_template_type = CmsLayoutTemplateType::load(CmsLayoutTemplateType::CORE.'::page'); $gcb_template_type = CmsLayoutTemplateType::load(CmsLayoutTemplateType::CORE.'::generic'); break; } catch( \CmsDataNotFoundException $e ) { // we insert the records manually... because later versions of the template type // add different columns... and the save() method won't work. verbose_msg('create initial template types'); $contents = \CmsTemplateResource::reset_page_type_defaults(); $sql = 'INSERT INTO '.CMS_DB_PREFIX.\CmsLayoutTemplateType::TABLENAME.' (originator,name,has_dflt,dflt_contents,description, lang_cb, dflt_content_cb, requires_contentblocks, owner, created, modified) VALUES (?,?,?,?,?,?,?,?,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $dbr = $db->Execute( $sql, [ \CmsLayoutTemplateType::CORE, 'page', TRUE, $contents, null, serialize('CmsTemplateResource::page_type_lang_callback'),serialize('CmsTemplateResource::reset_page_type_default'), TRUE, null ] ); $contents = null; $dbr = $db->Execute( $sql, [ \CmsLayoutTemplateType::CORE, 'generic', FALSE, null, null, serialize('CmsTemplateResource::generic_type_lang_callback'), null, FALSE, null ] ); } } // tries /* // if we got here.... the type does not exist. $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->save(); */ if( !is_object($page_template_type) || !is_object($gcb_template_type) ) { error_msg('The page template type and/or GCB template type could not be found or created'); throw new \LogicException('This is bad'); } $_fix_name = function($str) { if( CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; $_fix_css_name = function($str) { // stylesheet names cannot end with .css and must be unique if( !endswith($str,'.css') && CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; $fix_template_name = function($in) use (&$db,&$_fix_name) { // template names have to be unique and cannot end with .tpl if( endswith($in,'.tpl') ) $in = substr($in,0,-4); $in = $_fix_name($in); $name = CmsLayoutTemplate::generate_unique_name($in); if( $name != $in ) { error_msg('Template named '.$in.' conflicted with an existing template, new name is '.$name); } return $name; }; // read gcb's and convert them to templates. // note: we directly write the the CmsLayoutTemplate table instead of using the CmsLayoutTemplate API because // the database structure changed between 2.0 and 2.1 (listable column) and the CmsLayoutTemplate class relies on a listable colum which may // not yet exist. verbose_msg('convert global content blocks to generic templates'); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'htmlblobs'; $sql2 = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME.' (name,content,description,type_id,type_dflt,owner_id,created,modified) VALUES (?,?,?,?,0,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $gcblist = null; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { // for each gcb, come up wit a new name and if the new name does not exist in the database, create a new template by that name. foreach( $tmp as $gcb ) { $new_name = $fix_template_name($gcb['htmlblob_name']); try { $template = CmsLayoutTemplate::load($new_name); // nothing here, template with this name exists. } catch( \CmsDataNotFoundException $e ) { $db->Execute($sql2,array($new_name,$gcb['html'],$gcb['description'],$gcb_template_type->get_id(),$gcb['owner'])); $gcb['template_id'] = $db->Insert_ID(); $gcblist[$gcb['htmlblob_id']] = $gcb; } } if( count($gcblist) ) { // process all of the additional owners, and sort them into an array of uids, one array for each gcb. $query = 'SELECT * FROM '.CMS_DB_PREFIX.'additional_htmlblob_users'; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { $users = array(); foreach( $tmp as $row ) { $htmlblob_id = $row['htmlblob_id']; $uid = (int)$row['user_id']; if( $uid < 1 ) continue; if( !isset($gcblist[$htmlblob_id]) ) continue; if( $uid == $gcblist[$htmlblob_id]['owner'] ) continue; if( !isset($users[$htmlblob_id]) ) $users[$htmlblob_id] = array(); $users[$htmlblob_id][] = (int)$row['user_id']; } } // now insert the additional editors directly into the database $sql3 = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE.' (tpl_id, user_id) VALUES (?,?)'; foreach( $gcblist as $htmlblob_id => $gcb ) { if( !isset($users[$htmlblob_id]) ) continue; foreach( $users[$htmlblob_id] as $add_uid ) { $db->Execute($sql3,array($gcb['template_id'],$add_uid)); } } } } unset($gcblist,$tmp); verbose_msg('dropping gcb related tables...'); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'additional_htmlblob_users_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'additional_htmlblob_users'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'htmlblobs_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'htmlblobs'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('converting stylesheets'); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'css'; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { $css_list = array(); foreach( $tmp as $row ) { $new_name = $_fix_css_name($row['css_name']); if( $new_name != $row['css_name']) verbose_msg("Rename stylesheet ".$row['css_name']." to $new_name"); try { $tmp = CmsLayoutStylesheet::load($new_name); } catch( \CmsLogicException $e ) { $css_id = $row['css_id']; $stylesheet = new CmsLayoutStylesheet(); $stylesheet->set_name($new_name); $stylesheet->set_content($row['css_text']); $stylesheet->set_description('CMSMS Upgraded on '.$db->DbTimeStamp(time())); $stylesheet->set_media_types($row['media_type']); $stylesheet->set_media_query($row['media_query']); $stylesheet->save(); $row['css_obj'] = $stylesheet; $csslist[$row['css_id']] = $row; } } } unset($tmp); verbose_msg('converting page templates'); // todo: handle stylesheets that are orphaned @ini_set('display_errors',1); @error_reporting(E_ALL); $tpl_query = 'SELECT * FROM '.CMS_DB_PREFIX.'templates'; $tpl_insert_query = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME.' (name,content,description,type_id,type_dflt,owner_id,created,modified) VALUES (?,?,?,?,?,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $css_assoc_query = 'SELECT * FROM '.CMS_DB_PREFIX.'css_assoc WHERE assoc_to_id = ? ORDER BY assoc_order ASC'; $tmp = $db->GetArray($tpl_query); $template_list = array(); if( is_array($tmp) && count($tmp) ) { foreach( $tmp as $row ) { $row['template_name'] = $fix_template_name($row['template_name']); $is_default = (int) $row['default_template']; // create the design (one design per page template) $tpl_id = $row['template_id']; $design = new CmsLayoutCollection(); $design->set_name($row['template_name']); $design->set_description('CMSMS Upgraded on '.$db->DbTimeStamp(time())); $design->set_default($is_default); $design->save(); // the design will now have an id. verbose_msg('created design '.$design->get_name()); // create the template $db->Execute($tpl_insert_query,array($row['template_name'],$row['template_content'],'',$page_template_type->get_id(), $is_default,1)); $new_tpl_id = $db->Insert_ID(); $design->add_template($new_tpl_id); $design->save(); // save the design again. $row['new_tpl_id'] = $new_tpl_id; $row['new_design_id'] = $design->get_id(); $template_list[$tpl_id] = $row; verbose_msg('created template '.$row['template_name']); // get stylesheet(s) attached to this template // and associate them with the design. $associations = $db->GetArray($css_assoc_query,array($row['template_id'])); if( is_array($associations) && count($associations) ) { foreach( $associations as $assoc ) { $css_id = $assoc['assoc_css_id']; if( !isset($csslist[$css_id]) ) continue; $design->add_stylesheet($csslist[$css_id]['css_obj']); } verbose_msg('associated '.count($associations).' stylesheets with the design'); $design->save(); } } } unset($tmp); verbose_msg('adjusting pages'); $query = 'SELECT content_id,template_id,content_alias FROM '.CMS_DB_PREFIX.'content WHERE template_id > 0'; $uquery = 'UPDATE '.CMS_DB_PREFIX.'content SET template_id = ? WHERE content_id = ?'; $iquery = 'INSERT INTO '.CMS_DB_PREFIX.'content_props (content_id,type,prop_name,content,create_date,modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $content_rows = $db->GetArray($query); $contentops = ContentOperations::get_instance(); if( is_array($content_rows) && count($content_rows) ) { foreach( $content_rows as $row ) { if( $row['template_id'] < 1 ) continue; $content_id = $row['content_id']; $tpl_id = (int) $row['template_id']; if( !isset($template_list[$tpl_id]) ) { error_msg('ERROR: The page '.$row['content_alias'].' Refers to a template with id '.$tpl_id.' That was not found in the database'); continue; } $tpl_row = $template_list[$tpl_id]; if( !isset($tpl_row['new_tpl_id']) ) { error_msg("could not find map to new template for template $tpl_id on page $content_id"); continue; } // because we create a new design on upgrade for each page template thre can be only one design $design_id = $tpl_row['new_design_id']; $tpl_id = $tpl_row['new_tpl_id']; $db->Execute($uquery,array($tpl_id,$content_id)); $db->Execute($iquery,array($content_id,'string','design_id',$design_id)); verbose_msg('adjusted page '.$row['content_alias']); } } verbose_msg('dropping old template tables'); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'templates'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'templates_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css_assoc'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css_seq'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('uninstalling theme manager'); $modops = ModuleOperations::get_instance(); $modops->UninstallModule('ThemeManager'); verbose_msg('upgrading cms_groups table'); $sqlarray = $dbdict->AddColumnSQL('`'.CMS_DB_PREFIX.'groups`','group_desc C(255)'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('Remove the CMSPrinting module from the database'); $query = 'DELETE FROM '.CMS_DB_PREFIX.'modules WHERE module_name = ?'; $db->Execute($query,array('CMSPrinting')); verbose_msg('Creating print UDT'); $txt = <<'; EOT; UserTagOperations::get_instance()->SetUserTag('print',$txt,'Stub function to replace the print plugin'); $sql = 'SELECT username FROM '.CMS_DB_PREFIX.'users WHERE user_id = 1'; $un = $db->GetOne($sql); if( $un ) { // make sure that if we have a user with id=1 that this user is in the admin (gid=1) group // as 2.0 now does not magically check uid's just gid's for admin access. try { $sql = 'INSERT INTO '.CMS_DB_PREFIX.'user_groups (group_id,user_id) VALUES (1,1)'; $db->Execute($sql); } catch( \Exception $e ) { // this can throw an exception, if the user is already in this group... let it. } } verbose_msg(ilang('reset_user_settings')); $query = 'DELETE FROM '.CMS_DB_PREFIX.'userprefs WHERE preference = ?'; $db->Execute($query,array('admintheme')); $db->Execute($query,array('collapse')); $db->Execute($query,array('wysiwyg')); verbose_msg(ilang('reset_site_preferences')); $query = 'DELETE FROM '.CMS_DB_PREFIX.'WHERE sitepref_name = ?'; $db->Execute($query,array('logintheme')); verbose_msg(ilang('queue_for_upgrade','CMSMailer')); \ModuleOperations::get_instance()->QueueForInstall('CMSMailer'); verbose_msg(ilang('upgrading_schema',200)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 200'; $db->Execute($query); status_msg('done upgrades for 2.0'); ?> W]SbI }_/wo2S5j+N'rqwvAsOp~rep1~r=8;K\t~y=7[.Nǽ_/_\W_v:w?O\|{)Z[aZd=VMrxTh]>wCny棿yޟ6}iaQMB*E0Li}mJ?.g-ê]aud RJA$DZ9G4RSqwb(ibhB[UV۔|_\l"XJ%U5>4U4q>T a4isGb M>Rưy?mc''7G<q J;P+-E #o"-ӯXav?ڑ%I%QOZCMXo;Z!7i_q˼xטR R\K9ox\;4sS4R5UvZt(76Z ۡhE~%Rj=8 !~bpUbi5KYJc6ZJBMAD/m@>m6a^6$zI~?_ VJkZgB٨9j"BNlsRm"ζ0jMjbQ9Uٽ[q65-Ȇ2aCѽJ}ɦ;O DM*8 j2g@/Ӡ0CߵĚ\4c DjpY|tE;8WBrV;à}ǂcxSfTi_ˌig&\y[mUF.U!uE`:hlÉdSz.9PJMe3Usj3Ykc1kd<>|4D;rFqUbK`3^uRͧZ@U Fq9IRaG9Dc0_$kca-ldYʪ4n`8K?(~fST΃fD0Ui8_{E{m C|e,E9j^v Version 2.1.1 - Nicholls Town ---------------------------------- Core - General - Fix the template compiler so that content blocks can be placed within sub templates and detected with the {include} tag. - Fix minor problem with checksum verification. - Fix to the cms_cache_handler class - Minor fix to SetAllPageHierarchies() - Correct location where session was started in frontend displays. - Fix the default option for {content_image} - Modify the locker to use a beacon if supported, when unlocking. - Fix missing permissions when a 1.12 site was upgraded (installation assistant) CMSContentmanager v1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear content locks (admins can clear all locks, regular users can only clear their locks) DesignManager v1.1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear template and css locks (admins can clear all locks, regular users can only clear their locks) This is an incremental release in the CMSMS 2.x series, addressing bugs and minor concerns. Once again we battled with the locking, and for the most part we think we have it nailed. We fixed some minor template errors in Design Manager and Content Manager thatoccurred when locking was disabled. We also revised the locking JavaScript to use an asynchronous process that works asynchronously in almost all circumstances for common browsers. The new locking JavaScript code is apparently not supported in Safari (particularly on iOS) and in Internet Explorer or Edge. If your clients are primarily using these browsers, we suggest that you disable locking entirely and exercise caution so that users don't accidentally overwrite each other's work. New functionality also allows non-admin users to explicitly, manually clear their locks, and for admin users (members of the admin group) to explicitly clear all locks. We fixed a problem where permissions related to viewing and managing user settings and the user profile were not created in sites upgraded from 1.12. If you are running some non-standard user groups you may need to modify the permissions associated with those groups to ensure they have the 'Manage My Account', 'Manage My Bookmarks' and 'Manage My Settings' permissions as is appropriate for your site. Additionally, there were fixes to the Navigator module related to install and uninstall, fixes to the {content_image} plugin, and fixes related to the initialization of the setting so that modules like FrontEndUsers would not generate a 403 error at the wrong time. A complete list of the changes for CMSMS 2.1.1 is as usual available in the doc/CHANGELOG.txt file in the installation, and is available in the installation assistant. We encourage you to upgrade your installations of CMSMS at your earliest convenience. Thank you and enjoy CMSMS. source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } $groups = Group::load_all(); foreach( $groups as $group ) { if( strtolower($group->name == 'designer') ) { $group->GrantPermission('Manage Designs'); } $group->GrantPermission('Manage My Settings'); $group->GrantPermission('Manage My Account'); $group->GrantPermission('Manage My Bookmarks'); }}v[G{}TCʪZlwVdf$$X(8,/K#{?~7b0o~_1WJ?/~q޷?-o>.~w׿~}={ń]R9kS̻ջOkW] XSͺ S55*l,E='p=-n-TRVw{鬓꼆Mݻ\}TJ5w+=/eVwk[ʓ -[}5sRZjK'n5硑ikNE].DFh՚A_ (Sb 61(rγ)E;FnG.ƭAs֒hI 5P NY2yY[?ry^l9s6Dց:s4mz.huK'o~e6p,f53hPQ7VhI,N=YnfO-oxju]ߏ\6ߒmtAƽۢRNg1k~ҕ|_hT ygZϵ`|04^{سn%j*a{ Zec-5鐕IZ3\iJW͑'oƱ-d>%B5#i(x: # :#f#^ALQ ^p)RkP48BkCd[g s'GeOS\qDYߤT4yJ@স{F*%ˮk$dr!ZI:w ){k.(]i0ݲT/ȣ!@Ґ&_@j h 7 BdΒ .@L{y4-Bb3{obT.ƈ^O^!aZZ3 3LzQCs6WS yd (_N3uƥX#zAqi1SEK0 *{hI)Bnr'bCCu/,Y,>ez.l m-&Ny<%>:fII⠘ 9OQ3j7$:3gΤAK LSU%6t>H'סi&Q:sC81B :#Px$>Ձ.& i>ޭ tnJC^HNZ^['ɒr msT V ~ @ȉ~? T1{8`rM{w{; ]4)tQ7A df/F鍑Ct piPTWULz~+gy%Ehrug=+l`;C 4_4 ZܪA۶AծD) 1PM4 {fḺ!(gKeuv&:GG?މ2Wٺ6@6B41XH4x(># ps }4Hrs;b8ـ,(So"wOESN7Zf=EI!-K:"AhW3nH"`lbS NYe]*<\yB/4) 24W3 ,UнLP|0=< CBqb 6Mta^5}Ovp7[fDsID[ ,d9)7=g%GҴwCܚ}+<Ì^E6nr-O2}ḿLx V'VG<QwX7VQRc}Q4 J"RU\H ycX@0U˝Z(`23{{kZ/7`䜸 Ƭ(+(4wGGj2awG cՎo-:[4H \D5ϵ:a^94tEs-&}|gHޭAشu gHˆ%R6\rư%0D4(64z4H6[kG9sXZ^-=1̳v[}\ $ <r|"ѻD`bߴoyLA*?eyMCeM \d/)b57ݬLn\TU&ޮՑ]\J{":jNMj ({%SNěKہ : [j$Tcפ7z2|Z|TO2eoMXC]9m"t5g~3^ae+Hv6wZS?9-'n/ m%wJ6"b>&BPѶ~~%ݭ` <rE[KbwvHv~ gz\FL-!u>yALMe'2D\[UukAgm- SW qNJIn(ɧPX/P_9Wo_CIBG@4fܢ{tHWwBsX(ͮ{J%PnrL{' )܂_ [r"u(DS'^kg7@i-4vD+8թƿr2FVQjgKH}~P1nKi˾#9!Hm0^ \/uP7ߒR*tv VC? g*r^T A;Ȫ4Tm>m?]N&iqܴ=' xEp\Ɣ6Dhsب܍K8H /%jJ1j 8Ƃz'FیK*hɃc]dS&⩣=%ެ'n-tC 0MBZ<,+3 d)P'K*& Nv TqݰE&.п-ư4Q, V*C4JnguXJ;ObUvI"?9RW\gZΩ 9 kei {E,MW[CQJ(Yt-tAFw~u7m ܥX|(TxL52eGbejַrY6t%jRr 6+/ 6%+!*oDI5v>^̞~Q@#ExFn.3+^aTVzSYD5`/hlpL3G27l4(xDFzAٟ/bRIdfYO¶.؋%Ӡ;xe}}zY>mmimC5|^2KWTez 9YK/i%+R/=^G&Q&>åerL D8@cPGdd?2&@o,m7Ǡ7rLKѢ(.!+! zi#oz9C ! Us!I3={Sѿ-ea OPRKSHҲ_`t9jYH/[ oFY|E ȶyˆ`dpIJbt/R<7IȊ)p)^V.5l`K$K&DMC1i$29>2T m^hmgz&;]*HŒy+X:5_>(ewV*=6[rH| ph &#fAlԡHoF|N nwC^>[kst|۴l*\"rԡE夝Fn w&wu84wTR֍xzJCo6K`62W[-ȣlBZUʹKQ|/lc 1+\,d !2:pdFQL)U,pQcn GܬF!@fRl. 3>9:E,K@Y̗:79? !ʩ+۵Ee C]f™)Bkx oW@ t{3k1VxHCP*^Wk8`K f/7 \W9* uT"lLsB^ŌnE_<"!IP&D&Ii_BpɲLZG r8]zQvi>l*y+h,t+e\3:qyQP6'ԄFE5򆙷}+nx^,yHAuͰТ@>x} )HWH L-[Gc xCg2o߯.1W#vd*P%F~C] Ѳ who`Zyx@9Xߖ4KiP9lqEVi0G~[HCQa~sAr?L-風qzG]I^9AʮKL,R `օj=d#3ľ\ Nw94:ZL)#\^8Zb3#2PA4( _L|gRO,9C|Z/_JzWdQ .{!#جe en)]+zNL-Y ֯U]rJs rFVПu}Q =9JnTK^x|q(@r6"c/)OXd H"tomⷱoY6Mr\InSapm0jXǰrT%!ޜ:G3 {61(Y0<ܕa\0'X2w5!VKjV!0Yb CЍ(,1:HrRi=8frVyyݫc ΃*=2͝z-J\jl7r&G7yp I9˲u%g2o~C Rv:b6;i(Tkox3_o%N,9l-IU[$ă.s!r^,}ůN ti[BJrM+8AX ڴ!u؍[Ꚑ:O,j+e}0WxtVCU JS#07ZG5(8=\ߝlT;Tj:תYU\gij{>XEV >ʙUˮL>h%1e"sFx~:~WK`HA&z:RtY jb.UoaYxFReÛ$-UA(Hmv0ur9ܲHsN%"43g-aFJtKnGoX+ʟᏱ^|S$N1u K zڛUSxX?<-J[n(17)nWH u]JA7=[QmPt~Q Ƹғ1uRj2|pù"!;삌vMhH!?at]JK #pbk~K׃rO#uLقdwuKG5sr[y%S#VC 'ϽlKU-0~"PwE#'J$߅ # Aѿd"ѐ MgoGm:iw٬ <η?^ ƲB!DFs.O0x݇aìw*VUz g rJI#A o?Bk><:z89PY*D?~~\*K IMȀIyEWO7VЧk%oR{i;8*1:D*w+WӬ#WxZ P2k[Vi }B~1ಆ e [Unt|%GvJ & ;&IoֈR7/rȅY%N:3pTQVmZAAP'?p.[t ̫!}j܋wZ:> o?hِyur!Ttt9߭\fѳ^,nզ,W`ĥ]yJ>7mQs!ӪWS'Ztw#6;d1U4d¬57s'V(W?%:goK%y5 koE~Z]+97mڬ"\шFnc = P.& pvܨsܛ)_T ;T!#C77ۘeWީ AL,;0v}|BT EBz]r:̟@w=@րcDuHrTO.pe9xX=J( %A&M>؃ ='Pk(Q!<#;xOʕuq~=C򈐬G4Oꇏ+Abܳ%LF#dM+Vkn4T'ѡU @n!iWwa ^R^:\г1uTuҩLZrpܔɣQE. !=޼Xe\C . >qFF%ibb^1{䞤ɥ-38 nk-~>r=4t߮}=CL'bd%=j<`TgZ(ڦQnTrH-YT'ecyVAľ_$`+&WkARUyYos9շOLY@'W^֜ tprz48Y\0`Tbt,sVwPLmߍ]S!jxGE(C@#Pbyp<շgYT"w3F&6gsN*7ٹg5/ F!HX1 Hܒd؝f^),QeF9JeeopDi>, +yE&"Ҵܶ珮5="G llxzSOݙ "A,‘['t\%i2Nwr)2T9(/b;ٞؑI@GyЕ&'͗Ņa)tNGJ m8/s^W5g On o=V L~*glfY.MVh X8G١)}Fjl}$o(LGX[IN2q8-ʹ8ռ.լ)%Qx#Nfq9f> Pfaid=rX:Xtj>^fkq'k*j5t]q<_/;s;Y}H]5i]gٕ${|w?^]AQE'( ov3B?,i ҅-!lESQfuny _e=lA<W5^n+}BR@514YIРHȦ{8r)_[RHթd:kOߝMrUXoH[&C%'|;ؑСQQUKב 92Rc:ёU郜M3GjERrfYךr* $oO%r~ɍi?F { Y啑 2J8 <#%d7%7xcut??,v;$ʉmLt YBނGHO_s;8Y/'7j+*|n:Y&kas;vvfGG.jZ2R7)t*9z° Ҵڼ3g|q)JtQbGǎdV ޽UС\( |JB=} <sm9p l15v9;Ne~qGh6\U n 4j$_g?ŹHW>BzT k;%w|g3&*")MrDF+pSNl@x8;Q~/%dNlCV^=M0'  aߑ!Ҿa==[1TO;_qx;C!.C $TF1 /ݞfFvK&lvMZbL|&1 *}ʝe/s'I"Core - General - Minor fix to missing lang string stuff - Fixes to home page preferences - API documentation fixes (minor) - Fixes for ajax_content (the ajax routine behind the parent selector in edit content) to handle ordering inconsistencies. - Remove die statement in is_email - Minor fix to the relative_time modifier. - Upgrade PHPMailer to 5.2.14 News v2.50.4 - Now all field definitions can be deleted ModuleManager v2.0.2 - Revamp module dependency calculations when installing a module. - Minor fix for some notices in install and upgrade modules. - Minor typo fixes. - Minor fixes for PHP7 MenuManager v1.50.2 - make sure that uninstall cleans up properly. MicroTiny v2.0.3 - minor template fix. - fixes for stylesheet overrides. 'TYPE=MyISAM'); status_msg('performing database changes for CMSMS 2.1.2'); verbose_msg('database schema has not changed'); $sqlarray = $dbdict->AlterColumnSQL(CMS_DB_PREFIX.'content_props','content X2'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('ensuring that database schema is set to 201'); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 201'; $db->Execute($query); VRG}+Hs&ReA$7Gly.`ʋ3sv\.?OnN?/ף٩vA%C'?\_]9|<;5=0{//Gӟ7W//^m~~;:ofX̟F"T^1hs.D6gm Wv w= r=GŪ0B*l h`64O]Ms?.?nxtvN>X[mKf6;o~[aoM`J.Ԡ!\B﷋W&cʡHyLR`)Y#}w+&j3\:V4]Rwκ !TG [_5%:+Xr%TZKp1م|KJ9 d/]"Z|$R8v_=٠kR RZQ:h?3_>#(JYo0XSU6sZѺi' K{<ؾOk.(ʈP EdE`v:}]3] |h} Š_/ oDBV&jg%'/ 0yv䀐 Tl {|/@/{3~s7'LC* 0D$EIӑ J1\CCvcs,+!Abs$%Ӄm:EftnD)E) Z!AAr]eSm߿ҲY+mvu>[,e$ɦl\ețmw{jQQs>)6jZ}Murb Vt}I"idXUt Q蛶wk!6D1DF׃n^OL4Uj"@r:WVMK;}"-Z^^kF K(W[^Ãb |z^؃)9X+$ ^ZU %77 op>L}!TEU˥$P"DInCUvs؍f֜wŇZC5HLz^Y{u7Cte` *:mx'|89,H2e*F9IcM7%ڞ4V Version 2.1.3 - Black Point ---------------------------------- Core - General - Security fix to prevent HTTP_HOST attacks. Many thanks to I-TRACING (www.i-tracing.com) for reporting it!! - Remove stub .htaccess files from subdirectories - Update the included sample htaccess.txt file for security - Fix for endless loop when calculating a page alias in utf-8 environments - Fix for endless loop when calculating a page alias and a page name/title ended with - - Fixes a notice on the login page - Optimize LoadContentFromId() to be typesafe, and use default page, if the id passed in is invalid - Fix error condition if there were no default default design, or default page template - Fix problem with system verification. - #10825 - Admin-account settings don't remember startpage if you set one - #10874 - When creating a page and the title has specific characters, CMSMS stops responding - #10910 - content and content_module order incorrect Admin page - #10911 - 'Use Admin Search' permission not being used in 2.1.2 - #10921 - Content Field to Display in Name Column not used AdminSearch v1.0.1 - Minor fix to permissions checks. Navigator v1.0.3 - Improved exception handling on install News v2.50.5 - Fix error condition if no results were returned Installation Assistant v1.0.3.1 - Tweaks to README files - Improved error handling in some circumstances - Fix some PHP7 issues. FileManager - #10871 - Filemanager moving folder WrI+C mw%{DH$pqV=7HIѡ%ztf|;_]^h&xwo'0=0GoFˋ7bƟb"zQ;%byg^ ,p#wFXi3t@tٓsͅ6E2kCz`֭g%"NE;k2PT[(mz}Y5A3f"oR`2 T6K4f Rf6xb~f@]2Y):S&b]>>Y\Ks0U9z>O-vwA^,pm1Q&]],sT*$o*&Kln\jQbV 9`)fjd".چ̀e_bֹ2r%9K^a/^KP ({kj &p18ʹNr~w*b6DcL$& *fݽ 9lRmOIzRRAul;[E\(YL(ͭɫϹCu^SҺAaP ڊSb ד}+9t{tVU6h"Jg'YG]b/rJ@JWӟ_>#+mX[d oɊUS$5E+eH)Hk']lQ֭yQ ^FgLfB0*rE9⮙ίqS^ {-[~j_< D(\т1#*~at?&'t.XIRlbI@ofb5q(¸Ƕ=U-BI,mR|pי ̮ I5dI8V?ﻏ3`Xf4iQ2{<Cڴ`_.2tl֨v> G+MwWmL+qQ\+&Gg roR-) Q~4 `fc3FsAbUsOEcOߴ1ۀx6CH ɾ;]]vpﻣ vҔVy DDى5nڲ=vddb ɞgkx\7?pU.$,O"Uv قeK+s [i\W.Ud*;}@s~6%Z&$l ,Xl>~*5kѲ$Z恤x3Gd ,ؓ,<ËPEVtd$DvbF+x<=psnI ^,Tʲ2$o Upl$GNic!PXCE8w>APYg)̒3C0o?½ 1)Version 2.1.4 - FreeTown ---------------------------------- Core - General - Fix to the clear_cached_file() method which should fix problems with module installation. - Minor tweak to distributed sample htaccess.txt file Phar Installer - Fixes issues with respect to hanging on step7 when suhosin PHP addon was installed. - Minor PHP7 Fixes. WnV }w_N2 0N8SO%TM$^dR9@/ep:˟nǃ?&_oo.j(br~{pi{j0[?|ryjpq1H*T S!D.bRZ:jVݺfح}0NgQe-Š"=gjJaR; )f2A|jXF~XI1YXK**YP YhǚAʹڸ\%'e J~!%JEi|kG(^9- qS !3>'5m\?oA%:Gc1x'(s"??kh[㼽\tBO^^$lq!s`yNPէʚH.Z]S(5ƀ"TTZt,~IsuM_ey20&+,RVPȪ wǓqByT˺ʏab>`EJ ,<gғw:Z;XɭCL¹`9רo7x\IcMIDMR75Dӽ䏐+ӆZA$\ɶ"!F, l`cƼWFH&itH*]Rч/'7hOeFV '瓊?VkO[&4pŋ'81  |SηYK# X<ˌp7hnӒ+)B8mL30G;ݲ0o?/PfFeA(^y}aowhXYԅFQXNJ²B,Aؖm1!hNsN~":2R#'4g\P;޵D/3@;BC v/vGop r%s9WFë$ kyQ&H ow3NaF4;#:kyy)BJg:?pIHdnxy5b)+/( Version 2.1.5 - High Rock ---------------------------------- Core - General - Fix fatal error if an extcss stylesheet was placed in the Admin theme. - Another minor fix to clearing cached files. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Improve the way page aliases are munged when they are supplied. - Improve the error generated when a page alias cannot be generated. - Minor fixes to the form_start plugin. - Minor fixes to generation of moduleinfo.ini. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. Content Manager - Improve error handling in Edit Content. - Fix a problem with the call to GetTabElements. Design Manager - Fix problem with resetting a template back to factory defaults, or creating a new template from factory defaults. Module Manager - Improve the way modules with dependencies are installed and upgraded. (Got rid of the queue stuff). AdminSearch - Use 'Manage Stylesheets' permission, not 'Modify Stylesheets' when searching stylesheets. Phar Installer - Adds missing 'Manage Stylesheets' permission that would not be created on upgrade from 1.12. source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } catch( \Exception $e ) { // if it already exists, skip adding it to groups verbose_msg("Permission $one_perm already exists"); } } $groups = Group::load_all(); foreach( $groups as $group ) { if( strtolower($group->name == 'designer') ) $group->GrantPermission('Manage Stylesheets'); } WrF}^|U\rڸ$jJ4uێ('܊%*DP gI2$6fЭЍpE?Q>W< \̾@ nJQQ2+W].R+;zӇ=\~{2SQQԐ {ޅ.wGVa%ZN*&;Y,m #+*+KJ&Sy/MjĶl $qH"ۚC@|Koß i/' jUIQdM6ЉhB 1*hc`-̌V&7>t`%B+ %a|MxS 26I:5z'$~3_Un =9vF%l pR`A:/׶rvY??uG'UCR5".mIfHLO&$Bt!Jw3<WIYD, { !ǘSN(Sz\:2FǘS/sc Rɑ% lځ`jvv>ןϮ&7Ch IɦdȰ 7P#Is`'.l3Tɗz,7vņZzCk"Py_TR!R5,?`Sf#Zy} R 9cF nn6{-FXgxe|ڮ l85GI{Z")E$T6={\vO1PDe.EpƎZnuv~ф)[B3>Vh]nbB>}!Mn&K~DeOH=~ ^$wuKGPU>d)YY9T&ɰK?o/ JVersion 2.1.6 - Spanish Wells ---------------------------------- Core - General - Now attempt to detect if a template name passed into CmsModule::GetTemplateResource() is already a resource string. - endswith is now an accepted function in Smarty templates (fixes typo in security policy). - Fixes for CmsNlsOperations when using a language detector. - Fixes warnings in useroperations. - Fixes problem with cms_selflink dir='up' since 2013. - Modifies the OneEleven theme to set the meta referrer attribute for security purposes. - Modifies the functionality of the CSRF tokens to be more secure (only set the cookie in one location, only set the session variable from the cookie). - Increase Admin users list limit. - Reduce time limit for daily version check to 3 seconds. - cleanValues in Admin log and List Content. - #11198 - Fixes problem with cms_selflink with aliases that starts with a numeric sign. - Change new version check to timeout after 3 seconds.. - minor fix to the relative_time plugin. - Admin menu item urls can now be built from the remaining members of the object, if not specified. - {content_image} and {content_module} now preserve order properly and support the priority attribute. Content Manager v1.1.4 - Fix bulk set-non-cachable functionality. - Fix a bug wrt content blocks and the adding flag. Installation Assistant v1.0.4 - Adds recommended check for ZipArchive. - Improves method of determining a temp directory. ModuleManager v2.0.5 - Improves functionality if ModuleRepository is not available. News v2.50.6 - Minor fix to editing news articles from the Admin interface. Zr[G} Y[7/j#,+#++ͿSDc""fVee^O|7?}o}7ol%`rǻˇwo/7\ {o߽ӛ~x~=`'?~x[~7on+e*Y5\3-d~k%MVHbv؆隥l^~ݵηPYkbIJt%Vlw ٌ ׺7z;a%&VmDct:ܬxj~3f}O9&K6Cz>l1\im!Ɋ`{Lj)Ykm^ru_U}𙢶l%gWI?rK]\8_|NIRz,ͦZ}uqd뵮w?/ֺ@w3z5% !Z)E#I S:X[]$]I3Zm:i).]lN6^CzWSE$غg"^w'w1p8q"zWjEKO>S*V*Kɑi,B!~˻ͯ;]oRla^$)zݹ]a_^ܕm.jBS㫞[ͲеGb[`")yG Ej.HUwmOj\Ji.^lM 0RdJqo<*?QmE_'i)^K%@_L^m?ܭf-3iFL tٲgCvB{4WnϓasH9Mk1 FM;`wWj3^>SfC t3>s ⻟&ڷ/{8T:ƪIlמʡ,z& HG܀S08`9q`Aʔ0 \ZG !KCxq.⾔T{=l먹#%XN[w `^-Yޟ^B΍ YVZ,dH?<)rdP1ڪ8x,Kfm0꺉4䣉ܟ.zu@jPyp @/F/z>[OUPqp0\29D8Sdm+@ 4  ?,E2?qH%kn&寳 o ƾ+ ,Ҩ>|:صCAb1Sug>t~o1 Nh %'j=\!DB ;f=[FZy%Vx|}$+TnLp- |@~W7|{>-nL*(y] x>vnNΒ /, d7>,0ad4qhgR y]l+G6pl rB>-W/'Ҁ"ޜ$Bp~]ݾ?mW|}Mt: 2K2c {Oײɣ#EeTޚJ06ZlH{"3lf;+N`2ϖ RZŽ^l6\LĈ[AJny7w\~}ЪPL0!^l&1YߑRX)>V}@+=HG? 4T8Ն"dߘS#]b-> PQF 3QMkեƴ,u#TRpZ|CVe=&> ̘bzLpZkp v]1J\K3Qn:Wٖ;17R,iı@Q-'G'j 6cF0z Yc!;xuԄiʐu톉BZnx>6qQD".D.V@7,RN4&U0 4~n(b>;VՉ1 WC dݳP΋k>]4]iBiYqF"5fif\,o}1r%ϢlʩG^&V4B.8] E vdZNcFr06LRlaJ@+vhTS.~=-d&(|iQiȦs͂o..oxy2BDRQ0tKUMJ kܟM0M4(ɑ\|'nT uEǍ`C#̗Csrh|-㉾bԩ=\n KMFCt2SȃPIUa|C(\J!{LV3,:vK17t2XMTc:xђ&pxI :eq$O@Sr'k'Gb2WD3?q(;57P``T>&pTmV}k$ qR*btD\DچNuPkN1qOvvnn@"aBn0q4' >!T0 WYdA52Xl7Vr'HcÓġarL0);`wW<QniuZlekk =z Ѩ6bƴm έp|BޮOQPnv>P6ȺIׂ̍: );I2YؾgAB=۹ۯ* [lk/-=2Ƿ{s.1XXD M|?빦”&(x} Js[_u3ak2T !%(r/jYXnHh^P'_HCgZe WECM.PíX2aKS^3&Dm\KR`\@~+Version 2.1 - Bahamas ---------------------------------- Core - General - Minor performance tweaks to sample htaccess.txt - Minor fix to the ProcessTemplateFromDatabase module API method. - Improvements and re-factor the way headers are sent wrt caching - Add a new method to the ModuleOperations class to allow a module to be within a namespace. - Enhances the Group class. - Enhancements and fixes to the cms_url class. - Modified the $mod->smarty reference to be smarter... it is now deprecated. - Fixes issue with https requests (#10697) - Modifies The CmsLayoutTemplate class and CmsLayoutTemplateQuery to allow filtering on listable or non listable or setting a template as listable (default) or non listable - Fixes a problem with styling of the login form if tasks must be run AND a module needs upgrading. - Fixes to the cloning of templates in CmsLayoutTemplate - Fixes problem with SetAllHierarchyPositions that cleared the entire cache instead of only the necessary part of it. - Adds the unloadCancel handler to the lockManager jquery plugin. - Moves version.php and include.php inside the lib directory so that they are easier to protect from unwanted direct access. - Fixes to page alias tests when manually entering a page alias. - Missing language strings are no longer output to Admin log, but to the debug log. - Requests for modules that are not installed/enabled, or for invalid actions will now result in 404 errors. - Fixed problem where restricted content editors could implicitly change the page alias. - Improvements to the system information page, particularly the bbcode output. - cms_init_editor, form_start, and cms_action_url plugins are no longer cachable. - Adds the 'adminonly' option to the {content}, {content_image}, and {content_module} tags to allow only members of the 'Admin' group to manipulate the values of that block. - Add a trivial check to the sitedown message to make sure that it is not empty. - Minor fixes for PHP 7 MicroTiny v2.0.2 - Now add page hierarchy to autocomplete text when using the linker. - Now use $smarty->CreateTemplate for clarity when compling the config template - Now explicitly assign urls so that they do not get caced by smarty. - Slightly tweak the default HTML content in the example tab. - Updated tinymce to the latest 4.2.7 version, included the 'paste' plugin, and turned on 'paste_as_text'. - Added the ability to enable the table plugin, now distribute the table plugin CMSContentManager v1.0.2 - Fix problem with pagedefault metadata. - Fixes for handling no listable templates for a design - More work with locking. With only one exception all locking and unlocking is initiated via javascript. - Minor fix to copycontent DesignManager v1.1 - Adds ability to toggle the listability of a template. - Fixes problems with lost changes if there is a syntax error in the template. - More work with locking. With only one exception all locking and unlocking is initiated via javascript. News v2.50.3 - Fixes minor issue with pagination in News admin console. - Fix errors in the default form template. - Fixed URL to long issues on redirection after adding/editing article. Search v1.50.2 - Minor PHP7 fixes. ModuleManager 2.0.1 - Minor fix to which modules could be uninstalled and deactivated. 'TYPE=MyISAM'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME,'listable I1 DEFAULT 1'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('upgrading_schema',201)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 201'; $db->Execute($query); r1 y̖bvsq;B͟not$Ϧ: ? m~t)}w?^,ft)jIY <ǜjyÛm^_I/\ΊI:Sl=m҄[qmkwۡiS~tцD ,Y椓!u_ȯfًNY") b,p#u7Rh,*$&e$pkϗsjZLZO<04sqTc,9Yoݪy\S{gx.2dWmSbtUget_destdir(); $plugins_from = $destdir.'/plugins'; if( !is_dir($plugins_from) ) return; $plugins_to = $destdir.'/assets/plugins'; $files = glob($plugins_from.'/*'); if( !count($files) ) return; // check permissions if( !is_dir($plugins_to) || !is_writable($plugins_to) ) { error_msg('Note: Could not move plugins to /assets/plugins because of permissions in the destination directory'); return; } foreach( $files as $filespec ) { if( !is_writable( $filespec ) ) { error_msg('Note: Could not move plugins to /assets/plugisn because because of permissions in the source directory'); return; } } $remove = function( $in ) { if( is_file( $in ) ) { @unlink($in); } else if( is_dir( $in ) ) { \__appbase\utils::rrmdir($in); } }; // move the files foreach( $files as $src_name ) { $bn = basename($src_name); $dest_name = $plugins_to.'/'.$bn; if( ! is_file($dest_name) && !is_dir($dest_name) ) { rename( $src_name, $dest_name ); } $remove( $src_name ); } // maybe remove the directory $files = glob($plugins_from.'/*'); $do_remove = false; if( count($files) == 0 ) $do_remove = true; if( count($files) == 1 ) { $bn = strtolower(basename($files[0])); if( $bn == 'index.html' ) $do_remove == true; } if( $do_remove ) \__appbase\utils::rrmdir($plugins_from); @touch($plugins_to.'/index.html'); n"9)xpEi!$[*Ikj~MX2v_U,͞Gyv;q>{|<,#8ϧ7t6pqv~7h:",Q,D6!IGadt}#= !4,%dR١əx K7qmHb#I .,LNx5 |>@_ bȊ8r-tRsEWt;TAXقd C.<Wp?(Y16~dFLN-7g@VIFɪR1%mVڽ[٭ҿWVersion 2.2.10 - Spuzzum ------------------------------- Core - General - Fix minor potential authenticated object insertion vulnerability in changegroupperm - Fix minor potential uncleaned input vulnerability in siteprefs - Minor improvement to get_real_ip() - Fix to clearing cache in cms_filecache_driver News v2.51.5 - Fix unauthenticated SQL injection vulnerability with the default action ModuleManager v2.1.6 - Fix authenticated object insertion vulnerability in the installmodule action - Improve ordering of the dependencies before installing or upgrading modules. - Adds more auditing, particularly in the cached request stuff. FilePicker v1.0.4 - Fix authenticated object insertion vulnerability Wv+)$ǒs-'[ 6&I) .^ŇW_n//u^ϟn/|맻 5Q8Gno./^|:vi)-~z݇ JN2砂33lZo|Ӟ6X/\ӦS7Ij_o`M5gS.cB*U6紦iY.&k EC$)dlM)b2+;m?&rvxA(e5W!})-"pc[=F.g -SMLF|xtӺY<#anS>Fς Q8IYW,V㾏6ܖS-T:%SFkeƙj=qߙTZ!L4dKRr 6yJmp9kߣpgMAUʔq!Ŏ<SD#]9z6~7i7Ԟ,ˬd pH:sA%%kB$pM !g+lǧG7u>JIZ')f 2g!gmB1{,E@o ">@)wх!~3ykw#sk(1IrYh@!ur  [t:Nj$wGzw{nqAd s$@zH,$E6;ۼ7M[@)cR;v9 *t c\@$".M&""<ɂL$-Q3s̢ZE>*(|`QoZo/aT+~F* oRYR+gNR@[D $V( "3nyuc`_1KY/pp69-/pם\:`\&.{|#]MUUN GITX3zQ"@6)܈88>Wmx4Rt20GaB"AX,T d Ss E"s{jmeVci(<򄼆Lvo@^dXPp9ۀb%QUĿ^9ٷsX{ͺ~_ kBH 5f8nGl%/|)SGz:/-'|=pyl$gj|@L[+sx1@}׿zMvoCk`6`£f/bЁ5&8& ~7ͨ+Xk\tLLsN"˒|aZdx3Uem 'tl2$mzj70/C%h cfO><,h;*a_!ϟr3O9 7"QW:i#+y:_7W,i ]u}}zL~X/7+|tu} '#/=X/yQ^hh쏫bOhVersion 2.2.11 - Vulcan ------------------------------- Core - General - Fix minor bug in copying content objects. - Minor fix to array indexes when filling params in ContentBase. - Fix to the {cms_filepicker} plugin. - Minor fix to the 'my account' form. - Fix error in cmsms_filepicker.js encountered in LISE. - PHP 7.3 fix to DataDictionary::RenameColumnSQL. CMSContentManager v1.1.8 - Fix an issue with copying non-core content objects. - Minor fixes for php 7.3. ModuleManager v2.1.7 - Minor exception handling improvements. - Minor improvement to dependency detection with modules that do not exist in ModuleRepository. - Minor fixes for php 7.3 News v2.51.6 - Minor improvements for CMSMS v2.3 compatibility. Phar Installer v1.3.8 - Minor change to use include() instead of include_once()... not sure why. FilePicker v1.0.4.1 - Fix type error. Search v1.51.7 - Minor fixes for php 7.3. tj@}7#>NEֈ)ceH%Tb1cArPF(xmlflvTq$BQ3wzLj $z,  N йμTxf_[ Version 2.2.12 - Osoyoos ------------------------------- NOTICE: Due to the nature of the security issue fixed in FileManager after upgrading you should change your database password. Core - General - Fix warning in cms_html_entity_decode FileManager v1.6.9.1 - Security fixes for view action. n0 ~Gu]и]9b%Qbw[~ʲۍ`?Y/Vw7Vfq_-WFI5WKff{^ QIvyvyY5ZyaEm ]FM}P "v}|ji4-#fƦurm\yIr@y/ƨav-ǟ/D8Version 2.2.13 - Moosomin ------------------------------- DesignManger v1.1.7 - Fix a warning in PHP 7.3+ FileManager v1.6.10 - Fix minor XSS vulnerabilities in FileManager. News v2.51.8 - Fix a security issue in the default action with the idlist param (This version was also separately released in the forge)  Wr++NW")e*w*tO ̍> ҒH7n>}psuruiyrupy!m(Ļ_n.|w{yj!dfyyqӶ}FsvvU{H>,[rPRB2Xou ]pڪR޶yWSY]@puʜv>$iO;*.F-=)T8:5_lXMA-d `aXR4DP #mz$hm0R"r֜*\1sBlw0Ű hE Uq* RRGm40su~1c=k_[ٕsB NiGH0HG`_}. 'G΀9AhaU&yz_/~7"|fQ9UN .syMGu3iu:z"Cщ AY]5~fbR᮫ۺYX#IP9x!pտYvožX6kՄC-'*-q 8KRt0f~w__]-Jm7O5Q5Wυ$)W~ț~j bVP87,J/~1~nKVݜ9fAiw4sunSP^`T f(doEÇa}6I< 2"maҎ, FgL%28Hǘ+d}2r?̇3TҮf6Y [0A$'gbk&ͺȣ{M&L.&%OL\ xɔ2,c\((uH0D@}bwY$*~l Ob,ӎJs"{C7~d#&g-Y`庋,6хǠF/VU>>SF5c< p9 n^̸b0 D!1}`<9JC@oBΙN%v<0V";> Options tab. - BR #12207 - Can't display image in news when using upload field. - BR #12228 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. Phar Installer v1.3.9 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - PHP 7.4 fix "Function get_magic_quotes_runtime() is deprecated". Search v1.51.8 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". WrG+x2M+Q#LjäFuu5 y`1偘`둙u/gW'_.~xuÉ啷??=۷v˷'Ԝj7yz?.!/M^{϶k12+/}>IJXA{9fѹYLcv7Tgټ_˻5LxZ219[oe~DREIl19GZ72,ng-i}Q-4SLy~Qם惬LtȔiG!RA$\"=b=Yj:APw0 ˕~QU-mrUFʲJ.C?=gL[) kM)yвA nMȡ)H+nͪpvN֢{`TTĨxB-Q!ڐa[Ý\:AE.[qV{ˌ+HjU!Ϳr|ӭăc%P!TC|S}*E\TVf;~z:5"ѰQb'(+Ax[bGm7NZ]hX)if7+QOUEc(LYT D-d9WuWzXǐMq"X[E^&Ԙ}s7 ˛w-A/gkB B6/Q z8eR~n)V!(BKȺ9qH ]ͩ{d~\^ەJx8EDCD\c# #A>g_=\ưɪդد\dJ|HK70&带[uM\{wDb~PU! *6HRKʨ[ ӭ Ti)-LH tltAR>F ?G] F#Tt\6Tf!lҶp?_~Z8]]vw޸A>?&kip+V59>2/]irFno*lɱV[ұiTȤggN9 (V9Ql*7'cv!3f]I%$ %6~Z` !1`ktDE6 V?ݶz-AκCx |V J )BvDyv3s]l)e$.I YȻ)؀{-sl%#?p|n{Au$MBΫ2p=I= @F-N[C !Eݥ iXX0K[tS  ` GSpe{>ux׬#b1{: \>Nl&ؾ툮lX Hl(ax^<V 'B>".G`_v<fSs=jB-b vj}9x@]+SG0 er"w f=\@Mx ޔclrEI5ZMJޡ0x X[{wGҊ(W'f Bbxúd#ϫ &ٿH6FaƇ;:36JSGXr5zIL:ث60+ g ]dQv1V5cb ɚ1dsAl7~Xo܏^b@ 4薄!]b 9k}`CQ텹=p2NbD2p($!) 3Z+C`qgetAll($sql,['homepage'] ); if (is_array($homepages) && count($homepages)) { status_msg('Converting backend users\' homepage preference'); $update_statement = 'UPDATE ' . CMS_DB_PREFIX . 'userprefs SET value = ? WHERE user_id = ? AND preference = ?'; foreach ($homepages as $homepage) { $url = $homepage['value']; if (empty($url)) continue; // quick hacks to remove old secure param name from homepage url // and replace with the correct one. $url = str_replace('&','&',$url); $tmp = explode('?',$url); @parse_str($tmp[1],$tmp2); if( in_array('_s_',array_keys($tmp2)) ) unset($tmp2['_s_']); if( in_array('sp_',array_keys($tmp2)) ) unset($tmp2['sp_']); $tmp2['_CMSKEY_'] = 'XXXX'; // current secure param foreach( $tmp2 as $k => $v ) { $tmp3[] = $k.'='.$v; } $url = $tmp[0].'?'.implode('&',$tmp3); $url = str_replace('_CMSKEY_=XXXX','[SECURITYTAG]',$url); $url = preg_replace('@^/[^/]+/@','',$url); //remove admin folder from the url (if applicable) unset($tmp2,$tmp3); $db->execute($update_statement,[$url,$homepage['user_id'],'homepage']); } }  Zr[G}WQ7E=ђf,yȪ"aak\9̪̳~ͯ/7:8tN1_~^O߾1BW?p,<{kwmV?w|7-kl$kVl)rsEx1['6_/ַ(6$}MNl9\9rY֧!Eo76-fGSCfA62&嚄$Ql %(~W7! 9Q̥ZBRVhf7X6s!Y!"))0\r,:RiL8"'ܼ(.6[N(2f6Z"1.ZZZ'mJ4vR t8%|IMI Y;Kai, q*]VX"l)ΕW=ݽ8țdIIgH\vK0R͡圊-^$U]LJhV1fUVkljtv?>[|;IZnr)T\lh\9b'ZZ6hA7bAɒ)aD?jjَ.[ V> h]b^v>cSkS\-R55;+ޡN֬''bcVEi:1~"^] ul{DE6iKT"lיJېΤ2,UR ƚe-|e=- qR4Wm, N1Ԛԉؗ]'(+,:@ncK17^ fe"CYXDlU$4Te/j'u{~̘&cZe,%j=g 4AE˹ A1=m Z. U0H6s,eJm ?Cxf`RD'[-x.يLG_|5( Ն|IM8*QE6qÛ%͟Pe[dcäsyI,D I@wVM.:Ss ^Š cTI_zmYk%g@fb3I!?[ֳpB;Ԟh18~{p});@%P'2GV#bjO uzaUr,D.`F|M72*t-R3XjАYrћ`i!~$)RZWZ-)aJ*=w#Pa|9:WMZBS`!ձ , Dm68Qcyp+F9t5ALGbtke𠢒[Lt8@[gv`iYcXb̡yq0hemqv#;ޭ{`uRhr ׅfFF4jͣ[sHA$3yMC=Pve10D3#Zm7 (и{vCa'h .׳pK1hZ)@V;ks`z !!*)@7PUl?Uu ,Wtw{XύTi8YNM5ɏbGi7!שL%m3u= P{X=Y5\ᥒ pF2A5N5( iɣ1X^e}=*M `@9D؎IC_,lKbF|`~BKt5%@7`~0: 8ǒsP 2+UآR~!0<([ Q%C[~! =aozlh}Uh&͠kp,?-F.4KJCX9̕QTTGAwFRDŽ߻Sݪ.^DF}ņgw^joJRJbp.[2 fկ=Ť MI ?ԎJتsTǾ%Lytl![ɡ0C |-D_x|A_0;1) {X :2`e}^~C!٣ p$Q(}<inU>y96U@q,Y&E:^=@5-e>b1W2@mZ/Լ<32wa16@=7X Ui^<%Y>ÙPe')NPD]CnW߀p,NP|TT>_ڮQtZ7QWvhqM{xb)0Q?]T<lS%3Rɷqmde`} | ˷IeVQI:@0T>69~N}`"Xsa'ZU0J 5(\)늀( 9En񙈻Djtv߭d͑6AS\mtECjn)W,EƻslDLf^삖dQ}p.]Ȼb [Ql@-ND>`ot>_Uc`" /ƦrЀjQiz=G𘉕`[dr8yRk\<|k'Version 2.2.16 - Truro ------------------------------- Core - General - BR #12370 - Admin Log-Download : now downloading the log honors all filters but doesn't process paging - BR #12437 - Installer won't allow "<" symbol in database password - BR #12457 - Event Manager empty list when mysql mode only_full_group_by - BR #12484 - Cannot exit after Run UDT - BR #12495 - MySQL 8.0.2+ breaks groups without table prefix - BR #12499 - adminlog.tpl Wrongly formed date - BR #12500 - NameQuote function does not work properly - BR #12504 - Function call notification. - Fixed an issue with specific characters in a content block tab name breaking the editor - Adjust regex's incompatible with PCRE2 - Avoid deprecated strftime() - deploy new replacement function locale_ftime() and new modifier-plugin localedate_format - A number of fixes for PHP 8 compatibility Admin Search v1.0.6 - BR #12443 - Admin Search fails on some searches with default mysql mode only_full_group_by (mysql 5.7.5+). - Removed license and copyright notices from module help text. - Escaping the search input field values. - More content object attributes are searched. - User Defined Tags can be searched. - Only places a user has permission to search are shown in the filter list (cached!). Content Manager v1.1.9 - Fix menu text/title setting. FileManager v1.6.12 - BR #12435 - Replacing an image file in filepicker doesn't update thumbnail. FilePicker v1.0.5 - FR #12483 - Additional FilePicker Help for usage as Content Block. Navigator v1.0.9 - BR #12456 - Navigator breadcrumbs with default page hidden from menu causes PHP notice. Search - Added 'Manage Search' permission; - BR #12391 - Core search issue page/entry titles that start with numbers; Phar Installer v1.3.15 - Fixed BR #12437 - Installer won't allow "<" symbol in database password; - Added Russian lang file to installer; - use locale_ftime() instead of deprecated strftime(); - escape name of groups table, to prevent reserved-word conflict when table-prefix is empty; - alterations to the links in final step: we now privilege links to CMSMS channels of contact and support; Version 2.2.15 - Bonaventure ------------------------------- Core - General - BR #12287 - Admin shortcuts popup refers to IRC. - BR #12292 - showbase parameter of metadata tag doesn't accept boolean value. - BR #12303 - No date displayed in the admin + category id not incremented. - BR #12305 - Removing actual Destination Page breaks Destination Page dropdown in Internal Page Link pages. - BR #12311 - log_performance_info - undefined variable: queries. - BR #12313 - 5 Stored XSS vulnerabilities in Settings - Content Manager. - BR #12317 - XSS on Settings News Module. - BR #12325 - Several XSS vulnerabilities. - BR #12335 - User pref admin homepage not properly displayed under certain conditions. - BR #12337 - GetContentBlockFieldInput $adding always false. - BR #12338 - Allow http/2 responses. - BR #12357 - Filepicker dropzone size issue. - FR #12345 - More user friendly admin session handling (partly implemented). - FR #12349 - Swap tabs on System Maintenance page. - Browsing to the main admin page in a new browser tab during a running session won't redirect to login form anymore. - (Error) messages in OneEleven won't dismiss on click. - Fix to Admin redirection after login on Windows platform. - Fix to the module API redirection to support arrays in parameters. FileManager v1.6.12 - Dropzone improvement like core FilePicker. FilePicker v1.0.5 - BR #11673 - FilePicker will not show svg images, when in the Content Manager. - BR #12312 - Stored XSS vulnerability in File Picker. News v2.51.11 - Minor code fix to encoding title content. - BR #12322 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - BR #12325 - Several XSS vulnerabilities. Design Manager v1.1.9 - Minor fixes for PHP warnings\notices; Module Manager v2.1.8 - BR #12291 - Reflected Cross site scripting. - BR #12324 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - Increased the Download Chunk Size field size to 4. MicroTiny v2.2.5 - BR #12351 - Escaping translation strings in tinymce_config.js. Search v1.52 - FR #11886 - Include module and modulerecord fields for content pages. Phar Installer v1.3.13 - Fixes to the reload button: now prevents browser's caching. - BR #11591 - fixed: Phar installer doesn't work with OPCache enabled. Version 2.2.14 - T'Sou-ke ------------------------------- Core - General - BR #12280 - Add Shortcut from Shortcuts modal broken. - Fixes to the class.CmsAdminThemeBase.php regarding main sections title and breadcrumbs generation. - Explicitly add function_exists and getimagesize functions to the allowed functions in PHP secure mode. - Improved Error Console template. - Site Prefs, remove submit confirmation. - System Maintenance, remove confirmation update page hierarchy positions and routes. - cms_http_request PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - Backend users, fixed the bulk actions. - BR #12172 - CronJobTrait undefined constants. - BR #12227 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - BR #12272 - Internal page link - selecting destination page problem. AdminSearch v1.0.5 - Remove click thru warning. CMSContentManager v1.1.9 - Fix notices in edit content template. - Fix notice in default admin view. DesignManager v1.1.8 - BR #12225 - Reflected Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. FileManager v1.6.11 - Don’t disable advanced mode on upgrade. - Fix adding double // in site root link. - BR #12215 - FileManager 1.6.10 crashes when trying to rename a file. - BR #12224 - Reflected Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. News v2.51.9 - Minor code fix. - Alert on unapproved articles disabled by default. Enable at Settings >> Options tab. - BR #12207 - Can't display image in news when using upload field. - BR #12228 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. Phar Installer v1.3.9 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - PHP 7.4 fix "Function get_magic_quotes_runtime() is deprecated". Search v1.51.8 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". Version 2.2.13 - Moosomin ------------------------------- Core - General - Explicitly add a function or two to the allowed functions in PHP secure mode. DesignManager v1.1.7 - Fix a warning in PHP 7.3+. FileManager v1.6.10 - Fix minor XSS vulnerabilities in FileManager. News v2.51.8 - Fix a security issue in the default action with the idlist param. (This version was also separately released in the forge). Version 2.2.12 - Osoyoos ------------------------------- NOTICE: Due to the nature of the security issue fixed in FileManager after upgrading you should change your database password. Core - General - Fix warning in cms_html_entity_decode. FileManager v1.6.9.1 - Security fixes for view action. Version 2.2.11 - Vulcan ------------------------------- Core - General - Fix minor bug in copying content objects. - Minor fix to array indexes when filling params in ContentBase. - Fix to the {cms_filepicker} plugin. - Minor fix to the 'my account' form. - Fix error in cmsms_filepicker.js encountered in LISE. - PHP 7.3 fix to DataDictionary::RenameColumnSQL. CMSContentManager v1.1.8 - Fix an issue with copying non-core content objects. - Minor fixes for php 7.3. ModuleManager v2.1.7 - Minor exception handling improvements. - Minor improvement to dependency detection with modules that do not exist in ModuleRepository. - Minor fixes for php 7.3. News v2.51.6 - Minor improvements for CMSMS v2.3 compatibility. Phar Installer v1.3.8 - Minor change to use include() instead of include_once()... not sure why. FilePicker v1.0.4.1 - Fix type error. Search v1.51.7 - Minor fixes for php 7.3. Version 2.2.10 - Spuzzum ------------------------------- Core - General - Fix minor potential authenticated object insertion vulnerability in changegroupperm. - Fix minor potential uncleaned input vulnerability in siteprefs. - Minor improvement to get_real_ip(). - Fix to clearing cache in cms_filecache_driver. News v2.51.5 - Fix unauthenticated SQL injection vulnerability with the default action. ModuleManager v2.1.6 - Fix authenticated object insertion vulnerability in the installmodule action. - Improve ordering of the dependencies before installing or upgrading modules. - Adds more auditing, particularly in the cached request stuff. FilePicker v1.0.4 - Fix authenticated object insertion vulnerability. Version 2.2.9.1 ------------------------------- Core - General - fix to the CmsLayoutStylesheetQuery class. - fix an edge case in the Database\Connection::DbTimeStamp() method. MicroTiny v2.2.4 - Minor fix in error displays. Phar Installer v1.3.7 - Fix to edge case in step 3 where memory_limit is set to -1. Version 2.2.9 - Blow Me Down ------------------------------- Core - General - PHP 7.2+ fixes. - Now do not call Module::InitializeAdmin() or Module::InitializeFrontend() if the module loading is being forced (as is the case sometimes within ModuleManager); - Minor changes and fixes to prevent warnings/notices in CLI based scripts. - Improvements to the {browser_lang} plugin. - Fixes a bug in the CmsLayoutTemplateQuery class. - Fixes a bug with the name= parameter in the {cms_stylesheet} plugin. - Fixes a minor issue in system information (smarty compilecheck). - Fixes a minor issue with the tabIndex and accesskey fields in edit content. - Fixes issue in the CmsLayoutStylesheet class related to associating designs with new stylesheets. - Now check for an english language file first in module_custom/xxxxx/lang before a file for the current language. - Prevent false-positive hit for "multiple_webshells_0018" rule webserver virusscanner (https://github.com/Yara-Rules/rules/blob/master/Webshells/WShell_THOR_Webshells.yar#L4764). - Fixes a bug in ContentOperations::LoadAllContent() if the content list had a custom content type from a module that was unvavailable. - Fixes a bug in the Database\Connection::DbTimeStamp(). Search v1.51.6 - Minor fixes to help. MicroTiny v2.2.3 - More entropy in the mt_config.js filename to fix issues with js caching when switching users. - Fixes in the cms_linker plugin for when trying to change a link to a CMSMS page where the alias has changed. FileManager v1.6.8 - Fixes an upload issue. ModuleManager v2.1.5 - PHP 7.2+ fixes. CMSContentManager v1.1.7 - Fixes an issue with changing content type after copying a content page. DesignManager v1.1.5 - Fixes ownership issue on templates with importing a design. Phar Installer v1.3.7 - Minof fix to detect when PHP's memory limit is set to -1. Version 2.2.8 - Flin Flon ---------------------------------- Core - General - Re-introduce the host_whitelist config entry that got lost in some commit somewhere. - Minor fix to pagination in Admin log. - Change Finnish locale priorities so that UTF-8 is first. - Minor fix to calling hooks with a single associative array parameter. - Adds new HookManager::do_hook_first_result() method. - cangegroupperms now calls HookManager::do_hook_first_result. - Minor enhancement to moduleoperations::_load_module() to check if the class exists. - Minor enhancement to {cms_action_url} wrt. the page to link to if not specified. - Deprecate CMSModule::SetParameterType and CMSModule::CreateParameter methods. - Deprecate ModuleOperations::GetModuleParameters() method. - CMSModule::RestrictUnknownParameters() now does nothing. - No longer warn if a module is sent a parameter that is not registered. Note: modules should now be cleaning parameters directly (see filter_var) from $_POST and $_REQUEST ($_GET is automatically cleaned). Note: In the future, $params in module actions will only consist of parameters passed on the module tag. - PHP 7.2+ fixes. - Fix the inactive param in the page_attr plugin. FilePicker v1.0.3 - Minor fix to delete action. Search v1.51.5 - Now enforce utf-8 on preg_split. - Minor parameter check. - Removed deprecated each() function. CMSJobManager v0.1.3 - Notices fixed. - PHP 7.2+ fixes. FileManager v1.6.7 - Remove un-necessary files that may cause a security vulnerability. - prevent creating directories with leading or trailing whitespace in the name. Module Manager v2.1.4 - PHP 7.2+ fixes. Navigator v1.0.9 - Template fix simple_navigation.tpl. Output correct class for parent without active children. News v2.51.4 - Notices fixed. Version 2.2.7 - Skookumchuck ---------------------------------- Core - General - Change internal CSRF variable name. - Fix object insertion bug via deserialize in LoginOperations. - Fix issue where login cookie contents could be forged by determining the hashing salt. - Refactor the mechanism for generating and verifying admin account password reset codes. FileManager v1.6.6 - No longer allow uploading files with names that end in . FilePicker v1.0.2 - No longer allow uploading files with names that end in . Search v1.51.4 - Minor fix to microtime calls. Version 2.2.6 - Come by Chance ---------------------------------- Core - General - Fixes to AdminAlerts::load_by_name(). - SetMessage() and SetError() in the module API now use session variables. - Remove support for module_error and module_action request parameters in admin module actions. - Add call to check_login() in admin actions that were missing them. Search v1.51.3 - Fix notice in PHP 7.1: A non well formed numeric value encountered... Version 2.2.5 - Wawa ---------------------------------- Core - General - Fix minor security issue in the way login information was cached in cookies and the session. - Simplify rules around alias editing/generation in fillparams. If the alias field exists then we can adjust its value or recalculate an alias. Use basic properties, and ownership and permissions to determine if that field exists on the edit form. - Minor fixes to the CmsJobManager. Version 2.2.4 - Little Paradise ---------------------------------- Core - General - Improvements to the Hook class. - Minor fix to usertagoperations. - Changes to the hierarchy selector to disallow circular references. - Fix problems with additional editors causing page aliases to be regenerated. - Minor fixes to Admin log browser. - Minor fixes to Admin login. - Add missing call Core::LoginPre hook. - Modify myaccount.php to call Core::EditUserPre hook BEFORE the password is set. - Fix documentation to CallUserTag. - Fix to default handling for content_image block. - Improve the help for the {page_attr} plugin. - Fix a potential warning in the {anchor} tag. - Fix boolean comparison in LoginOperations. Installation Assistant v1.3.4 - Fixes endless recursion issue with setting a tmpdir. - Fix issue with requiring a database prefix on upgrade. FilePicker v1.0.2 - Now allow specifying a 'useprefix' boolean parameter to the action url which will use the current top directory. - Add a prefix on all returned strings. - Slight modification to the profile class. - Now sends the FileManager::OnFileUploaded hook the same way as FileManager does. - Adds an exception handler around the change working directory stuff. FileManager v1.6.5 - Change upload action to call FileManager::OnFileUploaded hook before creating the thumbnail to allow a hook to rename the uploaded file. - Now enable creation of thumbnails on install. MicroTiny v2.2.2 - Minor fix for the filepicker if using a default filepicker profile that specifies a top directory. - Re-adds the table plugin (went missing when we upgraded tinymce). ModuleManager v2.1.3 - Adds audit line displaying status if cannot connect to ModuleRepository. DesignManager v1.1.4 - Fixes problems with the cancel button not marking the form as 'clean' (not dirty). Version 2.2.3.1 - Happy Adventure ---------------------------------- Core - General - Fix an issue when parsing multiple content blocks. Version 2.2.3 - Happy Adventure ---------------------------------- Core - General - Fixed a redirect loop problem on mixed HTTP/HTTPS sites when the secure flag was set on some pages. - Fixed a problem with prefilters and postfilters not working if placed in /assets/plugins. - Now use our own derivative of Smarty Internal Template so that we can send hooks, etc. - Improved error message if there was an error parsing the template (or a duplicate content block). - Fixes content blocks, image blocks, module blocks containing whitespace in the name. - Minor fix to {cms_filepicker} plugin. - Improve the CmsModuleInfo class such that if the module class file is newer it will be loaded. - Now generate the moduleinfo.ini file automatically on install or upgrade of a module. - Increase the maxlength attribute for password input boxes in myaccount. - Adds a StartsWith JavaScript shiv for IE11. - Revert the protocol-less URI for root_url (more changes coming for 2.3). - Get rid of the smart_url config option. - Fix a problem when testing for duplicate aliases of the form string-### where the suffix integer was greater than 100. - More fixes to mact preprocessing if {content} was in the top of the template. - Minor fix to ExpandXMLPackage to not throw an exception in brief mode if module is not compatible with the current version of CMSMS. - adds new cms_entities_array function in misc to convert an array recursively to values. - Fixes transposed arguments in UserOperations::AddMemberGroup(). - Better detection of duplicate content blocks. - Revert template_stack change to Smarty_CMS from 2.2.2. - Improvements to HookManager. CmsJobManager v0.1.1 - Optimization of audit logging. - Change connection timeout to 1 second. - Change processing to be a little more friendly to some environments wrt. content-size header. - Prevent processing from the CLI when root_url is calculated. MicroTiny v2.2.1 - Minor fix for filepicker plugin. News v2.51.3 - For security, no longer urldecode the detailtemplate parameter in detail view. This may have some implications for people that are specifying the detailtemplate parameter (with a template with special characters) from within a WYSIWYG (which is not recommended behavior). - Convert title and dropdown options and text fields to entities before display. ModuleManager v2.1.2 - Now sort modules in the installed tab a bit better. - Now handle module 'not available' a bit better. FileManager v1.6.4 - Add a different icon for navigating up one level. - No longer allow uploading any php (or derivative) file. - No longer allow renaming any file to have a .php extension (or a derivative). - Fixes an issue when improper/invalid values for root path and uploads path are manually specified in the config.php FilePicker v1.0.1 - No longer allow overriding the filepicker type on the URL. - No longer allow uploading any .php files. CMSContentmanager v1.1.6 - Now double check that the 'default parent' for new pages actually exists. Navigator v1.0.8 - Minor english documentation correction. Installation Assistant v1.3.3 - Now look for lib/include.php before include.php in step 8 and step 9 when connecting to CMSMS. - Fixes to upgrade routine for 2.1.5 wrt. the 'Manage Stylesheets' permission (ignore an exception). Version 2.2.2 - Hearts Content ---------------------------------- Core - General - Additional security improvement in CMSModule::GetTemplateResource(). - Now Smarty_CMS is no longer derived from SmartyBC (uses our own wrapper class) which prevents all occurrences of {php} tags from running. - Adds an admin directory .htaccess file to explicitly disable browser caching of any resources. - Fixes a relative path vulnerability in module_file_tpl resource. - Fixes a path building issue in CmsModuleInfo. - Fixes to parsing and generating moduleinfo.ini files. - Disallow any resource specifications with a * or a /. * This also means that no file resource specifications with path information will be permitted. - Move mact preprocessing to AFTER the template_top has been processed. So order of processing (for module actions on the frontend is) a: template top b: mact preprocessing (if enabled, which is the default) c: template body d: template head - Fix sureGetNodeByAlias to check if the input is numeric. If it is, assume that it is a page id, not an alias. - Fix alias generation in the ContentBase class to check if the input page title is numeric... If it is, prepend a character to it to ensure that integer casting will return 0. - Fix listtags to show tags using smarty_nocache_ function name prefix. - Improvements to the {form_start} plugin. - Fix silly, old issue in recursive_delete function. - Clean up more parameters from the content tag before passing to module action. - Fix local file inclusion vulnerability in listtags. - Now call get_userid() in debug_to_log instead of check_login() AdminSearch v1.0.3 - Now search the metadata field of content pages. - Fixes for single quotes in search results. DesignManager v1.1.3 - Set title attribute tags for edit/create template, stylesheet, design. - Remove debug statements. MicroTiny v2.2 - Upgrade tinymce to v4.6.x. - Adds new tabfocus and hr plugins. News v2.51.2 - Fixes so that all cancel buttons work properly on new News articles. Navigator v1.0.7 - Adds a silly __get() method to the NavigatorNode class squash some notifications in the error logs. ModuleManager v2.1.1 - Now handlle remote module installs upgrades, and activates via a 2 request process to allow new module versions to be read into memory. Installation Assistant v1.3.2 - Correction to assets warning Search v1.51.2 - Now do an html entity decode on all content added to AddWords. Version 2.2.1 - Hearts Desire ---------------------------------- Core - General - Improve the Smarty plugin loading to handle non-cachable plugins in the /assets/plugins and /plugins directories. - Fixes to transaction functions in database abstraction library. - Fix CMSModule::GetTemplateResource to no longer accept eval or string resources. - Fix CMSSmartySecurityPolicy so that debug_to_log is no longer an allowed function. Many thanks to Daniel Le Gall from SCRT SA, Switzerland for reporting the vulnerabilities. Installation Assistant v1.3.1 - On upgrade to 2.2.1 move all files from /plugins to /assets/plugins (they should only be third party plugins at this point). - On upgrade chmod the config.php to 444. MicroTiny v2.1.1 - Fix temporary JS call URL. News v2.51.1 - Fix frontend pagination. Version 2.2 - Canada ---------------------------------- Core - General - Automatically turn on file locking for cached files to attempt to mitigate race conditions. NOTE: On systems using archaic filesystems such as FAT and FAT32 CMSMS may no longer operate. - cms_filecache_driver now caches for 2 hours by default and has an improved cooperative locking test - Implement new database abstraction library that is compatible with (functionality wise) but improves upon adodb-lite. - Implement protocol-less URL's in the config. - Page tabs are now focusable (you can tab through page tabs and use enter to select one). - Minor fix to the {form_start} plugin. - Minor change to the {admin_icon} plugin (default image class). - Cache more items that are queried from the database, to reduce mysql load. - Minor change to tree operations functionality to reduce memory usage. - Fixed problem with order of content blocks when using {content_module} stuff. - Adds get_usage_string and the concept of a type assistant to template types. - Minor change to auto-alias determination routine. - Detect module_custom enhancements in the CmsModuleInfo stuff. - Refactor Admin authentication. - More fixes to the cms_url class. - Optimize the include.php file. - Adds built-in asynchronous task processing system. - Adds the ability to reduce redundant mentions in the Admin log (runs asynchronously). - Refactor the Admin log page to allow for better filtering and pagination. - Admin log now uses cms_date_format and cleans output. - Notification functions in the CmsAdminThemeBase function are now just stubs and do nothing. Will be removed at a later date. - Removed the GetNotificationOutput() method from the module API. - Adds classes for creating Alerts. This is much more advanced than the old Notifications system. - Minor accessibility tweaks to the OneEleven theme. - Fix numerous minor problems with the OneEleven theme. - Refactored the OneEleven Admin theme to use new Alerts classes instead of old Notifications. - Refactor the OneEleven Admin theme to display an alert icon in the shortcut bar, instead of in the navigation area. - Fixed sidenav in the one OneEleven theme now works properly. If sidenav is larger than viewport then don't use fixed... easy. - In OneEleven Now revert to small sidebar navigation (still floating) if screen is too narrow. - Removed notification settings from MyAccount and Global Settings. - Removed pseudocron granularity preferences. - cms_alert() and the new cms_confirm() JavaScript functions now return promises. - Revises much code to use cms_alert and cms_confirm() instead of the standard, but browser specific functions. - Fixes to the cache clearing methodology. - No longer check for duplicate content blocks in templates... NEEDS TESTING - New core events: ContentPreRender, LostPassword, LostPasswordReset, StylesheetPostRender. - Fix problem with the default parameter to the {content} tag. - Fix problem with the use_smartycache thing in system information. - Fix notice in useroperations. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Numerous minor optimizations. - Add to content types the ability to set basic attributes for properties from within the page type definition. - Fixes problems with pagelink and link content types not being properly editable by additional editors. - Adds more type and content cleaning into the content types FillParams method(s). - Pass an explicit cacheid in to createtemplate in index.php. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - The {content} tag now supports passing data attributes to the generated textarea, for use by syntax highlighter and WYSIWYG modules. i.e: {content data-foo="bar"}. - Refactoring of the Admin login code to be cleaner, more efficient, more secure. - No longer allow any modules to auto-upgrade on frontend requests. - Fix problem with cms_filecache_driver::clear(). - Introduces the new Hook mechanism to allow optimizing cms_stylesheet a bit further. All core SendEvent calls are now implemented as hooks. - changegroupperms can now localize permission names, and add an info string for each permission. (the listpermissions hook). - Adds add_headtext(), get_headtext(), add_footertext(), get_footertext() methods to the Admin theme class. - minor refactoring of admin/index.php, admin/header.php, admin/footer.php and admin/moduleinterface.php. - now use hooks so that loaded modules can now add text to the head area of any Admin page output. - Change the help for the basic attributes. - Adds new 'switch user' functionality for members of the Admin group. - Re-factor the content page selector ... now supports two modes (one for a simple list, and the previous dynamic one that is faster for large sites) the simple list mode is used for users with limited edit capabilities on pages. - Adds a new Smarty plugin {page_selector} to the Admin lib. - New arguments to the CreateHierarchyDropdown function (deprecated) and adjust documentation. - Content pages now have the ability to control whether or not the page wants any more children. - The TemplateType class now has a help callback to optionally allow retrieving help for templates of a particular type. - Permissions are now grouped logically by module/originator in ChangeGroupPermissions. - Now use HTTPS for the latest version check. - Adds the public_cache_url config entry, and make sure that the css_url uses that by default. - Adds many core hooks. - Enhance the {page_image} plugin to optionally output a full HTML img tag if there is a value for the respective property. - Improve the {content_image} plugin to output nothing if there is no value for the property, and to output any non-internal arguments as attributes to the HTML img tag. - Upgrade to an un-modified version of smarty v3.1.31. - Move plugins directory to lib/plugins since we now have the assets/plugins directory for custom plugins. Upgrading should preserve any custom plugins in the /plugins directory. - Add new plugins {thumbnail_url}, {file_url} and {cms_filepicker). - Add more intelligence to the tableoption handling for DataDictionary::CreateTableSQL. - Minor improvements to the asynchronous behaviour of the locking functionality. - #11295 - Cannot change the name of a UDT, always creates new UDT. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. - #11133 - is_email() fails on domain check. - #11235 - munge_string_to_url leaves trailing dashes at the end of munged URL. - #11287 - Password reset form's password fields have different lengths. - Fix issue with module actions if 'content_en' block name was given on the default content block. - Better security when saving content pages. Most primary fields are cast to their appropriate data type (int, bool, etc). MenuText, and TitleAttribute can no longer contain html tags like foo. - Fixes issue with entities in redirecting links - The href/page argument to {cms_selflink} is now decoded before resolving to a page id. Navigator v1.0.5 - Minor optimizations. - Now use pageid in calculations of cacheid. - Now output template help to Navigator. Installation Assistant v1.3 - Only create dummy index.html files in subdirectories we created. - Clear cache after step 9. - Upgrade routine now asks for, and tests database credentials. - Upgrade routine now rewrites the config.php file (but keeps a backup). - Set a few more preferences to reasonable defaults on install. Specifically related to site cleanup and performance. - On installation, now insure that tmp/cache and tmp/templates_c directories are empty. - Now displays if files are going to be skipped. - Adds clear option for development purposes. - No longer ask to save database password. - On install now create the assets directory structure. - On upgrade (for 2.2) now create the assets directory structure and move tmp/configs, tmp/templates, module_custom, admin/custom, etc. within it. - When using the expanded installer allow changing the destination directory on step 1. - Check for existing files in the installation directory for new installations. - Added more notes to aide in diagnosing white screens - Modify package .zip files so that extracted files will usually have 644 permission (depends on the unzip routine used). CmsJobManager - New core module to handle queued asynchronous tasks. Content Manager - Minor tweak to bulk delete pages. - Minor fix to the active tab when changing a template or design. - Now listen to the 'default parent page' user preference. - Fix minor XSS problem in the Admin if some loser puts JavaScript into the title field or alias field or menu text field. - Now allow filtering pages by owner, editor, template, or design. Only for Administrators with Modify any page, or Manage all content permissions. - Fix problems with auto-refresh being too fast for some operations. - Now auto scroll to the first matched page in a find. - Additional editors of a page cannot change the content type. Only owners, or users with the Manage all Content permissions. - Fix a problem with the call to GetTabElements. DesignManager - Move the designs tab of the main interface into third position. - Implement sorting in edit design. - Remove option menus (for now) from templates, stylesheets, and designs tab. - Modify the template list functionality in edit-design to allow using keyboard control. Space or + to select an item on the left, and right arrow to move. - Modify the edit-design functionality to allow clicking on an attached template or stylesheet to edit it. - Generic templates now display a usage string. - When creating a new template, associate the new template with the default design. - Add reset buttons to the filter forms. - No longer check for default content block in a template. - Adds the ability to export a template to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/templates directory corresponding to a template name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple templates. - In the template list, if a file exists for a template... display it in the filename column. - Adds the ability to export a stylesheet to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/css directory corresponding to a stylesheet name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple stylesheets. - In the stylesheet list, if a file exists for a stylesheet display it in the filename column. News v2.51 - Minor fix to add category. - Removes GetNotificationOutput method. - Add a task that runs at least every 15 minutes to detect draft articles... create an alert for this. - Add an option to never create alerts about draft News articles. - Minor optimizations. - Adds postdate as parameters in events. - now output template help to Navigator. - Adds new 'linked file' type field that allows selecting a file using the filepicker. - Changes the default summary and detail templates to support the linked_file field type, and uses {thumbnail_url} and {file_url}. FileManager v1.6.3 - Move settings to it's own menu item under Site Admin. - Fix minor problem with moving a directory. - Minor fix to move file functionality. - Adds OnFileDeleted event. - Adds 'view raw file' icon in each viewable row. - Minor formatting changes in file list. - Now display clickable path entries for easier navigation. Search - Convert to store all data using the InnoDB engine. - Use transactions for the addwords and deletewords stuff for performance. - Fix problem with query and record expiry. AdminSearch v1.0.3 - Fixes problem with use of 'Use Admin Search' permission. - Now searches for matching strings within templates and stylesheets that are stored as files. - Now listens to the HasSearchableContent metod when searching content pages. ModuleManager - Now detect if module_custom directories exist and are populated and warn about this before upgrading a module. - Minor string changes. - Improvements to error handling in the new versions tab. - Write a confirmation form for uninstalling a module that displays the UninstallPreMessage or uses a default. - Now don't allow disabling / uninstalling myself. - Don't hide the upgrades tab when there are no upgrades, but show the number of upgrades in the tab title instead. - Now use HTTPS for requests to ModuleRepository. - Trigger a hook before exporting a module to XML. MicroTiny v2.1 - New version of the tinymce wysiwyg editor. - Adds a mailto plugin. - Now use the FilePicker module for a filepicker, required rewriting the cmsms_filepicker tinymce plugin. - Enable the title attribute on the image plugin. - Now uses PUBLIC_CACHE_LOCATION for cache files instead of hardcoding tmp/cache Version 2.1.6 - Spanish Wells ---------------------------------- Core - General - Now attempt to detect if a template name passed into CmsModule::GetTemplateResource() is already a resource string. - endswith is now an accepted function in Smarty templates (fixes typo in security policy). - Fixes for CmsNlsOperations when using a language detector. - Fixes warnings in useroperations. - Fixes problem with cms_selflink dir='up' since 2013. - Modifies the OneEleven theme to set the meta referrer attribute for security purposes. - Modifies the functionality of the CSRF tokens to be more secure (only set the cookie in one location, only set the session variable from the cookie). - Increase Admin users list limit. - Reduce time limit for daily version check to 3 seconds. - cleanValues in Admin log and List Content. - Minor fix to the relative_time plugin. - Admin menu item URLs can now be built from the remaining members of the object, if not specified. - {content_image} and {content_module} now preserve order properly and support the priority attribute. - #11198 - Fixes problem with cms_selflink with aliases that starts with a numeric sign. Content Manager v1.1.4 - Fix bulk set-non-cachable functionality. - Fix a bug wrt content blocks and the adding flag. Installation Assistant v1.0.4 - Adds recommended check for ZipArchive. - Improves method of determining a temp directory. ModuleManager v2.0.5 - Improves functionality if ModuleRepository is not available. News v2.50.6 - Minor fix to editing news articles from the Admin interface. Version 2.1.5 - High Rock ---------------------------------- Core - General - Fix fatal error if an extcss stylesheet was placed in the Admin theme. - Another minor fix to clearing cached files. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Improve the way page aliases are munged when they are supplied. - Improve the error generated when a page alias cannot be generated. - Minor fixes to the form_start plugin. - Minor fixes to generation of moduleinfo.ini. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. Content Manager - Improve error handling in Edit Content. - Fix a problem with the call to GetTabElements. Design Manager - Fix problem with resetting a template back to factory defaults, or creating a new template from factory defaults. Module Manager - Improve the way modules with dependencies are installed and upgraded. (Got rid of the queue stuff). AdminSearch - Use 'Manage Stylesheets' permission, not 'Modify Stylesheets' when searching stylesheets. Phar Installer - Adds missing 'Manage Stylesheets' permission that would not be created on upgrade from 1.12. Version 2.1.4 - Freetown ---------------------------------- Core - General - Fix to the clear_cached_file() method which should fix problems with module installation. - Minor tweak to distributed sample htaccess.txt file. Phar Installer - Fixes issues with respect to hanging on step 7 when suhosin PHP addon was installed. - Minor PHP7 Fixes. Module Manager - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. Version 2.1.3 - Black Point ---------------------------------- Core - General - Security fix to prevent HTTP_HOST attacks. Many thanks to I-TRACING (www.i-tracing.com) for reporting it!! - Remove stub .htaccess files from subdirectories. - Update the included sample htaccess.txt file for security. - Fix for endless loop when calculating a page alias in utf-8 environments. - Fix for endless loop when calculating a page alias and a page name/title ended with - - Fixes a notice on the login page. - Optimize LoadContentFromId() to be typesafe, and use default page, if the id passed in is invalid. - Fix error condition if there were no default default design, or default page template. - Fix problem with system verification. - #10825 - Admin-account settings don't remember startpage if you set one - #10874 - When creating a page and the title has specific characters, CMSMS stops responding - #10910 - content and content_module order incorrect Admin page - #10911 - 'Use Admin Search' permission not being used in 2.1.2 - #10921 - Content Field to Display in Name Column not used AdminSearch v1.0.1 - Minor fix to permissions checks. Navigator v1.0.3 - Improved exception handling on install News v2.50.5 - Fix error condition if no results were returned. Installation Assistant v1.0.3.1 - Tweaks to README files. - Improved error handling in some circumstances. - Fix some PHP7 issues. FileManager - #10871 - Filemanager moving folder Version 2.1.2 - Andros Town ---------------------------------- Core - General - Minor fix to missing language string stuff - Fixes to home page preferences - API documentation fixes (minor) - Fixes for ajax_content (the Ajax routine behind the parent selector in edit content) to handle ordering inconsistencies - Remove die statement in is_email - Minor fix to the relative_time modifier - Upgrade CMSMailer to 6.2.14 - Now do a check for E_ALL in the system info News v2.50.4 - Now all field definitions can be deleted - Minor fix to default action if no results were returned... ModuleManager v2.0.2 - Revamp module dependency calculations when installing a module - Minor fix for some notices in install and upgrade modules - Minor typo fixes - Minor fixes for PHP7 MenuManager v1.50.2 - make sure that uninstall cleans up properly MicroTiny v2.0.3 - minor template fix - fixes for stylesheet overrides Version 2.1.1 - Nicholls Town ---------------------------------- Core - General - Fix the template compiler so that content blocks can be placed within sub templates and detected with the {include} tag - Fix minor problem with checksum verification - Fix to the cms_cache_handler class - Minor fix to SetAllPageHierarchies() - Correct location where session was started in frontend displays - Fix the default option for {content_image} - Modify the locker to use a beacon if supported, when unlocking - Fix missing permissions when a 1.12 site was upgraded (installation assistant) CMSContentmanager v1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear content locks (Admins can clear all locks, regular users can only clear their locks) - Enhancements to the action to bulk set designs to show only page templates by default, but to optionally show more DesignManager v1.1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear template and CSS locks (Admins can clear all locks, regular users can only clear their locks) Version 2.1 - Bahamas ---------------------------------- Core - General - Minor performance tweaks to sample htaccess.txt - Minor fix to the ProcessTemplateFromDatabase module API method. - Improvements and re-factor the way headers are sent wrt caching - Add a new method to the ModuleOperations class to allow a module to be within a namespace. - Enhances the Group class. - Enhancements and fixes to the cms_url class. - Modified the $mod->smarty reference to be smarter... it is now deprecated. - Fixes issue with https requests (#10697) - Modifies The CmsLayoutTemplate class and CmsLayoutTemplateQuery to allow filtering on listable or non listable or setting a template as listable (default) or non listable - Fixes a problem with styling of the login form if tasks must be run AND a module needs upgrading. - Fixes to the cloning of templates in CmsLayoutTemplate - Fixes problem with SetAllHierarchyPositions that cleared the entire cache instead of only the necessary part of it. - Adds the unloadCancel handler to the lockManager jQuery plugin. - Moves version.php and include.php inside the lib directory so that they are easier to protect from unwanted direct access. - Fixes to page alias tests when manually entering a page alias. - Missing language strings are no longer output to Admin log, but to the debug log. - Requests for modules that are not installed/enabled, or for invalid actions will now result in 404 errors. - Fixed problem where restricted content editors could implicitly change the page alias. - Improvements to the system information page, particularly the bbcode output. - cms_init_editor, form_start, and cms_action_url plugins are no longer cachable. - Adds the 'adminonly' option to the {content}, {content_image}, and {content_module} tags to allow only members of the 'Admin' group to manipulate the values of that block. - Add a trivial check to the sitedown message to make sure that it is not empty. - Minor fixes for PHP 7 MicroTiny v2.0.2 - Now add page hierarchy to autocomplete text when using the linker. - Now use $smarty->CreateTemplate for clarity when compling the config template - Now explicitly assign urls so that they do not get caced by smarty. - Slightly tweak the default HTML content in the example tab. - Updated tinymce to the latest 4.2.7 version, included the 'paste' plugin, and turned on 'paste_as_text'. - Added the ability to enable the table plugin, now distribute the table plugin CMSContentManager v1.0.2 - Fix problem with pagedefault metadata. - Fixes for handling no listable templates for a design - More work with locking. With only one exception all locking and unlocking is initiated via javascript. - Minor fix to copycontent DesignManager v1.1 - Adds ability to toggle the listability of a template. - Fixes problems with lost changes if there is a syntax error in the template. - More work with locking. With only one exception all locking and unlocking is initiated via JavaScript. News v2.50.3 - Fixes minor issue with pagination in News Admin console. - Fix errors in the default form template. - Fixed URL to long issues on redirection after adding/editing article. Search v1.50.2 - Minor PHP7 fixes. ModuleManager 2.0.1 - Minor fix to which modules could be uninstalled and deactivated. Version 2.0.1.1 - Adelaide ---------------------------------- Fix to the $this->smarty magic method in the module class to resolve to the action template or the global Smarty. Version 2.0.1 - Adelaide ---------------------------------- Core - General - Improved optimization in ContentOperations::SetAllHierarchyPositions. - Fixed return type of ContentOperations::GetPageIdFromAlias(). - Help for the {cms_html_options} plugin. - Change the default page template to use {Navigator}. - Explicitly force $smarty->fetch() to create a new template, and therefore a new scope. Keep track of scopes in a stack. - Change prototype to CMSModule::DoActionBase to pass in the current template object. - SITENAME is now assigned as a Smarty global. (fixes some variable scope issues) - Fix problem with changing content types. - Fix problem with CmsLayoutTemplateQuery wrt the editable option, that generated an SQL error. (resolves problems where people have additional editor access to templates, but no other design manager permissions). - Fix minor JavaScript errors in plugin (error checking). - Fix problems where If assign was passed to a {content} tag, do not pass it to the module on a mact request. - Implements the completely forgotten 403 exception stuff and the IsPermitted content method. - Improve the cmsms_dirtyform jQuery plugin to support the unload handler and an onUnload callback. - Fixed the jQuery page selector plugin when the current value points to an invalid page, and fixes for asynchronous Ajax. - Adds a globally available cms_busy() JavaScript function for the Admin. - Fix problem with html entitites in email addresses in user settings. - Fix problem with {content cssname=string} and quotes. - Changed cmsms plugins to use $smarty->getTemplateVars() instead of $smarty->get_template_vars() because of scope issues. - Minor fix to {form_start} when not used in a module. - Improved error handling for cms_stylesheet. Now will generate a message in the Admin log, and an html comment on error. CMSContentManager v1.0.1 - Fixes for changing content types. - Adds a title for some contextual help if a template is not available for a content item. - Clear any locks if an exception occurred while submitting a content item. - Improvements to error handling with apply and preview. - Content list now refreshes every 30 seconds to display up-to-date lock information. DesignManager v1.0.1 - Clear the type_default flag when copying a template. - Clear any locks if an exception occurred while submitting a template. - Clear any locks if an exception occurred while submitting a stylesheet. - Template and stylesheet lists now refresh every 30 seconds to display up-to-date lock information. - Fixes for design exporting templates with protocol-less URLs in them. MenuManager v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). Navigator v1.0.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Minor change to the help ($node->children_exist) Search v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). News v2.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Fix problem with custom fields not being assigned in fesubmit. - Fix minor problem with html entities in the detail template parameter. FileManager v1.5.1 - Fix minor problem with Smarty scope in the drop zone. Version 2.0 - Australia ---------------------------------- +++ Initial Release +++ CMS Made Simple Version 2.2.16 ------------------------------ NOTE: Although all efforts have been made to make this release compatible with PHP8, you may experience issues in some server environments, so testing is highly recommended before switching PHP versions on a production site. NOTE: Most likely not all 3rd Party modules are compatible either so, if you find issues with theses modules, please file BR with the respective module developers. NOTE: We have dropped support to PHP 5.6 in this release. The minimum PHP version now supported is 7.0 although we strongly recommend 7.4+ for security and performance.MANIFEST GENERATED: 1774560244 MANIFEST FROM VERSION: 2.2.16 MANIFEST FROM NAME: FINAL OLD MANIFEST TO VERSION: 2.2.17 MANIFEST TO NAME: FINAL NEW MANIFEST GENERATOR: build/create_manifest.php CHANGED :: 70767053c518fcd9485e96e2d6abffa1 :: /doc/CHANGELOG.txt CHANGED :: 9d04503fe6d9257c1d3ee6e276a9c38a :: /lib/version.php CHANGED :: 18c52f88b60cdc1737eef119ef6a3415 :: /modules/Example.txt ADDED :: 6b14392745f21758df5420b8e71a85fa :: /modules/Added.txt final changelog new PKz\ӈmodules/Added.txtadded final file PKz\adoc/CHANGELOG.txtfinal changelog new PKz\ْA]lib/version.php/(Rq s SUP7334WFsuɺy9(;{:"`PKz\"mXmodules/Example.txtnew final content PK?z\ӈmodules/Added.txtPK?z\aAdoc/CHANGELOG.txtPK?z\ْA]lib/version.phpPK?z\"mXmodules/Example.txtPK7[[wSG~_8K J 3@5/ZUն,yI2 ׶Nؙ ٲR]z^>~go>xճ׏>{jR߽>{Oyv/}o:}wo|Yug?>|̓`$[cpRB*b1ܳsw]lJw^.ey\xZ_vx}!ruu\j'[^al+jư3Ak1֢KpYl GW\mnlΧbX-|F蒢 u8nb= ʼ^ Zs:zF[mbQcMTlfds}JxTLqeM$ v&V^$KqIWۨdGV=ZBK]ƚ~^Hڜ!|ήJX$4ږ_m92}ݯldӵ`@PkAC'ng}%NvޡhMIn#@! :zX4I7&HL A9LMjSGqHa?{зx)n}4/k|{H8)aS)$WM#IXѩ%-DH3wt &QVwr`٥4jc##N]4T%Q6 fF϶KSќ9dRPPO})?CzvZa-7G .$mga`k_$}'@%<B@s=ݮoUQV^b-$qXK5dONE3!ZpФ츫x0^os$ )e2x>R J\|6FAD6!o1 Vf7 iAXV-3}NNf&r %_m#<1 {XMS1Q*Vdk -Tö@ Ujڑ(I{sdLqMiB`œk)`G߻|dDʜE"id+G9wŏ?L{ң)al*"yNI! 5!q"]f4ݑeSW1($C"͊^w8cixxZvJ(狷OƀխA d/eAV6:vO^Ⱟk=jf)fד 9_bI1Y)!3Zr9d+ rD続@0;'LZ .64zF6f6}Bm%ǒ^3ڒb o[T${B}͋aZd ZaZCfb`gYO ;glS I])B|5BP Ҭ(n+K5(͍ǐNfbٷal,kGgZBA̠r`nI blte,#1)KҔmArjaT?XZCgip$me(AZNY~3W `/PCƑ6[";\"p\BAaLB2f*;!Edt~`s3JpAwVDlY-~T AW(XԨg|Se\M'|/4%+׼xtqs3o P&TIYh)wk3ǵqBO!QW2@ 7n 1|Z'0vW'm%Ml!;RQ P+فI,œGO![j 9Cb⇓H "&!g~8yiI!RBKȶ=,-ӲV8g!g(0SA[YP[x3 *wk$83%ɶ+z*ky6cNx锧RwDlq6jE -=5+H)Lry&jj *go iTl\gUnZ=Cxm@ `U5V7kCWe`! ,J+S.D1<8xpT9B 0{o^גa2)lz 5w5^0P&w2Ҡ̣G@ES]6xӠ3wW{\^?XfݗgSɧP_K-R0(b}qba bVAҸ0Ȥ =FV=<,}[\݃ZCa6%y<~77π 9:qQ=7'jz`V  Qew엛Occm]wA+oh-Ī5ѱxsC%b~Cֺ); z< vy~vMjI*4]ek[i_ \EV>mː2 @(S-/iMg=^b!y1cӬ ֆ@Y?ha; .g)3v7IkTUtccɓS?SD=-&n}h[kX露+vqv:=)b}-z$.m<ʓ34G (ִ:n9=tNw%{VMDWR ɡ p1 "0,v') 7<'l)U#N2HOh٫ RֳV341/ٔޜ&x [-ō?'U\ZmE6nP0a!c3{J( f,5VY{v kq]\헧VA-Tn8M/ޟ?BV<+-^NS% $1'w^7ۻW,NRhcO !#Wiw-W^-l4A| rIB^v2SKJ4N@ Mѱ9K2 ]XjoL.v}s 0C`=PUw|Q2$S*@%tZzԾ^`iED*|p!rȽ$Rb~ xR1)eFPآǣ{3]bq!ENо'84 a]8^nsSچ0,#80Zj#'ƗB1(Z@%xsH@-X$sXa~>0SCZͥLV6M' G貹D9r8F%Y:Nrkew rt3fZ#9HX".y@٩(Fgud5hdLJzSm#nǟO/p]vh/JJrc:A^GTn?rZ!Ud;AMC`*DqǶӧ8)Qh|Q5(']9~ ]#8d-(ê1<(%lx9a. [(#/*jĵ1`_S&(:6'y| !\;t)Ӱ:qQ kEwm=mP_İ0"/BcfN28Ce8 tw0,P[0, WXZswsqAVersion 2.2.2 - Hearts Content ---------------------------------- Core - General - Additional security improvement in CMSModule::GetTemplateResource(). - Now Smarty_CMS is no longer derived from SmartyBC (uses our own wrapper class) which prevents all occurrences of {php} tags from running. - Adds an admin directory .htaccess file to explicitly disable browser caching of any resources. - Fixes a relative path vulnerability in module_file_tpl resource. - Fixes a path building issue in CmsModuleInfo. - Fixes to parsing and generating moduleinfo.ini files. - Disallow any resource specifications with a * or a /. * This also means that no file resource specifications with path information will be permitted. - Move mact preprocessing to AFTER the template_top has been processed. So order of processing (for module actions on the frontend is) a: template top b: mact preprocessing (if enabled, which is the default) c: template body d: template head - Fix sureGetNodeByAlias to check if the input is numeric. If it is, assume that it is a page id, not an alias. - Fix alias generation in the ContentBase class to check if the input page title is numeric... If it is, prepend a character to it to ensure that integer casting will return 0. - Fix listtags to show tags using smarty_nocache_ function name prefix. - Improvements to the {form_start} plugin. - Fix silly, old issue in recursive_delete function. - Clean up more parameters from the content tag before passing to module action. - Fix local file inclusion vulnerability in listtags. - now call get_userid() in debug_to_log instead of check_login() AdminSearch v1.0.3 - Now search the metadata field of content pages. - Fixes for single quotes in search results. DesignManager v1.1.3 - Set title attribute tags for edit/create template, stylesheet, design. - Remove debug statements. MicroTiny v2.2 - Upgrade tinymce to v4.6.x. - Adds new tabfocus and hr plugins. News v2.51.2 - Fixes so that all cancel buttons work properly on new news articles. Navigator v1.0.7 - Adds a silly __get() method to the NavigatorNode class squash some notifications in the error logs. ModuleManager v2.1.1 - Now handlle remote module installs upgrades, and activates via a 2 request process to allow new module versions to be read into memory. Installation Assistant v1.3.2 - Correction to assets warning Search v1.51.2 - Now do an html entity decode on all content added to AddWords. Continuing with our commitment to quality code, we are announcing the release of 2.2.2 "Hearts Content", a security and stability release. This release fixes or blocks a couple of very important security issues, addresses a number of bugs that existed in the system, and generally improves stability and usability. Some important things to note are: a: The security issues addressed effect all previous versions of CMS Made Simple, not just the 2.x series. b: Due to the security fixes, Smarty resource specifications with paths or wildcard characters will no longer work. This will affect a few third party modules--notably JMFilePicker. The maintainers of affected modules should be able to address this issue without too much difficulty. Additionally, any and all occurrences of {php} tags that may have been able to function in old versions of CMSMS should now fail. c: We have once again changed the template processing order, specifically related to mact preprocessing. Now, mact-preprocessing occurs AFTER the top portion of the template, but before the body portion. This specifically addresses issues with multi-lang sites. As of now, the template processing order is: 1. The top portion of the page template 2. mact-preprocesing (if enabled) caches a module action intended for the {content} block 3. The body portion of the page template 4. The head portion of the page template. d: fixes to cms_selflink, to content pages and to various API functions such that entirely numeric page aliases are invalid. This is to prevent them from being confused with numeric page ids. When adding or editing a page, if the resulting page alias is entirely numeric (i.e: 12345 or 123-123) then a non-numeric character ('p') will be prepended to the alias. aliases such as 123-foo are not entirely numeric and therefore are valid. e: Upgraded MicroTiny to use TinyMce 4.6.x and added the tabfocus and hr plugins. As usual, a complete list of the items fixed and changed are available in the changelog that is displayed during the upgrade process and included with the release. Because this is a security release as well as a stability release we encourage everybody to upgrade their websites as soon as possible. Again we would like to thank Daniel Le Gall from SCRT SA, Switzerland for identifying these vulnerabilities, reporting them to us in a professional manner, and working with us to ensure that they were resolved. The CMSMS Dev Team now only officially supports CMSMS 2.2.2 and CMSMS 2.2.1. Therefore, it is to your advantage to upgrade as soon as possible. Thank you, and have fun with CMSMS. GetOne($sql,[ 'Manage Users'] ); if( $tmp < 1 ) { status_msg('Create missing "Manage Users" Permission'); $new_id = (int) $db->GenID(CMS_DB_PREFIX.'permissions_seq'); $sql = 'INSERT INTO '.CMS_DB_PREFIX.'permissions (permission_id,permission_name,permission_text,permission_source,create_date,modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $db->Execute( $sql, [ $new_id, 'Manage Users', 'Manage Users', 'Core'] ); } MANIFEST GENERATED: 1774363425 MANIFEST FROM VERSION: 2.2.22 MANIFEST FROM NAME: Saskatoon MANIFEST TO VERSION: 2.2.22 MANIFEST TO NAME: Saskatoon MANIFEST GENERATOR: build/create_manifest.php CHANGED :: a0ab903c2898a5bc50c736b52dbcc048 :: /doc/CHANGELOG.txt CHANGED :: 238272e60b7688002223365f4c4e0949 :: /lib/classes/Async/class.ExternalHandlerJob.php CHANGED :: 04df720b997a67508085cd2a46db1b98 :: /lib/classes/class.FilePickerProfile.php CHANGED :: 90e1975e0ce210bd138538d228e30924 :: /lib/classes/class.FileTypeHelper.php CHANGED :: bb430cfe09b44bb080d94895ad44ca20 :: /lib/classes/class.cms_http_request.php CHANGED :: fe3a8f891811a4fb72d312f1b682e473 :: /lib/classes/internal/class.CMS_Fixed_Resource_Custom.php CHANGED :: a52762faec1bf58423f3e81e2df4fa5f :: /lib/classes/internal/class.LoginOperations.php CHANGED :: fd857186addf9df2a10103a5ca34e7b6 :: /lib/classes/internal/class.Smarty_CMS.php CHANGED :: 77bb3c0bc1b1b334d22815f72192c51c :: /lib/lang/tags/en_US.php CHANGED :: bad7d229261b94e4a8ac339439d70c80 :: /lib/plugins/function.cms_stylesheet.php CHANGED :: 7dfb8ab63e6cae856fe754d4797d43b4 :: /modules/CMSContentManager/action.admin_copycontent.php CHANGED :: cccce3db760f901e581a46f1502ae68a :: /modules/CMSContentManager/lang/en_US.php CHANGED :: 1b92cffef88f2fe1eb6ea6217fc3054e :: /modules/CMSContentManager/lib/class.ContentListBuilder.php CHANGED :: 1191eb06c15c28c915517f42aac46992 :: /modules/DesignManager/DesignManager.module.php CHANGED :: 0b74d2eb1c2ac91f782296a9a6f8d341 :: /modules/DesignManager/action.admin_export_design.php CHANGED :: 99c8ae2a05ec594735892ed5a2d2f5c5 :: /modules/DesignManager/action.admin_import_design.php CHANGED :: a04055f5191a2f86b81f15c14d1cd174 :: /modules/DesignManager/lib/class.dm_design_exporter.php CHANGED :: 8a5e1f174e7b599b3288bee6c03089a7 :: /modules/DesignManager/lib/class.dm_design_reader.php CHANGED :: f252fcef7a12c1140463937a1d32a1e0 :: /modules/DesignManager/lib/class.dm_reader_factory.php CHANGED :: fbc14d7d9a99ead418e583bd98a560bb :: /modules/DesignManager/lib/class.dm_theme_reader.php CHANGED :: 86184d40ccbd6457b15d919f76c99dea :: /modules/DesignManager/lib/class.dm_xml_reader.php CHANGED :: ffc3b53033140af1409dc0732919af93 :: /modules/FileManager/action.rotate.php CHANGED :: 130b4d265cf0abee34527f7e9317cda7 :: /modules/FileManager/easyarchives/EasyTar.class.php CHANGED :: e99a37adbdf936171dbc52c7085ec300 :: /modules/FileManager/lib/class.filemanager_utils.php CHANGED :: 64898b54612f918d438ef1c03612c860 :: /modules/FileManager/lib/class.jquery_upload_handler.php CHANGED :: 960cd0dfcf26ebca15bc6ac518e900de :: /modules/FilePicker/lib/class.Profile.php CHANGED :: 324680825d365350b3f39205ed951ee0 :: /modules/FilePicker/lib/class.jquery_upload_handler.php CHANGED :: e2832f492faff00d3052c6cdafdecfb9 :: /modules/News/lib/class.news_field.php CHANGED :: 1d628986a8add417fd768b2158975caa :: /modules/Search/Search.module.php CHANGED :: 9c9a0841b49ce2abe399f486c8e06f03 :: /modules/Search/action.dosearch.php CHANGED :: 81ba3b894327c25331b3d4db822db8d2 :: /modules/Search/changelog.inc CHANGED :: 99dbb6db7469b253c2b5b58992f8eba0 :: /modules/Search/search.tools.php  YrI}~;='yUsH*I3_?,3`UI큰}Y{/׫vWxfsX{]{Ϸo^o\q?{YYbZs="W837ͫ[vzq)MJEFOV\5ɚSh|XȰ;\?́[/%f(TzMSLD9> {N V[]Th޵2'M< yZMv2>Z]*\f1$Xk.yj.ɨQ]0XOκ$+1S2\셊R ?.o&D>͕ۤ&9DMKg[nh;fxL)uyM >ejEk`W0bDm>XV #<]m| ls{.>gQ<1'd'ʬ4EşT"z&X %yim|9,{$vh%8{TE9S`+ޯ'h޴,%ZznP)N;L5G;>OJv,)Icء6{m?L$"H6tB"! >X>v+XF8Zg?E尙!FL\Eu 1<[Zwk'D8In;rؑJsHk^Ř1PCeE)МsrBHqU %~i;4ScT ٵ첱xCCM+u)hѨŗ9U3᪤ߕ0LFx$K ݫR/ nE1D kt<5DhẽQ(bԧ: 5>5Խ3z?0bW H!;:4sY #%eI֢uR- j71gp'I.3PǻrTj~73r_RUϣڠ(+7vtl}cUz5a2Cؐ=\'Lܡ8|AV;&Z+8-Bv؅m%Xk]v8Зc5WEQg c2Ks0Tvfr Gbe(j`z@.>7ؿJt:ggE1dϸ! z~Nۭn?'+rr0bA+{-Vǻ8rMN pIZG3:$!?uI~M#h{1[>ɴwg+ÕzE=].u)zʹF IA`DkFʏ,ެnq~JwUi̭3k U%9r PtG|u6oX}!ͷ":ZGO}CO^XP5[&0Os Nz^JwRś'??s3dᒕME ,x,WxZ@^o3Sn=Zd+` .yJA?ʄ bJ4U V#i䚃/O]~f2G:t J9YGNH39P Wc])aI7R/*euQLN2k aɪy*EG 2< S.="ruVT5N+] w3vF6Ĩ7:o6xK]i)4̄Ig7Ev\17 NwopPp(O_aԍC|(6|}ܪv4eqpА-@y;(bh9LA$b#o̐Ê?Qe2sh27$Cb# vW( ZaZ3Ap`S4EIT$. 2,  ;W~~wE$3̼7Y2qyg/=[|(lϽ{jom߻w۾}w]|~` ̥3ˋ0!ey&No7^E2DX[uf|4J,~ fY\̃0FIqN d:(U(vp͊4f%`"gǛϟoaQ"4a:E܏8((͂^t; `0]S8((f0$ o_&7g0.euw[x N3x&94ˤ œUf9mz0آ&IF1?IhӇ_kgE4*jPKgC8=9 XI8kHdC;zDx<&sXN~t"9vԇ׃lJCP״? %:߈b6'ypN7diAY: ҩ˻=>V f.}z8I4Ip\{1p⭙O=+ڔUnzw||s; 1C(LzpoypW4Mnu0mm p<9~~vt;=xy|v?GӳO Io09;{žg @kGY:Z7xTJʷw2Q!nWv${9lpH3v2'&m=A|GgKpip)'ن'S h83*8A? o;ftw7zʻYȁ|6@ 8T!p46 u;/ Ba! 6i@ "] ~~D =ɍ `q=3q#h<|13I83(8 #">p~Y,&\kcw6DaMA'Kˋ12HRby` t9ēzPWL fV# ww g )H9/1"û#R FWcdՊx8ÝMiF(,Kn`.ɸ\1 #${AQP誰8w3VɃ7gO6AP4.KNs>+[Gl ¯o2f#hD,Hzl?:aNN \e67Y8HK,fN^'иr.(q("O@w}H8bAb:^&}VwKE&Q?r2:|U}eI{)o{r22{\h{{I٘I9[M%QD? __A#R Nu-%koa;ݻ>6ZNhw!v*>#'1)aAu HDJv\ kf D$(D4tʱewA $w0cƆ!hym8{S:,r?dUU: 3dׂ!Ab8{.fX=e(džTk8 O_Mд0M{0Don;xZlـ!'GQ'sl@ Y!ӒV].gk!K=AB^Ʈu` *xwݻ8Na cdD}GQw άjE\p0 .\/| f9ݾNDdƋjQtn?; Ap~Jr7}+BmgB!"7@3Kw: NQՄu?ȏP%r 8TN&$?t38D%N2^i^%AH,&بψϴͻ#8+ ʅX H)=30/6 rG}MH贞x@u .ŰYⱜѹ-!H+,; ~X+w|BtB,P&D аFH`Mf_še؅+P]'x^@Tn92Θ_P)_ɢs.jbl垂>̲pN Q iSeHHK&$ aT #@Q_[sz&s .Z)Zg>Ţ^0ѡ~(+Uhp(Z3G€W#jDs2Ā@%{F-#V5Ka{յFQ=e |/F)1")K.QMW".)YYsxWhww]0 QJꢶ?no=w2f=}h2 ģpsNJ 5g,KoBBwo:Mc`e٣+8?~<=.%la¡JAE;^vgrH5!>0!)pAF~. 6q My1I)`jczHN{7w'(ZdFV!t=ϧ'fW jfJ=|K66,b;0A[xFK_3 pXOUUD ^08X&Q8->?NlΨI3`,G{y8eÓmL++c,>sB$Lp*fK`J8xVȆc3zXA26v_A7`.aڣ&$5*L]A_ӺL[:@yhhN ~h'&‹h<A~© i LVosiщBA;dqFY[?ˀ,<ϑeE\j :V >@tOGÐ)lc#mZ%BYfH9 $㴻t8i1%L*E2c(ʤ@LOp*V9Q؉`xAy>#-̭]&KmdcYNu̗0]E̶x+>De3 p r<)eH(`:.\w28b(M;-)ǫɗ҈-4Cze[57p8 Zoj5"(4V'sc;Y| kpdV 0?s2 SdN`nC?^9UE.[ )uJKRoHܭikMlUe9~w?F#R~YFsqx1rveB} k|>d,Lr#SVYl9!n=+yԪFz]ķxDP͗G rkXGY$V)4 F,a賕[{wa4cۭsS~ڊ_&m6\:Rs!gt"f5TTX9>N c Wm#ݚ]!qp]BQ'f7;d,ŽV*6K,LkᓵQ(u"PELNO'xQzu|.r;`1:|VU@tuY0k^S84w[ Ic-rŔD(##H+V:ZSFvgl^||&i>[, uÅev{c< ߰t*(" aj!Vqz$fu>SZB؛(iiZ}MIV.-2SUJ&<4_/b$I#{XO9ggD3`sL,M :hHtXA\$? EiGΎQS &r%TP#'B߮WW,ddGWSaߎl`9YMpX/m7oQ@~9l,zEcFޓIvp{*š+ .iVވS`UzM.)ޗu(wwԀ&tt3Χ7q`]Ȃ%<: r*Z}ބJ>8Gu?)"Dq44z!|s8嫳ã1{*PSjH/ oDg|G0Og(%c"BV\:Y_v j+("Ө92 !n bl5#cLR9<.:}Pdj.(E slʹdm.%ڳn0lޚa HT4;E;u "f {:c8fx6IN")Lc9*[+'>VS w>r9$W+ĊnXIo9^/{:oD$V|E8^Ä#6K@3nuc<.g}<ܵ׻.+\]kmw*ݻ|#Jw✦_~M> nLcߺm##=C ]%TW! Y ǽxj,fmp-⍦a_Vɛ5"@gnsn5w؉GTEcP%9n4breSRPfhA 3p[b6_-rp8ɟ@bfQ6mY # X(O3nOp@)Auz;e24 =U=P` )r g8plԹ{47` iΟm$2B$ގ{f|"FuTCGi`!A;$3PJ;TQfQmstϏ)>V=rB2]RE=(+"+gS§Et;Fmإ{ [-!l6* E4x3/21ImK$COʨ 2n6E @4/MpdRzQ1`"l~MrJ{ʠiMG+oXcv^E0Uԇyokk ;9'e|YFely˝pL?,l r8oNBA;;{gva;)n2p=cyco$^(&$]:q("Β2Ǩi5QsWeq:q蠄dIaMEp+ßmE_-\_T 6"T~¿%plfI1āqV x۬sA-s4>KҏfoBό֤;T6"X2ǔg&#`a6 EVȨF|2FxBC <3!W+@/]@2;euNqt vdkf`237=d|' SrCw4cSdzUc'%O,{{ôhMq7py \]yˈ 4 -uf/W$:#MRID퍋:&Bƽ~ k󴡣 JSA3wWvuKwg }Ho8=K :t.<̜Qmőp&`U~DgbW4%QR;kwfLn^:=;97GWvNϚ%r3cэP Vs } h9 3QP(\v2$X*Y?%WϬʄ5ל%E$껖cVbp\=b٣u-^A$ rrQ\n-)=6,dCU%p8D,c?* t)g2_d@1ׁ)Ȫ4zi\^,t9nլ@ D\ zy%6]SeJVgl<A#]Uqm RQn zWe,'+:=hd*bM/F1bghpz]!J'(t#d|B/0D;M%Dى4!#:zՔhl gy{g[Dd?5B-I[Pj_h$7Vï$j8JΑDQ{خ, b^# I:z;>6X2 E:HĮ99-M*j?/smpMqD}M/Έb^ 2_- L>EiL(sR<'֖ar-Iwdؑ(&H)YN/\0^<thı W\$/.ӥN0!DLB5!7W =6i8pㄠEMj$%: cZ67khR0 XB.˥ _DJ)x{ʇ5bƆz\ U6k!)dك}`?( #m^NdCS!F5L_ wd*8Yxj-J_Ro$Xfe&|\Ee /LNG)LK&+?zM3:FqUt UulY 8VqȒB& k3QOh{HW_FTKJpci^N@m'1S?>IB2.Ki7P4%ҩ l:C|U.uj\}IAf:dE EJ-\i?}Ps10''x{063hRAcnm[ bYu_?&Hմ2Ea@:Sۯ? 8o3NSƚɐOdFըjadɉLlGFOObҽ6YnM,.}c]R$ADx$DCkyq^N節a)x9uY~"o )7Yfv9زSFo<JclKR^Mmss5r60x^X#U AX n5C  4@&I)@hRlMF9\/0q[ٹ65®X2gccsF# sWt uq GSJNYpz NSn1MwN;[|^10DHMkcsfЪ|K(.lHs^# .&$R;5EALXsݙ憗^ջPJ77PxvbHRN`v`O$qKM,aY+JBH)f|uv\+ !S~LKyC4y/4wwGVPf}fTwR+k$%e.ظ j;Υ,$̼J+<₵2U鰿MT`2t񼕗1[%rjB؄ۘMrLbKS'Bd,-{KK ,fPgi8F9UIAm+F]hjz,+ΠdiNYUSr:ʻ^=ë|뀛=H 6ѸdTӋ: 0`BK1VooX/6XDRw;s膙Z{19!ּ[4ȍq#7@rԨs(6p| Z{Wf~GD-9+vYDfH;h szX3-!zjΛf9 )s}EϖheLE +(#)&At!ZɜTX vB`yws{VZtu J7=jLH}BCpID^`/ qT٧S 2şo%(U `M _hvlBtI橫i'_s-㝶D³]mb Q& FMu]ɒ!eB\t]b c2]xEMrYHbU> Du,jf¨m)Z ]Q]mznoj6qh?/se\EM&:@'<"I PzDў&C5[0[[J[t\^/u/S`%ةL4GkqB.L܄r3-qRF`^t]&זP P:FpXVT7I썃{u_ۥRڡL#1 SƫpjJw?܇v7uU}C8ZW$bL S6'º<&$hV'"-Y*$/Š믴C98=¶< @pa6b~sc30)51zJdw/Pfޏ1Rʉasλl5{q.'Y$\Z%}~CuREbe|c9I8 lQ>I 7WN<7)o1 WrkGF.~kc>T:EITNo2K-͈g @ N:32ł.*Y$*4Z3s~ͱI5 TlVj@ء$JZR8(<8Qg=""Sn:oĕܗHWGL2\@+&I(c.0 ֱ(8 syF]qmAnET)!4xlM۝3S IEA-9Mp,#l1x Ug Kq0j:7s(y>XP(  83o^ &+ʴžZd"LCUݬjCo;KCv.u&~>Oz!i(:Z{5>T.x",:F(RM`fS'' R{r]"W]F5TyFn혋?h"W*C$ j4ЁtXt0tSv72_o‹V%'(ILx,SAIF)[gY85ל0ZCaZvu@Chl6(giwH d5p? 0@2㛌Uտ0W5&G8NT)DlJּsM%AyCc .*wkG EIRx]LfRXM]a;"zĎ^ʕD:27J;4d 9-(3>TҏS::Y9f?]q μ JsIyNMqb,7F:8.v&,#ʕ!ΠWR"v\oiE IUI͞f7C 6ai'aAd(NYP$29/3׮ھ˛©h͎;[pp ªMsf?;^Ԟ# z"Flu G(+_Pjjt: t tвYg]?A*t2 4JAŽ˅yq(C-n0HĊFRq/pU_qbu Iњ?CQ'V6mDΒQ%@!-QBṯ,Ě82:x?~1sF7j,IpLur ߿Rr:_(Tڍ&5 ѶN= #TyZ!dYC#,9 q~_~!'x2rXjR=N7쮍f][sЅ _r:~yrv]݄QS`sp:93Ȟ@>M`.27$ dGP&b}hO ػ>&;rbIDüDp[*"ob* De`ϕS͵uy OHô?X,N)ӓ"4TGݭ+RV}i6gr_3BlQfAbEX= RE,8Ac|U'+9(6$s.#eɫNkb8'dl9`(c2ނE*Pr 1:Pc T'P(76@(̋#- MӒᨘ&.*/hڰƲwCFA g;;ʡws9JhH`뺟knO0 )"^V=*)FjN!=QN9 = (^HԖZ)uCx+-c`mVnq[N9qt: ;^g$*;EL~97WzL_\CM!Vg[VI3r,4L X8X]PMIӐT }KfiQ n1󱶀jy|5?!7"14I"`.ҫaz|UU.kj &EvF!:u3̃o~|;<8|v{KEf4oSA jh˱n۔adHy'lE%Aan"\{qsJ$\ut\V0N'!Z\<, m|r,'⧓8ȣ3㕧V[;غEQ~k6mqzgk{וcʮmJ:`8uK/hkϽ}m=P#EC6Hi8,O@L ^r}7~n$m"VVKJ "wJ6Kp.'Ѫ8ԡWO/=߻ܙe#ߜ ~ղw˄º@8oI\h,?W=W*b͍KqS˙?dEA6MW^7lk0z(ᐬ-TyWN=E9 Ai꥙&:xZ1Z_S5*C|wnhIe9'U) |ώXb՝'JDVc4+Wm9'Qź'j2 C 9hTC~T2ܗ#] ձ|  y6yF`-yJ}9un~Ѩ=h}w)7N_b㫫n5(]X/),oSJoϸ պ+9*Ah4J:iC#QExz#җnwG O~|&XV +eԆOqSŤjB2m_2#k qE3F%a쬔 IBXhM뮉]|kex*It5UDLo}sW h3<19⤦RpvvN[|DcmPʋtkv9ʊ-6`Nm!:=a Y^/Q+wHvV u](@yk zX.$Z0qI*T?28jy.$ 99:xȓJuT\nkxc v뗈DCD͌n'p D(];<81dF0ŤB,6I$.F낌-e6IR~ՠxb|+Y1^&PuǵafVքqdu28ʎTwcaSF_s{C쎎wIbH`|lU~$ae&`6ivx.*bϹ﫦0^FOpl}^E1 nd Ri8+&WXl%>SpNwZx_Üb'RLsI)"0 {U"B 2 5 g>6S98RuCliT`~s: WMxCpj( ^H~ź{7ĉ(iibw7 Gု(97ځeHե$B1/pR]s7֛/8@up1%pvQ'a5CPX$~7Hze9q3!UE8 oh;~0N 4=F㱆8]}kT êlhLL@1gAxmV_u MSnԢ%4*)0aGl& oQ4C@2NNEQ!Nm#}{9P UflEIWA 7$mWan?ϝ"$I/9Iqx̙&/SNh[!gj+MsU"KorLLarri57 ^v?k2]j8]I,Q"퀝s5r'~E\]q KAėC)9vf`jh(JfGGL 4u(nY[J4QZ,NIlC䣵v;c+~8s(u঩1AAjAIv,̂:R:cʆFkQ'(9u(Dcsoh^spC3z!eQNdBM>(Na=N `azO-! !Z-8l&1{)EChn\+Om,M?ԭ'_(.Lkܯ6v7.[^W!Ovut^Qf$k02LJ#9)G5m$Iϩx# 78by@*V{M2aLUpNr:VAL0ŬB-W=ז|Ɓ8{N.z">0r(GqASk -2#d bnPuXBe5rʦjlX; l^96qN?VNJqEz~>VK y8H ;q#_zpkդŏr+mz2U֑Ylea $F&!|Sqw-lT2$lJ4yӈ#0.Ê-lKt,h⫉E6O;zyȸ.yPȶ ˤN54cDD{ Ym+q4Ib`;X/0 N9$\\*rrHtlurK(6Ѳ1Ru,bRBv7Eg!L)Kj.&"ˏ`.z il:ćÙNyZ愫'Tp}1'I:=IlTTv匔Թ/qT(tn*e([qfJ\R,gj7Jj FY$%33 k1yqy}f# 9f'8ŗ<K%r?I۪gJb^r~4%2EU+=CaF&HJ҆*(HrVA# )s5 ~i䮷}y#jv01q,eGja/4HWW֒KbY1kC*-hcT|)*L`)b46nieklQx#i ܬ5,lji{#*tN羺wu*vu*K. UaqVc\JIl e|"GZX0en'e큇@^_s2ԗ پh&Q\zE>bRܗZ{hZkh ۈJ5Ѵ8{8Bkl]¸ }t&UgFt:a%'V?$chLa`JvNH¿[s޽sοmپuo.<߾{+3C-y뭯?zzѭ_n}-ҽ'r`I? =X{=I0Lx Opl gdW1tRwAlYdžVgBnLyX:Jb.և t0:m U_8Yb=2mnsϼ_<{xcu<W@5Z|UyF&ۺ IY:P,!/ߨn)xM9Ѓ JrN$O RC7338OR' b5vGФ}<יevj?KZqQS`9 ~87D@W\W@ F@Jv"w1ɾn`X7!aoWѶcE0I"xT]K܎lX-al[ g3{r -f:3+_o!C?06P&mmEA Vb*ݣVۖν(ǝ/w+vXlDdhNyU ֝t QcPOb#%nޭ$m7NxA~ςޞ[6-;/ٹ2yq^>mfm`-n*ݯ|>D+=Gm]\wwiM>&8/md "=ɣ,e#Bк5JV.@\/$.xT$ U():ׯDRȶ|A޳)('z`G0{f6/%1 %){Ki5Ns :gMr#M:+qG :1&է ,7y{ ;:OR&X-~ + :]\ځo^0m TQjd\yŽKTM]ǔٙm͒/GIR1:C[ VIizZSDg1󃧽^bzP~)<߮<ǧ'޼w;7MSpVh tvց x-+\$aj:5[[_g'odtuQPeѥXrH+KPF|匥r/Ca ܲ[:T m('KB>m:mE%J<5Ib?$++,gJd_kfhK+uZZ-mvrhf/,o//oG/VX㿬ؗ?U.P?raZT`ŮsZiZ}8ʄI~^h:5a-)2GWG#{[\|~*ODYŌULC0"g~MO`Ѝ%2jz> gH&lT0;pxYC,΢UW%E*ڥA[4GDAb>Bg8:ۋ?{phO>"Mt9)GZ;HpWH*6-t:ߏd$z?2^a*mge&?z # kp{7n5T5q{&)-E5-($_H[`?U?M ~G Q)N]isiɐc+ۖİk,t4,~ۭ 4HJT F4H嫸`J^o`:^?06enbC}Y0zػwTĜl'VawSwxAUEH5wA3tHWCo.g%2vkOaEj"U1A)Nyx c-U2TEFUɬeoߒɝ2h3LJ[Ӱc`srGbe RtzV13|6J0Ĕ2 ˟bf`獂NfCۻ) L7p85@~Lwi&.4Y_XPyވ2uHqM]_K3/?ĮS],%??:~Up _TLSO_n9*9 Z7#:ެ=^ $,Wqi ~lɢ7fx{i}kTcWNKE+Rh-fј5mn#JYZ`ޤQIzE]t6VF̱4wQp,/$Ck`,Z3^\UqjUS$kd~1 }^QF*MT0YMs?s>or?Evl%g`j 4L8~ۍ5k"MSG14JQs_ĴCcqkqT|,+,Y _yL׹T\7SƝo;R]}y>=ùiOsB݊ϝ-~$.=20 U̶(_Medeϗߗ]_; yȥ~di }q#h\_,t4EJ\0lu~GRpr'J,c`<3R0,1-^c̙b}rtz51EY䲣O9 ]4(_Njɰ)pF eHr,#Gcܒ08dK}'9frۏ~_`~7u佢C'ct]n""Ww}GSwrA`#ގ^{%WCJiMR2M?á qgq*ph(wZj{EW\eʃ R:npQ&KV$\D&BpS vzl&r?E)֙AAF_2|mN>ԌIv/i^+o>pieq.p)<нEcݘI!ɷnۯ1IB/"\;q8Kf0 Q~|$ aqn }UVҙaѕ^_7!1X VAR'ˆ RUN&vH~)TΘ67ύ{&.50Wi6lCOCS1!0z5!Soo[+iZ9MX9â[-?_ǣh@-2)PSLd6hAfX3{dVl -0hz Z&GJ=tJ訠p'GMFeprqV)s3tG]4/)7D^ąyM WH)-ؘڵ.^6J+{(L bMj2nq9]*bʏI]kpny2iUx,$kBr!x?L'uQЎs;+V7*}CS>n`6 _6yejzxj@Twq54QLÄ%/N#L.{ah9A??.@\BkZ 55z'"xfERPBI/̽~t',eE✒LrĊAAH6amVϔɆv*Xwʩt=ܤW,zT+0"A )m(.Doȝ1M\o[ζBT7if4턷ZNB܆K%la;f:0}IY HUJO̞صҊ$"6o5݈H/FQq#iу[ﺭVi/G'ǯ^֎5 K++nБTV(ͳ3:Ei, 9"%6m C7/^:<8#6dxm #ۋ@VanIN+4JX`A6lO::id^_nn-L< vQA]mwnwOtW[wObaeou,@!\Qe]{1LP0kǝ93,]yPJ!^`8^ޓyi13jƏV٧ܱ,P)2:QZSO:^% \kt~||nnVufy?K'njVBoUȤoj&|Jx,. nLepߐZRGqҨyiKg'>Ɔ-8"wȶCĪ"Ek0<摘nXsk=Ybo@ Qg`aI[{ C:ى\Z{E-5c۠qLnk@rhc23*|?6oo:uY0Q"ieyKDey S9pk|2͢)Mg'idJ@&?M9I:}O2 ۣ1^M%PawUm>&RCn}jfAߌVK.FQ}ԙ@t_Y-^Avݬ%E<;B!8 u'\٤-ZGJ@q4Dqp)!R-HgkH8jc7.k|rdn/\QLl[ذA/ &\Qi48ٺVÇ|tWf*~Ep+[wҶ7H'XCum>LbPwӚVkUe(ڑTp J3'P{p\|qRDh7[Nd@~bn{ J0v,b6PToo 2oȸzeۚTbb;[GcV <-ik{ "fO1Ohmc%/:H['e{Rr\(ٖuwV~NzK_=T̞U;gm>(XT]rQqوA >a`o4/>ѸQ#xd/rWM,H$2hccV Z wUt]el>mBATG/J[ 0CkVH0*jJk<IRBsLHuܪ@M+,sAށ\yݽZ=" ־[>b>Y^C[SGjgw`#9ƹpoo[yOT#/+Pz&q>L"OQ_W^7g뺩Gi~ yM;wv뻐0|r{nu.Hd]fw[7e6b0<`x'6\L]5  Oa-:|HWl}5/:O(7_^s6e(Yy>|xU&_eQ6~HFb!AM0y 'Le:r4DE:f0mr'x!GPǔ} P%tn9|RL[6,U6&0)LtPq@B̰wԥk+i/J[^8iC/S 5GBkf).}0r~g'h8"GD0Wz(B}L(tXDWEk\k5Uv{2KG%K݈`ڻ"Qdg\A|?vLC5#x,ѫ7gss }y鑖(3` iAisWymX8cqnщmPQi^qʗ/G'߿:=27 `&|OOO~|}h`sjWɫ_f9w6 {I OP0s؛up0V>7'/N^>j'c#ca1](豲N9չ6[| ,~~Jk3rg5'Sc&_eh!qm>';1&WMsHi3n@ HR3UQ@Su>kM5sqLL-% a1FlPVn;uO5+ub_g돞J*4Tx4*zo`=џ8zyڑEObfS!m5Oq3'*_ؠ;ݕUvK[O=\8{jy^eHSlO[u׬\hVRjRRpqyL sO]S.t[Aj+Z@ZȪמaޢ`͊z8Un +8$lo p<5ha7tSV Ss{ zWWWi(͆k Sp0gꊨ?${(SV/!떲YՇklGyq+(ڸcԽF؃z/>뺨6ԭ/*+Pq.puwKK7ap?yVKVI V'Dw-YA_rtX}ku+|.dp]eq!g.wJfV5nD]jL1gTv;msZBUn,aG[TWȞfyobOMr㸴Qj2m-gYxu`wk{swkf F]>5ovZαQ9^Lςrd:h\&#L3Ay; ,yֻzYۣk`A:H\Vwğz f"VlD-ħ޳̺O0 9oގgB9uTM;e|GF۲>XM1RkܗdNwhӟ <غ M/-4`V`ʆ@>M|F@r ܘ5d uMNdcp1KGeHrE[Vdam|:Xt2h5^J.khM@;I7Mgܹ\ʞPOޖчa4hWcJC3Ft,䡷9/w8o7%4FjU{QOn%׍`xb!\5E,˾AgD_c\|ҲrHué9hӾ9B@}U7jB1\jnj'63/͊;w%$`rY$}k' 6kB?;1*.Me-P6ȬU")z-,(q ax|sr?:9qN02bWiN2iƷ˿6'v?ތqGo+WI\t$uPyC#4e19"9|ʐFY@Ll[ZLsqsץ‹.loe TSSj*:/yI|AE=YWMbiQ (KFn ^94y%UK5ߴkHgVFUv]ŕe 5hEj\:l/k7sxAU,'$ A}8Iqj޸2e{е& XNP/"/`3~56YW3sD 37-V3W2>Mn>o7f`QUßš/kч?9pIY:;pky)PQ2?7uOZMJ$B&y?X_(~4JԘ_`qY;pGYiVբp-Y(LJ$Ѷ9n* dr:V`4բ.5r}F9[dg5ksf~͇&_2MhH Z- SFzd궝+c@#[utI{*ywcY`6؈ѬM2~e X90,3Sq8Jȵ% V`]& 76p9&|@[6tqlPH N|?g(u^Z$(|:Pj^ʝl\, خHk/S+sBWGîOL̂XS@?L),fx=-3 | 4Kk6fsR]3GS5@cۀĶn yzXHqV~Tca5"q{JEf7gyJ0+~v$Ap/oYnfmW8~o<ᄘrb|'OS/~hZkSjZƮ1⧂xS%}mI=.\]$GH\!0*f>Im\LF+>2·97Q -)߹fR*rZ<K]X r/5T.(Ǝb©+L78-"Bp$5CUWk_'Pvh|QsoVf*uӛ#EZA+F9 kWe3MmqCIIXI|'9,ؗ  :Kt ?Ԅ:ިֻwow)͛sk^6DKln[8M)VqUo=i<*2YhDi:%Ѭspջ6, {P5f4E@M.ҢK`9`מ"G,W)6W0_&ęfS{^caT &FbO?8SGn %%s엾kVH̛<-cSa`iXb)oJaDvh}%էQpL4A UYn3g ^a`!+dRM1 ]tI]IT8C̗1Hq" cT%-ϯ{1fgCMEӈ$M n`~6,;G'捐fbߚ"3n_2BEZ5w1`7wi6?4m_wOup؅2՝yk{f wZ}cNlS>ߨmĉ{NJ7k<Λ*ZV`6+y.}-,uf"G0'>rRU%6>64ZXC7[iv~#ɾ,v#6ۿ~&ΎM(~@EOaDJx8QLwz1[s޽{۾}w]x}nָVf0o1?0o} g "ö[_;[[w6vwPA*/Ƹ HշK =PzQأͫ`O`o}M`dΩ#`!QqfȎ!c"7[x45<tybJ?}&x%לpy< `'8֭.0sTk$O׏Ɲ[_Cgޜ/ ~8899xy04'#BFR`b[_8:9||GLiIp>89;>|$xӣn8[_/ Zb9G8&5'j 2Riu; w$(/R4\;wpF0 ^] ߃4-_ xszGwx]{97lolG{w|?ܾu -p!@[ #XkMt2Ld>/cf:Eynz:FJǜYCPv ۷\َ{FhY#dhFzPaް[ס*\mm;wXmZ{יSq#<"1gVۀ\}Ju&b*|nW`-IX1c$ \$y<Qhu v"_g4N&h:jX74eAY L8Mccpq]hWo}uG y"A^X߷Sݹ/7Y"5IǬp"mK\r s Di 1;ۆuopnO@H/s`czq 4օ]*_Db /Q`xoh^~NoôH v 1v9:9=~RScZ^b`]IƕkM?еTDF\®(}>"mP%Wuݼ̄':xo)A aBӣ7'G=/z/^9H;hsl+fK#52syFAei~W؁~!Dԅt9s bY8wґj }ƣ016jVP][m<Cckh}X4.wӴJX 8v`[gv:;DӜ"PޣMgĻNFv'R'#Q;.wYm@S6`d .xXm=Ȑ+B?!}z8qP 2#_f,Ż<@>|G&'^+Z<5, a/*#'|<$s`U{)gd39G _S aۥc{. s'bNQvp!7ݙ@9ceˠ\Ӝ,=dirxo[[Xk)PZ{׶^"٫L<`klƚ^}lwn޿,;rs/B Y,αdt[wIёW.u^O*$BnkMm>_#> )^~1Q=>>yĂcî"0>|ml[ S TZZQCWю*S-O'RX :~&y IhoX[ qPS3o(Φ^EYY[.}2s:qQ}RxK21U,l[turjƝ|5FM}5fǼ\f/s x*}IA;N^Kne_pwDFq#W.!@ GVܨ׹BDv> wSb_ CM{yeU#nC͐%t8ӲkedCIcMFI)S_k&2cC]S䄈1#Mn4|+*)9|J7&0;E*a3Ԗa>E|"̈́8=d<7-崩WTGPc^FC;b̹yXHNe1w_(P,{P۽zsM( Prn_g$Uq&I0[S/ m-t0$ܨS\^sБ{9nI\&K8L T!U^,Y[+ni<{~<ʊɊ~{+Up2V602|y )b0yVg>C2NsxQ~I_R+.ƾ.̑L8X$rײlEқ&RӴ٫-[Fx+y6e-6ZTC *3}w)VW^]ðaKN9Dz !NI?=s_6 d_ם; ~/y}+>H\⭯q0ZN_M]ww{~2e;2@Aphx! \ Z"[s@ 㬉;ٯ:3(~o$a86YV^wi\ڬ6lUF"[|m_<#_H8X x;pДm2 ~g{gG/^??8;:puv_>;ZHOiV8h[e[ o"J6e/sYG= PcH*1[!Cwl9܃hj)_UC,*%5M#=KC"& q7Ğ}jznIP8F^T;͢sQAP8 x[Ԝ}Ǵ_\cSx|~Q"NK2/ݗ 'Ei'))Q)|;Wy1GyEҩymo`Q2fi55~mlV5aM{?h>vK;mu8# ~](gWͺ٘%EY=qmmU=%_p?qB_:y hٳNt&_qoy=(hYg7EgܵTk\4n33*`a8XA$7;&¢0 atI"Mqzey7͊Rk]Co!0՝pvCX E8-30C7X&BםF VPC3j2[_Vt8_!^C "%jُS1Ju-٫IF]4bN9 nSJd"=Xq(~.:r/a^yoO&8"+ ?iL`H.B쀚FMu01\1ba J'ܤ]Ӎi6$& F pѰ(E|DEbS۵0yuՆ=QGra-Mٮ%G fTE`yFNApyaae\/ג%z }'@sA~0yz^-LI=C/mmX/kћ!H~NKRaQc6Q-/otvใXcŐ0(dc6Zv)e 4sJ>Y"әʼ24*PW7D@6j 20>:%=@28!p]SP,t;:6>Z\G=!oiwoqwvR|9\TL; ܚXU߽|uvgn!_2{[jUB|_J N 81Q'0ϲh! %Sp2)~W Gè?;gjuN fNȼ4ZB\GN zLX4GUc&L\̧-l+;˻!m2E>XdO+lZxʊDҤȾūV(IUx=Y/q|4#Q8I5_KBOځOTQ2EVr֟Z| 1 baM4xʩ6j#+H@\y-;-FMIir9U@Zl͔ׄX?e If؟zU*=hTk'ZsNvK./:GXNFL~%%]-~X+T7lȩ`I#9Zc Y Q5'Win6Q߯uaat {5\eJ@ NnM:'""DeOv pϫ;8uNY₰8ytrOEp JhG8\g z_VZRjQ \$0 ;mr3vA"/Fd_ Uwǘ܈2}&v"LNYԫ2Ryq7b0TB'{s[~]/%&nHecʝ.yTʳ܂OB!us{%Ѣ+3*"n)$,t{T#jƉ.r*UkMllˡ` T(m uɯhjPnB\x  ,Ϫs.PՇ0Q=E^R4hq7j-H;bQ]2wDqboNQ{0<h=^ikRyR˭ė"ᠧ#TAC(|il+t˞-q|q:i/Q1lXʩS`nu"FXH*dKCqRS#`x|iwpIjsF?%]@L\#r/ ۙ*l^]F9w0g }m5b<鶤98{5sat]$f[e/hH?rLtJVAuuKհ VҬT Z@Z"'k^PaMF4]?vl3AR=|h_V:ٝ&ʽ8VG5*.)L!'185W7% y"RD%65dؙz9Ԋ 4.P,fWhuuA[YPF7y7UV2ɾv 'RoN"7FU|{y얐s-*AX"R/. < v0i-˷;mh WSt_\+a5[(S4"^eP^̷!b 繸#xѴht=5kU'g?N<}㗧Z'cl;Ec6Xg(tȕ뒢NgԼ׼;_F5-vߒӇk?Z2kc~NּQ8I^ Ƴaԓe/ւ]{v~edhMKpVg_."]J`EL 9u*zjr,+h ɿֽoU`Ɵ%ȁ{z3ĈFji![hi'y/nOo"pi0Q6w S^t/El >_xJ<@9<)2k$륣VLyj+"W7qNaeIYct$l;?s&盘e3Jzo>5ggaϝ;޽[u?6E4P J4ˣ1yQ-:b;LI4yw7GȪ F >è4`'b4Ja.tp g$J섿\<.f ?:bDrL94"ve/#ZԨ麲!m Ѹ(UO%t }B FGĩn#-qpgτ b<8yJL6L$e^l.[C pg@2?9EN;2xq;יLHYQ8FN =axq rqWNyl{nɐjQؒHȽ%b p^m&M&H?P'duͣ0hZX^9UTw.Ȩű?9ISz }%thqsĸSh-;_碟(M0>ǻOF ڱ@ o ̅-14u1rfgV !rbfK) "E4M%c*.8>?U!hrpD Z9* 41JJLIvv%pӑA!apÇ Dkk+ w$G' ~ęCUrTqBܚ" 2Rӫd:zΥ[|Zt5x[vA\sCK+/s}7#]Σ!f^[%߾ۢaӢ ſ1ܓ&jQ廏< g}!Hݏsu>lj"ƳI0rSj>nߒ:ljznLŅB; b`/&BQBJ/GQB*.jBNjčWֹ:%0o hYеK qPNw-aTjX8h0`rcO ;] pJKBiy8ُ fcHܠTٴiq0=TcML@+bEYNIpf+A=1o?~#N%6v7v;;{w#}F9x9{d@Kә]\%64w$8:^5R6O{4l (U$-T0_#c܍Q [Q|#pp=WD]3}O#<Ňf"IP;()p:@Xb'L4L3(q@Oɇ, iCupp2lWƵzQX ۢF6NF)|sOq?XINOx7#bCby4'-CoO+W[DKa40<P&a}I _rOH= "z5EB㼰q̕2sI0TX ":k?pTpÍ=>=Õ Z3+F۞cE+_Q~p:|U@8 !@^|&%r ra (J pvvY!=SWJdE:Cy'-g)RduԈ,S±fQ|H.LEfT `ef/hxB29F oCY>v(6C xw|ο^XxL1̊^ HV ylį+E&2Aם2" X@iwV@SFQjw{ا3[K(8Sg ` ?]S",f?nQDQYc<T v3v+^D}T;ҤjC4F*3nJ_yZеTNV5Ipi%RicqA /ow'KZEgp _?.>cU!mO~E$*%BkR3?lN8f@F5Or!,pi|ն a8T@C:Y(npͥ5}'v^DTHl핳w=X`?寿(sĂWt3׻zdzX_OU!gB4:;D&mV^v|l1zTޣ!ZD[٤&K2xS+LiEbQ6;r P/0?fwi0p6T ?>Lcӊ|+%6AX]K"OTⅫpOHƒ%ca#pLaJ&QθC &!U^`H8ty>:o\,fšnܚ27I.c/5XMwJ5xqaWiJŸE"!S`kr Ά[!.*3U2w]ua=vp?\_i0㐛dk$ ͉6ؗ:X$(`oF W|_ x^X?OԚ?q8{,8LXƛxM?ds{ =XI𰰺ml@x'q:OK k$ v5U :|fd[V_dSB }ha[e6a[U#,NiDˮWbt,ZCy{)#59%pxh^ñJcÝYo^e^~̏Yĩym@$- ) #Xd1Sz2AjZr#F32Y'aOgΈւU.+ÀxXq`7ɛn9w>^Ӆ6G{oFL`Ns1TBҹpMR]ވҧ*IrۊhN^a+'.aaaY@V xmXR`  !bC4^s4aP&D9%iPL Kvo( $‘%{LoE=k j|a2 1U}XƵ4ݳ}1cJ\Y͏`l-chP6ԄBOnL'Җaj.㎂9i'ryAG -3%JIEU d"B̯Po ;-#Р"('GOi㯛c Z1PLs4+xC⎠M؉_c4&_UR?ݎa\ҹ+[jUD@jV+=amh9 |s@IJB(m:T֤n|'hf 1o%PRDcH>oQZȪ/J&'Aug 0Ś+m*5E%,|:[v"s Bfˇ߮=UV};e7zP0/F̩ReP~Dd?tV&1[<ό{jA芲xJFa֬LSԾ]2B:v*y$WI'$H*t>uQV]a{FIcԳKr]n;&3c:?:%u5Q4L?GC ezv_8)4GIL1QP ~4u:Sl;0~I4Q.YxHKrN bW4xCd@$戙n.@dhM&I!ݲrDK eRԇ_2,K؆Je;j|.\GXć [5w:"wMɣ8IJnDu߸^ &X(!TzsS:8xBB Èe`93kSwP.ZۊXb'Ll[!IgtT&UH'S a=ARA-vڒOBjF<)vs]9|#pMxw # [OJuQ>m(Q^l&(%YEڻZy’ȯK'W3-`*l% $> 6,h^j (|A=Oc@B=t}pE/qs=G,Hv԰ڸ( ˖34È*(jp/tsy>pٰ뉪 R̆` ŒR*\1{zE^-eP6oֵj &?ty.s8/9dIE؟fsZ lÐ3Rr@b~Ƴm}kq ϕ , zUfPyḛk Z"lW W~#C:Sp8h`)]S Ym<UgCGFo`E,jk6'ɢ!*LB/v\ ELoa; cIDC+|q):WT#u4:NaENWX}{8N0,K^ 1^s/{K1dVrDkX4FY/w|)0;z+U.P`a&N$u5?Ăr [,/SN 'KlG/{t/55[0бN "C25W͖v,4w,T>!F, 8˔5_ !P],B@q=URP ^-eCY?X&{%\j$d z!m&Ӣ05P9ht̟pJULTP5Y*`EqҒH"-X.vُ`MP=X{ظG:~cf<@]^-(jhq00v𓥓 İw@<68~iV[Ӳmlmiuw )vT ƿ7}YְCAw$w NAͳxb45tNbm!bS<70s0b ݩ67u7Mm&)z}kfȦR0)/TbfhʤJl:A(~BEFcUEQk,.R^ oM`Aj_ʜL~V`_6h, W.ܒ1&޷NRU/k*Z+3/h1[gJ[ wgW6 LtÊMӝOa4Ӈ4LJ\`_8cG,kk~4ĝ1|F3/VtfnekAL酀 gw `pCB wH\%羔L&QcMƂa j;Ve8UGopxMbe36 xk8pLڂX]7-ѐ3l9k4N_cce~0M/8GZ5c;QЬ$ZLgIT?f YfwqzAn#%hy 32J ~6RDa6E6W~<WY U@E1ԽI>2ۜϓ" [spEx);A5wv0.&#Ҽy@jإ_.:Y> U?%NR5U.$IeS,pOTJ|Wޞv@fQDo;~ܶ{P1jrg+F/*T-IGf/(W3y(bKsRHhnXNe aL8[üЄyyB$qhh42i֌ufœ8V/聉3bYƊ5ʠW!YwWny@g ' LO[$BSٔlrb->Z+LvUg]Cpk؝t!1σɅ'>}_m nC^/;Est/˃ǚ|y" ʹ)Jg58\.`|(sX筥/z?|qJl$/wFYM O^OAN5nÒY++T=DO3\W9tTAKVAPW˔V wMxpFJì#Pz0ƕ#/; m,~#gi5mIQT͊K˽ Jnz_&|rR7 >Nmc^w& H>StK)qޛRcr.B:$rbobaݜ'ISHNMdFЛ*;f^f8/¼x&gܬ #CMވ;8rOgrPɩ |)2({l;;$[2`:?.~p/Wf*VЋj`HbLBz_A#,_]]uy]hF ~$,#;NJ64}2L?+4Hkͦ8DyDm S7⴬>_-ּ%'X x@x ۙ4t4 nWs+ϭ̈MdTxg۴p#mk0 6LFfQΔ3LVt'i%9 S$ґ8 u2N 벵}ŁEʴ*PJQ:h\ZGаqm*RW anQ&S(aꤦ;Ty5 NЮ.&)LX.⊱RT\NDs;ϝKp( |m|˛gح`Q#(3t;raˎQdw;z@߈G s"7ٞm$^ 2MߠE\؝;| 8W:S6z2 *M^_pD>aLS㕀#[ĭaNTK9Nb CL"ODrn8A@\}k5U(M?CCZvG{wStK뿝5ܙ?'w~q.zryei#M4~*DJaIHEnp)  e5:3 UG\^R~],\v5f_I\kK mTDg)a G1$fL6΀t]K;ak7p]gf; 晛r!Rۀ G"琔1_jc'XAmJ."xt8*O?DyNYkp8FȒJVWI*X+&CSIɵSz'Ke,1FzqShHTuR6V3)VMIav1.cCJX]:5 8(AQPyͫq5n&'Z8ŭfupb̦T;U`t7y• xtv^xNs~4(V1FUM|lBJ(8# VfU1f4tU;C3_:ZBǮ!8t.;oeXD#_nn Nx=4 <\#a1QoEr( EO`9jw6oͲO:S-F@DK޼4|\b^108 0BD6|#e jO>c{sIbsH2Z箻ڌj㏛$yhWOC4/RF/[7@M5ZCP;޺l]A}mRq+Tl}VX WJf:뱵Qi<_wG=9 "L@3xEDqz]m40M-82ڀ9qW Et+4p!Cƞ0N!̏fYa p #` fG6tm1Q5rN Qj)?FMX-;bt?QsA&KR.?Qrg1>n7)*‚81WIUQ4,i$ V":F?b G ypf6k8:;e&K% (`aMJ03wӅ8W`ǬZoʇ.I3W\oLO,V/lo )Ɗ(ݮ_ ҉]/n)<2J,nUQ) 4,\{|{P@'b,*m),Rl}A6̞qk# WOtf{_=:9z/G#Jwvݥ%kEIUo| ͦkI/(eܑ(Ecd ~ y+Z,k0k ٗJexoB|Wm/XWʎrI(ag 4hAyJ!h4k {,o$QPŒژ-* [h!͟87?t[m7R>'I\J!$ΤNY)S`ڑYq^g9qyE~+]<5cn[_`Y 4f@m" c{KPi1}m,>OʛwS8Vy_Wbbƛ㺗 >Aqu'9jW^+o[c6 wJyUN[5`*8><˺@;ɸW#J]vd-- lM i# ?-5~ѕvxdix\cqte#vO,nqOJ5fq |2*&7Jj|n񗏉3 ټOjpWu,}:*Υ'kn#7r·€.'Э|NƧ,F;8[9o}kN4jPNX(Uׅnx+C^<lLD^h';HHQ2ƃ %օULKaϪa3Zx[Vd$"L#1{IIz]Y#+ŒDчhR4 B:]%m: f~[y-dUAOL/:]β^9 fĂٲ#| #pjvՙRNkBSԝ j'ՃrޠClVZ]ԣv2/lgX$$@iwn覮, f\rJ{B43& ꔇS xgYKUF{t͹H2& 45êt"A}iiQ>wtj]9uD2]v&@ƼejȠّxO<0N;hH;a2 #4:CaV)937 CC{BA.8iiv^ O'"ڥd:6Ӫ|tWrی1c!(&N[-K5rI? ue ZsbUk\pVCWNd&d7t>'!P;Pl!hf0;[{ت2yNZx+qe^[#gf !$0cˑ{Y01o7 Qс*uVHA5@/%_Ճ]^Eǵ:W(}/E6 %&uo%*n&דWh\W /rqnzk:{y4Pݙ`Zak2-d>! Bc`6'`X3c_|}A:٫;E~+"~oݔK(6 Y5wLnFEKyjDKWNo,7ƚQGS y]Sd ao_\ }QDrb[}U:'F;g>H-ZG]𐄮j' @> }ʐm8 +-H|JF_zM Sf`?v)P@)VauJ_za&Dƽ͵|z24G&)]4&(3-~ztFz)I) rpL.5AG[T6biD'ϑ4WiP󂣃|Peqrԁ|CJ3~jWW! `nroDDP3{z|@zcRZ/؈Iu`,,nYΗM}4ߤX(Ɖi2+KE"˙agkLFšcPMY)s"tb>Ěet e6O'?KRA쯭F/z J1gP1I8 nDbRw4nc-Ipl kN҅[)ja9= %Ђldu8q0v>;ec3-Y}'seL51!37ڸanhI0LIqw+ZZ8x65n!̚uK"JןUނqaEVQY8g$$;J`{QB697k`ON77 r۲g$";ǖ9ٵʏcydG1 fWkhX3NeBXgm{lo54ݹKMw.oz{[+Oɶ2q\YNOҨZ|߹ӡ)_Lp7bv.xNnCaH`r,9kM_*SCjpWNL߹ ?fƦ{]hI}n#ml[,s'WNp %晿'&00&!H&S0<^RW~HFncΐ d޵#Y~_1:[ 8<8=4ĒFلu$Nvڍf"LWF-GbGqE8&DFz3 LV+hx2H djCxҎgA$]l@.pep{QF(tɟScAIycw%]f3]Jz|=eei1\kGD, rȘ .*{,\FiBAEuʝf"Xwaˆ8(۔ #И:0:xd'VDgQ!CpMrUO*d8uapLA0g/q̀.<:SӐǦL\b+Vt%db 5UBvr4[/^x/.>{|y⋧/g_ju3h[z ;/P8xDTܣj@q{< Cɯ6$ apb:Z c[c#^|vU}2u@Ql 2#x2w悗d*AOl ǧݤ$O?o)% m_2MlACv {?v6$Uņ׺sX"2c+G?~8"5e`cUّTlm8R\VTZGBqwPa_qy}ux;6;-@=*U6Lʰ2W{iø'v䩚{uOݪBYBȬI{gl]߀ W7p՟>]?N%oŗApcnN~`$:P Zaz &$\O!RR~ՌrDf0TCݰb jXy8 UkQwmI:9kZFc܈CMO )xGUkj0[IRZڧZ^-J$_צtRhGZycn`w:f(+"-5ou֥'rF Gi;eX&4ZkalƶZY#A |atFZ桚kbHc(Mɷw($/cs/q?{z JSQ[̼m!9$[q+,\7{S>8;uU昜'[/%l4 c4Η֓0A7UX,'@ZT}*3<2{]eª^qƙ\RHU0x!AD7௰w"87nJ^ N<]1- K[ Ѧ߹c֬>z<⣺*〸sɀJI[n[6kP(h(#n0SN=Ga^+͙vR:o gMl͙3hd'  許lR #O ^Y( -|u/e*g \SL|EQ:$.$UMtyx%!V逭dY ]2tJ=VAsi& yDS@wW5 F),FWqa!Py=]"7(kHkdqbdQ?o%m:[ju33tx|z,O ?*zb֎[|Mʱ+kBl# e%l( ZEc?JG:Aq;69rFհy>yz?'f!6 )o#{BpZ=_A к&}࿫}5XC V?YB1ZRŞhGI~A!wx-,CVo0 ".Z![ͷu+|=Dj8lSVYx׹r!hvZaJ3Z@]BM 8&ZC@jlڷv4ӥDUY5 ?-LGp-p3ˏAEe|v!s5,P]?,آ˿M :RwUb2.uI9QzHU5Ɇf_`RX7UڥvOؒqt IrۼL~*` ,)8rbC8LzAĚuTCҖH{bVkdΆJR7bVG)7)[wf^هsT' gҽƇ'?.cu*bb)*yÍx`BdKUT$ śl'k=zw"KbQ0pTp9%9lo:t#Ix?^#A"s{<*; % JGl,|&~\75lĽ3JF"u$3t8qM@fK(C*_=@{)Usͅaji(] NIPp9aQ_z$ab‚4x8L+FL# (Ln: 7ՂbY%:sȔ+q()Y޸~ޏ;ǡ]M U M~{#*\yi#"% ҳ#w53}UȰl栚jGܲ@TJT+R-9CF5窖2% |C8˯L{` jAAkе{W1Ei܎J9`q,h|JO&8Κ/m< ڴgƄMuo&d/ʮULyFx2^ |LĦ"΂kbrh8N Ӏ[D7=[Tl_U۬{cVM1\2Y^=cJ%M,]סXio/^X.@gjwn'_ m|QoU,d@U2㓕GI +Kwi;Y%3Avra h3ؤl'=5P!5+ɻ4$RͭtWVrDuq xa[Fyx$/'LF [|8܁v ֘c5&@seq/ABK/v7%w:nKȍ3tpn!V7ʞ^"|pF kw p+AcޘYhrfa+#g]^^6ѳ3 &W>Ѹ)qKYG4w+o(E䎟wD`9*N.͝TL]iŏ;'dw 4:Rt96Pdr]}~Nqֽ[W d+Qw EGkΡ"̡(/Gn,e2D; Ypxg0٣`o4NLJ"œcD lޙҸnImQ[0#k w9kG69QtZ fϥE L(m Րn[INC6/bxs*t'7J8VWCI y nnqo/glyw jsDHDmx+:i{o8lbm8@k F~sqK>bt{{ޫS|F-az/k.xVe|A(j? S9FCcQa 􆈻s$"l9!q'~KG29]$#ibMP~9 D я*"S7U6sq۹ De#sr\mm gWUI!n*$c%IcN 礤Y4]挹2Ҋq.89ϊUgA|(2Ӯ.btQf^tyss?áy1-.$msuǽ>3w"r|V13%g̈́@Pf'OKhPY*:]oQzb(#{&4l 9-i7Wmi1S!|g$wWFBz Q ҥ{R!]jCZ~3PR3cnE&gkI0Q4g6<,]ȘYh[ #,KLD&be9;ёHf8G}8P3R<$h؃ ^g2 x$I6<c#kO7Z8DS, tN+@S^=6FayY\`` x[oda8JaCa@|$|M!L2M"ͨ-ٖl)f u5f7WbdsP+#aN̍3U`)(nG ]u, \[mκƝ5w>Cw=N&a}E~{dqjrXYΆqva,y 3fDPnnb#q,y$l& :9GV͚JpRK+ xOynЋ(ktqKsUq%Suy#V.",*g8!qN Ɍ"9M G&h H"G5Oq|&5%XuX6i'4֘d*7dqmLtyd_J}f21fViuOL{ ㎖$Dr4U!wv4f-$)_xb?u`75NǤ&q$ɉS_S4+AI0cD r 3S@O#(MZ)Y 2;"MOf-R;Ahc$lRcщn噑ɪŬJdB`2䄉[?Eg:"No+$<3 p/xk C@aX0NM.nJ14.dhM9DZ<8J>Ni~[x٪.W%L`^'7yqGM$%SJV%+$]FM]zF|OHT feNMgyA܁fu!i[%ٺ1DPZq >Ge%&R[p:wʚ g'#^qn0EҾE@gauKB,C!ᎠY4h:6+pP"|H] =䊯)%D4q ؿ7 rГj*V'Lb WŲQDCU"7Ƴ>g|O 44BZ`Ad`<k\"K _!Q^=ϒU # O3-]~6:%\9mcy#%1EedФp$}q:ZEe!J.!YJ$Oϸ0)cŵ3ɨg˰d 7kIA7)i }H}ZI?cʗ+?"EDzvt:Oc';g ԚLkڣVEK9\DJFK4®`W1ZjDǤleOWQI *q.jƹVX]sWCZWHSNG`@Q$1]xO-Fp0HH |L],dؑ,n{9"'UЇBD٬,i,QU[1baz\{ՄhSYZLm&2$vMV)f[hB,MaRaOKB*g8=NɗUxBSKjy[r0jI_aqdr߆hܽMUIyIVU*,<; L2sP=jLķ|(:hXg@:KDS&gwx:6j?GKKnqW fW,Mv:6ޟ"hSf[̾őm;De&,;z{)76(8hǦ+@!J$0W b6 cQI'|Di88;SlQݦ8#ҨPrq1ɧ|#Z2]C{uZx`N #Itlsթw̤!ϸ_+ H-\, 9%4`~t~(<5ޞ%#8^7q躘ZP0 K _oGR _\N)߽hlHĒk^[3]źmF?|E2_yŀ +r9.,Fd]e|AqYWc,C7UWm[.2L5X$9y:$R9!BVqFuqː*i^ Dv z@Jʶ,,kp飗?FؕujA}ik߰|&&]рDa@*5] `ŌEPVݹGo}[>/eUϠXeJ@V%S,**-*W* )jy"G`$2+,n1zz^/Eˆ=їatЌB3~}W5v5~ 6+.#mމb41 (b>_j۠٧G4Xd. zp1&Ef_W\[%qTVV .XVԔ)S~Ga9͑Y\zbՠP,UFyۣH,v_QےZ8P;IQE 1EokBfE՗ØdH7Ele ('~̙-@qcq9Eh7]أʤ9yL,f:s~MnQ*I&0,2q#57-fRp y,Q,wC#Hd/`nfar7ci ]$x}v:u`~68*XLC1@ǃ=V߆]R5zpuV"볎X){>[_ROELP9YtPZJj0+oet֠.T`+3)ƒa$t繪fJ8zCm/<YOwBC%ww( []mydSwq$ߋK}?!3F ? 'dH*/6$ #WxΆx͆.<Յh|O o85x_v>uSfoRG[w6H6[o%}BTj0d? ݯ:/!EoDn9z̈́;ւpԌ-v>TDT Zl恰x+5";S<8 ns*41}ѪN?(j`##JxNEJsK өNvl&0)Cm9e4CF+t4ydÚr&鐌]p#唥!*=XAt.8IF:Wx&h$I5gݭ*SmI9}qE;`8.Z)=([HGJ돻]Y30d>Bse#iǟ`b~$ܲZ2~{(G$mJ964=K:T97A6~Ì4.Zd4UzG*ϱ.6M4U%DmS 05E5uz]Wf^Y7(G qj(oEq^fQ6!(Ic#S1_ 4G\6ű;-T)R |؟/00:3qmg%cmh*%c$pcF(xlSY1 ғN҉퉪j-lwh)R] +D#yZ~GC&5m$F:v&0g>A d7aߎKRqU̜zSmRؽ/s1GKT-qCbGJjK[%%-1s]DYKS4Z 1LF,Td wTBk g;--Tp,BJUx^'O<3W\I>ڕN2c^wgV/GucuɘϬf9" IA.~SM|%. t58jO%,g1סovev Ι]VE͚t ( YcT \pzRan"DbPDGn`ƉGw$qx1btoL%-c37BB)WErY(ivkZ4#s)-ObŴ% =ޅ͋i_0 %*>jda"B+/SJIo1/)Hڲ?5{4߹V+MITÔ5K;904ҼV nԡH#+o]uW;C ,s][4 wa#qm/#B$9,qm]q"j:8$bM<IFQuz< K&EHC[{c,6mVYv3&AWmCdf C@k%  J҉;cL5zkҔ†+J%YrAx@Ƹy9DsPLWHyEZьj)|~.cToBҷP83у1w-ӏkL1BJ_v$jMK%UH<_Xu3o3DLCdˣhI=Da271+=IO:n΢P' 5Qʵ>7$ݽG fBק\Z񯢅Bq[}e}/b{=&h[Jd#xIUhpMԶ̻I8B@(p&*Ճ3qq4̄Q.S3`LKAF7]5nU8)StwΜREp,1n> |^u4K5֥jLU'k:_LzVǠuણ||0pawMM7s-[q+qթ{5kћQ*)*w+"syUZC5$}! ~ӄNw3lX8{(zd@$=1R= ,Tg7&kX& .z|q&u@ hVt$1/TD^On*xb5E_dVnh:C;τG32=oUN{ꝔYPTA 抏fW͢/z:EW쳹7i3pHk>#䏺sd,'lIG2 ?AQWG\yA g܇G%JZ7š(wA6DXem^kZMkO8ߝYqqR}n)ۢP~3C9cgS*- Qq(k ^E8*LMB!ЧU)Li6SU(Dv QcCx RU,,dH_KVn'uPq*"I)bGupݔ([HYI;mN#/',u} &c>XayPduЊ%BzpÇ0J=q>{AWsQhsX.79G)#Y EVS ar\Di+*7trăBzApf1~2 ;5a Gp503|Y&Eaq0vx3i>݆gMC$0XBR_r=:EI$pY[M?(ЋLEŴCʰzRrÉJhu%Y9P,P Jv1i?&!eT>Dz:LPrMWn @BVp:_fYjޜ M( Twc{voz9ɈS3xΈuD+i}` H!2 )hmCkZP#Drlb-;)v? gnI^r]˴s=.ECעDYXoTZdatlse 0QQ+V0rF̄>~oОm0ن }@9ISh(@v]Ae6֪*'W5fTgU y譋|뵣>Yڴb5H`Y聕kd.$3t)6,&\*9͐4?0FJcQ<`g4Z}w_˨?~Tv_ݦ+g"/ȍsI.R2OL1,5q8:>D3b\yrncZN9[S`d ]ʍGL/)GI%jѳ#["E'B#Uy^ ] gGʴz-f"RF/Jh'wo-?wnڋlcik/;{l)\et5%TtZ /È^u,C:yȤ{ޙw^c]1B{$4hǾdGԑ{ }0ڢ$kS?]>'2sya4Y w li<Ro T3|Œxh?P烊o0?&#H-Էm!0U" 392r/sX亖?l[8e dBrUiVx\U,SAR8bޒK i,+TSغIQ`:LB;1>E5Ki%O@.VDq#7IwǦ_05{֤ZLהL~i:1|ye^r#V4 >T?ϴXrnfѪSf\mRnL6T$OκW]up;4R>嬦 ãd ~62Iu[N;r%Vv \v{RO6C\.v S.[f<ګ*Fn3 ; W~%ND"'!R%$R 9OٺVQAuY)\=H]d4m { C uȖUq9+!PZ>C6[Ç[-y0+j6 s(~TyYe6@D2l͜0R˿64({ |5P c"5Lcp1Yy⳧gO_,?Kϟ- oճ)?cX&E[ϫ0s+S ^?D`|NGGi0ĿqXZ7c]V8,vA.a\cOG\εI0hܗ#g!ם3J@74+E [" Հx袊yY6!+,H4B"#R \w#}g/A~ ))ue_}8 6v ~88=uhBQG/K#ܝ6Aw~EW޷G[۽;íF Kfg)+FQ͐T~QINr\M1u9_<\!ek.zo7ݨ sx8O.փl%oKKK KO_7ЏЉ>,hl^^^6c$fԗŨ}ݭjaNf\q/HPm/yLdJY=g/hbVU "<&tLl۝8p*rt?7 𻅁Zjxu:iuxyMgLI8gj>haMy#0i`$k%<ĀkyϹ a L=>@0(RT]Oث4X]îjyשk:ptEfS!׮zRT4E~_yޤ23ĮpJz$0t,a8B/m:\[XhV$3++T+\Eh.YO#S3p%F3YY!nlUq*yҀvF< :pN]X: pR!W4P^a %`P /` W3ꄶ.)ˑ%Fƶ@&;Bz \RAц DrMai8->@M҃1Xz1a|5A27Ioї>Z9,ye5#R`ʄHvQRdsP֭9%Ly82OOnμ\@؊ iƪK i7$(sTE\R>@ J2# 0 M(!;s<ԁ`DѪкt]tAF"x;L8H]p筃~ףּux'>R0 kh=s08~P!bW4-J֓HзWA3NϪ~}q{^{dMY9G(:# f 8QD)£C:jrV?BN`Bb΃*4igV/B$U T@`'IXذVI<#j>@q;Q_Fp<-<)"pe%l:Z_иV(d Oi|,4 gԍ1 Z؄'jq Ԛ 㣫a~뫅yO*lhMdBL !h tnk((=9^h$h,sQ-RD!mQz0oXQ(Tj MUyxQo|m*bͧz~r\і0'ȟN4<Z9 D O< T曲=㓓qύ^\[u,4?>eɼwu5Oj`ZT=l``R=ʊz3nzB. ƜʊCڝ[L$L1l4Aʰ=ŰӨV]Jj6?XouN)$Mb=xbQn4\Xcy!*_b$JFw>5צO~H%'M gR?uu&uh<i5[b1Hnmj;myoD],'8 BP2^2u z0 AG7Hp9}kl>>y-K&Tԓ1pBC9dN" BW^Zhj!v=FzP IYT4eSDłObjρ.Fh#Lʹ;@{;l `M E)NO@kU ʗM|6𐄷p!i0q㳳xWwtaXA6:0nV3GèGxW c;^@gBZo7I6Iӡh u_dS[/HXpdkry\uɔs;Bs8e 2Չ2/B/gsVwm L: ("p҈ ~iU)yKwΔ7l8c|rky*ew#n{ѥ<-/0mZ92P4 }f$jb8MI;[2:^˘O4W3az)黝خD5_ Q-h!1 Z.1N dm'9CaP;du[g _+gBdȑXzasM:"d3%flFCJA ʄ Q5*V676mv67v!t ρ J31&?Y~O]"P0g1OUUvO<cE :o/t6t^#$E֗!Pu"gv؎E./K:f#Ǔ-Ѹg>mpW]J~~py"f?LрT0߾02saO1y)x(B10dؾ+m9cdžP-^MR"Qtfw^7plF1Lz>=C;d7_IIGE/Ɣ GaZ1(zٝ ؙQC{gW 0ӯ$.R{֫U@ 'bﲬ4c{[ Aؑ&wˣxt] <ˍW=ߗ]|u3mj6>?mxKp&RrLsv\Qgְ:8YC f- E_`c_%PbuA 1~"fH3/f?:ȸH|)o/K䁧JR52~X=PEpΰiN/z굸NR0H.{ a6-d2h`ƸGМ:Hב|Z4¦ '٥1#؊ SPuf̭Du/ YQDLJuI햟V1B?I@7@?/.Xr^./.|p\}WoWg2! zO e b}бl~!1WllߋܓkA43BKW^mͽzfo@UCWvoɇUrh7zS?`ou[哺ǵu .mGo66wYPD^T@#UTBUG:G6$BsQ3e=_kKre8 @8Fx_8@'R?1T|A'8sK^ ̤2cY;%#LRa 2.ϰkXIG^['9X~geNU8P"F،hY 'Յ=wHni9{x |Q p3`M"=V d1xM!Am}:J&d[0?V Su>lifA^-#sJW0e [;kDu:ߧ 2s󹆏YN')T(OPK,DōɔA#@z˗/'ga[fpTgД}K<Wڒm UJ"B`OuqaO-}ΐ"  #tK(;Wq/;}~Ȭ͛ ̣7[~d#O`G)PԫQJhKlU#ECAu]+!+CWO~=uSDBeYe«b ?qa[~pFJ*)Wi銠љ"#ktPQuld5?u%w%IhuPA=\0مQPRQUp4JkX`Q⫂AQ'.N[<%P2qlk$X=~+ WR _y]l  oyr`VU`9 >HnK!^*Q؁xmUV'k-(,w ǬBи/US&g\lGyyC RF۩sk16ͅQW~lmto'R>U(m%Lږ 7BKFדFV vAs-Urx+җ_Ӛ ,eĊ<'ȹ+IQ,c{Eh&$ ɖeZѬVEHU7 Lv)<>1M?vnՍ)Kޤo`jva8B]X遯n1(j|-뻢6ǏvQ=Y k)9Ί)q绹'MI}m* Yĵ;Sh $EϞX }“  ,'62&VrǛ7wT0%+r)»ӧ2#BP/h_uOn{"ZH2׬1y`Fi:C\2#٨wԼafDi͸SFaY3h}Ss{f[WSMhFݾa 1ƍ 900Hrʾ`c-f3iǠr!H7"sUpB q/S] RBX+b$2+J.XT_*qY#j@|餛_/Ҩ.RJ -⮻T7-E,c4BK[1`C6͟ p04qzlj.Ƕ2X ,|ZO!v]",myH,ꗾmğ4MHG,Gw֊{G 4;)BbT:7xBd`«ל_]rc UdϾq?# "_;GX'79x|1ZPrKp l' 8W(|pDQzstj|22ŞLFmcn_2# rJ4jBe.5K&$6񜍣j>KX-p?sxЯ4鱌8]JoP+|MiHAVسtWU[4LzL^ӚA5d%?7jX6Qn2 ^%'ے!Yqޠ7&:Id9 剩" DiG,p6ɁpC.gcF)FŴt4C901 ?%BY`nH?  MHbQv Yk%_/<˭+'}l3(0 ͉f."> FBlи[B[; C6 Ok@9ruΓwwN942}C5f )^z+kۀ[2ۀ&;fK 3S:o97JLbN-n"M[XNN0/S" ݓ"t 嗿s/[{.s|,-\8f0]{E(@kCei;e:AA׸!]'ABL4gݮ{){2w^Bܭ+ܭP#ٍn8-7BT!Kt Fyw^Rƒ+{;Q5 ~' ) 6osF_F7k3|!/F#\Gw/#xԔF XXT᫇k8lFYY+1>~\76 k;cōRwcѷ鳽RGP2M[;hZES.k8'dibɚtVXp ;}P j sE"xK]R֗-.[Dʔ//*wڄ)a!p9Kߢ/ {bS _C2QsmNU}qqF;'z =ӤO?zbq>7pG wVHj%H*X6 2Lx1`\] ӫ =`3 Nn7xՎ% 0Eq|Bè6φ1NHjpɌ3aD1 PlLή <1H{iCϻ>k;I; {Ipu}"-& $S N(̾,pF0HENLnj6=_F7пF,>w-d>z(5e`cU~sܗY/ ]H [Ə;G2av(bh{A`p1"C=Q͐T~.N8QI'iܸ^ "fpj٬v<[@8Gzp8O.փl%oKKK KO_7ސN81)&1Wy$ԗŨ}ݭ\8|22BUUN8V~ܱK3oP eܲ=^zѠ=s 4 tsyP3bjO$(r 1(N'! \[%%pdՑb*K~<ؘE l&ƕ*,d!^VdN>dZ!ر: ,&@h͉fG9"c8mytL҉y2驦̞4Jg 2B{7 rLz $}מ[jd~jqjPX&}L.,5+;'z`4j)4'yc{U\^ kY`FG0:EjĔVVDz=[MAEK)}`}.Y%ңȋvtx6GK%i%}fp&杀&pByd{c^> ).cXn 7?sOO=<kNFY~ZfT Nt,|2IXhX_fg` z~ZgH}6#ݏj>c1rB˶p6<ïc kFԐUv 44d}+=?F_iǐ{FUv i4N_c5Kwk l *[ԗխQe2| |5혼P5}Wod'٤EQ3> zzeGgc-GSVxSV킻2a'j%WfiQʕ4C.P Vetɵlĥ=NYMI宠ya@/"ҭ_J>tn lނx-12`%p,Ŭ5SSU)4JGPvM/lyhp.!)͟ԵKTfք-}_5{ +"7&a:h^3U\ 6@Q⅊ /I#<tI*S|sjVRW #nf65&vs욋юwБ JO2Q1Ke.5/mhFM "ݸcqUܥ%LzW%[^3WId k,vZa5bnxCwB7Fb9L q?f))`Ӻ$yAuU P UmjyxxsVvA헠G(V'$m_ 9 2M. @z9a?oRNf$ª]>ecdL2tz#˺dv Y]~FhGO'yDrЖdR8کHf؊Z{O%=vpOᦼ-gh&fr,6LxnR9I[Xpz RZ#Jg0T)nW5 Ƨ:Ch26P pR7ln,LV͂f21Fܧ;ϡq>3p:IfI#j(VF̟5Vx'iD~BuFr| ZOm֘/.fB+~a;vI_: sNv{gmOcœt١e:≫.i(b h6vjЬjJMFdw/"@' DӒ8uF2 rɞ,n&;~{K_6VwPfc<}{w Dg&[B)e6.`VQ&a,G톳,6??C)yep)dA/Kxz)R38z5"_^\ 7֔ܰZ5/ .@k28,n+5"JۛO{SrEDKeAN 䗢rnW Yvn^]Plx QRd4p&`aJ箅[n E/};4=SIt0j 5|CI_>s7WV82u߶j c8X!@ *sMuXhXbӢ\ns` E;dLJ @,myiU|iK1"{GÑfֵEO"p>H]p ?={}oq>} z4-x PqE'+ء޽@2vEj~Ϲ2z! /bs+W+o3pڂe*Eu^Y3lN*_Ng ߜ ?}r1{|{^'j 277s<kVx1هC(=]U~GzfhK'1.biqPl^"Ʉ|@YéŸMlg39d_QNKA~ ~+>%:$7 Oqǩ8Ǥ(/Ӭ1ӻn{jc fbZ4=cACP&Z֣9>ya*]%9hEz.K&yTPFz:J8ɔza9/^%U#Y& ] kcBc쒸cW4+۱fqm ¿E.+{XSEc˔ \p[;r;V#wkK MTw `Yi M89ҷQR/7RTkegjb49Z0Ul%,IEdѾX9;'aG6i&ΒAugi #R7kPמ5=QUhLTw*3XLj_; 1'֌YM6{p1~+p61?z)PiIVv8Q%8-|_^vdP\v%;_=xmI: %&S|P'P AW6Rވw+/K S HpƈPE!n(j+R?߹Zm_>`jЧRRi}Oג8O&U-#Uө In,aXiEIrBh| IF.1S ][s6veH,0{nUy8؞; ԲgN;BZ؄!;TOWkLKAUgT Z4j29ewX99?X_G XŅ5Z'I㓚Yk^4+^j+/<+Chŝ Ng;Z/Ew;wE(X'>2J \oU\{!"0'{0wY%γek1s)Y* j5_tc¬ビyXܸIES͘񭂾9^O Q^Nmȴ$-9| p.zQI678l`ԹZQq@H(Mu}g6)/ 7gnJ\ףKp)` k(\>mծ^fkZGR 'kcc:󵓓?Uŵl6O~V35iq M{{zQP^^=}C* ␑ސOKM2 8'NSi2\9*/{X7f$#ؑйӐ06^I@uoZ z҇657DKɢK=WtJ[{bҳ{o 7o~j=a<X<802d؏-2}&hoNs:ʙjOPIWiPpK:ma籔HtZ k^hIFR{8[Ì{ Z!0(Ht\F Yiɽc)jCuՍ/hC{NpM/Ik 9ԯq_t]5!a&5Cg~Kxqq o\>ጀB6 j&b$h/c{ gU~0l2Ih;W*!#8 qwT/TvjhFvǣܣ m8[]hd ޹ݻ9cNS0o}wp'Khg9hP-2Ϊt6_h b"nL2{YPCdэgTwv6x1H"*\zϷBwcMyl$^$|'>Q%yD^ޭdq]Tt !?i.d|~ot]?LnX[\5&*-*Ȳg=?SdxGhӢ:bL '`Aqzq0RL: 2"Vcw4UA6K܍KtEb;Q3/2{V&{F25 ̽mITSFĵyN'ݓWNiGh1{h\vXLcQL!L/R]X~dVſV{ 4e 6%aΆi=zcӖ`;@^G-NUf>gf0TV vӡd!46jϟ,-T4 lNy/T! L4XC{BN1{{ -5Y#u8 ">%35O,)*B3X6F( S8.@e_Tw2̕ cNsؕ],EA@ v]2K5$+I_fȑ` 5'P|Œ޹$EkmTVng =Y= (]Zİi  5nS?Q纪H/LԴo IrفL[,S@O +I 9;QLopxN3;l4/j Ѫ&{F<]F|9q)AFFKхJyWń,Fk9N䖽e/dYwɊZa_/6c>% :ggiwx[٪e^ Zse )BD'~ڥNY :j1[0d3InR,/k\*zS3?+L6=hჍKӃw..x|} ?kCj2E|;pGIWo.i68Y:J:i{ DUMH1=)QBsSyt,h8ZX2fb E5J2Z|-; 6CKÓ+F=„3А3rEXR|+sCCȫsIMu,u-<:wDtDEn4a= t/}SV5sq"?\\]d|q]EE^lh`s]O}|)g[|6EϋA{֍ivn_%znx5E RN ‚n:)s,h =}q!=l0.!{*^nxW0wr pny-S-/7Yy-/zMzŐUae7$9$88#ȧ2SAB#+㦰=h>6>eq%4;i;k$ Q6,m3t̀1_$\cq(,@X  x5lU9JGi9/SFƓU&5--QD:f]*ӴFZй=xWB( PZcx)?\vxt\ omnljmnm6o^5 5ZcD3Wk2lHP"S8:A974ɴC%8cf.L-Pa> 1 bx#˱ 2ע7|/6%_XV%2PxrmL$(9@khxG8X 4ET|Fj/_>W<rºZV6j8 j8,l%p5Skk.ҹ1>v30sCYN!=a$Y{vDE(L0f}=oiًh9zJwϟ:m 4?:GUä?:R:_ Fus30=Ԛ!<]?o·x^?t5E3{!̽ iL YHHr7%e]9 fkKT Q祠JБX(%X y*<]ER}ɚ{iդBjhcto<%oI.q_/I*.CS ,n9X %q;U8;Dd_X)7`iCr}J 1eIxnT-. Ӱ?(і:}eN.VEy8eaCz(WS,qB 5.p1A M@yM&cGDk^7%_~op CaB9:ë$T"9GT#}ޙƄ0&gb*,DKkO%(x2tHX N9R$/d|jIh)K A Dߒ,ږ"9Rxe8 R΀/&n8GE t5yFnX]R dR GpN9-3$WƚȊ,%]ZYǿm M]p7HGe=yxjN L(OKfXPqgIV|=*ˆ,it 4$Ꝝܰb1uEq1|j> }k;cA< jok58 󹋈Sj<> OF''O;y}d'N*'qyCj'\q2< L)9'xk$O2 u#,ʫMqٕ3ϰ̐ĝ< |f( +=!C[,S=rU 877 iPf{_eG΂pORDo Rʇӣ; pBQ *\``s Q߉b=V b`o卑q\*Oamn$  ͪm:霬,'9zSܔaif $aL_wH`3gTpfƝm+v5VGwl[6Cv!i;ͽ|Nhb ꖠqVwn.S}xyEDaP?x0XށZ,buVs,ndI~VgJw2,ꊹs1\I1b]cYz’ai7ǂk.buEuf\v,K0WA^0Q@Opr| kN3\/s%<7Ff ŬLlt\2UopQo0qq% 2"6]Ya輎+kێL=!:ySXjL_ K k _q XWH9uԻ+k=9a '֊lw@b,cb[;=hLvih,ӻqdka[$ ź%>;Kmn3,*(Pnj@>< +)ٝ(4NWeFIUP7Q. m[X0k}O=|ZPYKq3O"m> g((}̵1 { A=?+ Exe.Y8͒|PX|S=u^ܫ,? J&,8WЀ1J,lwqifဟOH?g(N5Fq)1| /LrN(h[x!&cUľʽP*˒UlGDq.q'I <P^ cd'eu<\TNz"ueEtK,$3_@Ϧ0ZECE~FgI`:i;]Bz<#vwAv\#Fxo9HXWwJ{v ZH,t=vav 聓 N+"p?ԛɝy/K:rG]AD8*@yhaPXܹFȰԱTKR;u /dH',lc0p, L*wa7ZXX rJ7Yx}[|Zy&%I=łLDJFx ҥ9j*z4-1|AյYq:whur2.$V/tTwcnJ٫ fJǣx"KvWĥO|&^;KGgtؓGC Ǐ h,Ҁ˥$sŸNFrn_E7iv&5'Ţt_N/LWzӕ(Bipʉx9`^A/s\˓W` 0WZ{iq!zA񱝃O/6Vfb% ?2 hQ`)hg{aVUjʄhT\2\Ĕ4z%UDJILQrWNJ)e5RdʆE?{*,UYmM?:eQK'4{ZB6O620V0hI+k3IZ 3INє'}S\nSsraqcs&ٶ,kdf8bCkܞM0"9WU<>r*){9WOQ8ԨQ8oWz=Yi7F/;jP0RuG>UNzXQ<ŨPYԇcmȚbR~ a%%*˧ϗ~;<~/m |Dv~s,aV&GSʺuIod8 g@C.iN2p0*jМ#@$f]EWTgx؎PesEx%G"EtMVc>SYn8pro=9z矷2hXjV [mz .PKpzM(tkRjyp M+Fֹ4~`FI<Z:ҕ2^2S|BE(N;[~dqbC|lΖB N:RPw -9%k \^GxRi&XaDq Z~#[LDxWO7B? N;I֎Vt;- x b0[W{lՑ $c4Oy ^Pf^&Dh|UKuuqhR^kU?zwHFAi;Pe1ٷ.4:"jUkz#Qĭk*o\% Zײ L_C$s ĤB]\Ρg}cEN >qbhʩA hٳB\~ ~Iyq[*"G`w\oɋ=΅z5屨̚i5P** %pBٺ TWď7T ̊~-=}6_?TLx!!;Rtc‹2%WbfH\0o>m_}{U|C2.U Od J3+ Zp<|I=H0w#w3,T#+Kq%^?PeZ3SX[j Ft YxL}("DҾU+ tMZŒ>yA1!}q_(CQꩧ6UKAZ!#iO9  -lH`{WZ$*˙?#MziI˦Y1훥2c"2:-࿼q<7ĭ2/u9 '/] G n=6\U!kL -xgtuӊ֔ȋ !zya"M +Sg1D|lx_t¨%`J|+wyлjQMQp7Au(g2cXt}=b6=L8 b8t>lo]_>@tнn=)lxL`> F)}Ҙxcf3lU`%XU)u-8{ .%|-Su UJ>]?׸F2re`@c$zzϬzװ ݤitHC[ґpȢBxiX[PIMRpE٭_NXͥX0xL j2]ȅҼ`>lqp2*8Հ?N$݄_cV4l,Xka5mgj%44-Int2*s.eY'TT3ٝ?^0\XrgXX\peYSRC'NwPы 4dl5(U?m) 4PE-߰ 52~Ņ}|B_0 FWUS6ot怚/r!I9 B3@i2eH~%yh~c?iMBXW`,=l-' S # +S^P5♀aAIV][~~W+][PE|%If ) Ke'emcdQ3];vھ+L]mlnndR7IuOyMQ'W|++KCV*JO;oTظ#_bAyܥE `lSy.Rtn_rPQ^-wlw?i)Χwii {oa_\4dh:XcXA[_p+eJf,8яf* m?|xk-]c L::ǩcJUʮ 'gIq7P~@>܋OOWUrWs[7V x0y,, k'sS+I*y;܎9+;{@(pqZkֽ++.h{(? kWoCuFڛJLvd-=@[aAF;1,Or&a y:7>ҝ> j^9 qhwA00+w BG##8Frivǣ\A5psy98{Y (*'+MH=W =MWu\]F733#vs_(E$-Q-7wD:Q06@54ewbSn`F-4azIVSV Pc ϰw,<7bHV~Ӽ_nw]D:D,7KdT@y2_KVNvmtiO3&\B6Z[G޴Z^B%= Wv1(ߪN|ܠHi28*m7HE*oSI'#MAA:&=i Iw;> ADst8etU$L)!8+#lm5NE/~z/&6bZ;u]A36&YYt5Wʊ{ KHj>~?pV[ ޤqq.8*W0a`Oq<ip`C9n߆~V3[z~T3}ϩϢ eN`}X V{U2Ԓ@_ &ehp^y-p*$}ҍ k8k^_0Tv KAb ,vP:B@xvgɋnʡ7d25c *cP5jj3$a0%rxԣ3Ӝ,2[Y[KO!=CzZZ'1=s>}L1=cz:>rL(oì oV)$tJ|#9׹pj/_x|>| .] b$zA˃$Z c%Jx+Q}c%>Vb>VJ 5zIG8vC>} 51`GRxI17/HHGR #)o#)ڟe5?w7 >9??ϯų{oa߹f30*pyDh4\ss%ꊲL'688GWn2u4l" 1AEt _h7V*pWY+M"He7HpM"$B? ~'}u}TZGTODŪP4H6 q>^q=(!pf1fXuV3~7"0Ԁ(%!؁ Kz_̍YT^溰WbOTC5B?WN+SGHkwlXk.%8fZ-Fo#]Ìu uu頓^C]_ȧ3Aѓ̱w M[Nsa X)X%VM&EB)iq)ySCÑq zNs̝J^|]-򆹭L b{O}xc%"I%dR _. ˘or;s|jqZVH-Aq#OV^所 юf(b%M女  i\x"=;&j&(AtN9L[/GoN]|䩹B1f~pkgk(x.] 콇Y|zck`!ZZGT-W㞌Z{}Y1Ey֨%M^&ۻ[G^y/FfcTɬL5{ n-F .;:owjMKOjr8$[_x$Ǥn焥Asn܃lDFT-^6ZkM.j qޜ%pUYF0h[SŇ7G[Shpumz l#ZϦ3B%Sw)7~yuPp_CO#(G9֐cS&^\Z(hu@ߊKȪVUdz0V/ ~"&:H/ I8Cq}9NvcqӯэNzϝSM7* >v*$ v25s׿OhؾT)./\Y~>Ϸ`!G88Li}Q][^\|^Gq' ^&cXY#;G?'Y2 0H{"8@cLƹGs0 `c\e< KF0^ 1KÖހM8x5蘐x8Z!)è3a$Xav=;(X-(ޢo!4queقWW4BRA6BUB"jݽL]lܭ=/G>llJQSx$`tx=zu*l}+zj>:< 懝`V#cD ȢdThZ`:(JW $04ct"aT=iqحmd?T$=ҳXF=x7 g fߍ0wcb=1FXFoZZZXz2>nU;+^<2bX(8,奕K+KO;T~;ĭSSo l]^"QQy0M(kݬŦ2YVI%7Ha1nԅh~Eu$P6"fRm ۚPMhRb'{;LXIQF.MY $]xTy+[Ut~'WCG8f3`zeG[l ٳ`Zǟo[#xq px'7CXZ.Yۛvt!8QJ`?큷aD'wԋN?]T+]@h-aP/ PJEնzXuaG!'xڼ@# q6 `$247PqrǮKcG%pB/t LNE}0jt-WwmWHL\43["{yRS2x4q6p{FGx`˼M5JM%7ƵQj*Lǧd@bīun"H@Y\x#8]ӀC@+,ܸ~QkzH&}{CgX߳wiϾb,57gy٬M5k]Zdk7+g,Ԭar*r {4MUff$Lu$ߘ f܌J%%w^H-p)'^|JܫntwQ6/x xH:ͯ \9^ V_5 +*Ew\kH]Z %H:"uB68i|;6~bh |s}sN—2_fg㨵%ZB{z:Ҿ M12`r&i8Xwfrv f/2RҨ8ثW^]<]D Sf]cVbe5~ՄI/iŢ ϸ7+5#JTL\{xRnQ2B* 39n<^ϯ[G0zPՏ/)ԀF1wWk0gQqq6J{i|}NH TP3,EYn~"aNUryQù9φq; S ՠ⽘$^ x8mHhmw0q' `Q'm8775Hloa {X˨'Yj(^ &$xicߛbƁHs8_xIkCfnDW sO (*^qZ@.#>ް|8J@g5*TXkBWF tT<=(mYPvDE%m}X/hmMaNa^[9O4k+Z]Ժ=<>4f|\&}bCU $ZSw@y֪K(lt:<~@&.[4Q^ vsh\ƨXԩl.,r^{@j߃ivo2]땤/[mA|,3}#`F(8'xqx8(+0++u++f0uTVBud 4J7W Mըnl[df#E0C7R1 ƭp?n >Ijva*(3JdX4ӬQ حe˪0;U:V" G5IU&VI۰$턑٨N}+`>,<3GBKcfźFmN $NY1O]>lR*&=JEy4C?0q'R1q#EA$XW*b-,AlȥzB7-p>Z\|xx87C7~dBdE(Y b{N׍'w*P+c /Y 9ѿOѥFlO2dmi k#]żJKX ],8I>r?^K5_b EЈ艬u)d&!,.\Fu^Lã]4))̓ t0{T}\ 6i=8t4D)|A:+H`0wޝXWC.i:]% DPoX,1 {;[[U݀rz浤̒&aG'#8h(PigݺQ_I)B'O+E?$*l~ &Dih0)aCm0i5edd~:dCG4&{)WFǣ$^)M:Fy=y{'1ҏ9ե拺w? m:GR?΂ /eڑ8$"^ YZ9ӮXN7Q+Jn'@P{Ep@q_\o8Z7-L5"UPq2HƖnʭ"i-sP53MFVqqʼ:Ƨ$b GŌhQmP^EҰ| g\t YSs(ƍ;a+N9gnK#Tq,iR-IUr0Y<@xU=)]f#\{?#GAfq7Ƨ10ˍo}H{`ZaQLw9krf,W#dX9 [}6aF`,(%7!Nm x@C-g6 ;󊢪%$g9 ONUʅHN摁;rщùuUa^*t|GeU<|5 \dɅ86qRZGB6j>*lYPk|"n|c0Jadpc#pfHoV7׵tڡTȄ/޺ o$# vRՕړ |>>is p@bIPHʠ!J ]4GiO#4*; jb?@IʉQ[r18B:ŏIIg~O'1HW b`yr>T:9L-ɧQւ*x [H~|I$lI 47tv,Jv]9Mw]T X8rKT"?J*oAjWz &7|z%`h&BQ:M9x;TrvTÎTVi93ƗFYSLY{I8|nB>&  y_ia6̂lY2sËR]Xe\5kÏ^ `dUkߜb!~W!3 (n9H o't"'RuاTil7@x&iD` ƒ>C Dd$GBQOWQNS׎Gg wwb#tI뼧ˁx>MpO%vdJ۠r+ywI/ހ;˫[+m \õud1"jd+⮯#2éVR8vkWm-cLNfE}(s仅`ocfuQs i҆w,;Ec9Y|a<A׊JDOAC fITVS)U2QYm &o8:M#ƔӲ|T';̻mV(s,EuAsۘn[alCNbL?L*Bo=ɶzp@,tcu wz[,;G ma0CO>ռ/|)fѝa~f Z5yF a_OSJ+=ں>Z!>xp)^r27j2p;"gg뚆aB!pۚD\W$aP>EHտo**8'9,ю):JzCxWuAb$438AHC HdU+1v{vԬ;N7Mdگ./.օxQeWp݃lT靦D3 Ҋ>3uUPN==8KC22GJv 5ݜP932O 03UXֲOpկx\L8PȷX8'Ä-cM۫m1ug1u#Hnhc*a{I2@ИC }L7l]lv*qŲӽ\ hCg㕕qEUf*պ-s,!|9cPv)k &CRELWS7^ۋ^"Mb]Dttu^qo9i_\$ÓKNL93J*Jny7쏫`#+%CSU&Kub!4":Z=Hv|P ^"!Q5!aYZXQR}SW \Zjud[?O5Mx}1=RзW<ZƊtKT}q(rv.#kǏSͼl"Y_ؠsG vdŕ-C@A/cܦ}FqJ~oΝR;*kcZsF_?}Oo|__Zk)?_~_?oݿW_Ǵ%mWg?߭]m?||7˲ninf|guјR/>`0ZVT26-oo>v]f´ B1ڍ˞0NFcLPkQd5V,Yt!A?~iw߯W.k[Ϥ k=t^]R.G儍* ~:j&,+&r6ڼن`nGojI]:[cMQh|KJo_~&ǸwZ2S FۣIj &ݽH}K3,>[(&K9'R@z/u&STv-ꐋF)כn >1,KbW6}U/?ibɹŴȵRkO5!7W6ҤHe%&Վ|HAݽ_/~_eJ7zձYʖs 6XA-dU"3FJoʇef"u*xwRҲ-{ &oogҴ kfKvx<ék%lop/p ^C`IU[mSfJGD@fSEUb^L%g%XugT5؈MxDS~`XbәZ D90aaKRW~Ѓ.giFPÁ\V{|;]k8%[L2tK@ DOJы4vPL"aٖ+w⣛"O j}lJ?{ |g7j`Q(Y;S#)C=_, ePDF7,bB;&>ܾ+uib[ΘftnrRPxև@ l>fB@R&`F48DmL@wֿܟ1 xcYDv! ($&Àv?ܢ>{y`H0 ,zJ/eJv|S.*luEƿxh*)Gx7gxe[ǹ@%a+Jd hs)_ۨظ,#a(iEhfX8pP[2/o*D̓Lt}L$rMQ! \H Pfύ[hK&N"Xa(z$c&)k>[0UB} $5]3^g 3Nfo󵫀M,`oCpCIwkwӂ- FiXۂK`[}Ih 2E#!QõkMhCj܆xWهo_ܙET@=ՒRc7w׮= d-bQ$|㥴 -ҊEh x耤oVy<BFĪ[e]_.2CyQJFҤl*֔C{ş$p.K:8SS7|]ƀ \%ݥI^yL'ت jŬAԊ> UbaNv% ȹ]|y3$ &%/t*<  %?m TNH \*V)4̘'r!By 3_?QOgP[ 2VF1xswOxvg \1xY-~`MVDɞg+`[cY/k@F5Zʞ.KgDTSoZx_bB ΥX8#8uk3wZ5}xmWҋX\bDO?[7@{Y4`9jxqnYg/0 > Pv)Ȫ"9י<& b}ZD'}5c(6 f]llcaq-a5vxIUm_Їv k~?# <Ϝ5^1 G,cfem==lMgO ]nɔnk[ߤw/dZxۺM5hXtև~Qb?F|BRhݛ(HA`/U]C@_xS=D ^ߤfa<@L@vͪp;1&&<7knۅ 'd{ NURhЃZ{iUO$t I28i/i͋W> x=[p!igf > xπ8fMpc,Kbou~œзǧx @V<1D,LxVcbk]H{0TQr^D845]uη@^qoR2@vFIG%)/U$*]rL2FP+ Shw7ݙ?GO)*S"ez#8$I s|+wRFewi\~!ٮnLⲗ W"Yad4՞bsYym{:[Q]/~cQc6oETlZ.y_IψQ($T]`28a.TRnV6^CdP*e\ ^W)!4 gLZFf/]noZZvL@_/M4t&$[wj3U Hjk9C`@#zV\=̔} X @oSgr~q?wa֭ ~!d^A&OFJNgly$"#l0tgF~+YN4fβ&9v؝ vnO/D)F!,RV.T{yL248u);$}=ngk:=y7`69Fg/eհֻ9&Xڍ ^3>98]NLO#U3z1L1^uZKരgU ,`CNܛ Џ3}jOPTx6<8@f:Jr/U[/6T#x .ܴjuۧԀ}E)=mQX˓G휚ZLJZmbUD X4'9hh\D1 RG9Lp"*}`ΤqLSuf: TǮj+\H慚:6"^U5ujFGHcjDAV:R WhZ5|v!#: `|]w]5E W\Kle2a| " pVz^:ޢp"7+)5%_/յSJE!I6S68{0EGg.q v՗_mvfnmMQe` BIxޮ6{%jXlg^MH0 xo}u3C.5x>U6ll* *\inpTAs/O-M0MՋScԸbf*ptNJ7"l*/$)d"l9R@ErcX?lO2I$QP5`.귻:Ɵ4=uznYZ|g kd%Aѷ\rL=<9ŸxETI|&2@YRd` gU 6uV342U`K2hUfRBU]RmJzyV 6W5#0Z1+{"f'ۚ״zBcz콴l:]B2!*.3M#9e2%@RS MnozpJ\"A-ys%fV&]3-$ +JmELfO3ЊWzpc+X,p  ^oA'vV"+4il } wct)#猘2\w\YQcWq/XMsԬ)\*tIRKlfp 3]zcg} ѺL 85z&2nh5 ;HZY.ZJu),N[ l%{:K;r*S$]UUhl6+X{\$H'vA C%q:Nf2njE3hAl)Rt IVsNDtTX䁲Ay\/8;W4H ҆@Hl5/葿"0~xi*,0Rxb?#mQPv4^1_QsԵʎ#YPfdy;ZvӀ$)8[Y\ne}]3wc7I;*Я5O7JD:MVU~@<|p>FtlYA+ d3V gV0RV`I 7ɞS'D۩Vy YɅL N>kT5s򼌗'.u{dUdF[׮-v?]6kb HJ3lD"ܵ6̶٘Ї4m̀c5$oR3Z,.RYf*k+&3sݱ[2vx\SJT7ʝ]pKؖMik4:ur EHkc~TSgqR KJL#1WQ_>fW%0UedR_mry}a"O N9Q ]Ly~w{W$T%_#f DRSE$l\44{,;Zu/ScC+`bfHK]3צ)Zs|k̻d\Uu~9,iŘ_k~2Xhh&Es.֢l>6r'3[)gdj6q%:m3?φY"CA Ҋ+"몮 x /P2[lm)_lIʪmEl^;bN:k=t*u㜺& ]] 7tp={u*l %jV&S{c$L3fO@pƜbS+̐"4wOx1 ?Z?6 >O8T-.,epU^{W.pK EJܕn+TA2F}R?߿A͓yea,[jEܖ ۽pE*W\ _ @bfպĤxKV+913=/QPnXljٰNj83n&tq]HĊ: [VŷϔWC`Rꬓu9T'=k~ȷwu벶<ƙU^Y3# b9:*sZEW+ |mS9 4~36Тb{ *\=VIވm/(l=Vd.!q2,Hˣݔ-*l)Z,, *YL/ÁLݲrlAΊOv C]Bp,_oZNA7'&`o:Eէn#S=WҘ3.J6>szzK"9.-0to͔%4k-ܠ_ =cj* ̜'3jbex=^Kw]# \)G'P2d{t0`b{D`t Arg]baޖR*.lfjJmG||УCj؃rQn7gtf)h9#lc=1uNjiΏ7elSggG2^#j``S , kw11qg+&pw}[ +Ft-Kg]ݬ`Ee5W,(*LUz2 ~uxg_LH2ъZ^ U0Xo|\K|6 I;Y}X*/L;i6)R"5Ѱ`M]wQݿ`~9QxScKՖ`d ؃jCHOجټ( ,5NQ.Y {qJ]ɟw"ݻ|e G$B94dSh=[8zP2iiӞouw'U폈K6?(b[ 0N^r|:KioIp5&9"0s);DS0j59|IcVO~ǶW)L lwmn#-b (Fb`j8$ņ(.[P:μ*Pt4'<0%/oL L8v`ңirXY6Hʙ'gH<$^]NPªdd32iNYUW` \r+߈J ;A,TG~ZuL+@^+T|)=≟~o_m6Kҥ`w D!`A#g:W?u*)8yOcy Pw)wO=i +|PV9roE`zLȾL[|ܸN+ xM:cr?H64\R{ _m sq:0pB߷˛hFlWժu =|c kpYYMО?}Z}Ȳc ~;yyc-msp0â/>ӗ`k-D[r5ӎ|o>2l䑀`Z[MR2˻lPV$b ثfa+ @*H%ݽ}[?Ry`  )GNcƈV*\pA"28, Wxp^cz^pgJIe^߳sSىvR􏟪>GlX|V0x*'׃Ah"|JOM'R҅>qwK Z[V _ ܺ[EhuJl=߅ND!bh %8~@['gvU9αv)/r3Iˋ'ٍ€ftI& 9eExÂ8*0 ?" ,-wTڑt3z[=#E?2 ؖ<6'F~ nd ? 4I]OHa,Bd>.{;d߰hkJdDA@(8?-o\+Q7Psc߻D!D+("2s;L*_Iޟ64RՒe6yPa?V 1Պ1@ieҊI :QXuu4DХתBQ5kV7O}l5GMBQ\DQObX1&ov p͚,Of%~:Kf`):o:%#Ury7pf@dڄA5F>"^hQl j4!IJӤźC I)+*DF_8&ߏ}jKo[Bx-*:"S7=Llv׏b6؍/_r==ڝG8tLa XԬ'_3|\c72NiIZA1gWoV<~);#{Mژl h.%% B:e@㒿CE ҄&΢7-nՠ)j7 MWYt pbB˧=(TI,03 !Dw!npVX@Nc$/T+Ye |"@,ǯ%Lӵ"ّ*|* uQj?"3:|["ȤYuvg7~,.|>H~:B~<^mV*i-y| p=z5:HڝY1%Y0+ &"S֏3ʄd쩔w̉xl0ڇreܩbK_q2qP9ox\nF4X:CJLGZ2>Gß[]<-9?lp%i}wk9lh|ļNҁqߋZ՝};쇱$b,c ij!{mZH7&2Gbp'9ۙ\փdxCwN _vIm@R?/чް*އ{38^T|+Eû)B,c`4<17*9F> p闛jm>l?,_EXQ 1itŦXTf3%%w,\.!.˨%3jGo2;OxqN -G3([%flka_}zɱFeͮJv[hpYƭ5Vc=|RF&O0X8ԣ^9y@cIm|A}UkCK΂]mk*ňl~T.a ھ۬deGF$.ݥGPVlu`٩BM,ukc; [Eз"9@PYҥ[2x8Mya P6-Tb)0b?(ҁ8f0,yL.?jC  h*Q +|B,!_-YD:n Z׀9-8yS½v?}m )0_ݹ] Ymw8r;g~$QI! 2SBeOLa\Wbh,iTBf`ؘxޞ{jOa¶ 1⡸aO']d8D"XY̶9ga_$f(S,M\2iJѺuT$>lWma_ Z2 -ͲKX9=̼N%-܌w6FNrEtKrOa9ovy_FJw<`"uj,o] ^* 啴>6AYݽSM`*36B+~a`L#ɻ=,V'k).Й88LNGavP>x>?- R +c6FOijd &`_+ZPM{Rn/s?pM_ vA;r'2Y~~֋~c;킎DJBfim̤l.|!bYX(cq3,p )٥,c銴ж7wűX~cazYtP,5?otVIJv[;l|h"O]8Mf͏X"Uv퉃g\;w(& "6Ann LS O_ Jm2K .Ye)ؘIş?MFSbmQ3 WH>;}9 tFрd27[U7 ͪ))YCӿlO^AnxZku*jXn,SB d:t' seJdo8RYG ulN.v@U۟Oꤩ+z">K'l j+'GK/Zo2HW pj0Lfܤt2U*_!5w!9!NY|?Z x|0܁a G j-%X T|3~?_(αdz֦:@o>^ʒO-zaPLЄIE;S/ Sƿ~X0Q*EEl48\Kϧ^dE#opSN2on?~;MRaw5/fn֋ӈrfxd2F͹yb27*S#  ٮ? @ZpZDDmfrW''\wpĐD%ص=Jd(_'LJOoN5d& BoluoX `^pv-* :Xwׁn;,|`0I |cΕκUs@8Tylɣ2e' 6ـ69wWbc$ A=CO66Ȗ"vW#| -C3+^G% VL:N %$D^DlB؊ 6f[ua{rSYFm@[!icʛ] dA+{ >y6?,m9#>zO s͹RjbAic4#Hd8 لh/J[E  x ס>(mHkz'J-}bٓɇ0D6}d[VNAiC"VdVxu׬l4o$m#=S[/' ҃#;p<"齰 x ^ ZW[; =icRwʱ_8:>RxZbCkE\qpqk)a2[ta9(n{W ٵ _٪-E,'5 @VީB~吴q Y'R#36}ȘrBs?[p "cgtMDŽVg]`_%/>ۘ NDLoLhYsSi o`w(fl SY1mSXI[.|M `3$8%N9  0|323g҆$ǤdǃuP^ގJ]#2v (i(+6>Ge^V]&u}eoF؃6nmAR,`yZ bKZT% 1;9Ӏ̻ˌⶖp ⥘ t(uϒp*xp&& PL2TPlZj;;$`be/Lu$uc-P8ҭuoþWSūT4c !i4]Ђ.(t)6?@p/Lhw$U J\Y<Q3ϲ&1& uxg@wZvRI'т3z)DsN{b&*Ⱥ5h@,aJ[oíB(x&@j}tgEؓ }qf!i>aywth%HˡaA7,y!fIXW&PKea= w᷉ZazZ)e^{Bn(\qfovKb_ PLb <3Bbgɘ΃[ᮓʗ_~O/ L Bj*C+Z{yw~fz jDϒ>aj3嶭&O\ Bf4ӻ:@e/mލGÁl&MSÑaхclstP%M3Mm`9K|d P)E@>ds%mJznCyS5GJ9M`[]tҗH_ <91nE{p N )Ah4I=ͷK,͠ i7#NJ|Q:\p^pA#hj Zrd~j,t9[dP"/q5H+F&*L c_"az f["^+6}Dx&$O&$ޗuWAV#<(B{[B%w o) 6AV{Zts p pO,79a=] 4i ma{%/&* _~Y N~ I+-G4xd(`.9IHuK .9~؆KA j>K&R?gHJKU k\s ngs>AN tm.w7{>P"piӬrgߪ f2/}Tj2.zaWS.ިl;WdI_ReszWMU.y|-`+eHj<'Kr0e &I<\"s:q8A6'kaFk&"$X&g/ AP&ud@ĥ vlc7[&^Ze޽m֋u EMoxuPr=]Xy\k7 @QxɈ'fK)=/QA[ :ЀM l9?R/(A|!gaQOώw͍7z|ʇDHDAH\)%H>U:O85{6g %,#t uۦqK!@!'}r3C,7t&v**~9!9,L-&V g rbxy?̓ǧeDa x` 57lfs9.zj7`6-U$+@bU9{\n]yq~g9]ߙƫRK~V-+ oЎ b}V8gP4V?(='yi]7q1U)wfYkrxX!cms7`9ob2$AǼ>EBb*"HY46|z.C$#jė"NmS<0f`ܘT`%eG>;`Cš`ZZSS:,!k"3 |Dj}hwuPd z4 %ac=&lAI`i"$rpW GG~u?5P5б{.MW9Ƕmf%=| \Iȱ,W&p$̙%M"҆le6&[kWGMlm}AV,J0SĬ6M<;0}&O8c4@+Nd++:o&lӹcMa7V!h WkbO/?-G,x5qT.Cx|غ1ǡ*9#<4Ig=YgU D=}bW:!sl]El!- 蚳#ֺn_wpJy+s <9A9(J65( g9&+TFԊTu 0=b#&n{ gʜ \u1ж]n\+ﻄM.{U8660v7b(D4x\Gw 7{`&( LSWz `d`4K' 6DLQL3B`҇ެJi;! S[ M8SYqXm] ,Vrd1ȝ%lja۴^cZ`4zs9xr)AlplS% i"  Ͼ͂a {ݞDó + D!E;5$vqJnח_=lW4ѐ/Klp5*5ڵⱷRgѝ _e=Wol~T13Gm3̎=p0}ʾ$@؇_loS 7bXMY8bR }a“x󳆷4OlFkzO2{Ob uYr &ehӌd9!!rX^d.8r7L`i ؟۶|d)hF7qYg|h嗼8HQZ{Y Y?/ 6xUS͟8On]k]SHMnjSϓ} D0: zsaCUS]:`4L`ڄt`'z]{11pcǞD!h@pF4 !)6U:/tAHCs{$v_Wnv.( yӰd99pD0(slfd>Cà9 T!W{tgĐt3*ZX:>"YTpeQ G9I05L5QVp\Iǐ(L8 9JeLSr!(O ޮᧆѠ;9p" ^vɏj@@ԥsoU骀&:`A sn}Q`8ج20hr&|087#st'$~b.PӦ񠵌fW[vXL崦v"TT05N82L5YywY$< x5(2ǜs`b!WSR`]I!|ϖ׫6K5͚ceiXS05Ax8їwut^ّ yaF_-`OЅ܈U`'to~ G$ik/{mF %ܫͼO'Un59!%%[7B"~zة)+,Rx0&T/"lrKǫ4c3&U% :wgbbgS!8g'3]]UمH(w@^ybYl6yXOTljvm:n%w&Lhv|Z'.B !o%{L'v01 zMT0'̇W[6xqsRz^2p 7G$V3Ebui |ͣO/a:͚\e;m9(" tf_pZ{xP 'z_₩j=AΑ ZV \ݕb*.pXa5k,˛yOFuDŴA_nAҳ H/$9x%v.d[*L͠D k4m6wr=LVd4^*# {EFT{G0fҀ3fs^huחBuF¹[,"T,ש.1 O vz Y-nsk%ء%Y66 "Ӡְj:$)L&Ӆ+uTAb»b#ܢ+Tf4YU!LD@V'sdSSZ8lwQ)"TUf7=ÿbus֑lKF]}ЦFiam}*lG2'b+_f,yƤU6mk+kU{Ń[yzns8YYS#&vPzk b)wdj_Wf8._fU g1&`-{^cb`]/5рxg&DFz+/o./U7DOc3@6mLcbE^=lk4?C/][3X[dK=^By/ vtпB_nϘi82 o |,qU]zH9O2'H<6:\Z> dJ5U[P0|^AR*w(Xr d*A1va" ދר|MPqfv!p59lZ3ٴW"*5% <7^&q^8.&+=A7@?o*nE^tE20#q5y[׬pt".Gc$k J{fR2(^og7f3sg{r$@>_N L4b&[`cu/z $*NE,T(MW]Y foKDd Iދ¤Q#MU?Cd7NL/lU:h.dak@xvBXx k9W ="sL ٯ 8Tdȁ6RA_C*:ea[1dPVR(kI0sݯIW#ɽ`"JP 5;Hm:iOI 3=)ʁSyajcSxZcaT+я"!FZY†^ICJ!W,_/&m8FdY]FHa{'p@#p̢(ʚ!5Y{ز2UP\HA Tdj&'ʤzDU1qJ,aEGijY+<'9,DCRQFDY+bqlД t9uksS`Z=rvpU7:+k"SxKt $X\y!W{SG9›thZK'qZo4WSsn֯Y&Zר;HBmJh>6'@Bn"Z=Xg5*8+] sHqͲ5g*.bm:AtX|2*fssCjeTcԍP5lO'T8@zG‰y&F^d1*wk!p(Hv* gq?^*vtϴ]\ uC}ܸ-GI|.֜J`68 Ta4io^PLH}Ks9\OX$XleR۠ ՘wٱ޲b 88")z7džPfZWZTZ|aS; 4N_k0}6)d cTe5FtW)1[T!`Mh׽`Е!EHN(p'啪f2q`Y1';k&#]w%OgHQLWr* k=恒l*Ջ6zVkګ F:VY^~%}=jȞ9Ab)ۡCΆi e:8s@kH`-+F*AK8zh5 B}FWp@Mת{ul~.H2b֎ ^9%EO&Mּl.ACjnз9rUYsO2t|v3o 6*kpmMY Mb1FD;NA ׼o0p8Ѧ_ gpEO`N 5ɼ]*@4h[kGٟx^^ݙ#ZahbaZ+t x8/\Pp9.zPo(ǁ[bYYR.]oy)ӮD*janp9O1Iudn'2%tHNxCDR* "7K^1sy7k9;#PuSLKJg̃1bz`?D_*H* d=_zU 9ɣ(9lU zP:[w0^ky@ A-=I;q%̍٨ pZ˦89ȴpǶ91$86waã3S?<޲i ԃVY}C)!5 $v$<1GDEu)ZN6,@çD,jC }s܈nQ_ ^Wwqvk:&NA8# rS"uS`iE\Msn_+׵28ԡrtFm?))&-t[-*zrXKp_ee;-xTUV% S)w)*tc ;* E>le[Avm|e(BC{+?,˚ &lx3>`8Z!-͜{cDkպdc6.` 9rf͏:=7NjwtJDc; sZn_/E{'\'˺Rzr)mdX?0w۟l+9rڥR&ǮGw)jEmjyC:C⻿ z}9qB#*j>G?}ˬ)d ,K6]e|_op45 x9[s-}7}PuXp3\aLѫEu_?~32I~T<Ӭ&:8K2۩?m6IjSX;8]l9qdcS Z n*jXrj*NHm\sɯNGH̹)H_p˅JNRoX* c(0No/|G]m$))E K3!CO iբ@ YY r;8tt@W% ;N­܇C-hURX" >; FdpOw#ɟj8>`Hc)J5*vN-I/u|; 'x]p:$I%ӴTuB 6~NW SYL/NɋX݀}? .LՄg=r"]+?2 دbˤp:wKPzx@71cpdrL(2jh:&Fn*K{h x5:neUg0+ ib5P0<.xW._ ut4sd8XD n,vmmb>`Plm#Ur myǹF0p]Sz6{MLtlv1();E[Q^/btCW\< "律l<#d# 0d%z޷;AyyHc^æEV~0f h~Ax,@4MNsW/Qvp]zLxm7& D v /QZW>-X9SWa,G|.ˬ`id!K@kJNNTXKLd42  \=_ήr m"Gpqh.oq8zĂyctngӾlZ6# 杤 3Rh HF/UY\'8t8nzvHI'Z2M@f4t+NdS:\䮉*wf<&ֽw) Pba9 lS?d30El@kJͅSQe >6v+4 e ϓ2gIl_@.T--U?/+}|; G8@`/҇ p⌿%c4]ajLZYϕ>>Z'w҂ {t2wX;Źw@.{"Ue^y_f|(LɁ'$_xP:[hA<pgs.@Ν+~A&J2]] е8"ǯq G+󜘷w@r-JvezMyt]tI z-}xdL|^1aOvp p4B)(GWbRS  YIAy. VYϖ|UyR%MȥO%6G:v}lRl,wHhx|?jAOw? dbwJ$ OxR߀( #azcPX2,N^/h/+K)̠ʮ+fh G*ufyX,Y1 ތ\{v=w}ǜ8xaX䝇߲*y-[N?!}pvnp{V\gC!]#3۫=r5[:rqxϧ**@49rJ , '=?Wb֦UR\ZpT}U=%,x's1?]jfk[-㛁:&WY/E)1U L'W:/5"ekd{̦jd [%s};E^Aq'u.8M1$pr5lf*A|RQa[8VnkSs@X1p151C]3(UG@X)ũ;vnvrwWdQ%U"hͣct649NTAMbik\.muQ(:y}C|֋ $_8\[T8rlb_jI#YMV7nX|@<)uW9Xj^^pfAsdu;%uS-,|UgSV`8)uO\ ?B Dwm78m% ;BlA,'mј` dxc\RY@1p<)uȡA\tL+3 K+|Rv7(tȲ`]xMvߔjW 0klIU<dkS=M>&uӷ< l4 6q+VߍR'$8%P WKII֋?ϥFtRϔb ԇş>A\6(}ZޱD:NO%Pa ZBp:>z 2qPx~3-r'-k9!J PT{7Z, 0'iYKgxDAzt)Ff dg{kIΏl]c{: PNiēCOŲVN[M?f>3ělQi\mUoٚƀSf*+Ro?~;hʩKl H3ICD?ZJ`j,eS:=Q'4 B6B--)5>k| X Rؖ UN>E.[5X95|Jծ  KIC3/Z9lf#4m}>Fټml఑O_҈p%߸̓,8 v}Uwvls]H!6W am5Gs+jJj̳dUtL1w0(r{A@a2R 1]j!I)Zt4v_8]o,CV.$ %ȱ16 D90*yb־Pƒ@JɁD'Ug@)%=O5ЏTju0I%y 0Tk@M CS ~9 H~B@A>0⼚&ϑ<U鞥,,0ArCOK>teխ`Kg|.UM6R>d@8rRS0%gI1x/^Kmv^PR?/V9*D]9VΨYWkN^<3[W@8 xi=ktQ8mELĈE;@'`oV}6k{޷j][B;x mНA56s|@FbuΟzv.aݰ FBqf'? "VI-@DxvI3LkvYM{Ⱥ=l抮=ydpugO v6t&*uª .<" N]8BT||?)z)wU506^B(G5H@4*8Ze]%yxvr3)ßI-GF.E\()_=oj(H=u AբzXHs$n! !'6Wz@!Xgw`b"gT89h݀Ms=/\݂I%ڔ=:b٧y!͜^M_FxZϺQm4}"[OÖr}X@\HQwU+vOPG?"3ט&S5F@P'ٯn̩ۡZf*kr*|Ӡ *}q9 I +>=WۛC/Gfggc_ZgHm:i~d&kF`kYbT,.t3u#ԛ\&*i|m;Dc<[/*Yʥ:>"Rqbj5t#aϫ }:BׁM&t215C0`C#Vԁ]$h@hrxy;zX9 x:XdHLmt7<&bZf(6@9R9yXwU7v m\r(kI@ zFβsc]H)Kgڵ:?3W) VTͺSSY%o-*cprMlX0XkT~Jaqp}e*8fĺWAJ @Kݫ>ө8'5tR&ښ r-@@LLHu"}i.Wt7[TV}#/QuNJtHVbbbEr>6mlTFլj2tyҲ̦Zxc<ש9t6,Ϊ{ 'lȽ+숫3$d9 B^lTA.Ɍ0tY Sc/VYжQ1ǜLm%Yh%])Y%Ђ5I/(UkR T0HKa]h3@计`6--%8YR"x@΢]hwu"7 Q]T4v9Ozwˆu[ f`|_A3ޚBWߴTݣ`a+.UA$_˟7Im;t%ۭcwH<>gd\1~.ٯ][=f=K-$ V;v|.l9j2M$QX.Sk?|7EFNu" 22{)3\&@%U"Eo;-p$؁ru1%y WzУL %PM#5O -@*-X#AK9|:s f |QFvc[,^ʁУW5y-h}o)YvNX,0Xdւ{c$vn 1eWV6tƈuJ0W.GG PH!Jǒ佦O?_Ӧh0]XBqk*0ӢN.jP)/v@3Y&8ձ2:%6zliҀ@琝dǺ"g]8$.;`L" i?Z] /+ EŜ'E̢'DWivlpe)k;#x-DȡAvp;[VjM9&!8,! 'w2SԭЪK%E=Fb9z0{{Ϲl,\dCLb=8ɸ4q&,dZ-ڻy#2IN< ?AI03xv wP^K9v +o/h=BZU2`M^CF@\'N_Kvb#koXc%cr!<ob[k v?_Oi}E, 4@Fų_i>Sx>%=5* aYv>6 2˻"y͑Mˉ}/~Y~D-{ T2mZ5uoj!,.%`< ̫ %<#k8#rG L6耦| i,VW*[4OsDTMFkQuSeFՒN:V9B&:mw_T*FHh]X+ͅqIwK1MrRk0 [NC:} 4P@C6._q9OCI3]Db*#kFcB0U6$B|7z1 [AR՝uT/ h3E︙c*+g>.,f.;8Sҫqs?Ө@(C8cmeYWjuUA'g7D-:`(o_5_X(9" pqM䄪&k5ng[q]oU똗0 NUNlޢ /m>Wj[N/.y!ciß&A/ 6{2o"^ 8WJu=r+/&`#p ֘/M7ގ[-'f+*6)fAU7ZVܓ7spd|ֻh)`]s}ωP\)mrHv< 4McA7@ޜPiOȳV40l(w)t:5cYYl8Ѭz];_?* Cg]ٛN ^^5 "[ωm|8^# e\$NT9(븜Vʆ࠹#s|SkRJZql|jSF;[sgu JSokd>QBؐUz~\qJApx*ڱs *DHݕLzk *T kBxeh#keSghJF*oٟZ:Kgh] 0,0^ Miձ@X`Y#+AAJYGg!pNi'+I?3]66?JɫsKh1J?s#AiV6dc@t5=@iZC`15WdKc2ui9+PJǺ@ղK1Y0ه4p}DiQkr31 i f\=Sc+c|?8ى_y&׾De5+hսM jG`_p ^/yrm6gSXrU]Vʽ91 4`J1.>N%v)hxE{;.kd AHQ ؚAm}e]֦sĜFXz ,U% 'k5?[%i#Hc&L/wY 4NPG)UzNpZ%5{FW€hGj<\FqGm_qCL[n TLYj#VȔ楱jWbIJ~W[N.bWt0UV,gh_q CV6JU{ͧ KrI˩k5n r Yl^q~LJTdQ{$|ր龾-Tߝ,N,m.½v?nqTvR.N:x9kÜ%nu4*v@˩+SrBC~ƹZKdr'-lݪ,}nFfR6r1XؑE"抲RFe9,2NNJ#ly]*}k5vUe| (TRr?ӛ+}duyh;P0Ge$Lw_djD0]*9۱ q+Q~U .$΢D Y_T>VA;,c|m\i/B|76ט6zQ){,r/5NĪMt6˹҆SOps(Wlg)61΍A ;ka&uA!cƺnv9 +O p굇Çcm`q25)&y'_q~N i  Ěk56ws!D'HDK [ə^y}WA'kB:΋,pi>U%t[ ڄqciԀFs.(A)<+kAe-##c7o1e/R= n%{]=o~ܾq}oi~m1Bei*9M6by6;rb:[Jޤ5'U=R؊kvV̎UUjǺNǛajL.>DQ0vj:S}2zIߛV4auУ7i|ꠝƷzA;oY4i|GoXA;oY7W؏iuN[V4euN[V=j|ꠝʷi|ꠝƷ4iuNVeuN[V=j|GoXA;oYAO߰:h-&o[SA;oYA7i|IV4auФMv߲:IVM*ߴ:h-5auN[VM߶:QV4auФM&oZA;oY v*߲:h-5euУ74iuФM5auУ7zA߰:QV=j|GoXA;oY 5auУ7zA7|ꠝƷzҨ%ߴ:h v ߲:h-5auN[V4euФ-&oY-޴:h-v߲:h-&oYMv:߲:h-v߲:h-v߲:QV=j|ꠝƷ4iuN[V4euГ7ک|ꠝƷi|ꠝƷ4iuN[V=j|ꠝ7iuФqXY *-p,p"-g~9M4owey3Kt `ЊAG]DE l\n58_\iExZt{UѰnx^w@yhq׻M('rrPG|߅LQ_oA-ۻ:m8y_KO2TB ##Z9IZVw{I"XIjQ mTz~6 o «eق(mսJґ9Vk|X~۲o  oDQ0gRѪZw)7?LyP_p2KI :W]Xo'5c-u*O\޽o(0*ՂXm*^ ZrmѺ,6 y؉-mfgYq@B‹V" .93췧şv//lm9YLi1Hgşۙ(qmYllTGgşm*) g @:Y|>^ʦ@fC6bIھlKZ}yHn y9Pd-ZިDxDfR yٽn,2ΐ|lkSr$D\?V&мy$n+(V 55:Ðu놋3/o4S*^/7A*rl@ Dáz]!5<]mP[=|?78>:oMg܋z7rL]b@kN D@lu?cnog:e,I뒘HM:㾽o{bIB˖B1!O{c 2<P@:fΒ #ΒR ڜPmp-WbyiWs{nsEQ``xuf Ws{%(3ks{vkxu@¶W\ p}`*ͤKAcw|Iت?^} ?%%Tm ;pV wnngTJ4_N}[O$[G68a"ttKwU rre7OoS&kXC(5PG3Y͟VX|1TfH,,XA/ꅀ^-wF uT DuHоnV?\=>VMnx) =DN7୪_>I*Z.CG1 ;q|/ݛ(D#h* cc8TseG;x\xw7}<4>27 .5}%Y,2ȶ]|(H Z}l*Fx:l}7 J m\"뻍!PĜ5B4LZ|PqpA@ /`j#${{S9H Wx4nk|+8\]@5== u|Z2#Z ^G`X0'.8s$?ܿV6obrpØ30kī;G?2[]p *%q5-uos?SD:KVr2F` Qj_6uVA:T; *\)UHLOoo],4Jc0MN:k*Y]yz u}OÅ>>ΑR'&`Ohm:҈og q+77O#(S ;9N~Y"33㿖O@5X5pPgH~wUA)ths+2b(!q!}0H7ۋ$6FD=Mw!/8o[:RggW_Li$,N))ql+W ϏyR6ջE7Я n(VQt\՛,LqIƗ,eޥ<㊫SC`fl㴺Vhɠu0*Ǘ׫us_UѼ ڸxOW 0 };-cx_kpz&`Q\mJ*=Mػ+Л}N; F3,:|(fϡ~9H`Wj[NG_ďs㝥 ꚤx 0򅮻l5SX|E.žU>$!'DKȣ?ِc.Er6 U-pq,r7tecҰvZ4rLޫou6*FEbw_[W6gxR?^IӍzLJt-I{;Ksk4-ŨCIWɏrQ݋W<Ϣ);wegz-bOMi@}EJH3^V߀|xT&P0A*( `8nd!Ǖhp%p?ĪT=a;/>o:uh@mlyN @<%|?~'8= =6֪-8 Vj,VHk7tAUϺE+lΞ^9$~2[fJEش@A "neQSDtS>Ge [<4IP)߉z 8%\COpL,بFQ߰XXdIJJ΁T9%0npN%~c⢂ N>88kUHtkӲ&5_xzT6p9C8J6bXB2;\#߿~+nJ}(I>JI=[DaabaXbXg(pLشqi-Y: aI}a| @CMMGcs欍BO` n SJ"YyT (>P;bc|Z3/0l_; r*eKMYr Ձ Dz_UeD6!X U KΒ:c25B1O26"aE<ԀCs Ъ3L:GQqlb _6vDOT% kfNIvMA*H Gl1:pc1akm_9v }yk/pKRK$ԲUmcXiJ: `b|af{TbXy$ ĢaZT% rJ꜂k E_ ]pRꔁp2Luk@Dh*]}"u9mIYP2pa3gRy.3wE O m*3vѪ+8fqY0\sFQ֋>BI":1; uR4_ԑȃ{u)6XR>vRhpIo7q:ꑎOޭyhg֘P噌 ILQ8*1j>iy,'oH[lզXP6\gRYlBs5&U'l NZyh*d1FJji`SRFfS<h 2NLipY%i.\ N<;TkZl _UƘӈynht.^J#F28 L0:T]sh&kVq;lq 6 ^w{U =wH|Dt^9Ky)MYAk`'.?R-dq#fRWY!ſ[M|z?Q' ;MǓ:0F[.ֲPUHzJyV`wRay.z(g.""+Io809 0K=DyXovw˟'u&3s֓nثtt 蓅E\{d5ػ8~BUޖ_0=_њT4RV3]Bؕ\U~ @=,:]._a~-{  xr1χV\J݂z=tp*{vq eHXDz[o7c-ik0h+(&g񏼤M2gH4J .,6XƞE l97Kzg88`v4"\K°jtz %&1TG<{dD% 3^$՟YT[pM5{cn,OsZ${Hjxbuirj!Z{M⅁ӨS%GWJ3@p~lL:_.*\T n`jՕֵ~d) CUV{O\} γ޻%` xx$!^}҉4갦1G GQt[ˤ_}VC?̒ % "؝E[0M.UX:Jp6i dk_t^iL`~EE3.T)UJTH-]c9vp0qblEm*nb0l=Bz}EC)K*DP m!.2oF@beOhy/QI["ed }7, 25C2~ +dhsG|{}˓3SZt[@E cӦh 0=48{Ĵh]&}yOW68ė؜jz~\z-sdjH/2Zz)?l}J8`o82wP9,+uѭ#[&]& KAUp4Coa5 >w7[l)xrvn"sʚ߸V@} c /~W8ӔdxP^)1]E /'K%TYen_OhX T(#pEg{uq!yS CG@\boQ!wl恊#4"W4av*_d_zmT_ivΧα_VlM2| ٬'CR#wcqgxW5l cT ?>&]&}꬙+" 3-/R -(0\3'Kf I_=B jTepO[ Z%M,CV1 O,8KSa]ʖVB"z{_!E@LR#1,gӧZ^qbhip./C_F_"nk*1G—pb.`rl%ZKx~ (9Bk[dc8}}\]o|qo IgY^c>(gut*D&?`Tŵ̈h1:]o>l(W&U,l?෬W)Wbr[UԡÅ |_ۧIK}dxQVZ&w򇧟? MnE3û7wD^b˴.2X{ \ ȜŒ}XtYJ[{2Tb҉ڿ[2퀳֪k:.[%v\LrBk9(& M^#_QtPl'׺~C}ﰻ2+<f/hC̙³5ӓvԨ;+x0QZrm+_oY԰/YIp _6h&bYXou$(if ۀ 2ou>UہeU]g齿noA+ġjUؒElT7GlxV9 6KXJ>ac7[d0Bta nj˳k=\ki) y++VK=h Ŝ-ΝNY3V^߾ckoY(՛(XbB߾ k"a Ĺ6أW ǑӺEtl^Dhdrg#[(^~Kz5 Xz<Ê Zdl];L!>5BNf7He>p.ST#n'ꖆݤUփX9ऱUR' s`R\e7XNݧؠ(硫eFfN5{Ѷ]vosl=oQ :{⠵xIcʶ668)[J>)~3vQl' lO>oS!LN,$-n3UݖUǩ<JFͪiwn9ɯWjie'3M#m;)R&^]m>^c- V`C5?||U<|Qi}=g_/qia**8ÀWjo[*y &館[v']ù!Yk u@|q6 Y$q~ G55ޮ-ؾtyIUnTtWZ RVW`Xt (΋rn2qJɲOӫ¯o)Kۓ.;F^KdW=t)KyPMɫ#ذ5g˿~|qV=᛽ MzX)Ň~_A_]86A7khwJaegoBh>F&k``lgk^;X}p@3V3/wLJ6gu>}rtIfJ xLHQW}jMyox_֙@}h28خ~DeH檌־%IiX?̣d\j-bF良.:\* h^72:\e9#^ AܨњT5a6[P)F3- XVKa^­mv#489# ̳ {e+Ū>f%yT,v,wq&dGy.%9wK,;з ͯVXis ];k̂4n=s$_fXwa<_ΒVm 3LY} ^ 5} RŰOY 0$s27Ȁi[K@iZ]N8g-hy׌ӦlG3VjgˏoÇ640pd{Tc3 8y:˰ ث4@_b<2%V4#q@w"( V-!?Hݏ1 T,sFaה6Vʥk@lX 2sPjZ8zbSHXVpMV53w`jk4@paWb_G$#zpv#k E7N1+^[v|պ8;SRziv_Gz^ↆf)윈 6zEZ#duJžpպ 0 _GrJ+^Er#uzo"uf{G,,JGhΙɕfb@0|FWzwR,8VwN@-N!խ){c̯4m1< U+pRǽm8Z (<=`F VX~La F pe {Ƀ݃ǁr>ft.N]~k&<|W d[st׬o}y.U49{ Bޱzs6hz}w!e-J'jr@ l妳ٙAc)q9㫻euX _If9gpp:ek{w9k^xM"&&_Etf p:;l-(H&?2- pq@2 `@(;DkmX#55 ab`tU,9!e^t˷߂H1ExlLɅќLޕZiY!2@:cWϟ[Lە [kQ9u}SmǬI]!]b7;U!ȩei=[g z=`34)/CY-՜ta _a&xyWla8K>6`8}=جq8fvȒ BRĚZ_OI}~zrvH#h *L޴C VU=`p+cx8]̶̚R2N*Á'I 3 8S7 _`˗:R]hlgI[ᬅ~cfsM$Q@Tb!z2U6|Te;v2YB|$'޿34GtstLu`6&juG!4|ӚCtV**Z,4yF29[҈]eshg_z.>6òɆ@3M]-~|]<#Y#;mVg LR\"{gCqp@,'UhU;Φ1Fq&XNX&1:\RX& $E4P쫟\X5TKw)XͶ< 'rkd3ZϪhp8հm=d%piX0(ďhUϝ _?b U@|6߯5! q'gr H'kb?f={nlXQ  f<*S8epn6Hu5Ls$uES.Y8 \: nS)Nnj]e:5E+@mF C[&]yZW ŵ88Kr:|!g#HEX aKFl# 32pmv(p8\#7=gRhJ؎{ƒ8(UP r2Q5pgdG{84cUy`eDtLh_#8ֲ¤X# JTI?ǫH0}z).ȒJ40T07 ~ T-q%s +=6th}[A#&<28>*oZ)o擂2?y:6>I9ڝ;-trzke{Zk.'T0mxǔ" ՓGd0&WA`l=:ggJ|"ȁLelj;S.F0<{/چX 6LJ,hV//DŽKk<ޖ_ޯ5!420**g`z8p}-Y¬CfVX'86瑱2{p#]{mi T0 7. LdM ɵZ PAsF`\ޑAA(\{`KNmK^NP1\KW%0Ja3<|an9oIM1y 5tVg+z<O$8vhvKBjC \t{}c} T9h,Ɲ)A#+u9 7XwPixIc=f-r1é5%Xd0<4S҃w1jde2 `ƮB3H:{ F 7 ųUL! _`ΝC[/> Pyq2^-Yv9Zh*hx`#bT9X@'rS"'ADnsV/ÓT["S_|Q#Q7HCl)oDN5ҜaTN0Ϡ@`߆.Pd8FM[w"q?>iب^ [$O{(v'ajlҗ>1ʳ]סy-.s ^dh~|m.P%ZZ؂Ю|J$"Dl tցW!99cUQٱe>q<ϟ  혇ԴM c0d8bvDYE9%V(ta6)>t9 l9W=T:?fy0GrU*%SI-t/C9@#wX_ױYq 'K]ӱ٘t^t)`b]~ A*0R'>K1\Lʚ̡ydT@9BIrcLēu$:Jk' >pƑ@A_q(`aWqA 8l9{׈YALA!Sf$V.DYQŪBgSe{93ۗCgPFI =4mK*S "r8`j)i@fxMpJ ;ZPFV1<_|޻ :2XżlJa]AyIl?Y Zѡ}hFPcWfllC-ST=[ $%$ BLD3]y#l >8͹-pJd{fL* ΣQhVثz0aԖ`ѱ7on| a L x˃O1V-WeRӑk\P Y16 TgGb?oy!E %vdߑ29;YgV $6%UWFaA`ciSş:r d:<dv3gSR@:\|֮ea8"(S.U۹Ug_.?:$p`rK/YjlQop b#= _ŚgTU3ih ԙBV-CW?˭ٌdI\T]!^6vfw ᕳs 6oX9pJ*jU;﷟{=űZO,򼋡Dpp zH~ W[a|rdl 4h4gzUa3} 2xFͱԃ^'TrΪ#AAOħ~0 ؼRe>%P3ZS4m"(Ha7z_`wv ;e8HFJ8\ 25W/jk|VpD.yӾtb]a{9j3$}+W.G^m%Ui hxy>ɮw+۸igE) Iq`uy7+ A 6@3\"vmr8M8#|ѼV~'z%[a^qei"Z{'a%{0=}s#řLJ/erSVLL7q9q*矛,cqVSpVݚ4[qJT* !0!m[GAygRv@S!|q[w~oz9թ4SЪ(]ܡu'ص^0Y:؞]<+ hKyGҷ_}Jl.NlK7:Vo 2lGv}wĔ76BL ˺=?_Nr[Xa><5Y0O総q_O1&o$b_j9ǚU/I :YXm"<^:3~ծĠ2+jݚc׵o^Fo K3#cʞ~q@=yhشT LQ-;J-ŁSjn=I ȳINʞ?Z CvyEdZ>R[;1͆(>9%jkt惺'ʠG*/FCln6M67DdCbM@tJƃի¾A,κo#F;=+5Mt|+N89- ܪ\̒yjCl+c? LeI(>Ŏ3co]ab8F fxM4#YqAmF\j0E~E 橉;dRQQ;=ro׳jZRiN QX*kU&@iwڻ%-suIc(vB"FFƓ/'.4^Wehna s&6:c%ҒzB#J~nYi<5;0a y3A;p?dg% O;S#%4AtUZ+KY ^edy[<}l+T UYz!<)ͯOd>rgDT%:T1KΈP9E*6~A;|'ܵ ԮQ(_ٳQb D1Ss"HY3;N㥊xpzN0KَC^1N~Q 7%DHgȊ^BoxX3ZlPq]H/X@G]A/@7..#I>oB69TKCwoYq&2ЙI|rZ3f^BYN4`]%VZM81i USY̐*ACGj5ˀ͚`FC yNȳMMG# _uAit&Q {#&o4  h0$|.U$T-'iAV&8xmx>AL#3,_==)&Q'gHRT& #*7R$+)6_ PP[P>pyHPIl EZLnyߣo"pک&VCeV(8|sNud%Ol B\T8>@%G˕ nbđa؀k\RPi?/@Us)RJuV:4xFU uUh(Iͷ\\$z;603+W ҒQ9A~;IRV  %fΠb@oc^,F̼'J A1.'rڥ^4nv4&W+ 9 \d*: 8mrzߟ2!.m3k(d&n5YEC锝H Y?맵iywIhQ@S̕5:TIid^w7ٻɡꓧTL4)ꢓNJ z~٢AɺL0}9nh&WU-vgjdՀOP|4/O[*v9] M{ċL>F@gĬK%0`^~gXρ RV몓e2yNu5ߔ$;Zuo_kpCgpEYFm^3vE)gmɖ<C bWՁcdk<χ7ױDJU1FS -H:Ǯs}(.INCR[ jy)t^s"1*w8V]0தAxZtfW1q݂%5\ )6n2$nH[mT"JɄ#F@sh|!אxUc`HEzql/].x.[bE++YI Lo>M#k":!T %9IO.۔يgU&H  *I!x6j4zR+}xY&V}5 ymd6Zf4]˞[ơ;`Z,_%p$CC+ՙ/H`bbZ:KyluxyՇ $Y*Iƅ*(<:g,q>l%K1x1{n51ВH! Y^G*Nf1`%#FpPRHhh"fJn>dzqJC̲YCu_v`߅L'h->C$o/Qmdr~GetOne($sql,[ 'Manage Groups'] ); if( $tmp < 1 ) { status_msg('Create missing "Manage Users" Permission'); $new_id = (int) $db->GenID(CMS_DB_PREFIX.'permissions_seq'); $sql = 'INSERT INTO '.CMS_DB_PREFIX.'permissions (permission_id,permission_name,permission_text,permission_source,create_date,modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $db->Execute( $sql, [ $new_id, 'Manage Groups', 'Manage Groups', 'Core'] ); } dInPD>'?vƎ#m%?4 pê]Uʒ|Lw{o6٧أr) 0~ȼt[y1F̓,㾸+ir=?&*]xqRYJ@OxsW[6uW?gf2 袴;HDCפǔ.6k+eLD/Rʃv!ȴc$?h=4 EZA.fx'O m˦eh=/AGǂ>HdAD'V%RuCESFՐuAH`o?l݌߻nCKVj2y^HiX# y`׀Zh=Ѻ .^$)  |FMD"# 4-6GK.hջp|&yCi<?{/  dW9``N vsww8ȹNɘA -*Q7u[6{-e+Version 2.2.7 - Skookumchuck ---------------------------------- Core - General - Change internal CSRF variable name - Fix object insertion bug via deserialize in LoginOperations - Fix issue where login cookie contents could be forged by determining the hashing salt - Refactor the mechanism for generating and verifying admin account password reset codes. FileManager v1.6.6 - No longer allow uploading files with names that end in . FilePicker v1.0.2 - No longer allow uploading files with names that end in . Search v1.51.4 - Minor fix to microtime calls. WrK|+}sǾ*mjFMI5þH#LVwUVVחo\^_~|L{cgW_puO}~qf&fn^_\]8͇ϧ'Oϖ^]D/D ꊍ \ h}|\׳\ђne}?yn٩hZ1!`=A}%vyKŭ ~D87PլCL[N܊*UQ42~B1\ ;1V#c([ L6VsgW$g5=.w!cFdS ,ș6ʿ\pfu:`$ZLv[ːGM1YnG_uѦOYbeJJ>"=X9Q6fb]H?P'NIfBʼn)ͮ]xUa\!?\jʐrK:cǩ)${cBK!l>+&gMRTt Y`"E?yYGmtco"^а4FOQ=of5-y4=GfslJ4S)b\lws' c(I'Rjv|JVg1R"1i [Nmc { w+YU4meSb@ip*mT>_` e0*7]S#eNӏn3ʑjDJ5ֲ:IGC$JhF3w`ڇ8^7 P#L%`~Pm6w zxǨN^;@%(l-U7T f'&oH\e6vr:L@|B}u_HmW**Vr1Rkn~F+O&KB:EssHld9޳ShwkVZk!7p`ܭ>b3tۓ6D#hVΊְLK}\z<@8 tT\.?w" VV>" l|C @'c_ޟ ZUQF]vZ0]}|ӺnEg[ =`9FR'|;'D\ Rr{y)fIluZk^)a\,w8~G%ܬM ,,bknchy+1Y'Version 2.2.8 - Flin Flon ---------------------------------- Core - General - Re-introduce the host_whitelist config entry that got lost in some commit somewhere. - Minor fix to pagination in Admin log. - Change Finnish locale priorities so that UTF-8 is first. - Minor fix to calling hooks with a single associative array parameter. - Adds new HookManager::do_hook_first_result() method - cangegroupperms now calls HookManager::do_hook_first_result - Minor enhancement to moduleoperations::_load_module() to check if the class exists. - Minor enhancement to {cms_action_url} wrt. the page to link to if not specified. - Deprecate CMSModule::SetParameterType and CMSModule::CreateParameter methods. - Deprecate ModuleOperations::GetModuleParameters() method. - CMSModule::RestrictUnknownParameters() now does nothing. - No longer warn if a module is sent a parameter that is not registered. Note: modules should now be cleaning parameters directly (see filter_var) from $_POST and $_REQUEST ($_GET is automatically cleaned). Note: In the future, $params in module actions will only consist of parameters passed on the module tag. - PHP 7.2+ fixes. - Fix the inactive param in the page_attr plugin. FilePicker v1.0.3 - Minor fix to delete action. Search v1.51.5 - Now enforce utf-8 on preg_split. - Minor parameter check. - Removed deprecated each() function. CMSJobManager v0.1.3 - Notices fixed. - PHP 7.2+ fixes. FileManager v1.6.7 - Remove un-necessary files that may cause a security vulnerability. - prevent creating directories with leading or trailing whitespace in the name. Module Manager v2.1.4 - PHP 7.2+ fixes. Navigator v1.0.9 - Template fix simple_navigation.tpl. Output correct class for parent without active children. News v2.51.4 - Notices fixed. Wr"|?_@/zYi8H"议v;i:’B̍ʬϷїۻo7W#iMTR9c~~:q8yw=/>ܟ>)nV?>jT\ o%*brU6 &_Wyӳ[uI'XG$aFѶ8`$|,8f[ٕZ~p ѴZfiuՔ,¸( WMMK}jǩ,vq7cwn9r(F*(W5Fa%;] +U)tpZ+ &O&t$JtڅPһN1RHfUu!i(ȦO?c h.MOa*A<  6daW.#KcQ CBDOs|y-g/#S,J%PeByJ5B6CS\QU b'W0yoyw1JL>3GB qz|W2稔ɊBF[NX-ho>~Z\-i+AO/l: CY D5‚)&$wVkzu:6-CVʧZu."bP&HD{FOݠ|t 3HjhW6{u qM?z;P9&'@`08Ǚ /tx4y%K*N^@_EݤQ9 .ђ|IGzg/rrfV92,aٛ0]`EzFkȑ1X Ki= ^a'ziHTQR "6-\̖iogLuoZ44(`-6+HT\,5)UC9 Z4'X ȹ\q7q0 |PvσLΫ4섑Ye0#zi7I}/v|!ԣ ;>QO?uE[U)l8AȻ mEpa/i( ^+BUmD*-#NCD(2m%RͶX3?h?b-b9!=LBT6ʒȂæCeEw2ӟ@VX&[ٌ.-gI@rՠ>#U|D jހ;{&-.;~x$3klJ (؝LifGCᘭ2aV l1Z ժv Version 2.2.9.1 ------------------------------- Core - General - fix to the CmsLayoutStylesheetQuery class - fix an edge case in the Database\Connection::DbTimeStamp() method MicroTiny v2.2.4 - Minor fix in error displays. Phar Installer v1.3.7 - Fix to edge case in step 3 where memory_limit is set to -1 WrI} i,#;UYYR{Ѝ=d-}A'Oݍ>]\Ik|ֹǯ>\XOo\N/FwǟG}1j7FuI'XG$aFѶg&U,8m:~|x| % _= )6(cv\~)YԚ}u\ ^䵗NKmzu״O3If*;E1"ZkptvɷnxI;ͦd8hYVU ؈?LgVmmȎ90^T Vt2NVYy0+g%W1ۨBչT!9pZ$$^FX$Z+@S,3E*F`Gaԯr ZhQ8Eeu^jYSL6IWϸTv5Z=:aN+S:zU1( ZD{Yn ͜HT*TXK*EZ;쾤զ,7~3r@@m F;f9ܶ/4S8oZBsI 5Wiqz~3i g1z$+l'ޙn>laUD >,{n%9\ #`_bk.yٔ雮"{e|`mlFH"s+<=𼬛1J`aXG]926K?ޑzufw2S5O$bԂfۀu.f˴fLu?khh `-6+HW[U`s*>#** ȹ\q'q0 #A f"?L&rpm,\2J}S늌MRxXR6J>ow{Ѽ0ܣo {HBemh֠16"|Ѐ%"6m>#(-?q{s#orGQTCzh WW3t7vM}?jz]vcs)vNnUER]Ӷ)Lb[J:Yi׎|'h,.}H)*&=kC}#?yS>5T7xY?RrusYQ]M S* CJQJ7< [a͛z,pӶGtr^~n?b}S1=&mѽ2L.Ø<A/~;4[hRõnCRuo!YqfzQLH*TS0O c Jp2t݌C&bYbb-KJFbKyt |rе`mx&;x[Jo~Jf՛us͉ҾtLҚIXI62*z)mt)ѴB oܬr5G/5ԵUNgh]r1QPNa;Բz+ۻ:SF9h&:/Pv'G$Ǫ%{TVXC@ D F)Vn;cM)%TlJï(1f7EFfz mUmc@gB+)Zu\Z:hjv֌b'3WRH*!k_6e^ rڦ$4"`+bsPy{p9x3DWf[-l\ͥi~{7_XEƨ-p&`?2i,c%s@]JGKp暗}ry`';FKXfb(#wSe^י7}$48jLjǑXj!\ź*770'#[/mNX{SzenfS=&a2{-H s۩H;tCk0@\E~A݂idH5L =Յ\(r#:%9(2GvºΕ*<8lݾ/o>nb6nf}!݂Q80݌ #"T_, ?|]E7ho I~rja~@hTb|+r{kZ`&s{3ud[%P=gca"؟=b\ybf ?,JC6 hS+1 ER.~?sAfz/X%D~uW^Wkwgs_@?۹%0:Ƒ!ekuq34>]98`]7лm%%|Ix#0/HlDb+ ^ID0\/e xͧ/`c;#ؤn'6|DFดU-pMh;6SY@V+90 `35ZƘK)TjW)vH/~ra01ZuЭ\3kՍs9@֌姲,uՠY\k TDsu$\{@+Qa#?{ɧ>{=ƠZ R,ګ|+u`W`]*<@0MDx"sQ Z R{foxʑ['YFqA pIr>.Ip^K=<|ڭ)xE]D#;APpgH3Pu.(f3H F7[A_^/.bn[_}ᇋm=~nϴ܋0$/L6EY8cyà2Sa sl#Iosˣ-P>jӤ oYߝo[{M r- fo7m?Ui_&9XOGE21lYv{\{%HUD!nc "b)bQXN+:~ wb4y rGk6 -}3*_!2@݂G1ԩ]iQzi%{Y8xsz0O1|b]ⱢВv TBOB2$-I ri#?ܬzR*BZv5@{vFˢkƸr``YākϢd+ƪ$aуn4zi2G }UХh $[q8-J I Z uLN\6R~ dFn7rׂ:c 2jЁFi-}{.n/eQn[7q? pt#2XJL|aIa51a }+.|pӳ0Q<@Icm @FwOFxٸv)O%0cM(I8waFԐXq$upԷ=fPZ3MIFUx dQL;ҏ͇[Ja8{K\?^ ux&ե$׿DE>mO` TvَsCW;3{n/W( m~ǥ'ZjC?c^MK})m ٿ6m.}/-*sl7-GR*էjc#8}|_n[ïHt$@J`2"< ovM]K !Nl7 )TsQ>HTYKi欛y$J͇e*1*G(MExZ{e?,T$V."^cD6هR 簊#YD1(QH[TT}/t]\c//wC\S%"+ApfI?x"~ӉƠ^tڱʛǃ42UWX=8+8&} m3>_\>+nXh 3$S{eL:=&20w˦XȫӊZx}0Ljug_fW; H} ?4#ͦ@ 6߯p぀֭njAt~|:>64b$FsI 68Ef$<./wV 9X=\:v_tƆ@s۫r>OP%fቓTWk{17wߞv-jc5^ t֗a*SZ/@qQVkk<ӿ͸F^Lh$Fl.ݏ=7F-j2dRR3"#̵Dnld,I OV19boujPFXҀ-=b̉a|s3|ti@"xc@KЁyȀ n'Sj =G8[(6ǁTyeI[B{``ț5zxwȼH=6ݏai9 jste<+<*5#v*9L3|#X2r-Ak )|;K#*V+sFjpc7L7Ubt!BxCD0m_ȇ,2dcn>:u)%s"?j:}9hWA95Ms,iӕO-2j}p5g]( DR3݊=@m$L/yo^؀58+(&g̬7UETsxDEwstqO\'=GD[6OGWoRڴ*nx YNjNmS;XZ#4Y}TLH]A\!4Svӳ=u ~>)+)ic5:VMhgiO'`yT]-|x ȯ.TCԦz1UD(ڜJ>n `R* G㢋 ڳ⿦5k{fV QZCpg+_SgWB("g0D!32*wS𸪥MW]+X5q™]T'W[z( T|=/NCI%k Q0Y׀>Oo);0=` JvbHop ]glY5"pى!&Vl 2`xxZ$%8NpUV3Ѱ>N%B}W=sq X  s἗ !ϐs,1zk*^\F2,t/IF >Au@Cp5ա+$BuR@.a<>N~\u=5dÙాlRK'ϫixu ja^=_ 3]mKט?{@}Vޓ]ȝhTcZ\ y>H|%AE #{ IB|GYGXbwY~a:N;2?H ybSc}~8u-ql `q~P=$l=3;C0⤹t 'MZ|TT:wvoHVC:NkXx鸾S=.m1zQ+^e}ʳԶŜֆVCUٔ!.ڄj|wXcC>#DZlI\$۫˾[HKnzL|r:,y+L),*v5re3jd$tOf: Z‹M'<*%jhhA> b+aP߬ >8^ [ߴg0p rOI`$uW2V[j:6i 5 F&mZ᱔Md 2_Fdۄ>淗ۇqA3Hy^M7,$Uό+XibgUjV{*̵bb|cߥWVApM4'X9z L`i1~B/e/k3 AIAJa֚fN.(ӓ//=s'J; ˒7. LBR|vԆE sHjr!f8( 0.b,U/ Bu-xXNwfu@zsG"f T},]dcɡ\2 aMt~5" 42+:ɲHcfّ V2mM A,lA HŮu>_Gd5_ tXeAJ~I-T,CX8NIXCXXc‡a|51G '}_|꼓 T63'o\g7]Aȃ5*]jr\ ]f D1gY%;9^OI}L(LZ<<8 S5%Qk I.IDOhZ?zXs 6X"o;\?ģ%WÈj9 8T}[LpYLTx ÎOᓕTᕽhm<(Tj1r-w5x~jFeDyʡtVH'Xid5Q ۨm@lUe<@PC4t.zW4((Y/fN2Vly`lӭ1AT¿(zAYy9O狰YB:&UЪM1?6'%8[蜕4Z@S(sZn+Fx8:*hqX0 _ ~}IzbCVvF$:`F ]D1j7MXnqPXE u ܬLK ˫7|{iC9\HEQ@09Mjy$@ [R04{q/>ּ̉Ev}#Sc B{!F v8`BCEb- _WkqI_]Ez!zf/ޛt?K6;`9^Q#jIuPDqb'կ`CVU8?˭ޒ!D~9<[=V-&.iZYAfՐX^5vL%GbٝV6x& ZV<I7X&g<ک3ȋ=b=˅FR>IK 0Eñ@] 5U]~$gQEɈ+5$U7dž[GIr4)_|U=J,-*QO}2^m Ŧ1@.iZEwxapE; * ߁uE?Pf|Wۈ&e<x׍8Sհd B/3|TRS"޷5~f !B98bDnE)}D5|t69C>)6 Ҝsp?ƁPaCIWz(Kf? 5^'WUNx@D)t߀-9GȲiۉ`.:%ݝӀ5wo[Up'ns5_"4Ec]];bT*|G,-V顊I;IؓvVa@<&5Qdĸh|EBrDM-)b8SB$F ND5 xo_+\Wv U0:?|k ZXllYaJuZ!JRil)Vvf0Xy,,eN6K{2q Qd, Ē˶bu+~'#鮪܀سrp-0u,ʵP[}`ZuVk'Fx bb\`z䁣aNI IîT Xj잉/ũu։VAC[J00d_m 1#]ɪ%!ͥ1,) `eB}pgXIEHY*8@%{ ո. 3ClRP]W&Hʠ%ڲdߡyO>aOro߿yekh)Lf΢f}~j?SqM5JSƁ6ːuzHJf0J5Ei 2[ք50\ 1ixzG)Jip;Z΀ xQg[u,S[e_)|3 }omC *wxF`E ]93 *ke36w?֥!=mN!|~fX/Z5Û"0Ks<Rlɽj@S3} hU#`Հv A[N hZ9&ZxW4X=FxƷ!A1u/, }"f5?v5ycWnK8+(y?GWmln-5X ݏkMv^yP4 \(Sgٕs\t`HK4 г"*0s0ɽf {D\qsHs;cyKqkguc|ll!%Vʎ91_3II]Z h;0M)h17 U˼uXfsH<̔*NjV=yx_J]Al=ǽԹ{a#q#`! *4VO,m0*/QR@o^99FT8b.1A-tl03"|dLqkh=Gݰ>B=EIql,Xv[prc cW/]aMk44se? SC4T[-,m0 Judg:_ sgygi׭l(œ@9ki|!~x`;* ] bUddE@+<2bwK,[F%8+X0s|`%Xϫ(;vo9F4b ΢^v$Y`.,f~cP< h`,C.lE@q~pG\h+u ,M9DƇаM؂ȕ:rVž[\Ӝ-l^2l%1`Cpl@41Xi)fv~ [ri|`F3,S^G-M/Y{w=?Iޛ?T-U7^gp c2mzwݠ9Sfz(_mflpuspx+YpP1S ВLG+ߵrٗͿ vt('UF^G&}Yu@l϶;GkxelT^n2k)|ʅ}I@YZ)N _[ \<T9K[`EFݰ>ɝ ;azH[("\|MiT̓  *^1o^1*WGsd$J `~$4{"7{F{R"9QԚx`~΅0Ӫ"~V p+RK@ *cpِס ϷfN\X ›UV`e ﰦND\:"(HQQ rW@s}!Sy"rmpKȬKtyH.{4>jlXW5"ՋjNlQ]4y/> -hd!$*yQ4~;Ķ ,ϳ>(]`g|03t߀y F!dup@ 1.y17\ikXHD_=@u#̻D7"53ǹFaYHtQYR`Av͗ܒ CvޢkI ϓk7^||q&?oxSVڍZF^77j[/Xm;Xc\l.ZRzޖWmYghkL)Y+|_vXueKٓ\l-{h )Zs/ -586 eaCά 4ĿZUnn88"@w_j|֤C!6Ek1@bUტM])Q;_8vnS/`Drlt2!A5-WD[ugh/460:$xyrR@)8{6g* b89#h/_`):kSJ e4xx%gU۪*d%!/UM,K0_`z Cxq fc^6)> ! PZz@ u3oX9 &uKa[fWLAwmzPHm /"V% +钡s\P;yd>>/w.YO\zf⢃n1NΞ*΋:FB$ |ßIɥ{h(rA:ot?hsٰ*FWW= ^1ҹ*,uã;=ǐ7|]u ` Yr8c:4o MrFtM0 lM/׬SX7Yi]iN5@C}›M+ `,P1kx&})w.)R"߭Y,9D`Ѳhiun 4$HM!1@FBS26FpFTTi&WpFG>uR=XS]g:1BGLaӖ & 0`DW_7YPP_?>xHˉ[JHݲgtż%].:~CG:E/|AeY@w %FZ`o 3<nGZ8T[Yb8D%u9 Xe?>c0AN?G~;ѩ2/ǚʥ,l_*߀pOC@|#JT:]1~A4;q-Pq"~TaQor&5XW5~p:g==ڞE,56.aKĘ#L:WO8nlnߐĄR%-Ͻav2ddca5CL */Mc-bLKLg `f7~HsIa)sh Z: ~_VX[=+8e- U7z?z$hwSd,끫ͮjS^K@8u? 51Xkjk!2GՍ5:xIy̅ݗ+c7m|i#G'R|v ~܊7T``O/iX(3xQC%Anh,¶g9?>-][ )ɳ F R7ooudwE;%VSA% iUcE}1ܖ{ ]4t[#7v˽Z5jw/>xO 42"Ņ\&DC.lGhpepYZuVjᮽ1) t@ƅ$VSB1٪M{pȅN^pf'%t*nY&߯keY lS в})- 4L$4>;wmO >5 HhI&(xY6Cf1Y|Qdij-,-¥iS?ܻܞ6`Ė!݂O 'yV,.J7mcPecVm ,! W!ƦHx0` +05A\#8MkcW?AOEgʡБe*@Įˇk ł CSr PʛU1>E0]N`( UH7b2`M SOԌC;x8x7ahsXz:4693i];n`MH ؓ{YxR렲R6V0˘9R]˫Vw_3|ƞZ` q# UB*|w# 7'v.TLKlTc0`1R2]Gz_Y ,uv` cA·+Ob^DBgǦ ~[]+X?){/y2C3^w{l/7m̃U5TR* ^V͖&dxA:t~kA.tϓd)H nǧb+/!j" ~42\R$̿#hQvu_FUXf jEa#ԭ̷!P kN?]z]keCv؉,vP/A6L3X Z~Uu838Z6f'-S>8[X1ZX'Urj&Kbq``$!۲k<{8yQA&X0Tm1(@. zƂzٿȌeަ*z`kֲ7Pn\lW!*ʒc=P '!WS@Zי)Ѳ`81[5nEaV!Ə@}χS8!wb@A!OR0 LibhE톱ιrP;SLLC׮CC7#f]pJtÃ4e[eI٧=V/ \j3Q-)ç^+YWx~wT[tLdx.lGX?5c~aG PM5%ovp iأS ]j3@9']b?>=c/~=SHbFՊKrb"iDYzB-CiLh9"5}`;pxCb Axz$+#h/.Ǎ޿ND-*X̜2D߻2C͑fƂw!auɣZ[VQ0d.mɢOp" ;Eg=q*^-8bX1XI:)͒O间gb!ON +# }m8Pf/9 ]KI[#D0FX9݅"Rm;]kƁ<²R7"G#a*<~GfN @QR[7ɇp yMؤnL$]|Xc5,U-b%F or˙*iΚb) O#e ?tmKj0^izPϊ`~3j$+&nȷ:߯KnCє%a!FX;ó:TĎm- J eW %@he[0{6nTBlut+a ݒetd 0b-k}b])3%vw{h|Ĵ0ŢƂ7*U{Lfێb=U@UU2F]oS}t瓷 LQ1Gz~'m2ۤY[_:fl6ʒ#x/p?#Ŝ,4kz<`b7Mm?z*n!ߕtu#7+-5-!R9ޔU$Lw>hŰ# j&FMuvw  W> !Ւu*zT> E4e<$2WFzGE43Yڸ&uW@67f0ndk)<@JL} T$KEc$g>P# B!4`?OR3*(Rw2ߩ xJ'P6W7l>8֍ҐKu$'妺i<:ey;@UU FvOʆS#bNGqEtX=wH@mقbvΜGfpɆ8κ`8naRG`P0b"X>na$^bm;3_=Ti^l@:pWM7 ="Fk`R|IƤH@kz0S*1uY)<`BDd /?A/YQv0;EWx*0ڞ=e+j751 @U.zj:yacH^#j/FpLj%lP*Y'aS*P1ޔcu[oi@<7Ƒ F̈́z2H۫y4؀/D' kmWS15[xe^yDAww~|Gos n6 u!X<=[ݥ[ぢ98b:VCN?PEөP+Xbn%|e(eeo؇-v q>䬂龈9eO6w͗3;[n8|mUCRbjݻ(TG\ Kn6_X/ | i4 ʪCT؋*8^/J|1YllIBTL(cy:VZfoLMqa+>GiPh;+P<X*[{;mY %Ҏ S0 5& qf4#]z2\" sfvxuC*M&_:ilK\(X2tOHRvK:kY*TnUVc\&A]'d/>㟏~#~:}hx_fYu@:ݝٯ? 4{/{ `M:չzeNc<k اNs3'5u4{b;TЪ^%wr7Y]j\Ћgv*J19z**OyfO6C1OyY 0'96iOraē0+k,K jE[Oy'PX9޺(<3ۆ5)ߏۋXwz&.j|  8kwAo&ctN{c,"FXOQSЛɧ};CkOd4V܋b&\Z1Wd͂Ņ׹p38"(FbQp=nO=}~,v=t"l` _u>V?]r$Ǒ"i>i֤VFry Ab#~W0MTU}ǯKqR:{{gb&.,# Sh_?}9=?y>koݑ5pp,77qd]g>OO/Iμ[G$lT=Yzd51 C.hϜ6t&9Ǧy[tw` ت[9V@.;D&=ᴉgEL(e̽„`"/ŴF"r\W6z?0z;M[ S"'${8[vRxg2JR-Կo ᛽{IX;=G?b($)|4g IefhAJsi^Tnsy۞!XJBGɔsIl 9\˧p)Ddڴ0$HY۳F||QvP}ux6^9!ma+%-Ms6;ebGגZ1py۰~ŝ3dF.&-&L\/Md^"$@6ryaS!f>\t@-ťE8g`x~Br?l=汱37D#UuܚܽpL1o179vf\ p|dfT-RX%W=Kݪu:M Fd*\16&yeY SٟA.:"+U ʋ) !B$sVgG&7yՃmmtvMZϭhU۞;eNVaXKCWѼ_Umd-_80}һb5Dllx#). le@ \q#[@snĴE,:$Z2&@N*cGl1mq-$y$k3 >J)6ˊx){x|gv܅7љ6T^ch=]ͧ\z_73KZ4E=aY;]e/}Wb{a,5}`cv5#}xg÷ZG4>nv]麘y8h]Q) ðϿ-AE=,R%d_^2 O_Cl( ,oPM.C:q hOjfe< wY]WJ-"7n1-Em20eG}T.1_ózFUw0/w h pGS\cZ7ؗf@SF3cPSSxFY~d G6rVĂo=YyL~WUۂ!׎*b[fǎHEّ(K{u.@Z=xmllwҮ-Kt42;))[[δR<[O5UW=,'թ|U Em$ѮY $XLsXt\$I*.e;T{>-Fh`fdۄ5Ks{%JtZ#nFT͘N;/'͘3w(X윳# ʤ::{cGs|CEMf~Ϩkћh'[o&SU~^9n{q ]3N JG޾<^Iؕbcj%T6_~vyD|8=TTwzk? \p;RY~ ?,#7s!:ܽkYDF` (13yxN>ώJ nCXD:jttH]k- %⊍9SJ(jg{C܁Bg,HP¢= kFU.wW<K% qn&3ۘF<9R>)2a5Wsjt9@EƧŃh\`9RPLB5tNW_h Q0yb_0{V1:򘏆I1|#Nbq}n=O"?Zi敒k<Ӷ]8ф|bwybאU a _}HnJwgZG;bP3Hu'm'_> VERJxӎ᩵\^^N$(+!j^7uGrKBC5ZFfm5gܵΤ2/g \ݯˆ1WGxLvl:M&Yã<u3QZM鍹O]vy^{-$!#E+X5_ 23y$pޕxVή{W\ovFdRzHSr3Q"I6z* RXG}_;zAZʚ&GOC Xd' \5+GooNbu§$xvF6+;jowLوmJxM2v#JxP6()$vr+3 SRP_3pt\&xaٞ FQWD{ OLm(,En!|}\8G 1 m M6UX~ZɓӦVg KEWI[1].qX6Uٸ4p/6}+tMxD[ X!T~;GSbƤzl17A \,Yuqs%Mʐ0*ʚ=U,ucgo]"OIn-fyQLJCIĭx֤]>[ωJ?h 8:_ /STHL%6yb~w. 56UT(iW=loMUlk.Luz*H]/I>SIE.Ӫ}ډR6f* EG:st'*%U܈Ԭ)5ϵG"WkD`j*~IdSvjb`arl0uaUEUx`^7AR'l @)t@1ɖlU^L6c(oi&FEۿ"z]vekԔA p\B y{];ײ8"\됍^/fy 6l%ot)eu>sA-DgB>noUXB,\=OE48&[yNzD3ƴNvq{+zWBN}rR@IjܟK!qs"GNqbH~S"Σ<<셆%?Ӳwg>+ [0By'Tsb+$ F:Mr*C1dm% !6r[ u-%R5ϐ8~ F<7'R\r"0A2ʡM)aڕ9Ą J*.s l:rS뉃Y' (h^amh$E(lx͹!̩S{])-6XcSFCuT\hqb U1t'$iæ^X?2Ga*&&ǤkŖ%RQYSd abvcTb(n,\ggJ׶AW꒍iAeZKʯ.՟4.`'`vBCY+qC<:5?-HFV% =>pȚ+87)c儙׆: |˧),FJ[E.ELւo | ̈́f5\UQ\N!ShXi.-u9E"7-"!iu'Kzfl&XIԜ[OUJ N'P V e̕.UFԪB唱û!**D E{Y a-;QNǞ_Jj`#@b%}bJJx~ӁE׮&Ž\fFk`+k4}]B+ (9 }JCkrY tTX\4իCް C{?(9SHBX5wWd[XQ+F[Mdh:ʼn'gbuc)lZVm"ԁZZ1UyjGGZYun=d}/GS෌el֯9!kns2.u<8[Ubdm8!lQV7Lj77S"0YAHe(K>j_W%Y6g^~Քsqn:[\Xmf9X yWu. ֘ 1!H*a@GXl6r;)`H`NfD?[mŦܶ( 6EϘ@[MO_3<1;|M[0=DuVR9Y^k-/5$ هl/vFH{ EvADE)MC ,3Qff{HH_DS`C4T6cu>Ot pɉ2rD_fk/Z%klOOrp<эS.=ai)lG6>=#/yĕbc({PCy,ɕ 6R-5F?󣊗Mb轑P]3ۜk]OrDkzreݼ''3P`ڿ<)9}rWI"`"=VZ3'~?:E+ 蒪`=U,f(%^LN<3I]j֥}B j~z{YܼR!op=2S-%jIr]q֪Kf)q%T)S&x.%dp[:[#foo
    . - Fixes issue with entities in redirecting links - The href/page argument to {cms_selflink} is now decoded before resolving to a page id. Navigator v1.0.5 - Minor optimizations. - Now use pageid in calculations of cacheid. - Now output template help to Navigator. Installation Assistant v1.3 - Only create dummy index.html files in subdirectories we created. - Clear cache after step 9. - Upgrade routine now asks for, and tests database credentials. - Upgrade routine now rewrites the config.php file (but keeps a backup). - Set a few more preferences to reasonable defaults on install. Specifically related to site cleanup and performance. - On installation, now insure that tmp/cache and tmp/templates_c directories are empty. - Now displays if files are going to be skipped. - Adds clear option for development purposes. - No longer ask to save database password. - On install now create the assets directory structure. - On upgrade (for 2.2) now create the assets directory structure and move tmp/configs, tmp/templates, module_custom, admin/custom, etc. within it. - When using the expanded installer allow changing the destination directory on step 1. - Check for existing files in the installation directory for new installations. - Added more notes to aide in diagnosing white screens - Modify package .zip files so that extracted files will usually have 644 permission (depends on the unzip routine used). CmsJobManager - New core module to handle queued asynchronous tasks. Content Manager - Minor tweak to bulk delete pages. - Minor fix to the active tab when changing a template or design. - Now listen to the 'default parent page' user preference. - Fix minor XSS problem in the Admin if some loser puts JavaScript into the title field or alias field or menu text field. - Now allow filtering pages by owner, editor, template, or design. Only for Administrators with Modify any page, or Manage all content permissions. - Fix problems with auto-refresh being too fast for some operations. - Now auto scroll to the first matched page in a find. - Additional editors of a page cannot change the content type. Only owners, or users with the Manage all Content permissions. - Fix a problem with the call to GetTabElements. DesignManager - Move the designs tab of the main interface into third position. - Implement sorting in edit design. - Remove option menus (for now) from templates, stylesheets, and designs tab. - Modify the template list functionality in edit-design to allow using keyboard control. Space or + to select an item on the left, and right arrow to move. - Modify the edit-design functionality to allow clicking on an attached template or stylesheet to edit it. - Generic templates now display a usage string. - When creating a new template, associate the new template with the default design. - Add reset buttons to the filter forms. - No longer check for default content block in a template. - Adds the ability to export a template to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/templates directory corresponding to a template name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple templates. - In the template list, if a file exists for a template... display it in the filename column. - Adds the ability to export a stylesheet to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/css directory corresponding to a stylesheet name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple stylesheets. - In the stylesheet list, if a file exists for a stylesheet display it in the filename column. News v2.51 - Minor fix to add category. - Removes GetNotificationOutput method. - Add a task that runs at least every 15 minutes to detect draft articles... create an alert for this. - Add an option to never create alerts about draft News articles. - Minor optimizations. - Adds postdate as parameters in events. - now output template help to Navigator. - Adds new 'linked file' type field that allows selecting a file using the filepicker. - Changes the default summary and detail templates to support the linked_file field type, and uses {thumbnail_url} and {file_url}. FileManager v1.6.3 - Move settings to it's own menu item under Site Admin. - Fix minor problem with moving a directory. - Minor fix to move file functionality. - Adds OnFileDeleted event. - Adds 'view raw file' icon in each viewable row. - Minor formatting changes in file list. - Now display clickable path entries for easier navigation. Search - Convert to store all data using the InnoDB engine. - Use transactions for the addwords and deletewords stuff for performance. - Fix problem with query and record expiry. AdminSearch v1.0.3 - Fixes problem with use of 'Use Admin Search' permission. - Now searches for matching strings within templates and stylesheets that are stored as files. - Now listens to the HasSearchableContent metod when searching content pages. ModuleManager - Now detect if module_custom directories exist and are populated and warn about this before upgrading a module. - Minor string changes. - Improvements to error handling in the new versions tab. - Write a confirmation form for uninstalling a module that displays the UninstallPreMessage or uses a default. - Now don't allow disabling / uninstalling myself. - Don't hide the upgrades tab when there are no upgrades, but show the number of upgrades in the tab title instead. - Now use HTTPS for requests to ModuleRepository. - Trigger a hook before exporting a module to XML. MicroTiny v2.1 - New version of the tinymce wysiwyg editor. - Adds a mailto plugin. - Now use the FilePicker module for a filepicker, required rewriting the cmsms_filepicker tinymce plugin. - Enable the title attribute on the image plugin. - Now uses PUBLIC_CACHE_LOCATION for cache files instead of hardcoding tmp/cache get_destdir(); $relative_dir = trim($relative_dir); if( !$relative_dir ) return; $dir = $destdir.'/'.$relative_dir; if( !is_dir($dir) ) { @mkdir($dir,0777,true); } @touch($dir.'/index.html'); }; $move_directory_files = function($srcdir,$destdir) { $srcdir = trim($srcdir); $destdir = trim($destdir); if( !is_dir($srcdir) ) return; $files = glob($srcdir.'/*'); if( !count($files) ) return; foreach( $files as $src ) { $bn = basename($src); $dest = $destdir.'/'.$bn; rename($src,$dest); } @touch($dir.'/index.html'); }; //$gCms = cmsms(); $dbdict = NewDataDictionary($db); $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME,'help_content_cb C(255), one_only I1'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('upgrading_schema',202)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 202'; $db->Execute($query); $type = \CmsLayoutTemplateType::load('__CORE__::page'); $type->set_help_callback('CmsTemplateResource::template_help_callback'); $type->save(); $type = \CmsLayoutTemplateType::load('__CORE__::generic'); $type->set_help_callback('CmsTemplateResource::template_help_callback'); $type->save(); // create the assets directory structure verbose_msg('Creating assets structure'); $create_private_dir('assets/templates'); $create_private_dir('assets/configs'); $create_private_dir('assets/module_custom'); $create_private_dir('assets/admin_custom'); $create_private_dir('assets/plugins'); $create_private_dir('assets/images'); $create_private_dir('assets/css'); $destdir = \__appbase\get_app()->get_destdir(); $srcdir = $destdir.'/module_custom'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/module_custom'); } $srcdir = $destdir.'/admin/custom'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/admin_custom'); } $srcdir = $destdir.'/tmp/configs'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/configs'); } $srcdir = $destdir.'/tmp/templates'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/templates'); } set_selected_language($lang); } if( isset($_POST['destdir']) ) { $app = \__appbase\get_app(); $app->set_destdir($_POST['destdir']); } $verbose = 0; if( isset($_POST['verbose']) ) $verbose = (int)$_POST['verbose']; $this->get_wizard()->set_data('verbose',$verbose); if( isset($_POST['next']) ) { // redirect to the next step. \__appbase\utils::redirect($this->get_wizard()->next_url()); } return TRUE; } private function get_valid_install_dirs() { $app = \__appbase\get_app(); $start = realpath($app->get_rootdir()); $parent = realpath(dirname($start)); $_is_valid_dir = function($dir) { // this routine attempts to exclude most cmsms core directories // from appearing in the dropdown for directory choosers $bn = basename($dir); switch( $bn ) { case 'lang': if( file_exists("$dir/en_US.php") ) return FALSE; break; case 'ext': if( file_exists("$dir/fr_FR.php") ) return FALSE; break; case 'plugins': if( file_exists("$dir/function.cms_selflink.php") ) return FALSE; break; case 'install': if( is_dir("$dir/schemas") ) return FALSE; break; case 'tmp': if( is_dir("$dir/cache") ) return FALSE; break; case 'phar_installer': case 'doc': case 'build': case 'admin': case 'module_custom': case 'out': return FALSE; case 'lib': if( is_dir("$dir/smarty") ) return FALSE; break; case 'app': if( file_exists("$dir/class.cms_install.php") ) return FALSE; break; case 'modules': if( is_dir("$dir/CMSMailer") || is_dir("$dir/AdminSearch") ) return FALSE; break; case 'data': if( file_exists("$dir/data.tar.gz") ) return FALSE; break; } return TRUE; }; $_get_annotation = function($dir) { if( !is_dir($dir) || !is_readable($dir) ) return; $bn = basename($dir); if( $bn != 'lib' ) { $version_file = utils::find_cms_version_file($dir); if( $version_file ) { $info = utils::read_cms_version_file($version_file); if( isset($info['version']) ) return 'CMSMS '.$info['version']; } } if( is_dir("$dir/app") && is_file("$dir/app/class.cms_install.php") ) { return "CMSMS installation assistant"; } }; $_find_dirs = function($start,$depth = 0) use( &$_find_dirs, &$_get_annotation, $_is_valid_dir ) { if( !is_readable( $start ) ) return; $dh = opendir($start); if( !$dh ) return; $out = array(); while( ($file = readdir($dh)) !== FALSE ) { if( $file == '.' || $file == '..' ) continue; if( \__appbase\startswith($file,'.') || \__appbase\startswith($file,'_') ) continue; $dn = $start.DIRECTORY_SEPARATOR.$file; // cuz windows blows, and windoze guys are whiners :) if( !@is_readable($dn) ) continue; if( !@is_dir($dn) ) continue; if( !$_is_valid_dir( $dn ) ) continue; $str = $dn; $ann = $_get_annotation( $dn ); if( $ann ) $str .= " ($ann)"; $out[$dn] = $str; if( $depth < 3 ) { $tmp = $_find_dirs($dn,$depth + 1); // recursion if( is_array($tmp) && count($tmp) ) $out = array_merge($out,$tmp); } } if( count($out) ) return $out; }; $out = array(); if( $_is_valid_dir($parent) ) $out[$parent] = $parent; $tmp = $_find_dirs($parent); if( count($tmp) ) $out = array_merge($out,$tmp); asort($out); return $out; } protected function display() { parent::display(); // get the list of directories we can install to. $smarty = \__appbase\smarty(); $app = \__appbase\get_app(); if( !$app->in_phar() ) { // get the list of directories we can install to $dirlist = $this->get_valid_install_dirs(); if( !$dirlist ) throw new \Exception('No possible installation directories found. This could be a permissions issue'); $smarty->assign('dirlist',$dirlist); $custom_destdir = $app->has_custom_destdir(); $smarty->assign('custom_destdir',$custom_destdir); $smarty->assign('destdir',$app->get_destdir()); } $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('languages',\__appbase\translator()->get_language_list(\__appbase\translator()->get_allowed_languages())); $smarty->assign('curlang',\__appbase\translator()->get_current_language()); $smarty->assign('yesno',array(0=>\__appbase\lang('no'),1=>\__appbase\lang('yes'))); $smarty->display('wizard_step1.tpl'); $this->finish(); } } // end of class ?> get_config(); if( !isset($app_config['min_upgrade_version']) ) throw new \Exception(\__appbase\lang('error_missingconfigvar','min_upgrade_version')); if( version_compare($info['version'],$app_config['min_upgrade_version']) < 0 ) $info['error_status'] = 'too_old'; if( version_compare($info['version'],$app->get_dest_version()) == 0 ) $info['error_status'] = 'same_ver'; if( version_compare($info['version'],$app->get_dest_version()) > 0 ) $info['error_status'] = 'too_new'; $fn = $dir.'/config.php'; include_once($fn); $info['config'] = $config; if( isset($config['admin_dir']) ) { if( $config['admin_dir'] != 'admin' ) throw new \Exception(\__appbase\lang('error_admindirrenamed')); } return $info; } protected function process() { if( isset($_REQUEST['install']) ) { $this->get_wizard()->set_data('action','install'); } else if( isset($_REQUEST['upgrade']) ) { $this->get_wizard()->set_data('action','upgrade'); } else if( isset($_REQUEST['freshen']) ) { $this->get_wizard()->set_data('action','freshen'); } else { throw new \Exception(\__appbase\lang('error_internal',200)); } \__appbase\utils::redirect($this->get_wizard()->next_url()); } protected function display() { // search for installs of CMSMS. parent::display(); $app = \__appbase\get_app(); $config = $app->get_config(); $rpwd = \__appbase\get_app()->get_destdir(); $info = $this->get_cmsms_info($rpwd); $wizard = $this->get_wizard(); $smarty = \__appbase\smarty(); $smarty->assign('pwd',$rpwd); $smarty->assign('nofiles',$config['nofiles']); if( $info ) { // its an upgrade $wizard->set_data('version_info',$info); $smarty->assign('cmsms_info',$info); if( !isset($info['error_status']) || $info['error_status'] != 'same_ver' ) { $versions = utils::get_upgrade_versions(); $out = array(); foreach( $versions as $version ) { if( version_compare($version,$info['version']) < 1 ) continue; $readme = utils::get_upgrade_readme($version); $changelog = utils::get_upgrade_changelog($version); if( $readme || $changelog ) $out[$version] = array('readme'=>$readme,'changelog'=>$changelog); } $smarty->assign('upgrade_info',$out); } } else { // looks like a new install // double check for the phar stuff. if( is_dir($rpwd.'/app') && is_file($rpwd.'/index.php') && is_dir($rpwd.'/lib') && is_file($rpwd.'/app/class.cms_install.php') ) { // should never happen except if you're working on this project. throw new \Exception(\__appbase\lang('error_invalid_directory')); } $is_dir_empty = function($dir,$phar_url) { if( !$dir ) return FALSE; if( !is_dir($dir) ) return FALSE; $files = glob($dir.'/*'); if( !count($files) ) return TRUE; if( count($files) > 3 ) return FALSE; // trivial check for index.html foreach( $files as $file ) { $bn = strtolower(basename($file)); if( fnmatch('index.htm*',$bn) ) continue; // this is okay if( fnmatch('readme*.txt',$bn) ) continue; // this is okay if( $phar_url ) { $phar_bn = basename( $phar_url ); if( fnmatch( $phar_bn, $bn ) ) continue; // this is okay } // found a not-okay file. return FALSE; } return TRUE; }; $list_files = function($dir,$n = 5) { $n = max(1,min(100,$n)); if( !$dir ) return; if( !is_dir($dir) ) return; $files = glob($dir.'/*'); $files = array_slice($files,0,$n); foreach( $files as &$file ) { $file = basename($file); } return $files; }; $empty_dir = $is_dir_empty($rpwd,$app->get_phar()); $existing_files = $list_files($rpwd); $smarty->assign('install_empty_dir',$empty_dir); $smarty->assign('existing_files',$existing_files); $wizard->clear_data('version_info'); } $smarty->assign('retry_url',$_SERVER['REQUEST_URI']); $smarty->display('wizard_step2.tpl'); $this->finish(); } } // end of class ?> get_wizard()->get_data('version_info'); $action = $this->get_wizard()->get_data('action'); $informational = array(); $tests = array(); // informational messages... $informational[] = new _tests_\informational_test('server_software',$_SERVER['SERVER_SOFTWARE'],'info_server_software'); $informational[] = new _tests_\informational_test('server_api',PHP_SAPI,'info_server_api'); $informational[] = new _tests_\informational_test('server_os',array(PHP_OS,php_uname('r'),php_uname('m'))); // required test for php version $obj = new _tests_\version_range_test('php_version',phpversion()); $obj->minimum = '5.4.11'; $obj->recommended = '5.5.2'; $obj->fail_msg = \__appbase\lang('pass_php_version',$obj->minimum,$obj->recommended,phpversion()); $obj->warn_msg = \__appbase\lang('msg_yourvalue',phpversion()); $obj->pass_msg = \__appbase\lang('msg_yourvalue',phpversion()); $obj->required = true; $tests[] = $obj; // required test... check if most files are writable. { $dirs = array('modules','lib','plugins','admin','uploads','doc','scripts','install','tmp','assets'); $failed = array(); $list = glob($app->get_destdir().'/*'); foreach( $list as $one ) { $basename = basename($one); if( is_file($one) ) { $relative = substr($one,strlen($app->get_destdir())+1); if( !is_writable($one) ) $failed[] = $relative; } else if( in_array($basename,$dirs) ) { $b = \__appbase\utils::is_directory_writable($one,TRUE); if( !$b ) { $tmp = \__appbase\utils::get_writable_error(); $failed = array_merge($failed,\__appbase\utils::get_writable_error()); } } } } // required test... tmpfile $fh = tmpfile(); $b = ($fh === FALSE)?FALSE:TRUE; $obj = new _tests_\boolean_test('tmpfile',$b); $obj->required = true; if( !$b ) $obj->fail_msg = \__appbase\lang('fail_tmpfile'); $tests[] = $obj; unset($fh); // its an upgrade if( $version_info ) { // config file must be writable. $obj = new _tests_\boolean_test('config_writable',is_writable($version_info['config_file'])); $obj->required = true; $obj->fail_key = 'fail_config_writable'; $tests[] = $obj; if( $action == 'upgrade' && version_compare($version_info['version'],'2.2') < 0 ) { $dir = $app->get_destdir().'/assets'; if( is_dir($dir) ) { $obj = new _tests_\boolean_test('assets_dir_exists',FALSE); $obj->fail_key = 'fail_assets_dir'; $obj->warn_key = 'fail_assets_dir'; $obj->required = 0; $tests[] = $obj; } } } else { $is_dir_empty = function($dir) { $dir = trim($dir); if( !$dir ) return FALSE; // fail on invalid dir if( !is_dir($dir) ) return TRUE; // pass on dir not existing yet $files = glob($dir.'/*' ); if( !count($files) ) return TRUE; // no files yet. if( count($files) > 1 ) return FALSE; // morre than one file // trivial check for index.html $bn = strtolower(basename($files[0])); if( fnmatch('index.htm*',$bn) ) return TRUE; return FALSE; }; $res = true; $dest = $app->get_destdir(); if( $res && !$is_dir_empty($dest.'/tmp/cache') ) $res = false; if( $res && !$is_dir_empty($dest.'/tmp/templates_c') ) $res = false; $obj = new _tests_\boolean_test('tmp_dirs_empty',$res); $obj->required = true; $obj->fail_key = 'fail_tmp_dirs_empty'; $tests[] = $obj; } // required test... gd version 2 $obj = new _tests_\version_range_test('gd_version',$this->_GDVersion()); $obj->minimum = 2; $obj->required = 1; $obj->fail_msg = \__appbase\lang('msg_yourvalue',$this->_GDVersion()); $tests[] = $obj; // required test ... tempnam function $obj = new _tests_\boolean_test('func_tempnam',function_exists('tempnam')); $obj->required = 1; $obj->fail_key = 'fail_func_tempnam'; $tests[] = $obj; // required test ... some sort of gzopen/gzopen64 combo $obj = new _tests_\boolean_test('func_gzopen',function_exists('gzopen') || function_exists('gzopen64')); $obj->required = true; $obj->fail_key = 'fail_func_gzopen'; $tests[] = $obj; // recommended test ... ZipArchive $obj = new _tests_\boolean_test('func_ziparchive',class_exists('ZipArchive')); $obj->required = false; $obj->fail_key = 'fail_func_ziparchive'; $tests[] = $obj; // only perform the check below PHP 7.0 (we'll be removing this check on 2.99+) if(version_compare(PHP_VERSION, '7.0.0') < 0) { // required test ... magic_quotes_runtime // TODO: remove on 2.99+ if not removed already as it was removed from PHP since v 5.4.0 (JM) $obj = new _tests_\boolean_test('magic_quotes_runtime',function_exists('get_magic_quotes_runtime') && !get_magic_quotes_runtime()); $obj->required = 1; $obj->fail_key = 'fail_magic_quotes_runtime'; $tests[] = $obj; } // required test ... multibyte extension $obj = new _tests_\boolean_test('multibyte_support',_tests_\test_extension_loaded('mbstring') && function_exists('mb_get_info')); $obj->required = 1; $obj->fail_key = 'fail_multibyte_support'; $tests[] = $obj; // recommended test ... intl extension $obj = new _tests_\boolean_test('intl_support',_tests_\test_extension_loaded('intl') && class_exists('IntlDateFormatter')); $obj->required = 0; $obj->fail_key = 'fail_intl_support'; $obj->warn_key = 'fail_intl_support'; $tests[] = $obj; // required test ... at least one supported database driver $obj = new _tests_\matchany_test('database_support'); $obj->required = 1; $t1 = new _tests_\boolean_test('mysql',_tests_\test_extension_loaded('mysql')); $obj->add_child($t1); $t1 = new _tests_\boolean_test('mysqli',_tests_\test_extension_loaded('mysqli')); $obj->add_child($t1); $obj->fail_key = 'fail_database_support'; $tests[] = $obj; // required test ... md5 function $obj = new _tests_\boolean_test('func_md5',function_exists('md5')); $obj->fail_key = 'fail_func_md5'; $obj->required = 1; $tests[] = $obj; // required test ... json function $obj = new _tests_\boolean_test('func_json',function_exists('json_decode')); $obj->fail_key = 'pass_func_json'; $obj->required = 1; $tests[] = $obj; // recommended test ... open basedir $obj = new _tests_\boolean_test('open_basedir',ini_get('open_basedir') == ''); $obj->warn_key = 'warn_open_basedir'; $obj->fail_key = 'fail_open_basedir'; $tests[] = $obj; // required test... sessions must use cookies $t0 = new _tests_\boolean_test('session_use_cookies',ini_get('session.use_cookies')); $t0->required = 1; $t0->fail_key = 'fail_session_use_cookies'; $tests[] = $t0; if( ini_get('session.save_handler') == 'files' ) { $open_basedir = ini_get('open_basedir'); if( $open_basedir ) { // open basedir restrictions are in effect, can't test if the session save path is writable // so just talk about it. // note: if we got here, sessions are probably working just fine. $t2 = new _tests_\boolean_test('open_basedir_session_save_path',0); $t2->warn_key = 'warn_open_basedir_session_savepath'; $t2->msg = \__appbase\lang('info_open_basedir_session_save_path'); $tests[] = $t2; } else { // test if the session save path is writable. $tmp = $this->_get_session_save_path(); if( $tmp ) { // session save path can be empty which should use the system temporary directory $t2 = new _tests_\boolean_test('session_save_path_exists',@is_dir($tmp)); $t2->required = 1; $t2->fail_key = 'fail_session_save_path_exists'; $tests[] = $t2; $t3 = new _tests_\boolean_test('session_save_path_writable',@is_writable($tmp)); $t3->required = 1; $t3->fail_key = 'fail_session_save_path_writable'; $tests[] = $t3; } } } // recommended test ... E_STRICT disabled $orig_error_level = $app->get_orig_error_level(); $obj = new _tests_\boolean_test('errorlevel_estrict',!($orig_error_level & E_STRICT)); $obj->warn_key = 'estrict_enabled'; $tests[] = $obj; // recommended test ... E_DEPRECATED disabled $obj = new _tests_\boolean_test('errorlevel_edeprecated',!($orig_error_level & E_DEPRECATED)); $obj->warn_key = 'edeprecated_enabled'; $tests[] = $obj; // required test ... MEMORY LIMIT $memory_limit = ini_get('memory_limit'); if( $memory_limit >= 0 ) { $obj = new _tests_\range_test('memory_limit',$memory_limit); $obj->minimum = '64M'; $obj->recommended = '128M'; $obj->pass_msg = ini_get('memory_limit'); $obj->fail_msg = \__appbase\lang('fail_memory_limit',ini_get('memory_limit'),$obj->minimum,$obj->recommended); $obj->warn_msg = \__appbase\lang('warn_memory_limit',ini_get('memory_limit'),$obj->minimum,$obj->recommended); $obj->required = 1; $tests[] = $obj; } else { $obj = new _tests_\boolean_test('memory_limit',true); $obj->pass_msg = \__appbase\lang('pass_memory_limit_nolimit'); $obj->required = 1; $tests[] = $obj; } // required test ... safe mode $obj = new _tests_\boolean_test('safe_mode',_tests_\test_is_false(ini_get('safe_mode'))); $obj->required = 1; $obj->fail_key = 'fail_safe_mode'; $tests[] = $obj; // required test ... file upload $obj = new _tests_\boolean_test('file_uploads',_tests_\test_is_true(ini_get('file_uploads'))); $obj->required = 1; $obj->fail_key = 'fail_file_uploads'; $tests[] = $obj; // upload max filesize $obj = new _tests_\range_test('upload_max_filesize',ini_get('upload_max_filesize')); $obj->minimum = '1M'; $obj->recommended = '10M'; $obj->required = 1; $obj->warn_msg = \__appbase\lang('warn_upload_max_filesize',ini_get('upload_max_filesize'),$obj->recommended); $tests[] = $obj; // xml extension $obj = new _tests_\boolean_test('xml_functions',_tests_\test_extension_loaded('xml')); $obj->required = 1; $obj->fail_key = 'fail_xml_functions'; $tests[] = $obj; // recommended test ... max_execution_time $v = (int) ini_get('max_execution_time'); if( $v !== 0 ) { $obj = new _tests_\range_test('max_execution_time',$v); $obj->minimum = 30; $obj->recommended = 60; $obj->required = 1; $obj->warn_msg = \__appbase\lang('warn_max_execution_time',ini_get('max_execution_time'),$obj->minimum,$obj->recommended);; $obj->fail_msg = \__appbase\lang('fail_max_execution_time',ini_get('max_execution_time'),$obj->minimum,$obj->recommended);; $tests[] = $obj; } // recommended test ... post_max_size $obj = new _tests_\range_test('post_max_size',ini_get('post_max_size')); $obj->minimum = '2M'; $obj->recommended = '10M'; $obj->warn_msg = \__appbase\lang('warn_post_max_size',ini_get('post_max_size'),$obj->minimum,$obj->recommended); $obj->fail_key = 'fail_post_max_size'; $tests[] = $obj; // recommended test (register globals) $obj = new _tests_\boolean_test('register_globals',!ini_get('register_globals')); $obj->required = 1; $obj->fail_key = 'fail_register_globals'; $tests[] = $obj; // recommended test ... output buffering $obj = new _tests_\boolean_test('output_buffering',ini_get('output_buffering')); $obj->fail_key = 'fail_output_buffering'; $tests[] = $obj; // recommended test .... disable functions $obj = new _tests_\boolean_test('disable_functions',ini_get('disable_functions') == ''); $obj->warn_msg = \__appbase\lang('warn_disable_functions',str_replace(',',', ',ini_get('disable_functions'))); $tests[] = $obj; // recommended test... remote_url $obj = new _tests_\boolean_test('remote_url',_tests_\test_remote_file('https://www.cmsmadesimple.org/latest_version.php',3,'cmsmadesimple')); $obj->fail_key = 'fail_remote_url'; $obj->warn_key = 'fail_remote_url'; $tests[] = $obj; // curl extension $obj = new _tests_\boolean_test('curl_extension',_tests_\test_extension_loaded('curl')); $obj->fail_key = 'fail_curl_extension'; $tests[] = $obj; // file get contents. $obj = new _tests_\boolean_test('file_get_contents',function_exists('file_get_contents')); $obj->required = 1; $obj->fail_key = 'fail_file_get_contents'; $tests[] = $obj; // test ini set { $val = (ini_get('log_errors_max_len')) ? ini_get('log_errors_max_len').'0':'99'; ini_set('log_errors_max_len',$val); $obj = new _tests_\boolean_test('ini_set',ini_get('log_errors_max_len') == $val); $obj->fail_key = 'fail_ini_set'; $tests[] = $obj; } // // now run the tests // if all tests pass // display warm fuzzy message // user can continue // else if a required test fails // display failed tests (or all tests for verbose mode) // user cant continue // otherwise // display failed tests (or all tests for verbose mode) // user can continue $can_continue = TRUE; $tests_failed = FALSE; $results = array(); for( $i = 0; $i < count($tests); $i++ ) { $res = $tests[$i]->run(); if( $res == $tests[$i]::TEST_FAIL ) { $tests_failed = TRUE; $results[] = $tests[$i]; if( $tests[$i]->required ) { $can_continue = FALSE; } else { $tests[$i]->status = $tests[$i]::TEST_WARN; } } } if( !$verbose ) $tests = $results; return array($tests_failed,$can_continue); } protected function display() { parent::display(); $verbose = $this->get_wizard()->get_data('verbose',0); $informational = ''; $tests = ''; list($tests_failed,$can_continue) = $this->perform_tests($verbose,$informational,$tests); $app = \__appbase\get_app(); $smarty = \__appbase\smarty(); $smarty->assign('tests_failed',$tests_failed); $smarty->assign('can_continue',$can_continue); $smarty->assign('verbose',$verbose); $smarty->assign('retry_url',$_SERVER['REQUEST_URI']); if( $verbose ) $smarty->assign('information',$informational); if( count($tests) ) $smarty->assign('tests',$tests); $url = $this->get_wizard()->next_url(); $smarty->assign('next_url',$url); // todo: urls for retry, and enable verbose mode. $smarty->display('wizard_step3.tpl'); $this->finish(); } private function _get_session_save_path() { $path = ini_get('session.save_path'); if( ($pos = strpos($path,';')) !== FALSE) $path = substr($path,$pos+1); if( $path ) return $path; } private function _GDVersion() { static $gd_version_number = null; if(is_null($gd_version_number)) { if(extension_loaded('gd')) { if(defined('GD_MAJOR_VERSION')) { $gd_version_number = GD_MAJOR_VERSION; return $gd_version_number; } $gdinfo = @gd_info(); if(preg_match('/\d+/', $gdinfo['GD Version'], $gdinfo)) { $gd_version_number = (int) $gdinfo[0]; } else { $gd_version_number = 1; } return $gd_version_number; } $gd_version_number = 0; } return $gd_version_number; } } // end of class ?> _config = array('dbtype'=>'','dbhost'=>'localhost','dbname'=>'','dbuser'=>'', 'dbpass'=>'','dbprefix'=>'cms_','dbport'=>'', 'samplecontent'=>TRUE,'install_profile'=>'default', 'optional_bundles'=>array(), 'query_var'=>'','timezone'=>$tz); // get saved date $tmp = $this->get_wizard()->get_data('config'); if( $tmp ) $this->_config = array_merge($this->_config,$tmp); if( !isset($this->_config['install_profile']) || !$this->_config['install_profile'] ) { $this->_config['install_profile'] = !empty($this->_config['samplecontent']) ? 'default' : 'minimal'; } $databases = array('mysqli'=>'MySQLi (4.1+)'); $this->_dbms_options = array(); foreach ($databases as $db => $lbl) { if( extension_loaded($db) ) $this->_dbms_options[$db] = $lbl; } if( !count($this->_dbms_options) ) throw new \Exception(\__appbase\lang('error_nodatabases')); $action = $this->get_wizard()->get_data('action'); if( $action == 'install' ) { $bundle_manager = new optional_bundle_manager(); if( !isset($this->_config['optional_bundles']) || !\is_array($this->_config['optional_bundles']) ) { $this->_config['optional_bundles'] = $bundle_manager->get_default_selected_module_ids(); } else { $this->_config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids($this->_config['optional_bundles']); } } if( $action == 'freshen' || $action == 'upgrade' ) { // read config data from config.php for freshen action. $app = \__appbase\get_app(); $destdir = $app->get_destdir(); $config_file = $destdir.'/config.php'; include_once($config_file); $this->_config['dbtype'] = $config['dbms']; $this->_config['dbhost'] = $config['db_hostname']; $this->_config['dbuser'] = $config['db_username']; $this->_config['dbpass'] = $config['db_password']; $this->_config['dbname'] = $config['db_name']; $this->_config['dbprefix'] = $config['db_prefix']; if( isset($config['db_port']) ) $this->_config['dbport'] = $config['db_port']; if( isset($config['query_var']) ) $this->_config['query_var'] = $config['query_var']; if( isset($config['timezone']) ) $this->_config['timezone'] = $config['timezone']; } } private function validate($config) { $action = $this->get_wizard()->get_data('action'); if( !isset($config['dbtype']) || !$config['dbtype'] ) throw new \Exception(\__appbase\lang('error_nodbtype')); if( !isset($config['dbhost']) || !$config['dbhost'] ) throw new \Exception(\__appbase\lang('error_nodbhost')); if( !isset($config['dbname']) || !$config['dbname'] ) throw new \Exception(\__appbase\lang('error_nodbname')); if( !isset($config['dbuser']) || !$config['dbuser'] ) throw new \Exception(\__appbase\lang('error_nodbuser')); if( !isset($config['dbpass']) || !$config['dbpass'] ) throw new \Exception(\__appbase\lang('error_nodbpass')); if( $action == 'install' && ( !isset($config['dbprefix']) || !$config['dbprefix'] ) ) throw new \Exception(\__appbase\lang('error_nodbprefix')); if( !isset($config['timezone']) || !$config['timezone'] ) throw new \Exception(\__appbase\lang('error_notimezone')); if( $action == 'install' && ( !isset($config['install_profile']) || !$config['install_profile'] ) ) throw new \Exception(\__appbase\lang('error_noinstallprofile')); $re = '/^[a-zA-Z0-9_\.]*$/'; if( isset($config['query_var']) && $config['query_var'] && !preg_match($re,$config['query_var']) ) { throw new \Exception(\__appbase\lang('error_invalidqueryvar')); } $all_timezones = timezone_identifiers_list(); if( !in_array($config['timezone'],$all_timezones) ) throw new \Exception(\__appbase\lang('error_invalidtimezone')); if( $config['dbpass'] ) { if( strpos($config['dbpass'],"'") !== FALSE || strpos($config['dbpass'],'\\') !== FALSE ) { throw new \Exception(\__appbase\lang('error_invaliddbpassword')); } } if( $action == 'install' ) { $profile_manager = new install_profile_manager(); $profile_manager->get_profile($config['install_profile']); $bundle_manager = new optional_bundle_manager(); $config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids(isset($config['optional_bundles']) ? $config['optional_bundles'] : array()); } // try a test connection $spec = new \CMSMS\Database\ConnectionSpec; $spec->type = $config['dbtype']; $spec->host = $config['dbhost']; $spec->username = $config['dbuser']; $spec->password = $config['dbpass']; $spec->dbname = $config['dbname']; $spec->port = isset($config['dbport']) ? $config['dbport'] : null; $spec->prefix = $config['dbprefix']; $db = \CMSMS\Database\Connection::initialize($spec); $db->Execute("SET NAMES 'utf8'"); // see if we can create and drop a table. try { $db->Execute('CREATE TABLE '.$config['dbprefix'].'_dummyinstall (i int)'); } catch( \Exception $e ) { throw new \Exception(\__appbase\lang('error_createtable')); } try { $db->Execute('DROP TABLE '.$config['dbprefix'].'_dummyinstall'); } catch( \Exception $e ) { throw new \Exception(\__appbase\lang('error_droptable')); } // see if a smattering of core tables exist if( $action == 'install' ) { try { $res = $db->GetOne('SELECT content_id FROM '.$config['dbprefix'].'content'); if( $res > 0 ) throw new \Exception(\__appbase\lang('error_cmstablesexist')); } catch( \CMSMS\Database\DatabaseException $e ) { // if this fails it's not a problem } try { $db->GetOne('SELECT module_name FROM '.$config['dbprefix'].'modules'); if( $res > 0 ) throw new \Exception(\__appbase\lang('error_cmstablesexist')); } catch( \CMSMS\Database\DatabaseException $e ) { // if this fails it's not a problem. } } } protected function process() { $tmp = array_keys($this->_dbms_options); $this->_config['dbtype'] = $tmp[0]; $this->_config['dbhost'] = trim(\__appbase\utils::clean_string($_POST['dbhost'])); $this->_config['dbname'] = trim(\__appbase\utils::clean_string($_POST['dbname'])); $this->_config['dbuser'] = trim(\__appbase\utils::clean_string($_POST['dbuser'])); $this->_config['dbpass'] = $_POST['dbpass']; $this->_config['timezone'] = trim(\__appbase\utils::clean_string($_POST['timezone'])); if( isset($_POST['dbtype']) ) $this->_config['dbtype'] = trim(\__appbase\utils::clean_string($_POST['dbtype'])); if( isset($_POST['dbport']) ) $this->_config['dbport'] = trim(\__appbase\utils::clean_string($_POST['dbport'])); if( isset($_POST['dbprefix']) ) $this->_config['dbprefix'] = trim(\__appbase\utils::clean_string($_POST['dbprefix'])); if( isset($_POST['query_var']) ) $this->_config['query_var'] = trim(\__appbase\utils::clean_string($_POST['query_var'])); if( isset($_POST['install_profile']) ) $this->_config['install_profile'] = trim(\__appbase\utils::clean_string($_POST['install_profile'])); if( isset($_POST['samplecontent']) ) $this->_config['samplecontent'] = (int)$_POST['samplecontent']; if( isset($this->_config['install_profile']) && $this->_config['install_profile'] ) { $this->_config['samplecontent'] = ( $this->_config['install_profile'] != 'minimal' ) ? 1 : 0; } if( isset($_POST['optional_bundles']) && \is_array($_POST['optional_bundles']) ) { $bundles = array(); foreach( $_POST['optional_bundles'] as $bundle_id ) { $bundle_id = trim(\__appbase\utils::clean_string($bundle_id)); if( $bundle_id ) $bundles[] = $bundle_id; } $bundle_manager = new optional_bundle_manager(); $this->_config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids($bundles); } else { $this->_config['optional_bundles'] = array(); } $this->get_wizard()->set_data('config',$this->_config); try { $app = \__appbase\get_app(); $config = $app->get_config(); $this->validate($this->_config); $url = $this->get_wizard()->next_url(); $action = $this->get_wizard()->get_data('action'); if( $action == 'freshen' ) $url = $this->get_wizard()->step_url(6); if( $action == 'upgrade' ) { if( $config['nofiles'] ) { $url = $this->get_wizard()->step_url(8); } else { $url = $this->get_wizard()->step_url(7); } } \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $smarty = \__appbase\smarty(); $tmp = timezone_identifiers_list(); if( !is_array($tmp) ) throw new \Exception(\__appbase\lang('error_tzlist')); $tmp2 = array_combine(array_values($tmp),array_values($tmp)); $smarty->assign('timezones',array_merge(array(''=>\__appbase\lang('none')),$tmp2)); $smarty->assign('dbtypes',$this->_dbms_options); $smarty->assign('action',$this->get_wizard()->get_data('action')); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('config',$this->_config); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); if( $this->get_wizard()->get_data('action') == 'install' ) { $profile_manager = new install_profile_manager(); $smarty->assign('install_profiles',$profile_manager->get_profile_options()); $smarty->assign('install_profile_details',$profile_manager->get_profiles()); $bundle_manager = new optional_bundle_manager(); $smarty->assign('optional_module_bundles',$bundle_manager->get_module_bundle_options()); } $smarty->display('wizard_step4.tpl'); $this->finish(); } } // end of class _adminacct = array('username'=>'admin','emailaddr'=>'','password'=>'','repeatpw'=>'','saltpw'=>1,'emailaccountinfo'=>1); $tmp = $this->get_wizard()->get_data('adminaccount'); if( is_array($tmp) && count($tmp) ) $this->_adminacct = $tmp; } private function validate($acct) { if( !isset($acct['username']) || $acct['username'] == '' ) throw new \Exception(\__appbase\lang('error_adminacct_username')); if( !isset($acct['password']) || $acct['password'] == '' || strlen($acct['password']) < 6 ) { throw new \Exception(\__appbase\lang('error_adminacct_password')); } if( !isset($acct['repeatpw']) || $acct['repeatpw'] != $acct['password'] ) { throw new \Exception(\__appbase\lang('error_adminacct_repeatpw')); } if( isset($acct['emailaddr']) && $acct['emailaddr'] != '' && !\__appbase\utils::is_email($acct['emailaddr']) ) { throw new \Exception(\__appbase\lang('error_adminacct_emailaddr')); } if( (!isset($acct['emailaddr']) || $acct['emailaddr'] == '') && $acct['emailaccountinfo'] ) { throw new \Exception(\__appbase\lang('error_adminacct_emailaddrrequired')); } } protected function process() { $this->_adminacct['username'] = trim(\__appbase\utils::clean_string($_POST['username'])); $this->_adminacct['emailaddr'] = trim(\__appbase\utils::clean_string($_POST['emailaddr'])); $this->_adminacct['password'] = trim(\__appbase\utils::clean_string($_POST['password'])); $this->_adminacct['repeatpw'] = trim(\__appbase\utils::clean_string($_POST['repeatpw'])); if( isset($_POST['saltpw']) ) $this->_adminacct['saltpw'] = (int)$_POST['saltpw']; $this->_adminacct['emailaccountinfo'] = 1; if( isset($_POST['emailaccountinfo']) ) $this->_adminacct['emailaccountinfo'] = (int)$_POST['emailaccountinfo']; $this->get_wizard()->set_data('adminaccount',$this->_adminacct); try { $this->validate($this->_adminacct); $url = $this->get_wizard()->next_url(); \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $smarty = \__appbase\smarty(); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('account',$this->_adminacct); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); $smarty->display('wizard_step5.tpl'); $this->finish(); } } // end of class ?>_siteinfo = array( 'sitename'=>'','languages'=>[] ); $tmp = $this->get_wizard()->get_data('config'); if( $tmp ) $this->_siteinfo = array_merge($this->_siteinfo,$tmp); $lang = \__appbase\translator()->get_selected_language(); if( $lang != 'en_US' ) $this->_siteinfo['languages'] = [ $lang ]; $tmp = $this->get_wizard()->get_data('siteinfo'); if( is_array($tmp) && count($tmp) ) $this->_siteinfo = $tmp; return parent::run(); } private function validate($siteinfo) { $action = $this->get_wizard()->get_data('action'); if( $action !== 'freshen' ) { if( !isset($siteinfo['sitename']) || !$siteinfo['sitename'] ) throw new \Exception(\__appbase\lang('error_nositename')); } } protected function process() { $app = \__appbase\get_app(); $config = $app->get_config(); if( isset($_POST['sitename']) ) $this->_siteinfo['sitename'] = trim(\__appbase\utils::clean_string($_POST['sitename'])); if( isset($_POST['languages']) ) { $tmp = array(); foreach ( $_POST['languages'] as $lang ) { $tmp[] = \__appbase\utils::clean_string($lang); } $this->_siteinfo['languages'] = $tmp; } $this->get_wizard()->set_data('siteinfo',$this->_siteinfo); try { $this->validate($this->_siteinfo); $url = $this->get_wizard()->next_url(); if( $config['nofiles'] ) $url = $this->get_wizard()->step_url(8); \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $action = $this->get_wizard()->get_data('action'); $smarty = \__appbase\smarty(); $smarty->assign('action',$action); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('siteinfo',$this->_siteinfo); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); $languages = \__appbase\get_app()->get_language_list(); unset($languages['en_US']); $smarty->assign('language_list',$languages); $smarty->display('wizard_step6.tpl'); $this->finish(); } } // end of class ?> '; file_put_contents($filename,$str); } private function detect_languages() { $this->message(\__appbase\lang('install_detectlanguages')); $destdir = \__appbase\get_app()->get_destdir(); $nlsdir = "$destdir/lib/nls"; $pattern = "$nlsdir/*nls.php"; $files = glob($pattern); if( !is_array($files) || count($files) == 0 ) throw new \Exception(\__appbase\lang('error_internal',750)); foreach( $files as &$one ) { $fn = basename($one); $one = substr($fn,0,strlen($fn)-strlen('.nls.php')); } return $files; } private function do_index_html() { $this->message(\__appbase\lang('install_dummyindexhtml')); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',751)); $archive = \__appbase\get_app()->get_archive(); $phardata = new \PharData($archive); $archive = basename($archive); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { if( ($p = strpos($file,$archive)) === FALSE ) continue; $fn = substr($file,$p+strlen($archive)); $dn = $destdir.dirname($fn); if( $dn == $destdir || $dn == $destdir.'/' ) continue; if( $dn == "$destdir/admin" ) continue; $idxfile = $dn.'/index.html'; if( is_dir($dn) && !is_file($idxfile) ) $this->_createIndexHTML($idxfile); } } private function do_files($langlist = null) { $languages = array('en_US'); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if(is_array($siteinfo) && is_array($siteinfo['languages']) && count($siteinfo['languages']) ) $languages = array_merge($languages,$siteinfo['languages']); if( is_array($langlist) && count($langlist) ) $languages = array_merge($languages,$langlist); $languages = array_unique($languages); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',601)); $archive = \__appbase\get_app()->get_archive(); $this->message(\__appbase\lang('install_extractfiles')); $phardata = new \PharData($archive); $archive = basename($archive); $filehandler = new \cms_autoinstaller\install_filehandler(); $filehandler->set_languages($languages); $filehandler->set_destdir($destdir); $filehandler->set_output_fn('\cms_autoinstaller\wizard_step6::verbose'); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { if( ($p = strpos($file,$archive)) === FALSE ) continue; $fn = substr($file,$p+strlen($archive)); $filehandler->handle_file($fn,$file,$it); } } private function do_manifests() { // get the list of all available versions that this upgrader knows about $app = \__appbase\get_app(); $app_config = $app->get_config(); $upgrade_dir = $app->get_upgrade_dir(); if( !is_dir($upgrade_dir) ) throw new \Exception(\__appbase\lang('error_internal',710)); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',711)); $version_info = $this->get_wizard()->get_data('version_info'); $versions = utils::get_upgrade_versions(); if( is_array($versions) && count($versions) ) { $this->message(\__appbase\lang('cleaning_files')); foreach( $versions as $one_version ) { if( version_compare($one_version, $version_info['version']) < 1 ) continue; // open the manifest // check the to version info $manifest = new manifest_reader("$upgrade_dir/$one_version"); if( $one_version != $manifest->to_version() ) { throw new \Exception(\__appbase\lang('error_internal',712)); } // delete all 'deleted' files // if they are supposed to be in the installation, the copy from the archive // will restore them. $deleted = $manifest->get_deleted(); $ndeleted = 0; $nfailed = 0; $nmissing = 0; if( is_array($deleted) && count($deleted) ) { foreach( $deleted as $rec ) { $fn = "{$destdir}{$rec['filename']}"; if( !file_exists($fn) ) { $this->verbose("file $fn does not exist... but we planned to delete it anyway"); $nmissing++; } else if( !is_writable($fn) ) { $this->error("$file $fn is not writable, could not delete it"); $nfailed++; } else { if( is_dir($fn) ) { if( is_file($fn.'/index.html') ) @unlink($fn.'/index.html'); $res = @rmdir($fn); if( !$res ) { $this->error('problem removing directory: '.$fn); $nfailed++; } else { $this->verbose('removed directory: '.$fn); $ndeleted++; } } else { $res = @unlink($fn); if( !$res ) { $this->error("problem deleting: $fn"); $nfailed++; } else { $this->verbose('removed file: '.$fn); $ndeleted++; } } } } } $this->message($ndeleted.' files/folders deleted for version '.$one_version.": ".$nmissing.' missing, '.$nfailed.' failed'); } } } protected function display() { // here, we do either the upgrade, or the install stuff. parent::display(); $action = $this->get_wizard()->get_data('action'); \__appbase\smarty()->assign('next_url',$this->get_wizard()->next_url()); if( $action == 'freshen' ) { \__appbase\smarty()->assign('next_url',$this->get_wizard()->step_url(9)); } echo \__appbase\smarty()->display('wizard_step7.tpl'); flush(); // create index.html files in directories. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $languages = $this->detect_languages(); $this->do_manifests(); $this->do_files($languages); } else if( $action == 'freshen' ) { $inst_languages = $this->detect_languages(); $this->do_files($inst_languages); } else if( $action == 'install' ) { $this->do_files(); } else { throw new \Exception(\__appbase\lang('error_internal',705)); } $this->do_index_html(); } catch( \Exception $e ) { $this->error($e->GetMessage()); } $this->finish(); } } // end of class get_destdir(); $fn = null; if( $destdir ) { $fn = $destdir.'/install-step8.trace.log'; } else { $tmpdir = function_exists('sys_get_temp_dir') ? sys_get_temp_dir() : null; if( $tmpdir ) $fn = rtrim($tmpdir,'\\/').'/cmsms-installer-flow.log'; } if( !$fn ) return; $line = '['.date('Y-m-d H:i:s').'] '.$message."\n"; @file_put_contents($fn,$line,FILE_APPEND); } private function &db_connect($destconfig) { $spec = new \CMSMS\Database\ConnectionSpec; if( isset($destconfig['dbms']) ) { $spec->type = $destconfig['dbms']; $spec->host = $destconfig['db_hostname']; $spec->username = $destconfig['db_username']; $spec->password = $destconfig['db_password']; $spec->dbname = $destconfig['db_name']; $spec->prefix = $destconfig['db_prefix']; } else { $spec->type = $destconfig['dbtype']; $spec->host = $destconfig['dbhost']; $spec->username = $destconfig['dbuser']; $spec->password = $destconfig['dbpass']; $spec->dbname = $destconfig['dbname']; $spec->port = isset($destconfig['dbport']) ? $destconfig['dbport'] : null; $spec->prefix = $destconfig['dbprefix']; } if( !defined('CMS_DB_PREFIX')) define('CMS_DB_PREFIX',$spec->prefix); $db = \CMSMS\Database\Connection::initialize($spec); $obj =& $this; $db->SetErrorHandler(function() { /* do nohing */ }); $db->Execute("SET NAMES 'utf8'"); \CMSMS\Database\compatibility::noop(); \CmsApp::get_instance()->_setDb($db); return $db; } private function connect_to_cmsms($destdir) { global $CMS_INSTALL_PAGE, $DONT_LOAD_DB, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $DONT_LOAD_DB = 1; $DONT_LOAD_SMARTY = 1; $CMS_PHAR_INSTALLER = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); // setup and initialize the cmsms API's // note DONT_LOAD_DB and DONT_LOAD_SMARTY are used. if( is_file("$destdir/lib/include.php") ) { include_once("$destdir/lib/include.php"); } else { throw new \RuntimeException('Could not find include.php file in destination'); } } private function do_install() { $dir = \__appbase\get_app()->get_appdir().'/install'; $this->trace('do_install:start'); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',700)); $adminaccount = $this->get_wizard()->get_data('adminaccount'); if( !$adminaccount ) throw new \Exception(\__appbase\lang('error_internal',701)); $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if( !$siteinfo ) throw new \Exception(\__appbase\lang('error_internal',704)); $this->connect_to_cmsms($destdir); $this->trace('do_install:connect_to_cmsms:ok'); // connect to the database $db = $this->db_connect($destconfig); $this->trace('do_install:db_connect:ok'); include_once(__DIR__.'/msg_functions.php'); try { // create some variables that the sub functions need. if( !defined('CMS_ADODB_DT') ) define('CMS_ADODB_DT','DT'); $admin_user = null; $db_prefix = CMS_DB_PREFIX; // install the schema $this->message(\__appbase\lang('install_schema')); $fn = $dir.'/schema.php'; if( !file_exists($fn) ) throw new \Exception(\__appbase\lang('error_internal',705)); global $CMS_INSTALL_DROP_TABLES, $CMS_INSTALL_CREATE_TABLES; $CMS_INSTALL_DROP_TABLES=1; $CMS_INSTALL_CREATE_TABLES=1; include_once($fn); $this->trace('do_install:schema:ok'); $this->verbose(\__appbase\lang('install_setsequence')); include_once($dir.'/createseq.php'); $this->trace('do_install:createseq:ok'); if( $adminaccount['saltpw'] ) { $this->verbose(\__appbase\lang('install_passwordsalt')); $salt = substr(str_shuffle(md5($destdir).time()),0,16); \cms_siteprefs::set('sitemask',$salt); } // create tmp directories $this->verbose(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); include_once($dir.'/base.php'); $this->trace('do_install:base:ok'); $this->message(\__appbase\lang('install_defaultcontent')); $profile_id = isset($destconfig['install_profile']) ? trim((string) $destconfig['install_profile']) : ''; if( !$profile_id ) { $profile_id = !empty($destconfig['samplecontent']) ? 'default' : 'minimal'; } $profile_manager = new install_profile_manager(); $profile_manager->install($profile_id); $this->trace('do_install:content:ok'); $this->verbose(\__appbase\lang('install_setsitename')); \cms_siteprefs::set('sitename',$siteinfo['sitename']); $this->write_config(); $this->trace('do_install:write_config:ok'); // update all hierarchy positioss $this->message(\__appbase\lang('install_updatehierarchy')); $contentops = cmsms()->GetContentOperations(); $contentops->SetAllHierarchyPositions(); // todo: install default preferences set_site_preference('global_umask','022'); $this->trace('do_install:done'); } catch( \Throwable $e ) { $this->trace('do_install:error:'.get_class($e).': '.$e->getMessage()); $this->error($e->GetMessage()); } } private function do_upgrade($version_info) { global $CMS_INSTALL_PAGE, $DONT_LOAD_DB, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $CMS_PHAR_INSTALLER = 1; $DONT_LOAD_DB = 1; $DONT_LOAD_SMARTY = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); // get the list of all available versions that this upgrader knows about $app = \__appbase\get_app(); $dir = $app->get_appdir().'/upgrade'; if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal',710)); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',711)); $dh = opendir($dir); $versions = array(); if( !$dh ) throw new \Exception(\__appbase\lang('error_internal',712)); while( ($file = readdir($dh)) !== false ) { if( $file == '.' || $file == '..' ) continue; if( is_dir($dir.'/'.$file) && (is_file("$dir/$file/MANIFEST.DAT") || is_file("$dir/$file/MANIFEST.DAT.gz")) ) $versions[] = $file; } closedir($dh); if( count($versions) ) usort($versions,'version_compare'); $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); // setup and initialize the cmsms API's if( is_file("$destdir/lib/include.php") ) { include_once("$destdir/lib/include.php"); } else if( is_file( "$destdir/include.php")) { include_once( "$destdir/lib/include.php" ); } else { throw new \RuntimeException('Could not find include.php file in destination'); } // setup database connection $db = $this->db_connect($destconfig); include_once(__DIR__.'/msg_functions.php'); try { // ready to do the upgrading now (in a loop) // only perform upgrades for the versions known by the installer that are greater than what is instaled. $current_version = $version_info['version']; foreach( $versions as $ver ) { $fn = "$dir/$ver/upgrade.php"; if( version_compare($current_version,$ver) < 0 && is_file($fn) ) { include_once($fn); } } $this->write_config(); $this->message(\__appbase\lang('done')); } catch( \Throwable $e ) { $this->error($e->GetMessage()); } } private function do_freshen() { try { $this->write_config(); } catch( \Throwable $e ) { $this->error($e->GetMessage()); } } private function write_config() { $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',700)); // create new config file. // this step has to go here.... as config file has to exist in step9 // so that CMSMS can connect to the database. $fn = $destdir."/config.php"; if( is_file($fn) ) { $this->verbose(\__appbase\lang('install_backupconfig')); $destfn = $destdir.'/bak.config.php'; if( !copy($fn,$destfn) ) throw new \Exception(\__appbase\lang('error_backupconfig')); } $this->connect_to_cmsms($destdir); $this->message(\__appbase\lang('install_createconfig')); $newconfig = \cms_config::get_instance(); $written = install_config_manager::build_written_config($destconfig, install_config_manager::load_existing_config($fn)); foreach( $written as $key => $value ) { $newconfig[$key] = $value; } install_config_manager::write_config_file($fn, $written); install_config_manager::validate_config_file($fn); $this->trace('write_config:validated size='.@filesize($fn)); } protected function display() { $this->trace('display:start'); parent::display(); \__appbase\smarty()->assign('next_url',$this->get_wizard()->next_url()); echo \__appbase\smarty()->display('wizard_step8.tpl'); // here, we do either the upgrade, or the install stuff. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $this->do_upgrade($tmp); } else if( $action == 'freshen' ) { $this->do_freshen(); } else if( $action == 'install' ) { $this->do_install(); } else { throw new \Exception(\__appbase\lang('error_internal',705)); } } catch( \Throwable $e ) { $this->error($e->GetMessage()); } $this->finish(); } } // end of class ?> get_destdir(); $fn = null; if( $destdir ) { $fn = $destdir.'/install-step9.trace.log'; } else { $tmpdir = function_exists('sys_get_temp_dir') ? sys_get_temp_dir() : null; if( $tmpdir ) $fn = rtrim($tmpdir,'\\/').'/cmsms-installer-flow.log'; } if( !$fn ) return; $line = '['.date('Y-m-d H:i:s').'] '.$message."\n"; @file_put_contents($fn,$line,FILE_APPEND); } private function initialize_success_mailer(\cms_mailer $mailer, $adminacct) { $from = trim((string) $mailer->GetFrom()); if( !$from ) { $from = 'noreply@localhost'; if( isset($adminacct['emailaddr']) && $adminacct['emailaddr'] ) { $from = trim((string) $adminacct['emailaddr']); } $mailer->SetFrom($from); } $from_name = trim((string) $mailer->GetFromName()); if( !$from_name ) { $mailer->SetFromName('CMS Administrator'); } $sender = trim((string) $mailer->GetSender()); if( !$sender ) { $mailer->SetSender($from); } } private function get_selected_optional_bundle_ids() { $config = $this->get_wizard()->get_data('config'); if( !\is_array($config) ) return array(); if( !isset($config['optional_bundles']) || !\is_array($config['optional_bundles']) ) return array(); return $config['optional_bundles']; } private function prepare_optional_bundles_for_install($destdir, $modops) { $bundle_manager = new optional_bundle_manager(); $selected = $bundle_manager->normalize_selected_module_ids($this->get_selected_optional_bundle_ids()); if( !\count($selected) ) return array(); $bundles = $bundle_manager->install_selected_module_bundles($selected, $destdir); $bundle_manager->queue_module_bundles($modops, $bundles); foreach( $bundles as $bundle ) { if( empty($bundle['name']) ) continue; $this->verbose('Installing optional bundle files: '.$bundle['name']); } return $bundles; } private function refresh_installed_optional_bundles($destdir) { $bundle_manager = new optional_bundle_manager(); $bundles = $bundle_manager->upgrade_installed_module_bundles($destdir); foreach( $bundles as $bundle ) { if( empty($bundle['name']) ) continue; $this->verbose('Refreshing optional bundle files: '.$bundle['name']); } return $bundles; } protected function process() { // nothing here } private function do_upgrade($version_info) { $app = \__appbase\get_app(); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',900)); $this->refresh_installed_optional_bundles($destdir); $this->connect_to_cmsms(); // upgrade modules $this->message(\__appbase\lang('msg_upgrademodules')); $modops = \ModuleOperations::get_instance(); $allmodules = $modops->FindAllModules(); foreach( $allmodules as $name ) { // we force all system modules to be loaded, if it's a system module // and needs upgrade, then it should automagically upgrade. // additionally, upgrade any specific modules specified by the upgrade routine. if( $modops->IsSystemModule($name) || $modops->IsQueuedForInstall($name) ) { $this->verbose(\__appbase\lang('msg_upgrade_module',$name)); $module = $modops->get_module_instance($name,'',TRUE); if( !is_object($module) ) { $this->error("FATAL ERROR: could not load module {$name} for upgrade"); } } } // clear the cache \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); // write protect config.php @chmod("$destdir/config.php",0444); // todo: write history // set the finished message. $app = \__appbase\get_app(); if( $app->has_custom_destdir() || !$app->in_phar() ) { $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_upgrade_msg')); } else { $url = $app->get_root_url(); $admin_url = $url; if( !endswith($url,'/') ) $admin_url .= '/'; $admin_url .= 'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_upgrade_msg', $url, $admin_url)); } } public function do_install() { // create tmp directories $app = \__appbase\get_app(); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',901)); $this->message(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if( !$siteinfo ) throw new \Exception(\__appbase\lang('error_internal',902)); // install modules $this->message(\__appbase\lang('install_modules')); $this->trace('step9:do_install:start config='.(is_file($destdir.'/config.php') ? 'present' : 'missing')); $this->connect_to_cmsms(); $this->trace('step9:do_install:connect_to_cmsms:ok config='.(is_file($destdir.'/config.php') ? 'present' : 'missing')); $modops = \cmsms()->GetModuleOperations(); $this->prepare_optional_bundles_for_install($destdir, $modops); $allmodules = $modops->FindAllModules(); foreach( $allmodules as $name ) { // we force all system modules to be loaded, if it's a system module // and needs upgrade, then it should automagically upgrade. if( $modops->IsSystemModule($name) || $modops->IsQueuedForInstall($name) ) { $this->verbose(\__appbase\lang('install_module',$name)); $module = $modops->get_module_instance($name,'',TRUE); } } // write protect config.php @chmod("$destdir/config.php",0444); $adminacct = $this->get_wizard()->get_data('adminaccount'); $root_url = $app->get_root_url(); if( !endswith($root_url,'/') ) $root_url .= '/'; $admin_url = $root_url.'admin'; if( is_array($adminacct) && isset($adminacct['emailaccountinfo']) && $adminacct['emailaccountinfo'] && isset($adminacct['emailaddr']) && $adminacct['emailaddr'] ) { try { $this->message(\__appbase\lang('send_admin_email')); $mailer = new \cms_mailer(); $this->initialize_success_mailer($mailer, $adminacct); $mailer->AddAddress($adminacct['emailaddr']); $mailer->SetSubject(\__appbase\lang('email_accountinfo_subject')); $body = null; if( $app->in_phar() ) { $body = \__appbase\lang('email_accountinfo_message', $adminacct['username'],$adminacct['password'], $destdir, $root_url); } else { $body = \__appbase\lang('email_accountinfo_message_exp', $adminacct['username'],$adminacct['password'], $destdir); } $body = html_entity_decode($body, ENT_QUOTES); $mailer->SetBody($body); $mailer->Send(); } catch( \Exception $e ) { $this->error(\__appbase\lang('error_sendingmail').': '.$e->GetMessage()); } } // todo: set initial preferences. // todo: write history \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); // set the finished message. if( !$root_url || !$app->in_phar() ) { // find the common part of the SCRIPT_FILENAME and the destdir // /var/www/phar_installer/index.php // /var/www/foo $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_install_msg')); } else { if( endswith($root_url,'/') ) $admin_url = $root_url.'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_install_msg',$root_url,$admin_url)); } } private function do_freshen() { // create tmp directories $app = \__appbase\get_app(); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',901)); $this->message(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); $this->trace('step9:do_install:modules:done config='.(is_file($destdir.'/config.php') ? 'present' : 'missing')); // write protect config.php @chmod("$destdir/config.php",0444); $this->trace('step9:do_install:chmod:done config='.(is_file($destdir.'/config.php') ? 'present' : 'missing')); // clear the cache $this->refresh_installed_optional_bundles($destdir); $this->connect_to_cmsms(); \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); $this->trace('step9:do_install:cache_cleared config='.(is_file($destdir.'/config.php') ? 'present' : 'missing')); // todo: write history // set the finished message. if( $app->has_custom_destdir() ) { $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_freshen_msg')); } else { $url = $app->get_root_url(); $admin_url = $url; if( !endswith($url,'/') ) $admin_url .= '/'; $admin_url .= 'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_freshen_msg', $url, $admin_url )); } } private function connect_to_cmsms() { // this loads the standard CMSMS stuff, except smarty cuz it's already done. // we do this here because both upgrade and install stuff needs it. global $CMS_INSTALL_PAGE, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $CMS_PHAR_INSTALLER = 1; $DONT_LOAD_SMARTY = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); $app = \__appbase\get_app(); $destdir = $app->get_destdir(); if( is_file("$destdir/lib/include.php") ) { include_once($destdir.'/lib/include.php'); } else { // do not need to test /include.php as if it still exists, it is bad... and // and it should have been deleted by now. throw new \RuntimeException("Could not find $destdir/lib/include.php"); } $config = \cms_config::get_instance(); // we do this here, because the config.php class may not set the define when in an installer. if( !defined('CMS_DB_PREFIX')) define('CMS_DB_PREFIX',$config['db_prefix']); } protected function display() { $app = \__appbase\get_app(); $smarty = \__appbase\smarty(); // display the template right off the bat. parent::display(); $smarty->assign('back_url',$this->get_wizard()->prev_url()); $smarty->display('wizard_step9.tpl'); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',903)); // here, we do either the upgrade, or the install stuff. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $this->do_upgrade($tmp); } else if( $action == 'freshen' ) { $this->do_freshen(); } else if( $action == 'install' ) { $this->do_install(); } else { throw new \Exception(\__appbase\lang('error_internal',910)); } // clear the session. $sess = \__appbase\session::get(); $sess->clear(); $this->finish(); } catch( \Exception $e ) { $this->error($e->GetMessage()); } $app->cleanup(); } } // end of class ?> translate($args); } function verbose_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'verbose') ) return $obj->verbose($str); } function status_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'message') ) return $obj->message($str); } function error_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'error') ) return $obj->error($str); } ?> kwq 9EnH@Br(m P<)t]!ye? Gsayg 6޽%|oɓ{߿Jci1 j'w@`ɭPc{}ܹpgw7I<~wOO<~J ;;d vqJa5KW/2XN^I^2!`^OdPQ{d\$ńn9{Nk)ܸ'ǽ;/.%!l'kItwҽFdmkk:TX^[իk `" _p ]{{ۏ?\_G_OQ.j|M`&^rٸh!ݝ[O'%{OΓ|3jsu{a>h.җKh˶,,q>e淙e6n^jFtJ>[\L*7;,|7M*R@zk^WlO{3Q< rskW+VF 5h ){O_hsab;uz൒ϫs JQ,G~9>cH\4mWʌ$dcr`Ji$tm\>DXNE_,(qdreho_jQ1̒V^Zw\?-}G.ȬKPj ZJY?Q1r:Kx cWm5%^&\ D|*H*ҿE:~"H"Υ>tlZ4nS,%)'ZCɄ\v.p(7蟦YͤX9*IB) nte'%iFP!(j5ni hlM3y-Ą=}7_u6 Q38bvb-Gٸsccۥ!<e0&<7H?K"CVsO3hy2~DV4:;ctJE?r!&@|tM5 )FͺsVWAIǝfNsr)KS@,-{涹,6Jhʠ'YlA "gJBd;.m#x[ NcԖy*=EssҫhL$W9%#fT4R,k~0Y  ;Lt"LLKr FXfe)H%DUD+S[ʻ a{Y|ӱk>: @%} h^ΊFpk̈>V/do*ihH2nYlaahͭ3EՈ+:H3P"NzfZDj:FXF.ԯP x;Y+W߹\w; !o%FU'jP7Vl-%af㱅Lng\]Xr\Lt+VY[jo6VJXZdGK.u$,v'Ec=:L2AV-"Ѡ,Z!nzu2>4el5psn簙pGa ~U);`*AYlpt(]x 'jceG\|XUyvQ3ߨWZ|R%#8v},8zNݝ'{ɽ{dp}ZeX!)NKܡ|wӝݤysBdP RC]CD+$ћ"-N'($r2L FS gv Sz ux6wRV;lj UYFoCwEUe2rKOyv&P*W{Oǭi[pfdv,1\Gse2|>qGj%anesm 70C|0*ЬIAe 佱} wo,GFpmq1/Ӷ\'W漙Ȝ14 + ]i3߻y77鿌3P:N)Dȑ$}f7\M`1zV@Ha<k E3> f483[MjbW94<C~jپaqeEt/07 TQʶK Y{1--p6福}g_ 7/S!]E-eNwCT|D-imhCx,ߜh l4|ΓXd͋.\NKREvΓ'WInjȝ6;5z1\pȔK1 ҊALP(v*HwwCdrQ8g[` 2Zo$臰2ިUxXi/س=n"".o=!N">;u@?[:6!D3qK m4>||{Xvr|ŷd8ڛn4wqIqܬCI{'"M"aw߄Od uqf8&\7b="9M5R b mwɢ[tk)QI =6$8 Yx!aNg%w` p$ O:U"yp9HSTV ϊD;KTVs* |s76 0ַ"O/tg>|?z9Ao.j.q1"7.YKo-dRd͗[,}Fyfe"M#^#!*ߊTQ&pB+D|?`4zOkrړ6mY*N R⫚W,\E{2Uei/< <0;Š\)OJ&Vg:lhܠX]ɕN`eSuaPَ-ъd/-V*d*4׌INRVnt g".b K` >Ue?#ኀ/Y"+7o ,P飛ς2WD+j-Z7#(M8/h8sQ.dabE0wot3j">N;Z>/BO‚ekDؚ98h7R8q$7sG?|&.>)pB}JWSS܈VS7eV5yfVEWP>ͪH"ȋgI)0FAca͇hKJc)Y dT?@ZAS~>%/i/wVd!v_Cǭbx2IGh؇c?w89YÎIT EZ'h76i]ɅUM\&%QҠΞkS&%(97'9Cs\>2&7eMɷ^6u2)YMVW7~gw2q0t!bR2\ּIh@W׭"xQ]hrw%&WV//{E?;j]~6 T|pQ .= ѼoFPQ9a#6Fc<6A$5J&2FVt>ll⡽B7UW ƥDMU?St\i~:x>(@]C!CJZ_B]B-%9'|QoNm>n^ 85nPi,rɷ!lm~UZxeJYLv 8O F@Y_8NG2i#<`g/oQfM.ؿ4ok;ι͵]7h#kH&j"3}#0kbt^yA٦w;ňP̠͢m~Rg6]=*EZ@#~H)n2f@WO,E uk4ߏ-CH1 l1cKV{6 ^w^S?m F = p~[0*_佮Ft1*gI-Cm7Gl5 R Ŧv(-~k'V0xpWOdTpR%O. );ϑ'd׉X4^ŤZ ; -|oM;jl.Xai "CsF1lcC*fyis43܊aLT WA6-C9A="ςǫT׾EOGdĚҥKu#eFNA=wlb3 e0RjJkhܞ խFHt[2  Mp eCa _4 x23TUVSˠ08^24 12'L[M*(%n%_%i]2e7-C+Cu 874c9HKmVC!}l{pe1WA1W╔ݹM!onZ>-1:|X-8g#f;#'c d?ǧ`K%KeE١uFjR)im}^6ыmL7[lkbve]Þ}W'1vC|[wWr;9H+K<.,e{3i^9|ofb\2>uגgz׫Pd QٙJdέ{wlM)TCSFVG~kl{BXon{]tǬf4K5 jǥub,ݰ"ؗ ϣ/'C#gFÛ6Uzbz^ _vj5+w!8gt`kٸE.QoϊZ#KGh†& qcA/q pn/?s乗cʑbAt3Azj@Ju'%826Deb`ǁ˙ 'lz [n"GnDn d/ʼJL'%d0dX\J~HU?<sWfqmxj>m EhW])kyKN9lh61 GTfևfF{y@= @5w3(fj}yB. E+ͭFK~yhxtbK\t׼ pO𩨗g( tf S},eI$D qӱSa<4"4S4MQg~*oH^qxW #\t} ;\A`_A9qs{'t bX]#|?0ojpҔ1[ݢxxc~2V-{&ѤsdNtCχ.r }.i2XX-cGBMtļf)9,pqS,)9:Gf#TEmfG`'P6~FbWGRTw!}V wI uӌfIQ5ķ̈scJi'lڅ;Uj4$y)[\4n$ա3ICSgQom!'?k) IPoջ&3&TpI71vu-3QɃp?-伜g bF>27n/%AFQ.Pz<(A\AW˖2LD/ KI`^M n3P2r3^|j]_[z}+q9W l X4*xKkvZؗl֩wC6H1(ѵ%pqi՝wJR2~[UHz<޹ Ċhst{DN2Cc$>"*sO"w>chr\7Y n W<GVqpCy lOK*Y'w2a_cdi H(7:J1x O Φ08 ˕K69,F@dZ7;xz]äQVPf$EmSLK\E\±mltn& R5Xߧ OZ#RYd%sogfބ؀IK@X]wS'dIM/Y $tS{\^rޣHg4^2]}w[%w?M7n.=|"₷gܩ6dsVRcXl09\ U[Ւ~ųNY5j Ot3_AI]'Kb"沊& > 63q*i4S_r.&no`ppCw|SWwܩjGiZt9'E AGmRv1r7-V59X1)#7W/P _4Y#o5f +T[5MPvG?JJk,'iԧx%\m:w(v3 2Lms.$fq:v\X[HVj!Bj)Zk/ =9R…?A}(+}=LBbD)TCJ jR5ntiL|`ڼs{ȈNQXA,vұVLs*.0e%-s8(DŽ'iqTWLOvgAh# J3g>p .t@Ws@1u!ZGJI+[c?؏]%GWI_>@cBwŹYoQnbϾFu|Xh<뱹mށ LrlN;0hcD,&bSm‡JHKS\{4f8c]lM'TCD^v) tmZc0񄾦A2)?Q@*7MuEe\ʶqI?Il߽lܻn.k_%a$5,z= aK*wAڹR5YIHX#vM~*#ሁ|-xqU^EFarC[5*{wp`awalh|4A*e %-J_`%os#j$\o4R#Pm* m5m@O7cvş6$/zWaV8ȥEۊ}nbY"-0`s*TiߨQ UPg(Gh $f.b3t_0Cx.)i@$FS~t\|ckV0/%1^1#pY/:衠"|Z4= &/P#O{-)똏./aw>r:Q~3ǔ(' [}XKND]G^t(ȏʃ.!\2f9gN?>E'`E CEF%Sf]ؤS9XQ47Sqm|u3lLJiT8m0Fg[#im?"W 5=  úK3 $V%x-*Vſ>}~5q\.\'u()p[7ÎxpKmx1ۀ3Odi25ReP?k"0w:8BʄD(ɿ⹂A9c=N'MW0(ZsY-d A"r(FVmzUEB Rܣ3uTVd[uzPދtׇ ))X*nw#e>[PJT W (*W`0%iQׄ} A1.Hҡ5pUS|#!وrQxi}28.QF^h]j|.1%po٠_02"ܤ%aB^]oPtAyRP`氃?s;t2M~^a :5J7v){J瀂@p˸q$$ƷAtS(gȷLW9{ph3!j[ j,N2DŽQ{;kk`$~b+]ZK eaF:DY:10iHh[P7R8p6-yA7pK~uys* QmP! lcsZUI)'y?=?k ׮߹W h\]JkeLzyL?F-*+-+vF؛9*HA5cؼ_DHzXAF>`CRC| ܻ]}@R:\-o =y4A)%ؠ/+!)Yϱl壏U]>ſ?e~._]_@Gi68HM~:4Ʋ#W/;GCA;F/1yu: L\ pB 9dzj'Tx_("n} =@ME1qfNf"Qۘ3[ȯeV8s7!KHs&@ /:9I?Í@g}2U&kH{82D)AM;xl.tI6sљ4I<+BiM YRQT<.{I"bBo#, 99F!)G˫^]ٸzyC{Rg2j1ğVZW񶔙!Д An!56yJRNy{.lj~({ZA&[TZlX2yB=pk~y +ˣ|Xi!iQj4L 34s8?#$Th a@;f@lYy:} T6bQq_ؓu, 6}F}%yZ81lwL2ȣc7櫾*B؛upRL+W*>:.9#9R?6 gpUW߂6!,^z+Q *)+ NͧOg{(#LN&Оdb%~iV9-䃫kY^F-?| ։|d.RF iAViq f x]i5fc7!uTWtN{@{W=NAxлy zT. 2HXY؁궻 ^@=v #Z +KyW}pcVjg_>"^=s\c?$_YA5E@Sm~k E8ZN-E"}]OG աF87[ )PGR1-vGPMׄ-E~WӏMnf& 嵺3Nj@T2J)eZ+-~ ů]޺c&S&z &7MeO A"qk:cS/z^]YNXLA8^ pZ>k#76pm!=TfwfO_r̃ͅW&H[)g0N<us۫s7joƧe< CvdF=ТsQxj2XԌ,(qNlL`9[:th|=\+5v_NGoo%tJſs߹\?eV4l?~zuyTX~mfwZ>odqoRU!9&~!%&0<4 y})PgBDC*n4Cn)'+JH{} IȡW g\U/w[AcɄ4EL* _XkUOWAjWvzxAjMԉy{A/ %2Xt8{_1%Hl.zoIptH8O Xv<f$!GELL`jJpkg>Dյ&f5fNMv^[{3J-RzH*BՏe<1evON91^./zIP:ipGMr2ZkE=puyc,dty&45Kl #vG^:^-I`y?sܼ3Z mgOk}ݭެFk| cM!Q}~|r{qvtW7%'̱$2;?`JJ2 K+&1eV^RXWbn?%d}f¡Jd>{ ĴdeXc^{~g5Sv9(`K<]T,.j"Pb-Q CZjۗ^J5e)TNҰn0E(q U~^+'wT0qQ F`-o-]gbLmhx}B2ejD0)7%=e] L!5CD x~fE>cC1 q"/.o+y36+eHX92oI2(X_$˒!Nbk^g`=BMQ"5m=L^D%[辪={wz|cL#~ ej$1E#kY*Yddl "3gׂiDX7B_G1!G-5u(>1K_tOTk7L0a$K[dx7-iΗBZwV ZzdgNQ}x\. F{:Ʒj+J;%.,că1lF^Y  ys||F_>IJU395xftfS- a*o8k(:y/qt(4}LUESGۛ y&3l og Qe唨hhL,Dl1ȩ6&FpoQ|qq8OT_kM̮_me~ykywLU _vmyu})ٕՍ:׻1=aCCzyu8A/+(i{Aޯiįz?K!]-)S^;E\8QA_u63K{E@'6{<̕9]_3ʼaly\5=TiKݗhJh.]Kl`~jWݵ~%}Qnwag855G*:PVݯ+I^lڑ,xU?3 !#N,ΩҪ^Xl 9-R֩{9oѪβB#i.4@agpUIsJE4iL6|PL]j.=DȂ[?z&4QpaΩz:Eľ#NSTNLAEGRu~gj'>#<>ip`n_x);0 2 ?qY{=E"qa\+hnBmO<:8KMGULnK&t*zUsP;͐Cgc:\|g_9fFFor ,g @nn)@9c+ m ŒWdw+[a8-3B T@lV=99t ǩC}wYhsfˬYz*-N$t?2LJV wT7`d4c88,)s0 ɽܐ NĞylhXzGUf/;U[ͤi> z}kߞP7z6g3tOw*p8t٭O4;EOJ:ig9VFUne*3+bBR}Eg~-}.$|vLV֬0_ XBkK.ɷz6"÷ uvftzDv]8e~ +i\]γV;[VxMy:giH7v]̘ػdf FƬ9^f|ˍ`7:j`nTQp;~Sgx0:g^jq%q'& V^[OG ck?˨4QA?s;Y& ]>en;{ȑfWMKU#u`⠆Y_Ag}):Jdpet7?pW2T9^՜ azUoP(*?N׵%%5gMDhGE#TɀGؼ>":& s o~$ݾtg7i\m&(|׏ f&Oط*P)u#i$|"&6=62m7C OuYTʵxv3>$bb&Vtlq۸ ?dPG$3`K>{(X$UZX Dt^;}n<-DV$:O&AK0sG;f5kf^lQ;,ZpOö^QN5OTV[z:6zap2`ԫ s7Pc-ϐU\+$n"ώg蓔MCl8Ɔ{Kpqnot,͆3\0sH8杁ߤ%\·B0߂kx@fO΄ sE"-F=9tat""2jYZ\hU~i gNuvOG'bH,Ko-`?g# >kf?tNUWZƒ_(=eDAAEHw8Kr "g9Q "pG4|ᷚMƽq{.׮Ayl@1%U`TǙRQ!|qzLf__[?~Z-*4{- _?1:믹b>כZ~덬 Φ|i_]G嵫kW2҅<ށpى]Gi9nv`0j%@X:a Zl1<ɖ#Iww+xA_2 (f= ddl?\">J5Q]ɰa2R fd=ߜa=[U9LLP%›=7SWG@ep=nwnDb NJSYqEW9t7.-^x(H6&!;@_5lfx+?uڄ-y_G9ւz.B?nv/g_AF ֡oڙ? ׌I/7D :I;p/~4%xwuiGJfNM,AgG[QQ@F2Rt.z]oVV0"=F9ɫ`N+FpC/l|hиZ0fGoMwROcTsK/מ;؂7~ z|<B"H5񕎞nGёҚ>Ua4-Cx *ɾ 'ŠmSIü4;-Mss2P#\YAG dnP14:! t|Ko= _W!t[@x6k_"P̏|/%yt{s֕g'<WCw=N?ھ޾O=}OT +>m$WQb@3+Lڼi  P~n(sKU'dՅyoL9i㛧! 8Ol8>~R}~+܅yi Mz‘sg:baIpr~Ur22GpfG˶c+f YDPqs-ºk*{rkLgׄnKVӎ,ZUQSWd di6e,Bhqim OJS/GBEYB,H?1q4O4_'z½\J JeoId;%GZX{|6IB3I{Xso9{:,F1ʁMň҅E;R7!܊<DsMT ?톏^%`nf'3vF_\ vg-:X5 eUR*Leb@J(dig%>u*oLoTwS@= v62(3UE][ݻiŎhquÆm,<9W߬Jhlx,3 ߳uԆ` RoB10>e^]hَҖp# 9+i=v8pJw~Ps^8vy뚙TIq m ?=ch~aN2338'fsp}D_lsjR`=&H0ip|D"B-'V5ƕ2ym fr9}nSOl_O'Yf _.ڲsAd͘ɖ=*MZDʉ6x}_ OѴ=8CH)X3UUHW+5o/a}a`+I`uݪ*[d+ HKjjꗙAvm1wmwڵ⟼¹twwwN2|At3Zcjl%W8C5MհOq=T}d2 {뮻EY>l+ ;8Q_ QۅK1pm2 USy$Rczz`UY@qE/lh}ȝ!Q9]l Ӡz@7qqyՑdyb>vOp\ v~Qh_+CLKl=~;;O=_b%Uʠ? mh0]Y$9w"+kz`ש- -.^<~F߄$O6MZ|w}-bb}`-}{c|l;Yg̏OUJ~G k_D%2<93w1$Q"uEe+AAmT.uHB>>WnYM[dZK\Q֩Nzd6ᣇxE'++]{2uM[n3-:ۢOH 'lOzEM?>]L/i\b;pӔda&nkxDUoKqG=dv:@C^>-P-3{wC$諚#w|D2 "4aFW`\mݝ8)|`| ug(rmPSc҂);a}|_jz{=yp5D>Mqìb1m#[ޒ+ƙXzXtv K -&(lnXt|UϫYQyer#dz-4?õϔAKnmgI=@9f/Kq 5X$VGn='~Hޏ(<ƋAcԲtENΤc+6ΉΨ}~/(r`2 i͎ , Nl, ?57V#ڃJڨ7*q Lgȫg:hH3,}>Bi%ƴFemG/=d&|$ -#cHe 7/ |0<>}S񀺻H+(tGplWb?:cڷtGkGM%R 5?#v8ۺ`. Mg~ Ǖ!70(1:>uTvnϐё([O(`0yqBˬ3e2Xzy`̾SVm`0ڿʘ,-HWyaA) + +`:6K~뼻14,<"(q4WVl,1w?O{u=IM`W| `jA ScuU`=xܾ}N[{ָ+vn?C?aŋQQc9bȒowՔ4׌"26ũ׼&˷uϺFok hvy*&zmyJ7eg o HE=n?؁IMtq_YQHPtInU]?L,_ܺNΓGOvn<ܓ^zYg)pd6 aA?NAM*;6R>[ˀ2#cT~&b-ՒХƍr眑sJ9y{hh[94YBisr0LKI3¡CÑἥD њ1N1f|~ %LjP5o&ZopB`#K'ܐd~ JLcL\t |B@!'HrFJd?څ 9.뚦՘|E_.N]^ BeTk/]9wGr%yBT+/t׿\OWV/Sŵq^ a1*!`65Ҵ\B{\^(} w\g'RH<;@Xx!)bin wX&F4Inx'E@^d+vps[qǛnW >Z,MQxj}gʽdv!AXգ[#mzMWⰳ}+A%p0ɫBI.m.r~p)J+jCBvg g)ǙI{訂VMELG{JwV<3z[E7\;BMfpa7LNڍRڐk 8,?0|I_-j3Ç?R>AIRr2d03\@aC9#9ī<ᒵsw>R8~'}Z q JaaFK'EJ\WmUI`>-,#ܣcغW-<-00-ǿUݶJNy6Y1(Vʔ6 ߉ew䣥d:R'K98%} gc.y=Ge x KV*kBxjć^Utu"]'jESn*OGWVG99yΦ χD )3'_\Pjm~DZOnhZśz!бn F nszHy,KİU[CeNp&9 )Jي2`c2a{𣟭_(cfVBNhGqp^پ xXZ]@G!$|$td&;TjB:q..)sh+ 7p--;ڜjl܌gm#McXjl̰L73w~e~W2ݱr .Ć^!u<1xjSaZ eqOhʉr`D|+=H`v-ggiR.ؐ ̐w&=!2s)/I8ãqDw=|FbT¦&G̑9 +C)\K|MA8Qx2$j#RD;Lp@h@c'svT;+Cm8ʖQ ;oaLt&2q *]\gUr t%pJv}kuuWi`3Y/ )del'tc/PVzxwĐ zدOlmGxn/̺!"CB3qC0Ċ!%& j#ORpsD$%58O{4#crq>I^ cHŁW":B`/;п-w|^adxMƀz]۔4py8g0B+Q{AJB!`!wD<\VcDZuؽxA̸:ɒ6(+14 'a\IRCO<|wӇ}?{v;xf @VL>>ގ*D05&VUud6nN+棒|@8GDhTtr4 [!:턑"-V&Qy">&}` Kpާ;q7U5AD0(t DȢ8^QjYN @_&;Qn8[c!,bO-A^ Duwv?)q4Jt&Uޖd-)=RxތōGQ6DXiҼf(4 bhgpld><=o eAVLI(_5K w3MzZ5ÉUjρ]O<8#zc~]ye7+g= b9+LPbcl+hKBOmU_rXF9- SpX(R-ʀlNL9"޻m˛aUa,>~i3 BSA7k|GճsxThQWuXj-˟+9Gw ؊pf3Ipo&axN3a:7LBD'9Fl>-Lk!X݁0-~0VlXYNXMɧ UT5VwQj`\Y+tNH#l)òn;rT=Uad6"5<ߡ!<6Іp *cm;kt;@_hY2(.*A47f}܀n_y9 k~$EK֍z?sW(˫j !{(~F3'Evwe!vwUby*n/ y:93yvE/h^!GTbŠڀEgCGw૧:F%A8>C0$r`P[{2B22 FZH#NFpC; u (I>OZ,]1o$gflp$ muhHG]u6v#SvY~U_Pdǜ;ނ|} ;aCsoB2;~VM9t"^x1$3pV4(鹡aj6\,<жiZg&l6+@&qIIq'JSiuE ,TFO9=K˧/~o $Ĝf@}pގ`YxiϙzU ޙzgj8JOf9[l3Z;f>*LJe3]l+5:!k+-ضr5l7ࠓlh~uԭ6k:;,,'7J8 r/A`Y} THۚٯ!1;5ݷr ge/uX}+kKW.ݫmQ)zJ9>Ťǚ,m$mgF|&%i߬2! 6IsCJaHBCЮC,n!e9^"3A6[;IC[;EeZf#7% ЌyG~iǠ`t1J[۵bA(k3/r,Pgm湿Q.Ensヒ6G|Ĭ)TrWu j@xw5X?{ γVw((*YU&o2S]dZ)-:I %W`lT(T[颪mD=mNC`-IMH $LC6БtNR)^ǧRgFyN*zyS ئhH/pdy=u Sii.bv[#Oh ~#/~UrY 2PT'z"R.$=SriFhb2{1&ko_Ǜ  ! (Zpg%y#^]"/Uaw|@*!ԭVb%d3b}]Qw~6&`H~̢sP0JzFt`r hknU?^혟EbLi^{2~ӆv/;/-@LuC~[/bX;X Uh71 #p^5TCbH~[QzyVQk J4vksme#eIjZBwY2,0_иt12^nlU&Geel[4 ^PUi̭-oi{k ͮp=J9jN23C=,I^cfq&GCZQ2=Q 7 袙Q+^x?Dwf&ΎWW CLGBo<P[3$Q$pAw1alD6lX(:AʡR^UA}}_YAU؝f*x7V[/r>7Frۥ5N,&Έyu jB5N+X_Zjk *VZS:^غۊ5nCjUH_'jWڳXX&=P"a nꓡc,,4qw)NUNBոJ'ۡ5SzhMLagDA'x*2ȑ݇Fnb頃u C RUG'^T8 rO: C.x7 6cݍf,.D X 1U- r]a]fB^>{9{傎]!,crdžs"uNjcry}Eȱ{ckm@,5{vJ+~2Vȩ# ,gy4&osDmȒTrTHWWi}"֒<[,sO"lN,]\\|*kQbkjO0 F}h)"50As`)%nˏ1S; Ү2eFQk2W! zg5 ['s&ދdVfL#bBƎ "lɳU(\L7̂8[&RXh6nqqƙ?):SέK񰓜q*9 52+wˁQN[iH#W9S ~Em1dAcKKytQ ZEg]m4Rv5Xf(f$tiv_iQn&ŨP7Lэ-–rhh(-wbj6N2~F,f՜A/m S#ڪA|>_Zk*EI+uh Vyg 3]x#Pμ`pc%! 3A`7>N^`"Cman L߽*C iEn1wC&dkc><ҋ|TP@It4=|9X :[&*Y9f³eoiכ1x]ejbz+-Y>o0. poAxq1+@7Y(9(S I8Y"߼Hh!'*\25}:>Qv06*4}h|D#6A,c-U0Ȁ1EAE^ׇIE]qȊ)1"HKXk꽎(B5As50= hgM.\ 8&QB$/r5B:H.a*yПczoou*zMO ҽ97)*1wTͅ9Z;7/޽6$AhϛNZ!֕"z{ VpTLir?ii,D/PT_K5ᝆun3VyN#EJUttT5kƪܣ4@Ƕeqob%k.>3.C='PD8,#HU{K*OGރDjM~Wq2'53XƖb뺏Ls1s5 shΌ;-9cGCG"fJ=Lg#]eNsci6 뢭룝j{wMi ~6߄MVmMxM6CvjqYUZzZ__kmioSid?[^OgmmL^Zq3;'Y b0*{*3:z*S Bj)Pk|cYzoW ܂2㝊v֮`WKOBꄧrjY*$dO=zz"jRB8/JW[$x鹄IfKk54/*!.>-3/Je ȒY8SN7]4n.h5gH(pVySL]Ї gujg{ރ@;SĩS;ONc(CUG~UbIaF!vĚxagv=<io߿{eBN`C O'!Ovnm斨4x4ݽ'n)aFuLv AFyb;5qJ[F߸{$tJ>O* |X8yaA-&8¤l4cʞZIaJ?B{  se/-ŽGIm\N^ z榨0LMVc9USFORQGnȯ!b0yQ+My+H+(8-;\ʠ1 Dͫ_1] ?meU?JE_e՚"W11"U +Z:=йчnf6JC òWY Ic~?Esx鱒_,YӍR_)u 5Frs ?H11(sLQv4"3Hc0<^H,|$7;i/moU6_B%J0~)߀V+Kqa ܑN.OLξVR}rcU RK YP[&?c|v^On &Qm` '\*h#^>(J 4@GpRp) j~ CL8=iR"dp 8Ef\ ݶ2pp$ GG^o[;Ɣ8r c)ܑ ?S_tgS2*IR,9ߩʎSi ߤ[j mkyg%,l s\mS{TݓR'g77;nZ&<(n=r[ `]rDXnm{ިHF=ZxNkse=dlMp pIhFOoWA\#T5MjA\L/Q$=zKj% sfk K%<ʧ@$Ff`( '^@K5F[ύ6 !@+-g58#{ FK[ߡE,~.<τ-ܥ0')9q,iwv/s_CAJqO u%y:Lz"|S4'jƄQF_"g&<@UA"? x&<[(vgnK,8{a>3ݼP $~}ʜ-s;/>$bMuMM\ةfD`!Ү#>,.P@L4yAh1SQu|_S׎UPT!J&Gfz 6&Ex^>y+86%:n&F z~]Ȇjټt 4E'gNZT .}a5DM`\H!ץTeaeMA~`z\%P(s%u9ު65lK*!<)a 5T;Z!D+CMS)NN۔/1fURPl<ޫK|bnbUOWoEH@(QƔ8DLo)#E5a*{1U."OʧI3tF'(2-b_< A=ޭQqnhbf0M Ƌ4DZy֜+?}##/dq4&yH `|Ebs!QV E6șt6KvWs<: <=%FIMi8#%lYu/e&V.|I7R,@*/IJJ|9eAB!Ȃ0Q9#0q+7DScdġɼy^V \$y\M0CTbؒU)tLb]v֯Cjc^V4hl;Muf|_!yjuOm2 +޽AvksQ\i}JUsTrb^%Qb4=5ȐOUFGxD\z7kXfV3beuMB]=]j3 P2=q<{)&0cSѤ?0Y{|KԢp[n$|p6u]Oݰiړ{<ܔj@6CJMT"[f9·kϬjLOܟGU{b \¼-~Z!I&"n_b #ʛV9ęX4 {lDHb+W)VrJ{j UVrM84 Y6>cRo[0M񎓃eu2`ф YF]vaֺ?ZQnQ18zX++M&V8`o(;|p4ˍV_S<6{Zo>["XIX{3N cƛX"& {7gjcrpH3 JimtȄh/ܙ4FT(OFkJeVEE6_"JGEW%Rhd>?ǽ Zd7/DLC ).zr{ֽ{0!265!Ƶ?u\^Sjt*盅zp<\n ɻ%'HL ; zt KRN`f)Tfj-7jM\ԙBf=XQzTZc|Bd>ØMt{.~īC>>l4LkudJbL)݀LK4LR|VGLlJpCv;yJ~c}z%l(ٝ.LƅchIBD퐕͡>Nzs*XR3eʅ'~iEޝ0RO{JݥSTt9R4*i4AQ:iClVe9e CJn `Ҋ!IVH3~VT&a] juXLtȏM.N-z3=dS -t/6瘉{d1~} 42D1(SX;sdU|zE-q#M5\m̊W6^ҝBmd@@E, +e;}c;H%w;?Yɬ"9vcmpSl Zt4>p[d;d?w/ O3G ۆ.1\~61p}`_|+)۲s--#K•y(jދ6Ƞ BqtnL$Xá ӊXxM[d}iBDFM n}QCDQ|AV f>N^SG#ۓYg=O^x9zѵ$``R̻b[0 ~U#R/x!бÈ5"2F Se!n^͹e˴b",S Qg!K^s㳃F.rndc6ST;%?TE浶z/ ,6buDke*t2X~$jN5?FmLEnGKQu¯F֤%|2l$=6';0X㼯REdo|DY,Gf8fSفilx`P5L4j=18F!( `p ^JI z!3h^pYn0|";ɘF hG "ώXcgI@p>)Z} ˟[P.vlODLeBCoUonI % KXD0׋]JDMocXZ MU&W`6|}]x&1"+!+L^|@V=%Hu;ёGym?ld-@~djjYow*N?3'HZl%{Q:TfmTД 6 #r `;yx#a*fqp^ 8uRFF>`;M>,RI82No|-BғËlImD5b"{ #w'pB";֬6[6e? }AIJVq]F%ɜ5HfHjgv]lPE酠\nZ+yeK_4LfeQ}OONN~FT`dSrj ࿛`bnoN^v XGnVWW֯@5T']iKN.baYM2O-6eh<E ̝ws$9l$RX |d|O4d :|3<+.$JRG(ͬ$]۠1@J}QXIG o)u;Qh7@j&dKKw^#Y.CLIGˌٰf0#  t9z¼EʢgP[m[;xL!TW䜳\ľ%$ Öoo:{qE4z=^ m2Wmz'Χ$G鳽07mЦA>I,GށEj"O{` TU+^NQVvMB֚]xGy>AOiک^z;S%bQtTpZjRp/|XoRNY Er"3=&nS|m+Q]I t,mP@'=g|fU>Bw%1lGE+N[8Yph8lfnBdP60 QQ5/aQnbS_LzRd_U wLz@=q#}#P9iɺv33>n^e|`+= TJguy4Jd!z)YIZ*OEt(V~rY<7t2h^Ga!3@ 6_ dm V@akGS7~3+J}kc_WL=י&mG=LiKы L:I k;`.Z݋" 5+C4mYkP(d=1]7dHUi&v'#)&,y^V$pҟl?(a^aFy8w?K_dc8AEPlCwKK/윱KM^^)hjQ(4'! a ј5kT n}; k]"` eAN۩B.t\?K@aY5A"wf{6EP0/F`r$Eu{@I$^P?+c-++#2gJX4I94P#Z/z&i,4M1RHtڣc jE{<;ӏgg%"t<}=O^jbu;wr]%a-4Do:/Ń6VWUAVGRnS&4T΍C\Z`F4LvJ] ڡ~I;j>1fӈ9ӢyؕEa kuGmk!ֻ EOc=5&2efML/d,Ɓ_طj0}w *zv( s#[-NbhnKVQ{M`\߲cՙ88)O<`B='~4O{iGss@:H_#d'l`4#baaNCHN0 dlլVdRڊ"5b *o}> . '2";<0aiMTp164oWCC+|v s8THpEBC^+V^ myj(ׯ,NvQ1C^Q?LD̎`&vSG;_=cr hM/Fu Lp׷J⃋hk*!;yơ,Hl,te ȸΆ1U/svYb-9&gʡf`1Zh[:Py<p'$F0dR I:'h;lI[2F hɳ8NFo b-1|ȜHSx|S7M@Ldɵ|ɸ#^,, gaKFK7McCi{6cl ;%eޟ[0,pZ)nk<,mΌ15-d;OU{5DK%-H 'b'otPy%cu0|LO >uylSu'?=Rr3̲QR@gQ(E_A$?B\g<@Wu0`Wmy*b#'W~0Q3vj)))TLr@bљP0D,v&`8"En耴w7\ufbkjB%K(}t%|'Y'9wBF:0Xy}uF ^;t<qp~[Lj'/WUtQY'0{@lFli1`A=X1X&/FMFۄ9*Tr( s@lR3*ehL+] r,y놲'Qگ>w!`F H|`J,//peE2'0&~6OJwp8\q/`V;E*Oc[ Qk@;?g@g [ra~%{"0J]? )~*ZIAJѡ_7Bz_8'#x@er|+X\F DmC|XV"o6i+5B9}s%[lI@w(0] a$C ,1{` ?UgD67}uohd@W-Eʴp2\UC $Rp̗Pt)1mn3uVXM[ nuvL=>>(^dw=Fo9k<gic3\O!2QU;^^J%H\B$jgyuLa̕{߇"BPSBMoJ5[+;LطEj<} k+֛~jmM֎ʼJLRu]DMW (b\1x^}A*bg $T`U;>@Eܭ;"M ^.z1 |YA#(`0~йv`8 gP8v6] #!FCOgF~(ysQQ9w;R11bb,2NnOzv ?'6r*sV5 W%EIw2.ڙ4Al kgXiѳ v%sma[M!K u &K %}[a8S WqX b2$ 9Q>VϠ(X6OoE3AH\T &|hU ;"͵\BvjeN&q5vb+6a:>G h.OUB~RDe@Pĵ|DI7UΏGgp\)ǦY0?$ |8zO#-,BJcXgg #Cc]fIyL|PѰPUֆAh3# =Y&>+WD>q'& [.?CH|\,B\qG t9Ǚ<ֶ=ƪe"ςۧbEbev+0=pL{\ Q wg&}\33 $0, 䴯DsȉPV<-YiQڕLKUO?{u4~ vN\ JXi,%ߵ߽:ym"Xn*+,miY-k0w Haxc0o z UAy|#;+{ 6@$2?(31-Y+/5@qmEKW^REKW8nO>S@QL'F(`%$LX4Ԕ붷c{`(U0TSι@|km3mT%`G[qK 1~EpCfH!l)F;WA`ڂyʊy9 u mR7>N?ݻMOܻ8YKCdNl{-6GlFU^u+V6')|i4w(L >i ^oͷhO\$H/fة(O#XgEzzAVa1NUv#@= UUfT$SdRmc[Xv4=wPUKۃ;^#QUsr&yѝT>EX /QʊĀo {TߣϺռ䄭 (@]R 7h{_Y&T#yB_|&{'DsyqT1UUA\=E 9@u"X< '}d1ȾDh;T[T 8'dAbH yu[ɣ!ioQ!(r% Uwbj2"?ͷ(فsGc|USGےM.HЮU}(810j3_QshU() +h}3dwd63E B!V'@OteG,g; C6TՌ!U0A\.1%!Hn6t#޻95\\hܔoLoZ *kjvٜtc(G5ZyJsj c*/*T2R[k-ߥЛ8#$MДXO螁7yw]qB#{65pII0} !Qf8ws/Uz]npo1\7Ob0FZdm.A } VSiփΠ3:ϔ.֒n?F"bw 2) vٕJ 4 wpǚ}`'ğtت~^}ߕ57H&`)iʫb*kDo^Ⱦ xamٗBVmQt3s)_2)ׯp>J bGnȳb T<(xfIwabeBF)%D -f&%"0ОYHl8c u{Q\VJ8Cd+d|ф͂'TM$2IOb0&ao!xD9M*~o]]a8#4j#`SLy7j o.ʂM*P.{ʇ]UxBU\NN,hz+/a;v{eVUkIM;´Mug\/SHM|B/}%T/deإòd %hH `d0N_G=?8DbfM$Q0{k,%E{J޻'6~Ɓ$jSsE\-)r fR ":pܡ`0n-"0jܬ ="{h(BE &lD>jb`UolcLv(aQ-ԑA|@3z!A"z!|цK'A!{E^[ 6Mժl`ߒu\UvVUJ"֩ %y, Ŀ~o8ɯz8r!/}?V+єOfxi`|-׉;?GOT՗[u?]'!k5W+P<(8$?H:r7U̓o2C.4C1^OeP|Tm2z7^k|,ECt[ZAdY<ʴFja+̎ Wn,EIV$ 0$m1w\zdF'`IXq^ &削R(/G .F>{FTLov X_2IߕqhmvT?c~tS&JQ m,ɰGM%v9]U ]{.|^ڳ~:jG1ƿě8$|-C%h=m/ 7D|ٷňQQS{ ߪ,3IZ/ݘiIr\ܰ ٤a=R5+yEjqS:O:xa"1`ݩ 3$3*U0D"TB~ O嫎jK;NY#6!-Ihl8c w)+]bXf`>+[u(6׉!E#3rfF Ä骷paȉT (lզJ_Xtdί`ٶx)2 ZYqW$EspGzF@7 I΍z,C" SS u07!4 M:.e0&*Ľ VVl{οzi_DqM]3eln]|;Pi{)_0eV>wV yE.YO&VT^-Uy? DEr$7u%2TdG ,atSeN}~d1Kٱ۲QjCay Ӿέx+i6Er;M9 'jIqg%Cu9"Jic'F\R{s:=2K$scãa NkƑpGkJTr#wܻziQib*2 g@4ViNA ofon*ܳ0'Ew[ʓ2i8uKf:̾.2a)BaY)U GzXArs1 1"Ygi,q[`Lt,UBI|D(Cyܥ1kv (WPƷS49雅X gU`) a<ϕh܍=a%A`ydӈ"7h16)sٜBpx4>4 rups GKC}5+ Ǚad∞$b3!w+SA @vBq%~| ǁ"skS$I)YJ9ZMK2Q&M2&%sH#eؕBZtm^4ݽK1 {뎈cĀ⋻dxFhlIwA.8dZY 4rr ㉼Xj¨OU2Qjk{tj~D@8*h_5ѱL3wGUl d(FS7TMY4槞 3F7Zb#Vg >3&C~RoO 1ddLkA VC-z.xz\CߍKtA89'S p*oFІ*i+st7gu OdwBܸK0'Hqu f0Kǐ6A_OAI|Tk鱌 1F:z ,K J*8]*_5zV3!!8J}Bp3̌Eg'1nt 1GDE%榢8p>|<%M56E`) 9 {9TIQ|\aWh i9 S7%5+8YŇan$y[T|+X0}T"A*TЅ`YSàM:sN GNnj'PA{u]H^\t;=B048 .JXJF(&߬vKmGgtnL њ|=ۉ&]0+eXOb$!]MWvoBFy?ps2DBdp %ߡ^jP^Ll"f|{ZvNva)h/6@^xkJ| %,HUzII<*A:ύq*70\ jn!f~`h$I4]_(3e:PL ?Rٗ2ܧw0iW/ g-}Е׈`rWM,Wc>^8u$vFEY 4IyR:D3f{) l7bCز ΜpR8>d[cx 46قbHVfO᱕"doҡ>\!aS,^aWh>"R|}VO=#SA Qqb1sa~(D;LtHF|}zkwU-iN)5,zvf[VmPq?QPSε*>Tl?rFwۺ;z$t{6;XDJG{캻8L.F~ITOr^-OXݵiR7D3eB Qu1)&fC\q{0~K4:97UF&%#qKF\2`T~X95OA!o`ؘcLaEf!eM+s-#RAj$)N9C-2Ba}吢m6n QD̶ ߸[7V[_pʖ>uc~IoiaTfOŊlaѶO }oLLa"z x~O[ߎLt#pju2e!c1۴U109S}Qؖ^o SV}Y&NY҅^߱N)sY amc?X7K` *% sAOq6C85#PuOұ0A<]4;V#Ws l.yU)_*ۧQrmj,*߮w?XL=g3 K((O1C ̗;2L!;+R:w4i ™ѹ3.pp>]-xܶnkbg{[Kˣ90xagQP<@'1%Wt41W:{>ޚ;tsT$BUmxcX)VH4T7=AKnB!0D=ḵkLhUR{%uônSd=MML|6]ৄ?ٗ{exI u SB)ׅa.A-6Fc79m[o0o> :f+ Q}*ANC!'z@Z2nxg}S$Wŋx3I>?$DA8 =1'⤷¦l"{ CKq1d apu%^|yo`cQUšmMѶwP˜shNRȘok"NS$rRkL9pV,W,dTdyA\.c gl4XI@m7IRRՙJqjĹ+=}Re0M @#L֗Oީ˫W?k?seJ@?4/ /?_>Po/mp8ƃ8a~O?@Lc(i`+4 `nU ð~>w<|_/{XjR"j$+<_,Ͼ_+vE A@ k \w`jeݶ+[`+W_O?t;-.~ {llW0"JCU9*(5t[Chͪ.-Ss?? HЍne!O|Dm" @4Z  Сq:n1p{`5+v?a1O?1,{.0C9#逗U\Gz^~aI?qH~:=/eJi+֏zKd1S<*C_Kfrˉ.5X:^zme[_ `0_0}qoIAK`~fLne2.()kw9Ww@q"8:yCD9kd]տU %㕜w ,!3DH!f>]\8px~+D0[W Ji0:ٿ|X0d|&w r`~!QiS݄Ym/R*cZxlѹj ]KD ?Cÿ|;X/ϲpiF@OLKbe~=+b%x~ ;{Lb kT$R~$e E+#9Ⱥqq?LGd9\YB~Off 9h4:$.ޣBH@欛 J|9]}D>V_),oot!7&\f,6T #ޏ[_D}m2'."p.s:%FH4:*kΥ4h|*PAS@?Q!V5JQ4 рJOf155S iWzLV*H}gaH':Pr ]ZTqY*rl_g>A'Ju"5J y$&NK#" IPU>jEe.Ҩ7e T4c?yfg鈪_쒫h&j~ /r,N:Ɇ%NFiJ>u)\(^+["'j@iaJKܨ8~K2?˝YYҟJ]K~]:]՘.ӄ"1ߎJ\ښFH*"K3 MѾ^IC$Р0Tu.lj4-;ŠǤ7`t&+qid*4@+F&f}%`5ȋ~nH|pDU 8v*č_ J^?0ᬰ5/m2>B:Ft.<mcuįHGO~$6>dWgŀӏAЈ(x,dW gPQ9\+dhAfU2ðhհ8k", Du_/M!Uke{(Ű[|S0 ;Jצ"X@{VsSKX@~MrF~iŬ:*՞V?\Y<>T 1 ?%nFWmߌ)p>؅?q^9d"H)V/$7X(#I]Rڃ ZGŦ84kW&Rk fǬ-9#A7O5!FZJ C;7 bP?n2X>>e' d5I.z!9ПŸ;NnL{=YA9($.Z,Y/`&FE7dbiE UXf sm|C$K,NB?aQwms QMlG$M_Qpϣ?dϣ~cϣGQpϣޓ̥zqKczXAN(-([SKYyL3sNSt4Tff 9~~ >e_ѓϣ'GO>|=[`翳o\` KayۡD\Q3ko\;Lj_CXZ`!'^.IR1X|b.P|GtI<4\hAt'?*/ &Xdi"cs"5h1J:L{q`7*6&KdPL]ªDQJ,m֯Nړ- ?{ xx/+2*I@|SFj":0BdhGm7Vn_އ66I4d۬'Nc[C`7jtƒ85IbabОp;{b[bdU]B9t#XācH|qjxqe{f=R?rC_S sf;tyq~;:p v $5%I~;dZΆ:n°wSy5H,d. :)O&7R]otXm _"/ȉ|zsG\(Afᤛf[X8N7~Ka\}L8&w}pbSSbp,79nl\^opcKI'SiݒPSOA-Ȝ&9*Z/UBaC GY(:iLSSKuuP[!1:ޤ&L0cg ?)2?,A%"3B]jA6d=N.VNH oT.G?Cj} 1wD۩yzF7q7GyI9|GXͲ*Ju3hegvì`Ty +7./_%I3{=6(>'''??J<`*]2Pw3Lqr)evɼm$w[k}Z[]]YՀ́%INr o1.Ye6/=;*P53L!K@6 ;8qSmo("^? ' hXcx2=f~|(>ÖT` 2g6W;KI07y _'"mIYA(_I$9jZ-]g?h迮jU,s*B/:cvI,|VlܟVĻڽ4=2] 8vԁk?3THO ۤu%+g&^Db6{;열;{$ Թ^Y%T? !zp^ A ҳǟq7~6^ߙ 8vj]_ 6Q]HUs8yGL2/l?K_Xt02J"ˍztt| gGNrwX+lDA>94-# b4c}PrjH &81^Tt`Lߋgg p(yQԒ%=Q E*jT1vPUcgxg_Z,AܰY< UMKlxa@$!fnezfz4f{ݳTteIN*v'BND D&ߒ>ֳV "%cOs=O>2/RӸŰcY[f:0Qˤt^L=8hbLﭳuP8/ǡD+l HBRh}c;; 2 />GF;Z3}Hk2?]E+U \C+(8y$bg.,~'^WUqV)c1^m>p0d,^=H&9;~V0_"HC~4~fBvo:)dqsg?}V+`SouTlx2gRHZ4{ޖDW]MpX˦u=wQR?xGNqeٓH9w>?\Gm%4V.ێ0>Dcf?[A .wM֧j2x{.Hz9cov.97 -"3gHϒRKM pJ}~5Tn LAC"ܰ%¤U,Uo-qw~ĺE "0YHB[_a$ *I.Ka[@{c=ua;лSJn2t%_6^;l@yD1]Lü.gi4g$/(yd/8x}9= ̸ܔu1t7浔GxUΤI1) YrTR@HKnti1ٺ˔3q\e ҍ2hpB2!|_:'K:zz /P/g=?`pYkNG-ɪ,͎HOm8;x~xɖjiK.EAѳCl8{Vqܤ]iw-HrmJuFAT9E)\Έ*bف%gKdr  گ|[iT+SyY@Ew",k~tV이 ?$(Y5åvʯY+6".\X*tJ3J`$bnϘj7t O'hA\ s&zFp_܋a%k=*rf ?Nّ?3pk GƖ`9*j9j(5yLM(ggR3eێ y3[b/[A$hYrU ӫWK9_)Qѯ JG:0%FLKFu;>s"')E%FU_:|j@/j\A-ai^ b،{oZ+W٦VW%Nlhxj+`i>==;l_{8MBxL UQ I'b֐Sux;5 ֺghnҲhm1pgĢϔ,e~3t+=%nx} F]a (Qk-,_z+5]You!F߀<9KoFU@dɣb݁bI}>0]g[Z!-IxV%E"kz4Xku~@!M/1Q{JD.8)F!|+֒ ZXOνyNSO\z }%X1-ֽ=c O7ld?O2*K Bւ\-l?tvpw W^-&G9 ϋ/ɓ=|/ ^z/HN|Ͽ >xpafYZ<||Ͽwc?G>4Ǫh$>y#4[}V}!GzLa'X: Iso?· T;%kP*>:0 60A?V[>`Uy0+jcW70ǹ3 (+9G!> x}z]5? -˂áLihE8ppcB3|߁-UjeV6S?QppZ0dXD;akӁ} Ƀ8~ @ *?pIUc`ϯssZ88=Ӆ} 2ON(LC |yacYA,ֈp Xw':arF~ܰ!:yk2mB\ܼnA+WЙd]HD6 !,yLd"0ȥ# y%0'p?W>AB/_a<&n/|kw猦ކM@Vo' .z? \=!Y@`#yy߆ F'[ Kwga_Uh6(NTKu5L?Dd;AD/ځc(G1cG{0ob5qdH,yw} 5y%8hv7f8t"ưB󽗜Gաe5%k%tʪfjx(Qgf;ٝll2U'dž@ t~ QiH?(T`R&LOb1՟PnX~P:ޏhwV.;.QW zb@Rg:xO-1 {c5eӯ%ߣ's >6LD')D[n/GSNi>H߅F2"CMu11%+O:le3뮛\wtJHb4! @ >H,J˒}QL&Q0?";9.â~>&W 'h~~+~;}Yc@GѢsk+B>~Evu -BYL۳!@^UOE&i4ڴmޝa#1cܑiMZ{8Ҧ)%Z]mS T2>5r.):zAi E0(^#d~OU LCT w,(L񊫀(c943%SE1?a%Fa73nh qYɘvYj8MYWM,- [m]CRM%-uݞJ?A_'dOk8~a1,bf&QZ" H]lQ4rK\Z+!oEN_1 zD&PLV Wmf4OdH}x֗VN vetY9HGxޟ-@ c59r}5^`1PTq/C{W=TtQQIյ'+2lֿFcCO/Rt$^n"^Ȏ>QtGbt>iQ$4Dl}xF' ߡE)UXҙ6K~P^*ҏzn 4Op1)±7v3[$=!%\C&hqg9g'f-{ɃH(--S'՚ ?9Y߽Uwd9&(qЬM{f%B^a10A$CJۼ Zd?7ZvBl[S5LN6d 'T%&?#{aݭ=~ 6ν`S{$Q~l=珶uY‹ F(J`x3@[=vCIʚ8" #A>۾r[o#3 N:v-3_y@SV \z=:xk-:V{'nEoW݂@yQ^jG޽3`V<"~81(B),~? nx k<4Gƺ@ P3ݾx-zֻD.]AK[7b"_$P# :VNԒ G0u:R+kJh7=|ˬZ^Gyu׶eQX[7#]u |UI+g:Cyװb5S+Ѕi8u\]MY>gfG,kba#0+QpGk}TGG-=oS>bL9cnK0myTډ 68Q0\c{KЕINoq]@7VbHGCc8huPGmSEHGR#%LWWТve(?J_ݵg=˽gqi?G}7>_͊4-_,zkYôH֣_$-F3\ۼx;]Y+N4IIAOp3剬[m<E206&"-qmaK?}a!1p/վo~]ţ rT.1siUH,|׃vB <56N^ ƲW \i!fg[80bf;r vB{&*,:Wn s{Vh =Plknż|Kj[N&蔨F}{Xb$VuTx?"0&H~zOQ]&¦W<d*⑇ݿg=kl\-9Rץ}oeִÝf2M̷}x6n :Y׈ʘ*ӜɭH1Q]_PDƫI2[B Ϫ MU?a~`  Wf];M*slQz9&0(d(d\(=ZD 3scrBO 6`OT;51P'ds$53,+#Py0?0Lr+H ];sF0 ?&l|lIL, K0J6Fߕо_H 8c' 3zL&AlFڐ|ׄ{~b~hfr~9 ߶0\&/ݓ/ z{gz6<&ggק .\G^?vuڜB '߻P 5lUPJQ'>$`P];c}D%s 6'tM-(G^p' SW[$Chw;Ռ(+4ץUd.4Ɵ9U*F'`hnI83zR$(Mb.iBl$T3ߧ<6o%[yA{& x!:\|~:MFlTi)5 ?sph8,60-*`kĝ@Z!(,jq~`t^0l^Rpt]A__Moҿ/\^"ҧX)xj*9Em|Vl"İ\Ω6gZR)uƏF!s$PxЀ;uʥQ3˓|O9Tqt8:TBxưqVdUڈ2K8/s"&rpǀ)ƏI;#L){8_R"߶S rJb\R+]k$}~*uk/!Mx$gښpIa0Tu-_stm_ ! 5^ @_Q0t_&7P75^_GĻßH",w,jfR3@GB#]+!>*"rljeX$4.G'$ך tZ<4LWjWQG&M$}#6JHgA!_g ^.HOUdrv6y$A}y'`u Z XŽMu~3?Zbj1+V-(3)N(gv`rb=c%+qGܨ̿A&Tw5')guJ)k_-sZ|bb?~7Ji͙AXyfeY`FjwUla62 K>(a#;|9z.ց$^=ݕͬzRzNє`gLH41 oIZ ]C2% 呌h)#jWVRr.{%DRLջ7̊Y v%C+Sr';eUۇ.V=,x5njF5{WMV"l`wGrWC|(%zr\F,RUo;'QPUڱkqW[#ajsɁ wC7P*Z D{ Y"lX߄'zvB(QT7簖#u壿7lM FHv% v_(f|f> W&f\mLP`e-M;FX K@@j2I0I`}掽V(owV0JOUv%4$lXS#U}tΥo!a=ǫUʤWsvihgSj;]EYx#'^{> m**trjСoh6CVb i$aPfh]5+crg=5v(Fq!)9a2Ji)E'Xk' uI^Q.Lv4 T0QfP$1n[;N\:K{QdI𦜷řzz&.?g~2a=sK~E:6j#(,UQ;X#DWqϞ’PPQ{]" %x8;Dd=66xB(HM\ɥ4|x[/t?KفCՊo=N5'^[m VդUXY,\G@e9Zu(u$VK' 6%ӕQkZUKH]ҍ18E9͹ʂ%5VsTpigmg FGD ZMߧqIGL|4:LRQI}֜eЀuU B݌3'&{oM=Xmŕ^dq߂M"#'϶^He!oy8RpWKBCb-bC'߆0b, (m[]F7.|[q=J0l֠+i]nRаf5^X<ԋ{ܙ;cZu{ph܏TԐ[gW@3-V֬#?( /P\VVrEW!a81a~QЖu<C0{ZYa55nX:Bw|Î h"%Y޺}~-+ J J`6 |qcֈ?p;7=60cSrk:W<2ADv3<(Uo DT|}~e{IlRt=6>`6Rfm-,8?b 9"ȿc=ã\O4/=c-謵_<?u~`܌?Kg'k*$k[NۣtXDүӽ?ggeAK{ꥫ)ީ[~=م>/C*)lV2r+>{[54E[lI;=癎$B`*oLA^w:a#^(1Ea҅p,P x9HczviʪŅ5 *_%7EmJ39wU4 Ӗ֛B]oڏI] j7|??tvp7w@d(8y8sϿtNp^zS/|'lmtEo&QnKi$s?`CA2UTX}ZgiصXDlZB#w#7&[L 4xru8;V?gMusӆɌxv$4{ۢ[Z^.d6+A[~HRC _15\zbH.[P.L{I9K'{L(GA(z[: %4+CteujQ] ~7Y PTH4^dwrLRB+m=G=tQJ;os J`_G^$]6M>[?L._ɡj;ϵ1Ab`l}}K92*‡4?v'~Dt"pfP퐨v)=Qi`☲Ey'QOϖfyD$GY}Tf1_69stK3|rA;(>}-`|4KhqmA|@@h laY`V8@ ]A,Zʟ>]aCٌTYaEױV&0lP6#nMk.}V`W{=CQIG$so|!ajrC6,:WX\Q10h/zW!fRw}*c#փ+TCa/|hu߬)e>@La?m*,ɦ\pu28qMRqLtN-VbMR,*(>ԣ<0gF/~I :G_N1̓koZXΘêԼZӱ!c|p*GYO@ r&*lLLdT, bΔbƇ]dPꋻ%n"Ìrm/QM,,<߬xNvQgy8GrX#, EexPO_QeB@aYF\ƃtGin>K(1|cev |jh/j}mL LȉME"bTŗW<9+{=(H)qD*҉ݡt[۸CoK{AZNN𿱁p2?',@fyS EhqNFDUPT)̵Nr>(́i'| $<Łv)ܦY0z/01( #d}x˹!ȑ3̒4NI~HxP@P1: M2r8ԘWyK6'kPm[!.h3a G$?"jHp{38=kBCH>v05l:;5=ZΉE՘xV`T7;}`1. ? dd$VMxNtY2?"Y')liwܣ ʴxәrЯhZnZSw`u!-/}f 5Xy^*})g;#qZ{((mgoAV nSZJwdWq%'UWc}ˑN1+YTjHoJ~*!dP eL8Q UEt,d䮀MF\MՊ$l2 hˤqxF8""'+J~,'"$|,}))2 (6>#U*GV)2* ` {[0#{E<^pC-'o+QJ+ 6b8m7vVaxF.+"liW5R$J.Ha/{zi[ckYM1@gX97반gs1ʀg^{R(u$Υz [&4n')v%.A.GtN':itFr!cylat,)w$+ )yOj%YJ,r@4u^$Rq[mmT-*ƗzYV]%z) v4lmS?3/)Ǯ%wZkfSZMxBfK{'p1"wc{l |6jв2IBH?# zqִ#*t\}2EOXͮ\1]%ȉC0fҠƐtf9ltj:[ܠ{\*'TE]Jv7 юDun-:>hA1澳Y-x5O;o/ngar=0&I$WϿ);Zܙ9H4m&4I 64rWشBC-T0#7_j%!X;qS1S:ڪX4s+:zW](3-3e?֔-:fHڅXB۳2<> l}!}K+9_Y +lo>oa}H]^dw^"3Jmh骹r1`?VSNօ ˍhRy G:i~gI; $l4 d/N@%z"˺vj'l Jk74ڀ<,9 e"cłɴQ6rI"lWњO;Q@SӞsaMpaƛ2H>z-č^TemrqM!ZF'ESafvȎZ;u`biyb릸)H]]yyu F_@r3~tvk+i*yn=:p9+4"WEG 7P'G<~|]Q1nShiwhR걉"77^LXc5d*lc37t"è3d;"VVWLWQBkr(m|~|7Rxdjt+xj0=8 x t#Ao` 9>ƒ㣎" }=ǼNGnrz."[ A6f=GF6f;Zq 2J'; a+m(n#l>鍡o$2lCސ ƒam#`;E} 68XEx w)pG`8U3H׌:Bhu *sPcHx&TorC`{ٹ!̴nV, ؠʙVېQqY RjV.UKt \5wDa\!hĻzl5J7xh oxmIcUT [yfqaT'L?R$ف w,5gMn-0&nfXNsiZAnB5ך34W¨bΛǣ3񐫷ZT>:nW*BnYFtI㶦6AYtzlKQxaV86un=Y%qO챮l lP:My=7/em+@Qixƴ·Vpђ++]t&!,=%Xo!eaxDq "KyfG$n%BsůNʹ}(N%v/ihor+Mk͆T@_eݔ0ޮzf{ȸ>,)'A)}g5j}m݁w+Ikf%3;.Mޱ4xvoy׳ɪ;gpU羗WN)OS0u@/[l6Sy%I*ʮd#ڙbT-d"~ BǞ7٥)v*FV+:M.rIbҰ/ʛa%\xb9n޽y1^e[}]gl'͞l6uVmxjFy6)D嘔6נQ} RXFA G[2tZ 5RO)|pՐZ]XKIpO0RG."tu@DmZ5d"вOwRWH#lJ/-_:t8r0d= \^Lw(jοєW~UbK~ a>3#YzuSr.aw T5Mfd榒 ΆR-R]'H"p!m\wARJs f2 `r.7-> vfy֖i@R9k&&bD s./pX?vD/8[b06hU<тJ SǕ BgF &"M8+V|>Ices-Ed lUEٌ$ۇ'5 3 T@sh ZbI:9:VIDϪ ?ƒJ\bǚ%N̚M.[°)n 4XRWY9ttit,I)3]'[-/L:n,שl:). JJ6\k0 ̂]L|^I̹Һ =CJnV^jI0)= F},f ̽D 6mW+;/\6<˺j-{Xl $l6y| "yF-4Sy_+a|Q6K6߃uS\.47ĮJZ wc)I**遖TK#` NIu({Ve-\ʇ3Lט!{ʹov$"̃3;P{Ygz-iQۥ)U! /.X|ohrSrXJ8l@y`Z -YX;r' X%-x۳+$![n*_1Fg/,X@[7.f X$)=MKeI&E-mM:&r-/,mµM|d/sNO7New&=9.O`ݻA\?;EA= pms~d X/-D=S OnSfF^j/c}]=,Ixq_vc.V?@J()ob麑"+&N],ذ+?_#.]68E_B嘘DjB֐7zѧep!Dי57^t8D)dr= ,=F2 ;y*TH*,V@ELGNjf[9u rA\g'= ^K)~޲ (9_\V'}#(~щy'NgvJ6RLe(i@_8[^C4tPHTCWـf:X7?vFFsńD<103Ǎe#vΕI?Yeb UL# .R!5O- t*:țO>LO>s]LD [F*fXTщhRF*Fka^"NHtA$˾cX]tyܮ8zzNF/Y6/>_>|w~^o,+q0Jß.{{इIS7t1yЍ, 2sv"iYnh1YWp^/fr+l2N:RV6;Q'7#U*ʰ)l7j d@3U5Md~K%v4n%T"z{گ0[E(W00@32-WDo _(V'QnP]2DJ+yp'ԵbT%߈Y'nFRI\*}!3#Oo.^jjךdZ5VH 1Cd 1D'x6{ .X*Ć;#:DJjΦ==8'<0*Qvq9z/U=%O糀 7dEzڅ JӂBV-ip%*DUBM2c&!(>:XٖMqt8=0,h=fЗӹW}|1R{o=4}JwBUeoTxA[ C5Vy0Зי%.jS\}RBK@չGHDU"&6\uv,;;P-NuNM(>Hc,XST>:Orޘ-k+ht^叵8֧J1Sk`5y0Ջ#A9mQEewGst?Ũ4GVO; I+M|=˰t=lȄk%vSG@T сUR5jDcߋ3|'~N'G;&ysl3+6Вi Whقz ;zc+^>}fGL.ne#'OT& m 餗H )q 1:lO^{+#%I7 0kYˬǗ9/hJJ> /;>ĈVԧO1Pp p`Iv%TMn1Uqr}w y/I< ] ' Fؠʧt >ҥr@ţr4\6wsŹ ڰo~o#%W/I}+"$Yg=QP`t:\6*+))$^L 5ZC V/\o;hטL<H7Z1cIFPtfn҇5IG//z5VI e_ H,0!DzLL4K# =$0]iK ؕR<AN@BKdo>Kt BmVjs|)V7?.mRlKky{6:7Aޅk]Sh8+{xfzc8RݑpG}vG~%Osョ4 OM$)2!=n I0ԓO a4(/ pPi*űBHE6=8dpq/ 6i$o05`/ OghBf<~fb|-FI:s"̓uM%Lr5h#k#rIMAA0. Et Vq=!-/Av͓iSG`أ )rZL6Ԅ ~iX4-꫹AZþ0Mg鈸Jnai }l?M5G`Q\st3!6(E/"P HgpSށN_Y a6W,74%ONeVrS"|W+q+t3Ɲ}(S/Cؐ9\[:0[Auh ?!>pڃRVw}MOwGĢmI, >p>s2³;>#G y/ꀵ\py=Ed,pV)kqf>BlQ6w):a[{+ o{j| 2M!$2M"|V070 ט!qg54vo^oL|m5ISYj[}l1*`'lGr]κ}jGI3rNafPA?rbe}Ծ'wOOex@JPm %Hs$s 9NJ*7xAROyB0ydne9pE1/ߋ'bJ B`!-XBf)P@O(} MV ˑ)ewwz|vo\ ]K}&X\GU7n\O% %Stķ J$=`VNES0Ξy(wWlKv-g@퍲(%IB\zi{>}drʧNΔt7I Zt4P`F0 YCr%TDk){0 tXO FPrCK>WIG35lJwLEyfV{^qsypHLM1,Ҟ hױĩ'Yƾj=a"@gj{7hD}]m9 p#RY`IU,Ac"vDf6t/ x pUhhRnu B/ Ev{Yeۉ,~}ʋWTH,.o ;`Kw ;0"@x[(MňVB xnbLǞ>81vX|=yʘOſ |$uMO=/O= ܉h=m48_&Ao.Ek{~wWPŮ-w2fMI y]pg &gcZ8VqKPPyQY}ߌZVp]T5 eh R|n}vxm*!n&<U]},\h=Ht@o+B`+=JɠLMf7r6yh n6D`ӿ[nsnLJ8Jus"ytg5nFPյ$:Ո=#s@+ 5yF5&O|ՊwNͧxLK`G rΖKHQu_t|Z\;t&cVHH}X#e1j{Q*\3 l4 C|`ÏHnv*Ȇ=ݹvڛ:ro}F/j~) /]W}9-6x\g@^- 3ArPPY߀s6E/ +`Iq'.*څr?iy˙9Q7evVn\?ˈ{JjmG FYͳj<!̨9Ӄ!ZO@֙=oxЁ헥νD&'r&C?;C v`{ccƲ`7)Iscnk`B}ْm4Bcj8L % 9HV2"&&)ЧaS^1NłC uFx3A"_ 15|@O-g?)Cbߒ ccR63Atbm62X_3,I„q}` `R8}EM i j3ޠP<& \ވƵTʑ+!HWtUcFtAV.-ݵu ~A]l?C9(pCf]+IdSeEShD}Kg!/_7g':qc0%CnR C,{ȄMh>,Ot\Y E>?bNdgs9؏*DU`94Br6" 'iR/%O湫7s/?8^ܘX,-s! $^T*ôx0תc! K"0[h)RvP=PۃGDMX,kdoTFmѠqvz[KDU}/LcucFJu'bF1`7>ْXeNp3jTXv7;b|8==&D*B]\,<$q;=F".J Tvkn5T®?ԆLߺp,Νy<+slPS!k-YFOzPRu!ZDs[.l5EڒӉ j>R| r5&&9\Id*sȋQ^GA$^FSOԂ" $e^q{er-3E?3Pv8R. ࣧU):G C[sy<4k9~\ij;}C)7ęggv/m9go>Civb}81X)@7[A>|mQVk5 Sw07+sQ.`4|mfz6py!Z=ďvw j ji٨ ,kG8culކ'Ctg>_a`#G. :1#Cљ{ߠ?#Wn㓒 wf1|͉GlAܼ~+LL#q\+4W[7{'17{KJ 7Z URX 6Xrǽ>¿9(7:afE92:Oe땟T>U}.q,nM/LiDMpd %WSNVK~K؈菖: X CDVjd)(y\<^Ŋ SEg8¿d6ҭO0펒H)m?_T1t Y\֐uMLWLrhk`Gl6 m4g]\+= uVx)^?=r KLb9NR}-rx3uwc(μ8+n`0{ c5J *6,iʭdH\8l. y I .Rޭd`rqIJihW#V Du L2%RPi 0ZkQ7R=MXcжI xQz*nb+ ͌5298jX=@Y^ :|-BhX%x ȸ @oDy>Sc!lʹfiD}J1.1)5:"[ؤ\ k.Z}r_H*78u(M0:1 /O]gY6kb6jV3-R,''jkvU=>t%وs"fF)1Tål# Y$g}ĝ6=!e*{PA*+lbDlDM;¤\[D0a/ު;srt2ZYbK*eW*.$ӫW}ʼ@%jI)yotDIjMw<*"RcAOL-V+bW[ӕ×.mA()Od3e͝dӼxTzӰ=iO}B3A#o9~ FKRPcʜ O* σ9d.HI\`iJx!Ni2)$咿 $m! hV8a$~6{~"]B}u3uIU\d$VY<`˷ JS H˴'ݾu@&H^9|b,U~FQn׾mi{/3)E2PN>L< ٘,hq,~;dropb-aᴽ06<#of%FlnqQˍQM~># *AOh |tHm)38n ñU̼WLv9ڲdj*ԴӸ m`d Zt}0e;;g-njܙodU7*˛/XŪYx "UA%sg02;*+ݠF`3ȔDЄTnϙۧg(sxN̠9Ksq|)&2*n哦GXeO>qܹslo'Ǩj2&t]~pp}ݿnUyKNsAv:#zdE#y=,+3}:IN;;yΩI~O(ǃӤXE!g8A$ʑ7q>'>Rd$ڡkR6>r)F \ jV-VRA᜖ xl &VIT,J6wO!)VSBn."v|xkJUZ^rwIԫPR5u-1~PvO,cX.@W!B~OI 9$NA]U9 񋣸tHQg-H>dzA泫Ii xc߸qݻn%WC4lɁUн"?n}V +e|L1E}b _U=婢& i "}̂:gZi|bƛYzαiwMBEfȥ{f{ol=^4s (0yJut"Z\U'7jAKkV2(,3ŵK5ݪj~+H aj3/Vա΋Q)uш|ԧP1[J쮓 >g: -.8 1K%ܬ*?ZmefqGȤ L;ZG(a:8qӌkF gk/rdo @[\"2MK)L=tB%ݼ@RN ­Ik=,8yբ;ϕƩgv&h|lr19 }ڍj(lڇfSX_}*ǮA{=8qL z=rA?oo,ԯ٥G`_h*JA{@:R5oMnqc) ^1b3'y*l$0 ^Pdp]X:cZnzsWz"r~"m plZ*~ DO ]MMǤ`+|=!/FT>.L7u#nP#6PG*$}WνyXA}4z!`X&?uH r5Ung$Rr(Ltnj– 49F`CH/?#y3  ]888U>f 2~T/@G>J@~(2 {% zgci9Ύ$phe&!DX7iH>GdF-cw>-[rk/ɐrqoN_0ub+e%xE%0\{#9vh ) 9`ZJFtCZ%NwIzɇ(WXdl~{t[_kpC~ArbդΖrXW)U X ^e;; ;fq*/+l "$׳+Ra=o'~5aȞWKͭyeQp@)#A4(o{V> XaUw1+y|.Ч?<"8q(Y]NVO BB [Hnlf;>WvkS5.Kiī/K=K PF*=^+-tr]_g`+Qk5 du [&H+ )c a~щiϽ fb=?{:o]t7; Բ=ZmvyA/X<6q mVQSf3(CVG"I[' GMPy47 NVvpx.AC$,zzR V]]JIeF)a;^s;5WgW5ʧA M)0$DKfגc_ L!LO6[чm*$ F|B O(me.ThQӪC\OxZBM`G SmmtĪt,؎߮n!|[&}}R:{Q,(ZJ : cr'O:'z-8K_S=W,9Wc/C/~eT.mXE&lʮ >}b|Vّ|ftG8I"<4"%OOsDS,woDi B/'J'Bߜ)ΐexP󫚾014Z=9w ьKNulV/ˁ"(~E/WM0cKP1\MlF/Z:`SLdD%6jg&hbIOdvx׺- ҝR;/Crq4.*+2|bTA/6a *4HM)ԝ!znB.-Jc)QAhSXD6 ##TI>޸*FcDlG JwH+4 Q;tmÁrxVB)bf{S&q'nl=&%i{0eFmK޶ 02ZՈ󳟰 .y Ubvڔt۪tHDyJAqHD݄ߕ*݇Y}xAZ m2 ;#קyt4nvƊ;~F9f RuI8ؘXȈTWOi l3ir6,gr9˲\ѱ6se5H++zMl% ?9೘[1R `t~2h޲ Kg6tEC/#\M'^2AV\g˨صBMzU\ tΙS >gBf4 czK"_ȿvR[Ak۱æCm^ mDGyHT6*[Dԟ=bV܊B~pkvW}-9R2 v\49Bvt/5ѝV"0zU1uINֆPඤ#3Cgm 'RJcbHbw}b#/ ӵ|6 /۴ hzv`ܾhҔE7ёQoh%54 2/oI-w"[83޷D7˺^s4ˌNtΎn:6 A6w2q)s"Oe$.eq"1 #?3 PIȉM8Fe} o«)XEqs1s9cٔ| 8s9.j{$:+d!tgXl(޽R%8f#/X±$TKh<*'gE]-k.9'ܩȴzvճnӼ] bq$#\OEgz6ϝK'K_{wœ_{k/zN%} 7>_ک_;5t?^<_>9vp'7zQq/F?q^:|/ ^z ~?yr]Y]p?⹖HR^T?|.$pAύ_ՙگWLhr'kYj)7i&^ce-jL dz?C,6)r{v w0hOH;4qm6wGq_s7W*Jx\a=u@T-tRISY)kڞ ,46L,!,[H*/ݼG#Z9E&/ 9;eFw:MRo6J|FD=h5o`w .)Z4Y*y څ_[3 H@V pEZL;wX'D0 LmB.;Uq*Ƀ- fό{kx~ݧrJɨu]Ĵ"[?y;˦\HSDn֩$9NZ='E[[,\ˈAH++֡C[O}80Aʘ/ҹ?ך 75wG=9I ͑6":,l 0^ԇ?mPHD!af9)|nVu6;\F RZr$y)}6U< HP f =U)8o6?{^ dWe8Qéq,K񳑺1-pNJ\>I,GQt7 zx%#$Vw~U`t9@e h`+>Iؚm)-PV]B5p2BU ͊|`Ͳ4cY­[/:$t=U3V=d2a$L{3Ԡ*o_߷Dd/GpdYYHg?6Qɠif630>ks0W-vz`["Vb_S K$f B-'̧ms?y!ൌ2y/V0:wo:VfbZ/(d{גX}ѧم*fīL0t6\((h8,]眛|&|d`iAiSo)h-G@*u 4(q%iJ/S7BUndHaC:%D{h/6xW~"7y>U-!z;)u:!2AԚ6m7 Iէީ\A,nL}fNH_royyHU&hJMaZmU@+O-%~!2$kKva g@b6-g'U ɰ|!GB<~X=#1W>nx JlA,`b9S`0ץ9>o, a. Z1Qw9!|̊:Zr-f=FIXk<(FRxt6Gy6A~R'`| `l>|(#I؝{MBpQ+JRk5}B$:=…|cM4\d$"7`i5%覐#.^ 7/{:6u_)YXXlXRdi-.2~cZRzxsaIOqn1yf*8tq@ z|7e'0pgac-܊4;IFǨ'T@V_2y|],k"5xֶ#m jS GZl{l%u9ǟimᲰdPL9sv }W&m^6ӸT?I#LgX^| ؁ddh_`ir%b,G^& ?LA]_^F963,TjH|79% r/q|M7حĨP_iZ ˃ぁM9' ]AS -ꈑ\4e `P|3M%o`41yz %%ax7/DP>_ f,!g'nFj;y"d$nP#%TF\"388Ybo"!df5Zt^jJ -_InW{k/ij)p`.|=ldŞ^b,:m.\]xūnzY?SsߨzS* Vß c^ZWd.ܸ-t,/ai0Sl 6!LZDaۖaܑ!|9u_3NW!Ç nkVO z M]dz8s7 A#Z4H+@|ZA  3bq4-:,l[٩=^թRL `{!jśάE| 3]VLko`q͈v=ngD"ɔC2C/k{XOܝbV##( 7nL/ dB%btaamXmhi9j`HiYhY4 ML'…n}LT]}tS)Pɐ w~oC7YS;nvV%5r W. 6Am Uj=T=1y90OݼYzDrq\hR &~WM'ج<4_OXP.=g\QK|Λ*SG }E҅*2SZ1{8C1e`=+O'9F(B̬U}3R!NT<k'O )4[oKniqcb}tOX.|߽NjQsrPÖ{U9w+: [`BVO,ϦW^VS`>oVAw.pAqBԝ*`ӱb.aPYAJT)c+j6.= uXBzFBZWT'J j!tm$V; ^QP9BڎD =Cv4ڸOE >'*. yѶLh4*68e3E,<<'}דB|!1&ɩĩ ;! ;Ed/99b68u/|󻻢u p:Ϝޔ+dY^[JQSga|D\2FLӱh2hVtZ( 1̈9%L|C|tXCf6PCl0"S;[b"S1hԬ:|wl/yeYӺ.1hIǰŒ}n}TK^Z׮1A,YХHGEu-n][eSTbdP 'Պ9UW;wV TA\n羗}V$Kc׊^VCC?!V|niȶxxz[k%{?pqZ$dY'A i}+49_r?K H/W۾3Ї_<5:6>8@kI:* v\!sgkG_s4S7T`&bAp6((| =PLwԩqGBu*&5[:W2&CQy'A ~* NFfh?mՈZ4Wr@`/Q:`b Ũ,<]FzP+fZ;;\y侳]wU{I{ KRq+, KxoxL cF^=vDpA*b.ń5aWC*K1B9U?.gմF=X\wx3XmϜ L֋c "%L:/g⴩L7Q-U7?jҴMbw.}HKݚ:ppiPtu`h1^gmUկG μQqG'h@Zo][(8AᛷHWRL8+z_lͣ:J2Z~ %aD x&Z:9I!CO_F|Ic$AjOB0Ќ[+IN^i~X, O%xάE+J,$U~pf<?p( 1.$>n:xla 3k]"z 9:k `O %Ψtv#g. 9aK5/[&\mj|o8&;-bz {Ɨxk#lL&'5\0W`.wYv+`SD0lɵ~!cm$0Q9LlLP4`KbOp ͑^@:LAN̼E+/ä5Ezo`XjBsIsjKpN'o1cRF6&oeA_aK$iu%g=a?-d"IL9[HjEZ\I:tr:GTKۀS$J?*)0DM KJqRUz:2 >nTmcr=_ZG}G?9/'59n}m`Qqx#tl; } d͐ @?5a]9!ɒXRGhf"뜿?H ^5=a&C0u 1/_KMx',Wm6_ڋDEk$Pe>~h4J_98cSWB{;Rns<[洀̂4#mC>yt,a#6i:wHtq ]':ޭ9KѤ2cs,KX#k]>:s8A'{՞7t9~&f>N)dUD|#CTYlq4cuXLX.u&YwA )AqoPa0KS.wƙ1M/|oz 7e|$Ư66CqfGq54G߱vZ>.$ܼ jts JNр"<9clĿʰtF8(ͦ}y::`7,ȥmrU{qf9go>{~^_"Q1 Ź|6N^ `9`Aϖ qmmO#_ޙ 8ki:)ktQIgjc؉>bnxHvr؜YR>ʁzbW6n2ګCNk-̪-vJ>t6ݢl|Ѹ{JI`f*Df0X *d?sW6y>ґo\"Q'sXa\Uf!JcDxy#n=Xv\~z| mz_||c:}sj G٥[ݞi>Z>t _f%_h6஄(jw,VVԾX( -%_ˆ%84%O*e<~ĹQ-W1/Qs.Ey%aG7ۇ&%Nq(t'={ Q˄6.Q^7+MJ|q䇚푉x_~aף2e_a,bdUvoBJSl_՚#1t=3~ x#W6Ǒp|8ZQOc:_ vWf_&WµQhʪՋ~>ꋌiiLIm$F:#*Bsmn|H<> lV`rcP&y1tZ*fzn2A.ltj.fV~m=է49vXtJ&{`bG1J\2=hWqʙut=yM,2'5XQ }í\|_GfȋteN2Ս_,0uWs狜/sL*웱60KG) RGSn8- zJ~̓v :C;294=TϹ._UB%5WהKeS/t y/Gc V@ٽ7a(r, MKg&O@ @Jܼ#/y(S N({vUU[qFNT}YH7׶ڸaEYrWI(>Veg~ШW Z6|[%uobZK[Y 0}>UM\azwʹ_U~=j7Z͘*u=dMΤ]U[}\B=V>>ڻFfæVn@c)^ta^>unnw:Ti3 ۂER8+7JpH7h2ýHt9hd{%=l k5ǰ~$* 7(D/ceMY/e3Ay2_Gzhң8lpƗw?S*bR]RS|>쵝r>UtGLkRv)֔ğ/ۨ,+.e:HUte1W]T^W2cUW DT}BxRӿv!iժPt/ʂQG *|i@-[әW*Qrl^ UJ11Zנu9O}.Cdg1pSҙRJkǘs7ӭ\h`4 WhMBLX*RW!*[b*>-$?vRjvE$kD{/93ۢ^*fZ@K" l ++li9 xҙU.ֱt8*RXJ*W)'`2TBՎrA{ I/,ȏ=2ӣOxѢK٫R|(x KKYgGTj[tx 72*b Wb5WzIvJ:x{0?N\W,0O1 ztw85܄tʘ'fAdCcWT}=W w. CQT4xrm3{֖ "xX,O[+m~w/ pMJXIT4:HZԹi<=ȥB$O ) pV]% PFP LɃ3*GHzwk ZS,%Bk[+i3"!eOJCE W'H1C;r U"<E]x >qv#ͬn}\t}5a^ Yl SVe[oATfW躓,\X©)xAc`AE{Xe;Ù`oܸ5Iy;G}RoJڜckf.38Y65< Xg #;}S2e6U&dFm |I@V|)W’)SQ*v]K}D2XLMJ*h\q>6:&qkg hld9 6}G]$ڲ($?VCb߫{v]JWy!*-gqxX$Fк $Rpݝ,4=w9<޼ "B-N?O&{HkjBH{(po.[ŬxggU9"W㳯dxɅ%v Hp&+NvS24MhVܣwEymIkYAf5'mZ,d0=TlE6x1 8oҔwsIght+hy`wlgSz^ϣ-fM7Fyy-ZڳYO:%OVCu8rqО.Y00z!S"P `.@S`1i<q."G^6LZc dP.bbT!e6پ߃tȧhbi7a(~671 .Y`ND d'[KKı%,(`N7PEBD})UىqbTW@/Ժ0cu^zYGzwI4Ҋ6ܪ.U2$LV֐R[x˴M{/mWAǚWWeAQ!֖ء4H)&Cqr4iӵSt́ okdE֒yy: 7lrA3PPR1#{@ {Hi/Di4Ij:Nрlb_U/g;R6(8Q 7FO>X.G.N8oL_F`$l #wĄ]QHJ8f1xو&Q#-fzj `rcSS]Ƀ8NLyϮ]ќwT̍je:itvr#Yqf5D'^r ZZsL{R )'r p万]pxyYqA {E˃m!&7oz2Aq[S/6ӄsØ;}Bl1`V,E`5换>UAq0EvgX\ ~wc2-+vQU@NF®ugB/ :xNDkfQp`Dd7mUzNA%FB]Q]* ײQtG }*`9 :4H+OW<|3RruIDY'%z:F-H+JR<l%z1gΥxM/>lFW—b/) Xm|<{~S&ʀT^pRl?n㋅u^IgɫDW! W,ɒiP,"srއ,-6QD%ep,GvH%.cLTA5H~Jna55Tn *C/ܺ\z ##b+9ʺA=Az Ë:{)XN%uR MHX1e ;7[CG>*o*R Mc9vQ͖}T'4-lEpz2pe֏chIu:6k|B Qf"[eA$UJ:m%@!wZ'1C>hje+t~ղ8{+a!pP'8',|-0Lipܹslo'ǐpYKS~??88ؾ{_P7ל@ @~ϵ) T#X1*y(F\]2ǜNN;;yΩ p~r>"kB"Gȃ%>wპ|V]~tƞV-u/a$c,0 !- 58it Z|(٘SH)ڐ ;l̐ڹI"@gP<60:y hOP 7&K\Ss<Sd*GJ :(Q]~6pX*і(gN$Z |2K`ێb rW97@ kK;RE~.6P#iWѹ9zI\qȚ&r>_xfΕ*xj6\Ct=gNF/sVGN#-M6{:jh`$ %$o8@dÌayfLfgL5fׂ2Z0jq;tJlGG8̨H&F={tYʜkW]Kwiv1efjK9@:0+_ mɂdf`6L5C"[q[+WP[g ÷E?* Fe"퉗sV*"YOLDIAStFv*޶P})ʌv4fu碹?<φ9@G{!7&lpe 7uCiȜ.7 2lZpx(ggS|YNJF/mjs幺[\,*WiN[ɨhINL,n˭:ĪrNQ tf?MvZ`Q ǞxL1:EnCu %ZsF EQCm'x~'x])@ÙD8#M$g}vA ͍3e/vqxKqC9?pˏJeaaKxaׄC`1ɺ,kH/Lsyt/(bv_Lq2I }FN19xo!"/8'p~N1jYPG{Ybg93.z5 M0uѯHEe2\m7d˸ <]ul=<7:]c&XyGOYYN>ߧϾ:39(rȵcq+e4AL^cC= o6osTϡ ` o)|ˑQs84!<ۗ_P`zY;u>GrMFF/r b1j?繉|z2YR)$ENwA6?ߠ܏?gWZyeŹ+F{˼2|E$5$[~7ϥO& oIk=qZ)#1 KAA M减qlb\9X̐>˩^-6(L9wRF'ٵsbCxȰ7I08w/+LJiu~rL:EM GX]c"i-Vֲ5VsϴSj\$|3n}-v7.@n.5h;83rIeN%af.6LĀҟ^v[%#{)bFѕ@qN9ۑ0m+^FM^z%T2alV;?mLi8&;fu,*aOak+Xcrgo^\Clfa;LLdWb7:.qI~sWo$._~YÆr<`oiVL/bqW`E8z1I)sjAё) p<Q+t F%рy2?lLjժz> ;S `1bk,<8E[&Wo2hW3#ۧO= szUX5_1[m!U@%eKqN0za:" *BIHeA瀮4\5u{8S8OЊ&x͑,?'J(sD_[y,dgvErhgCSҖ ls3xKc)OIBv pa>2Y_S>~Ѱ x}xJq~>&zO6iyBehƈJW1U"p5c.ghR^nrx^覀Y~~J7˳وT| *!e'![k)MJgEHV3ǍaT)QATZ 1e)s'u84(6yj=`;Rfx}gK%y}K"x6Hǁy'V 3Lp:E{[(A'i&߼>{P(ho>m9e*B2Dz$M#A^x6|hKq,VV$@ne=2G$qeCK5`9"EH/-gd*.{U!ƖZ^)~mDsŤYCv8Ĭ *g[ùDX<1d+ȭZjQ<5{MQGҘj@CڑlqW()df&nH-u/겷m%Y}qme-Z\JK !!v^PÿxC855\+kYi.O|)ήe~o}A@%H… FpϲODc Bˆfo-q]t@~'*~en"LMR2xHTlfk #j;zF):8i$sKs2<; DKj>~>Nera1JކG>@'G il s][5RC3JC}4T&@L|EDԙ'tYZ7eBcï}"'Z?{rFkRm(Zxqb/ByohԿH c 6 GUhn{}X`/ao}mF>'5e+^@<DB,feU* /5Wk#rRUGy#Gv\@hE&\rt@Zx9@ Cڝ3 +(Ȼ?7kOPZ @\P۹ E{\~Isj::|v|MH j~_/^i}PLNu_9fʼm5zsj{Se&0fZmE?zeM|:YȎcR|FG.^5U;.r-˸ZSֽ -랯:1P>W߫]o+W%׉]y@˻ hHg۬Pe+@VW&pofht$qNNMk|LLވYUTD``Bov.9ymkeJ/OM/& =qiR8Q"_-;Ӂ~rAvy?K-PO}h W2T|c[s<,~}sc/ ?EהŒ%J_C+Kť2?0^Ng$+fݍ6 ʉnD{Y]kV6I 0{aXn2xcbf*kk}iFо\eUދJgaNx狦;kT̐~<+;\ܩ#o:!0k CIl d I @9GG׽UCȃly#u `MM/ֿ*0S -hnl_&FlfkjV.&* rljV5/r ϵ>ׂ˨-0r,AdZ=Y0wP Pi~WTwO大ފNzӠ#ԧ܂2`A8-fP6X3K&"ߴ;t}+ "C;UYԯDg*,sqd:]㱦o x?Xm/ۡU-Jzåk#RCgTE+{!w^M4(tY$1>=M7zi}qssޚ{e6Mي^1\SNI _zEPV13Y1Nfx؈cJFzy|μC, ULkOk" $TB:caC\ o*\^9kfj5d.ߜ)/s@^)Ԙe/|}q5Vԡ{UE.}[B^TŹP]_ /-ʕ1ٻ^wh;|<jpM=ڢ崶et}8}PkJ̘yuVnڨp2ۖ_Ք g^~ǼqЀ»E)u4:AR2jQeУHWR( $WyHpq u5 tbaA`>zϭݎbkuҠ=!fvZ,4`%׽D6*uD7\2y+xUHM$ěX"!Joib;Y;/9ҜRP2SmC΄'N45Mavonǻ"o{pGV [&y`37=(~7W.Xu_c69m# ;3f{e1侦)a c!75H+/#^JUIfC5K87$_`b "`6gC\Z x2Mح]|56#TP+a5U6r!c'ĔeLg3ΛovZ;19juR7LΚIR%xFz?+Ҥ\v@6'܉>Gi%*揼fZ ^,jط>N(vZ7&9@W)X)&$! ,GEVUvW2KYh4&a fdܹ% HQfqW?vyΒUH@<9/nl^ـtUc) "iUǽ$S썆P#VFݤ_^B})rH_TR<_ S -IuۯNR1o@@9Dwתtteime mݳz L)6_YcӦhsKQ[.%:rat8},eڏyQ@!쾄\¹&\WS\㢓"9} *isJ،4"m3Ld8+h/)rN Q,7ZoQ^b EcO"cGOV(?Aqc^(ֶ(g%?Yg4)E//NT`aޚ;/LԍhLŒ9Z܃ԥ\35gdлJ>D M Q:zq+7-lz^~ Ƥz-N' Sȫd_>|JLWP*#֥K%C[$pM)9@.F(Q ;CUkAl4.<";Aon|(2 ~n~XR( >>e 7\ߍhYcp'޾ ?IKlaFqIUp@N9L-c.옞3Z-ia‰^g_xt$̅fUP)ÂMQ}̕#sn8p%ag:Ѯj\ JF1&yK0Io*B11vdL`h8awBfWoo.7a%ELy/[%s*BC,~5#O^6/o̍lC$2:dD+wRԮ$zWۢ,mEB>_ԏE%[tAC-Hy.'\}NVba7J+Wɀ%GbaR~Se1[Iӝߨv øB'rEӢF z3CA.Rwʶ!5oVW~[]p-'sMG48{'ݕ!cSeOċj38:DSJ>y)W¹l-{n UpɆ:洪2cz,氋a阗A!* #X &1NreX둔Va%_xKm@x8(#(3.lgn1O? Ε|tto"5Eh61/z~"lg%`5j;ӗ60CSFZ@p,zaQUOeP"ug̘J7ݜ<-(l4-6Dv+$]4*i9Ҥ7οglo;碓nV=C+䄼?;Aq2Zt[Xln[zS_zu¥gILtm8)W9st«v$?c̳bP-0duBs,K,ujXS$bM~w1PUZٺ MqmY9Q0uӒ_N;Egʪ0=7)rɪOHsۿX2^a|TI5,gqW a)Yŝ<&ɮѶC|MRYA&lTְ5Ht"!ϘMS[sǬ ȗXdO6i"T-}L wŁT^7in]˃ >A(#lgM]Dwf1!/os< ɼGکL0b2&eNDDntT ~t\.n5pbm^c~dn6W;#=!eN0)LEB-BP0 )39O@Uޯ 47u G$!Ujq3?𿐷0:cōyJybޡ_Ua{u5]7D@z~y$Aj^}bN*Wwy]U$Ѝ4VyEUF%U6dRwUT1):,ciI)96Иly`A> ;5&BY+CCFh5Y0;-Je]JOXS1+lF>Y\*{;(`H_XZC 6?ZRnLKm(ʚ& cL"^{k3fblM<7b[&))&k_sߙa<J2%;0zyclhDԤq RO6Tis$A۷ΞEa~02w(UԉP͎<PV R"dG^Fǭk|+ӥzuF?n{^qWB=&6 }Mg۶s>L_ZVQ:_3W]O恕첏 Y F{ }`CŕMėTwSltCTNÂM6~dlo]JJf>TJ&g%*f#lI$]P7ksuR Š=xĔYuG DH7mQy=ku_сYm}%° s$c6 σ!+"cF(l2GM}d<˿OnLw#d*Ngl3fP6HaiНk)A֍=WD_w(VtV쬀WGw zB?G8!N7b}as>3N~吏x♧zN?ugy3<>}ԃDu C~c=9<cOz"%֝feUd *~6CnrM˂cm . ^⢫1|fڤ@rf FD;˱rZ8ae{[״AlpZ$'q(O-R]^H\Exf=Mr )a{v7 {5DF.开i~f0Eюp\=+o 0KAvX ;bcB4`,M\Qn攥[~vYSbgo:eeuiJt- .PEg%ow\_w@"{֏_3JZEHxCZeg^ dq**&}Ghp>!!5L3mS0sW|dm7Z=}2OЋnbE3?ǩG%bx1vOA\R0x-@[!0l]<m&J5ҟD̳f. '֋#ўі|/ 9\ .o~;nx% mq07hn2nk"[vWhCwDr,0k3W~mI&"k~$7զ70]ϖd%jٞ0VԋC1Bhv3NQenȈVʽXHQǧޜo߰d1Y1(leP/'M#0VW GM`a^9*OZ1PGN& nx2=Z7++qr $<mljK_Md<͌@U'@Ģ/n"|[5s" 8^QbpzP{@}ʽlG;?],-3\@N+`"O8.5y`E9;eCx + %>' {\։W7BiYHP_Xm"%2qefÑl 5u?AbQ8)gpv;z4?kHeAEE/ 5ޔpH"sKWT2;ߞusЬI;# ]Q8"dR&rp(cU o > ŔX>'YDNNog`x`̗tAm2 GXPf# ^irI~$ ;^,&S@SbQ6''5 t K@ 2߆h6(UFz>"J320'F}3hȌ_1)1> Zx Pp^ VɃHz_~҅+\{׮l>ޮ03pE96\^ kgF. H-zڒ氷1۾m5=mHk"7v (, ̯AyyکVy/oKoVq_tr)[ud::D:a, a~Qf[B҂(舏;IlOߌw67 ) +"i$ DQ֭|EnV.%P6K8o.Hubi|a o#w23'~Zʼn#1ȫ$N"LwB5@<L֦f\<,͡bD1on6+& ;_05̾;BHK?ivWlIM;ŎJ>н^:RxBRP㯂鹁`!B"cSwVz{mq&8-|؅ӿp% cu-ۿoT_ekp҉$l-cX]F wEXkZ YWBIh,w~"l]B?ȃM5[v!ķ_MA+׼Lx:nB/! Y"l⢳>B'8GR,6v-ū92 u֨t N#\v|R#< bDےwqT~h ej2:͛vtKg/9M1|c7 ÷'>nk_ @Ձ+\ y{g* l[8 1eX?\h^CT7Pn4%iŲ)ώ ׈J*JvlLQt7!j#GTM򎸶^~Q^L@,# >vL]Մ)=օ"-f0ǒQ8C)ʾu ]0^#"aϪa^{ LpRAφ=" a\ƫ-hMπņj&”Ogn1VeCCQa6ݐK;"ϢnM1#8lƫCaYu-HD/nSK=Z7VkIߍȤYA0ZCM6^-2)`wLJe #b MKTI93e=3}Ş˒ܺ5<{n\N'[}N/Ƌ3gXJj>S~1fIm^> . a7ó_>Xm?}&}+vtx<7;dc46a0ca<;~dVmc]o@LLZ]r53)G5p|͖cePyidj.|%qǘ9f EJϜ:QS%eZ3DY+?Ɯ+8gq#L6r]d2q`a8إlܙ ^bC藜8S*DV6uզYE+*7csh=+oly)(# WK~;]vOv줝nxnyL_fS'hvI ̓=О8=qӦW1AE@{z̦f {WӝQW?69 6"Ж^xFwaSLWRv*&)+<T3a58!_r7vG߫N_?ae"G74U6{w4ꁫxk)ݤ{e-c2mg"\_ɀZ xL!6څg+( R=* ݐe`y3@SN/zJr q4u+awPS#|/Z`4X1dߏAS&dX^ }'je,n占oQs'״jAx3]zl< 0KیrYB`f{  \ eXy aY뛺afc ZewJU*1?9voDi#Hz)<퐽/ڎ:Kvlԣ"ݦ\88j2tQC?I7oXٕ/MeFSa^#Vd}6Ⱉmʯ \n?6rNU̡|o%hA5*C~R-M+9<j/#Eb>N5(ZcHC쏑IVq8"tќ/e7iEk!U:'^СÞ#Bð#Ȗib|< |`KHSG]Ȱ BXgl*< b|wQ v"Qq/ۯFNMJ0yS73ZELQ$āC'7.k擝g6 ${*g7I)W= QY, abQCwcI+MlGzc~"Q=tk ^q_ AE/zQ蚔 z0Oǧ+f_CBYG{x ry`3Š6{j8w(Qlz <:j0UdEs41eFr2~ʒ#ցE}#x*݆ x mHq0PPn$ij!>{9_ySƒ7\!nrx*T;xgů*7E_mN[%Dz NHf 2pH~mv `Gbr$&2U+#C?VyL!"I\U%iI=IkHTY%;u[.B1]cVǻ_@}PG: z0fm7W 8 U,JX%xa~n*@My)oeND9u!$)us{5[C&#pn4E/ .@ O\h\ k?|_ (ݱ`oq|11c^`r,rd75|ؠΛ0-HE{lguD.&-!{8hE~٧"{8S .Bz  =s.uN>!d.[8JEMD)˃>0(a򀨕[Sw # ,p#$ZMpG1@׻q4 A :6? ͭ$okIܼ߁9ś+ Kn`_bIƆ 16z2H!eNo\Q}/,+aT_l8Z\- >{EˡNSHJ(Ajllx>ijSb=k߄g=wzmԏ0"p{i6v`FlJsJĩBD5YB?J@S\H$ƣai P"ץ .2z"X_uB]i._q&ncQpv4f"lL>uܙl %͛Y~`"^EZ1\H"_q$U\S80W%k,XT,i-JK4$9 CBB* ^8*/r0Pk6;Pb47Nb—yәZs! lG5`E|/uZuҿ~^ZXE!鈬>pvKKxkoa+tgFK3j8IO{rӰAAz#*+ C00K1jPRRh/qt9Y`k}F:z yi\Ŷv;ZL A~?<&LՍf@90 L8]]yZvFXZR`: M=|a])ڍ-4Fu3{ i/WH[N ݓ&ӧNYgRѧF[M2+4N9u9Zd4=UVTm L 4]C銀Bѩ԰2xm50X vaۊga,>aH(Ke>VF%Ǥpe&+`a.GGkVCAm]K 鶱[$WQ^$3jȭ/jGK}H:cy`et @ [:y SdYLXI&C_47p/Io<_Fۣ]B. o g]<*ynV lm\&{ښ-b%w!ZkK֜aA_2j] -56?ƬJ&gNP?sߡ`3\gA4n6ޒe" 4K%nS =ݰ5I_tyxf ca3鱙h=hx5Ulwh+88)N"׵wfdz/~{W,]vX4}wqht[y~D8EHl \Z˒!7u]9)+p0ϝduo >3K~8 xu2 P6 m' "{q̭2#2M3ڃ/GyŪr׹ϻXWvX{^ٺZc-_a^yUkrʫYoE|s| d2_b$xc7'e9{zy5;/dЪEEST"ҭ{TMt[ 5Yg6\ \9›eIч[5]zu#,qw/r-ʗYCC{ 뢀UP>:XfG*&f{xpΓq9E<@1~d@ث L뽲ҩ/9΄πe]ÇޘyQڣ #G9R NS@!6AVrJ_e;l2YУ6-*y ͎Pz)K kԒ+΀Ց@#g޵ `[zL`K;ۣ#g_k3J=pq-JsI%5:U :RO'JLŠ5r~k$e0+׃c(`*=p1} &?_M6w$e֮ zl7LJ1U>It(`|uNO$G&k]{Ë89=ay/Z}1Gh1 g^7Tjk*5k}.<6!ֵ==0SYA o\|\OwpJ0JQ1Ng!v(Be]Gq$Ӝ76g4#pG` Cp/%ޔFxx{۵a+U&t_ g6ov]e]qE{H/WЏ=d"u%6ƃmڄ]qlA` ڂx|Gkn^*܃0.ڄi69\f|6dž76=)'0IMmݽyښg[*Fq`܇q[\q?֨@ En<hf[J}Yz*p?GKMDa-<;mt5y_.K#\$[oǣ34$'g6# 8{)/O{.*,c{7QGl[b<ORT!$1dvuL~Ry+/9 ҩ\ {\(Ie#HOҝ!qRN}Y|z3=⛭|^AouoƣGZqkIy=ҳPb=*RK bJvs3{a+IB͍o ZsN Oju;sQAZyo=a_?WI$&A^1i؍b0]2`;ꆣٟy)|U&e=T:ڰp|rU; `*?8nL9wX0n1(iYT+Ԟ\X+s^Os/ow72y5(t}}Xυ֥Kbe'K%C^P;S^z/ /\}k5LzEεW//I  ˔#3x9Ƅ6|UnR^=&Uć=ڽZ, F ?-LM,=,3[7뷌މ+5u]pi.ܭ>ӟ~Ky#RwDu=Vb[5z8P \e8R,oe5ugAQ֚;頱 %D[[U R7Pλ\B\_,oSq \ҧ1j,pR3:<)/f%dFdUy)rn.*10|{E݌"@zհYpGsI/E6>FcOJE*FjNqB|yzxKIiȉ;O%'d =W%dta*΢ЁC 40XϜh.M:j#ƳvWv >x@S70r[TAQ&MJfSp [5o=9? ,,bvB2/⅏T$!б]Âxvwv6Jpkَ&”K!]&eusA9N!Z;y8} C! F+R\e6Th@l} No_߯"޹OeXMy4a -Tt9UP%G4x m9Pj@77/X&7`p6 ̩;*p˱r `axm'm>G15q/n#H{~ !o)~ Ѵ CK0Gm<}Wm]]"r D/ejļ/NٿV<ڲqSS4;zIƃ0%N%K_M`BnFh} ~-c;Ah3q ۟<'í|27&)7a^efcRc-p%mi|'8d ҥ]K/ge x/^{2eJhusAb7Se а-E_:W9 L t78Z]GUb|ˉgBo(͆l+5IIiWTPzoS_?YꄨS|bޫ)u>vhĿ ܚ3,XPCl8'smdYj1\g a]枴+ϯˑ(nH|qXs6_ynlXkqrUK@ɞneҍFCˮ雟rY^V[(bw|;K<݈2o%RBح-vhuXkW<^!! ]h+t ~[T\k4#A@4d^^4f& i' {wsz&{IW_*LRa1w 0m_s^CV`;I9E3TޛyW= ]h1Ody0 -rNCKn6'}1βo<6yɓY;)fܺzqg9᧳'sFVŸYXlٓ0{k|vy,v ZZlfg%?ဳ98|(N_g3abP` y7˜ u[Mf;kGi/:{ÐXT^  ]rIXib NGq^UD|=n1];!R 9ۛՔD'xw8n6ǎfJsq1+rzV. -nZkEs/!66loL)P!5{$Mic6&# 1Fw*]F[4b3kZ"MXGkQ=z\k_}yBHFʴRYe+)a)*Lsud qXU4.po$J@%*B}-m901u]"_ۢ"+w5|W x,KȮ""8/%K!l !cZл3]APD%HMq[[ӪBتȢ \YeP96-}Ϟ| |/` m٬P=&8!&%8c;/$)~JbFp(NclIֻLZ2ی7P.e"l,ƭRV& aMvff軝X<;Z\!HST}О.{*@Ce ,:{S`i32g  ©yx+g)gD]sdoBK,y cL-&M'/XqP@:`n2`0]O҈cfv>̮tÆ>4q\r.1=:Ő fzLT$V:af 8xeThqۊJ$ L,R=@$`.S=/'d²zJ4#?FcE!d1 ޖqO؇+Sbv"{ 7) \h[âW" qT3y=۟ɚB|ҫтbI=rùuX2]2W_g" 96MV! (~ȟ2+bZܸC8girQ a%^Gn8ѭW!' cu{ӖYJjIH,ج'8{o_m=gr8-nR$@z+E4a`n_>ofZ Xѳ- g͟b 6:'!ŞrtDK)nt/U'"YvF|J~ܑVؾۿdpqIvX7鑱-p"_FTEh8=dFdaW)Yڴl1u^|"lRY\mW kv"\Rۄ6U5 {^`+My,0}=6&ؐP=Yb9f8Bj16= SqޯPJr|b6ͅ47.>CzTV43B }ȍ؂a anٙ@H{J5@Rrn> /qxOM2A2<'SCL|Cq^R syNtSoDhIȪ*ߙ#&> a?OrE +jy B 1gAL>hVRacg,|*a5ΡNCFkk ˑmzkW^zV\7eLr;߁p&bМpvAx1M"||Ae.SLBfx×h7a7 Es0FVXl/=t.`o 4'U慜Ek ^5'i^ bsE#dgn;;X&+=jV(9Y7S+\c# "ދ##)8No/fnHs:D7EhħZkK<.k =l]jhC I6VԸOD-8L1.F>;?Gܠ51W\aX:q,bJ2iEt |l2v)J]ne=>؈^Ĺ ~'C 0_.-NPnmmE@"fƍ8V@?mǍE+g7osh{ѭɊٛc9T =Keϗ逫nnjοYvl~o<}3OBgEv_QJ;!p7dN,hS ޔ6sbu~!^t%@:rlCa u@nu̖!T!0{'{:on7 K4*s`UʎfY ȴ bBÕtNov7RPTD\ecm[MO"'ӂ*ʏz͎U(=~۰ /s GL"V"h3RipF,r R^ ˧!*O HjRl͞nR. k4  }YM })Fb(H# SjT7+qIq\`>VQ3 ;lIJ'TZ@d!9 Xwk ّ$I@~l&Xނ2LVM I|챔8@0Mh<#P\|.L;`Q˶3lݩ [b(_(ًn{dp̉.NZM~#hEybhv Cӎ{ph{ 2*_4)ʗV|)._>xb`c=.*;.2i)PI9̣98 ebVȆ7e+ҵm _>e:EߕpSՊ+PM^jr|;dϦc'Svl8Apꖝffz~gyxsȾ2A.kEbkܱeiag7e6y\)f6Nb, MZ-ZEw>'؁28N7: 2j%x{p\eK؁nX1G>nU:;-Lbݸ7H%F~CJN0yiXڨK"*y$c~q訐ܤerɞ˘ˆ&mdl%cl"0pɒ/.W9gSs`qa+6@@O#B˲죾ԗd-{ ୞ܞK}. 8̆Au@OEppAA)d]#u !+=z?4a0Hz-zu嬰 1: W54 ة̻ĝ% 6j/4&]ˠSc(` DA(/K,K͐CN$Ef%}TOe܀֋7w}!>tR.hK_4/X*g UQZdSX=I!?-wq }s9JQDŽsWLp|,jAgzwhsĮ٢iC:r ]S^7Adp,əs/tW8{I6FbS@#xgwgQU4ȭz(%< )m*,i2xHNhٕD@~1Hz6єȠ_zXֆRCmbU7(7l`WVVFv 9/-r!g/!XaP;1TDFh vC tPaf@AYݤPq؜DU ;ogǬ eF9[̼7tr k'vh,Uƀga=L\&Z#Sluy)+ZvŬnp%?t Cn $RfQFwk\|Eee]Zћ`Ll^R"_Mzk>[*Y?5fvhJP9= 6-,7ֈ5 x\JsǠw JplL[ue5 S.C;ݪDD>,G(Hn=|ˀ -' h%뽨LdL)oy*#o!JT=ޢ=TǪSyJgϹ1nJad.%] 5''!w$@ivzqRt/=3)] Eн|$íaGm JV{gmNO/PM?\u!<.OHJxIu;fX *F5Jsy%a{tH#1x0!'qb?-%P8#eeXK" Ƙ }Tq I J9 rl"rܮ`WÃs"pRvu\ XdSbCIV;G㏁,?Mm˃8gP]*f;2:i1;㳗d(@3QZwhArt`ӤItLKE3\ QB*L?9Sw.c!2=岮NS6EpX羘i,|"Na>u).&e-R]H敛 Kn0"-כE86߽qJBMg7jE1veL/l(l[ Rb|IFx\tLA~tNL.g2R$@9tud#Bx^:/1BH\6)Ἃ{H-:nfRDyj`~0c%ɭjNjQ祥x#֨ lcSksn[^y#.J%0߯pORN#2mI^ ElΑλoLP B>qpU):.z**E.(0oV1˭_Q6TR|P:%=ToyLDp$Q,9*x*G홉;M6]¾; $՝N7WIvGzz%8P|14>w[C1R 4}ogu_=zwPWoj=7dI&r`#?X0 `| uk.Ɇ؆K RXϨ叔("spH x%f%BFg33g^DRSOtc&LpMn6SkZ-o̮,SGHcHlsSXBe]zf6Zn:PRH֖!f ],`vs6[>-#`A-"72drpq* ,vĵ2LJst/"3aby=pÓٶ`9skNX = Fe3`?Hlj ^+f'HL^28|SMRPxW&Ngan7,(]as61MAD+W}ܠj=c եҌDB"nas#&V3IX PW12spFزgh6ɹ>r^WH#;C>+ْK, 1{hdBQKw$[/'żk׳ǃ|6|P}"'گEWj>ig^6hC۝uV x"LUFKJV9UdV:s"1י*֦c!ݠU-Qbd~r%РZ8( !o{AV5!h%?G-aZq`:f+st4Om>lD-QhОtEČ̑=g Qu^m[syA[ }q_b!O+;6"3<|\adӥzs174eGU8Q|j[Zy޳ 7i)g< ~Z΢_> Y]Ìvs)^9P?^OFLv>]"d7:RʠհX1JK~ $*rEϹ,͎u#` ewhUStWyh&HSc4@=(=KT~3Fpr8ۤ:VoU].bq*oqFem2~$ Vwm^#b4A\+%Uρ'O=i͇n]&op͇~qK *U0s ,cE[蕯@B^e xb\ͤa>v^Q6-Pϡ#]VT NByò*13Y %3$1P)E,O60i! Y= 2ѳs>SWX9RĹJ7% ۑ_+PSnaEZ2ӰU=qINְ^1;s_(vsYPR` yiX2jCG4<5?@CnCcCC7/ mTkO ;\E!ICܱ!joKP:fϋŒQ)"9yu $f8ڲ1,atr)y44uyO* ?53e ̱@] (.#x zT"(uEGKP 4eH/>mؿSI1bN; ۅ᫒7FHä.=sVOwU*̉YQz,yUu78FLVNR$L-gX?j1cD%{/ahS_W:[2Xe9԰@ޑ Oi'Gp]/Qzuw5nXqT ! /USbW?4RD:]fg$:+t\ py] >R_|fmhV_ijOE@~jJL^~"I0co||L&z0rZށJRx˞J4(4I#v+E>a6Njzbo%O)(4M7Tj~+86K;إV~bK֡g?zeְz*=A04wnꥍWoX7{EXI~,]Ay[{UVKi[*HRa1Zc.(G,ʲb#gDHENi 7}Mӣ Ր Fhze.+9ju]1BV繙ؖ(d 'u7:QëT{ +՛:&7 ( ns 7Jjx]k\Y̆bهth47o-WDv\em9M9)J2uC-iwp>ci2F$sV3)sδ`j'nu.i҃pMW(LW,5K4ܲLU5N ġ Γx0LzR񒠃0>H|dkpH"i+dƧmDWVvKJ# pycM@Պ)C+H ̙ -lE>W'cs&hοc·K3kzC*W r)ԔPt~ k\X\ egc}Ub)6t窺mj*JMC~S/mW)3j_N9t+TumԲ0b;f*/լԘN1YGUM5m5!%wݩٯ֨6DNumKɫ-UrvQ؛K}Ǫo t4$ ]Q/skj\^Ә;a3*AD t;&XޮfRNT0=L9EI"K`ԦF 2 m+L-1yԠ2 Ip*DNPumMQy7flnP?*@;e5!Q~oeKi#\,V jӘ93{q%V]?w:~Vp ܦ,]){*Ī;"SiQnfZ% .s>v%TPb)T}%,#j$6l[ lŐ󪟳 @ZNpIccTiE\N>aJE:X0CLVFE/.0 ̆RDaMr}TDO85U5^9c=U1{bn Sʮq/6 p^z.hspؖ?ݹƟy86o 8|q]".̄yKPH֙vn`lJY>1<72<{qStۅo S=N:4 /zbA5A`]^w&A*& pc&(>ᱳ's:.@>H(7A3,W&q@+"͞1olz+/=Kҿs OU!sBhR%*cYQ$uҡm*G"ažڋB;9&Ԯ /8oeل/_1EUy+l98?.vU^0NRr?QǢ*1hNsQuvI}a1{pmV00q "W:MxFO-:qQI{KbX7=k獹v9Pf/Jd:g0qf"[+0p2U3n.jbba󓛰֦P y,* W(zVXtʯsf'zU_/{%f4^|mj'/n_1[ƒSJ}ekq]oXnRPŌ^nѠXɮ,D–y0˴Ana Jfq ebƔ CZZ|Bds W+r^6J\kL$fM\@#N4オHU/8z9?8~ImQ r5_LQ*(t@ۙbNJ.Λoȕ 3yuy"K1VȌ|eÛyTD.ߗKΎcΝ.h Q/;0IaE L pKo*r@%'j%qKTy3(_Q  ULs\I5|sUv6m>L!'o.NΈ!@OLۨBΚE:ɶ6yRJ!Sp7ϸM*=da㌯ ZYݼZ̀-Յ3?6pJH%'5ɬݳPคPXAfEn MS9# ,FRFz9LvA:Ol`I3z*%*2)NS 1XvʯI">Ltkrs`Dqi3jSbhڡQ)NO7tҫ?O?tSySO<3oݹuw>;}'w޽;fw{;_޹Amv;ᝏ| 5J;?Aw>.}; @}?߾0߹x)3dY?EsNdw?w0ٝwq*w>pڰO`^߾Xw@i @~ABn-}v5,^2nWg99 r f͝vnRGwڣEӧwރkblE״UoEG1{ICbf> Tw im ,]K <8ʊM6;BJVgշ ]_;Ae@1L? )he ^ ݿ~Ͳ9cO5Q,=I nB߅R {DŽG0]c:&n/G34z>`n7v}k3`R@K=,Lq#`C6F 80̷_ ;0PM$Z@dqw1fi#>zKxT;gF8wq>6x~S7^mZHxH0i[tFTCU ~7@M]UxWݠD3ؙ!ў0I}Z}.~gk{L >C7=CH҇-\'~ WxvtX ^O#"-<ߧvClvm87HQnܒ3[)xiI ->F;ZM 4+OH+}ҋ@*%PgYBג 6^pPϗ(i/"͈4#w)t m\sK~C|cp@SU6I~?!oQ鞓ý IU8 EG2@ý8^6?;e|}B~/P3tA|^lhCu>P&KΨrUKQ}KWNfr&K'y[?f ]?eTfҚʙWi!,"&(+fe|uz`ux1%-J OoAK-pIw0"wEAbxGW*? ;B¶Zvhp vAh!\MY y+Ztunt#l["lq ^Qb%zG=M "ec6t\=ګ5VAdw\hoԞ'@(<a&b-f>@A+5eD?(J8Xpr1X;8|<遄(ŕ$ uhwGL3밑?rwuI I!;Y(FȎ,{g55C\:|Frs pvbG/%a=ishoC^;-[w3jl4w/1JQ,ߐ wJ0y$Z/!ebza\@>rXx$vT%ߐRr[&u"Gne.g^4P;L %%ƚG;|O͏1Vز*v,.$57A:$'h N13M>Tn|tuyRyoAv2fGW|r߅r Ff0SYZ1,/FC$aφj!ќ[~k?KHxP`H_]]ID1#@>ymfٵ0۫=}fo|Y<ɄW: ~~c5MqwʫT.X)1qr$Jj#i|  =U`{W9+nY߱\e1G  f?0O͜ EK}8I#L[X;EWkM}O!τo9-13!^a:+N3 Q Iwi Ɇ'iaν#>iרi{E-t$c| g)OMG[#l7PJdʈŕNXQ -y B/ҟ@ \zưē{nD ?YI uL{z{T>ݏX@@J]b=E )cX@~D/]~kӮjrX+n`#{IhNKHXѱbR9&դqNh(Q T3s69`G]5A<+{;y~贙߉3wh޸/ Վ03ycqc KfЏ(khyToS?CABko_U~wY.G?}k&^4~bS+t>!o0`@c(Pvwӑx l:/922-ɱ&k4%@1+If5::F+ P̢M63x3ˮNL)ke"׋,w)H}@݋ s12FX˚k.9X_۾fּhwkrH11Cq:(в=^8([#?$SKx88BtsNlɷEt* lM]cQC]W^TXE!+Pz'VaX}oeRM^ʝEO(䷬EIAzO:g<`t,b< (ow9#]>^^lM3KB> V|D>7Ҕ|gU>-4Af,t?~e&x$KoER#eeIlL@<5lr/~O<(7 6ٵ+F5,Gy 1:o^t͹ijϱ=/A>\? eb2eɉqaLQz_9sڥ{iìE8jmVuiwӣ05}v#ډ wp%P^ i ]1}FGc97:s{|(S{\AdIIN+#%C>jGZ6G"$ H~qu!JfY$X_l}!'%Ρ=YB^o%K K!W''e樈+T2}ŇO5/^B>KqؒV+~+_t63KYb0\ƒѩS:{gM׸J]2j#/恓K75Qj f(ԑY`!Q^*ja)ӑY>o\2ʭ&O,2zM8K4Z=A(2Q@tIגɥg mڬ̨TZ*=k K\7khfGdZԃUwo^BWG"M˗9Kj;*mݵRs7=~"t9a| 6#^mT}s߭ufmc>Q5wL.;{x[_7%rtty&* Q +SMcNgk oW}SWxch8rQf| &CeJн$(;G!MK\2@S.n[#Aݕǃ΄ Ρ7^R1mHټ!r8g#3n9ojAzit1}ޡsxqcY2u?7*9*5;pP0DOfNQb{Oꯞ|lԸerص+3ۡ ksxun7o)^GBEG}ni n{']a=wO4qJ29cd`(09mkmR؄:9Q+JJ'#U?Q]-s&Fϐ|%bk.=~|z y?_.ɖe8-ɺ8ǰ]lD5ؙsߑard)#fT IIQp %+5'ݓڎٴl̸7I7^]EÔ0D"𤃁q^kItoʕ n]vE-7̵?z✝qSפ0W9G^jDVQOpT-x+mI;n7O Jh} )j3,,w?`v^2:e8E{ 7ǔBcA%6>tsb&(oO$AMh"lSG\+g\7Y0xU7&ɝΘ-BWxG[ }`shC>pt<7f EYd_ P.%~RVSPq ~-ZC-r--"ɄGn2^=CRRc~9N 8\'Zw]8)&1JH-$+SO9(ۗM5[/}6iˏėDSU(9ӂ9OevbR/$VU<Wuw=ZmVFi5UM]*hk߸/h) Ϩ܆߱SRͭ4{ Or,hIoZ N*<B:jyKeÖPD璘r+ZX L'XhJ> 3/(z@WZ¨*{>}ۚ8Z"ʀǐ1g?JӬ#=x6)2d5e+dMg%GFӸ҇VfuUeMO0T˿n,d1Cm༸]l_[.l(\RK(}kh X;3SXiQd&Cԛf\butdIt>@XvTr? mY~Ci_/$>4}X8DהyV geLoE^NVٱH:GO}ĭt-_-.%CGی0)<4HPǿ W u #ܒ \y33ię#A}Ll%BN-0YOlR4$@k?3I_D%3]1b,8NV|^ EȈ?1%h-cTy߭E்H—)Xu*esL-h]g&}#̗ HߵU+~Erzߦ3R d]RtKԻ,!3./Q.?N=m,IBE9;lN&$I.׋Bx%x_ƍXq9]HIagn%#9kF ;WLC*k[z1%"V$$$$LqQqӛOzOc{>$[%TZM[q#zGPD{0rO eW݀jD#6HAϺ$5HwvS  F!w]K Sz}B]*ڔEn$QKrFD?Pڄ);ڢ;"̨ ^.л`C-jVw f+s1?ԇ ]9/z&8u/N,[狠k6A|HOVnQ\r/(o@"x' .¿;K>-m 6.+w n=3WE 9tK?֜PCIj@qCzz. =uɄ3C[XQ]Yjr=|i1g:c#8cҺؠ_ӱ%_.rƕE!!K$EgΞô:w}q!ez9a<改Oldys*X9f|% vjQY\S,,t6,FEs!()ώ=ό)3eq4UQ:j]^u@iO`A*:\%/>XTb,׹B[e:Ѝ} Y4 p?Tq7^7XYcO r" T_4a>o4N*epjQ{=p3Û2+<*4&pO(VΆ=jYa'uVmmnT^P NSf?7=˕>b?,Q湟^y]Mr6<˛aT摤Os `ʈ dN4C|,Q3E=?2|:XMСby!GDUz~Ÿ\¨ =,ߚ>0vX‚qٰuaE_F8g9q[¿s4Ń~lg1tӁВ}\l.okM0V"ڸAZAKl{_/6czC!vQ<(έzj_XaKLǣ}+经Mڳ Ïz 7S0nOJ?pG[OI9&*ޚ`%w|>E&߉!~UQ],QgԒ}nK#~ˏc hc16йXSHBѫ*:wǃAYkoh>Hcr~F0;("sqv>; W iUj[%j< CСC=TTX+~WsΝi)BUEUde %ES/Vm W :'mBC3i |QyUHu t WA̵c5mtbq{d1\s=!n4Sovc.y%P0`=7iW gO"ZAKV79<=TZ;1o5sy x.ؒ+X;;F d ϿbA"8؁7j⽙ZAK>⛰dɌE$z9{MIIB̿ēoy;fD]2] Q]i5`/'1v/m+ʟSA,1N}dOTPsӺGT( +8o]dX2Vwe<^޿Iw> _/4q|nϿQ|EB f${a\V(dK5_Tc'wzuQeUѶmp {ђ>q=Bh顃04>ܶ_&=1$_S_h!7A%[,Vc ڮ)niy}=hѠj.k׮X a=)|qH= cj1 5/NNSE!"9dnpyj}nS4%LrR^EjObC (/ ؟X)c=k뀩۞-:GDĞF@z;țbAhK#&T;xq dƵVtR@;ylOIEKVl^3'yM:{~1ݴscsd^w^݉/#3=}SbCc8[dz( 19"n/(Y~O#}GJ>ab2b|HtK"эⶐ$iƖpa"IwI#eJGb߱tu+ۑݵ#/a!] (x@j C4Ϟ=)m2t` ŔwR3\Rdsx3 ?ҳ2#<%G2y~4EoA%hzh#T4l09Xf=t t=E N)ۈRY}c/k,X7VAv4EB[QKsq/ڒkT%|1)ѩlu9=iJcҶ|K%ն^V썆f{wT_h3*H4y*?)~?p,S"MuiM{(\VzO> Z?)o) +`)x9CܹL܏>3$C}ōn WL2CISLVCMa)Pa? :lGtۤpBAB^9\téLjuY #fo?cAAwaVQZl衜`O켤=mfmk r$,pAϦ - Y}-!t7.* *>6庥 =Tfo~Z=6Ў^IhW2RkX#ʳ4#I'}FAVJi+ P -.w$\_ξn-.ASYO~&nɴvy-S!6, H{6^,,7hnT W$\޽dmt2[f*W7*YRz[x 'd@JSwY{ $;66 7wcI kh]畢Lw+uͅcw\yևcdܛxWG=^{3z ~@)2m+nmu)f2zվ1k "G~I KZh ;Rr =?p}O+~ NϯlkABܻ5X>z b"~uo)~OұKCTɲ86;gϱj7ݜOoϑ[`cfeٓ9ߑ4Dt7ME{﹆I#Gl%:n-i2eY`gٹ7^rKϞ= ( i.QuD%^}fv V8 eh19- qᙩ͘]/s4tl5OdO`:SuJ|,%#py>pL||ĺH c-fFሸ8HdѪn{,%8YD/?:Mַ9?|Yx6 goG9&#Genjj,>Z_Y=+q=?(zVZC~B'(w7 {u(I-I( ƘX>rD#Ƒ>P3Hi_;nj*#?V|| @zȴW̽n3[$SuMuqOJuiy|0j[sQk5OBW51vjXZ~vfuz8崦wѠ$*~*} jIIcM!XF$GV0.cf24i7#ΤVZyBہ$ lC>s?8}ѝ,?E6Aq O'?uSyN?ugy3<>}S٩9,yEC FÀlXKh-lƀKkpv]cLqy,/;󱘶Ŵ)) ۶ l"-J_aU7dUcU=YLJ1WGyQ =D qyizp8l@q]Q _!Uhqi0ѧxSP6e]&4-' `1e [VPQ^L38 h8 w#-<`1 Z3e|XCdKEUGB f ufq9/h$Tͤ(e=Xs\3 i"t&,qKLό;#f{uGR7l~ˊaaƤbV-ldsqy0nM㼙"˧E](6v#PژN/-zzV32n2]|mo,A/O(^ 3`Ж⢂I/m~BU hp ^ORi`tB|gc/uZuc icf" R+9K FPYM%yɊ,*4ha@9hEa eR0kvh'1d.[H؏4=B:N$2XP1P.02ıDkɩ"pv乫6I~\Lo_6WMa&s[+mRZm̪Y- ]L;<*׾԰ɽ>>|ã4_NbpaQm K7Q^AcO+foG/Gsűt)5V̗ uK+S*s3R)Ɇh鹟{h.[Mt.#Q gTD#( ~m9x[nD;r `NNVlgXʙkz=ů s#@[k;P޳?#x5le 2Ԝ!9 t?*45ɣpz6Dlͦ\OÕXJf-G?c3gI͆a.r ysh;~Vb[ c5>a>'ܦV[YriJ.)#>ud}_Fυ|2sc[jMs9d,l~g\O`\ƒ{O:kq!-_41^*ywt˨^=N.ݤ8Giҫ)PGgI>Gy!ZLG^gE>Gs(k5י5߈##0oQuhOr "0V}ԃUwod)+ȊYj\[KќS6q-pzD%-oK- 2}r}6-Uj}dK~!Ip( %œkΎLqb č5 `F.Y@'s/ c1i1~ PO909 Wtd:NЂ \d[;O<=bⴐm*aCb$wiAzJ59K& ͡38:oR eer ?MK>}}KId= s0!fD<(3/2b}a-uLbZUU Oj˯kCo2YM+Z<`oX;.C< ziH6+pe;32XK1=SF^ ~Ƕ1$S5 o6'mىc:qeEl _Y/nܸ?Ȏ704U'ǥnܼyϩk5x'zTeb6D&d7p"f6,Ͳ|f~SNyۆwd)\<o/A?#)nQM٫46BnWsNрyԵ C@>T(TctB vn63o&y Ń`6e \cGХ=;͙%f-*+@GA Gs˾,Cxp9-vbDNDls:Z| !__`(gO֚NP!R(ԋ 0,8?wxݰD3>{=n?գp[2 .]NJdZXXM\  Œi'73+;',Z}7^cg/~_yAT#%ȱNW1R8-*HGb?+08!#uGwE$1KIΘOKVPl;]/~J^׊&@xwLrjT`0͕+Ggȶ?RZKZQka`p*y>7S~JllMCj٬s-uhTU1Hڥ2hrPLOQ//LI1>qG*&ꊽ*sxq?,ۜ/F3u;V?nۊc5%*ҧYqdp%Ҩ)2Is"ށ>@ CM.aQi's?Dj3h 򄏹,ї]F, !txKqufb+:ܑ)foA;\}jcr6,$56E N37wOJMPk6v< ԃ>O[:[̆l>&SerLtl!߳-Z0N=/Lo`K)o>U^v,C_GXdZZ|s. ᨤXrƣ7>{5Ůk̻snŜ#7LBNh-7cmJMzwې8FxgT ^Вlk-&ysq5s`pdW9սד<\Wd܈XsE+Vɟiލ\|gYgE8bV3Lp fުiLbV3twfu0%'3v$wvi4,HdH5H2R_dH#b҃yphk:G<;~.~Sf|dɯHϋ&2,;ߍ-@σFAˣ~N>l|䳟?RA) a\Wқ1Z|27䳼:ȲOrL"2><"GUP{RVo>je"K  =_\$ӂ/pūlcjB%͡qy+@3g8ę?~Y]?A&+SO6jxK3} Lx<ױf$C̨hF9+B؜"u5]/Si\9p`˺0,7i܊lyUQ q)G^(;=Ճy8 e [ox_ Zd[]fz m,nw~,hx൶27BJ&\oCBW~sQP]Pkr6=LfczeQ\9k3cW*hSͽtk >[rnn|dQ.cr@un,q_r(*zp0„mMWS^(o0 : d4̤+X^qs+/kjs9\.{8tͨ\0n\Gfn@فaF@v(q4IӔ:عMҽ  z$sA(7 Nsp:~7Kd:1fu6mb4iY^ VrH'hDiifrmIAp.^u$_Ö ٤UWn<+,.rKbQhc_Z8jxʐ 9  Sq{dWߪ_HX=oA6fOGtnϽGQl|4bO8$VhSX2S;.&b6lOEqPQgvCs!_RghI0[-j9`i"$u%jp¹Z03rXs}p-BIT g̺+*Ü 5c{}׶ 7jI58yG *<4x:&0S?nijm?5r98ǿC Bo7>̑ !jDﲙ|6,?n;lOH;W|L[NJ-0}2+m-5ac>-GxU&ܕBy( |QP-|B` b6+{ x 0{|rr#穧K&̰i5{_MF˿](܉v ?5zT| 4M6“qI&An6xZ\ ![VZ/VP+&G"6wNs14oa*LA:cnThCgـ ڰE 6E%40sD#,a ㈿`J( > ].0y& hQYrۿ*Ƥ[t5S6l:e&{UZm9]הEWX:]]یZx7"s7I {π'r֤|=cW609!f*:<_'  V~='4a@niנx^,s}y3eV*'5iQGC*PVڪ\ 9-N˧f{PJsxxT [~$~z'# 2cntyZY>W#n~EG:Z,JoHp$yGh D E&0Y@bT2Ӛg娰 ]Q"^FB7ɪfxaƈ5 p`OI+рK7ԻҜ./9ppqYyE!^Q>Ïq$bˎp7јZtI ! mM jFkć]9DvO;"QGu DքEq Kٱ0ȝ|r. 4H+ Û"I N0NukP < 2xԩ>9hKK2,u*y\ >~6{~uR bh1 #H_bj,3 d#j=N{Ȏ,9nTRj)4_<8jSktViEHph),O 46_nL}FJ`hܘ1Pn0M^]s̆f3B(O -[@@,NF\jF|po6 B*Re TcPsq6IL"iФ948 z&VNܦ[:)vY4y_~҅+\{׮l}-[ f{?\ YnN* zjHr\>lPO%Z%;ƽ;޾-PӭHXw[0d0\Zh7!Q=69m!/9!m97ZՐh?MГfщ^wY_pMfuI# NLx\tGb F!Wf(*Qjb9jY%T>Od흃]UHO@ײYS%j]8!?@YznL$X &-%pe" \?hU/^ s\jHiʋg9k5b~74'dx=RX/0 $j/cm_BQDq0C;X=3rGZ*5RL/eFw Gi89N7ɭEt'JOvl cnF>c{"a>]7sAKS+XE=+bQ8lB@p;G$.,ʈLH6_%t!.xrM^GR[[7On2dtDVK ,]jl% 0 ܜI25SGG#$!܋2mQSy K^{JFmXvaxddĜpeCd`eؿzYg=#Yݺcx8If OGL?]]-PGrwU%Fk_AJ7}Sy4`DS_d(ot+I᷍ި,}'$g!3IhKp;nE=m#źk3H ]p#b [ )oύ1x4-??ia8OA޹3F3eK| S"h vm]UiZ66lpJdqQiq8'?.~}Z>zq;\Oe8@8dz : Iϕz6lc!9t匤-eKy zXiV)&PSGm'zLdY"%zj[ '7+ KCOhXSa1(k 1I;KP ?P:!IO(Pg\C{:RiɉFrѨ׉W;5Yc6$՗2vF0jڙhfCkU=CΘyxܟ:8;􂘵u8+jW^u[Ը-%+߶)Ta-͞wj`XeٶV0>\3G9 W:њj !_  W2tw-/~#b!GK>˩*:`&H{9p]M{L).c!/Q@4:PN@0kA ᧊TOhX%X R[/ "=}@3 r0Rwz`U5w$ g]f'O'Xx&RQf1DP8뙞җ|=`8]& l`?LcKKdI g{ 􅼦I vۊt<贜 xRN=\.pÙ7R(8AquS3ZSf&TZAO($e\xm!VawώihL{jy!jc k3{ }7"ll|e660B'{ƙ:U;j@jC 3M7Y 4rc' U5ea É?ҫ[We[.= =͏;6"'g=&+o??`'b#zm,R^e<!Q i%!LlCX Ag4DV-(eRF6eD[>مbRqz=s*yjA# srzђݣޒy)S EUu A < 9xt8(dFv$)rV1l3Xhv?J>4 3x8'I'$+XJA{4/oDLp'41Î XD_+?ҩjh 3ɁOp) /d)UZ[b9­}Fj栭J#@`:}|lGakB^r ~W(c@?e8=\Ns ]ϱŷ8$zxd^ lѠ&]@-ɼgb&Q -y|Fg*I8(ݐE˗yҷ=1*C36. 0JӐJ0(MQ y^vCG|N>G :Oo-K h8kj]oG.gLx(@ zYGIJ3^{~[qK˽_.T52hHI ߋ<*RAӎgXQcxk1"k]=8ՁYwNaDZx44A0#Ө$Z\Jr)/b=m-PŠ K~FXB/TDLYvz/I,jL;EDiQSKLp2({#ZkVP[<=myP HO0}W*HktSHGtKD 7GgQz𦿎G򥯹J+ntGZv*+JR&lzy<g:,=1a,ud%&cLT%,D5KZAu)Yh(2zVպCVqqq P4}2W:\^*M:kԞpZmx]K9EJE s츶J|f?̍ =.y]jnk!:(-hCt?d}{`x㮉f¼/Hy  ^R˵5aЂ"? /zFޞjp*}hsO:u9'&=^iڝu}؞KJ4`멷=:>zE7֪M4X+GfM%jzST֟B7 ɸ)75!m˥E!S1ܘZsAQo%."_O׎MuWIgĸqF0[nOPn١@խ9,ż.((35.t̪gOpau钬Z%]/H/n_[.lkwDBIϑK\{k>( ,Ue a_Ă.۴u_te?HR*lXe:cbw]e&͕gKOOmg1Q<@*7˽ZSy0b;^slSb sp"F!41xrq$C?~ʫP`\6ͨ$VK_^asH3T1wc t b HJЀv@^{ET$ s &f?_0uPt˵[sNķK۰Px#^㳸{^8ȽSd<^,=oJ^`U%)㻴ٺCc䤫\#s B<ޗ4 .$3 lǸyXT(/~fp,d^kIVN1>\6e,f] =1%mK_Pɸj 7mԥ =s`Nui:$JP{tk U2 umsAYw^X4D/q{f]`מt(GjMV XTEV ; 7|?b\cռ6Ŵ_-"}V}_lD0=(5fKDYa[곌SIvH11UZۗ=62Z>[FAUY鹿Tocx-x7]ݶcQn?bO09?ڣFŖW?,F pL{mv;uЩ k bTفk2$(q㊏Z="(pTs($yu Sl[WA{T̾V2MI4,(;;r\H7.*YbݱcvXja"s $^a,U R Zr߽>VSwE`p@&AY9pY^*Cd'h=~dda lʍw+x@6XP&E*4Mae˅lޭA+5.~* T}$%+cE| t/tZ.V;I6:dxϡ#lROAR %J5ȼ@7aj)܉ZƜVbufhsJ,V5W?ٶ)j\|r\'h,,l;sXUG >un(h|bRqk%$<_Q(,▔"ns$rE@a?V'Nj+U̐9 G@W FB5c_~(![Y%z#Z&6H(S'1gCRLUW kqK|S_5mn=D'Ze+z)%Ҏz*fpMkwgϞvv+w-tܸ\7|zz?~ mmx{UE]+*xѵl8Ƭh*wV7ؽ{n puVdd3uzTMy;^7m XqoUc=q8֍ dAchc1+_O͉l=qh>AI=.;X˦8Du+>ǵ#ܭ|u ~ꘪd-W4VUT~V WЉ%knp~t-C1ur˻n*(za T8W4+;ecGX o2 X:R8!+ ($_ 9WQ椐g6DyXV Qrh.u~1|7 &s; 3+ dKbW̽s \'i@2H\=X*!J!22Ă]qⰒ]}78_ή|zp$ A}[:bWMV: ߥZiv'S?V2IYc ELu1?.(lE.,xvHB>īUO0e(H<%{wTO2(лySmqWc>"4GojSH,f(ճ Qv-gyڊZys7 Wy@erym߽WZy]M(Υ X 溛=_h5'UwyY`88_ ߏun6fFU$qX31>iOTw='E5!U8̳_J~r<&൬"ƾfa :fJGwhheuÝ>dGL=B7}P%*`-甡~Pل{# R \_K U$PDܺҞ㭜> ^U3p^bXy:m n4> ;p;&kLoIluX%N2Ey W ud2c|v_fRX|7SdΖE Fyܰ DXf{5%L6:{ IF>PU~ca y [̞#O̯IYlB=e"5n7_^ f.PHrVF>&Ӳ THm & AퟠwQgi}Oh=3#vWy[?ɻ'0?q&,Vjq-#hOF;٧!NplFA 6\o*{kzGȄ;0U`(/i6=44-%GSrH"ݮn:Qa+ H; D77ϏR,9\pWl >hdgZ!nW[I׳Xkf<8, |p{'.DNgj5|E2ZWs|3.òhP@DPD(uv!%rRfmIX_ |5c[tZJ;Y~M^Ԅ#7љ_ܓ=w]U{k~YOjN'JÂCpۄ<O[hM [MOt{j'  hM|qqYNEu$fgV/UxUKͱ=WP\{X3~ iG. Ox됧A4Ssܙ͌J#;@# EGĂ1Uõt[- ,|+i\bw.u=D] p,څ8}n't~ QnHaC K:8c.u)90ǝ1fZ?R֧S y4_Ig.kLqon?uw=!ɬjEI!s'qm]tɶ92kW{50}}*6_w% P-O>Av73V}뢥85@3)IJ8#[3OoBt,"{N-Z']vl˙(M_i&Y>;C @&RWUy>!g6$3~֛X:[2|y5-?Whʉ904J9n 1[~䱭 }X- NHoC7{Ll"LvjZ+GJ[^zδU9VaV"Z - -{~'l\j`LU]a4I8]i !!nD1n9TO*ٜtVa e2󻩉 /+*rFDD/{Dyi%~q$mJ@zSv:q{E,wRT9B4t:ڄ[ooMoԘZą-a$!g 0Udڗ \:<0ZH2 D8@^3SU -7T5H&GwR'# :VFє-'7 p&)4)},y*ٙJ}ȽTZÊ9 6vْ]4&_5f}ɧO+q=n|5 #L4`LZ\CQ/_ƕlyL~M .y M0<v l`IN7nU2׷Y/ǜAGDzhz̋Q?,p#x_|w1'*| 8O7AgZ1{ i0n<-ҔjȻΰT<`G8 E>X h7jnޯi$^/!8ɬhf&\pXtĭmCEdu :Zә2: R?ycwiƎ3CsC,՛3rduĨ{z|5v#e o 917rb>BS*b+V~uؘ zAk'w tp/zww"`8wI0F8E+AmEԭ-wS=lƝ+ҽU&:'3}q`%>YT.600` N\>ua;GAha )[R`T''u9?H_-S T}HԳIN*#i6#oM~Tؐ"5)8װ9%aW|Q}VuGg!!oKaN;@րUJ9vaE1 _n4C0qCz9ֳ^Fݬ=Jf)sad-q\3;ٻv^7@g (R HS6 cFӾ*JtGqɺY.ARE$cOTPUA#]Z c~|y-Bwv559S:,a]N8 T(=iߒE㍸$a]0t@h "l-]#ոKV:4îP7D$_9۸ Wz6jQ>RVFiэf]xrZ"#HK"# |+̧l sY!9IdʤߓwXyi`b7t!PHRnm}؝wk_}*vlӥDxml?3vo?oLkѩd nQF)<\byG >(ɧ96,KVIdqk{ 2)Tؐ㣾hlZ:쎁a0Em[LKDAwkpbaUT⋈eL{}fMf'ʟ~Bo#V9L 8r0uaǼ5*7ub&_°۸j &7 z0YTgF:ퟖ#f!ןP0Dd&lJkΟ&uVBGiԷ~؀~ 9j(:}f ?`w~!Az:Ug-E xL)ClwW;ACkY-NZt Iէ^wVd B f%= ♽sJ 6(4h.EgJa;69 qdD_\/CB$䬒~i@ñ}ŇIEuO2Un / H-Npv/#fNN"YCMtԠ}V;MǮuww&X 7̦?be*v-NPwcw582QxPOߜ(6pu NskrPky~ mt^ EAGYN(C]ফD=Y˶c}KWy173n`cEw؎ŒEA$aCҌs Hu: pfƠ-P o9LФ3XԨ@֧ph5rI/_JLScEeC W IZ8Mgާ/i$Y.3/wcW.7+/+,, vC_us_E_&Xg'&Ħ?2?d;AM_- wl0JMvQq(I`nsPv]ލNI{y |MjvuQW#\b0s`.L9H12ձz@Pa@_+cؿX" JUYA]9C0b\ҐMm>#9ImW0ڇ) HJN#劌ZJG:bJI0u"+;iBY0\V%I w+_'0 ;w 3E %R{svD 5 7q~Q[SkB| [;=rjfKs://|Va6pb|J"ߴ\MԳ!/n*t.t{p&[R~n>eӊSͽ%5ՠ%LC\{\VQvS*;0~ >3km&5RmcwL'1ze.fO?YĀN M6 vWATC: Gb W+cm+Q֔jdlR&Vy vtѭegnnXk3h \ڢG 2k4*83 / *Z(<:u9 $JwSiwb(ﲜ-'JVڔ`'!@Y+zJ}oN ojm@ [D#9#B]`u^V4 *V> = *˵ƺX'am截_[Krk3 kc7Gb 0q}Y]} LBE=%D9x̬xZ(h3brOe'--F`wXĿ}iAn޸jȷۙpkf˓c<"BY@μ쥰;)F9\ 4Wv% {WwsT^P 4?zPli 17+ 䠍-M`D68װ ߶v=;l lݜnl,sAِ ɹ纗U7G~qbbR6x#R]̖.Md77Z7S#M55p 2S=QEA;;9 iԙ'yj}fx `lXP*%XQIw*BdmRqmM0(q 8C8(Ԭ},emV´ó~Eh0Ms^w9 :G.Ӣ3tʮ֦S h߫_9-ގB15:9ݦz2k[|} l깮.|';)+RZ?d|kK|;l #ف;4=[a,o%1k߸U4\*WIl;^T|V#A5AEUQuC 3$̝ĨԒ”t&xJu-4LŌ <nJF%9RgV`9'6}Z\3Y`Q,s10l5 3\Py)YRs  Cr`ɱ >YRd :OQ t,}S{NmAt)kn62LOC3,9ɍ"[Pe.X3塩կ˩cZl'^!U6 jAx*^Ѝtcr҃9 +{r=5CdRn QCdw ):(^m=*>|) WUiGǸ**pGE%ҔR]x6RzT:L6В,Ziw5 ҈no!fm7{^MC 2x'w}ww>|_~ۗ9+ M Gp÷ LxRd }_Wae#DI!pi@ls@L5  τՖ)8*5}oH[~A/Ԁ;؇o=0mߙ&[b ѾG9Ɋg ?ʏ6D"-&/`ʹ3mk)hrugűf@ې@1{af찧s6lՕ/`%܏a۶`em& `nw͂Ei3SV5 >f<zCI4pxF'‡o}㦬SEr9ڃuЧV~#Sc(6O]C8 ѬیXwUT;7c:w,3FIH68/\+ S@2XJfK:>cu:-cә%Ke14z WIOY*hG=Ue<%S(WEx]Z*m*:A' #tĄ ƊG(aƒd) v|@{Oy,u 8$Q^ FC؁a!u=ˏSV"n'yrWLnK4}1`}ڔai.,iNz%:P1%EHg \?Xa}'uwٺ_$E%Cѕw_VTn LSEK怊q=耑ԥw{ Q_ص"4 0 ۇ&JTUOËƓU 2(=**RM/̳Uzl(;Iˠf79_E@ `k($u -kZ9CzSZ9&MSD:.ָcQIj%"~! K'?| .|]QbF.j涂qaƕj^itvn+NXM=nU2Ď28#zw}iyɲXHZeGYJr<=|0HxD%V4k9ρG81u&뒞f2B%<&)|6?2>p.3EHS[,9 >ZE15垭j3*tjB^- ̷)-6yV'x s)]hв5_0 !$6XQ;Kq xBeG&y*j*m ޠʄ/ΝiX,~&|zn"A:h4yKͅ!͝iV:@{[ &W]r]>|KllFA{ 8*FX, <&uWer*H_+xݩ-fIح[`yH Q/ ]ː톰^y +۠ѨX5!cIl]4·0._qE: X> !{/qرBI}y# X+Ljz NKC|V W T,o; SĽ0DYGHVkp¸Y2Oɗ(wkz=&2%xWzSA2ѧmG=.+g-]"}2~8 =3tQ!yMXY.a[#:hXE4U~~ȜLNDTڂXqMV[nVpܤ:_ V2MJ]zO"T *pj~qh#B>5pSU,fAI =$nP{ٽ{_޹sV?D)n) prp =R;QTDJjH|R#b:q0 R2k-?rA %Ԇ_@!9[7Aa5Z<&8\ -1zy` @S@W'?y2pP`peΉPX5fFƹ$GYK^ Li_z@#*KBFIJ5 c2@",*C̱I׈7 A#O|['һ!5v͛LGV+5Af_g+,1K\fT&CJ"q@] sQzJzCZ{l`I$LqM]Z\Ȣ?aS`os J p18 ˻.QX^pNߥ 8Rt(YԎ׏t0Jvd'{r:2zNQl|P2k>-bWŽ2(r( w OF潣^~Gn7&4⅃選PPST## _j};c$V$heFKXXdw>~Ճ}jePFv˴)Ѳ6*Eu]Mq716h~fC DV R09D[0GiKOAڎ7J95O!s;YRYÝY[eD/-V -WƺQTHu.44}HW0Hs6[;az% 㰻oGov3 |w:^|o |K EG%lײ%[6)9zP64&tZ.Cƍp.DB9ǭ.|D\7t+6jv}5/_v:=zLtPR&{Hwl@M}^US\1^ +NhB.LlT vՈ<d?`k[wt~VlyW$&(-: :ȰmbBߝqe(oy'SZ4'KZKr$Æ+6La>'L:3 \r0]Lkӈ+z,"kOl%h. *IQ,-aTm8تnsb!Iy0ȇ??}q;M-f c՚&Xshtsb7o^(rFI;xs]x}.`)\{kB Œ2Uş20:0JP(pio|iL#I]iy8&w݋>veҍ &#SguFSRAVe X_jy u07R1[1lu; hSF_&y ¢,G&6QY_o{)LPbfc( Y#C06-m "<)Ws:'Ɛ3`êUz ވWCeԛ)rg;G '8<~0a-42 w! d~C9Zwزs+gVJVgj\lVx~l EV B79p8 d]'qЖijSZqc-n=ΦK),Ȳ.Qc >SRdq<2. %JlR+N.[ץ8g#G֔y;{4dhx-jSkF/WT:2!uȟJgҔueאW1ͨ:[@ٹ05)/9+F l:wq$43˦(mdAtʧPVj\CK8krȭ|pny' t\f=vM_BQƛ}"%cSDPv4WÎE27DɁ!5rdtr6&TDQUje&AEAM0fɁ:bu#}_\5 AtEfGA ք>t ק(:|DLb=J׬& #K֨lsV$=1k'n% \al 프ongݣI[dj ~jc4N@)n~"DS//*Nc+ iZMW+Y h>3Z4Y /ҹuc$A<!$_V@#xe_G*-uv1h̢hlcYvI! oٮ焄P\uF c|i0D~<$wȭe[1SdLOr.I[f[=9}(E+X8^{/f~ osYNdH^adcD3!^٩Zhyj|Cb_jm:"ggwL#`7iQ8[L- EeJLM{as4rPq-zK7g̮Zul(3>hl]'CŽrEhY2C. 3{+cs<(/b9Ej:6yn mlb[A cl{枺u efμp!wi0*,D F9o;rԔHw!% K+¼c"`@xW6u!s=78!"O4{)y+D8zA$^aׇv>I dUCyȽ /T Jv|)Rz˙3x/o3yH~)El]e=&&gp.]]/t[|9^TqhL ~k}{.ǢrU~¸tk/+iwooڭŻPv{k ?%wYf!J->^󶲑9IJ<=6Zg p 2UNúm,SS]f4X^yňԦV\2h]ˆv%Rb\pp#]l NU_Rg/8wżiyÞrs5h;MLn tlEisE },fU}Ahv-)y6] vf IY;cYK#R{Y%UP8ߞ$L~ Ṑ7q9K87}Db, ļx. :ͩ+ t/dyWp][2:928 ./uE4yW]u+y^s -siO;CI1ۮh>fDŽK@ߴ>>0`&zI𗱼$$YٺP|~dpLڥ%,j.y D@GVj,0|*qUS ؤ˰:K8# ^+QWh~3b 1W1[qAU3ZK"҆z5'VڅIhjH 8}ż\N b6~.B9nZ#&ǵ ¸d֚K{}Kp{Q72Т͊ʮ RI8>{hWnIhթO/L˷{_*t[ۋ_KROYo߹QUe!Psi3Kî/i]6YM)ܢq6v$dyO \\DUڰRU<-CI^"q+c*O^|"yTߣDZ2M7 ='DW*̈̉mq1/*3LF'6 JNp1(wi?9#|J3V~?Y0X9w/HNW-C˫a7)Yab%-(}JyGƨyO %ʃޔ2#WzVT Q-{#Affq1@y{`Q_?LN.}3E7"zM\SP>R&NG;CpCEN'M [U3˚ -?JTBN9{mmc0ko͙Dm*#~7ڋZE13WVJ![T5hx\>%Ւ}nG& h7="M]=7W~JȃnFoq&w)e5Ck-Fb8&bY'֝Wife;uM#tQPhO $ԓۈpZ?j_Ny0ndHjﮖ B3|G$N Opum 2*aa[GAhr7Q.HrqM9dĉ.y9ڧpF{:<ޯL8!'*x5õ)hEv/bnX#1ZqsynQssEM9-c, uDKsI2GbwtkG$5ȸ24{%( WS:ۂh`6' cwӉj3Q.a POn'Zg42z L| `1ꅭ $7XAqRT= Af7_[[ES5RJX3FZ1κ3-JpzG'6ô4)N)eXXs]3̽8T+kpcuB %߷*_>yTcf[_O pHŊ63\yc41 o8籩B{U`1)'/,(2nc1S6M2}PSGnEX@nɵ*oj)q4Ш5kˀQo%LSvx$e=b0B9#̧Iv=I5^;)[fWEhZaT4Dm=ӏ `-_洭k %q,.cx.m+ n8 >n|K گE>զ;w)eN[XmϺT)ůdsر~`eHdʠᏻICV:C)yjqs&hEKܧxP2̖0:KR >VŦ@կZ10|O`9|S횭 g{+*AkdkqslW?wsL|/KLA |/Rrr]kXv]B0vz@U h"xأf6hE.Y8`Y%$9b4#?s.$˃H() *pAG&B9PZY6Whg?u]{,٤33EkFP *ZX뭵[*2jaLP%a#7{>sp.jR4@M<G-#L%ș_ԅԁ<җ#V}Jƌ ݈"wxUM3#On^-4T47/!fZ@ OMq)V:F9.C8 :J| BNP6 ácxS:-+8jf׎(7c&/J@XDd(h+671>J,oouY6Z,Tu΃b~k@2NM,hDLSg ϳ%uNF^.z} $ 9DTvp=,aT9װ֐N= M\@h,vִd&T/u Dk)oiɴ22*ŷ̟~$#K,6AQx{&uxX /$ ҕDӶ'}'z0F !MDE(!?BM2|([SWb; 0m |ִٻMuM}f*:W g{_xq {>nff<թ .1}KpvU.\Xeš-]l,AgV(ȳԗҩJS'ª7%ׄ83ڇ V͚[<&pםQ"Q ɨw'Jy 7 DҴe'0jyd|lAK2 :R"&J'$c׾i(Vg1ZW[HkbsX28q X7xTB~jV{х-Pv-g kfy'n9Q`(P[nYMj{1gwR]˯3qW>=8xh?Ҧϋ4TpUuutۊ"'UFY\BMT.*Umc% \%oɠeNtՠbtQ9=ᗑKЬukKe<"^:(,(r?P.P|vdCEG@FXAP{(UqI:))+w}q~D$GsB Dp,3ٙS M8y$>cZݞ JL m5aR }C~Gb[*6y@MP;k)w lb44q&meQ{dᆮCifΞKq 7%ZKo?pR6]_0pb|zgzz6lk˺LxkJWcd468gU%|Q2xgχL*If."-m2p(%F^+ƚ{ 2h SpQI4jQ| n dEʅ$äĦ8+;m8U},X }(kjE.0u<5 &|YB @Y56v^FMH|#Ϋ6X[[K…G(ʜbA<<|Apq!?(jd2epd;) MȈBJǹXGJ4#̩{,>y q( ΅C`[#ɨОqزafӖ:ЍOxI̸s0C>wef.= R;8 !gvΨe Pf"Vc jQ~Ihɪư3!My.oge$@L-BKXEekZDQ\미UOvR~rpP{nu»WBjf 9Wk:@kYqTD^,#ph7G,3%"b-&m>!X}GqK'%aSR&qCGC|fzrs^oV{u%ƕ7۫C$Y DvBBSb4li*$7jФ_t>P]]I:E1}=|7_{5!i\ k:N[PTlyfÚ&v l7y&b"£7?ɞږ9be4`5I<q]/ t69aV0/;(;w8 juorlbMv685hTlUb@uDYSUIt8b%¡_\(0MVzwH=hPdJ\s=ކh߸R=9!`ޅE~nr&/Ma+ӰERr!Q3#$V =p1F{b_SMAhcW*Gw[dt~:Ȉ=/pM;ÿ1v0p_G9;{ⅇdӸPU,j#S.JAzkO;6AnwE#"$XnlͽݓwvhY۾C{P n*S?x7nhYrbSkb@njTJpz%~=-Q,Q%5ى" q" ;t,Dc0}:m zP"Xsx l>ŋ9Ii!p#t\e!zpl Z0g @$ S݆ o!&Aq;8xƏ,pSr^Tb2*רYNkCrfȰ8[1i& Η F]BK]GKg$ܚ HiqX)]eI^8jg5q.W.9=cp_DcokUwbOda.*5!-{lQh}?w1 cP?@1^7QRH#z۠ Ua#-*I?BZ%zبݕ'd ,YK/3~,줮4SV}v nHWmB272S lU:n7NĥD\SÖ|)Y \ )A?r(Hc'qMs} e]f: ,XmA?p= e셒!}9jXn3o3 (&JQC3CKKܺ:B S}}E)+@JQG6ZEB**oÖ4vGqTnFٰ%LM   ?V}ǸN]GX?vh(Wdލ)+L*p7G2t ;\y/)ۋs(&{ițg_=-U ku*j&!Yuuxn z$avCzA;&;lXpb@ڌl1t^9p}삵MEzgQRgT<_R '@z blț\}8S=V1[Ȏ  82Vgp~P!:ȤlP/ Gҝ61 'qRT󚔴]*O~nm6c`*[Epb=2gBbPO}) ŷ._ yE&{4*Tb2KN&[fpT-*3 ]\@RL P$npʝ:P/,o]b{0zTԼS uR?;9xj ?&aPT@h@ =4~ Ϫzֆ:^)X&@P$vV'佌.8m 4 wv*XjGʔGڔYRt I*WF2[_#R6YRd0؉ %dv՘xT+/M \f[odvMMse:V1xtu}кa+kΖX:n7J>rJ9aE,raE/;آkSrq -sCIwKwؓpvAݚ~s~kozۺcFr P|Hպh؈[hhC1FL'u ")hIÞ%KvV HJE3d;06 uCp_orUfs؄?N=߲onKR#M?p4%ҼDdg."x}a-B̆Q»o zΜ*+2v} KW_&HdWw a {}}fLN8H߁9<Axz)T?VQa ]rºe=^z`= ,xir]sq#>#aSŊ{wչ-grU 8aj%J7C6:@W#293`tn7;`4ӧZNfE3F W G ms=MiOK.0VǕ^ak [e be{+ j/f%;d*ҎGIR fJ[[װXC66ZY\[1TG*5>|W4Pr( Di!C}чG3?͒N0ad'igI;-)wwwYD,Qdfxp! s)ȼ(c7?Q㺷0E^P8荀$TIk/Ǽ5)ꆖhSS |(8 -(>4 ^ջ ׳ jr6H]ܩ#aYƀ{ഫ/S 1Ru4 n0+Hk!@i>T ޿7r1-GdEҽ0GYQZWNfes[eQH8gpR:h_$Q+`wty]1yЭkL<J7f_\n[UO| YoA9y.RErǀWWแcB(r,00*6Q0+d·E陂M.;elƔz[( C)]gc/UbE8 W#7hE]w)#h׋W-9W( PZL[8qdښMiV*H؊FTKLXtxmԷ =vYk+|j3#R;eȆm23|e$vU &rgdlТH,|·K|9yjMO\T+ J-Z ͤN/Qi| Zq31b`7`ڃ]-Kur/yBѱarH^8a }6 "GX%D!G:,T!Hd?H"tֹ_?x9"u#ߦh}dyh#D^ yGY-j@gmόTtɢNHE8@|xd17رޫ-:X_.0R&!;rYZ!%&YWH}5Q@hU8MWaN+)7{`:xBB TJu_i%FmϓElj5Ww:)Z}JSmmL,tfPd:SU|iC*e:#xW1ȇEu)Ti լ5Tޣʕd<ѣ>k #jyEI~E!/.D*iot_7E&`*o3Jܛ:ᗉg+9\4KO\:KٰMeikv) DGʖ Uk WuU`L(8dm.OU Nr{ [P 목hK;P(tSKi;on Rj2hwY]Aeփ1 93)uՌdƪy'TXvrV4&&{ϣ}#W$ X{pF^AX~+f:)˹ e9lK Z59n8}5rB8e4}'C\bv-ov9sSNf1* EgJrv` ɱ1#q2Zs+LXZ 7!Xj<\=+22=8&Q~x(>To\QV *#&pTC >}@`}lcw* -2\<傁i-2q%c.E_K2K3M#5B89'RFzG.p,duV9=&\<{ZT&pnj*'90ի|bA䃯~+C0:a?W;([IAάWTb\ґykIDS(ME*> 8\~2y;6z:+b7<@t` ]ɟMwMDžCv[Cfq7s\!{P/,"%3~ʖS+kTf~7WbjZ駙&?#˟u{y?^/s?~xnwׯ߸}&zs#8l?'Bh.S~~$#ɗ9xf r,k8cزOޘ+ yc;@9; 諏3Y2ޛ@y'22rYA>JNwy>9!'쐏`rc2qpNyg=nA.3+:كgpUx-{q__"fl87ÍN8}Fdϋ&a>4P@clWx3 9}7[FÙ.w4-JdPLQG?svV.4w:pLs/Xg'xX|#UVa}, x_7n%O\dꨣv"<\j̫_Ds;i?1ָǥ;j x2^-`[`Ǚ>V<܆OiޮaO+)Βn45{h`5sh! 截9",La} ,1\>x]"6AKV[Ral1z6O{1K↎:𜦨wgِ}0?)l(<95VcW1`3|b@ji0àK̾!@Xt:t7 8) ?~ R5'h2 jj@~Px(ˬFKgNUMFO#ƿNl0=Pǘ-J \]ƓUYKzEyv<t"${*8@カ :??5Oh&ٌ( 2֒vbwwazuEA b~ @tϊhW̏l: .}`{_j)x3}Ø{=ǸGyk ZEgK;ҶX=|?HphcBΡR@螏9lQ;H :=˅ [Js+@DQ{ ׏IHAYÓϋL`tTc'!p9Q֭{\VB6 n}NegjZIS|]p1(Ny>aqeeJ|/³s<"ee3nNG1 G#nGz+ah>?+ÛgGm߳;=XKZЮm`͐R U<'X XP~<h2^qv?ĝkUQBa@!mކ`@7O&"tXk IYT`([x, h Vݮ_f9~`!I5i$=;3DY#lLR-QԥY!f-OY$;9+^.F,''$-~/rcAfr!ɡU~rXH-2XpNEaQ&Osx\Ul$v\np G6[}{}`֡7tŹ*${]Ihؠ(gOzwp^: g݋gA#3a uk_'ma"X3UC_™R -ό)b1F̥K.J"c}{l607TA{+]cge y_e;#F vj|lR%Ji8<~#IvOZux$321C'g4/>qMQT`#CWy=i5H'`&O9 ƨgdȇ'HN#-jߍ|''Zjwq3GĦiT4y(k)o!|# !DEc.Ws,czt:bQkRLç_8?-,x`` )g[^ʙ%Z$֪h ] +" wm<.Hj!||pYY4 <2 /U`q8 *Zcg#R-`0v0 ]!O ahU$7,jT@K!E Zk8H8XJImױJ3>/H[AIR[,p&gA@MReH- ul@$5oKb4IS $H,2h_!m< zb6V{g<LWj|Uj{ćʚD'H]ӣ eϏx:Ђpdxwޞ}6_oRqv+H܂[vwj!۽vmA[Bٌ<ltx}<#^]ՄiN>Jݓ~GC&ZzZr wyW5}sE eEOT}0ZL㨜b#`:bKPl!ٞ /x\"@ 7 ҔZz *MC}6!k10i~f>CqrT \B;n<z3fbC!`n=[mv*ޖ3dm6S 6f'SYY#wY f"/'K`T7@=qRAYb:y{E PO :z٧ 9lzc-fή9Aݭ',7/YBW;z@`/~&Z>?cEz7B;NU9dpӷ*ÿ qf>*~|) n E!$]zc*oo˃ި ٽk«]S=7ڗeqY@Vz߲ `ҀR'h#ۭb H]m4[0%9onofG^]kTS$Zzz7Y娧^ZǷS7V]^. U“qɸ=4eafU$IE&;s-Z+y+Zeo=wy[0EY?ܑp oT*kZJjӑ_]ߝƆti$I4~DP3-M8cj{0I 3uۗά;4Akn+,QM$ ~(z԰lY}FېWɥWJp>f,&b+a^IRP-b? 8G[5+Dl'^/]U3!۫}K*j2$Zv[0g/#`;W7Qg>3l'_uFHz Eٕ:%Jkq?¿mT sʵ3sԷv!| ◨fE%\I-[o־Х/0h3.&kί-r{^_kO!_Ȳaah}>5ʟ7" ٙV,V6LJѲm=;Ye˒Wn ٛeH '\ì@\~dO\-%`Kp';]*4VsC <T`U,iVՐ|f{އ8(t0XBH 4/;MWcBzPM?"Uc'Y 绔jVult*բdk&c0eMyԣMLaqKQNxS˺ 3jm4ҜJ{GOczsnMeUK!4jݹKQjۙ?NԉDA$벬梳l`7X .:7VϞ4XX!SjB0I~`)5<+VJҋXpnKضEx6٦{ha\*QfWʳ6ﲛu&^ R+J2Φõfv H; at 'EqR`]RA^ ((hJP^Dkؕ~0I7Y.v3;cì U[rT&U2z^/{Fzg`O? 4fM/MQnf4EnLrMM7N)x C 'Fzii_H9c! br\&X]s)(JڀC6IN3 Q."&dMk|(J[Ku^sC3rGpIS 09Q[:X4,R3eY|Ys(QI&s͚+,ۭٳDv]'P9<<^~HNIs(n}|вǑ*N(b|-,"D\}I޺qUx /L: m.K!p6y>c{>%|Ylfu>H4޲r3iSǷ$>ɧN:2ğ '\udnFVUϽ $ߴArBq)/$R"UMF7>_`[xZԖA/8V)q]+.C⵫#=@ VuaUO){=zT#LAG`VṚke}< yQ<f$*PHأNyP n~iXz*0I@VZ27&OMky5K\bQyAa> aggpm+DZ>[0%V"Uߗx~qN6[DVrYR7TN.)pP~I;xpַ *.|& {eЌyzNVuG\0q[L)U=38{ȉ{9ќP 3֧[3:X(52U=֔#ܛ IO؄(yD~.90l?>E.,;bb~OA ,?FLJzП@i^#$.]mh3R`CNq۸DsT#Of;%!c2G{2G]? NsGHPM+Q0sd|aZ'j-t%e,0!n?JbodevTbZ??,f2'QܩeƝsU;{Gr^&l25,3]YN`*h,XmgͲi_w?hA4 "ZJ\Nh78 67U>:~]8e&_?#+Ƥڐ3BƼQHdUݗ`eqY%&H2g*)+Vw5dG *Q[*m?uhyZ`tU02Ђe "RSMF? t{iՙghQj)&e -Y\iV ZW@M^EmLž_Xa9ynYfW_TT7$dDZ?|; ITw|,q3*…2< ]{:;YvgADL9]--^jIAͱ~𴜦׹ъ/=h&⌷]Oކܐs892b(tWeϮt!3ܠ*ϮK[W4_ P$mTD!b >@,7^ vį#NV!k+m/ _OPla7릆w!ar`T pֽHxC9YMU, g Is3I2r[Qۋ37HkI~m:6 .χXHKK'e:(RV9I'E/ͤj & mbY13i JWY[1e9?f;'37iMZaǯ_f'$"fJ:ʾ/__)~K?_ADhq_ ]~}M|gW OLϿ h -S;E/gb|[M  w|>r^I}2M'q o$oRgڥ<{_nSί~`Vۮ>ډh&*e >9li4O5笄{ˉM¯',WD33)jr+&t 0]o<_s&7%7O❷a`Z5}p}\x~4o~PPFaWrovt3n@V@8#Lg6/a DC*|q9:hX]zw퇋 Xc(85-qJ1#DLJ15KvSmNYE$`&Mԑ,E+r `~~C<%[6$W~~Y KtSV)%?QkJe>n~Λ @F؞1أ8!gIޱًn=\4lkI]RE4pvw8 ZT + +܅PKn3Q.V 6)AYLN_}l)>:nCCb1#\ӲYʷ5eHay-8yբBPi<3`Fjm.1 O_0HO9̌sO}#46c`֢i󀓢FMF2? ;(8Du/̟G&Ǫ)FiSw0sUq Ql뺩QrBcx4YiPs؁j*?ɸat+`8i[=_nϭ2/9<κ+leFF . džecy5睬2t+H_kpߎ$* NŶ:WF6ƫ 7p9oWnΛ*g^Q5~tz,̫DBxj#Z2O ʺh-ڦޝl!#՝H ':%j?RWDw#n.Br(R2(K{)eJvE} h7H{ޤ}pe,%Iѡ}kqn"/aA/_ӷvigi. zY} Ia/HUJO_¦)1i~3" %ғԷ~\^#i.Dv՜YZpZ'ceG۱܁ZlZ%#/dP v<9N_቟UwLe).0nJ9,VZKӁ}KYmh^AvT @u"=4[GKe4|p/GA}+7E}~+Pj<@,Tx{5myZpixuViJx? `U7@a[B!dؖǯEf tW??28[:Q0W rO?6_~nN> ucNKK331u 0$Oms cf!hE춭 gOkT%&M/=#AH~i, V:Ru|DEր^??%?m|_a|W'>3"wzᛖH_E)+6].!nf6KD;-DV8 X  P?B,@~$.EZ y'vxm%=Abzd?#8R\_ O0Fcp |*HH2FU%bA O3cDs%t UdWy Qkw:ra Ĭ\_mi}!9** Sʼn$eoݓD8ij4 hުe>1[T l"%뤪ߓzݣ%] +rkΥozB8u[Hi3if~!"ܘ?gAd2.!؜eV? D6LO e +oWGْ,`p&=ABY 8e$y'17sRIBH(@ F(զv޸7%91=fk&"fEfSUәv4̙Tl7y&@J?~a2H)x<䩔0 ?GZڻr PP@QJZ$3x&@$TZt*lƭ,$G6o!HAM,KDZ)A⏛FKFoFUp,ciIP XF"Bfbd~O燿soK7Rde٠Dp]Qڊz3q9#,ph)VOByPN><7ҴM0 .1YRլCzPz4Y_LIۜ|Ԇ ENF?L "Ԁ &բCXTR<ȋQZp7-:=qȱ[ģv-BnDItV, %1̲VhbLOh8[T FA‡7<01?2H_F!(,eWJ=QA4HׇLT$"+?ߵB6Jht2ȉ\ِ_j<{x}}-[GFsu3oMߚK ?j'  6jU{_LrbZ,+&e? 'J lYYt]LQI 6d_~폃ZvFIY6+FCK/֞E@ƁU:lKR#@L Ѧ]Y5#D[T'DzbB-n$J&Jg dߵp"dEV@&Fə%g%ó'NMeO"sH:)朷P_sGWF)lj76?"jXwK*6r gV?V3il4궺w[0!G!tSqUާM(6/B#Ҁ΅W VߙB$k~fAUq` TuH\WNg&Jp複_OIKܐAka#ŗ=J0J,7{{67m* դ3DwUkUJROئ+!h*8'̟ GL9Mc)#?ʤ ~(Y}XK11hsN :w\ / `NjTE¿: R ?nUr  e잿Zm]ZAWH=ahK/[Mڦݧ,@C_b}y)[qfᅰ@ӍUn l=/ Tw@P=Ϫ ( x7tXIfv,7޶ðօ/Ct÷.HJ)ܽm <[aۛ< Uax = Etbӹ=Y~o,@F*{ E'+Rv+E=1R%@tba [娿 FS'oyo>Wqq¤M&lmXK&iT^ gaikɑ7WLa7+6_Ė4r @7dXaxg^ [,fde 8s #ش ;y @[!q4P$oGM+F,\h+m,Gkެ}x*'C,cī\%aӷtigk.^j ,iuKڬxu'yŗ0Ra(ZϒkE"5Θ*Nlլ͂>oÂ^ g/syx(lٻjM|JWެH.]e_cw67^"9D2^tz @$W,QJؼpޫ[¯kp_R-`D(5ٝUb#@a|gUnA\ "(r b6/V!pYBJ^VUOօoc!3jC0VTlF}\취BjD\xU%.7S'o+ERKAokEVokEµ"m˫ъEH U kF:^5"ثtj2R9BoAA#T*mJ$zA +NSskHHf˯"a[G#sJEbC-$7WOB/fHgԔ*!ѺBϨ,aK-AX.!~+ t"7^pyRJ(吨AwyhEyP Mԛ9Zq"Us߳N$nYw{ҹjOzlQ}"|>#'h[UA!Xs ou(h-+Q0ߢ(FZ^}E yIA,U)b;Z"T}S&XI֚ vo.sէ-? c/V)ϬR!7rTW[ԪǙ*왝U"ܶhc lsU+h[1۔5628ƈFa3n d$Wh|  TpiC H X{׭ w{g\{^w}U{ƻEq4V}xXƔWK|8Ϗwg5ޭ#8>a{3{o\]hgJ87y6rXۿ gc,vܛ,/u*;NUNwzZv36ek`N5Y 9>(;e C|~xqЮAwS''T x-i,P[i'ySe]Qv1ÝH`>uBpM|S[$6\=w@ׇ=4aC.xg0A9-n0|nDlY4OMʛ:>}u&X`=21 EƗD zE'cԷReeQtuIU_|@f 9w3w;==4ԇ/r0q@iNj+mbu!w9V~_5G`rvp L3-i9N`*_a@we^.yj:ΆIޒ1N@wml}S7z䚬 G+IBY5Q ]P3ÙpBZs(Wu*ؿ+Gayz,5[bYS㓇WI'~2?ZҊ*Se}Mۣ HcFqBwnSEݰ8P\?X],u] &Em|U`舶F3Z3ᨌW<Δ2]}u rT [/~i%q+lu\CDծ>|4mP÷ޑ*]}a9QŽtfmxKOpkSV $~nr{]bu هoxO,ݰϢi/eq-[gO 7-[n yL bw$Faɛ6GRsA_T0{ww+s2̴}ap.htb<"pPlǾblwFkF^w wPh&^';G`pXv3T:bi]73sVT1a!zvsipa ˼mzO6ʾ4OQOZ&dy<_mTWźˈKn%2s;Xqޔf7Cd? }ihݎ (Rm|+rŸ=&~ 6Lq ɍ94^꤂jrw5B(tzHEq챧u)!k2?ew$?hԘ<gm)CSglyl YB#÷1{FB^c`3ʕxc+v?vV8PwYsEΫn aHb 頝*ZnֆTYakbU^iih@]ݝr++xLddgmcV, qn?rs ٲY5ʽ4gIQ՘qgt ]2܀P}Ba_-6?Q݆rV`;w\ Dۧz: |S-OUž(tYGr@jSpXƞX=c }jnszG|j`@4-qpq"P[Al[lK\xD Xֽ,";DűM4'^LQIEEum(N:Јˉ 8p,~(bp,Ew^bferK*glSjbͼ~_>UNEYiboY PPޟlIQiT86:QbK{5p"K=F5Fsw2 `ޖj-L&f݁Yhdzsġ)T賴щC|}Y4 zȀ956gf7Sl9\gV gw*8ǭ|=~@s-#ɊR\ w՞IkM}׬ֿO7[[>8F'<#Q~袑p,a}"rp "‘*N4:Hֹ|TʠoޡGqvz=|,cr.L@=rnB``ao+Svp+Om')8eZ@"tA/ȽSQ^o(NF̺(("H AH,}y! Ivy=ΰ_`'-aҍAN4si%0 uX#X8bQT掆Y5ESuBI#$8לYP?#$(ytWB.Ib󿋮[w /e4S+dST a$CprOy䈢q*?9KyHY(7^JƅWePSئ{{+z76.pɾ6pYǙPg׷h`3Jld==THk[&h[^Ȯ(^ۆN %8>C툮<0hhUxE-FHХ:A(Czr'૕ێn0 khjIou%MwalW}&z]GIMl̸;I445xö()bxt .Xϝcv1M3OQTiN +U8n63 I-cʇ-[Ǽ\Kemd J]:t$?0$S?T!]. 8Ĉݨz.QA3'`$b6|; mxS%} ~SA!g!}r8rEwJں >an5:MZ/Ŝɝ0%j?)黟詀UmwoaTN`Sa`x[tºi )Wx/u` -kfb;4߀]$@P7o1BQ2 0<* v„j9tZq5+E^}Z$u3Ceaxu;!bE<'A1Bs|6Ja8&+S EvT }kfjsN=7;DP:j |bs#}3`Om!"")C;whC\|4@ӕ@eTԙ9u.˅}aմ^ys,=q@eisTV Q.}/{> S%T^jW4Ȑ@iWi^32VX͌UJ>Y^D > `3ӚL~!aո' xLjَvA{Km3?$mڶ]@wtŎ!񈔧 JoΪ'};hS X y=2&1ԭ頇ZV(Bpfda9gv#,L5/FIq [9+6.8(t`q b;Er󥷤ۿjaPq &:kymdAzh "~Zy|OK- CYsUyux2EKUbvRT' FXZ OhFNX+DF/SՓH1BFnk#>D.:s! wD&~ ř \mUie9q"ǔ `݀7;dw>{lfmǂFP^B]*u$TeUSNc>R[bj<c)31lQA(yw5qM(AW]|uкPSX+5JR4ϩ➀_"ɟJ5, SYv/I]p୓$;Hr) zYϋo4!WY6<"q Ep0"g]fiꇞL%]$ZҀU+VR[klH)6VDGL߈\, =:zレh Ȉ>|f 6bNх wg'48X:@x $rsGU+g+ja1:-(/@c/M<`E`{^ڙjۢ uIKJ*co?MV,="XxPvC,!ӾDFc:N҈Ӵ"tK&s#7l`ɻgx3c ?_$ G#CIгs&1m6ЦF+Q Q Sz:}#'֓;ǔE*4%B(@$Unh]1Z|}gl;h֓i vbeTXy~Tc5\Xc[ɩNYx4S s\ Qε :3Y'G9^e& gs4ݩ MPA_f+`1'iʹ4*3"[| ?F:d(>U/^~Rmfp9Y]Fގ,~mly?ňsCmZl0b9y`M&s.ۭأ `sp{g;Aȳrq煙\.qpçR~Ĩ4ШP:P {/SS#F^SF*S;clj`,_`h_\G7~滘 sИPA0m28wƎ@֨Tpn7#F. ]BvןGPbck6O:B(k6 -{{u)ѯiYX|{d##bW =fm`qe{Δx[^da[YP0kq~۬з2yxC+X 7ϵ@;6˳m/s\h~XXq3rg|s]6۝Οi ^ۨGe) y_ 7p4)09ڮ6luف̭̙w}bRB`-'~'Flvy喧=S<qNy5=SK7/HrW|ew?;r6ڄ z]qs5k] s\ؑnN[,BN/kJZv^HIx)הz]7 [ r={5tkC_sqΉUZ9gؽjzmrj\j .-ոřފ. lQʗbf/cO$E\KZۨ q.<Ҙ7%2Bޫg޼UEWf9g/娾*|> -"|Ks AHV$16.ы ns銆["\E2DbQ/ܶ-JlCј&kl#\.}H{A2hxX7zNDMT͟Q#\{8H=HKs4(y-D?4)X c(_l |f-ugf.<*D{/9Zk]Ԑy] ߳1ixCRd7)&.QguuxE!\9[q(|9[؍k(pգp~XTp5\zXqWM6A %ҋfj9}Z/V>$H\u5oâ U=)0-5ݱO]3O3AJ, 75,GdԖ],BG `O|f1nOEHh4+'SER;]X7cX]v2[R@щ{Bbi9<271aP2t}P Et _6fñp#c8T-]v_~?7D\/lUБnqR%mqJaL:T?Tԛ)5S?xsu]qeG f 2"D\_ܣD䮤W D99Ws j!eljC@rQ ~)+jܑ n5@olcDUEk5̓yYQGw䊒‡/cArܿp6K7ulgq bl1FyX-xO\AA6/s^\uP<ˉ|*gŝ4U tz֖.nBj  ѧɂ;#Njydֶy6V֪|cT]Sö>pڂV={%  XUR6h>X`£5-߻ 0/~W J_gA W 2XҖW@= ◴V-P@Z*%fJfwΚJ {4c)4&H;=3b 4K`1i׫*GCpYb^&TtUDJ3|-U AB"-{C*=1TjnX,ߨ.lH1OJ jTW66M&LS˳Ӳ[r.Ù ]F4{T{]i{,yck`"{ /U[p.\wGns! ˀvu].z=yU;)ajHTWr Ke5V[{ -W\U2JSSY :.(\GE%ph+;աԉ6w#|ϲmP^k`35(pF+W D ʤ)˾\).:1\ :`'0S*$u 챥H4V/L\̻؈gJbK@U# P^LA4)2$tr•d%ҩlؑĬא j I YJYnPƯЛ ۟MCinˆm^x#!si14g* : EEMg%y@ 0E/ (_ϑ`(0Ρ6C̄5e@B\[&. >,O0k4,FzP);w:,IeS~:D/VnP;6`vxU,7%'ϲE[׹vpg*xXiXU\8eh*4@=(*6+MN$Ci;/UvRAY:$GQVh+sGѮqﭛ f4ĦjӐ0 Um8o- I&u4%(ٻkwgϞvv+h.v;_7|zz?.~PY;!TfSSeه(9Rnf߻{}{ox`HBpQ\H27IxM%90Ct\B'i@iB9O`rzěZESsֻ]}&͢L=5UM{꟥ɾ{C˧rOY=oթT}> }Ï| ,=];L-+ (mG< %} 6'Uqb`IF5N9YɴQWhӭAɈ"<[Rugt&&.~,H I&2P c<U~5CĎcUeu yfKL0]; =:suz☸G#_~ʅ)XiJ)U `=Z :)b=e.+1Y+2\}7:Q5}šGOOzC3qHa}ˠߧO$IbݬB1>͋4x+_ݾ mhړ_nL:8:TfKB^oEkS 3 N4q8, G,y^С7Y\n6,x(/)k`FUvJfV%~?F4GjShӁHƛm@Qby_hA;+'ᔃMPGFKT4)@/IҼrD.su-\\daxfxl0l>=P9x=5a{]oJsZ4?EHPì+2x]c:k",˫w;9}g7#5yM 'Y$V\VD+=<$f1 壪dUrB)H yJ,,(X.j偔'u)LdjOsJʉ 9-g*H`ŽE>r`{@!54bK x;RnAzY;Qwm,M_hvhAuk%/|2֐BNj7MMΐޟlf\27F dXft.iAxV\`C2Ōxw.?"8[5k_@Uu8u8Kb9]xjOw.ogeq]w qE]8l'mP,kYjgzݯ36D})Ciڃ&^FQ6G5rp!ͳg>|n4a&:xYr]1AnvU:d⣸RւT$E]ZU@d.]yqS%1"DXhC٠aֈc @EG1mnb{/a/[tl_pα{cFT7ڵYB syR|Pwٷ=+oF M Q1i_#3WUl+ų|sR̻t]\wwL?J%Wus:q\OD@FBtޣa=zO@bH=ܠai_4|lcņ[TVԋd j r=< H}()\LY p}EU=k[vpq^!4Cb )nGjG*4lևGqn-a# 3Y ەfSGJKs u/\g4=9 Wzp*'^10p z#oP7Zc$#gKĶSl 3^93pNbfw| d5kmS]vS:<[bWw({('o=T.pj|-,+ fFhrÛ6A>0m8 PH7#: JP7+6Jg+ߦMGZ,6.Xs8\p'uwXa~1Zq]Kc.{}S?/eD+b?U5#0*:k=5V7!jF3i8iHzRucdfh@FpIil9B[@h\ Krh7`ltPlyJ"ն5I$ϸ]~zW5Y[.[xcfV+U LZNǤ5%-5Q}]O8B]FvMf¼mz :(1eM}DٖrwP! ۟j\N+kЈ-blP..7mIMVC-㖱`eg4 X`+kt37&6Oؽ)J;abTrs3oz!QE *'4zn3|= &zΩ4N5@SKtjH! H 9xI06&`i]"h'G[=惨 lEPNw_$>v#=WH7 aPoF=зs%s^׳Qc*ԟ/'L6dTw{, A6$; ړ=ŬQCV$ssF]ˉ|!Ϭ$wFj>rԮ**`9n1곪1p A<,&hXu}A&o׀]{6#1cF~}g!uꆞ2٭^F}XLp e+nV "l; RM>aB ePm[ OOtMk+qTk>l;0nZţd4hG"&lmU&~Jk%}"152PuF"zQZ#po쿏j-_;d/A~꓋ZahrXTs:[1)ycbg݌6_۸8:5 1&F" <aʨ|4ΞqC kI[ -ct% FudH^3DU'ڠ$<ި&du&Aqj12OL'6x$ awb2[Z7O[o#ˌ=\?N_{>|-a`rajr0H<:CQ,MdTp@ (9#/2ٸZLf6/0 @.004dX660_7惤g#ͥePĶSZ|"{7~J WS;U[-e^A踢ܙ^Fu)qyE&`֬b *idz<;LK\~ǫӫ5LiBNi{Uh/N G.I˪SV&炤s*o%I9ur^ S @NSpGp$afn߳ȣ#aWⴂ1ԍBD þK%6ʪ0sUEiȊ)Ob`@OqGfnd;G+ԟkm'_T 1le^65*(e[j\5Z[r [u-` iQNb?Ũn[`*F%%B$c] DS'u6,@RyE||Iؾ1c}^1S1.q!z,`18,1X$4(SM),`(}Lb+/hY&J?Ex9$fvӷ-9|H*kvۍn74ʔf ok꠸ǜՎݑ>_6)ܳg D聗ԏ7$PY::eup6 U+`fUx\p?U)Wy]،.\sl"SD˱8:JRj.LY:`h8uklo>:46!C@' 3% &abĂM!%  {-7;;7/lrB~ =ߝc3]mbuJǦۍˡ/jik/;D {9#0% yS̸o&.[W\$R[$W#^}|4L ݶt;6ꑮSRTB ':M›CFr vՓIamy&YAI长Mfu{Ku!eEXXOU.7d 4gtXMkɤa0WKɶ"{KA R8\Jf,4t}9OM@;fvȎX+oJE|!om3 |`iP/ Mوa%j{/%mLYqȴǬ'pD#ey$e#C5/ [P",Hj*}t%pi!Cۆ`#_GmX /HYoDӃnia!.xT7#jn > } \nvd4~t$YTTHa'G+RN# ڔA/ Q!Cr :|ξƳ<֡54B;vSb= 7tGH_kϢ;^Q vn# uH)sdQٯY[lu 0;gR2fr PM @ߗ+0K6 ny_)ς7nM A1tt)JI.9$͑;>AW&Iw}@ve︩SؔS6]i_R+xWzx17-uZgZ1l\$3՗yxTp| '>##|1 ;P9cJ(TXnAWq@2V6 cO?dNk-{طR,zvA Nn;I>"Cק;pJ>M\7y?[/'P:awovy'':WM U$Kf}‰۬ζHHЁ ]}W \ ̍ eRiˢ.T@![*c*ɳS M:\?>Ìzh߻].owRM3 }DQMP !6>X7ρeˈϽRHVĸbL&ҺDZqH4~}bR䵎3<][|K:vVfTngmz[FH9l/uadyO?e^g`0PqG#q6{9KTpw{t? 1l49F/&k hPu '\CO1xs,] ,RH6" K![{4뤯>O'#zps m8fˁ_#5MJuw gY NVdh#u?s.'\2A\A"qs)hKGƓz$YuArۡ<9B `qU$rjNRYRN & 1h8%,>δ%=)<<j&Q R~Rmۘ[@0l` ȹfFKTbl^lfxPEY:M vog4,}1tfYFqE;9' 1r*dgQf\f$opW%MS/P'S⮳Ӧ+ɬ@^dz^i*fѮl3U14"s"I\Fja8fHU =.Dqlڲ -[`h4=gĮT/m*,_P~偙j-y_VH]M75B90Dz!!Rc)`\fp S5z!|#w|ٔ'U?mZ{)$Ajaˇ ~7b&/9$DOY}K-=@qDޑl//d x Q LDܵ^-pHz>[Nl\]k*2 9a$?4V[@Ϙc=pE|&[<C|] ()d?ԝ_g|iѩR98%cS>1m6 *ze˾3;ceB>Cד|pz}| $5e VfE ۃ,TB#*6x0'x0eבN'jT+ cS˔`\LRI3/0[ZAָ@UQnAB]C-jЎskq0o|Y;mktFA8}TZ- ʄ$r͑;N*hgľ!1z= >ȥ(iUؓF%v?4I#iF g$Jك?|ŗϾ{vd; $Eeښg$ $A$"%*~36L6WZf!8TlF459Z+4;!FSfY3Fẏ7YC^h$m膕$e ˇK&53R'jJR6="^^ E:U0:PL3QJ\~z@7uAO*dED1-$'eOxж6B7uq]x옡ydLٮH滂nJ"Nȁ0;nybH (]u|ZP/[E2A<&Dkqu;ЅՌpMORX5s%i=wW` iayE\DC@dOzw%:w"W} kbl/nvǨX5i HS.x/]ֽ~WL3.~%@;On_G#w>ź ֜]6u;$ l(3dK;lB&yqLJU ˲z)QgCE^52M@ .iayaA,P)7/Ŵe!\W@@Gt%vS pԪr aD_䄯BrdI?>X 9'mYgqH|5nڀT+/3C9؇-АdFlvG`"8#Yl5ٯ2L$ f'ŀ\^ؔZl7M͠x{VQG7ԍl5d-N)Dp**[frxJ=Q&7+_`& gܤXOUTʇ|HJSF6 tV/|he$\9~tnmr%rCISI~du8’0.D+DF\5U#s%0pd # ZHw1$Hwje zQ2ʹ!nu[V=y^tj{G_Z^__DT?j'k@ar$i^2ݷ34=K ;8$S%`(z_;RxkC*?,>F@%77>Et㵸P;o? 0¦UqZ瘧GESKE@+ z!ؐ SX4^P;g_y|v6dĂL. UAc#˦OKXeqlx:tsXTt-MLhS򇹵a+Vz@ЊrNN0Tf0 8ǀTP !&bo`&s2P/"/Mڭ;+4TIl.I)Y;yM>T*WЮ(U5_;O'0dIl7W$zk/ %l?uΙ8`U<L7kz=ՎmYrz)}@'qeICާϞ<{ 81@iq;g4 %n%NKV|o W[3yp_N6 m38v؁yi\9&\$Ίw]64h%h}ܝKDG('zo:֏VZn/ҧ;%|l)no Uw:l&H< `p`q:{&;uʴl{csap+v'z(?I DI)n/HkҾHĚX!9ᏁEg[e@{6~( ){[jSZ9 GLQS#*F*c\Y4zdG˝Κ%_ Wez~E9as߫8R @tsZV~:JƁ^#Hwb:5",{<pV42|;dr ń]*iIĎAD+pDJ1bC:tNi~:/彎kE}Nf7#7F&\*1f$r+dtTymY,o6*7(\sΦa4h#8!XBPOUBUcofN-K.9Ztx[3 kzpR%mD yp$'hljRp,HSev8m=恛۷uX8@q Bc=9fu•S`;P3.F̦UxbWX*{](LJ`f$)m-D'Bji;5:d-O*+(v! P=:\â'^0v`Rس5B\c 6Ǜ IMcQփ{0  pOrLM!4TW~?r6>IZ ܸ(.X*!q &ł1K.c"W컉6&]Q(iǞxz\̹}VosYX5*炩BVLaC~8zR<\A~8e;dD@NMgcFaX}m=9ȑɊEjGQTHxвw"D A[6 woXB( Pء9}pg2cnAM̔7R8lK~Mݜoc(VӣЀq袟XϭydTZh.|\G88}\1 CG@+"5E nsL0'|; F@5v* Mx'c[-c620dŸOga]2#57/R)lR؀oKಾշ=~npb5 d[$~'v`A8oι6|sL5a-X{~#iҡ4<āt! Q"IIW2kC6 h t KrĀ{1IsT5GW_-] fӛ4Pp@382z0jM.O +tg[ARY9p(lzꚲeѱ+@&{mķZvĚ^j@B(iD~dQ`:N:r _]E_j VPY| ](SfM;(UC{I{MFPSN .O^<zǚG >h>{g0sOğ4[ U.SA0juS+HK,.NH^x $O#zˎƫQ@! bS-Ǭb"ʆNNBEm2dGOr!gɪ3U)s̪"lJ"b)-%*Ȭf4Ʉꤟ0煮*Vn;59eF#j`rXõ$Yqorc&ˉdń kK 30j^cg/*Aeţ@' ǡkTu-D"6ȡ^Kcn\MLl[ ص.m\5<mXH 3^ڶ탍-fPl&xzT 䬋m`a_xqiYemHIJR!:/Yr.A7-$0d ]m\q(M;좄RlfC;}+[yݑDjh 7|w#qQ6->|3o`]Շ̫++sW鐏(9֬\u=}k;풥y^El7ù);O#IK[)VV1U-TnѷԸm#]e}iH\b#_aF݁%6{WJо+fTI TFCH"1@D sۖ&;݃ToX;߸ o;!.\oהfQ^^̭ :]P|)qNRӎf~p9㣶rhq ױ!aR`ɐ;6p8gcK{ũH ):]34G=n!G`]Jg+2UXAl:[tģpc fGl;Ɛ.C fkh76KlH Y"|j;L7䏺;z\VԸvTBTUm,i{O`LLbse{Ii6ow;#mC)&G{RFvɡR wN?r9w ;T{LcJH o[f@ U6-xD|tw*qlyY͛fsFq#|Ώ./0Aq^"?_gWا3}2EDs}~M,Vl^m"m;1_p%B@K۞[*c۹R 5\ U߸#U mdL0oUuԿwMNC2|X]:c05͸܁ubwXbahۅ1lU&:S| kj6!=B3/7ˣ$|<ةqwq%F,ߙKSQݘ;;C{|7;3E^lv;S<5d)Sr7E疡4Jf0^sUrSp8wUə|ҧV*@hv`6U^|˹*%0KZivcE1H f\J.9+n#)[a{/>xt_|q`}+ a-ʔ2^͸ڼl\%5}ɶR$oe>HYnX #μ=Bo>U^)2 0:eH$q7vޖ.MJɄP하@0g Xƿrm1a`1*I-.yqyؽ4YusHĔbh1ܿ't@.g錾 Lfd_$j1*c0H8klߖLMnbd-55;8Z;AT=ijn rhͲ*W|F՗րb"v*RJ[S~ ]ǜA-eM| 0%˰rHm[VR-VkFd"g{ӯ_[Mm$UwMzu^\*PR+v/$@ i7qxvew%;3@S.A*jJ&`d[UѼĩ;i6@%<('n<axj+ZjSp3IԆ uUR x՘?k6]ۃ}K7k$[-IH@v>}.52D\DS*\Ɠ^Ei6+xC|[5n8faEafq-02 rm /@rfO L_Y AQRy+'~F[qArت4VvN8U:WZkҵQ QJFi>=apo&T*n L[uj* Ꞡ 9a5&Zw8Ww'ÒƤw\*O^kA.>&qTפּAA*$]BȒa?> . yDWnDKOuLrW!:sWFŻՙxN^M| */M)lzg{G%:9RrǤ2+Դ4u渰]@k_*ps4R7NA:=-g;*Cm9sdŸ4.ڜ4FD_Q{с+#2&[¦KX3,p՞mR} U(ܖCs U%RjBW7ˎFh/}D&dxm@Y\PXf{[o-dꏋ^G#Kd櫵\.":c* glntdk&Ϝ }̥PSRTԹV $V{p+9ԛ]>mj3,wTsbջRWža]ɾK%_>ªze?`Xq4)b%-ȑQjv,OBx?UeS8g: ( Ԡu5 +G牤~WLG7^0yhkf0F`QK}*IPg ePM虓xƋ)rY 3cuhgě㏓WHV%\R|0qjAc@i6kmY,TGDѥ7b c%HȷTp@g&u.MFpc ˾*i- UcdHt Nbr72'ѺQ߱nv@Í6(5`ui't%-)nRa],M+]c4"ŅhvFZl=_`؜BVU>JD@(=ocK ttOKx4T 5!2O*aO>;iUα%"͖m@f51ze@" S Cڔ|d+Ē,靁;GOzR|qȺ(8;8 ێo`NfTXfCQVEω'2"~UIp̶j,{Z G?tꋞdcU~Vde]_0*oh%[wC1.~Xy7R&{ba/P$7ș"eSޙzq[[n9; g}t٪[">Gݿ5ཻ /vAs5|\m2 C(u0+n Meule<%Y 8oذwt) SG7B7=$`| f7P9W͉-aJҶf葆C6 c\‚Dy ;Z>#2Zy+]J!CR.>?90 %z%K,u-VEܾFk706>Jr|;NUUr:v v[5Nt )t2QYIeBXKr$B߃5v) rLF$6 86TG zKlRz)Ď)Sह[VJ-' ERXA]k@;pY]a.c s'7 W6A܍/> uO4})6o5~YqFҩ|촭'p{< v~yXԤ=NnUe>BP0ySv?3TQ͟ j޶ !#b1T՝3z2kƸwTAe gH&{L|{=s GbjdSz ױ#?FyaнV$CF*{KTZ붾$T֠`ŜB1ӋEs%U>]B@ck-8 _xyРG:FriIogWZlDsO9 9#0Y$SjbIDb4L,ZiZ-o5gYnLj dYcW %caUS I Z:b~Ÿ'sxCQm%_y;Cy%lUY? Z7qӔ@I7e ס"%`D"tKIjq [D6G"x9_xó NdzUۅ2_$%HD>==ȝƭfICzP\6u> lf1#ٕ+T%X&8u27 ~.dE[q:D1#] 6^`&P/Ep4' ^Q';ݠ p{/ڇM@\X`]s"m|nj{ȳ"Y\K1J{Bpg<-ZVG#y8j:ZLظ/& gVjFPV_ݟ\hϛD`I5ȷm'3SrԼn /Ĉx." 绩Ck2nkydJ &L:lFqD` ܥ^m:j"Pwn ҡ.6{mv='U6p#^s*@fVJP`*%Z—q vpW[v9#\p2.:#pL??ui 8Tgv@!)6Hv[vT.o5 231)H^窖_{V;H@p99GqΥ'D4H;B?Z;ObuNr`VpBƶݷ}4p$ zŕ^ڝ~$l%O_\uI+|Tg ]0b2mNbE5*H  Xme';aȘvaիCAwϥ,^77ۋ˿N+c63{\} sTԩLo_ede7kg{'Û|pt#iFTȍG\tFxnHngg[}bz)- gtLWXiJQ?y!VGa|ԩ3%Guġ@ԊĐ$D>M'2'B֣lOAOnI+0-!"`h,7&@g"!޽F*[qEۢ<5Mm⠬cƫAZ!#wYcs\4r^ 3bMvڂ44ܷC65e9l\aGZI[Dimü;HZEk7*`DKt.ĵ3 l]1f~ll@UUz:]AEg[{{zLcnVJqmu˝KyJ"YG.{1{©nD(Qt3 A`/vq`b&$ Q,Haԛo7 sSCe@.2`TOn,U 5)wSqфςyby!+.AFOdRة`U*ҏ3pq&%XY )0Dcj&o׻5eiR@qqS&ձ&O=o оTFMX{MT{Dp`['5lRl-4؋2cjKu٢a c>iŨ&edR-ٝqS i8*gmYY#U&LA"lƔ&/G`.}̦)%yYRtL^GgCR}QCP>_hJ&Ǝw^{*19Cw4^bFYh3#jwOaܝc*.[bO6m2)K~@:Bg ܦy y7W̘)S8ptKTGH/DqIx;&6>]=ČU4oՁoVlJə/{u/8iiAҢ2N 6Py]R.D^γN"6b1űh8h;М<7dUƪ/m?{֯1+rlvJX&yj|޹vDM'jwTe^n>F I/tJJAbt&cIYO(59~Uӈq((U3[N~OMd)/Bz mvE0<{eGch)_H )osX Uڲ',0Ѩ*ǑAo?5gL||"AnQFI1i0 K`MD[e!O8A8zL~MͲGAIak|'cjVn#o۸F P sORS`aះm&FDZZ!8}38Hb-7M,6[N>@\D Tjf8Ec8GJHO}Qe* T.;߭ֆ;m =X_/רо=@7i'z\OLgֵ0y0=sÚ1aN&Qi&0eXϔ$?v6`}UGaG魎CD r`[2.x9 X z2MU kJfx{Btl\W'6UQ8Lj$#a?ogsS1FDνAa6 zΕ$肼,}z:iogxÿzq^ q[?Li]f,Rr C1;VST:%y 7}yl"W9Gڤ%&K@$ɸv-3r+% ([~~V{>"xx@”Cz0?%5y4'/s0m}kU&fWfx v+n0~*%il^S4N>|[6EoQ`NKe]*|\ޟPYvc)/zv0ُWjX%3ӷ?u?흧 ɮ˱ '\J M4\;v4p-mY?԰ԊjWbBr#AV%%cBE4D5Sf2M&wqlQS8coxZ OEz1In˛nX)yLمB9qpuQ/[F^d1`6Q?$%/F8>z=mVLF_QsW4/v(M9nPqSJ+%.sJ۲rhW-y1T~6`#aL.T^)ˈ7nŮ0ݿ$@*//`DPӒ,Ej2XzlضxL͡'JvO<8O_Юn<#aFWRJ=(\.?yG!Òf{ [_:N%1ozDk{@Gv&Gl0r[j{S3O\.?3M7Ȼ8?)Qv|D'?+ekO\ HA) &8K< "{<J.9S; Ap'BQ'vD&lqXU(PT ypofk> b&͛Tnv?zI}LCy} .G9ܕp:C Ek݌)ϳhpj} AM콯Ev$'=kJFYv!J6XAܳEaw^ GSSWLHƞ8kȕBzY:r[˘ʮs]S4^FuF3gbyըQh.skUo{0 ;銈DG΁"ӞnU@6,sSS6&\jX$b ィQ8҇~Aoƒ ?:j \h&늊16ڧꢘ;m}Hؚ4VZ=xxD,%@O*]-T i (;6FZRh!mF#fg(mScM{̌X#sIj K˥(#_@TAi^%f j@jIGmRQy`ʧ5J^fRt/D׼ m6ʮ{aY['.&w ^VL=ʭs }1>s P8-SaJ-$ f&Aet|;ưʠ":] X['woQ<¹\<)ٞn9˦~o8 "W ú)arCXNK޺.(pA9>X987r"f rDܦ0Vpxw¥Ryd􉒾ID *>)/=?dmTU7|Z&>y,,4 +  'xO6*U51 ^UMkW *wGgDg^uY?*P n:m)޲VY*dT1GR=dO.&!G=gtD^Gr|cϵVu\'-LMt ov^۝EoQ74  ĝվ{ ͎ihE$w`Ej&/E :AL -+CSS,h[#̅Sm$M:؂HL5Ug*ufMvc2p1GttSEpz09/bjS'܁Zf֦QZH3Sux8U27f7#ev] [`ejҕC;g/T=O{vcZ*%R&2H=~g;p-싡:̮İ>b/n&m /I( PTqpvAyu1ɢa#)c5anqe$j1;\uzc83se8]ch#d6yX2><̞} 8X .B*(P 'a~'F@:XZ3 PY"!`1T%'Xxn;"7WRZ:P.zU0"DMTgLD?헉(+J"MsXnn< "X'w>T~Qn8mZpįucGLvM,~Pzᐯ2h>q+.vm~ Bm8Dž4%UƎ9A-m)ks.e7K뱎`Ԕ_z Iq*-(8ei??6(:vI:s+ep0yR3%@Ix*'X(#L]/&;]B'H:#MEPMx`⟀28*EܽFckb~Aa% vYlo%m6Z-vص>_0v8ጞx%$4vtJl /Edp` Xˀ!-f0+ p#da\ώxn7Jj!i!=1[nB,Փ@3j:¢s>"mlipc[, { ֤IY96/}PmqO2YdN46Vt[ ,aLcPWe(ڔ].ЇRRxhgO)N ֏arί%fFs]fN5nڀ '5Y~(^L ^KL4^H|3!:9MCVcD9.bRwכ*D|1?.mޞHd%iӡtܶ7:c;놩vwC6J,Hu2*tY>H^}\V=;HR\*uD^ՠz5ZEG7?Jʸ7E[Y^ P@/Q *wuѝ+Z.|D]P0݀ϨHxDq &Ŝ]ם[6ݴ hJ%`ٹ;pmG#x*ߠ_ty!EQSK<h6l;.j`r^G h^ 7Ȼ̡&ibh$깤ZQz>}WG Oc/d6/;cZiUtIR.,&0gLU6QGBkTu]%f7iًYJz=dũzh\mµzwpRPd ۖlKB@.<\q|.m6"9^{b&;s4D r+k|JME^ n/M!.&II}|mK aVm/mZb^洞cLPUBK=eK Xxt/ޜ|]vHu[}$ e`t.iʿ+f'=1!AQe,Dzh׻L@e_Vvj|zs8K`AT+rrMIӫ^*;)%T9M"IE.0Ϲ(r5 *XȑL(_VVEu6h>_x9e97Qe|QJ7ᖓMs󌣂Tr+bX_'z]] Sf̝Tl)&)PD"&sVhlOa6& kNs$*b.='?36)P&ҵɱ)ޠ*b̡#k`;f$}68y$\G^RRA[cVMROWSQ#rZp]Dȵլ7cs6Pim| A2%Kt}ɥP9@ˋQ,E 1ѫі,s$E}BeH j5T9GmP6NfNR)_QIRt7KPς) U s͚hOjg]Q}I՟NLU(ke5FMS#s}q;Y׺UYGGeNzY4Z]tW*AbVOW:"kvI%qiSe()%_iLMd}?!J1XT Z v/5Δ\ϑRf 3s,!8glL) Cl\$ 5jw(g߽wqc鎰(9&jGaK<Ԙ2͎^xţgO 4!îDR+{*Y gp+ӭWr#3MQ&B0ӽ3X́z‚sJRT/1 |qv5ҢxMa@F> \tR>#1Ml,,x$vz&>ȯGσ+N,8Hj )XFt rLc#4ArԛRTt kNH/HMX\Jkuy5. SwՑa{zcVdYY=R Y1NzMһpVrv0k eUn<Ǫn@4-ԃxs5[|_]9^jռ޹R=ayJ:6f oM`r2Iٺx%ߢm?Cۍ Qu4vC*R[>jUUR?y߭X$@A.Rp\}ջt4Bרj*5?],.R?)wi2K'GcfFfwsF>Qpuf))f4ߍD$bvR[ԬPv2CDu͌t?T? pǖW)-JWu,Op[fb{汤laPjr-PZO,WK\$¤p":ʒ30vd8!S*Q ml'طτh(UJ<2tCÒ+{^\6R.jslBgݜVlkay͐zኺV|_(Nزܲ ;^t¦c?ء>x\dl8{Z5u` ߸OJ*stMSfGS5W`2b/-i={m8 ޠw&ťx;rn,vje9yrX 'M C[D­> sai2qmFRÀF=z^xhQ t(*#Ȱk\6S}L _Z~'AG?3{w3|3mra,U&R3(1% DTaaϼ]-D Ra]W Hq#HV9EKrq>QA<[oY iv5`fȁ]g$qp2334z =U?ѻk 45N^c0\)H#D.=5cdNPn~KΩ%J#cX-7 džd~8[3&KqiJLhǮ&>OnG*i}qzvs ;7GUG^LJ'|>[O???o>>xπ`ȟbw?w>ö ٴ58}<+*FEY؛zeh6.5җqr ~7A۬:gNK}0]o5W^\=$ IP4+Ć `;2aY^UXܰL:l z1Dr-[{9/%a>z/^ X^D訐S#^w_u&XCꢇ;vNݞ;3& O흆WY006!l𱗧eAJuS_P l{KÐi{t랝:@⺠X' N񗿸yzPvp)rXfWnH[~󿽸8;g-a4Q]SVSN)٬f aq;n[7?7[A7x_mp>JP$PIo^UɟOZm'HRt4엿2%jj8:~~|~ϛxLWc.'-gq@sS׫KJd٧VփW8Lӂe9cD%|^w}O.yI?"$ [U. ,,MK%&ѳ"h}^{*Xg; F6$?o0 ۿ/_ȼи&%B-#w}3rQ P˲d2bT 17Z-n832P4tnyݘ=5V~D$WH֪Y <tk\(&^1By~eAE^%&% kѽy3tϑny\w!crtZ3%u]TlVݨ4yh p >|/g|Z҄m cȖX2-B0#j@/*uYy]256D 8 D@.i3 Lf @T!]ML`{ J/ϛpVjgxnD{,L룂PRI`n&awYօJLi[| y\ dx *•D?"rVhBoXAs 6>hv<`{k.(N"。԰"&L|E_0&Oj骳Zvɱb4qBV"@\ E+mEI6Ō}ujfOά}`r_$եNn'C`CLOO?=̞gܞHqQm] "XZY Gp&rRAOPKO{P2@RTk;H3;RGS\٧0 )ŕ[TW>^݆֔ y,H*q9#,U Ω*kxm O_Tgig2dm IgTidA 3 hMZ4&홦bF>2<S7Q0Br6sF#ڵ܁|#`5hSQr ?oV!oQhR_Dmͯjgzb4jo gߠ Mr\>|C=lXxqFh8 8еy:y>EmdsAĢ]p @x:͹E>]Ol]~=rpUFwvWղ-(E|XL*W " _Oqx41- i@junS5( \SSOˉ҉+oERnB{ݥnTPGdZbv k8V%lgu5Dƨ<5'M%& +}޼m-XqG ܤecxe󭏨ﭏR?A? Ca'&~ ?QORsV4?+6-;-W)Tǎ$줠t7?=V").#^sҐTh^ؖ"MUh5 _d&iUQemT U3 6@YQNًyNo>"@P3KEN4.u&c/_ <) |l>ޘu\pgQ@FwXXTGBڬ(=a}gؚ~9Zъ9sMB[Æ37v˳:Ü=_M))0źsʰȟ7W"X7FO}t4M|L "f阘U[a 4 M:A} \t`|* RQօHMյCݓR'~3 M[4z(h$<3w+ig+X ZJxU{L~g,5 _00 H;}6o7JV*KeJmT3O\x'Ũ~2A"k+ߖtNAƫc5 `񝁖Z%BHm%W~ΰ0lM(e+/ԡKV'Kt3'`g[YmLU$a5ϐ.oA|H|ׁ61m5s2͇ul63pa}QpTB} s&(_ξIyp~$j/Y½l-V.r-u;agaSdKs KăX@O$Pjfy@+9:2:>7*'ٙp&XS܈ByN7 $PNL1K6-(rtyF>AA <"i} *K"Y.0Dt?̾C#{?@w"d0>pqIKs41H˞ dG!j;:u)$% r7iuvH0aaװDllCЖ;dU l j(#h~ $ry yĊAΊTK&.G(Wy|oz4¸ur2Dђx>vXiSu=Vj c=WV&cnj^mm*@ @S^@ (8]Fx^uIrzk`;t|ͤ9+*c)ro-os6Ao \H̏~mF;n ԨY5Q=:@N+0DQZ(򣍹ڱv]ˏJWjdV% W:+dܺ3H&Bsʼw9cD[׳rDs/T88kA.kXh^ ۚ"+oׄUX0un(˽Ux7[*/CFvgٺ*5kv庬4WBa#%UvM1uX!-JoNCYK)Gÿ1X߬.+#G\";0ѰU2WAC=G 5׳5aIc@J2ܕs%I4F(*v *|IO!qYXa<ϩ`w@na = ΁o& JG#yxeꏨR_iD q 3fEEVH{Q_U%3 ͋$ @&sCLB.:-Fb8:\)~+3IƿVt:O֥߯?[pi%bDž ZxPZ,-I W;wjRo?ƤreRi)SUڻD-6^]E%zR˗\W=uYƨMmÉ^?RvPm~;Tz~ IF3kWXq-{;2pzpvg|G᝞Mª֧M;`W[6)j\{qqѻ+=۩gֻk=| 7ؕsĸ+/.&o\q[nN[YVv]o_e%rEq]gt? ]~;D]Bv:ПDz~zhwJ2ret3Z5Ga.]?oP/lZOkb%-[Ifվ1OrX{kzdt^u3oiUږ'[Lw4{(2$5ln2[w몼;<‘̤ioZPCΦM+jA'yh5L-]]`nfR(h|78vI%Ej*zTK!)$6b&?`kKTɥ]ٞ^_/-i8d[?kuAY0Rp~iK3[KJENeL\Br0R2lLvK13)?5_(Brab2u ʈGVs㰢8L&5o$7ӗMKM'*նMǦOa{L?/{SU,b *\'qU +Mmg TfJy]4^`fTLn!=XT +.2!йJ 0`JXή6{y /o/ď~^ ^iXKե]K^)fgOZ+!Z*hHd{Nx+ZMlYO%Аxb2NRJ$p]7RLJ j87 3:aBGC E#[ҧTd>d_XIdLj6&2X)槫l xpJ wŰn `nTU'ө`a3"L% U3[od2 L%j?"r$eH(  R#4\;YFqc~ED0a\iIz)7i;9֜(!|[)>gnwoP)ɔIA "e QQ^^NM{0YzsDf6]*T 2r:גYH<=w<"\ |V_Lcz&G͕:2pXέ!ԀN$A`ѡ%B8`1L%D9I 5dJC~J+ Պ*>PtGT3G\$L\:rggDQj؊\zZJRrB] û*d~%CnO=%$]*mhiϰ_Qs~yL< %JTkƜPm`|)ȵ 󞁋)mjTHD2cOP~ٴs'Bnes \jyY_V_jY]-.lw*Zإ>~/}PFEG M)qb-Tt)20\jV s)| X y))~e9e>5rmuEi]ˎGA323T([v+'uu9uF` +A.-4Qi{t랝,i,%=ip&̭w/q0{ա +^=7{rCQ'nO(L1ze#<@N nְldyXβO7?G E,`lVs.Kc~DT<'`'L%FKYxٍᩉ nhn;@֑X( TC|jc'zJ,{h北@3*Ҳ2;-fK <12޳Eux/+,{-CebI$$ ʢ]zon$/QBnHNs |~ϖg35җ]"c#JK$K1GYR?bI(m!');>B;, /^<*O/UxoT[% C56El¾-ȑWHa~G6$MN0g$VL}Dm]$ЖF~[tJyios|"p |$=)I7r6T<dWz'a:ٴ;,Wi2V&%S'ۇ%Hg\kR&PѮA5-9̖XQ#kDDZ;Mu7/ ]7Ͳ~w5t$:rrÉ%Hg;! fp~a)i*l/ v@sSVrAe0gqA(o ٚqҙl~t1Ц æH$ nsy?)1| Y eFeȢ{?Lbp:@$=U$e/IрG ǃ)7LjOHlid7T؋]C_4&*  H0R#$)Y_◿ygX q#tx7a]3 V0_7Tڲ䙈o.{ޜ(I*WUZwc^oeHpn*oN tHtP$R@5WjXx^IKKYjq7Q O9`_T+b}-O&b4#絢ɷI h"Sdna/Od\ &;mN]/=N}yEstA’?X03Z_Yiu|&`M:[EhyJ  jC+ҨclLw47Ivt Lمcttu&~"75* SHcq>@9 2nb`C$Jcv pPeew{6I@t`KH\{I&vg|-X!<( 7<ՆnIjOG: :/[cK>gxGE->}:`^?g<(H4(tN\R\c>i>]l/:8䱳%ZG3rIܔ2}s.$0(ۛO?%X?oYѲ=|%hVQ \UNFjfcoy Io*aMۂtJH^[aI3Ƶ2WMdIϥcuܶ38MA9oB!~gB L)k{꼬)?4НB8}00D"ϕ#]29E} ټlQO%3PR mX5IP~.FL.|K&rnٗm%gb)0nr"4~Pasui6fC=ϸl yB`CK r^y1IzTxZ8chDԲ[?~v}}}%6d čcR#`tIpwt(1]X[zS33(2DG638DW|e^S{l8F>R'گs7b&owwJq9zuipr,ai6^\Պ6Hǿ4`)Uf>WnW2y! i`ȻAN)oOsjY\0؂/ͤ%,\l4qQ6!]tp"ǻQ7n%]&K@:~fiŘԫR}Ae^[zR#l>leM|Mlg6;+kgz^l$$4x9[:@D#N->ܡblca3GSJqNfLZQx DjszG+-uX77@Dj=$$\ys2w#ˉfz>tK 1JVO ZumF¦a7o|_g=+##Fl2 3w㰞bqZs܁eRi-48? ~`ѭn(lft{gQNm!ن(iŮ8ae>-U=yULp6:9@0Pe,Xٴ1U!⒞,e*S樀 wBmKWkb6tQlY&@4ˠqGC eNhW|sRx1~\j60%?c1bT(rEEvťB4AѤΘMx nVJE\0 7H^oKӓ{>weU_ԇʪiJdQ KW^ $6(ጛ؞].wcLkT7QV7ο ;r`mC14P5ڍF5 cTt/XzonA/lP: .Wa;'8 OedUwLXO3 "8qfĽ:#l wҽq [.+ۢXwatmE586їnrK+o^3^i FYsab_CIe5'w$kZ:x}S l;mAjM6rXIBz`9GyY T<̊vĪZ 0&/x`(V!i4Nr\h;pHi@s)Ph1t h9aPO.v%mUp|Qu<`tv{=FFWfa"[eL?\Se|3ZlH{S UlͬYF&ȏd]:نMPf].(ma a aW{e* A5=LΤo8pibyL͜v<:a*£DZ{!lM̦uYh|jsQrqZ$m3S4tp˗]M1@2CŷnUNf0* ?IDV6Q!p4Iwډlj?K&4JOrLp]TdVݽD?+zC9 ؼ{'a)È{wnauQ,o#CQ6ڥG{pM[!F h!+%dq0@2a֤1{G&=N.mJ~^/ЕZE7Ю;Q0H=2`Zj &ya;1ұ;8־.eeF +Jw>ZsL8i4."77V#u(օaV REuM&? IxjzENL4Z|~_]?tp#NOׁ5?|In}n~|O?[~ ߼y$)zss8ls>ࣀ߻̚ l̀guc_Uyv1vœG1Sn=H"k =u P H,E?Lrfam9+h|s/;)*dU`sW2;8Eѯ9T95K[.e]XKsy9_7êi@AP_-d[2vs& cj`2b]<$n-5_O;u]r:`]7 ´o;ǡvJThV2wf5:'+|4[;huq>zk ]vdj'1َٗH [}|언9two`+{yL/N9\Wq'÷,?Bƻ;2o}ns:^CsYDDKC$Sk?#k'$[>ՄD UehТ3X"4/ܓX=gcgoEY}Lٺ.*? )snm)fzy0-r,.m2=$@LE.d-rZ^-TwF^ӈaѤr9d9n2-A+%`FfFuryNydzx?rZx?ex%n SpF:[?r+ԽmSGAU28y\R"+ףak)&H3vtut-.Ű[ e2.,^W,.Pt&Wo2VMa'bUb$T-I >{ NYbvqEY去t?4EucYiT=Nz 7䁲c-=6̃gD3gx/eS~*dz{is zSڪ#ϓInF0'A4?&g@l<,5x2&!$С?oGM?`ܽOM#hCh]Ir)ظxi W(:,(r@~gXՄ 2S+]xyLC}-'ʷ qx"*sKZ>gK63LSVќ*/}l' BfgRMMq]YcJ F=Oy{综t߿~1CA= 9+.۴fCEnפx.VtY頂oU3G,;N?#Iu]by#Ghk!*RCc}v^r4GT@uM %p0L B$[@% (7b[1fWYbyXtVon7Gfx>3:k ŚeU Ίn) 0ί:;56but)]z߀Xe+Va]ٞVhO/.RtFij.'JyMg3Uuy#:^/qY]_;կine"d>~`ty{fOuQqi[{-0 Ĉ]۝<p;/~_?d g_;O~ώ_&"c0N^>ǢSO ;mk%$Q`TS4804;y4 s^ν[̖W Ox4''L:Zn;MՅZ]v.n.34GvZN+\؎X)ti0{7&'_UU?Re[Z9<> wzbٓj V<3hhl,c7Kl[{eg0yVv& `~,y(ϞHz)Du?/l:7M+աl5"BRJ'!Aͪl/;wK r00or?q۳on|=,꾔_eÜa@t'06P(g/|CԬCN_V }~7tel)Ewn?_hӍFZ V˴Xk.)f{Y&7K5a2@Agryh+Oك&ދL0TǺ&a#M2l+1 *L(=cPpxI,Í|Ɛݷ3$m>egbL3ƲPL* .n@9 AL,2s:kgÙ]3umDA<]{:Sʹ6ٓN6͸ Xi=tTaagAt2$~1W̛U\Rv]05}ۗ2[_Ĭ`^(%7e<8[9A<|%ɠaW];XH{Z̺a䆥(}}x5ui&L@Vqk;x-CQ^7eI{byaȴZѬ5ٙ @U4aΘO:z<&xL}3ݽ0I֜1l- {jP[x lg꥕䭦+JŇ*ˬ+V#xc@aO" {(6Ңˆ7…'^(xK`硷!+& 3 ޼ n[|L@n~1$x#$> Sv ){u6t I-ctT&B{eTML+Χws!76zkoH=PEoK].xTZ0ҰKvbb``Day[fo@NQ9wQ@nLc.NN<|68n>iT[ G?O6} L׍V $b6-4VB>~:AP.Ξo*n |mx` pj}py{qY8%|p%V?cˋKt {y##)s.J"@I XYw0CIEJ+ њg-V0vAѩ/ӣsweFsr#7ᏤҡЖ}ih}y [3I2m>+| ڜjDdرϬ27L8GNw`]>f\ui*0rIǦC,Ofv߀Ls3Lj!5ވ>W5~-kgBr=W"W@;m.{ έ z6ܓiZ5&_yd70|TVxc,{ߨ mc`(a4c&![UMh݆ ,#;t7:ڄ2QbA Ya\yGTfw)/_iݜ gI צW_g<6vuvMY7FnC\gV]{)4^&\&jzோkʤ+!Br x%xGLe8[:jmu=X޾ Z>ko+ l<\v k;|kIoho/|v7wMoѫ#ut<]1\}OR8-8zvogu1_~;Kc7TܔG'{]ݾo=9ط! OJS5vckNֹaӽ%RU* Z:6qD9fRNQq`%O6tGj\Ce{k%TXo_5ˍD4dtTJXgFPo50|O]fbȄ4 Ws2]o)B~kTBߢ楸COgvg}@h3,2㆙(%ᝣ_Gwc%+9C]w)X%ɏA &O I1|ћ|2?av[(LiqP. RG Z(X"xt8{*h~XRq666`^ߢs[x,ku; rxWőȗ|?ՄddLevbÉHK6hڭ˚NY[4_ Gv@}H[ ?z(!{g6iԫǡ SYn@;R ;m_dI Dl%0n^kQ t3UIDm՛ߡhwvؔw $KreݜW"aWȻHp?hlH؛_|yC4y*{+b>xu8xp蛃OQxt)(D#]ubia`dsH<߱}g]J{v]oPS4 +]"1_GtnWxWN;>R]ůg7_?&.OxqqZ&ZI_~zںݧ5vWF[&Ӯ4Q;EWޜQ_}ݍ9V;(w:^aio'8]K˒6sjAr2?w)ok878qLkyq?=z]؟%vhniIi !oUYu~g훳4ċaKovyW+t??: H~i1Q d1`G [U!v7ͨ$C,]_XP IpTߖqW\ 1E)TX{w]HƨkW^fuoRLA@ ָ?1YAʆZ>=`Ou*Y" )Ax^.W4?K-^a>Nб)VjLEP@%VWp#Gu[x)M w/L5  ܗ#WL垁ج\ CxY__ gc,}3rk{[Awu̡i#S)~t]u߲(lǬ (R.!be6XPeSў6Yjog.es[ +-T$VTyũF ƪy3Lh8p4vKaӼJX@E ng#,R`a󑪱9=Q1*NJ vVy/ 5htvpoB+wP/&liz])Q`d (C۬V|N )檒y3ͲS)FK.xmxDUဣ)%c ׍綺!FNlDJ ,l e_ߢXV ?L ;ZrY!> W[ UT*^I_z躁;qo2Ŋj9$*Ï&}7Ҳ~%/d,@mxw֭~'$ }7oK`9WkF9ĸs,2uUYw#QCSRuql(-١a%VhR_٣']Ki@"}#闿uok1 _"3w* OTrr^|J~TEQcդY\ګMVtXgL(SԔ[262nrX2"J`eGn@v*MU">< ѓQ2f&q$U,r K1a䦚W2*R孥X"3)3ht%e!(Z'PfZ8V6uW*^w d-eуiiGs  w?Xl)4/ͷ{gJ-)-ݕ2bbO1uk᜹u?ϼF `,Pְ8sJIo C8$W5Fw*ݸǨ\** FH'QQbyZ\V ,].Ca#" ~#\SR>\X`083l9ff5uc}UR2#rj2oAp.p9q7(^m--CɑfT@f49]ӘNh Ӄ?ogwj˕G[y|E(,V5vc^Řn(P.Uk66vB}l!9\=xV\#'g<La䝯`k '48mTgHKP+Bhߓ!HnMg.8yipPV갇8/h*gbBYn3$l&ǀ G.\Iiyg \@V1aX v2j PW̔6B?@T}a oG;N UQbiJ>67Ech 4׵$ yoҶ)6tll`MY"=rS8G|PDi͛ujV s/N],UP8&r_0UF E.kijf=:`" 01[fjUv+@4]0bR\ ΚZPS`yfKji(t<;.=;Y^ fX^Y'LpXݦիW@=7{rCQ'Ь:wLPVh!(Tz5l̫4 J`n=dd N/"ט#X4Wބinu}Ni>[0'\Ï2{DVo;`UUZaT.*|2oR]1g͏pDL\ЛeZ^ ;T}sѩ.&})Vwl]A9_gD7k;[%HZX6`Bk]da4}5jmA@h_"*`"PAD'?fւ&cU X9с8^uKadbns6䇕yCf3v,m{f6{)s<\_VA Ze^x2䇈GDv7ް(:(.og&W4k$zmyx4;%}EE;ԏhNrD/跷d7p#f#!JZV }S[u\휤+z2y~L =uiUظQ8FLdx}8NT_(KK(@fy**pQ4}ԽEjxSx0`6Zs>Lv8:$4[z18ɇ1qT%3#lm mu h`=X>~nk`|aFOr=1 {@CVmmII p!e7}a k?G%2l޶eC[\i 1%/tf˻&E C{38}‹" mOƝgB}`{Ѻ0dϿ8V} TgsG,m }ufMwY5 Kbm0t-I0BOOPB Dx-p \b6WtV% +i^_եPfK$\6^1K)[rǬ$A͛qcz|$d'(QDf>Ddl˦by!g(;@4!~NNS~,ÈM,.[ NTYoMddFj7a4*Hӕ4+Euw@s4%juI? z(3bHrGd3|ڢoRݣ#yNք+2v'R`?!|7喆]~:7^[TyŊ>hh>l^{ dX\(@;7##@ u2' XXv )@-0U<@MybjID,9ȴ?q Ȝ2O-<&8j`RF/@Rnq`0 dc0/žr"AjHA_Ӊh>vȾS8E"_4c*?.,=йgt3ϕj- 4 l֝Ҩ| O(Cs6<?0zsWFcmz!tsѧG=A6UŹY6j}0*[5JϿ~=<9)X;*n #.c"VcփhBb^1H }E^PR(WӔ)[X,E;+] Y&Mdbž 4 9%6]de)PKF@NTi+\Ե5By`mYHQt" 7][M0ŗlIQ/๝~ߜHӢ.>frR')嬜Fcл* O]7ړ]`# ;{{enm٣eCgb<=i&(U ,чY4L|ȗZO2Fp [{VtBXB|ZKNaO?ͱ9zc6mש4I팹J.#])Ͷ̨@eFR|yDP$D" 9o,ous*55*}}/iH MQL3'Y_bj7Ú xa(LwKCZ6آTB& ]m>btH-ĴmMk~ۏ: &@5LvŐqbx k VUQL]ZC=o"n4KZ8R~1Arhw )A7˫ {wK 5O0Ȏ4Vf}u8e;W)RtZeD{͜4Ckd BocL^ڇ`jP;i4#)h+\7pbk-bPawBg)$6Ze%M_iFLZH( ޲gC%]IiAr $k_HMhр mrĉ?yG:RW#Jg$s4ԫ, ?Ҥn>i[7UdCC Д$=Pwb>qd?7wLU=UDƳ GwSĢz${+ _$ߛ"?/)z..` ;;^!j{<9x9(PB)K)F䔱ԅzaZ7qvw{ȻYAq)zz=lj&&CL0F]?J2L N9)ذ#sx2 a448ɺK0"@G O/l/r:uYt[ )*?WT/YLVxG :ۊ Ga^$Ό|}vjPlPE*q&mp@ PIukD`jfbJ9&ԻN%gGwwEDd-F$F̬%{/^OO-ΰ+./Ԇ\1K'|~=U ~}b&$sj#X<4Z±%-̄űc@oۅXg'Dޱj/Ɗٺ^#6Zު`'fBa;jwUmK2'`ww1K̿jyG[Ō]"Z~Kq9v#~v!y+*d9s%RgF\xK~E $ u=`-*Dg%M%: `.7ZldoIUIeVP8>86Mfqc(:'r_8;m~iKM:M/ƊfisY2(}ZF\.k)(?2?[fwNt܍e (5MxCЦ6fRzlv]d_= "t{yEwB=Oڙe@I~@(HC R4 -ЪZY̋q]be$L=2_ \vƀ;.36 Pk,3ro?Mm03wi]K/.֝ԸBLv[Y("3^J_-6Uco,KK͏G5/xNXӼ3w-H AaRU~=Q`a{_Lݷ+]E?' YWHJid/ʹ$)ӷ2i`4,Am$Հl];Jb3]  Pvf+DȎSɹ[ k+fת]%ӄ/sv0 K6-e1-}Rt'YddkݽnzA 2_]s1Ce<,Ҝv4I5Ew[Woaֆt:f4֢D~*afn JD_dg6><`ܪ7Nk8ԁSp2 Wbgo`vZm%Rٟ@̀Cy܆2!|ٞ݀C<һ+x֚ATS` y KQ{uXFe%D&/i[!7c4$$歁6;6>67bOYXlҠN*EBƁpv +D)31`²d.ݼ5AME/ֳUfˬX8APaMⵇ 1$ r=/jog *?{[v9~mХ*;,s\3?Y(͍:ٺzҜrVt\9PRke,/F&O8RxL&&yN!݌cW0tJt~Fer:*^yϝ7a1nYSxbX(] uxJʤ,zIfJb^I>3ϻ?^ הp_,m>,;[SPfK$rwAJ^gyTf]]mjA5j~Lt$O;A|2u?2O*[*/eTݤP ]aGMNYIbCu>aKNgzYWjn 6Ͻf}ott~kL),YG#N @օFmSg#y VЫ",:O\W?6XdQ97,.( ^H4䉔S&h;naWo0?!q0RXֻLb[apVM0zQC.~Ѥ):mMtǍֻ UqyD@[23-v˪U7 UDA0!apT}01E;pF%̉,r4 Twuo\V1CZ2~6<@pj4@p^~/  ҵTfqpY_D0ah%jDUjSF>.|:5Ν:] _j/y~2,Kz!߶n`~= /gR\d(EOF!>Ad1'V<@/[ɂa)뀶2y zVECOr??[2:tJi2<|%lYbbd(\iGk*˼*GWfW88j)5d]JE\>+TL)Q{V{["U6ŀO6hj 脏~0_6iKk"S.*mG^~=>w=8]H>i.l'9l_bX)*.eEVO<>3}z NIBiF K-׋tzQL96a})ug|JSM H7p>oǴK\{U84+@3TP^##6  08^.Y[?r`76Uyp^/kE)iD[Vb^6u$tpƚ3pZ,[X@qM˿&a 6tHh:rk6FX~,=*.t;1W^֧G^dvZ "^?GLʹ["*Bc"6.cmѵ+[˽Eϫs^>w:_{Wο?/JⳜz`!csM8ls_~%OrwV9q\y6-R˃:FA G;Zp<+~UTL) /{3~ J:~_eˢ pi?`r莻W6'n5 xN~Ev-cƍʹf rW}ʼoq}0z$B쟱V6@{95/ѱ6ozi1ya][56{闃(2=uUTzpvE3E#4ԍUddio{a&AMs #bx M OgCNtqH(!ӻYc.lrOGrE&!a^RA&^Ŕb$%Zl^._Rb`2/p7v򖎋lHP# 찤Hș9~(B w &_4j{1:?ZԹѸ3:wX7/lVwٜf8E9Ӛ+{asESܧ^yV~\KNnLv0!Mw~ێcxOp΋/s%*[>0nmr?Fg1ϴI;MpZ\ozT=sD@̥n@_0M -3ֳ `6Xjy9{g?Sv*k?3}Lo-GUZ+cnع6bg@s8sH]` Xs\PT(fZs猸G_;]߽wVR5C+473L[c@OX= {4DRFt훙weFk>SV]^w,Mm02V=H0?\ӗr~dpX8!e4G[, VK}XOoW0j$x^%WG.,_GT۫_껚u|TS@T;-|!xAV\hH"XԽߤm&YjȺڎbQjeW`[REj,#'k`CuњL^مl:ޘ ;q5 JOsTyIu0= r#Jه4[ފTB j1 Wl'Ǽ -cܻo CZnzR KO? Y|r,U~@}JghaJgt=&6 ^G+/cEoZ渀 F54'9/#p\eKbQ0it+@ː9K Lpܩi YO[:^K# ;[8g6m`H=. Y61<C"@3T_ EWLAk%TyRp' #u Ol\%WkHsd(!|0T3 ”ዪX Mթ!RzZ\8hJ5R ;a4 yIOSK.3)"atA`,R?qE FY=0R6UwLe̊Mh@`1. Y١X""_85m")˜B1b^-Hʳ/fπ,bC,I8s*gkԣ9n ?֣m^1+}c3Bw6J/ ~ulH`,X 2w#8m6@S|k'n=6fssM xT 5 tTӏ&_?]-rqT~f"4n9Z@nl O  6:7mrh')Y9=7B ]5AʼnNjFQKsMzb\Vh\@ǡ>+$'OBي,dPΠ 'WQM`jcc9]< MHZx 8> =!M@uW`rkF+섰IZe1f4Ձκݥ{11y@-Ϡ]:,LSa3 E($aKa@Cגcc\Ie&5Sk(u^s(Ǹ9 8*~kY)XykfoG8Ws>{D:/8;Q_o'Ep V"84=VAY9ktq%]Ah=hɏz73s8{YUGanYFk7 m|5c ݦ^sތ1m_A[s d` mpY,mbXSۓu2A,~vaM]!uv ?룵'it @$YIYKAx%5X cNfAeI|l%+m!=$OWY#FL9U_IÍ?|H?o#e﹐RtlI5Z$?lar|BC.'<64$^ frÎC?Wqzm#9b99QVȏi95sE=L y!먽Z\^E?\ZʾߝG~< nCrTUQP04p3JD=Zr+5 >Psv{?5|GkBۜRea0Bҩ0v˦[XQ7uWO !) NͳTuC l2v͑a;2˒]T//הl)|1.t ٧>\n9.) >"~ 5xg%ns@Je:EUޠOy eoA *5o~n wiA;:nQ~^_ 46- '"wDZ,S<5Y?"BWJ8˂؄p'rXciȥ=6+\QX{uFjtK̗ʥѲ6ߡ+iaڽ)bea*d&CNF@,d&e&[~{J1)%od. JINS_3xKTkiZ^˶6$4DDiR& LFj3&*W,L21/eI ]/^NCFئ?_ۗHke+9,Q6o`@;Ҩtbcۼu)43\/m2"`7)HfPGk?òk Us6K_rZ\ ud#? z+V`:/x(nr)zČV}\8M&d!u^0xnj)ϋs?>TrXޮOXqc5(+ {|nj1{Īs1.8al*;Ut1(""eCƿ$wE~X7o/U_ NhZgyUl/ m@ .ɾeʇsFY Vh 7y\d#dtt+\69/_1z#];uI;$+03^*cfes~3g\jy` 1}T N8pjKhth6;*Vuv _ YԋM4ޚpG0Ea5W-]mq5Xcix*Ho | ?`p(}@;UctRڠI1xaeU9e^tӇ~՛*I܀mOCm[Q̈7=ͅ<6(% F %ש%񗡦Ml܂!T(AΰSk3ņzkefX-!z zGi&AaZ:z?5PWۮRIGԞ=L.'ft!cQb[8AhѶssB}jRM4^WRZ'g듘pѰ}ezܶ)j1T'$ E-s7!Tk: OXk˗Ou)W~φUSI)oTtMl~Il`}r  q)\?}/?VIGF }my'8@,~8ϝ\WN@tW\$ iz5\Ix+aճZ9 =]5~A=p;0=a?&{QLͿ}_1_\+4_(@0̃e=^q8:[<UY~y傫eYٖYӯ i N1e>0#Rwؔ~e6|QIKIA:`Yc=~l>ӵrȷlYP¶,,:3"4pa1XT=Lwj|̳͘{ņ„궠p. go8Aj)6fKU%Ox\漣}wѧQWףy̕{jj`2q1 ][0)#UiS)js# k϶Ri־x{xU=Mi/!h.RڦXM|CUܻC*l2:ǝTʨzTDAiQSЦlpTT!+k5уeB\P(8XR-3ٸj񵖛{lB`@ P)VQ@U S ; +.]Lw($lpщ[)Z"\wBA\Y4`!>-֫渘[eqhI=I5Шa"Q-{[m<ԃu̡N'E:WB3JM]A\y8jT` %W[zU5Z8IUx.IjBF¢q@YZ`_om1KɕMG7DPՇv W  -`M7֮`*} 11dsR`EŪfk6g^Q9S>/Oa$\}FQ Jv'͹=16Wʔi:& M"q/ׅk@ܼx0o_-XQ{QEvڍ>eﺢϷNk%imtH&'Twvz5~^N?FVCxa>Eu͸W-aC.1&Pmz+h8Y׷:QӨv"ĵjZnqy-пwWiVkJaF]Hϝ^>%x^BS6"RCLó-CK2&ͫLn? _,%JG3~}c_[[ 쮭J*,!x4(Iݠ$}&q(=`:HH*Ҳ EiDZɶhڻNcZTf(gS,U=9qCc ^5`(K Sb#BJN,GlΏ2)!Ĺ/O^=aGT-ptUMo0x5U)I, M'45.+ArdKyZU FQ Fl^B|ꛕ,?܀gdlVKw^J%n{3ہ^\0=WȜb9=ϳI[{[NywqB[svP=,Ydc p8g(G5S TL3Jd :̧%8H|ұE[0Qؙ$Ua1R^pGp%6 _'.3L?)M@D WF2= lTE R/u5N琶 Vމ<8O>Qerֹٞ~pkKJruYsK\6]КRve["=b0 8mኃ^"D('~V͋? 񈷋vَl-r?jϽ_s^{kΝ{g9 +70b. m坝 ~^y[?/_)J7^T.%j>+0N?rJxᣲ<󼘗_tMr:uSMϏx%W ٽj6l޶Mv4լNBJ@ITN9sͳ,,1ߖ>cv*,mCb5eGLnʆvEǛF/ES5v 䛚~$ǭ1b $rW٩pZ M<5ݝ|W锇/9MCNCr`"Yp6ۃ@h>+wo*VVSu] a~k1pM4;#ѿ`Y `(\1.  ̎C &wBH`0s1yaV~/@d56qtЛ̀.1mr,˗|o3ghD'F':jx/pܷ%%ws~+(I7 8ڬ/5Ǵ q]y=gk; h&IzF̼C MVf=΂('twŚĻ]E"OK_V?q>!9.{{uuɉN'd%z?߭L uw f!ma0efH0hwfy&U5K<Cx7xp p)hkL߿Pe[P[ω"YL~SDۆ*y . -jf3[v w{8 lܒݱnܦenVS<#GJ$f891-pwC毥Wl^/8r5.Qr|ɛUS;ש7٩`ԻI4g'!@C|Hln9!vEXhuß_ng]w.}\}\i2{Zl"lUwP$!oȁ 0x鷘&u[ƥgT͉Agy:>638#0=(wmU~j-I ZGGQj&Մ{sY<΢}<Gme(fr5!mP s EbÖ撏_/_ao@nH2֔18z]]kg@]zA<+J`rpeπ27*hPNh ɶ=0$No!aN 6\ b$D&AoplDZxυX5z&)gMvsV) dq7}.u9cxz7nw-wMua805J_H6Qe]!c:$ ~{ (y`3cy*" QRV':bLULˋ.wϭDTIYˬ4M"y? /#@q?G2-PU۵u#kKm3?8ɨ-pU]f"It/W zA^-3: Kqf56Q@-l`K/-( dSx̍ !*;´z{l/W[X{ȱHwI[s7iޮ-}Ӡw|\&%TV0Aֈ =2;q?|pdcGS(S[_:}" JzL8ScJN ( ~lV"X{\{" nuB+G"_!0pB=j< 'l{hhBn}qq a5e#9fhXNfN ]ilaު,}_S[*:-;۰=}b&[KV({qnF|{p1ḌճXN~b !XN vϣ0;%4OѬ-(\iLEhlVeh΄"8U~1793 08CԒN13 `ϕ@Xb!Π`E~XLΘmN!S4<"Q,༷jfapc0CE38)Ls4vcmtR $TlU+xAnW4е`|w; ~@M-*P6dy :0D)q.BBN[H{IkPHX0dz!ϓ_\M̐y+`+ԋ"M -esYa$ @i=uD4DmSl_J;RN:iĩ7CxElynLxxқhVm*Ny<*]!de7FfȄMYqrR~ˍkm,a04;l\3` ZU$w a^gV'i\ӆRA-T.L0 W{ r0ּ]C{(v2}U:lk|ÄyWy󴤗Tl0↫{&n-6'|P3R.0WbUE1B{ԙ@!~ IЬ^'x?$G ljz;GK8;غF#ǍVk^07Rk8c'ޟ͐1[+n\5>J-9/iFFU^lM–R?,,27JpgT$5!w(⬀ll6xUkHW#?Y0t>sWG&MY:|yTp+nկǝme,0Ǘn |̍ ˟Wa X*96+ RRW@o+K'ǮwWH?l#,S34S̓'\d4 X~ԦV'\2h']ˊXKNe<:L VaG:VƏ} K%=ܱ?{qFo*w"5\!Щri\M 6֜"9fmJhD;@1Ho6B'8sNȌ{G-&yp!乐Ť奟Wѿlpl+P]Hm0Hdf1W`S8:&2,(tE4qW ]$l_QoJZňo"tm_[ U0zJby?DgCYz݄/?9:إ\h,$Y.i^R~}AdXNG2,1@l6"ZWSk"YMsE@d7Xq@?ɯ ;2~xrtH>r,e;b~Xp>B9n'ZG>x Pg{6qSUJH^Zg.JТrw2*e,i kջ?+wƛ)~p?r I+Ӽ hܳB'^j5 @2 (]/=I8j7:669KkW -Ѕ ΒL2_,7lu2i,WcӷG>yj_sJݤZ=3JI)pQbֹZ%t|.eIaиMUOtd6& =T`Y֖ pslT%jY; -Ǡ??N. JC3:s;(J7rR5#8zxܢUݙؘ2S(+'r,26kྵ'ѬpއG.Mt!)n vn&nCrQdW۫IӰ#)_\&-)mͽs-S7f]$ćf+`VZauCa`|rQ3)jv:)* 71!Mިʰ1 ܹ1Ug/5NIh<DkJuĆlg\oaPm4G֓sX5׸xlty'C]šwY<mjkˑcE=72f=py46d펑 \+ٍ_LgHoŬˁ}*3ѹf5A}{])M*BΰXzLRScJN=4vX5t$hk6\%*;΢ITAJl &9[_òk [6-PYI50,Z RWV Y|`%<[:g`nRs¾$sɨ_xSertR+g@CTu7 ۤQ*ƨáQPOxɹ%fi=Ix؜rSe\J\̀˱&F10uuNMQjٵ\ GE70H⏒uJҍWH[cɋ.n2՚;4j 9 :W|kcڂl]9;(:^Y֐2BnTOr49hr^`DzXCY ca82bRYRxb%TwlMuk6bn5D.Hy6 򅫋 08%SIK4o䊣鴧URd)KCT2o Pa3m4Zf wA2, Ѕq%VZ[bJ`SFZŎn2N+5tbGTV󃜑AFRM̹J s^^s,F@NJ%xICu06Hc_*`LyCaŮIai٢i_]/ osՍnd Ss ɡ^{Y͍@3Ϗؽ&~C9u F) ={jOvæ^,%GbIDxF }um&2'lCAa,]!MGV~mp2B%>9#~E$^yI0{Lr Ǯ/A/a竴-G6.׳}( i51)B׳E79_JUU4ƒy4y[#dLaD[p7YӉ*YNNXVs K*פf7 |l ƩA$.Y (\v0xm%V̧wƒHO'+>c} ٪fI)2Zr,@3EA/X53:?Gy%iq4Np^x3; oCIri#GSܳj3EYxl#oT57dv +(r[#7 KEfpz-zhiC6鬘Rc2Jꢔ=SD== ̶a|,LE%ZN%CeV-\r uCuOb#'Pʺ6!^9΋~fl߅-gJ$\Ͷѓhyz~,Zw}3Iⶒ½\p;@,%GkvhGSn)T%erOMe4U'fHKMҫXV"O""{u#aJrov;S֪"ϼm،m,|ʌfE&{kv?WdHF+l QceyORrlQƮ׌. Ե*С>G<C -oŶ-eʼ_N]JZiBMod#D`0pVMvWe_ I{-3]+U63{% v0)_T&XX`}E5+qH#ekڦ,L#9jJ~ mWkgh,ſy$FM Yf ]q7,s+«ԇC%(٬:ōLNE",Ė$Sf<=" mMUWJv3'#h+u JFFNFk\Al;ޘlkȩ( *Vyz%3֦Q4ЩU}eQ86ij@UYfry-wKg voO3g~e>3e@[w(߉m.xueG0_˩6ͽtR-+8NDxR^k{P)2wA{qq.h |WO\լL9C8;Os栘!=R"}q.5^u|F|^lyXЙ)`{N=Д+<[P`LJ9R~he!`L( va}xh1W/$КU1*SšyǬM hҗK9J} KCOTK"$v+*Wr_ZӨ)h#O#yոbQM)U&7h:d1D[W|u6DEUoKe5[XSO倇h8+fYe3Nq'ܑH yِsժ~Mm{HPgCY5tv=Eز[N[g@Aqʑ[^s<PnQQ`J^t{v#;j@.v aŠ[>PhFkg%lA:XoiWM{~)CR4I7 j L߿O/GߟY-P }B^?g2,07锁!sWg#9\y&\٪&)έ녱zPnpM 5ЁJBqRm#-íOP\ٕ&Y fFjSv&7g7ILTQ+jNf%/S'cKncܠ=͢, ?˔6۵=)$%{l^J]-5n`vh仪¥nM4ח.e}Ǒ-i4ci ChuL MƂ:h<K_D{ōE*aC+{{`%wUa[oQR*\[vH\4OyVP.Pۨ,1AaزUxLh[o[(<>W֔G8m4]]}ܠ6v%jҞ)epܽkxGW]u`6*Z]WJQz  :7u4I_i+22_nk=+P$T5fHas^vͫɮãL;m ^ǵ( ]^fPGTx܃8`&VvN21pɡh`v{R}ۘV>;v5۠f@a KԐg6 jR7h ZZ #v>Q+%) `m-NV} F%R Q0'FO̱Ӄ 9<(S=F& 4pg'NTќxbOqdk!H C..0{ky9<0,_(zN`BYfVu}E_8]RSޫUpp6i8Get?$d}4 `%5[OEtmIpQIMP[0̗eoOL#ڳBXY&!׆K ,L!![b:\mPj0>hUujG禹t?N6Z0ըx" l),ΌSOD+Sb DZVe0Y jFO}wr6YPO$\,&PpW#zl@=&K̍]0cCUٌT4p* gYA0s74+)p8*bszn;F,㢫.!Bh6u0nI>Eɍ7u]h{ڈbI&=1'͋ySSpMڝj#|Ӗ?MڳvXkREcH|j7}K|~xG}k_qaB:g%Pt̑0pQ>ɍ/8-]p6FY=ijZgܒ!57ft8sBOQ,RӢdfXەF9fg@w^D2p\ Cd`z]fU%9GXpvu5YoQkXC܎ziɾA|nYZ9.u[ ro6ۣJ 'XśtN公 ծG4*æ#j3@`4ryaEap? /[&=^|e4?4D,(r6gN dt#p>$ 8v5K j֎EĦ\@\n.;j8v:nWנn h HoȘuPr26k%˦,O~+0ED#QqwY6Gd.Ԧ]5 C5[Oe XCHnAY8 QitG[΂ xmcFz2p H댨OBQl(@V&CĖ,6_ٶ.)~vr[^!2vL_qt֤ԱCk MS'NsT]sқ%̽5UUyJ;C@ #I("15f C5ǽX&X mH؋J2x֫[Y5 ˹o=\q߁8W}\6GbOaR%*D7eދϱ#͈ǧ|.$Ӱ_8rO90zNbJs'o=KSăSOͶ b>5S$j DP4lֶ fBt9IMFB@뫍 qD1]݁fB%:} l 夭~\GsBX112F%Pprb5rNohPRIqC<3h7r DtG:ɜMw+D |c Y#zr:c"S?;A;$nY?bЏ\܋hEk\/ƇXD+׬ne* ms&$wd&ʩ9`ڸ[\oؗAja/>7I+-2;sPÿ>cT ɒ[;x\}z_f|,Dw~}=DH|붍wLCPz# M"bk1QdWn]k,-sTZ%L3P :n~юF* zl?4cfQ\<ф/LЮKy#xrՏ_@8m h˴|[V<ٶ ":'{}QZ4"d?Tu1Ycڛy9!=KYr\].ܶ23\xpx=,}>,J @\a_I Ûa߲lV(YJG ٮZ%[:ozf*|'^Q, -Ľ6>JYmsb*Eg9+L+)Axk{Cpfs-A'Az՘r!~o* #Wn1̉$U .<9Lt|E/VE>;8:j33GJ[bu\YBI{Þ7Þ6\Ǐ˸†vnz2g E=S؈xs J8kF&'Ӂ0=Nt.8lm|:ò^Mv5wV`,VM0?,)l638H=*xaKڲ z̺#IH )gDeuK6M ڍ*Pϲ 6գu._7k oySnxK np=T,ce(xj= Yn^έJ%]3SO-.Q9%9iy[x~7[Ln0 9xBC]X˫Ӊ!C=U*]|QA9dƍpTGIa-=%g -WILX̀U,uK4T'!kԣ{NH "{^33m; v̟qsv³ 9"%ŏv\1>W Q|<$@yhe!5+6֚}܋C0s/p+tre\8aE`e,0 m\F+hŸtIo8K}Bԥm&4 ~{Uvq=ܑsd7Sb/K/'ttWMs;\ҹkjjXr"3:CW^B;;Bhc}Gm]~!+9@F!-<궓=́KfA>GSXD.+u 7,:ghSA"qaaĂ}H]<(n`uӪ^Wg@}۷m;Zm"/F[T|!Gf| ߲px u@EBb)EZ!XXň(/!Bíxe&}y |=Zbz_ z86h^eD sSK嵚 `{OYD&wނ׍==皟 V٢c$O>Of EFWdG1(níe}|qrN)& `Sn[JqP tw;VO]1ϮƠ'}Kȭ%-W8YQ0r76ح1 &6[V8ǻs3,B)R|gSx J@ ^T^ vs7%"yDe-;5 RY\]1PRO6tuZㄴUCY63*+[ 뙵SP^pbR BLYltxRap>53K/ڥǚ|_.8L:{D(hS ~$Gsw1@p.SH|x⨉dIB, F 5!@)f\8AyVc5SLO)}8i<ow~=8T&F·K]6nEm8EWyC[kaR-)3Snb = =w ӡR APk6#yE@x2ut=D+ [Kd?gAD^*ߌs<ꀃ{F 9,Q,ZuP$<"s##M[C4Ey=;8\϶~̡eBe3>y+lKV"ZSw^bUlmm) F!k<$n*Yt#Lll׃K{Oo&G!DY.ੱOr |op50H D@;:R8R#QaEmǑ1k1Iko37ɬY22v69sxpI]ߑ4,Z$.|:VT0 UQГ=@>Zw>ew9'&qcBrMj,S©ؙ yNdb_ l |S,,3> h܂3؁Eю(g1lQA}ΡO]id\P/7(#::Rݥ,yr2K^+cDyD,#(\5/t+7ETھb5#W`1|{+.61=ߪ(֚N:]80Ҍ?洩8WA56)Iڥ(J\ԕ;25qCZ|47:&ƻƭecDHBD1ܯn"B gOa%(eG{O&ӽr0 BlzJ}Sfɹؚ]!Ų98hĜlS Ɛ̾)F('rA<Ÿ$rݛ6?;5!Ed-z۴g NrR?fo()\Vd/⋙vXjnoMƩ*ڣ %E̕v S!1^؈1.g2i:&iH6J^|≬gxvZ)">43A-X95Ja\zWKĂV; q!?=b;bZVYA ND&DurMɒ.#%CcP@"8{٦x,/lixClc wI3p  nѾ7Y73-·fӱNNY6z#mv#Е=ëU ԍɘTOQg=3ߦg郥Nq EE 0Xmh_#oA0: ĥz%^8?,JvAcf`ٝn#k&߈c*DL8තxkoԎQ @3tn3xBNu#RR4'iƈAQMg&{e z"e.\!#RNcm"(|[?O>~[/dg]wZI)CXɓ5igdd<_'_WO@$Z3*%&G 1X9z,\X^IѾ5uOrav/ˋ`^Kzpkb6Qn1EFq.Ǘφ'e<ˋ:A5q5@b6p†i?F5ӵ'c퐀]Nu1'pElGI,߯#<6WAU?u u4.8[[H[#>4pN.V>6 y0eRCLkBxז XD0s/×b f^| MoBmR]T0+ Ǎge*?֡{tÕv8J#VO3 g0th/5 CW5%ńo zXX wŕWGkwD w@!-RS,l x9l]GL6w).t5G8Tofz:V'ɫHyjokTvǎXb6uMF1R3wƗh8yO>'ѷ\o!zίp>Һ/WGWK^POb ,.ĜxA[ u,ȌF%mg oWu8;Ϳi䘙˜9ҶR)gF!L99U?u([>E^3``6^Y״ .e׶p5!@UYusQߘMhNZL0x맽dz:u,EzQr^nXW;L5z}W 1l8>҅ ('v5\3 D;g)Q_L]̧U>JLftS7ml(& Y}zy28RwCKP"=瓐WjACuʩ$H6cLB\߉)y/Z:]54J_:B.y @v-N%M0da{`K.|%5%p1UfŽjAبpշuYG$}ibIVK2CLkӔk[kIڐK([ŷ4CSl5MN x}5N/U}K8 l|0^Knvj8jJrӀcs0%؋.g`MS\Ps( Uz ݶbm?e<Fvi㰵 𾦲&$]@LX.ce__J%ȁ,ؙ] gt*XM .)IYf;Uj tp^NX掩){F׻+QʞfXU6:>iٲTxB /˅SPn)zr_[!JzC> (IIj/ZJ#KioUg1{H9sK" XS4\JEoLPxXv{m,qm5$!;V HeXRrvڈLEKG KXwrżm@Tv$_ !tSA_3eEGaKVA9K! 7 "be ֤c1mfP;,qM6LVT>ծ\arüaFm"-ǙG5Ug2#˶UZ虘yfO\mnaWfsSSV WYDbQ7rL1oڶ֏?L$>˾ܑ3j %l9QQ[[5[LP Tu$P PWP),g a_.؃idl*b빰F@Dp%<*kٸU@iܡ# Gl"L$ *1Voh=ٱdI{JY"w(5kL(rRyAl{]hT9 K%jp[UԬF\pOqKF1G(Y DqT=i P]>]>~(,̜ɜ0]7(+hqbly{lu$FpMĚF GޘT\FrMW9qɎjR K*gH=[qo^}X>7<oemO9 Fl0O < n=>7XR,_F{ʨ$ƍGlʉσhivD-\s)!Wid)1ʹ o׻S&69z5ƲE=Hsc1M#iO-l Մ튢m}ЕF' )FWvbHsWu@BqjB#ju@qUtRh ja=J$xWGίR饕leOKoq^F0p?WP\+{PwL#kڨOxgKcD {X_CX ]oAnU=_}Yw5Rd 5IZhfE ee~1rn?Z7$-5͔qWD&VCbK8op)9l₷,Ud4뺥tY";ٺ46[4,p14^']k绞N5*Xjjϭ]B쨴2rg#=D>g pgE䌹qBm`XLv_+y?3wj4|+0n=._A;rbΒH]ȳ}㏟ۇ[ m_y RD'Y)ai3JdZEt e3f;lf_Ϭns洓ס7.|P/87o8w Y/TYN_Lyf=PeI,VL/ShK1'8|\x4dKjؔbs󻆕3nx7#tH:dًp4aL( `Z Őmֲ7z܀|~1f7dB@7$XXD9--:} "3sQ:]/+̷V/@1޸WDvGoM%ɓl &ժ]X6pw(xEZs+ݵJ]7x\sn&x_ Kr' @<M:3Qi0ԤnR3Nm>Úe 2Tx"҆5*U\=qevR+&;s QJW"*%YM70>Pn3(e`0/mFsC5qU2p]4}ŕ7([?|h:-Ry M9p<,W]f¹Q7UMܫ Ve\*[aHf']&6úwCl>B6|1.3}Љ4|3|y?y 2XS*4q,㞙 K4AӦ& q+ˮ(blSyNJ,HBJϣN)/>rH&w#'T8͜G쏁i&$E|Cm&cb㢴)9k+%nVn5H-#L4d.,ExM&j׷nRhoA fDh YӲUjZ.ÉE;,WyDۍr('odm|P oE2Ze(*LTJl.E8 1ec?;|r@TAET?SlbMbZO.ⳋ3/nl ݤ1#KJpܶ,vv aOZ\YT"nrAE_x_1иkPabZJUjxh BKjņ9'APEi!wV(+ޱIx&dbޯM!YԘaDL}f\G C{sa?& hJ/e7p;Bj0t->Yۼդ\".D+qTǷTѫCD3B;vR6C6nhA;\g+Z&p_̈7=H<*Sh;jKbC @R#:{K9`vKr[xCls=yv2dO ,Ţ>gk~&gNA?BR -3:Su2UcH[#2RL@b,K(27˘9Qji-B&>z⁐>)ćv{۫f~]Vz㘜NVuEbi;ݽ{wK_v,nH<ߏ~'Aԭ}R4vUQ qٵgD`41eٹ_:/^:_nls_X`6clvtxȆD4QB6ʤQ1&%>*gE)7EN(A1޴ʁ3NUqKBtd5~N S4A'2cQԲl`.%F,Ŧ_(vPs?A_dV)A8՝ًxx_nyh J?4fTQ0*PLEcǰHZB! oz=MŸIr/Jم>SjQ`"i ak٠𳍑* xOg?OӟUm)%$4K^aGe><ٴ'=CXή<)&rOD>nӿ?nÓoz`2l)7׌Nmvp9*v~8 5УjCi.Md&@x vR++0RťnEIބ4d[tik TY}ϻr)Baz2|,"v.!H)5IBgXLy#ׄZ#6B/Ϩ6atCz6ks/P̀_86_Y'%&нKOpW_؄2"W@se>q/=,6-2)!^J2юs+Am06go fjVXu=,ǃ|m@{/G VBe?7Ҏy9E);pd'vgfƎMnM+_]h'G0o*+TJ\h6;B }qCٷHG#ʽA7ب&[䍉bII))z=V5q0 q57Q2|t^a-T{hЁ˂CAVxz_@u"jݢ7L/&y*|8#%F",טXL_IGfHWP}4xA#"QU|;[ukܖ/&spLMUnM4IgNu`𮧁:֪ʳyu$yQH͏~iC9RQ;Jgn~DpWss|l9a+'5]G;1Ϩ@2(Y^a*LklRE# IA>2^^иm2*BnuxAf^㛷yid\;@Ju߫VG#YuEa-q^<` R Gf7~5pfsSGصuMZ#ܤz淮^ e7WuvTo)њE,ҶmK[JB BPЂ82>d٥iܶYYU9SG{Gttdh$4op}L}e$.#\K3 UΩb Sxh. ϷѾVaU[a \hoQs⺝sn65I[[m)f)DK6M&U-^ۛJluZ@NIz,kJƻN<vϓa~ Qӛ᪙@TJQX$s#o¡U@*JuAŢ0;0ʣf@"e(`>(x=bu'zʤk8~`oO0H}u[ݟK:"(Hl"ohVW>TeF,{ ڱye}D~$ԷDH1sS 42x4@1yke^rf؜{4JrnCa2;*]wtKϣx ]C|:99[[VK̙]jjёшE 3f)|h;lS!Tn9kQ;MÛe[X8k ̜BcX"~LʋwT k.mjk!2j:/ꎒW\,6>ˮ"]-1ss jTιZXzEIuFS!y', C}VWŴBy&MqS&4jmHp˂3טֻan/H}<к%M*٦%76XH2΄#ìjGZ[ƑiP.»bYoN:?i _ڸ ߓ,$Ɠ:͔X#\z,Xvib#PN sF1r7n\m\BX ۹qf)MzṘ Fz\4tJs:%ړӉT5o:~_7'˿?K\X7٫-ISA_+|$ēպݰ> &Y7dk*A=Iۼm.Y{G3+҆%3sEcDF *]pvcWS- :pŽ_]ubl7#\`6GFF46FR< ~@~*UJk*(ġR$f oOHwJ]hd'/jUt#$|9! ; w`V&rxEu&0cJ1/ʼn[y+.M͈&v, E1+S ˨A*bM<6% Xާ+y*{:VBOHi`tF;XI,H+J?^@" I^K+C{lo䣫{98(&Px$3Z}Rgf^˓5SurWMd"{H.VDD)Z,G˸[y6N0ٮ>@q8hH lX,f*$unh 3֛.7<ϕ㡬r4PP+:#Օ*R&r04=:ޑ×&j[l߷˲Cq&opTȷjؚV$(kfy e3 59ggӢKx7aHS&5Ѐ*:-χRP*ա1]!R=H5П>r5tސ!vۆ1q}r ^Lw46I ip#e\ڈ\Y Wtsf0JŔWSnc5ƃZ1]L~9i6Q͙uN$i"ZbEM#oeW(%sq|l)K<%J~5F,~^ *k;M-<.F_ST;-P8NSF_:'pH&6]6SS? B)8uڱ#5V l9(b%fG'N"$؊,Jqʳ>,y%|5RGzůyENUKcΌiNk@~S<0lsV Orz6C |K*Iz0ц sl4b5@#Jx*U4#t *=)3pb{g6rGTΪ/MW~鐸^B9mEhDٿεwLh" z+,( P[ʌ(QIe]E^ò:J~._VkSKv<8ԏX^:jXE/N5Mb8-%a# ~[A6J U 4N_%NYD4v<[5M 6m3c`ās"ˑ//l35E)*WEK"aA3 4,ax+R[W_'yzb\"caGO].Qրڢ@,hQ|76bu'sn-䄔Hxgȡpyu6-:ذ.gI,T>X|h5iH*Rzזh$v\ e7*y9RS}vx 9'.{UJx\:(c-)iѰ\Mj獧b)G6h@c``yXN[ǭ +LgfA2k~|"Dh̖s)QkcRn(W6\2YRekdo7eQMGMV/{t1śhWԐmVVt)ޭV#'vQ/Q{rט@>-+Uko)Wu}<ʔ4x$+Τ /| ޽3 ؼe$7܃%p .v99%c?U]mYӿկux7 Ђ'sU~N\7A9 ciy[^a^$nуv/Si*Nb+QWhkQQ{m7"Jek$xT?aN-L!؟6W=k[$gUJ/rpE&XOtԈY_(Nmx@M4ݨDԢ`╁5d%$+x;M`3CS7x])6\"Nj.rs )?eH|ϦFQgYe8lqq4uq`3 Ng3 {c* CAVECމ'\xQk*Lg (yyc]:mRT;QEӂY Ye| M& K_4"H]h>,͸ +ZX`_QN"m<*p n)JΓO^;z66ũ` ;TI(|8|"/Aoщa.W 䳢8 W2>dGGn|칳zn9b A6RyRfOC.VνaX\(|וKF畀橶32*bVmR#X.NoYdlYQ3L#ֈQ|6j?nf0V{}o<% \:&k;ufK_|[^}+x܋ԍG/ޭۡ~8w|uE_Wy//k[^r"4S>u/Ͻx ~????.]ѵ[˽Eϫss^{kΝ{g9 C-›pA˞ ~?˞~~zϡ;;'{=ڇ>>tahDšzþVpZ D}$J_Q`>{X·GO_MnM[uo çCF~?R=YDxa+Wkݢ>}IzwX;|mzCcQ至xl0EZP&cD+v(P$ sL`C /peCݗ<{!Q)WO=IGjٜ|z@q S3'k"Sk!ٸ(P)PL34WTu$Vven_|5ڶ2T1B(ffv:f˫i/S.|yiN32( pb<#jBBžR;s>R t?e›"CS })ENsi|GqFO!-}Q2l{[^KtK`_^{2 Z3~_2)KD.ɟa])M'|V8u!'@<8D:}bj(0۫y܄ojC~t m|熤LͺV ʁT;EiHEL8oȚZtkO7"UGMJҸ?$}҇$H8vmECaQxU2$#ZbJOԒYFc{>'3 _07-D+;BM㋅wYpǴ wO&u%2ޠ4xB/続pI4NMog-zoȌ%lsށ6 [> >k D8y<-{]p{xoc& iZp ]n:RМwQDd?dʿ&V#p5a a|Ja{p2쟨`H^V | x?"iO(#E:E\)Ro}훁>{ -i_ _y? &3%_t !]oDTu ~LROZܦsynj-)4UE;į$ $|[2KF|Gpl33C=5-ah+kR+Ii1)7 E@񘅌K73,6㥦dA') b[﷢I9Użgq{ccF|$ITo&@9,>\y''nIL8r._Ϥc gB|1~WF`iŸV!jq^OIB'D3Fob|3ct_}@B)2ց?a~XuwOdKa>PI?~1P"]#8?e|Fԡ5RZb ~s1}GGUSيLzX;ݻ۴Ǟ|-5|lPOJjkv?G쏃rzNό7Rf|t˥aq) ZPJghx+鰼lN3B{_%t:'$Z6hg7 JR" -R`/*Z$_F.L^X>{J8$Ok=}F9`Bǯzn@3tʂyӶ|cJUG q7OgƕRz_K9%)j2gu;ҏ n;B3Yo=a%Q'QOGT˶"-t~OCM4V~b~sS#H:Bӭ& ;$i4o5]uSb@,bf Tޕ\$_}4rm/'GOK"ROZZ FF\X4lȴ>逞Tw1^R9 9j@[w5pQKNYXS[b?8Og} 7a yN(<#ֆd$ʛjKM}ü2N{Zx"lW&-[24DC+xU֔-3QTfVuW/*=zC-)I8Fw'<>h.^Fcp' dcsF8 ;fHV{l}c3_c֤=H! H)~jHNS .%яTpݛN `@hF1k}(sltBelE*mDUOxVΕQ-y5_x#%nIc^r*cT'.\rHs*/;"^1Q L=Xbp l[z1馬^N T~'ES|+|=Ɖƫt/.$IE4'֨LУ$xvV;hOX@SSS1QHs7_Ȓ'cF#z ?.3|!?ѓQjX5^4L)/OY9&pvOf"<kLv7F&f~{Vf9-[(]Ո M@'D(G?XKdm篂w׺,(ej Z^!>lO9* n+X6maĞǟ YY$vxi3b h<|ua%OwF>bV3ZXfHx&tRJpdީ[{9|έ|Ki.dy]ty$kVtSb~e!iByv'|v%ׄ{j(>Ou\'޻1^Ui5". O i J|au \f)W|z)Q+s+~fkɖ$'297f]+XϺ M7*{ |7t1)op63g\  W$n% ΛY@Y b)=cs엞?ޚ-J!Jx ="g%uE.n+rJf}HGֿs1ㄆ>^a=}H }a*&a;dhm*KKlFsE@1c5(f4ƸRWNB^ݲϴ?·%²Bg[*`wF>@'_<[UdsĔ08j @:Pb!+6ȫk-h =CТ-/bGP@v?58O39(E?3z,;#xQ)j̵gUa Udl {'룳}Pȶr]{V4I!qBg*is?u聴E"ӄ}QN1?1@2;zbd9bsÓ58 !?|e10y5$9& wӔ"7#UkY{ߵQOr82x؉w`.v>RA!BKiJP?7lc%.9<쁨0(5+lplU4r{ַ}AwxfY6ap2 tcv6N{itPk!H}}P l4饠Pa$;3& )bV(vgoOWkw[bg4Geaat/6 o#R"}%xorj; 1CC,'aNؠP|6- ?b3'?f8h [ OɫfC\`+yS,N :CK=7ocSyChXlSy;!cl {b*7)TCtٚ/U|7 +)9 jt#t-V?j(~ ) zH+&-n1mqo}ʍLm=P}H@b^q'~p_;o#uks֟j9\}}^ڠK{lr\h,F.Zy%wdO:Zϰyc6$˪sU=~Լ]ьTp7L&vF3h|//t…]tޢŏu<\6@PM<0'&Q9[Î KU [$ds)ESVAnChpɾi+&cy 6k|_Oޖ#DŽn؋cG;ߊ7.05r|仴>KjBUtQfMđQF"oA~gGR:w:1r t,Ec'g')f}Ɔ&^lY"4i cܶiSc`23E"IXO+;c ˰]^EHj`A!nvGIM;/Q״̉eP|Gn[rBo FP{B:c,^OsxaiQHeh VOyw ŧ+ʈ\/vGHf |򉃠Pi Uh$=PfTy+guhṖan* D/we w$yƨ{ nq :ofvRݷ^aN!nc*)'dg˟K`V9a w>٫C ;ߑn޾SBI:0 IY=85r"}&r>!Z*>߻,z/b^ #k=OAң s-p_{#ǀV;s'R9nv w[|3\V*Fq]Oˋ@XFs^8M@s1Hv9_j`FX'AL6e?#> ?|Fp `8/9׶ak:~&Vq#f Peª/HyhjŔ :.܍ML>{* حlv/3MR>`m HP%ϻh1l8݇uc‡flWz ,/d$L6}0ж17v076]k ÛyfSp0:1Pc;dXkar#׀{qvю-r7 (O!p tCY[CX>˞e{8Yh9 ??p/ J3JnxVS!ˉ1mrWm󧴭D>cQ$}ABr0+T?&_#tGudL]QV|amDwޤ٪%-0ܻ$4:ma"VlPF0rc~Oo-̈g3]0ɾ[VOPgVlF8#X|x\^v&l^_;S&6:@d[_ Xq,<Ŕ`ri۬no]aV w@22~f٢Ј]leCFچ1t4UQ^9iU]-ʖ vf@ `ҶFkJ]M+n3`-R:uOmewR=*c]i4?7|P'x$>QU07LQOyv (x휯I&eEb jvQ_ؖ){.槚4^x*'J pq%)V4G[+d FZ5 6̆tu_+v#B:_/Q-" ~n% #}A^"F&"B/d@mC6yOfBar<x"ܧu"X{g=# Y@^ r{٢VF3XbGIUD&9:N O[׾ħUJW3?np}(ٛ] !_o0[ϲW r6cF^XkWܯ3 Ŀ"_>Jݏz0h ̽7j'֚u?F(7>3;g:Vvt~W>}ESܟkH{_#/?z, e8dgq+HIF@K*/ef.; Kd`7C=7M?M&&d@(QxH͌ʈoJm) &^$.ˋzfK #UWҘ8 vBLxn~=EIt%An\؆'WE[Bd@j wđY%52 wUn\vV@KP햇ԿdpzLpcZ(.q.X_Yl>aհM*kM8SX3ǴO=ߞΌ:/3"pi a09.g'Aq^X8JZΈ+Q8-H/dBlf0 E.OVvpxfBS)n|Aݠ,)?Od^E1qWL<"@-æ*gt؆B.pJ/>,sٲ䙈GϷf0z.Y9̖ā2-Cg۾ #l A7|BwZ5ZsS}Y^r/S (wk1Tfuy$2X0|˨+Bf_-Ńr=,ۍDU0z25~kOTo,`'U'37[)|+ or`(6^< Ю6wO'k+L@a~Q~צTw4WecP*xaO,Jز)Y,$ŵ3I *4Hixg wO+C-E":o~wO `Kfod*#fpeyz @`p` !gl&wz??d(l=?=cMN_?~j\) VO+-5ٔxQ7G#- ׷QtydۅD B_8{bcp+2ecC54Aଳa?EKk?S =-tUQ'iAч+e8pj`l [+鿮v!:u73jzNh7 @'p/LQ`wUjEyoS⤳l2+_ZqE7_ eЕl ռ՟;t>1̼DWzpKȢ&aNM`/^{ 7&E2?WQfE;3u*)9#o31 R KW80,`i{*G/3rʱ&q$J ڈp\L Wq`]3:rW%N&=_OOèNJrFO%F @mZ)G j) _b*C|lIutC8@2a8_UvLxC4e$S@7ul (f:*p>^NHh0$yQ(Р$HWoEwG~?ZBͬvye=a'V#zl~J[uΔ{닕LVҚ|S+ \>eRN$Ru_A֥+$-F@SvV+|-0Q(!S+7a643Vo_ 4;dDF.H(kqx$zh4\+qU~QH=+^$vJo:Bz6hPbHא؎v:Ap.56LJYtZ_qyΪ <B%rzJ>d@SGRuSd$Uu|H?=%!* d';QW8RYG O/l/O|BAZ˦|xN6hnb&4Sw󨈣&^q[7uڳ f xHCAHwvCNb_Vﲔٕ灷^760ЙeQ<\8l*--{o;T>1*9\ڱKw;ը1IצsC._ķ U Ҥǣ~nn8m87܌o;Z9"$!iZ ByҘGӇ%oE].q!>_lt|FϑSj@Uғ8P& PkH`[]ZEQaS^l}\=}ٖ-&T4$h%mVF{< ICٽ6&aA%STw t/6(RǤ)d#eIM-ۗՕ і'U!qe# %Ü*%z-$L66؍[m ~@~vĉ,!@e R>Vk=A/}Ji9/m;#~R+]LןZ\+C7:KѺn-a Aٸ-^]?1cN3d&zNr\w =1Jӎ sxVTH KHkUYSbŭ&ulUfALgMi"tc2c3P"Јh&nsu&LZEYfx5N(+>6;Xy1/b$Ά+{s\)j6YQ{d~w6 ZCUm{ЅGQ['󶗪xN!GѬVz%Lˁ!ψiJF[#|\_Ҟ\"è!X C@z^M:M#Zr j` hԠ$5hIP_`,~ǖl4 m d((^a >"Q)e0/}lg|9{Jt/({ §~hnM/hUFH|-TۘW Qp@ aǬ5|Vm;۵TSթ}L}]Dcli;J הS!lDhERktFs( @Nw1؄nɂ] Y_ۏ^pnL螆oH&4YUL 4$(s"ي3m3!VA 9E=jixK'蜆VDRjVHRj,1()ŀg3Q&s11鍥fZe5+)PIdl8K?p<ҭVjn/X3\S[uU ݅iSQ;P34ha3tW6B˂-MFY;Z#9vt֊ ,_`Kk4BNIת4NQVjS+X>+&=yL=A\6?߳-0C?/-SVyK˜iYG1S:Y \[/IP[<_XEj h|)V8Y~;F! 6&ЉFA_TAi}%rPOh@Y|JPХ(L?0BXDyF=>9E` RٺF ,z ~tx'vaf?*e(}L 8ڏxl1n=˸fTʉJqsM7Enߍ7xM7|7f}߾}oJgV*p {]xΞp_x™_^8؅߼p g~|.zGDq~%kEs!l.< LCxk~eۜ}_p8yLVWeudvO]x4iw‹.G_|G2 ц;t =k~ Rk>w Ϝ 92/+Fs>*ÏB?|L@pYB=]`T)a<6(K%r*rizOɃ=~L9o=s_]~[4ԥ6 8j-ę/y Mw owDW}s)b*™/},\N<`Zck T \Qw}?|WpcO,gFnzγQF<'?=F}12al*I/ )Zi}_z9ؓ|]zA~™.ӰzWgCO{?=! o\o,9x#l۫(`^ZЌ"+@Ë:ʶ=e'#D/> ^ʋ"ר甝̿6"L}yԤ[.ݔ`2@-1M@?ˍ:яX~L&SsK}ŷGc:WOt~ֽ6p: gwy s}lRӤkLH3 !P{/ۛð~ܥjG[x4fBx@R2ïr7#W 76L}Ï]xyW/=w)UP"ezKDZ©ş3|7?2" ɋ~bs]v;([|wo 9)LM.ŏ-<;{ L: \1n?~'W)q>Qe8d!D­1wO|6?]G6I;ٞ?OhOi@^+I`Y|}f`;lZ矙م{OU`+x^7׬t~5l&%:4B`qp\Az~O.ZѰŋycyo}xnձ1upj_p;TR#=bC }i7.ҥ} PH~3Rw˨s[wńx@Z/*?ލ瑫\v6Y'u &sf(á883/]"f8|W(iƋͥ<?l⺉LJS:>lyKKӴǴJ3tp{ޣ+RGR-EKo:4v"=b BzP; ga6en]@Z|V0h|ƸKzchN~@`@LVʅ72وJ#=ze|#KF~S ˇ!y y ou|7?q++Z|?f\y|Z[juzB {9:-pl5t1*xYCu&L )`ZgK48pcIv.~RY] GO2aD߬< rxcSi`; O,PqC5mW1i#h?<}czyO#\ߓ&7?cva8 7Z,Ch>ELV,[0xdňv9,J2k/Z&|I\6`(,[jz$ 8 fkEw{4-gŊQn'k$o'{g=Oymg^㦡BX^z/>7%s>kkqRh s*}Go~ ChLym}!;YZxڋ_2-iWo!kBJCVhY݈oEA=PDke;ZCKi6aVZx_Uv[o=:}Ⱇh#1\,b-e`5;kO u'HKSi(}pMgȗDd[a\b;Ww}{,ke`o7< Ď3'T$ݪ;mUUQn &/>^&-o }K4 R_s؀91ʀ;KR_`uBF% N 7X٠G fgAtaXhPWсǙ+= (s $+=_!'a{݊~ 5F>yn~Cg-mv P>Cq;"V,'5},.VOMGD~Μ˴ޛ_ť~"-5i4xٯ-=OBC+p Zt+zJc{ȀN>_ybU9ỏ91ybj|,>9QXg %.rz(ێk()ĵi)6"lo舣g/y7 H5n \[w{ZXp.0P?ݑn5+..8Ț:7vp) (Sm#7~(^pd}b@"B7:8(9GMhViE]+dZY\.~wTU,)דʠH:)ʭd5fЋb/,vwiUV^+X`b#e،vxλ8yrN{RI]&Md0y\5U:3Y;0]Y )\#+~B8+Dl*43-~0UT%֣'+4%yxB;˚omȂ6+6+ϱFPmUԆD,O/`Љ9p 鲼& bEsC^zcGt˙IP A-tAW;m H;AK1l.Wk{*>4ƹ=S-~| z6UN03HB2ywhU3$ 53_D>G|~jP6I/R^`.LWo]1 Q:9ljrRgܟ-{0~GHIv 3ݾrJ֗J&}#HRų>|Efu5#,w~[տ]{fJ8h~bUC}cSDя~9IlgrDׅ8tRIg:Naxrj>SRvm9[XYbj}RȤ۴/#)TXޜskVCg$-\9.jyxr< X6H2+nScQt0˞z3 zvu[tѡ}˯ǩ7<{;4o?nV[5PYl_!6beV0' bX{^~sY0kk練vE|Sz8,g̫_d$xi ܫ O?|~;ۃBSjؠnվ(cVy<"\?uW)cVC^4*c,pH~kxZHf3+cM\Hҿ0pjFz1ZZ5 >/\n*j'1곆L4:-"୷HאA88 /K~??xw-\/xt}ӦG?FZ?x |̇_c?:PF\u+sCx[\d?p M?w?칇| ?ɽ e#cd2@U*{zrwȉ{~qB|eL& 5gQQ̭nUY]BJLsF1w 7I 5ZPj*M]?%|⎿.Pװwtm!c:|>N#H,qY՚@ѴV虘Dʭ:A ,m.=گ75$Vp HzJF1Àqy=&: C?Tmu}JG0(ٸf#,,<:vKVCv"5$4đ hQB ?}Kӧ{]i \]'̚>f>S#TNj]c(ERRLQ7 LZw}uҾuKny @dm;vowpXRl|):Dx#[@06h *YE5n'5bR7 (ᆈV3:#H@c qٗəd#W7ҵaևNىa΃П σTN%`XHBhB}K7$URIuNb/5Ϩ+!$xeN_϶Qnn3ͨ;.7#X}>U B.f3%L,ASQa)xδ당>DC ,7?s$h6d(JǿNMkR_8-ͅ?7}u;WqD^fo*bKhׂZ~gt/50/,rïBx8{>N_6Pγiө -ȖX Tq ^fsvx:j:C,OɡhYx:jdL E`,zXt5kP;ݍE5ޣKjދ=|X ˆ6HrڀӳLpCߣ4`% ?^w^˸N`M (R ]ֻ#k&1cf#gk 4ñFxd(Z8Y#F/AhU=13aQ)f 5W#3詔nJcrto箭?NƵe#X*>@g;-|1E)2)mAK؊φg?9;ŨEu)k-ց*h> FcNj'xqqz:Oʭ޸^agߠ82S)ڟ}jR8>DSWBԬ=+l!JnI⛤xe~|_ג]fM,\A+|Z(>k`[.=o gk ;3|p/_|ჟ=э&uKoOnƨlƅp3]<:ډѤʙ?$\x!'K,.>닏aÿgxKk#Ǭܥ'~ <7o\Z^ =wPi|7g ƞOWMfM;o~ݘP+ƆoH?ǿCv}g msݤn7]Sc޴jƉ;O$+l+=m \Ltc /)n ܭPעp?,#+aƅ #nnfbO:a4uҞ RDl;71Ef6I39G W^OftU2цbGOrV8y=` uV-.FL8҄[Re)A/y"Q3"[XS ӭxGy`zNiыx8Bd3W&.|߼ү53m ^=뼎䪟 ˉݘ`*I3̄5%Ȟ5Jhc5ѨQ(Y1~s/Jo'bjJ 1䜨J3AϷo5{H"=s٣VXCVot2"oў/>򵋿.ɃbL9mW@ıț5>ӓ$ +&Ng؂x%Q92ԉk n%.7pIZ)߇.lZ됌pDXxꅇ',}rCO LB#$b7FCσNoMcnmf@kيa>oG4%jmInudߵƵX{-;sbbxlV-&Ʒ+ }8H£\UtaSr뼅n3 t1>ctq̹?6%K G}ʻMzz#lMV5 ot8Dߢyb[= TxNBmBd#ܨƹ_[ Rb5smr`2ݥ'3]| jl1GO:.DWnҤ[]׆ssЃ֕ 2E|ʺ.yaN+a$Q{5`He. ԆSt+0mG,"1ƱDث|`"l#E$~ؤ$7TXCi1`Ĝ/pR$A+̶~3_]zD5>fEa@`xW)i]O/=.ˑB f0/+h8#gayo>s։"dgWZ傎t )QƬaݛھM"RDHG>L17&tOsWThzn5VnV=nZ2w;|ub$[CHTm\v\g_gt7I'0oZ" o4=b=ÏN99 цuR3BJڄ4­dc"Nf A٨|"ARc@qK%A5;ròN1}m-ZS]} ԤMUK񤗪E~ݟ,;Ĵo=#Q[=Mںnˌ`tam]oORHl>!ȏ_lfY_|;nKV[<$GZ:he$[d^-+0@*h?:p I#w)Nkl=az6htz婶-lɊmӊPΊLhsMC>Qi/_cY6OAPdؗ &[/a &9xV HLA ̴C֙9'U99*-W3 :~н:~{:]jV yT*9JѸ|}=_`i#&S5, Ƕ˴CXGSJA 8KH&PK^Vϱ6\vn&tcm&,s,!ep҂׃&V6anC gDx]!5/Di&EMVmID*>3Z}>i[ fX|oߒL'Ro64hԾ32p9;,! }\tM߯o_q 7|o~߷oM%]At3ѭ.? mN(Q9X_|0!99ZNXm>Q$-QWv;<%HPЇe6]>t]Ӳb97BuL WâIp}KЁ -E.jMYҢ)d~;>_McR7(0Ӹ 4LSjr5kf=ݸO(=pg_n'PAY⩛7խ `oYX~5q Yޒڠۏgey;+YpF_P^9I.R#֒1g׀S!|]f"-f64hP&|nP" ueAoiN)m竣rmHY |N^~eB-ٛkL6y}ri"fiҚgfP빽pLqۖsѢέEwP9`i.w.s6c.jͭ]109|Y؞.osvjCPƎM71Yn:lg}}s8ISo)jPUrNTq-FnQ21|3fYp)-ӕ^, gH:虱"k]&9!.7M_jx ݸ2S1}3iuQ/VMl l*=UEŎWIR%Zďɾ3~v:*uu7c!ٗ}]R#Rқc؅ ]B ӟu3oV$z=M _e:vji.j)u՟5~ L)tU?,~:"|[s/Oϵsd5eMzvݠsq jꅻi|i0cB5]d>'ԛvrOPJ3O~⁷N\+xtWa\T>JnӁ}SzAXm]MKy?\4hѣc]UoldUx.곝 E])Rx9o4i sW|^)NyU} dsf&aq:$~Ғ[=J0-t`YO0=QMdaJ/ 6q)VfZD{(aȄq)uɅ8aArd!v4+4STpI6h7LL<*ij Jj0eߠ Vv]G_(#Gw.yThe9XޠHa.s[*˅(, Ab$8 Gbjqaqu6̚Vhyx.X+|;VAѫiޒca^愞bJֳaS=<{k[o;6@]H [ .\Zv<ڝ [Ro4˚;9k#KuիjAV`|p}|$N2T%Zƽ9.XQ!<;Gqѫwt#gtI«}uU`PNNwLT =AZ+C QǪY64E򊤀$q*8FY@T.EtqoR 9/p%R6&^kk~$MfNCr?Q;zSw믻}o}? (;<1,~jġI)0񓑟T>”ֶY>o.XWk@>$g?4lfS/V?T{wߞʴ}5lU^`,l@n_Y ?u "]>}#I'UZ To&" ()hֹHzBWZߒ ew- .j a7 k|߲pFKvp/hG|qo4]E#d+'0cr ٩tm0̛j M\!l'rZY.iRt=k5Y']<@v`?AWbrVhAM %LOdW3 kF>W8=P|؎O.MtNe[oݭMʹtչ"rmd$ 35): x!7ւV ؑyxPs1}m'*\=}rrmȹC 8DXRq{LJZ0͋@qBvx!(+9dkT}˘d >t= xdp}o |8~ b)>d溧c2 q9ք"Y,1<\p@`!:C1"vԤ0y[<|6[$؂JQy)U&<;i'I-HX?:BȠв=ɩ,L8H^Y]jJEU"9B|m-!hqpbY ~[#Q]^E J큣9o)3zqGSi9BLYCH!$ ^F?fu[Bv59:Q33鐒=j܉а b6"*E4%!XA5VvC`HLfv';;,۔/QqiI'<&xq0'1]PU*@м\n#a+m>XMa"݈m1Xl'iAS 8}Px[dF=mi?Յ|X[Az:2G_~*WLC:7V1JdƏSX wwHry̴Sjp"]xՊ+]?4A.K`h0_zd:e?Uc@3D=* l;ײӢVrmµy׀h.!,ȜS1#Z6u $tOұtXA@$8l8-dC؝ lPGTYއ] cnv*3>tQ:/h0 A "94 6#vPjZ/¸4}݊3픉 ' m:ub ֫|fcidҨu%%?P*lZau׍2ew߲:h24j*#jà ?݆1aF&l<:}:ڌvm)kqqt6[#C={7Z5O8㨹L 6[2ifdSXCCmn"I]G=OɁh. ޟbm@p 1x.$YnmGNvxI銵ܨrݴ.ǁk E ޵dj&ZX8́LYA-tU0h.y ʒN X1Ӽ Ӏ`VU;U&E1:hk@z^.3^wHZmTեpLK;_$s&PDQ ,!(@7vSԜ*wJ؅&ĭ-;u+cLg2}+ wtN~4GGڲ)+H u/HtٽF?i_$ sFB`SgIԚ֪jaHս@2rP9m6W .H71j=ο9b^۫c nȃ`/AvxFjzڊ3g*7 '$" k)H&jF&qΜ_:z*)UmmlǑ%Dcr FENz51a[ ל$pMn-66}ݚL̉`kP{Scd !OCl`"ˊjGD4ŌJ4Ɠ ջoG%ᄀˤ ۊ1V  tڜƖXT~rJ~aO BzVtΨ(Zj0~ ,vGέ1QqYQs;Ȉ4&:E{yۗ1_v!W[ `#.am&E[p +w{ѣP _Ʃ#YJG.Kqxb Ay,S%H1Zb`Nw`\kT32(֋ҹ# + `dFsJI.n b=I\x@ʚBB\ôѼŲA͔VxR"p&XCLxwv+RbNkL$ YKs-jܐrQm~[Gtxd&[d)92\H +'O a}"Qm[SQu?k([H!I'b'9nIW,F+F۳+ұ;CQ/śQ@}ra1wrut$&i\.uqXAtU(ૹdUT?4b֗3Oeo9+nԗ1Od"݈?lWSgk\<>BmCKt79̫mz]?w%Wݘ;8K bo2? r-Em RO-V$آ@ |{3,LMJNkeX?32L;3]vvJeU0ǚŽy˞"땪,Z_3jZ mU*JUUe?J!+:#gW$T]+V!Fٗz(ޔ#*}e-w;y+_}B}i6^7W`Blڦ?۩m'h̭g2yz Sd-֎\St:OGokI4Խ%ؗ&>Ǧ}' Ip˙'|vWB-TR +0.J㐵V>ݩ{NaQV jWQYfݣǺ7X0bfwSbf\^Y}2 ES,CLI]OC::W^9ͧyZp'4/8,` b / 2m9 5֦*C/qiIH* b:,`:@<^%3n`#&ц?\Wi= /Vy +X5W].)L2 S/JQRX唀+NMod\Pq=Ϩ{j~Čx&3So ٗ9^j2Х-j^T J.PBd&VE*~9]ep0J6{UDg>^-)BNX.-kh3^~tmvxQZo\ MRM8a% dׁV La'`{ERePj'Dk,ߗ)o_Xلy)K(씋 8egRHLLYXe Oua5'Uz) R0qZ6ƜJBg%=2RIe,sJbWmR:` Q5^[т> NG^Lوkk{",C*`rڶUQfLV(`[rcŹ?U:jj۩naJvH)POLAunh`vM97 5 KYZcTt)AunοU rޢTCwP_9B}{rۓH`|X[AP6d̖#4l.Q|a\UJGѕ_16!˂D%S sw܌)nZ=[R:'R=QSv .QT*5z1lgC j(PP]r6PC?( i# ٤L ȀP!arJ32 XneelDSjdnC(LL`Q]v6@΍WS mKppi \q+3Ih( {4 θ7A:l ;$qnj>vl&mZÔԈV˯AMq4faBC`&G|Tn=Ʋ.\W.c W2 ƨKj(wް%jV141- ؔ޽<ހ@F>w(ٸR `g9UQ-]:Z-_K $[7ʒG+\} 5-%O^RKMve'w0k[7>Ox 3o\Ԣ~ ! ys-JvT̗[dݿtҾ[4 2%YHnb KcSDJoBDR]FP&kE*.*Sq;)W5G] mjH)QḎ mh#mځLYJwVՍtmCv"UuhY*: a hXJXb WJ+5u]̌ ;n_R9gHl/0M~J8v5\ptQZy8rxn K*ӈ--jgg1xbygkFKGS $)}@TB /aXPe";q.²y ַVg\6,EߣϴKt𹽄E5 % u|7*0qN zDmT7rn1m,YE>e9z_b i ଓc+3ZeREPL<-RtODlíkOV.jO8| _aQ CZO,7{vJo4U9hs:25`gK `Rn=SS3fpltZ ^"AC<un#^V2 >ެo4k~yJދL§ySPCaz ˸INYIEv ]!ڦt\Ja(TۋZ7=]oHGܤAn1"ACRɜɎjֳ2;O$$ GwSg5v,F܀Gp,rty%ִau6/ATo@I)cfwI9AnZV5kz:d@q$bsZܢJTpgO[pFvp æFhm2\W?ڃA@;_˭ CaDԓg!}q}0 lg`nO(2Sʧyi1MSj*K 5D.DVKzhR>iשu|%"jN@jY̚cډF^VLpJb6TQQRT,{#\6{L&6}r7v-$آ6 }r7E]d/A |s,UUWʔk捆M'/"u3cB'uUC+č^t>9{];KOtdn)U3|}excbB6vp*_( {1F3׮X@t<87>|kw< B+ʠȲsfsB^:akMSnǬg7UPx؟~sԇ;wmTȐ4$U';w S(6*!q ebIɸ1DΗn~GG=~S@'t Dϊ)"z3h4awQ틍|t׶'GJ rʣ  :2nDBSxw?t#@#A)PnEĮ"θW y i){b/\X^=rXsZ32ѯOP8Eă<=u(dq/rOO[FZCĩYl`+NIhuϾ l:&6RFiIP xAx2 2Ta zqRE@)2wSo/T{SZ6`wڤDi%`șT㭂qH{ݡq?vO=e: g3UFP|>HsN;9H^1CjgOe:"{ȅ+8{iT2쌟`d~_LiyZKY,'6ff.7}c|ʢ`$|S>YM[aXYnPn{I"-cr6/ѳi[;|+,h+:UʚusO4\dyy8T%bWa'ce](sEO,LREiA4mNjԖk?w{OD46 ӽكԓiAi0дHCD>fhR?0O rV0ح+/= F`9Ŏ2h.hA b˚0"T['`䕍T6V/ĊfMJVTMtEĿ=tLg^V2cͦzZ7ިn:xآҦ={@}ݢ.כTcv'* Hp:c& ` nZSwP9y'Ak;)"!ѰH8  ozu 2 O=>ud-iyE·|eJ2 p ^ɨMlE_SUq>$)⁖H@CO (}6rYw3vV,U 'Y:` qڰSfXkv3H;ncEvL.z1!dWw&iGNìl6yˀmN=Sme-nLo|PF'FT6n_>~vkGQ)_d1alN`a &_i ljA s"%6H0+'F-\4P6 6yllp[)4b!=4XҪaJLIsOzݙ~]./Zª3`Ta:atj~ph#,ލ,H ep>yRh5]QKԞbez|ZPJC徱1z6gՒ)3c?w ?lhQvZO)lg/uk c yHTGbucҲ"nKoȿ`P/]sm}AW%9xgĴXXNytr3Ţ .x.c3%Pqh3j :fqL%QM@P%jX0KĹԉt'O1DVE;Gcq.iT(EJ4)bmB Ƃ* H287_R/SV1j2U?]M+cDZAj$1aV\S(z$wT ~.ch$ sYo?⧊ʀ(,l) aq=e4U?[!3Y"W%y!j96{0EI2㩾u=1ZucZ!]S m dOʿ-}"JRnɑ3tЎR1*%j$'r @86~nL' [_,N,gq;v|i1}\tM߯n7x_q 7|o~߷o7']AtY]~}]6\Ekb}~޿{!{_wWG`mEx#KQˣ "9me@b@@n/)>tB?Wc_u oQm I8oP&y\Cdy{иBo*Nl|2&fׄ!'R͒AYž%C_2%Cg!vOė?Aڞwn{?_[@IWB=Y"ְ#*n5kOEwc`{MA܍7 V .)w ^ٝfQ0wK皦D2u)t|pD-xn4_2^mc]{[cm~@DWHUcUU'ofS qXsp!% H=.L20vVwu&3/!cS~,-u:X oe0/K2Is-K56<U Z4aƇFt\~ʜQ&o>^{_a" Qѭ] WcTa$,m(H~xtPBc1 6p |xq^nߓT% п Héx^JH"$zWx"[2ݿ"+6[Z3LAW؏A+xH)A 8YD~ţA +_1?QSLNpmo }uW{+DwJ'V/5,6& RXW儶/$q%fI/D~ۻՂ% ۚrzw#fƵ[U{Sz653XP&`wMS܃͈YӋV]LPhD=}V~ ĸK`Z6@U=O=9b)$+>`)V{T?o޷}m| x*/%3|bK*Ejn&6jStwFM.33V?S0h;砣}+j:*(-Ig+ L#\s}yqJDxC p*Y60a|y@1SŸL&r4 p#OAUzVh@^N灊D'IM>U$4 ZMAݛIELe%7|;9|#覶_5b1[]sAHK'>;)iH*!gfpƑm@<y `.o*MEJ+R(R]fc|T@J\},\ӛ)x*QGtMcE]aṞp{pB#H[?Gn&8 Yl$Tj,eCt;W{l'uGO64 2dXm޾~*~Y޾1 3~weC5 A#IxMzN7ițA %*5Qx)V;Ac k?X0k95pPZUn7=#81dHܜ׬wS{L`V~9%("xpK#R-`ƀ[nΘuM@ͰB/y~^ŊKǚ*5pe!T:RofZZnV|7n3Pd# R6]#XLPj!EhU X R:.SɐWIٌ &8#JdpW͎㢉`h\tP"<gt ^_j_|UWA$sЗtf&lD|x%lp K:!w5x{S(3j-eL0!\e"Kq/>G @!y`X4L 7y%Cƣr'Rv*gs4ZYG]s>Q"(ch4c d_|k3 ˷û#xA}}!fZ(>ԸpT![ e?ShI.OLTYqd!X/ٴ(e\VVyKbsFrDqPPG~TVِ]%l7=٣>-d]ZPáˍ7HwbL82WM},cl†`*:쏺p=n&ɣ+ɰM`@x#x1w)Bw5eQ<h&kڠ- jPk=b `?xqUS[ w\;&{U^ eE9JLMpqzF5ʺ8.:,[m1B(<&`k)8[;D8;۵y1w':Nm1JzX囫iKJ*M}S7K0Q>'xL譋Xl2a"ABѸ$]| )`0f{Wug)9<i<΀},52*#d36I7P>2j5komдWKРላ"x9aѬYds4 - z>!.t㬏O"1TPM6  kh7B_%|LxG t;I+Js־hĀ܀z:(mZ[}l'h̰0O xn"L$uڗ cU_LhSȩl_Pm#RO)eY+֢#&rX34CJGXh$GQZ~ ݆`%D)b,%_)0N  BXcIf6J,,w6'iL WD$>I#hP` }G{l8;{dA/8hZL a><_SIrd%(l%Aދ5Д޳q$~md7t8%bG{'|A6BrԐS# 7<4tu'#YR* %wW8˶7MCKSnn{msC"$.Ȧ2._a:T*; 3)Sw yuH(fy/CEԄx *oX{)IKg!opD|c)]GywgZ< ~t7}mΗypolh<%jOʐZE6uzBV aPQ6}=_ɉ`  ȨJ?%.J*Uh 1{|٭t.Mcl@ZgJ0bC1K3*ﳴEqO:!MN}Ga5N 4%rەv4J A`E@՞a?Fl7 m)u'kW{d~a,W X4,@cN/,LqݓRmj >}AK&ʾUӺysS_EW>.!WSV r%)Jacf53'\,6T؜GrqUc-pPۏr;d ^͸"aII٨aWJa Dp,M(]d(Dۓ<'3|d $k5ΞWմ[llSY[0Ya#s*@_!z:  VP 騍vH3v Xo!H:֜6u,0a0G56UU=cYf5H:e!Q԰X0͘+(wdo^i5Hp߽G" /딙bB@ Y r1.3 f'|%_2m٫ogcwDYaюд[FպZ>L4>=1Uc7O O=́mPʄ렉l2iw `؊cBn g*(Ȕ..‡j+LPQBg=`rwB| QCL=ʪ/$%nGn#gpt18@%U_/VfC=cu5yLEj [:;_{u5zp%󰱫N2)1|{qR؂x;`G{z}^NU&zSrnL)=C BqGZc4cksdVO@vn_YMr&m/*@@c1m;9\5%r$GF!<%0>d^s h֫)ee8tLlHx%tt: DUz>Kw0;@"rC -VuT{9PSh/XE%9Fo4 k&@9?@KB8piPU1G@\RB-?.olyI%a/ 8pkCi7Z9nOD+o]֓iC2?o:vasKw?2 `^ IͺSK1ȡ)@G69biaWh>Z"#XInaNmz/r;H.Z]QiX?#!׆@.wO 9L0ȀjU 0OkZ(:Üa??[D91hЬlVVk4h-c k|`5_@Y)p𴭡01ɱwK ,.w49܉eb6TXtgl}NVZ9ccy_ 'o($kY~ M 'VKM֢kIoiY&.KټaOQK1[+5yw>y{|E׭5=ص.hPM9c3 ҕc'OPQ>qQO]H澲Mf7(QqUKKz/GA0 C>Qaxן"b]P9좔f椂[m3e% iHq4F8waL ;<(0Ը쎇5e.fxs\<)W'wQEUܧm<Be^aī(7)./`Eѧ(^sǽL=z "*aV@P9b1A2,EـqlΦ2 9Y{7C4(zC3di:A2˟QpeZ[dՑ`[2=ᘅ>7NJqnJ*T _yyR߽V#]OQ(naRfnR0[RdU?]JO/ iILA,^)(=MYuD(Ppy,Ƌ[[Pq:0?`-ՒXGƨ"%O[a~ӆ89.VļΤWLzӖ ZؠQJd7C{; O!Z%D%4*yYKa$Bĝ"S޲|Sچ(mŒNkL@k$c_1C&Vz^ndܓ[,|팎@ûVn>>$tuujgp<CL %A]*'k Jȣ2A7i=:d@r`v$6JCjY0;-`ųzܒ;lZ*sC;w[w,IB9#1jci;|DwCqHn>XcFXzP#^!@l怶8(~^FN4eWdm" 3]9Q%ƟVmN4x&qw2m<;*'9 elx!QGfH #Z3sնkf Eg!ܸc.~⽞:/U|:2Ϊ)SRjAO@%)ϟ̣sxv_rB]=ጬ/3qrvc"]8v$<@\ ~ċIȈv>n-<Ź(/vdu1;3N؉Dt֜lE!ɚlז>x6N|[Nhc2C~׍9ԙMGk/TXCrcǙ`J bK7gKYCf]νeX2n`JWNcr-ZY}!ʼa9]VyLgEٍWM"{num1Lב܆y=`$5c0x{89ٍr5GY"klΠ|u`ㆃ'ltN_}\JLc< |^R\\- *VegrIe|/,Naf捽!*vc4۽csGۏXw>iqh1IlFۍ W;hcѐ߶#2MkI6wBEO aaG;;JQaػͮe_.o,xb[9{n";ȻRMk(gK2 Ks1Qp 5N![Rp/ Ncf]Φ9?wRqc3Ze*j\8SKXTD$/8-_l4&e?%qw|vB7+53q!&)nwTv EုXBƟrEF:;Ģ,sLr n7Wð>YI=Ult uV=|"ZOB8bQW1#Gg4u;~]*g8Yppu0JQ`,W+wu e^Q5s*l1J6/cp5Ԗ7..2[pӄ&Ķq׹"V~6.tFl.4L@cv ʱ[L뒉Hv6>3*LmOdTU8rf:QQQ`hJcYD}ST=+ÇJYjiqOWf;X?T '}Q̲SϞe1Ep$- U- ⛎$djղ?l?צlfO.WfE֦&G}\^&[! `(B+#Ywz<2OR,lcSE*tqǙ^> V\vL+o#(W3 PDK9B8}X8SY"'$,AUu*`gD>UizP'v6봐IPS&זּ gھWY:nruTSPToj˫4S/ĥ5lP28=4K^fE YA3MΰuV'd?-yCb MUѣXW*'Q=kר OT85N*gy:[T04 s_,Zyؤc~9nc4F1m] XټT& [^V-:#] Onl&[pyWysJO4.+"UGV̴DW-Dh~ڦ:b4It\ۙMSE7.`TSS_/Hk3X[ͯ}EU]zU4ĵ5e%?0dߦvy7;mU:Q{޾S5ܚBoKWy5תUPwGg`SL7н)ݡ wU-MLMoQ]ь;ʣ|Lϭ?,R&ByxG?@WN?EȽp6qT}VͬRUQ4 hkVЖ4H9**$kÏޘ%.tYRaŕe<awتg{\oCyF #fĝs5MS6eIt)A ;9x"1G*Ϫ2.j6yU>~r00Dw_Rq}eDS&>eLj5H$ &̱OvOrf|XUG,8v,D;#iHB72~Dx8Q>,9JdXADw5> X,j+b)0'ӈ+cI;=eòR0!79gSwGB& 7fA"@oJ0Bʛ:S u96a}03em w;;" t2n$|SzQ÷tIfHĸU7fEzW9spٵa7. dEn|h·U"rxÅBk#kR+So]G<.Lú(@6&V4rp6EC1M6I<:Vf-]%k!usOMzE rz>t^&jЀs]r)kI}Ljh {f;"!jN H<"$`G&EaWJKRیx$R 6b `jYJoz]1`P9Y56[)9p>%EէTztsXj\%okUw 4܀c\0ɱG'5Tr* /')e?%x9'rԆM< S(mnfI$w} hۈVhت7ņXJMc?ʒc8۪RhH3]x˭"ǝRN*IF.6KɄ4N 6St2"ާς: QQ֛tZ 4ܟ 0"ɭd>],)*WG%!'{Nt`9a1#J&fBsZExTr|DHEC]R@=V$2˼Qk,p 7e€ S5ƀ} k-cwRiݘM60s TOP|[V@R+9le[jd q$u xR@#O!d]"p?oT@wFu+]n[9jQgxVJv L{Y|E ĽtG *LђSugȴi" JB3H|4VO0MHX?O$)kPq*kQM_{~bAOwᴘD`%Nt=g$W tHo쩰G6|ʇ9 aFS"pjFNUSOUp*.z k"21Ō9+,.(] H>o(Kax;ᄛ.I_AuNUp *>ǚC){nk_J.^`CConz,QtΎ=thZްeUEШޣی/̭t=l K|BM,ͺThUp?F9 2kA+Cn8*'Ix8O¸Pat`exWx%^d@/\St_ R౬r`Y֧Qr M6lKCO+/*331rމb/DCv 3ȧ=z,)9qm3A͟8+JSCٕ42<|K0qM'Y뵒:&%}7]wyJߓA ݀<2OkݘT;sUb90"VEdиk|B N"ו2W7-:ӂ\ zCl Ьـc8w$/Sw'd>8娒HPl =naBK`"%pWp)27xrT!m$Zrmv R"RBYIE o ɑ EO-gcU%j9c΃Q&qpI"C HYHu- q."˒uk/- rY Ӂii%+)[bqd;清C[hgxy݀Կ  JiqhYhxSuXVLcnrty*%o;?H< |Vʹry%0{*b*L {A{<(ZJ* E3NW+ O:tC9tJsZ:P߂Ĝ)M* !:3;O 45Fl< Q){)F?^~˻"-H %m#}-$hF̨.(oc-%'ɆId3ehSuL0ke{>n=68> fQ󨰡aۏ9ɢqn7IVZ#~(BX0G'[#46q▣C;Ɗ}T:G]P @E'@BnOtfY}Ar:L`{a`ߏ!(!aӼCh&V3ZF^5.x}67T͓,E۩Z|@e&eCKc8Bg+%L95'"mIR=@|e{-v5?ԺP"ӯ0!t&Wxzڰɂ|R,_ρ y<ͮ:k{VYˋ%(B8%/Z|6U:x7bDQy``_O;&[%B2[wyhFxsQ8BZ_{.h*o3r]$]y,gLiD:*Rldcy`Z7^-q<$ke9A8ʻ#_K݄nnjwlRN+CɽgSS uŴ>\jO5)O*(u' 7r;-iš4ʱ5W/>6lcfr0~n_ NU`k7}J/%nɮkJ5e8{5"Q$0oBJ[9312NYwAcb@/ am٠a@-qC'vɗIRtlM^2 [ta oL֌W&wd kvQ{ꦔ\ߵ^ٽ_:{ܬv)zN׆5ÚYiDi,&1cմD*X۞MFKL'm&&HiS:lyxfz?$ɗY+GeuK5+暃wf)$0X--xUFՌ˃*LI_&9 Øjj䆁rwCY P-:yGqMLasbp陗!p-R-.1 *A\h{ ;ҪqkyEieyQbY'7sL[u\2N+]|h)n?^yyR/6*P{\=l62C(lЀ{IR_ JojTcCTuote<k(V){7ft(LNq"}*=L=N;5=$blM~e5ۚg`PkiU9>q TG >@/8)k3?nd2vJ"_=_G61ft2 JexPv}5TW2*trQUrk74o߆7$" [ؒ82u 2(8J_vt\;=ʍx;k:6y] I,u7V1k. fzED>?zj|zѴzF@Elp pR RYDp }VհZc$eM uoxl(Wa iF|2 [l,/IJe :ٵcInf0^ʼO&hf)1Z hvfӽ1ݣmQ9֖J9LSYO(s%޿e_z B}-ex|1{f I5nR1O_%-ޛ1~y4/fEWp\z\.PŴP16sh16+`?!c|:~29t5{]AAM}bM7ٗU!݀[ˬ=b@?Q+*8(Hz>+,nxt*1J՘4:TNZC"Ѐ},M}kom}kPWi~Xk(:0a@lQgH ,][hHǴ1Brv4Ԩh mh-!$oSvZН!Է c1鼝s_ \54,JB*;Q".9I^ez^ݷxPv%Hq_˖)>K7IuzyaMlyH ~D37JYԟü:C$J?藢-8Lџj# NQ~:cʡ16SI:5Km6Wɱ]hw{!j߯d)9U<+4n1ZdM8^- )$蘓Q2ho9xB3f.  ٮA8*>;FsIׁ& /H\Z=2mU9.ה=V(dyux$F7y|OًR4w=@ue[xsx9.!t4DOs^!_[|w dkZkZos:Yx8<œ2s"@?LvF~X 7tt\ ҁ'^oUGܬ S&~ 1_#|ÕTkDI '-tbԿN(El[&qBzP=,<܃M~BwqFcS78_tRb"pKl#g $?cJ#lC  )- 22 ts$-V Y r ]cÞ`2c£UEWW(6 u^Xpٰ\/Paqkbk'ŵ.cي'>&7}aaaI*z\Y^"%k.\dZߝ5WhJP Qe4[ogZ{ky6xN;Se&O 59 Gu*aJtҞvc=.<&K^ѽK)WbIov2/`Q!6JTߛɥWa9u]22eVtے]PxUBLἆʕU M/R2r€Kh)w΍Y?.`brj5ZǓ;eR/Ac^ޡѨwuXiuw6wi8($șY4JA{:ȡ䌊C a!J+jֳb;%ծfCZnGA:Xf_εU޴ otს6]oi9AYoH94F; H@K#<:{YKZ$Rwd -Y2آoҽ,D]"J3qBW(9+qTCmiq?fa\4ylL<'.]3AG{bĝbƥ vvl!XO8,|~uٰCZ%Fۤ{u`;Y/|Q5 HME]1k"w v9.=ꇻZ}Hg ֘j}zޟ |` -'ϡS ]ZZ (*(mF ̽d%`/R ]P-l9o<=`84݉J%֘ܦMMΖ#ndP:=QL 1j ߾I$3F(5\VP7߆eozZ] ,UQ8hUydVH kr>bgCÈՉQ(R[<`jNz VL-dqѱf\6oYp1d?rE&ᐼjME/`<Ѫ.9M-| gNc 7GO9팁oT&֏ O=ʌվTx^ erGlO'UTM;lB &jP~o$WtSin|KjJ2[ wu6PC5v7^swtKAW; /YzÀ p t=CY="9rٹ1.TXE+ؾ+aFbЃZRaEeTXYDm`f@{\O.T Y݊] !ȝl-2 TvBn.9:2=4s,+7u!Z,K'{]-z3Ǫ[-TU424ЙJumyD[k12[0hGT4-X烋N,Zc'OMr' XK5l1L_ HKvsHs$%TEηy l6-۟9C )kVO":خ4yuk)S0,18\3"0"I4jO^K$@*ԣw.,8xm̩jPK>Yh{Jwk \ۘ ])A,+ɔ\ ¢#2@Y4(0M4 H-Kj 1ؚ^F!-0p'8nEJE)uFZF] P.8ܚU6I@ H/Y s l վPx%ھI{ .]ALÊmyQ[M+biD= lTs(킲'AP/jk2H$u+m5?H*s2<HW xMFz/S&%NHrL :"%kZޯeIp7Ŕ!;/ H/h}T`D-r\wr b ]@m 0髙y t )h# %Ӈap]i"ÿk 1hJI~OIN WU`8gK^\ W .gN`m> et[p]"hOӱ}<, $&@N~3R&+ vL;DG C_q;*zUU;#{[&4 ?_ءƔK<sB%Ru S+%@lnTʰ1Rs [)L f'rK :f#Jl CZ6{t]̙9DSh=ܦr=pF Ŋp̺P3&wʱ.I 129R ͜Kh*WN eˊmT 0yz;#$71G0.7rcZAGTܼ*m_=e:_r&r0Ri?Uk6^QGzIl3DZڗr_䢘0:|@ 2EQJ$ܢYSaZNMwU*=6(^CGZ'#ULʊT0{q6n$r( k$SyǡĢ2B5d)/d=;8NbmԝzwMmc璧>bQԑJq Xᷔu.lonp]!.|ᇇM<,Uh+Q%mel 6h;w/%*sD r,Vh|ߔE5r_ނp8ݾ{0ye_ӍhU,,L^r +X!٦qQI*j 148'@fgUT*TGѳeHb c0s )Fr%{[g鞑J[d6eޘ'(CXJOQ"Aʮqe1GN5MK] p2PyC.A .*M\a+.!6LRݒ@4K9)f@{zd1 -=@XJLDP<92N&U55}אRm'\oL)1@9\?+ZsmܔȚ*<Ɉr:a)8-z6#5o}7@p,6XF:  w.SCcNҭ[QԋwdPlUea.$laAԝ*wjDyFϖB%M٤#YdX*J⯗DRBGK-GOC Y[[c8JĂ3V'+vX a=OU  %-VߎsQR@SoeFat -{X`M*dT`ɪ4 !(TN,a\BƇ'lu,?./RL^[%_d; !Me/KRK`CI*[tR $@rwѰ 5k'Q*ӗl<,p$njN%dUy&x \xmHlptS(ufbj.w"RLjiId$Nv@#7Ϻܵ1*,Ve 3F*HX) i=+t!5󭙂M+w}o` u |#:*+"!|baM9tj gE'=| ,#tαitAvv>IrqQ.mLs AǙ{,[ihE"綈H a4ӖqqŠ.t/*Quˤ1 9&|kkG.d?CrziHl;͟ڮ6,#ST Պf,ac\QT5ARqA>YF0y"hV0T*yQI78 \6z,4CtD  G%~` &"eajU*o~TjgF5ۏԚ*8>S=^"GW=r)swyJg۩=BhXVo{S)UÙFv4XLL; ޾F˛',i]͊ lpe_0J mzRFxnژjh BfV/Xʝ >cT{a5 ZZ'uAGFl`\JOeD>[t^iJUx"hz~UmܖF ֐ 5U Lixջ \:o00"z9fbdPD⺱iJĹ!s2cF4`R7_M\"'br%$ĥĦϨ9yE I ff0Xw?2Sd{U։/M]Η@-eȩ\%{7)MT2.ϏiȥU*/vc͢0xU uľ&]2{YewXO -tomF_= F&]:^úiJκ!s?vΛ0mo}B:ԃ(Gy67y;{浹B+UMZLGT>d mVhJvwyHJbIR)ptlh)ukxOQËړns|,IX(MflmZFb |%i3e.85Ykp$U{Ed0 7da(&@iM ` 9Zf6W|NoVH'HunN+ m6',tabXQ2(݀}¾+ T}E?Km*~B]\FoҀ7+4uSu:%Nҷ50%ӼI6勠|wg8;x[J֔K U{i|Q~ur&iB,.@l6UXYL%4D0F-%zgN$QvC7ܲx3Neґ_MӪ^ۘnޒ`BALOy#[]EzڔEͪ*[hZ=aEyTQ'&W M/+P)7Dݯr*2ٞw3ej2JCnZNx1w/X/qptԹڍPό. na(׆~֣K`]- &J鯙N֦r6^1 }W䃙 ^fw|F!zy1i_k K+'d5FK?O IOb:^v4`ka@So\ZḥC\[pҡSzu?A=JBZm/>N@*³P˜/x{ێeKrxJddE.;`(kvtQJJԤ_b&{AJܹ#0問٠܁LKG&'rl̞8o%+j6sUVTlL=4dbLIZ5f[z!SԦ?Єlcڐ\څ-}3QףGg7q3ar` Gjj6H.W\:-`x<(Py`&]buAMX@9UDU IknHUY!]`kC"~Ej@IDcux$`/ERHӁU4Pe$; ۆTxN"ATLN$1Ę&:E4q4TR甿jxuȯ.{[$^JjK'cm" ^͏$i9K_Y+ u@ױG5&bw84l ģme+ 92)F|1J(:0ҥE"hw(:b$FZ0?Zn'ߔπ 6~}i*<C;~7WA*0\ uJU9# 8_( >W ?6>ݤ"Px /$5c~]Ǒ}(?pŝOͦ8y}z>89͇?\2 -E[ZXQr5ث4 %k}t6 G,bzJcFH-DP#ik ,"YW`R)Xo)a;LT!j(? g5j<<~?K[ThV?<>)*X#C5wG[BkUAS86W`"K|NǎӍ{K6]xҟHo~b|ļ m<%Q?k<)FBc_W< ^|X21Z/.\j?4vHG8kܫz^̶ I#tVB_%MVɴ+ZQS%'60@lT+?#?sqdbfžɱ5CmլSY\M80:; )*=8LH'"MHfݒJC9)F6"( |QͿz{Mx%_Vme^j&PG1Lt nk y[~ҋ-@45OvcH_Ez ADpX J2#d. $$u =Z{EYlP-Vgb:~Wv0ڨX˹Ł?YsXKk< K>MU!=\ŋ=cڬιA ,<|2Lb!9nPRi ^\DT!LxR-_:V碚exx\kP* =d-ʲ/>W=6Q}b7pڛaa\D XW"WW8抈Mjr\M2z\ul1u>;%}#OIω 0GSsn);pV|%᱘÷[E6MyW~#0==z{㈣H?9;g ?sk0 ZM{qN.Nat v+^'Z6떨ʈ C8isf|sy*l(\Qtn<4V<"5^a)VU}j6=46RÄo#`z&Z>G\T1[wxӓh7$̲5,={\41' UCf-0jXq)^&:DvrDW._uAD.+_쇽 s?ȋtl^c bKhϹF`_Dvp:&/Ȕc6 @')jZkߣd75_$p) Ѭe/}<) ̈V-$ r9L 0#kG`i}VDG=>>JDžeu}4<(Lx iYFqZF!V "]vTfZ4`&y j6̐IxØs,g*j>>H$  +۹#yi [/\}q!UCEN%^_|JbU}=+EXЀ*޺}myPSw.Brv>w^T ͸ ~B P/{UX6*쉿u&w,c›;)Ě@F4JI/ 5N03,u³8NZwSI:Hl4ʋ"ee'fJ^ WBHhcFRnC20ݟ`eY% LI* t!"!'q ^R1XHz2s,a#{וb5=SPԉ(` ѳѓ'JN&VqAՊy1`#yˁx$|ضzGQ2U#Ae |m;?&Z{OKAln"S֊IѦ)*$ u"b3‹EZvA>B$gD.^RH G%VDF`KDi8Q-l`2z}plؕ0Nf̜"!Z :\IMuN=~z/3o:ZM#9e@]Ѭ0t|y0CgX].3sy>_>Y-w8X)#Z;POH/1 J3ߞ$ byEeS WhJiY(Uu.Ym$oA`4\CQĝuڊ#91I)f'WTfkp#nCR. $WG{;kѧ~hG[&]'#ET19ܖ^S6vߖUp(I]>E[JMgj9im&IloXB&[Ǹc|!\+*LRTn!эҊ?z|A5?M{&o.Lŧ*j7k_\7ի:~XVm;ZD,ݓ12x~wH 1,.e=gy{|h#j.l^YKC6z.cc^ᠪvMnHpaf]W\oz|nS#Ԑh*oJũ_cF3_s}HF3Qqi"'àʝpIuwߊAllw d#(~h(ؽt{9WIXf|EDT%86|qux⍍kM?xp-uxк164l]o6']^! enM^o bqh";c9SRҒD,ADlFyr/:Ć5Tc7yWTdawӸF0{. aACz{/qoOPފpӀo(836/|xم*,9x7[^co"¨Wuu<325v3n7tǾ߆s%E1gqo,k^[aտ)Y7;=7_E.Ao&$3MPq1ox&;/|x{Sj]}cje7f<:!.|t/ffMAc7?״ވ*\G?TbZrvkW33}v ߛLj놮e_ a'1/_Gdžmߥ +XC;w}g`QGwiRoyAws?'5)6#\W=:qBTCu;*F}߉|wxLt-,jdqˢYtF_hg\<1ytx68f?̼czԕzUg[d4QLXv˼.<\M.9r:mhߏ)Vvb%i*`5q':MY r1UA{.o۵ ^ O]Q@,V._V: ϐ'鎋~Ef%1ՖlF h<1cbwgFcN֕f״61;)VFk6Zlr~+S7 1JFYg *Z$#Uj'iïU̘zFZR:|y306rQ̝$|7eL97v.fey l\WZ |sK2#wZP)} Bwi2Z,OF/)Vr^5=s,3: BAϵ: )VHLW)gSK|ۧNd=ane50{SeA/C$}TK vqOMAoLg78^\}ex3vCHu‡+l1MGDG;<0LM\ޣ9tjJxHi'Jp_icy'бYO % :|gK.:M 9¾[(-M#,^*|L|8^oXo/ :=~i/,E[>ZWr}yu]3oI!69r:T]k>~^K.H_甄%xpr?ê,)V'|aTuǥ@`DDf*X*NkbzNV/9u qmVo+<_2SE^, {g^{D5K% 6fzZ}`07 2+2”y݋U"i ;f(M=krh~-Vch-YKF7R`yp+¹R+[J- Z?H,{|m뀈yͼ"6 JRUKVN=# =L& xulubL ӿDpyŜv򴓢ҩNeʞ=Z%Nx >E2Ā1M&\+8.HyR:3_Z8_ɸ|84u5m55[5 YvX>+;ED<99!@u"Ǩ`$xZeڪgpQp`52LpE87E'JqxT@ṁ]C%v3y6Q $DI}Nv٘h`TV,;nB9_<)eETiZn=%OX nƨbyx1;Fȩ"idrPuX[ 4KK;-?<gE9rIa)|#"+ am(/ˤ.@Z*׹)KM0$6k'?ѿ%K[Ѯh S*0hTG ъ kenZ:lBO"w"fQ4B`z2hN 8Ɣf>8Qˍ Z5ӽ2%'juܕ#H95eKb/D/XϰBu NܯSsCz0NjQ\it=TnGPY-zr7i؋ܩ@\hpMJ&(?)ڋKa'vAW^ݦwE)JD Fju3fk୑ пx!!,<id\*Q!lAEu!g&ԤpQR*jg*oa;EXl(.KeYÜ I,qdߴm#Dft]POkސ4 ڿUnXHBbݭ/GbHL,ZdE-<)t#jֶ!9*ǺѹكEB)>j!!CQxt@lv)Ʊ")`X SMVval%ti.6X+9 #n"+p⫂GTOO${}?Q'GeOMƸ_QQ'^$nwSew=⽇p-7pLM.;qO*9p9MS͊mi]&)y2D7xVԿ=0A=Ȓ~[h^gM iQAF [bH H{q)G+km{cgYa)6x7jOe'UD^^Oxh̿W U/\M\I'/Y]g?3#Ԛ͌%m8ha=j r|3T'Hv,9:y1EYɬ8?gRN N~HaފrfvpOh 8ԨʪTdVVy!) ,Uf9a$B䋆bC,\ko)m`Z@hS`|;CJ.jEiDqrp"CSv qg&( F+|MM@x!0-ZKbnV=" ,Zj6Yn>jx/alO# VB7 _JQqK"K>1r $!V:݄Hjb/lɆnwui-*'F~z29t_uhL0_(@sֲg0-q ,Ј,8]LUlcJj-/սI?1ͳƻH.CZRזz,3 OFrt](~k³B=vnmB:Q ?7s8+R7~4bpeut[i_ď3IJ16<{U94MHrx/]4m7]xduBo$T'TUx*-Hl1V&zӃk #@A%Izjۉ<śI P0vk'"1&Am7 ٱl ,s<#Ԁ0WL#a0۩qz凌S q* cc\ z!@ްS(jy8YY{R$ZD`/^cCc|;t/7Nt, p$9'i/f_M'F݊Xsܥ&M1H ϥٰ"0p}ee0Q88ʉ9DJ{g-0DD։ƹ FH _Q6G~%I"`lbo'#NNSy#5Mv7g Mă&zKS]ǻ۪ҁG#^LX/é}Bs¸=As4КzPuC~ ̰ClC~wħ1'm$69ju Mz:1j<)P0[BNFopog/,\$˓7:D*Όˇ0hĢ2Ҋ^mu" =VO^xI8$GFw1E0 F"Nvl=hVtɐ i}{h/ ftaXgGbnAXڜj]*:+L|Lcqw'?( }b1pu [ -,UPb6 LIQdbLӤ[y}Ӵ1 .^/-2qyh:wGNn]t@Yjs]6طfE^) . wQZaid|kdsEyuu yd?_z8y|̛tKZ[fuu4fh|,} nD ˴hI*@հl$?|xp~ 9e_ZG(o6䓒{sчmW&e]06 7'R4-'d,x5#2C ۩9Pf4pI?"):Sb7eE-+SR&zx*X>`|*eZvvN86Y/z1|A(G190T}V0eM\ P̠@34FԛXq!> MBY{ʶT)tj=]f=-H$*$/q(cVm! yenݬw/\Kcd&u:)N${oN Jf Q8zr5,S.e_Y ]ʀ6N qL&1T|0y['QE@],:¹)xs`ȼ֞H3b^|oqʴH,1KȬǮb39é93StavԂA@0w(yA.u"P7ck$m֘|gs;ۗzg4]0DPĝH.lynx(2bYm3Q5Fwٲm{Mp:Y{+fGr c'ఠ3f5iΎY˗DBQvU FR:8{eK @FE&9f3ДS09ǬZhɴNgy^ 92q9+ҲP9?a'_9N4GxJtC/qBq#lsK; ħ 6Ux?HT_+= gߛPM2 al0̕p~ ]ǟ|O6=N91L9 JҧOwTX~ĂwFKoN@2v~x&v[o'G a Dj˟MR$.@dBu',`o=bHydWA0i&E9!c4 Kj…t;/mQٸ(ؒ'%hN'Y/[ HKo͍j9%G|R #93PÏ:L/nDN!әHj 2>֯#4f2nF_t+lET%a DAR=YTqVN] 'wBq[J;ͪm)B)sӮrݝ0 [*سsDrLR7?{斾}كسVE XAƂt1"KqJQ,a;gzFks^VLt*oA7qnxʘboj̸)u:bAG@V;+dуh:R43{%Kӳɟ:V|%4),~0!61(`Ig) , d]7ƾP2[@ghG:fT43P1`wdE`` 5- zF˂ӶAڎB^Iocd@4mGWmFl&ѵzmG{D͘+_ϖF s <.H_?<9]e2gw1s5(yRS񭵢mb<^e88Dڃ]Xix<( DV*{)'I{<".׉4 TƲ '['dπ;w}=' vSzh~pQTi0b!eNҊ@id8{,%WdqbX)ٗz80Na-ĐH3ʅY*۲6"!{BU%zr N^d1f^|=9E* ☒tM>[d0s*&=[wU[n zy %"5x|~ W0M41HH2ңW+:n &H+`*Ь?hgGȕ oyV3xa^ 2|m*aL(VZ{|<|=⮏=#ubM|@4y4YyR^щ00$.tMo%D1K[Ѧ5݁.v1[YbjF~4&m5!wRm YBf%OVg\L0.I7YuRKD{bظWhu{(/Sd-.k(:1|P NnK53t]{4#INp)eU]KaZRߡ3[]*/ wנ>E/l=:&}ZaNuF.8rqITF8PLI6XRimkqA0Ƥ 3ۉ`dz~It٣c[t|cI6u ce1muhZB'p\zD=XMg.dp2Abʉ(>LHi8"Rd,-mV3F^JcKQ#)}mE8ovo=lB l:+l+#-Zz KE:4>6ks>K _ M?Z5^tZ[Pݴeit쾡j CM*ߗ澄6R}NjZujDn2ޠQ-"@\Tk5h}<G>7E&7ܧsc[/rϽWEX=D51bf;ﶈ}'GY69ПXCMYJhgF ,_Mh10u󹆟|@* i}rC2s*a86z aq7_uzj[?Z~eu51($6y sc߫]nv$ksX}@kwRt9G[I SeyQ h{o#lSP"VuvAr:tE[zCO徘x{GLD9VqBz0&8*hkbEJXoӨ=)#ˑmxy ?|X:s^*Bm0g_sYdʇ=_om1֓y+r}'`p#Ѥ,t> c4E& ׺Qr#*1cLH;4jbph&ߞ06wJDĄS ԶpƋ6t0Zry{ԑ@t:H<1&LDbp4}..n;!8sBp+gv}&@K~&ZH()V Ј=R~O /8O8r HѠh< ;)1q v%uS%˜tS5Qs1>Xh'9;')k(=iܯIVɚ{%Plh:4=6֑[t@2xbeZuR }reǼ9-^+O4p'B:[NشAvWtZMmJ X,d]sNXWK8#(ۍ d5m쨠ͨZJ>^RxZ bx.l)GBMhE3SǖCalPQFor8tsXfz; `25K/RRW%& *xGj>N L{}^$H HX^pKp &^L~AX ؈9JjL.w2)B#}KknCϾ%HG0mKFHk]}B!}I۬9C>Kn|G%+4Џ}F Cf=Hb:k*Í-ܘ.,yQMS{>aJwQ'Fko[,n 67, .iu73D;o}M(MK:I5 H8zH &:]_TWi$K2̼&9e1dt^"jPPj?ϧ47MtNT)}eYʩ@1:aA2dDe/WIDmzn䰑zX&4 +ΘW-Q"^q 4s |x V,DRM_WR!em'6GQнĄ6͡6=yj3FiU&IR⍌3LfYzRhN$6 ٧6o^6\_DRa`W/컢6ǿ,YNBo(x-Z#`Z`tT **ȫ@<>" [79(K [g[%Q4<,Leu:2@mEs/iJ]U@mhWFC i$Х;ǣYfv&^`#]hRR͛6WF$aC,%У:+(stFR2 ig~$ ذgxh2^O0N%!]rr<ڨp7}҈&iO읅y8kV\lAaB@HlVW+x9*#B'Q/~bho $w*ZZsI*/Eۯ,.@HUêZX;"6J>C='cѝUEK0>E{G+˪U\p(mg-(PE?xTȐ<):\e!rexXQ%ZF΁c:"J_ԶAs9ZN&bJX<0e~;502jAQ.=Pr:\پ5 "e73kޛk܏ْ,JđoG/}Y/EVJ9͡ma')Ƴ ϻ9dVEiP9U`VY`@ ;8ǜ8bI-KЌ^WݥCe?hX -3q"Ӊ.ZJn/Is|xJFJWR+Ҵޯ}JJ;qi7Ͳ*O&@` 5wMiiaqz8\ /-ʝR@2F8Ki%[*IanG.N:}:R~A{H{>U[Thc+l]qiƸ%?h,!=lhn:bXݤk7Na|T hkidC= lL.47RM6 *Uڋ^5FȠV)Mn\^*8N"A$NbFKE5.U(P>T/̅%bIA =r(AY!Ӿ9)k%M^uۉr_P?6K{V Au[sV@0-?,F#Flb+}2>b61C3 .&?R.I՚_E^&x8?ߚW/4[ԉl>CJe`rh):_̪en hn2qB 7R- rW\,Z-JL)Ws.M &wP/50DsoL<3uv^/gxbFQiF)h jp+=*m@d/J[~g٘{G{Zxu+wmjca~A)K"LD^s_Vw)Unry>dY2}LucV^5%X"Pc1U0@if $2c?&N[K?8?GIҜMV 8pG`ˋ#ƭT\I}L%*|ۈUעc4AرH:9 :JiQ> 9!KɃjBHaD %Q_v65R Qz$\Nn;L 7R' :{kNE#:Ud3nT"^G_Yl7MV!. jnҕ"t֟}'Ki_2%'`=G5>!;mHqx&^Ŗo*+U|0HhQ C_mϤY1+: kTC2y9JiRE2oJgXY*wCsάg,l٤ X<2xI ]K]M}Ftx t' &AXR^ol~:ki߬c֦\ mz_9K y<Xc$'nR(Nu<# VKFR; y z^(I#7/ T>HhWJɶ h؉6t#=&/&=[vW/0l*tbz'7^H?" q6~6ךq*P;yye_?7)[qj19~r:[1>|?{w>;>?>I>|O0/1;{_a'GFK'~_W@JJ(E~@L'&@]@u +IHEs4v Pͺ;۟gҀzѶٿŢZI_7E.D ?kEͼ)< ?cjpG8rszEHt&'_ozeYhOoolmI`I4mjV-|%)D/BBۛZYEgMĠL 3Nq 0\Nn*8; Ma>H¶Y]}nUJM].`Sx˖\X.8 |u̦kbޜw}aNIjGs.kx 99&1rm:`.h*! e"q *hK3 N܌?t%\mٳ>2Յ'Zw G'd\g{Ӻ~"cl(NsWc12_2z]!ŇcYO9bR7T_H+&4Z9nËFf0T[>Owl2*ˆGk9.xg@VmN ݕU89z!t۫>"f|=#\%pMcRϝV  y=kx,mIpa9+ȦAAl~Ssrc;PP|/U@;UJW)K7iwbe!rX<1śNl](yNKO&%kܘi~EuM+ Ȟ̳ NKwI[/l5Hܾ:Aiㆴ! M 2)ۘ_?RK^u%Ie/ #YQR9tzlɷUF-_^O>4P'Th8!8$4}*r{l&i[o$2EUHcIC~U.6KM^=U!~| ӇJKX5pgMlS&\?^tvd>F 2KE;+ke,qLI¼HBU;b~OOgc7L:KΨh*{dK5lVk9%=W*ֿ)ܗd] & "cAǀ֢.g$"G:Wo&`!R,m=mS.;C;9 {rE_ ǎ8H7"ѤBrG܇e<~h_ ^f,͛ >UUG^B=roQWǻD[2LôLHktGid-r; Pon+T O/ޣ<Ƴh6>Zb;tmؼ5-pvq&>U!#f^JF M{#CҜ6"K%kfv-44mW=`\pi|\x?aOO% Xx`>0 3Gai|u 1m,|o@t HNh,kz2+`~8ܽ@W춨}<-{Ҳoda.?PUV42yyr{ Wp1@V*wGc~նmsmXh%Ano:XguvxmuAQ~rw :xO7whwы-=¼? reb^un!낣 ^$ |.極mQ+nymZJ[~Ik0)F Ru!ȑ*PSN#L4 t`yZ$sfl?LdE "cxH\6Zx1}*崘 dIb"% nư9i ^?ټJGaCōa{H1HE)6I{Qְj1vRYs?y^PM}9pJjyL^[טͫQ/Nm6?07|"°]srH1N{ dҜJ+5^ѵvpwG-I $+*97IGu?R EsZ# ISKN;zZ0XX斒۶ctSI\K[=,mrmIuX\ބW[} t.&մ5G}uv6A&m]{FG2PFZUW p(>7wy!lZbX#~.+KGlS5(M: DE׻ }@ s%"1e DlRҺ(O۳] Ϫ"VY))3W8d|"_?:aokOPfK)p>YځY2n/.bǺɞӌޛe¼Ub**f<۞!KђчO8a;.@{uPXt_(5ľ\AoG}}>pb8QQq,I8:`߉nHj0a^l1wqp:`Tb509QBӅO>n/vo{uuV8cY GJ)axՍO_ Ty3kkHfh 7jB6 c<َ$뭊(D"Nv%~{. \3Wpn]oam kK!GGg)Ѽ3BV7Yl3u褅 ArxPp|`Mk)r9W`;.jj iua % η,`axjwꦅΨM- ܲf*b6i&ap琂m>[AFG5:;m㸍Ě~<.5ffj&nHiƳ GXS|حd[\\Gmn]CTƦӎmhح,j;f ^_f`m}8aFtYofvYŶ}\wcxg1YEl?՛mC~7Ba}ݤ8Rӽ<_Ϊ7m _Yk "ܘw^7ۢGpn;ܟws7xoK݈.K\{ߣ_f LKeC%hv27۟5l@  ľc}hdX ?e5&k};^[|l|\"FgcG$޻ldl6Aw2P5[bw3ˈYl[ T5fwut;[ޞ=E5/JBvgjz%l\QiGKW0Q7jp(N#D Džkڢ6}lN TEflG ÛЃ&^f~qj}HuZ3uv\?5pUhC83b;AhEXE#ZQUj~QHe,iS l6?SњMc-{ʤu>BM3YTQ;pA{{q/qYF٤ž4bj: ҙTbjX*,ݦsN̾r\-A qbNnAT7tU0.*y) '1 ?ܚ-cw5c;pcZ'q;*]K}HӍ+s}AL' '\*˂+N+SxS~̬fxd*k$ @8ñ$x"K>Zw#& ,\@|f'qq#RhJLgZ囹'qp@@>+_n#t p>=^Y1%Z w#ԪԓٺhϤ:<Mœ^ZLbaW}jZ@h ̅mKZǛřh@'RS,:2'ltܛHgTps]3J:.sA;*3&u*\m"u/DX.3V+miƒQ çz x)neL.X^x -ȦJ`.^Vގ+)i .I앫1Ҥi7ZkT,4ZzpNQIM%\uڏ_u"s30^/+@ʫ _-3[AI)2\v;I`;?۞rCFZ 4>sF[@p%j q U + z=Z%) *mHUSTh2$PBP dYr2P'B r ZYU3EqN^ ˚0R.PئX{%2 =xz r + z/=⁤vrE/9L~ډ9My`%3ElEN-%Y-281u{ bq9'P#,|g>{=d4&0V<~j7IV+pWp4u:2K[/mhcu,t?40{7 pПS38׶L@ڨ²գ/C @U;y?6U |+ȋE>q I<1ٝx«ڇbi)0E-Ȝֱ1ՓSUiX[y 9"[ Ŋpmq I'qi=P`v^rހ$_;CDȴGa]9SwRnk+e j]p QM"%|^,o&(CR@+ƴAd\΁ Ȭi^UUvN/;EE7QBXA:"#yfȒj@`B Tz4)։oZT*&J%/1uF!ͨ+97K]Z|#qk)(iWd$$p5?df r /|¤hj QXT \19Vq4'NG E?gk:aUXpBŘ`@U+0IM_ЫXae V(}!e3[c #(cF6 Tݐ=/0rE dꜬϊ) U$m|2J #~oZާ:W 5,(iw{9uo$_>PO-i~o_7?S'<3Qoò%I-H\Oi6DcQ`#xɝtΧÃ;~xxc$h$ޭ87(ǦJ ok#n.Rǁ803ҙ"p6p+o 7pl#֋nX( ' %X1wJP6"Ej<؉=Gފȯi;.n '({igХF?_mLiI2*HbJP NmMye턒N HWiV|kj45xI ~6MIߙP%sfQҹl_3Ho ]QyJ;{G3kN7/_{ |usV.-/v/_޿GHv~?7c5{=v+T[y\WPye 1a,?-0C~JxNN*ِfUfq,5> g D)6JY cv5e m qH!3/ DvO}\q6Ůekot\F) 7g:j-ٚYF t,R4RS \cm}{uUpŝכu {$/E{>sdgHYRlCg֊I ~vы2o&E9Q?@,PgrᙤQr0|7 RGBߛ4i-Qz~d?C@E HV=AY^x|6mH_ˢ5~TD&%sP,q#ev^3_y^3ZpucFo:C(o<a(n~߉f.gdNF^񿒓n0]J=P˿yUA~ƝHzOd9چvVo t7 D+`(_5mF(* &0`u1&h.>2Olpg& oTֶyn٬'&pb$*U&#B03-v׍KƗ[!u]Pѣ5&I9mԼVJւI-sCQ5<1}^3h/-ja=.W&LusꮾUE1>giB|"N$J܆\0& 1e lK) jh;w軿9xf `^odzhxYV (>wb7|Ɍ㙺 qcQl[7jEg&v(-VM^M}BYkAiPpu;dt>sH9X2~4Lw&Vy/Ci]G+X:n*k(Zk)+ǭeXd l$v7<#Cم^euĜ*|dDt&3h~h+[x2yInd,뭭2UBa~P&xn3HƐwz>Wע~4A{2]?9}=q@ xPT w*Kڎ63;+MJkfhSفњnmbE`|iN& ܯs?d5h_uVV"7MAƑ=pvK7a]G6)e#r?r‰p p5JB ɗI| :TwAtWeVk۰竟??O$`0eRWݼ {UPNF%zQN t$άM8D)#`X?ҽ[]'JpW %ڱZ8zCն 2(jyAp?ؗw݈!U.c (X5+R͆uGAH)-ېjJ4}[~)zտrT+_wfuoa}28͈UN :Amؤ`/*"DSH='*"I:aj!L/$'ŝ&а(dM=VO :+ 4<8חڷ*'>~,ii|G<# 05qo:M'^.X%p gUVɊr, ^$ZpM^4~-]jVca,c):z44><"-Țcaz?fPluzԷi4v.`h[[]"~6FO8~|h$9 ނ/4tta<{>;4uђφrW 4 Nƒpt[TLT7Z;At GPZj؝P~ 7H_?]+ɢ.Hfha1 7=4-EWq̰)N6 /~:_1ȥGj!sAL)36#7 Qי 4lQ$Yi 4S)b0򝲿dV.:'6&LI!1WoY9%"!xbさd$lDZǘ57V"K=t::/3o*X<s,N&2.㻝|6ې'DU=G` E!oVQ$dDWHJtW (LgM̞in}uYЖŒ |bѻɉ]쓏>~s$C5 Kޗp<89? `GM[,&كK8?G_2-XVVCV,w)kebmCGK ԧ,߳Sy-%umUUc N*^p.}z[F>7j{~ՌF +y<;]ؔ_`RG{eM'V5|D=f8@o?QJ+.X"w5EA2'ɂZt1P^qs zMA|>IEp7.Uab9bՎXyÅgKfxi I`6&@j#IDbt־3 NYX(j?A4N .=Kp€+:Yء6$TizYLV$C3iCN;s"K8>ևnS4 )ق < CgZҰ97m:65YvN-yi e$db Xo;c6Z7KoO;[:I;G i7ˎ^P&8 {{?ЖH/M|??L#A]dTX3&iH"xm-6"Lt2d-X;FBpT/Б6h2/8-1?n(1 -q/ )Ƀ\/kpZ7L]9^-%rl(A"[͘KZbM:"`~& * G#|k?GWL?؛QAXM3Q Vy UĿ):reZ?ZJDI-r 2U"/п Mtwgђ6mL,w3y$Yu8|TU;f Ȑ_F_PQ`P(r 0&q(tyzP#m= 5*IQ*Jˌ)l?=7$[!D ^p_`$OzYCwcIPI!#J4~p '8*."IGQHVb!tpe>vhu;hT5n&W3B wXV^Ys+1 9K8%a:Aguc?պ8&Tig?UcF觯 TJ2IiSPQw [.z dC%UcU,*6|k>-t=H2KÔ K'sWQJJR9WΦUZ}xL' غ[{S7mP^6J5^&4<@#ôM_'JB&BlDwq[GYNt:A!=nd㤕) Cs^UsmRYmȏzWxfuzH $::"p ͼsPE28DE1䕨ۀe^;hERi;˃fGcPzô[[cdxUYii:~>h}^Ya:࿵kSΑ!z<=]X7{[L}F".F!TY,4 TiR؞zݱA)~D"%d$y&%+ l+"Ǫ`Qh7zc O@42* (QG5(yguRQMߦ>|_3|0Φ/a:\ڡVCUa`pHk^6Njg+7oEl;mFK㬼nv4ƭI9#$wwf2觃%]<).y7}. ۆ_.=w'mO){P$ garX ЂlÜGBa񜹍̈Zg] %Smb{@hw| Xzz0͗ri#W d‰utF g [@׶0 >piQf}6g Z f<mA%gtcsE B,CppneUEp_<:pZq !,,5{GagI xWڡ""S]R"j+*eAO)=50.`᭶6@3<\l}LtoOe4SyzDv÷80ywL)d- T|VU%cOmqp`Z5Eg"uua_~2k qTPP3a~+.IwSM vp|N聘B0н^ 1>w|u68{U2ZCCD1XDy`f"9%I8_LYB? A.dJj|9ꩠFŐV %Ì?zjT/UrX >r~f)|W2v _b0rr=( m6 bC<1?{5  1߹e;M>bXtw˂;DlQ쥻B#"EN@d@A;[vo%bkcۥQZ,0AH!Z!qXUEJ1mjmhg@!ן8lQyq?ǠxwX#}\ \ G'+rBȥ;2<7<6{mo^,gx(BcxӂagAްSv[5۷1,!PlnnuN3 gok$2) i$Ї4=$`Puj)?$e젚B|uEO%hJȡl1[~EcB4Pyh 0kA@=؛iu&wx׫St&GFw ^{1ۍ ]؊2a}d8 n~;7| vh'znGhn@bHU;͇1uG;Nwۨ=Ty to2yco:τjьo97? CruxkH/!R1;ԖCJ|-:~^% +fƉИV$>.t{M_)0V2 (2";`lq .+ `}vҿn06ꖫC˯V|0 ')r 塷[0"dpouU)eiK|m0Q F@t?w;>`/sL2t ?V EqUȍ$==qh  n+ad2O:լDsѳossB@l3]8[SwjʡckP{ӵ o6ّ}g&{l@̽&<;GFj,N28!ΫT$դY@g!G+k"F Bq-N7IuFh=Ab dU2㣙avܦ[mNogvؐqԿ3%:i &$Tz)2#쎀bv ikפÁ {M6d!+~1Jwb`@,Cۚ9漝9]m7;A|=yrڮN{#{.]>buy!g‚o(R{racC\S,;vaڗJHJpm\@p]{ {{N7g%|\snwkcgPo+~C413L]2Xk& =LF?mTVъ6џK.Sj֖>9߀DD>o`G[!dΆO^R,cҴ~S?'H,yl*D#mbXl)ǣigncۂ§'U\JGX66\\py$ڈ9"dW'테0dT^["t$72yHJIuD B^Na$Tҭw:=6B-ʗrtAɵT9JbA3tLemybk  \V˂.A0?6KE^a>%L[`[-,+EޒMNI}$, ,9Q=rO&``&Rܰ@(` o`.P g NF|"dMh?%d]g8xlrn)P W FH#hTG v.&gbk|\m.,иq8b4a`=>4,\KR趫$2kx1kJR?Ad*VìG6K3ew7cxD*rHhj.#Ybu)a2C)g%O?dTJzlgx0B ͔1JX0NaڪvՊ|R0 Mb"E[Bc1bq"luD˦=b Y6]Wx%- &{Пl]j_bVޤ) qӫjE4b[[qpJd qvQ,WGĄa>=p9;uD_bڸXe R5 bp\O@p_89ty 0YdHUV*8A}]q6 ٳkױ(8Y:&@(tg)il ٨QHgL*}+vy$yK h#qEw08QFf' ,c|_a)?9Y:3.g k ֊2ywf) E$N|xHPc@\hLK)\>fE*a{Xߗߟ;"[LR)y!e I,Aox.=G|=rbyoCĥMC*V߃sAr0T_>9þ4l dt}@t]bhJ&wEŰno3;b涄ZezB5>#VZleC]ccfPwf VAQäf1B3x O5 2' g |RKu{6<1hRW&;]^nViCy ,*hX-zڛrV7[I֠"$ջO`"VBzA8jbM2b7IFd(RW^sDȀ!s};(ہU'[&VIA/˕hi)|LUK 5Cq֨X\Ӹ\ :}BN*%xxN0-SVM4SLn[¿Rc w"ߧo'l4d1#Bv:-+LW)I][!0|H;+kJ}f`5op+ͧюdUƣa KDtuIn4a1x[m_Ӵ6z[C/))22I /R'j`ki!s ZK7xɺ= ߽4mǯ~9dr,SqNF y=ag ,Cjn_7 l8X얃( 0֠?{_N۠>[DY'hz4,(ż*ǶyJe!k@|JvUqIWTyQ(z06:߃(N4R淔xJ.eu5S4ic(<='̗ӪJ(H 5o|A0;Ms,#D U*EU.Vߢ⥭ڗmH~,+rtkQL&Y;mP bE<ҫJ~[`FŲNPU k*G爕r;օAY[TT@U򝍎ӶĐl?}5 ] pn (W  1hzw A\(ѻ2Ȭԙrzo@-I#kkgI%w۟+-& V;=Q>ǖ;rHNlD,J)-X\LѫXE&"ntA01'.q49"8MObK@Ѳc> 3y{# JjZ#`z4l󉘰^Gȕ_?!'F ezISA  ]i= [䲅g<.4 0j7s9+ QV8,׿\so}LC Ua-ڞ#f ~U5` )_!w"^H|{$e @") "'7fnRx g|YؾeVU,^L؈ OVi{f?L-dBU&"'padQvȝTK"%s/وsCFuVp'Hg&^_o`Н76մcvLMGO*qG\Ã;M i@G涃iÈKP, ʱU:5ހ&ؔ8hE/%B\`?Y*!FzBX>U{̈́,s$pNm xDbBC-NB2ޱM]3۞m_yup4 |L3vK15ҽ*H_O0 MžIgPTMe@r4;"Ezcɓh9Go}p 3>K;FM},Q" M{>ɽg#_*NK6pR.k*{ͪr'"Ӣ6Piy(ԛmalT(':ZF.<cvrm~J\:|ٛ4 āadupؘ+Tj6TL㟾[!2".f$CUc\YZ7lI75I7?+@_H{欞qM73wU LLr1t]Z.{v]_m0ڊW[Vt)} z4B/+4#DqN]elнA聒RhXjQ>#\1Fbrq!_V]6EԖ̊٥^Sψ N)N гI`vF=)qƾnz0<3N$8 L1laA{xxÂ<$FMx*1qyy[Tt}*:)c X a.?2|†bh>5 VꞍx\K7rm8%l?2->'m;3mc^Z9I%.]%C=jD=3`ѬD >|pK`:QkWfWMPx(i[mӦ8pKn84dlmYc _=]( q+1p29r>Q;.FQIp-ylM ByrsUa֡'Ɠ``jt, 5ȢNiBOEv>CndM4; "t9ɁRD$d%ʞxעCF?v bI" zڮ1!:yܴ;c7i@*g>%ΧfO m$_bV_o_`߿Afyaz$ZY9z?ee@y>fÛ4Lj\kM?5(9@ĜIB J8/I 9qxݢpb G`v ¨/ዾ{]EHe3:_aJz4ae1(fDBqk4%}tq8QTXU;{)L%dΤVYJNX7뉲_M1[h{]9#l]c G@/!s0K$os?~i~tO?;>?ܹgɇosCCc%&'_$KLBoJ)I%HDs$[~=L EKyX`1Q%\3;l쁆Vy4}dHNl{vpNt |}36MN^S ෤C:k2؃89sI$=5&@3Bfm4e_3=Mܖ|# apSMbCFF؆ 5Snd mM>ΰ]WGo5p"OkC~'nDQ*> ׋e?D#YOA۬I>jM2F0inutP flt^Rs'Ki\iؐ8.wWŠ}DJÏ+5T7t٢89b\3  zNa!ʱviw5AYEq1zbn Ia|;AJbe2CH!:r$݅9%$gq9Q4rࢧSHghYt N7 V2a%֑XsꩪȹbydrQjw:է'8&5ĄաA)'/WݪQH%H6{:9$HqOi^r5x<-Z+dE>'tSȬ ,ͭ " jx0Kl#Q6]h)9O'd_Rr g>H>"rٞQ=[-#2+;HooIW9+ w(<J ИpsyŊ @x+ 2뉘&۞ 8zCt%<Sc-LX pt|h$Nt#NrꦾV ADGӿ:Ç6kqYh/sy欲,^l,]eB64Gu^{#+.I5$m 'ߓ6ZK谴tm[r"IO1Ҩٵgyr]qOC9SWhԔA0Vy>从Cw Ggl0<-3?g!pTn澙s>8Ϙis1>ϬlAۗ,GX05mI(lDѷ@akwe8%tKj_-Z gd}cLE uS4sMc)y><=H~Hϒ`eJAu sz!p}9G^ bLi0+@7\*$i7;4>=c>Vr; F!E=:D9}|H<Ҥ=(鍻gm" +K|kI,!BيI#(X^99H´{S:n1Ow6~m Ӻ6Ur*I^^xV :yݢStUYj̫JqvC{7XQx|Q9#H1ׂgĉ4yy6or f%]K;RU*$ߤτ:KVLėgq+HKQxzw1AO]NoR0iD'ENH;b$e>̈xҩ-UY-1јǦo j:Uk9"k_ܲ )sr@3mmbH'`Q<;=<~!^ V8@>‹|6jDz[[V; B㪗u[W2$/e3_mB4`D#=KUv &8ni҂_7`Γ!J9%tD84jfATtB?1*j>g~TD%&Nq߰cOCQ5J1Ax=yVh+YLGRiLegqKMYq tI4,D-~,~G@̸jߡWi/b JMfx-)[%CIA2TJX%[#O.UH:|cu%Bj>TAìqϠ'`j'.~1~/#7<+@"`v1!ZGmcuW~CRGH>:.zcc !M{LpGD?`Ix{,AscUrԣ7$ig*ٸRWlS:*RCn`hto6ĎsôM'DBo@!ERi )²é-Es%W#|x*\zę]*`o2g)|_ԅs4Z30B]"caK{w+/ w}(:.U 8p:5YXB #ˠ?' zb#?S}U-n@ ?r?C26Tr.>}Un{ޡ8ݏ@LCﶈPJ$J&dz;C+.n 2s真Q/1o;YΉI;) 1'庌"n]h8R !^Ü]ۼ˻ug8ugݴ"fP/@h`VM\.d))K8G!9y1Qȶ9 'eݕ'C^fBm$v 5ws(vR!ˊ^=!жmUѱh־@GWeG&|#9ݼ.~20j$F꫊ST! -"-f! \AO<>1}Փ6 GÔN͡.4_8,kJ֘y7 l+RQOV 9]ӮኵA;  D/ PHVhk u9̽3ߓ7A}̨&;ի&;1Hn9>{=(Uj(qʛ2B4DƺOL½܁)m5#(`Zc 1B?GuS! -r፝ebLkPr]shm\ʥd^ioLƒ6= -ZD 15 % :G3 ~qer䉈0?uP1.` k`T!%KW$n~19 ^,7fA 4ԍ>AV |ѿO @(NB^3 &b=8,H<#}j¶{]R nW'xkEb" Q6;}÷VIUx&=c8\ * !!NQpb*_W$PӔKŽGho6Y ͑+m߯6M85APda+u Eq=A,[2FLJlVz8#x0ngb\g-w0ꓸјE=+v{ xo;r;l%7k5 W3G\_8Cݶ%U~BrCgmmGSmM#wm`廿 YcGׇe >nUӶkۊ"ںa_f/"`銩QŖCw qϿؽz;{uNotߣbw51n6BJn3W4W_>q+b8s 72IiOzlm6\!6؃wv%<˴n7cq_{П熷6:|1V^qRc(In%,hIo`-mXS+gbz| [Co4sF% 6]ɽؓ]5ۯs8 cPoezVڝmְ<~}f&k~SڢŌpv2]=լ;Ͷ-vvڷL;oזهu켃i{C;RV>v+؝-}{z o3X-83 ױo3Ҹ74O`P¸mщ ޣ_bϻn@ʻ[yY?)T-q m_۶ ܂~G}vA$=T|g$q>e۔5GaWikwΪkY# hlll?\9-sC׽%*tlƵ/;\!偽.{Zqw"I[ l /x 46[0|xi ߑ֌L#}[M &sؾ?I:E"|M Qxea@0 H ʞc9*vWDUU 4: %KDsD OĹb$?P/VfjAF̕~< XX-ܵK+'\].hGlm(XuA7{8r]Kv`gav \N F9^ſ{{F7l)*XsF k /^IDrft/5<p+}09~mр-(`r?c >\zvƜZBA4AI.\֣_M KYʼnK,ڢo+|(ĥbf_ jyX8ɨ ~rY_mZGML/i^RAj$ ^LĔ/kXxsA^O]Bhr)xw)ڂͪ};+ -?i>J l +!$2oYWZǮ$_0ɰAC4+={ u7 bGݏw(Rι]WAj9?f=$5WWmj.{--xջ\Gzl hGx~+_ñCP:N04poԇ:+W%@gsͫb Ѵrt:GWÿ,mL,ZԂHzo':n{{ [ӥFm\|͖KŦmB&%6& w\Eea6;=UxKe12emʍ ٫ɒN^n<^_P]9?}m_˛lI[-aOyЍb/tY 6.hYEǭZ/̀N):x-5n,`35TuaTDh^uqIW58Ҥ}sX]A^/$UZ>*bcxةjoИN]%Zw*&%WX,t56c)bӬ6+᯷2(|nM!sLjD'^ro``T H}m9EaK/6Piꫛ3lZ 9UM%Ch͗*|xY'ʼn&Es(Xq킯UfT&RV}nz+F:umΝWGVnWRya~uw E ,"f50앙̫ HuzF\V׾ |(%]5<%Nv94?g,qǻ;]_roVf2[`ҳapAlFN5Y1'%skuvJFz&~wЩsPtlhl:XG94VP6mr v4͒>Oں4,71~=CW2E!8hYE[ M3.rP߭bT¾ͣ=,(2<!@':qp-5gC5Tv ֿZ'X{_aFfS{̂@*(XB }xzJ-P[%@YhvU"TO, ƣt\*vёW7Q|z\0,0U8u:Bl>K`/B-G< )a&Eu޺ $~c$\5JzM`)cV!}}lW2 l Vj &0Gzw93f7/&0'J:ʴ;5KbhhiBgA]ե">ۑa-:ݡ *n.3ٌe T[}blڼ&tqa$?,7VnEDu͘f1o=M 2c`Zw #ʆv\bo`(CzhBL^@ מW +2!+9OQp[=º}W5%3 a֧[7aS1>P1"p R3} #J(kIcc]GM6Ɖ˃*1Q?pƄHs h^Ja *ֆ(dk\;p4_ÝY'3 UYodwd'NdNJ;9(\?v}ݻ!}P y̳Z7djbεW90øNlssԩg7IK30PpTLזWCX@q$Ǚl镫+Kϼg$*sC=^%n \W -H1vieښfSQ#҃l QӬ񩘔 Jzʈ Ǿ{uu@Zaso1KF/'f(̹,H8AkUkp;taÃIb3m-7P:Jik$@6ZaRmq!t kF-J.z]-A^\`_VI*j#RXy={#D40_^>)ΥtZ/hTwL!T۱( TEg? ev=,7._A5joѥD ̿CYؠY+m+ʍ-s` fflvL~i{5FMb>cX (8I[߀=t-!oXnF2"TDded+^֐aGOm89vwPqwպ'dP֙f^?|Sno shAmyּp68kI8ZZ#i k;# E4C<0o20sjhibwva08^^wCuQ~řC#;4Zܠ4li ; ‹/PF:s]wdֽrU`˘Q[6i둝ux'8c]Dp.t=pR:N0(^>#xA5gk͵?Wwb ME8!X"2[Ew\;tUuSUí\ώ$!%ӱ!YշIMTz=w>bA]iQ1~DrU3߶Tbz! iW. SZAk=2?f8g-eT3qkFD2ͮB uG,p^l#Ƃ(j]!&dP W}^` 87io~cl6ja$+>F>5E3]ِ!qr'ybF}ˑ?ƨU{fྍqϺ_36br$=v]oNL[x9F҄ f]4XQސpKJX)]D·j`A˦e ܮ~sRO HV3p) 3YM8Bg:ز nߗd-}=6Gohzlƺ5süfjzֶiW14IN=:rDPwdx=/!A?h/eQE*,مa~NsKWjmHXh.N!GUh ̮.h; /t^s1Z0vr,5{}iGuYL 'JEʉ;g$SMٸ묣@㢰Q7j1W7.\ۡ@GH m0\)eNyRLwq9mY9q% -6T|Jj'5)_5wJsX]!^jkQZݙjun@?lI- ^D2IBTueFOovk.Dok0{*XqRf^03j"y T4["B{(xAnkQ|ɒzE]W*&+"5'C` Bkƨ\c%U5(RWSAX5\`A2{@iF~@|'i5"]o2^[BLLVs]TDӤ}+j4&k#9;,g#opMY"Mbx٤;JzI{U>7dyR|^[ٵ@R6^च.I؞$gJKcMK/t<Gf9n*d0(SA+fvInb&H=0OBj+ v J7 uC$1&\oT^T`UfkyD<-sL-& xK$OUs})o@yy2&5A޷_ J<"V~ި)wC؏(>FnR10M3 l3'1]X;7Zh/uOx `͑Mg23yA $T}lly7ˁKgKp Q-d݀x`A;z^FU:zQb N`e;M* _#wg j+Z=zM۴DňViMaeGC:\f:h,r*<-x|Kq *Ljtj!;E%dn6X`jґLfQj}BҜAQ.dG p KtiըW&*ZS:ڹoתyiT kNd۝Nq\9S'ĩu:)AY~SֱMs P.n[jX-> rh!\po|7G]7'5ڂZu'U!;vkžU$C^}L];Cӹ9lNN [,-yRd70;ώ8D]tpk^0n|A  5jzhOh.V mfA!´RS񌎽@s^9u'Z 9pvi!8>g[3+[F2>(2kTĚ+,l;[ zVlvC x/1HN|2oY4ʲkt:ݵ@q~}M(O/u!sLTeFV>B!]aO4{ |/?UF w.[yG8dLb9ea([}Λrw uO0O*%08m !R7 zȓMw8S|NV}h H}6Z>FNo@,j"ө+C+ Zh@ ҶCwN/鸄UJjp`uw|aw!z5zj4K8KQgvJhMVhp{1pn~҃4[# 5b+msn.nP^N0t1yJl3EE&ti/ZNGFNF-ɠg3ENQ. ZoLkIX$fŝl I%^۩/I %pP:{MtvTq-&N: ^:*oqАݻwmm id=":-F'%I ݑR7GCMUtI$Pz)jp10ݸ=O )t85w?? "Z;8y[ u͠eohU>s.?W-ӿ*@S=%d@RkWɶ nܰsjMyPGF-o5Te3 rBj^ n{e.[-wKuap^ƗXx88W2j\4>>ffOF?l]FPߨN13Y-L!XkӘ+g׺ELRlu\\]=$)jt64Iγy6_yDtM2ӵ}2 \,*kuVڸPPkȏLh,76?(#wjT| LnԾ˼ @kkT( T;b8XՅS/*Cs\ѸVgo9V3[cD'KI954g1ކLނ S m#%ܾ0wPF6l :GCF7M6lMRdrv l6 OhOA] hPZZ|RK4O2߱ڳYnEÍhXoFz@dRI7{c_] ɔB 9s7+ޚk$ "תSoXrya ='ͨvr,wM  aKܱ#Z[ɱ^D}3*Ir銀6qFD+b"*ţ`,8fo4b_P 9i-1IEv2/ Me_k# ~ut) W'7o}:*-i,I2 1FS~TkdFOȉy*-ڜLƝ`֘p|T2=O?97UMՈT1.{? I႔~.}f0f=ܝMΣ%wMlSRZ/v1V , BJ$w%/(- &K5n~'f\;N7&VHCAd耚v. { 3 >iT:'j*"X&4ʠa0"NAߜF._5Hwk5ra2j4vjRn}q0Ym蓷ݴ: fDpmy&jScfxV`nJ ɩR:G`"C$un+(kH@[\'l``Y }h30݌u ̸ S-Mr(4p֨:%j`TpBN{E€u…Ԑ) kWCQ).q\Qw`&]Z;E[(8>Mk`~/PWW)X+8ʊ_UE 5 YBζ1O'1c[m](yѣu g_~xk>ιR&\lkHC9ZW)d-}2PD0ϡ7mpO4 ٢jv4 . !W~1鄖B2 )%ǵh^J:Xt6!x|N[3r(0q`**kP(YN~8bTy-sdΟ/۫ Z ѧuXH#J]^q߃ 49,w1 о#\%֧.8 7rW]y;5 B$0$AC {A葤ǷHh%;:r"jK2L{n|v ?I_W2T~9+Z"欓Z\[TCyd́+oP 9K ݔ׵dpJy9Lerhhh` lй`PdxM v1MU ^؊*v6J(!g`Z#io45Lt5zNodI6=/ jg3> -RBpRq9|.l4, c|GƣV]{v'D{\)~]Hld3&VWh[ٿ9;eh-¦buGv,zHD.B+,>dP̯Ja͊ ێ㦓 dJSYʹf lzMcŝq>9ΥFuvI3Jj KZ3@_8iÕ?6 6E7]6N9!:= Tm^z~t<֪G_?/o:u?9@ݍ@}KϿܷ_<91-zMr:Z:UPhqe@-&/\ns/7^9:$dqgrv/~3͗;8™_z;u~Serm7=+^1mWˆDM6;?fC ~qu1TlA[Vn>QNGʑ|p;pY~#ЦhWDՒ-KFSZ&-kus$č06ps؂M9d >΃g͛7(z_6Hu6M g_~B:fnͤc(4H V`ABc]ˠR8]#.AA>7abt=K/f`B#]l|qܜd:ɠy-78pM i`Ag7ᏨlMR\) ru 7߲MaԑsV0<IFEͿ2pQ \LnI1hMga#`7_!W2S0hSYuiVVfvNQ0V- 5悍ʖdSOv)7Ȃ'3b PfEO|^  *f>\,oxlPvޤ{:)Yn_"p,х< eSf)`I&x9M@^G>n{y+̛g}W E0n K/^w wd5ꥣ?`֧i,n|Sxt;i>3J :*ݥ~fܷ *?n#7ZL| 9ϢzE!Jnp-:n#S!obÈsG VυKL |)_~: J l]l:c8uTIfIih'7IEL %eE Uxf2V!]誸^WC1w*RC-9!mHaB?Հ [XHmARסa >3FjFHu} ER!͈R5x&nVB łqRv p$J O=9S7૬C1mU4X5N~hF$ ɠgmg!{A ,3//O &I %@.A蓳&@f ck: DfѾ R#uO6!bUȵeqHd2E)sr-`PE0VlV""V }P/D.gt ͼPh ,[3` FLeig!mؒNV)iH?P0fRVx1Җm $n3 vII6dQWLe9i1WcMa4k_(L-Ƒln-AZŜQ{޳Mmߵ^~XQ;ÿ$_ !SdEtf^9_S FbE$ #ԜlQA\> RLQ#;[X쥙y/(X$O>LkA)Q l 1 7L1ihvD;oePVsϚ5섨SNk:<ߺ-;*\b …i'6N'qb l$A7 |~dm3ӋcĎPG9:VmAF"<1 q|b HɏnpLcñCo~篻\mNP ?KP@`H nOI̲#z ;[\]ȵ . $~'c4[mouy 1wb]M*y'pgswosv9sS vnΝ-=LWd`"JwP(zAHCv P6>w"@l=VƩưܒ1>-9va'8},K7!3e^J%$kgr{6ww2?>aӅ`Es( 1fms)@!Pc1`4~5\Cls2ȀG~ع+p%ʯh ~<5y9XH˹|m2O-ȥk1N[Hd+/|MWNHqإ=qS^x_)/bނ"vOX_ȩbv OЩ/:۩:RNvnD[5T-VOLU<].vK[0BޚԎ t.\8gz)}f,s'!nr z.#CRCd>ޒQ#_ };@4韆)x3NLV܁8w)\L7B;KEAPɔ4/r{5J>O\䭟I8Y_ވ潞68% Aj"9 _G`D~r/փd2K4.f 3~Up@j}PFpaQ q2̧{jȷun>gsjIŤiGk5~XtBeM,'*N. s>w{6~z0Aq!6>り 㒜E&~̳|r1nK5JUʳhᖰ_bȖC ͩXo@c#Ԇ9fMdEtRr)Ո ۛnLmUH^|%Kv9٤4ApfC`(\C4Af/*GLk~駶.|"+6+5ۻVݡ45f2!Td 7X2 @ݬDg}];]UBX_ź˾Oc % ȃ Gi* ,: yk|>,zC${Pt$L5rq5xS%EaF&zXzs-xV.~98SLUUmPcz څa8ldBC06@6 vg7-#aeYF1*\MHY@*1AxtL!lA(SBHv/s:]rb 'u߻_?}%|}mQ#({Ht lCA|a[i *Ok;if\K"_w'cy.`Ieǐ> @ Z~i&$ 0$3' z%lPNs巹V@IWX!sLYY`=gfu?&o[c{Р`F!2@Gi88RVNZK39[yߌIiX&5X}wP oĜ^_9,s=ǤaKE v5 $&j= L褲c){饗ZjaaYT0}t~cL?!~4uI VA&CaM5D9; B^ r-(ճ ʲR$ʛ&sꮓ`΢\&ݎmK`dLC%60,D:߈Qć1r?aTt%"R CdT޼. 5o!J%ԴFxg!#i62^Yb6pNr}*㪁"8Ss1DIȀ8Y1О#ь ?!1 ZJ`>QoL.CpQ0'm"IH>(ݿ2ل X5o$Q|1@P՝j3?(ӛd+b؊i9:R(^!Uoj+51b^6ee'^?HA?AU oE]Pm3ǀvtA]D NA-}`?GyR}ãE4wchC\><`9_茏mH,i^ U6!^VVR#`Hex\A*&SP%3l1A`^mj M|`29L`6Y5rr͖YJͶxW0^SZff*kS`Z}n 6 ef'bʐ tkICCPmWVq&ҐYGuũXO{nXAw 娈{\bğO5H:k#|&`1Qc@LYe#+Mj?y2um5^~ F):9[pW$M0o2eE %ߜNQ\Iۤ²#a'5ն {E[>.*)'Rv<2j-S@IъB)t}s*2q?DiVf٧3b.Cg>Tq3:5Ԝ}NTUbNR;ջUrJ-~9(R  |IK:ƾW2f(WDS $}MIMHa ST (Hf2"8䜥:V-U% Smt_ +Ǡ&Ͼi (%乔l.7IUiOYL8 ~+bGIUlbv+H\#iM~A.1uh-9 9rqtܥ.ɏogzf _2A{Bu5PhЗ;lYACS/`ъ'6"n=eBNgwEj $EqZ4x! 4C:ڥF|GĆ6/6/I%0Q+i~{X#ԯA=rQo/7X4F'03(!g\.{拁XѥլD`ZMlF Wsu: W $\-B <]zn z- E݊ qetfl` `2L\(x#QD#Mrsq6V jL%Q|r.GdLHLoU;B6\k#6F^76e. K drPOP^%=H k`|ԧ'u6-!9>+P"SB<%rXcс?N< C#0H`9-3duElO-UeQ=sSCt Ybqp2]MI5 8yC8WV"N0ʌeP\vg$r~#/=E$FtWjlRoinApD$m|$GĈ-ͬ|Bx줘<DOZNU3S}eeL?uתDPuNeyn@î#*C^PK߬VW(o9TJ\bKz^ X7G40]"6==ޔܦ_p-Y/qَTP?|2v$R` w͹^Wc!G]qEAP"km4ܿ"腣|HOf0ʓ#ѮMp߰,Fd^ݛric>ZBDMzzsaUrRTԒpk0A) rL@֡*?u'H"2 ف(p|C!֩/!$^rFӁB)7t4a5gs<"NJ0tŵfAy,;bۺqS1 㿢CMNIҦy5\Z9  V¶k5]V7o^zpJv˯߼r.FNZ,Fg4'k-k[LpwC?\A(^ֆnS>v+?Z;8ު#iҮa>FLan٭ѥ˷̓C^Y0D!i_zllffWi\b1N-OG`nt[X'*d `~}ֵNf)]l!/{qƪ;Hcs0][sPo='l"'WwznXvxxQ[qWðC=ݷ,vԷ!@t0/'oyJX Nȥ͓\N5My@xP<@6dH`KzǖjvDjKO~fenO^)G[s1EX=[%@h&6)5M{%`;//m;-b IY)gZ.Xsj:HAdLt\Ix: u1!Oe8!O w+؜LXz0"nLa h.% "HX WdyCHS&W j4hW$kۅ0/jQ]Uw}LOpU[*{?zAA$4b l֛~}ܗ\,0S^̽꫗苡v3V:̭^Gospf[.Pf %K$lr`>k{_grb)=# nCjDQyw"@xJqFN/#Z| !Vɀ{Ҵsl醮,t&Uw:e:uNs2;A_>Mci #ĝsR&Bx@iA;vMInJӫdƁf>t!VA|8!hHtHG@fKЮgd|ZUi Vd&0JN$Hi/ĠkRAkmc Ԣ넯C]-&4ovîuj88(,@L3Q[6Q|Iacy'r"ᨣ65s6"jC1O95$Czyo/`/d(^^>Q{u\l(d,svž[G[Kj*GB[{Mj^D)cO=ڟbғ8=yVu_ K7O9 Jއ/'j[qcM8PwDxncUB7<'G_Qs8BL{DO`84A8 iXOgVҿxפA^^!+,lE E*˶p9SWtg`h̏hv2fʬ!&8HɈV.}% 9}8Hr[DRb:[JLnʪۓP2FˑLgOwk=Pvrߥ[M/ǥ<,o?֫K[T p\J)\pˆ>d00\Q+Y-T$_cscIeal :zk Bۑ}0߫Ax3,[\S=8(1EdIC796hEp%y > )XXMIJ: XAKnL"%~/ϖZp $ -6SC.wKHB]> a)r07HA[Qf6wHjWEvmM8Z>,^= #kA]zt3CkОه0`EtFBmLȎѾ^8. !OpRSC &lE~ |UCoVLڎ#%ePUL- „](AMK7)9>a_k(1ߩdSeљ3;~]IWusti5cNHK?k1!ڵ N-& Ia71!\ks1Z&89k>_rJ]0[/N8jT{Athn0$ҲC*Ҥ+um~A➋:PUrɾg30ؐs"SR¬pᮃ*b5ivW7G -+bw:;Á>e㴄Nvag>ئcij,ٸn96Ҭ&' D3VS޽$g/ %%=P.oaV}(Y`ǟ{BJ{?ɰΥy#]t34Oyi}7ԂG])81cA%"wfI&1g)lO~NlwdΡC dk, N2;5p}\8ӻL1w (H550,YQ8hU0CE7ob8Gyv%lPۤ4O)ϜkA7 \!nvEIcY]'WEEiC4D͜L+~faCáޖbw&eXւž^ Y{'nr4lxI =1(X F0fWhYlw C}67$*"l,\J'T=SRHNH,b{'Мtpg r,έMvhS!BjՍa *t7$M ?X d\UAp6َ1+/e&9.㽄'րV<$[)288o3o rI!xQ(r{sG؆/p\ 6J6p۰pj0MJ4YA[`57GE)e@j9%>3p?Q+q8%-H00ɜbC5 GS HkiҕZ4Nuh\ľP67V.,aǬlܞ7"aav:kw [|2&aERC~7A:'VIhO:vs@Cb W(.%]p^e&ޞE4}hb6Zk-.oe'$"ssI:-y]WȨ *M-dߏčYR<p9:Q$N?v"eAG\lbbEcAQq4 ]$`)VX(ߑ,pH `il-hر{rڙ6N9ǂ-_ĀÈq4bbb6Ro{y5EI,T Jw;&FEUY\ D \ҙC;1^;)k^$'c[>oz  .sCӇ{ ,z!!xGEZuHԪ;=7> :%˱na+ ;9>o|xq:)܈@YI~Nd7lI@[M=*E?=vxP_YnD*׊ ]~)G>ۄFT-K"3@|o5}w: _3Ʃ$<fyK*1ڡRć'c-!:op#=W} O'sw殠 Cͷh|El E? l|!jRۨ YxmR8(:P0F r6ocP =vz4;̒۔|w_6D;ĆLYX4 S]V2f-8qE) Zp_H>TZ\;;^B4f f{%`~'yCeHkT|Od !WMd4@&<Gmƕ\sU(a۹ 5 J&ΥٞiJO_vEsL!&evu:PV3F爖$,h;2. zBtL_ۥ-RlH,*>Y} tG+\:TxOWDU">/GyB&g}]5q3瀾_IXxd6~$_rqtIk\ !(ltS QE2+Sq_ NhRʊR a]VE3mimő־ܥ+GE,|S§-HTyڇnʢ)WsMIGie 2$joJ)o-Xx_R{ٕ82 {>Y?I82e3`6B ZᢱC\<4,Tf=V3}[Q~5Qܙ@:UZq߰u(])sc+"[4&csU/ӿ`)=q4PI}'NS9iv>dgZ[ Z>9ʧ^6+? (93$/(\I?A㏺%W|c xXކHgb;fh8qݍz-ﻼ8̨1'atބOar!LC5j鴴oAFU ~ƕXum=o+8}>.W j` a2:ɘ ,џOΰn踶o(*/y%h`Z RA5 D])ݦKdq2r`f.XtuU:}ǫ#lfN|(a8Aޤ\X V̈́H f.BF`הw)9PΊS+YPk%eZǃn$Tw=:K @Lu.[/-2)׍Q`4n'k[pz ]u(9 |xmj*S}&TRfMJ2leo89,uDNy9;r.H𨢪.]_ImtH[ 5қ>Vpts8Z]3,\U=[.z~tĕ^kmR_$#݊RV#(h I(>kles3/b~Ƥ&QƈKkfSHs9wh[Q5W&?{TBc i(7 Ʀ7ն1R&uOZ/,غU•TVEOc`Tl8I9]U W Z\h؂_ed5NrzZ6E6NdoMU,ndl !kMk BNm<Ï@k|_yH3R 3 )۶_ݪTT9}I.Am xÐ ﭪ!zޟ0+5':Ui<VgHp[Y#E>fK9QA1Y>amR'XQZO_KQt2e U-8YyI: ?OTUulWIovO@;õ0 l461fp]Y@| 4lB(c'G#FO;Da5H#m#xU E oh!`A 4O_B(ʦgd,N#5KTL6W Iv 'z3qc['-OW.Eq*M i%l^a}y9GE:^:F5XtXTE  ʩ}'RKsDx+Ԕߞ,gpw]3"RS <[#Nǖdr2\ȭm` 0&iRr Zw}l =^*z5"LoA}f0 d*.VlE1O :n8H] LL_0Ǣt o\xK"1$5K>D)1m|2tМqI}a4zFƼ[V1NJ{wL*@P[]Qka+sЍum>#GI'SY?QBA\Ì`npļGȼa9՛7\\IA1r:#?`VwAE*ȽXv$X-+>lU8 \;HTJ0O!`6NL̫?rӺge'֜:0$=&fY'sи20޵Ǽtm&4J8sU(=4o箉bSS6^)jjv $Q1[N\ \wqD)O/ dS?T jv?1> %(K *n"VP[Yͬx ZI 'H20;cx|9Dr 0huAfep}@@*ĈĚ`T)e\Ө2 r ,W(}ꃋ:9تM3]riݕyhAmջ^]Z 9Ӵ]Ă]Vĸ^ΆB+?ezxrPiw]A2?ᝲ;_u5 $Q(_A^dWg\ 8cF7(j1k,|`/yio`qNvzAu]z%^'ΠD,ˆ6tιy/,+7Yc:@'Yodwd'Nd:acO~|{{ݻw;!7e|hv}W[+'J+^E~ĝLs6NL99}3ϛ^(jnd5:WH \]<,tbrC҄der̐3ݜ€5Ʀ"|\v32@4-DO$g[z SgL&"* sa@I5N !a`aeB+珍E&rl dämqГD_#rd "s'hjoJCfHrY}zE΂~gO5>Yc =4oD `}lx@lީ<,uc^ 3&lLz$j,,O}T< c,\5T es'[z}Fc#( 4Q^g|fW0c濓)eA нI}+ip9b/@g((svl3:1-';`'F*1aI98 BM>]v7uŠ &<_6%l:R`9hp]Qu7o^W4^r3kotxΐjqrNDBTJY0dщTI3d^}6g.xU{!y,?}B2ZAE,gMoEmWɫLNaWtx^Hޏ Fvp]: z75,BcSW]v@ DKSOUcr]|{x7. l,f]qx R )oby8ѭ_M+nK,jZ{f8I9Xs[=)ʯˢ&t]B%侑{cm;C>;̩8o+ ?Z7XBC :}.Pw};A[UwjTFXE+SXT`HBE"-=f|,`%$:0_mNŻvϾ #V VY04xUAyvb.;`n:!v"ӹR@^4K3&A`+a#O'0a8&vޯ]kT ;yRS'G{9.*¶$]5}^GUi+x- | m $U򅤚'ggo~j2KRe05å;7pj -^z"r91N,)Ñ3_d7 <2{]0̳1ov^+&'N oe7C }%( Y3b:q}Y&E@f4S (Z ӧy%YXLk2b3NzcMsƾ:F~f`e}Euj'pq \,X6c9-C@nqMZX^!Z TL]:,͝&MHONy@ -Tw^N-TQx̧0f }=uҀb ]K{eQ7Ȉ-7 ߻; dz:XU6&.,6V k^z :G ^Ⱥ珞`Ap1@ kwO*klrQ0c(I Y ;5%.^'"c^B;0*٧++zc;$c\r̿@+N1Bͻ7n A ,TDqQ08J^ܲja2A0m{&|Mw¾[nê:*vMw׿{]vM L`W_{/ц}Sִ.~05B>`G!p@Pר&*\C7bÛhܵ%S9 T|5/cEN>P]kOq#%'kU_*A*%#K)n- gG?UvS̼N_yHqFA7"v6pQ.)/-KTnaxŒ":/Vr8Ȼyv5G}F1#ao;fDQ%M is܅%QcIh(ѧQ5m$PA+-!N7.^H+.mo4a@lroF;9ZP '21e3($OdacM0KǣWMdTneժ7oBS ^$H9tj㜑I3ݰ"kA-gfDfúe-PQ`|Bۑ $V iG|$: |q l^5*&$\R -B :~՜6B=Kj<q-n5 d#! \.sow*$i(>.?9iN1= aHɤ`|bB_3*nneouF;8sIRCflX5]6tZ >ݰqT=[mCV+Ty6] zNPj/''|9Ftצ[]v(l;,3bk(`2aI:_c 3kqկ UhIߪ nH?g6" O50T1> ܺ_µݪ )6x%(]j\\'b|<ղN AȄrQfR)h9d}TјƦc[iQaV0UP7-UN!Lő|K7 $ j&9B>K"{M4A/j70xxCGu#\~#x6$InL@^%~(ee(bP^S4(]G[uwS KiMn:)t@uC@c4"͊'삉?ڵLH&A vef[;W@.@> ŶFVԧQ=B3aW՝T]}gNAR@n< FwoK%+x%ř׋X|Uw/2O ?}\C]),B}`W`萳`@IJ5pUK!pQ2]H0DQȖ]*>džwy1lj45ednP &9mcq ~?H|N00βO*yt Gl awMH niʬnS qB8l|yc5vd`"$N Wrґ1AP/iNXwaz]1_,E1{7!">k 9ZBLwwq50&5L ^  ])TNDH)r"},˔^В$R)C)5FVv6ǨaWO0L#M޸)ô#J)9T/cܐϭT  dVP5`ur|>QX]mI ڋ.;)hu`ܤnha8 Rv`,?l3שBvqh-IGI6œm)/׹Hxs.]/QZge_T#LvVejV-mj}r;Sm|P@Asj졗* %S'pMyp)nL*[ d!8?}^|#PA 5T¤2g9Ȉ"nv3#AzL0_lAje3 V>j46"O-m]GID—9AfB#ӍA+HN`|52zT+ 9ݜ!\%}^1lZ^nbhBb!g˔ oQ4 &$`C'"̮`L]eڀ̛_yVMceqƎ$>?R.Zc n͉sFe9n/Qbk˶d%a!ʦӹuRp% h`Ӳ'W){heу].B,C2P&SOHjOW92BES]Pt ؐ4֤ >$g{`+N9!Pu7}quզ!&zb*1M\e| t*e 6Vc:eIȣidmݝrcs`cq=2k#SD]/:LJ @ M{CR!%ʲ3(jw&*}d1o& 9q."9&VsJ|6FI 6? ِf&F0>%*' |P!/9XVG/x6zkL̠ &`WEӋE_m\vggV!̈Ya#8O;kmԏkvnU~\\yKe rNvy888I`I-8Bo1fs j<]GӱO(H)sf>g9L$Pz|S0E4 SjR*@OhtۜLƝ`*ӶҀdV:꓿CB `J|)Pp#y nj:Mfk̰w&h jBʭu5`Vc8[%E8 jKA9ШCﳿ;`5Ιy2$#ݙtӂ=rKRFXllNk#fR{wZΊy5:Oռriּ~,`h*GjcfdIS=ߪA8#@P -nXQS90"i[DegR8'yZ2y,Ȫ(P;J({MM5ttkd=p!=v4a(j;!XmH}!K@H>}'ڧ [-F~"a-%% *5(ŝ.meM0&lĞf( *s&L)~l|Օ?gYzQgoSt(FN^a72]3ڊnVcP"Vu2: k`S VW8 K龭\=J ,4˜S]@ 8$ HPJ!UWM9utDGd ;XoCщf+gxS#;E'^7_{/{h| 1=ਣXHM 6pqPͯdρY~_$0P =f65.*ei0{X4yÄL)CH< /}P\Մ|&xT&>6qsNӠeIwOدGv.^ʳ3X[ tZ6&%z/6rYtKw(N\B}H=L oMyjp\o"CBÛ¾lt f(9 >ic6!Z Z>g4pΟ0ews'$gSD~XFJUTf+e84H, ׿{lGIz =(:n*%(p?.Sn7EV@PB-ʓqC ђ&d6ڸ/.")(2vha>';.%/ !晦[Rz9Jg?Mm\zknFz]˪}:8IaFJϩ?KEJspxWV/G8t\X#a*x3^"rBub4k7pyՏJ)p0C8T3W})ml Űƅ딂81?r?,NBFR8YO77^N{z^88™_z;u~^N$o ,31Wνb^O=8/g9xwE6{ovff{5f|a~=_cpQw2.ك.!9ֺ]f)Ec=:l_|Dܭb=; L_b]f;?f w>;x?}t)| '=ޝ} S9vVH:ߚ%vTp 0w ilE}*ZҖsSzŤy <]qgaNf??R;"Z ɂ,Ӧzm7`OtN6?5'lq rr&hZ*@}bed$pp|<,O57PKsIVƒFD$glFP͔GǴ$e|ȔA9;2>W3#l˜C+l/_8Lb` Qs/`IxV3vM1tTcs.Y@yb+@MHaAemH>kۋ}@oc)esv zvǦ_Ą7CDCfwdpW0C §+- ^d'a7LdЫ. 4Fd Mp½*vQr-!VJ=Th{;#9p$Rll;h?( 8Rtyór$T*]0to#Ao[Y)@{._}d"F12*l꜃ב/aZp2wc Y IDe=:+nr!ΩhO$ w`&08O%o v3]Z^|.e| d"9w?!^~Ͼ[ #Ȅ#ܷo3rt¦N;hޣa $3ЩzTji`ǻpVFA;Q"GԂ[{@ \a!_0 n A>dG:\- b_Y1sJtp; :kkȖM/ صs>io5d \Cη= ~8DΝ͟c;~~bAWB]!v2_N&ҕi'؏ᴙ2Ty?׊:E?~p4 ŷ7C`m4 Fq#0n8B 8E 6z?Ɠkqv\b>(pa˨#Qb8-x{n/| +8]kl$!o۪91?St[5tT,n2g#F{~,[\=#.Y}`O%@3Oul<<,sv#(tY{^t"oߴSs=8# c Q8=#UG9 Ckv eƀo+#3='̤ s9K;u9Ђ Q"8 葠li7.BI_nV.9 ~Q@Q u3)N]!;txLiwt?pM?@@cB &?G+9 7-E@skW06lFv$=c k4cwne0n9*y l~fM7bJyXQjzkh~ w?gx(UF#R1T$oHv m`HY`kd1 !NN>ko\z߸o~)g;1'/eҙL) [vYٵ-a , 'Igܲx.ݼԂs~ךŞpWGEAC+и&Mq6]Voz+FS{:J, ]$ SKark"DC 9]<4? @&>FUD`JFDOkLQA=nҝeċS1I ;Tz'ރsnmzdo&AF HnJB)=à C6|6t"l_P[OقtJ{BZA 󰦬NC.ە4mJmg$n$C% \󗟻K _IL #&W۶{HZ<,7Xe=h~Ak{S y)4eݗ0,ݮUU}szJHiu%18ԞnKb+k5|~Qe@"PQ<>{1O@?ȍc9Wđp.]?%!f疼# '&8 D4{8|oehmhWܼG(x=B}Cbd 9C)MpjZG%"t}.j#-)f>\S#ns6gܙp RD|%I:ϣP`/3xit[rB8HeJ%zw<H hȼCȝ#KhK$$F}Qv[,M?p!;>'Bm>ZgKT2A^o)"g /nĩV8uv1fB3 |qO σFggHgosshf0ьm3mݞa:f_'jʪ5PC~( MYJ 8+|SVom@:e#LoZ. iѾ%ĵ@0{GtԌ Fb#V,.+z~L7SA TފJ79>B | ˛c{[r# ҕ0l >,f%:K;deejTɓT6 dOk, 5`5*pA/IgQr&] T_<`: r9ֹ2]Yh.W3ضM=ɐ蝃;2q 8R͠ϛ͵*=Z 0qyBCIdJ7qw UL)bea+91h|•„0ؖwx}rKlulIqcWBm`_C?`,Y;?+gm[ƤeEm0I4e_md(HU\'ؘ8|Ts2؇h7<,EMXwM%삞!yWYwـO썅#fBSn2זS֟_",BOp|F4i͆y?ޅŹ$OU8PUJLk_,p0HD_in^sЏN]fH/FٖpS5939%ô)+ZX[mXryJtiȏܣ\@!!;MO&:ٴ΍wG0B^lH`mۙMEpCoҞQK+"W,2'Zr,!KB{]'Fsuo=E C峨%0m- @P̶z?eRF?0;Qqڊze"%g·g[U䁝!`nz ߰*x[|Nfhz#%ѩFJE6Dz8,ꞅo2G1IE`BЬکQ˖$2h}lT(08C}!CV<d"0ݖؗaabvqD2+ScF!\",郄ƏA#-G0z̏38P9Z5~F3wF]2QQ3{2j'U\Ky<,xY{\BOQC)~Y}`Ku vダ㈇RArI`& EK'aM>?,jn ,yд6A\L,E;w-#HWBϩR67|pt`*Jx! lLrEk2¯*B%_82VHXN27aG":i7}em8A'KdooxEv*9r|$WZF/u0Dg(HJPq3Jml!6e vVom*I};" ʈmV}< p0h :8nI J*bi*|sse~)zѼr)%.Q`? (GˋWs$ͱ*\0CNj .uYM q;\pVǯt%Ƿ&:i&jUR'J !ءQM &ɏ`:3^)G1YCmѡ9eյQe,Ƅ]BZ"9?| K}G+@ݭt Eɛ}Tg*)FqK!i(-h]cs@ܟNq|j8G#.'%<9d[M.̳^cʗ%F7AÙa8“3ZUI%!*q 6\r]n!px\BI.2B7fL܃!GB(dJ5DL8ԧ\ơnt̙gy-=jJi'=tM1XG#cw }( uۈ6^ SK <* O/'p.6d1`ΕL\h6ȝ3ɸ&%u /Bn+b 8K3:XzEEV8:x[P+nJ#Gg' X[m3Dh ?/E݅nF2֗ҩax\7.]TLX&bY TYe?v'^v(2K Z ߿̸H}U0+NSzGڍ .\?>K^Zq e%O!Lv(̥C+ho0(%ɹM_pX%;k1ϪwʬH@#.ɀMI)QϨߊOSJ6u_JLo]2Ig.g_SʀiOgK!Ț;},.!Qe.]YJ>ήz!ٮEN;|wp`m"0'>0SVjMv#JRJ3fʒؗnn}@|dқH OlFj7SͲ΢|OagE' y'/ȚxKœ9WrqԀ-7*vU.(L1!d3Cvh TU$rg+S,`ue3&Ma Dp$kXfC!XGtVr*Vw= ,O A2ѻwgͮ6'Gr.ZLCuh,ʨSX)aTj.v lvt#?v|py%?Y:1q#x);mA%Ӳ٬zH Ri~E^11+\"cr\6zx9XmLVl5N f |9[i҆=S*.!B e )NaiH)6s.I*Na4FЎ0VzQ>;1Gy,QRP賃㯸"}.WbP?,y/== zĐ%ͩLLA!A_ݙ/A:6$yjmPv ,BB7ϻF,#hCG@హCڒ)}/ƹǸKxHsOV6Ңuy_>x+ARLkr|q  FEs{)3$E_|-tbM13OW!LOÊʀ,\nwe 7WmJ{'{uDsc2kgY\^>7Τ2#~V%g^cz6SԂ@;KK@Oy9rX7ڏBfmx6&&ǘ;v.C8.c\~ZqqLƤR,jKS~ٓ> q]cQX9#ϗ,Tt$s<*_ligARǘnSϓ)8˴ȼ<8ľ4]Y,1v?6W' 1K iT~iIYCLgژR0Q2mi3押VXDEIVb~?&`^:6=.9}*S:2V.}ڊyM2O{9'g羜yKlᬎsN*ӧ=ޗg -;%3O`T~+#<}N.W@8j"B^_gHi{3G2.OݭbPm_BO`02n6S@g"z[h:i[ Qa'䊤oW+̟֋Ios;Du%߽EXR6??Plw87βs8lۆXzlv";jy8W:~ιf 3I3Xyk7%'p9 r~fcX}]X_o `Awmy,y娱Q_+c1kfЙ`yac21L!O8He!}:8?Qi2Mcd9kK{*3?j+ڡm=aX٬%+n1Dm<~EOǹJpv %ZZæqK߬ >*4W-qu~6wh;N,v7C[((67~ BꙨˣ*؊߳HeZ\_yQ_ MH9 Į?`O !:Qn4GvdcR^jtGe_ْ)];Bڥ6q_%5䨮=~3x<5W~_P? E9yO?Vx:hMk~/VӖh<|~E$: , L#?h+|M'LplJo@qaq~Pg.Ϯ]>RSf=?ӘWMXop2>xG1x)Q2|u\,k1[*=~vG闦g+O ęsq{Ufೃ Ǘt@b%K߸|˗,\ xv97o\x`ILE:gWV^64U1xW9Kwִ&'D*@Yzutvo{(o1ZbSxY!zm!%G=q ckU+H6*P8y 3B7]]80^KxgiRzx۹Y,Pv9$t-WWh#<]5pW-(z5s@),oqFWD^#6D3}o/tZÙu _cxaQ,-.x H;,t&{U&)xG]Y3Y?'tuIS*4P~d t)IMvO,I -@YIGvb4gNs1.+aފ8L7z;y!i@_x 6=0Zgv쪫܇kۯxb>+ϸ}l 6]="˫LbY\lH<܎'j]",4z=+K{Zyjʷ!g/`!;}RzcXXw}D1(#;'KV鰁tϞU2BYCJ`$A{ ;%Yk,;>]+͝0D)R |LݨU^%sr7|bY}8} ]H"b4kK,4סvO+٧k }HzmJPmTzb5GuN5CEg8M_5V!=Iݦy7o^_m[fu4}; ~zXn:<\X/g{nxpv3)h0=la?}!j2H~Z ~^WCq#v\Zn5>>6Ȗx(X]mGg;TH2#j!RQ*-y*ڽ&MobRKyZЫEH ϼ@Ŷ1'bmI+Q |NTQW S4(f%`$ 6է#_>B="ND\sZg VC{hdXZHXFY?1$,Qkv?x6ObɢnPR(8: &% 2cyno)iD"\ ˙sZ5B?z?jxnGW~ !զ2hv;6nY4v_e;wC;Ro8tbT7õQ^fPں1=Ml7hdÉ=j_BPrJc3q4AS)qHk!$-]CVII^1 hx.0syY/䞷9'O޾}6 ^Uq+޸x{6?3CLF:f"ڊNDzk՜T^HQ ~EhY"{Bͷfঞpl Nki3ifC3B"5Dåؑ,rz.TTέ+p i^x٪0?q~Ua1cĊ"k^,={ﳘ|vQFVI WU@#O(t%r8qGϢ#I S@~M+x}dP潩"Lt[{_S:[?'ScD-j*4Yx֍%`LGof* |e]6HL#nVzt[NQ,6}D~H|;}-?2ȱ\4Xu/֗k`aa).wu=fP+, r\qRl[豒'#UUNXʜ>Z|>S)ZtRILY]Lj]2S;DRR5CE;,CL-{mQ8ۯ;, 7,[u7S=vMºMGe}s=9Ql"(2u@]6'ƄyoANF<q{331qHXNιQI/ hcƎEE]e$ #\.8Gsw!\,?CnD>u+ZCѶDa1N65)q䥭/5!'ee`S~q\7^Ac }lSJLݹ.-_"]vF@'~ޟk4Niۉ32f0x~9IcZoZ+# iJđ {~t`lF*3 Y+e#NDY*QÊrϭ7r7CRXO9sN4Ldsϋm eGXvUAfsiPME,6r{G"$yׅH*49FQc7DO:e`#K΁d_XOP>@շ7&}L 9t> }NHÔ dJkk2zɼ&XGݲD`()3ci}@1Cuƛb +J.?`'?lH-fPa5 ;I{{\a U{>$הTW_8 MY/.7{2:h5Ǽ@nE"%EsfON\y9Q κ3'7S3()g&NA٧Qd TtJGBDMaIpSb(#hVi>b8ʩE&gQ*MG# +Jltˡ=_7J$B8w3;_Iyug}IHeg6W>+(Bg2/)O61C^Fz$ML^F2GGEJ"||.x?>sRsTD\J٤_l0_*)+6p@<&q3.PO8WK@h?Qs8d'A/?RG4eix][bI-Zk-æİ8辰ڍ9ƊAg^BaϓoHvCIʓ'ϬHJ|2{ tZ0x61Ί;Z;F>'f=O(}j=DU9K S=e>bz$l8{O& H"kWj+NThN9|̦ag]='aktHlOhC(%>k zj+N&^u #)'9Gp'=}i>J?0Yf^iwu2o ,%C^ G{8aʗdքd@')EOg:͉,=oVїC^%-YН1ZAM9)mk/ v퀴1dVұeɅw?=+PNu6ϱLE%÷g^S~ΤJz //Q%p;׊;" NuCi3CgC6\0k)Xe@?c,3*n [TBDkb׿$Tt$w~t:Adw@qȿr8;e}ݻgŌ|  8OFbdyb=8Mك^ϰ5lvg:_ΩSNyހbb$0EkNvx" 0@h/8nK):lƱǞj-}%ã2} )&ﲶ/Xٶg=Y=X3 or7)@!%crx:d;rĨ;"xjOljQzd_ixܠyj[3C*IÑV}Nr S1c XbbSl &P7Gcڟ=Op?60C-mЋ_t"EìN"dUrf,_D`sA+bxIa% ]aJ~@cBC!͍!hy&dmo-W\U`'kYRonƱ efz^ZsՖˁZef~6T N Pۚd cLߥ8E@~|^LPCH#JV}m!C Ŝ%ބ0st(f<N˂򅗻npu{ZQ;Nqx߿R8㍃ Ce֌M]oDF.lNT%e04gQRQ>-C,f*/]Ȕz* - % *qpm(xfuZ'A򄨂i\˪(_'ۉ S^>䳙seܓpa;NִbعJݪ[AkGGؾ;Iepgw[r :C|ؙc'L?eB{nHN}ũApa9R<IkJo&`N:ŝ00ϭ}j +^;v9 ;J\[>L)3}hZ}9E*@]N(RG28z=e~}B\- >]կ(?x\W֧+L(7j?'= 5TrjSLCA~cq\bW5o%;!ȹ˾F2 <f7^ lvKZٿZ"im@*?v_$wWtuPd] #g!*aQ.  !nQNtcVZnba# [g`e}s L=袑7*1"|-1BRYr]lh*@ 9CRRZ;>@ef(FAa]z !*=ܢVف}>i YG{GmF2M8ʩPuק#Y_T?^}u{#|bpGWsrQXlѭ 1@խ!rylW[d]60k`BUdډe\Y7$F8 @( -QtQk>UVyvݙJlDޭn]Ec_ZA:2)߄B/2n؜Sm+Qw RI24d>4 099{VnP {蘭U.ޛ}dI;.<y( K{o~# UJ6F^U*Z<*E]yˡO)Ա~ux: +ɜ~d%3ш͑%0}쌚Td|[ds"%^zv>-wv)N#޳MYDx/w R=WNxģgP~Qˁ#6teB̶ꆵAt.g*#͒:3ҴQI|A7`/fVǯ{vϞ\d8k!+A2vMKwZmD=Q-XZ7Uq3_G}ɵ0({]5Tsc8 f꽇ލR]̮ s7#u}BVm)R4$ 5ٳ++q)%\]}T&jOoBa[/uFit='ccX:X2j~`"m>ώA"ͪ]2b&r:.~N[E-tڹǏiD_! U=qa+,t*;Nћ™u==MD%\ DѺVvwPK2O$g;׿{]v[:>47ϳl2E|Nu/m9Jz ZLZsݔu텧[0L|;&H"h&jŸ="3W((LKK R~4f,b mc(5?2< 1!&ݐ- [k^O寬_3M_J\3(~!Gd;|UT /H pX4W&|ЫZ}=ZEɠhݻhcP:*nWC:P"z7 z2w(oBv!VՒ;Dkԙ KS`K'uWJEӄ R|5Uu9 ~5sA;i'p5U=>,OĥyIG9eD퉭#20;Y}psm=^z뜎wf"Oޅx6B|@5:2/g->4~PĎs,{s]Ph3e]8#PZD5T) z`F%Ű>eĉEAf\PD^$􂊻>Ǫj:?{s'inZ *QPlS%tTiwխTW|GenJwZ+$i^qمWh)o־i{=:>HXorw$|*Uj,2^Y/jÖ97H4]FXvk)H|ؠj/l t?gՂVT߉ ߎ*rX _{u邇s1 /jaG@;@lfss2\'<>Z*zCRo:1 fJز#TҧfL;x[(cv|3<ҧ}uUFMk_^mabIQsxv62>>KQiȓA)d̾3[e@=!]įf{>F6e @7B t!`XwHyy ɢ A&ӌsJWgN|tu"l!Tf8uq-jHL6y7m]D6v:$ԻJJ-w*-:T8J |4#twV,m}NL Xc~PY) E#U~1{tyAu_lV^(Mytp (#'Jo޸b4(ϻ ]GvH'@%PRvsi6zқ:*ʮ9 J`E̊V6o=›$]䴺 _߫u(W3G H-B$\ݾ~6;U>Т^AXPJXC'GUo^"_֢ADUwQcijT t` >l$Ș/a"g9EHl;ťU8V;lmr~' P؝uu_D'Z@xL-eGg{]mA[l>խv' t F3dsxQ#]5|#Qa7yB|3iN53wک)1DASMh vl,'a$i(į%jKIOb:^1wq>8oUѭn{S^ݥ$ҷYem`cڱwTމ^ W dΨ$^o$;rQ::P6Vt''6ح RUpF߄FzQocM D;o:7VުLEV։Smdа/Q乏 Sx/͉@E ZYI!?P$^ ד'M$s <r#H;4Q%)iݎGx\QVnaΕmOS-e&E/wJ);ZӮ6aKpb4Juk[pR-6)22_$4Eb"Cw|UŗVJY\Sp4 vӮ&. ˡP{eI͚npǚq "VB|T&hl,l+!IZ4%?0uCR <8lDu@lwԭֻF: Jkg^wf- BOBi°aKA8?^x q] v}^*m?3ߗE, Ft5}wV8-J97Tj.ԓ'N4a:{Q9P M8r@gmVUڳy0p99k]|Ū0K"DL`)zѾX(ɲ8 KbZkHF;*g;pmw/(Od|XDu,9lkkK{5,;tn }:]5]dN0z=EkIp/iXe"缦 !|M4y\ Àgs_#7Zaͫ,.o7Mpn7Hh۾ 2Dzj[wT"%,3W&N}:~Wx p Q>R»A8 aPV$xs(]NN*lt\Ucq o/t^JtDoA]H&7ЊuxR䆑 q+Elt@0^?]A^N)ΉhQ0lSwuR6"<&/־ZfVO֎:z@S%j`&i=h{b̽yjPQ8]ޱ\gSETc]d*&^6Wtwg@Oگg@q?^xÑ*>3AkN MzDAߊzg6k+'l6>*טj$|1FߗTEED5 ڴt>b?EN z<J2ۜgja `(CeLOk|m2AVXRN;Q C=깼!L<)0(>t: >U nh\vUnsG sи_Qqc[䋗YlE9BQqT*iL쐓DЋH %^J z͡3Ycbj}r; Yqێo:zC6N+[[ ednf%<_ﲇ IjWuQ^ܲO'F7%h%URE>I~&*ř;J[;'i. on$k&X|ߵ&IuhO"\8[vz ʒh3D# UF;-K~j4gX@pyN[-[Y=ngޱgǣnV=(Zi >bex?4mYt7} Ger0HKChloeed@g'THr*i^؎bvY2~XtBӔk7{ѕ/[ܺU؝bŜ8#Y(ޣ̖3_(WSe>3f=Uߵ$לdfKdY;hƅ,%J%ij,m=E8G#\{<Ź6 2Th>*-ul3_KtY'KX,PgЇ߱9ɻں&,Ëh0c 㒐-%l_ ‹g%dvI` ΫrUi H]Iuu|̯f\V׹{D8O3Jf&)մYi]:Oh(8e.h,76? T&$fH[YgT s`|Kws"z)+[ ?AsQ.F$zyG$Jđ XAr2ZIb{$X~ĻާW-QCj& J+p0^?eN lƢ /f!lZ7@L\a6AIQzbAuuLYV-Fm;W .+T(^lf˾G!% łLzRu +GvMYВI?ik %JiDzQvM`5%yW_Cd%hGgp6zj 6zk;`ZWݑ }-|(s+ (儂ZH墵nE[~XA.tEGwg9913AuVW"TI/e(T܏ .yk"^- 2f;DŽ ޞ?)6q14Q"OpQ?Jo!uL +"!TA9܄1G!,| 7},^0g3`[6>UU8C #?G٫d|iZ:1$Im% \k = '^W qѧ-o$\oGwX#Wk[_]0fTDĖJI,LR_^9fŝqjR;"Hp. R ]_Q_#.!*Kjd^KCˁD"XCKҾ~$@ VTll?H;">t_ W\"Td7ѝ'OUhsDf晨_츿0=l6%rpWs8ܲq JTmX4u_('Bm5Q> L}ui/w/]~ 7/_ 2~f\'JGІTDe9իVY&XqB(wow"n%`e{`e@/}NKeC e§Fߪ 1P^l9ҚDv3:ΣZ$Vo޸rO.}w)/AwvJ2ScU؟9y *khbr|UZ8Sa bWTLBn"3ǣ]T C\od10x<If\Vc@AbWR™wPO:\FQk1yH((;oqI<D#?.- xa AQ aUuN< r8b<35ٝsn3{/#csnw__rWf~'Ou%jv!Q'~8Kh椡)goT`.l镪1%My&]7(kErdɌ()8F5,w:3" gk\I+*a Sz4}OlY>W}HA_q]-fY#wQBo!,W=G`C:+TFfҽ%?kc4@r^".Jl:1$QTU|Lł9@XlKI5&WB1Tg[("ڑo~z. hp}W[σbIueNo*\X $f"첢#w+:T3'jSinܥhTCqU<˩qM]L-Z/eՒ|L.]9+SdJtXrԸ :ևt> Ql ];i^ahNLeWzaܗz؅KU-8E.ᮘﯔ?chY-zνZgfg,$buo\%SYkzt:2V1.Pbr]:TL={c,*S2i<.grwF,۰mXZ Ζ4IwkN2cdV*~YU~V; Qڅj( 5!{UFm 6,p•N0ЗT~Z ՘{Y^;X4e߻̷bçٳRF>3n[ obIlANI۔.0v֧1/,ax3ڒᚄL &(At} ,i)z9}Rf!jUQ.M<>Z|0's[TBX#m_qѺ)]Pfs?bJ 1)Wi ~ 0}9EkkiNd)ԍztx?`$zvmtx. ] 1ҙ=U_`˼7VGfr\̧%2xi "bG Bᚌ.R3p>=`R[賜,Ec%{k4ݑ+*^_,l4"Xw~] yI)1ì)GFO# ojoi?jiCyϫıW_Y6(~Dl4j] ck} Sm+ 7wEdzaBY+%tr&N=B W=]N3RʰG*nߥkSS&R5v[ZFs_]c"z@`9X< JZa+̓\]!X6?YC'Y<"v8כL@yF_p_,>@.nl UnX Eh{Fkk1cNE豴o`i 3gtr4%ȩEk_G;,鏈Y0}44L=lhmI O=t\i琹MZ M`Ei!nʪz %JoP\Hsiaɿ ~Ɣ(M/k;}L2c{P"} 9~Z:s?^Vi*xY몫!$ 3L6Ҭ0Rn4Rh'?僃WP&?wWx8Q{a_Od/r|Wo#O{C&E{Āߓ"+W{2j}f o1=,|9IY[8,\`s(uS;J9#^?mtIn,ű5HPQΤ !L 7eScrBiJ ;z3fy O ɀN+;чh#;ϭx׶)K}L̅n {DzCw\ V[%JBl!&%"]B 3IHUh$㉭vO&$m4%D;sgAO[[@3XPb7"͆e)'~&X4̡=-~xXKwN^);LɵCO&m["˝uFmAUYVC9hKc~ ~J\x̡^?5#N`5 E.8܎qZ(eB@ۥ'J+us<?lҤwKf_UyvVN_6Se>h~&w#%װDN{ jӌ6U~FR;><3Qp})#Ru=CП5V&H@:~_&_N78:< nY9B DQطa/J42ch8_pͽS:-bD_ŎN J m\ 5&DV7|ϭ\xƎg:-쏅XIjOjdtU_qQbg8eUFkm$1WDT0͟zWDʼ4ϟ̍fdY5fUjK#˖ռzLBR\|ԧ_4mVOٳN|Y}Yp/VL6q23k;36 Y~rs6)L `RS7;:,VTY s,M@‹y/rG"3 ɠЮ=i:@pˡ4- dͬ[* vSif zݜ1/hOG̩ x>fD|//2Huɠ6Cgcy%J:9BrU)<_xx3鏲Em"YelY'M^]6W r/:+MاpwE䦽?b'svZTi/ո6X[.6jR+x9fl1xf;P (n~pLNve̟?)l~ }=2 t}2ƊUvz`hmhPpijfvqe9:,ժ(>3M0`lM-I'i]q9jtl-0TGy>ӧϿw"-cë4*#% {[΋9fϟ-^9|֥Zhw>ӝZ ڽg4G. zYުqJ$>]M77f79i]殁yYUn1 @,ا[6%!zqr l Rۥlq_4'|1gÞxu7AfHS#sQײg66?h- P'L%'gVϟ-eU$(:pf{EU:lG#8% $ZU"KBsm"6p%n ̅m 8}:93:@/|S5Ф=}o VdYD}LuDDQCF kLq`EPиGph{Rm@s|dh~G+"!zmƭ#&Q@'!ۓ#J+R,s`9rJz=A]5_,}jnby)iFeqˈI3x !/3O";&pѳ~~vbhpm9),K[o0,K#pvp!Bu8F#!ˁAH F=JϑM5̥҉Z=CT+^MI ]ԬsdoGyjz8@K}Èմhs+*m|*X14QJ&p +a8Ir˸JEljn还1-T] $JUt%9CF9W)[Zeİqm] hPښEkN4E11:u 8KOItM!Æ6@dy4d ](phӜ׬}6DD" M+J<_F-T|k /pX%нUQ,~kL*c|}L4&b%g_0=}Y[TM2|k9Tfԇ<Ϳ&Z+]ϛ>?QL) v csڴbxjOaxpQ>ZJ< BW4W6jS.8qx軗.]!V~vj9`qBrJ4 9M l\Tn l˚ Z)P^2[<,  7p?(7\' ذebI 6LbM1x QL}?}Zq;gLv3Y|v͗OLHFd3=c!y׬L,DlLƔT$8Pn\V, Q3^hRϿ ]VHH2x}Tb $q=?bh?[^7Α^_ƾw듏޿{w}r덷&!#qWL#|C7>]Usx_eՀv&l P%'I|䎪6;w -w5qqZ߃y}+xuoSĄq[î43۱4v=>Hys44F2<8 vr1iŠ)$+Co,[--swū_$@~Ŭ; Oʎ/@Bf5g !4Oj@@v\0)Efo}v&<缌ޏ(B7"0] zNkL$dNqM9luHEn9 Kc2P#cGZ/d%9T隹' 2RvYV'7u~QmSV|#!c`X0^`G@O 4t>;$9$c/N [ymf--Ǝ6ϵ.!1O{Ez.Ɓ_Nlenu):n7ÏD)KrQmtਢ@0A $oo ̈́=]F}c6u{9uz܀\ʈIwXP4|hӠvt}@8VP'ft/0/ʙ&?e?@]k$˾/YMa5\]ǔB >Co|6rS"F;rJ3ui>P>8z5/F|N2a> z;X@gu$LoM"d}bѪU/XߣNbb;]Y۷ytQB)Zm؃s@uoK[ -_uxBz&tl;ko~نE5rRD\8@$waLJuP^iWlشk̾A@;}:ۇu٢}_G ꜫX|k V;lVT{Riƞ-`xWuB B#,pZElGӟyl Q۪?iV?oʕ,#&a>7٨\J{ܡ{7 q%=Hمu5ni*ʍjYkrKtUUt \m[-|E}|^h\of _Q+o+o!\$^JCx6K09Wkv.ćdJyW`Ҍ{cTQ<v94"G5{A!+r7cf Ӭu\SN4\mF(y%c }n+g9GN<3+m/aQ:&_?=&;$jWe1JzêP_':XZ$ כ=pQg@IfE@.R^Ա!ZJN8;igC]y;!a6A4N|I&n.Z7By`oXsAZQƊ%d=3LMsPߚm1'/)=j \kfI I&Bl(s''lcۧpߞ~[opVPQXJ.< S+z6uKv(bP;]1UN"N<{9 xsq$_np]"K"Ia9\MlO U> Rc_zfߔ4Sd :/tPb5z_wnSC\O(J tB!qlI;T`:9đ6,r@a\R⟁|/He鰆JE].;*x;n`؁CGւ}Ifz5+V[Oh-}ö0Q\m+ōi+EjtBh9%VXآsĢ%JLQ"ESOd:zaoGSS}c8`z~&)$368RGuÉpMvsDyf VŪ,!kq}4@j$X6vpc4Ȁ=&NjܺCu|>əyfg*9_}L-pubPD3~RVHm] 9grN}^jiIK2 '^4C6 po1lFuYV1ӒaN8K<{HX崍Q8Zc 饗0jV~|B/yF"4JBI(0'C8  iԥϴLpy\Oנ8s X^g8!+HIW^ | jPu-T]n*S$ @?۔T"(&Tªf #>%w˧.?t.:_m6l]54:~{&<|1!Md*v±tliݻkxpʹHUjAB+d+*<{b@@;/oe3 NX~;|+T{@P(+W@4f',- 9ցfͰ]AܴgOmb"fY=_T7Ȥ=Rjλ6,*6Ry^Z $bx(6OZ!.8.YF7'$ʯ7^@t[Hg8EmVrwi+; hy/{)(Htv8>s!_ m*0DI*`>8HSPhB+7ʮujO,y -YQX_׺ug!!7Ȑ-fb8TSx=葹ˁ)ϾR]TK I¹bGXE#ڭqJ3,vf4xp6yj.K[L䋾Fk zҿAu[%8grr'bZ>Cm˓f&?JJ/^d$zәɌ(|5Vgf/ N•R_XהEgN\Ēm"j p4f.f`Γ QηGFhBj VFŞ+k e9v V60>tpi;o 4*D;R:;=`W( ` h<%n9!^k 8t8~}fȳF.P9=|NVz&2_J S9 uDo<73U9,z41 Լ 2Kgd/}H.Lݦ^c:9Ow~LTpHb:Z ET:cs2 GcSQJ]#ʃLq?s<) w`i!Y٧9!Ƴ ^p+eDZ_(ŠtϞ?3\ e/L~gu/Xeڍ%skA'b35֮g @_l}so <^'8;kovQ;i=L|]lۄmnȋW0:*J+X&' c=&V.8sERuC88%irB}XWn/}R.A;Z Sý/oUJ)`.d.oOvwYjqqV1_0E)Z3%f48CK.$i=L#_ Gb 2gN6/O^`;o2tL|PNi׽gΚtdvݜ_\Bi 9y_߇;.^|n/uCbIK & O[ﴕV|_DX>$P{;麎py^'czߗY/Lv[0RMrMa]iYhJbhvfc.N%4Jw%W3*3(J1(/'o:ДZ_[IzNNmWrUՊɩ y+ӫYFkS{QYt7l_ȼ_U Ω-}Qq5Jkb7-!>;0 'o~vHi/ 0}.S9|ø_1P0o(4mqW{깟_ۯj"}^V/K :}&s;ۧÝ9[2|v2O$'e3ęv+UpTR.vU]߫A6xj *G%?:vxi|k6dx`y貪E4W6NN&_j*~ZR'̲Ҵ3*n麞}Cu{Q~_"|O2~46f*rU}á!/|ON8$ J!Paة oKõM(SKzzWT?lZWw/dȇS>nk#E?]f 0ۺ~>Wvs%su>W}G?nnM\'rA&,`Gow?ȿ!YS.sn~$g@:2M~8~%.Pw4z@-ϧN5E=Ţ0Vz78MJ`y+_66;iXi_rnaɳ{ba]X5Uk_bxsM}$wxA.e..f  ~Qv90K/$ 89M '}&NG湼^2)~q%eFJ/ܿwp5R<>Hh w3* ֫}Hbe,6G(=Lٹ3J*\Y\o#z܅u ,dN\0jBk>Ӣƞ PisQ3wSPUn^sy_\h7gb-r`=I 6In!{W2D սQV윓T}x"Ȉփ$:̮ \=fWSVQ2AN_E){q,lnv{o +vOgϟ`QGӊ7ɑKuAú]|GrM&V;RK&_ӔPķh\=F6sUӈj+Bwnŷ}I|&^ϾO ^ Seh$1,]g;~N2%Ip/C='RLh"ʀ3&4QzyW}b,&mN:ZW|jVsb=m 1;XCʑ+Aă|1#WQ KZBf[9WxAaE>*ҁX w=TDs3z"15hs%s>W>WQӧAbq˪7{[bedg1lـY?d>O _5s"0E)ŪHjG y@ˇ`DG|}S bML .fϱ!+rR߮ia- XtK"T2~{,'T@vt#6rm?; D?XzqEhEh% 99}S[y5wj \ * X.Q}\_qUэjj13׮_VpN\KbҮ׎vyGO0 |jĆUśo{ / ybo8qّYݺfTRR%/2稍fj -)u||:?^ᔁYy_]]% 0w4RxaYuR[Q!|tlb=w '-0tB:> "Z VreB,4̎[A;g<nǹpI2CA嚙 i,=Kg ՠSY|00=Kttny)|YyqrWζCVMEA 7^т*#Ą#ig.X-a`{U`?Ò $ya.mђx,kYep?$ +U2fД}f:yۙqՀ:tWn#:|Vi/5D3 w*rk NHmH Eock6wU|#-WM#3Guݼm,7.Z}|wU˴Zzfbڰ*WVSb( ƩnHN#@S==12h3:0~42ca~Py [vz`$%8=B!O bn"<ʹ$e8qdHq'\S XLiPhc?.Y*nRz]+_ɰma.^㉬ü\PH%z: b{muxٔ3dӢAČ,2y@?~tl-)zOɔqWn1J' Y̪rwt?#^ow8 |0޾1T$Z qB4+W. tiy(.`l{tj*rݟ'_M[msK 'O@t.Y>rnsKtH4BO,snlI]/V 0gMPqm[UlK4~bM_E!^\`_Gw:f1λ2ik8YkQ%ȭY2yC*p[4+Ѵi06>2^x^(^ ga?Q7䦶U-,?$()Vk*eڒjm x|ZAcઃqbuDSհx"Z %aoNo`xN3bkh.YV77/R"6pyoa.rƪ?BGU=uF|Nw92EÂIعW7CSr;e}Vg+.FYN{qqgliLp nZAhh [- vRiT'ZGHb]|dKes*z$ h JplXwgfYt|ʼ7⟃ݡ>L srx S[ho dH\٨LjpZ8ctI(tC9~,T!pT-"Cz[uS(Q|0( jדբZ y+`4CI_k؀ؖ9*LO)QϟbFIZa65'J0*ʙ,R{.nQB:pKn(:k+2dT%&v[@pڇf/"8"!&Z$%!ݶfOU! Fp\\{ۍȓ﵇|+ʻs 6(ڲH=x.;} ?)[&4gWd]a'BOc=XK#^uyܜª+P֑.l Əad!ld߬>}ȡZlX?C/ CBѹ1|UE5u N%#10Vh2( fe#B.H=zeZ[[xٟ?!7L$drjhp;>} 0 /g,`cWgP VfmuZaIu4e;`c ] 9, jA"5$P8rG玩0jy@@(Δ:fZe3aX/N@&%edNylO' &DW@&~IMirR/iQ4eH56N#BVlI֊x3(/gF_M$굻7V?a=׬x Rfժ2dh`&X}s,eel>@ޠ Mp#yʜѥcΦFWH̉Y ~FX<_~ ƘESVzՉEѳcoern*| =uL 7b&ٗ( -W59&&Ǐ ͭArλ7漴GfԋmR(lA.%(ߡm8FŊh zﳽZ]+K/]x )P1<"Q{F5zsD􍞌DW"ʇ:9x+~ɪh!^2t!?'BȨ CXklf/&AAc,k`]6khޑ7tXlgWj"ݗ8y֡FWt.xmFn”fM[-ײwVAt>Р.u5`1Gp g-SdGx%8lv& eQ=䎋f=,l~.hffESd{ΰɜ>371`-TZiv *M l!n̘ml0Ym7 Դ(~Y&?.zc \t 8ƢxV( @+QH{ $ YOeŽ''v9f(X.O $y!E`\c) )JʢIc&{hf2axf!ws@:gF4#B:Oqlv|:Za5ZJqī@`ɝRHiTs8Ov ~m0 K56HҜv&ڍi j/<}(\/m_de"njXyA I,is Y9άMٹߛ\ ـdH|1zme9z GVDI3#F2h9f 6D1Y2#ox6뉸2f@q\y[ qRk_͐Z&-69`5 :c~~GO\j?6a'xO@Lҡ11@)AV!W8 ;}~yT5Vs6"s:DY5q&%[{T?eNv)_Ni-q^Kƪ.^ NQͨ(G;! Y 13D|ĉΫlTbKFO6f1c'hؾ-[ڳ?C; :=e%R)2zs ޞ/+4ZFG1@?wQ(aY9BI~tNGmոڠ?O;j~#w|ضO<*UWڎQ3hpΩH=Fgޤtr$I oYh/V/]W {wojDo#{jknN7 =^7'td3A'*6$]{9Owd|m>WsXĂv$50lW@BIyr$Bh!D)^9o)rymzBE 5Gfa2=¶w^U_ˎj`~Ng\x|er\FQ.!+Et e67GzJI0RV5˾0"2Cؔ 2=dS4U6P:A.sFtݓL}$^,eSףL|pF,v7`s ||b 5 葩K'xg}0WR9}{Ѹc>0o SY-Lm2|bs4ڴ`)uieHT 4cTߜlʪ}TNp];{)(OW @ z*Zp-f?T6Pe6)(ސÁ d m&L64Kw{L"q&V~-YXt eTWB\/Q彄e&o*O2rOU>$GI1Q4ZiOqq!a>$ l]'ݢR ¯A(0d2ƉTK5UanP KO$]TpBv?~ك?~hU|%c8r،߇~!t^@Z9۰`T>FDӊ5_$B LBI6 Rox/3یm&Ldrr/@HzMB޿BMp^Ɯ8'-qer? @`Bep݀nj ͟VbGxuGjgD/f2'cb?=.6$,<~TEPepΌa\4=YimPnY8P xi 1Q]G.9kAS_ :PY}\Fۯ7?voGWZydkA pgj Mȗ|?wqXLdCA u8;Lanc%g[cI{Yq6ERU'?LBYIW v';P6Lփ(rPo~Xٜvb7P<ą˪ ,_Nf!=y04GE1=+0TXm@ TȤ^؏lRkMS¸zKvk( 4 Wg}3;CUb#v>Iܵ;gX~&( hbP>vl(|[5G|= Gm5bSE*s kYv}|i1T<D5!bw #Qz\ it OAO;gD۟QSVq7!s4 ldq#Όi31e98flaXiHaRC==$[Jfh^M*WO{2lWlyFy+LZjסSͿK{RAU8H;r eT;2vC?=Ro5S-ݓl lоw?)|JvcoZY}`9f>Db;E}Ჶ F7T XrLךʵMqVsJn W ,Ckak44897f O *ƥYH|gu"-Q,hi㭧$cvO齫n=5WܵKıGU(;/ׅRIm6d =eodl 'KdNn&̌dke p8Ltk}r')7eJׁ䦈r1 Bl-onʯ"J BIQO:xVvѧy?!dJ,)%y~9Cf~Mt& dQ%@}`7瞢UG0GuNŕkӆE>0H/K}Q\V,0<',s_{+hԔï|P?;";Aߒ٫r>o8=w*[tQcv[)= 5^ SW$fAI:rJeeƺi(+~{b9Xo3QȂz_FiUܸ'mOȧ9i 4jt֩_od ܥՑTS5ʀ>'aPGk3p,r%64Qb3\\ޚ|6[>?s!_5aԩsK2j uj/Wl%8ESOWWtekxF;n_C׾ZR }NYhȖ{s6$A0(v5PT*~ mU:ʖTpbޠɳfTgͱTl4`S35%()jcfL o' (wyD4L\>,:kh7X*&>Tߗ8p"QZ"1?RCsߕ֑zu:^K.1*K;v8'6CaUɷtޙwQ3w \4 XhˬXf5 Иkֹ 'L6ҩb&Vyрm9nm_Jn b bQRU FMC M8ȗWG=ͫ[ ,]kK5Ʒֈw[50|oҖ@쿙m/4&kKkCh$ƖV|èUQݳëuL|:R [&oQ8wjO\ Dh*i= =\aZպBGDIBvK 2%DMH+,IβˎOhf)M*n+b"woNL(HuID] QhtEX.,gs+#$Z >yfr-Frz}꿥OT/|tjt [A-8{s>[qۑgb=tɬq;Bd7`d ߶q=2zSpdhn䭽FD'KHw6,zPcrU5f/D1WN725A@xE#}-!d -rVnO7:lNQG迕RqZ5r.X|:GVT)to6afqJ}A/>ϴaFoe[s8D: oU-5CœP)csfD?!PZ4D]u4^sbDjp⛴ ٮ u;큋ogw @mj|m0RrWݲs5:hs(ѬD ;]z/h9}ì}XWґɦ T3Dw͇<C̕mW.P [21F`K▥9`)chA z( + y^ OjJDe[59Sٍ%|x~ikyi#K VLgFK=`Z>pQ $,zi6bSis;txOWTnIȮ`7qf(6*U 1 6ɚ$[vMvXPH .o&C ܖ%Cp}hAF\|]ivfQ6Zڡ!E<.Y]ڤZ9ZTI n>Nm8mTڕޡ֤̙F-:_zO$VF4EP3ar醃PZ}8vHo+PV$[y͋|P~ hz~RU|Q z q ){mqy "i=4B7_H>-.ۡ][QDb2ߡ~M;#ƯHؿh+v!D ыlZ# .URXΕEqؠjXb0%lȴhfxx:Up,JBId7*HMw ^ *NW\UmS>rܕ&4 &VZXQaBMjb8r?")gj>\cl-=Vr;]kp,qnLC5PeoE D jH\  s׃"6wmhҹ~ٰO<2|.cJS:ܢGa2QV֫ [ Gt*chry.va$jrEe|jw(0Q)3gks Bn\VRv\2ۨh[QDDo=I5/Ha~22KxR*fgoTqw¢1Ѥ2 Q']..(剌5$xjQ4~nGkۼ|o}VRͼ:¾"|/ژ?+֬_ڜs8|8{՛i"F}tΧ;ݶwo[~S %骪gW;JD_mn*  =U rːuҵX"A|{^;h$0߿zڍ5 r{x d(UQ;Qxƪd)ơ+Z(:-S؃{wo9` ݑ-o]Uij.=I _ bӧ3H'61k"0{ʏ~G>O~v%Y\W҄ xix=:) 5mAm蕽ޭ.9sJvLLa(2a`RN>ګ!`Z^oО:2(a|\h)J |j\ 7 "9%ؘ;""B,\ZǙTy(W,*PiVeR 44 ߬!b\%Y/e 8:wy%,f+k9|^ݺiT 'mіS,{!:nXM,˝Aђ>?)f?i3 VWlN.J7~I]~n8$6xPju* ]%ㅜ4;M]]Q 8]#"G.Z>8q5b9C\xiZ9Z{z:b eQpHhM()ٌ.fzVQoͮ w7 ?AS7lA5 td$WɽOmI$ JXrXh/ 6)˅86dtC[]qlQmT pPQQ- [Vi}6/3ٻ9$CK,'HH^הVohk+\ПFcnj/0>=[ʇMop.+4Ty%;QUv0[?1XڝM Xs!GyTEe `VNت(8hZ̀&BbY&-WWIdȅΕ1Z8eZl Y[qhnU9~UiM~\]nOJep %:|pi~"> xzGr%0Ř8AG^L+Z@i5-,* &aSߢ˰GCMC:^'e͌@Utl.AE"qH9JR#$q3H.O}:C/j+tH bsVT;+/T-(փziGHCQz# /ObĬ/Cj˧TWDLޢ˓yvQ3W'RefȎФJWOۉa|b|9 &x-nډ3Tv";{]6U?,)b$~gw&h ^DuB`O1~0 cK@%^6d[Bg,MfkIҕؚ yLXO~]bM-Q#Զh l_]D0LQm]@e-8]s]ߤ!Nssc-=+yծ=a/2ADcDL~$=ľڦ caI/ф훁#.  u$бhsL66F3µ{7f.V\x*Ǹy뭷_rҕ˗Wx߼z~s5*'1C`_X\۾7.RSfۚ䴓7}We3mޱd@~P~KqmoY@3JCK/s9ڎ.Sw}90.("j6\'"hrED+ئSFWmEw}.6{7{kKy0ǰ%liBzҠ z ;~*Ego*%]2b0%=eoF,B*XZ5jK>+\Ԧ(54vi >;ߎJf,v&Δ ʺ zHu6.Ŏilng돮,U4GMQ\_˞dKœ\mPjn$^6/DQ{ 6zJ%5؆UVoT@QjȖ]Vg |i}J[ngKwzDit)0˿" y<% #1t'ن8/DJqʎI)dz)05'--n< ;RDJm|BS#QFu{[{A6Y]¶8Cu]f2c4!C'+; I܆m} .̋+d'Cn~j!jѝb2rFVwp!&$(gAJK'DrpqƙC|/vX$lϚW 2 \j[\\4'vDZjBVMv` VN=88CYclbSi4vNpXhR-r\>GK݀pYf!5s<`'6s~R~v@a 3gbQAϣ[V7&Qfez-`],/2979;XB< !DdႡkf6 lY7[`g9TfUo,e&h(nO;_eҴ԰ #dm|g?cc9]d)M$",LE_^* 0tWN=MÊPNO[L٧芤~_4#a-:Hֵ8]tL3 uUY4̷OGL)4ZDk?/S=m5BUAňCmw$=mY  |goM舟e5UCmO~߆~7@-wmlƽ ƍ}"JYUd0\kh&`HQ]``0N6֢`JF_щ1l}l"C<('շ +1TG# Ԫ.-ӎqڨqh-PgsekLMw{~⊁}WaZB=A:OڦBC3 !ˮ ,*#LFy 9dt~N{Eݮ|Xc}KP,v qZIIj'5\%KaہMt")'CA, 2vK0$j`lfFGm,Iᘵʆ%f緌ڠ5zTIaMc{`\oM Su8-,>H菃0X x^kNB}=j3Q;ak[@ 첺EmWE;phm ]C(j<>_F7DZڪ)U:vfй6Icr5R>`h0aNT;ߊzƭ$ز嚙$D4's_JG (WxnoOۡp>,J˴++XXJe~Uw϶WW1[{c;JLؘt[D'Ȥz#w0HgctXw9*9MWh!&Ί~ 6BX`06!j-^V*R Ա>svw8Vf bT6 Km͔`tT: x,2=Yobص,tGB9F/MZ:=ӥ4ۺȩqCgsϓ5U6>'=7GpЀgjqeiAøs gf+S!J) *AWx}r}41_?X! ewlk<$~z4 )ZbqP; @*P|"twB!MtN?C byJY8!8g>H )GboY+tzŪ <|\݆z*π}݁P]r&:Y6m fC? j}@‘VsDΔʘz]Fj\A` }R(R[-yK#F1HHW^ D5N)_-~?rTcvYYN<{`G}@D DO5kM(7bb=VEQiYd XC>n+WKMdQrEm-R+0!~i\H&PՄCI=SXZ  HlOK¤oDFҰO"i"B4IEc#;oT/%?/enqM/,nI?@nvF .Dq˻Z,ɱ/8 TKr?{'{F;5/qp҃n†[nA yE}H@Pg ӑxָk/Hu!8@m!% .@)y9e]&1}T'.n$ Tɲ: E@nĬbdeb r~Y!p7#+jGa/e!-m'<# LZ4ZdCVI&{+ ("F<..y~vB3Xot@#x\o)D* ;QbCj^.^̼O:>jl\|Y3 krtC>6'DndJj7 nY0~(?jpaJ"596/)%9FZ13_ ռ` 5{mLvNܘݝi]Z#Pa+TK8`H#ࠆGȦ Al{.!ǃFf'pP+ʛ~ײD1Ԡ7$pv(5 lh0Ch`(lޝ9m:@D8r)cz\蔪Xa1R$O L4 9oUFmڈŻ=iBgsO̕1 ̉{}\ [t[amN/ %B8IgyO#<H'\}i}을qFP9p|@֌gT" ɼ1e3v_N W R峉YTTj5ˊTKod$zuccq3Mx3"N9s~ڴ0/=2G;tiFRh&wYtvYs ;&fV x`쁟T/-ȯq8~n;"ILoR#;MNKmOBebb8sN_ nmh[hvC:?9.LM]k+D?z{Nw[yj3Pr`!rg,oYT!bz֍K2l  ~ L绍4@c:\݁m{w/n+u_Y); ڹ؜Ϥj~v;>Lv9^3V4dz"ysbwjI$6^܃zٞq+Hp<B^dgB=7Kp 0nGm`3`L =Wle2^*@]tP5q.v3U] 3T|5 kEn3)8atV0]?)Xl͓\b 3nA3K1!H.EO1Fl¦NJSm AjAӄOd+WtaAhG(HD{7 T i&/obyO0#D,ro7n wO΋Ǡ(?5OvzlNZ4ndaW9b")b]e4K{۱|3wS[ <F{ٵl9_|Tl\*H/-M_CZbֵ8n^~qۮ~c;ۿ|
    zgkU4; kN8j}OvfY]+8GszݮolD#>|ϐlkaHUN/=7sgq?jZ2~ 5|$ 8*Rzف| W0125;z͝=ҙ׋K 34oI󪴧⚸)(K$U:zLVl'GH;??2)@n4e>տЃsx|߸'FC>Ȥh;z&8@,!#Ϊ\w)Qj:S1F:cI 52<PW˰`/D+^lՀOJqJj\UɅzY}Uu bAn1" qY IgKl40Adj\Q\%$QЋ"ՃH*ősR| Rs2YK UyeL5a V!̻G̴u1''.Gmli{%j{uK۫-+]r|OFrI5wʥ%v3)BrU*J$~VVc3u5fss ʗ:ƫM i^]"KL66Py{^2Bߗ^z?$5z 50&OrnkO|K^F{lF^|nԢjuF[ʔQzN ;w=9p?媳U@:WVr45\u}z@rW1o&V@X:x&RL^Sh 'αZ_1gb&שv\ʴwK%LW\׾ B.~Ub:4OEL@Jo ؁u>ҿs9ݡhzeլ՗>#^KN&5c01ѕ=jIՍU(43&G:aÉ ~\h{x` Ś`b4rC5O6'b3Ɖ3Rmņ9Sͣu7 ,yrlE~$s-36:ܖkD؋g#V^/$TO;_ܴ9 LߒnSzjާϏcvA״P(Q]t0c3pa][R_>j4ps6QTrsag! $Pf|qVH#-[ Q-8MJ0]'HsS,НKє07X0ÉVȊ5>6Hƥ7 nRX<,f1u@เ3]-  gcRaxI;Ij3,RW 6%@-'pכ%Q!}biȭKwSP`~ DmV58&waòm̽/,HjeMnj!|[ GM)uЦ cI]H85ȌdrwJsu>G\}[ӑ ;ؽpv"+O*:Tⴺ~K!U] k5SE ZRIiۮC͛]#·%*:GTr8x2L9QWg7!WcVT-L;@.؊_!p8 e%3-BH82qLzETJ'QhCThKd;%x;@quzc{h!rc؛H@`x2D*fL MUlFjD|\2(|7(,зLA3hZ?)OK"a?PNӣn1ήw7Ptµ̥Uubwzg-Jiaeq;dTǂRZ0 !q L)OK)U .(WXZRے8GE{iuW\+ͫ(gˀJ&1ɋS33'f'ͫptC*C4㊙[plQ'H$ڎ+/9zlt*!Lplj*͆|܈ˤ]6UڊTV_ nVJDA~#}H\CU-cxSV 8tģ6%V ]3 3CMrɟ7Lϲ$8H%ydr,"/>D,fSRB5Lx`'q“+P\Fx|[/[%hjY^rx<>>mQjG~>$M{ z< ͼJf8KÇgZz8bҪcTLrҽ,$0%)3M yC@N~&ojZ[*\rUDXqBfWEOM}Ǖ #g{ArID_?y-g;DPiH $-p_z}[K= &]8/VFN`xYpLE3g x_*٩ 秭XY%&X(bB ,ǰG\^\bYG4K[pY`,;)с PZR5`5*{8F oQT$ڗ'D$9#2sQQy$=y pqC{ O "#R)\x3Y5+Xn5j!peAWVDZ模[Ƽ< _:s1#|ƾˆAr<6l ֠t+)NӚjZ؞r"}IoPt{v֡%~k #g9UCF2Eˮ 1qs_k"wX:`dlFE>5Tb:!= ٪OrﬤBf)Phy=Y]#ugHtZ^$aU{'jn3{~sXq#)E)QJټa']"' HHh-T _!#X:Iw<&ЦbmP4)ē"bcr&މN&?5sN*;aۨ6^j=^^2`B몓Akk@|䵏jqw{C)B7!/S`Ekk+p}K{AǕWL8C?Z.ں'mWρX]jJve9W57Ly>x.'Bdl{ |$e\+MjI{ktx5>(>rv,Y3We%ء>7QE4Ʋހhmvv>q_y|*gD2 1a!@M'[e=IodЭM0R/&A;Ɂ;x>FMLN/?* T[{&R{#7τA\":!f +MAvz5of=iXEsys>65oQQb'^M.nT mbTn y5EXYrYNIG:,_);Pa6 -7UUB#N`E! A[ a4? P 8ލ9~=1K䦑oI,*\\νޜwF;v᮶p#qk!gxvb̆Pr %Jʮ<-cN#k78YܧE+3׭*OӨ5a+ث ]+Ȕ#tc5'j<榣Xb<z ꒤mYb2Bbh9aeox}=BÝG̘_V'l@98|!Ur(<*`*lS,+p SϜq9BO`ݽ@6X:i Z^s{;q ; dX]F]w?y TGh\k=!q>'"jȫU]f-ћRDO- :_,6t  C5L)$F>pN2^ 1a/x(h_?슚oMD_UqR?:4qRX-MeQP0;o :3jXQ?PRifjI#Z"_L0na6,!u=Sb=bD/dX䂔*ѲFLI!~ϧ4z@c| wW?[[iei_gɅ߷ylˋN{c@Q^ ?vA)eocj{ o^#]TF HfdhD)r !=XDqƟySYꢵQAw_s|F@1J\F1\}dƅqc>#>B`1ռt#B/6] ZB@Mvnr fovhZ DIΨ)qH:' RXNN{'Fe ֲ8rS79-#k$P1ⶨV3;a8[r~BnuIhƴ0>%nb}%G6g~âi[]1e0t s~7yTӊ̅Awô{guڜDO֏kE+#uj42r2BKLB> LZE5̧@t⡻I@^#S"cGDXQCse$ IY֬tnI4ne:߼Zb0yx#+fM3zd- 󲚻 `&q^u0cb&tiQVUƖU) LA&YBEnaAaֹMÈw[a˹˖SVG+'SAHCiBI4(;. W r(̩wt-)NFVbex;Xn UcfVS~j*pI&r K_;Xrnr/q{$ұ k+E>xJw!F|ਭF_*>O_߀m)wgmv0=&NEx6K q{i(L3ٙHBBPY}®lM(}a8?^>dmMjqbH}YGԚy46[Nߒ-_B=OV qN[~l(Y+\j4GjZ*4%#4/9ӾΘ_2HaW~BBtgLc^lQPYs\;oT4D4G|4qp# >ì@ǹ /JM.qp>ׁ68EU"w&z-Y#PtD=Ί_;FƈxE*<QJaěfK-qXb0]$]F V^%w]%L i Ms7 %fs9wig2F`\&ڙzO]a9L( qH\…l#yhLʡҋe\ؔ;d!y[7 f +]>\dv'N{P] YB&*t!oksjCTE9>'MmE(82e38/g(ʆ&Cl. znjJ\t ÊӀios~fYۛ6;wx҇vklJٺ%ql ᣗQ=׶k4qmHf갫\"b68Lj`H8Ϸ ~IQgCْE?ub@(|kg ~mp7NNkM媨g]KU` nɹL"GvH \/@ʎP\7e!=z""V;.OnbEf ln8(pȸ5EJrsG}S|5- ?ܘ Te~k#(}24EYh,ZUt8f 8%W7:KG> 42ɱ|KjX͢N+eIi܂ 6@qy(ꚫO¦۫Ȱ:o)dmmuCVq0=yj1̚{5)< Va0_t>gje?7ip}CE_zNc$;,o'X1bBhÐ!"71Z(,w}ȥAah58Tr 7HzCX?Mۺ䛚~p>'n9hr-Ԧ"Q%ʥf@.lvǜe$SqY`qZ b96aLtD< AT $<6}@䐊7سx)zn^NQc6sENT'/H'yxA5?I% EØee) E2hHvZ7 #_P=Z|7З}~Mtme .htc$t ZøxCUr\>n8?N2@?'"6c/V/J`+&Q{M Xi$9|˩kPV!Ӓ#:꾛@@,m+AmaNL aBt9f~GɼC5V~QX߳8%(|jwJ8 0ƩT*bqg9(ٮ:pOU*1:hX: xvcaS|)$ €(?ÒE7)6כ,A ʇ ,>S`12(m_rΝHq7HL[ 2&?_[|)#C#R&VaTegc4=EJ*9-ůOuuN4߾sj+|P,>i2l=bin̺,M2N_^tON8$In} b-W1PV7 CCI Q !4^O#uٚ (Eq\oQMdf t$u`g țcM>]U3tiqy`ʓ|ѵݘQADXKY"bca1]S<%-!1'η[C{T2]53rT.;_:^bx>9x۾ U+ Վ#ntAm.>I 4~/Z/J@]lps{+&BM\;*M~&Q8fs$j\fs$#ڮ.s5lF[noXl9E8X],q3'oYK~F9b AsmȞMbp8[a/\,iqbpCMNH}pGHX憏 0}>~lL$JF6CMa=_$@]1cmh σA6ZOT6*JuɁz5U *̫䜔2!RIecCqiA*%GICD3؅[Yw t dݑ QbTDLp_0cyum*ESjV fQq*63Q-W-"pɬEZԵ߉>gw${*#ѝ|f^sjH%"VQеoT9Isd,wG7 $m~{=Nn;V~CèHrSpd=PDb"voG6zHޝ>aчT6 3撑ԎVR̔kcUVۆTbլdz"C(p7ӾRC a ],=]p% R@I]~' fYd9tO{| /lYhxc;p%x =46ʯnR>6?jCTLٌx"/d*iY;E~ww]pm7ndZ < PQj~Z 3Ƿ? 3c6[|<.Qr>ǪAݛ=vJ {U2L+u/9-)`f3KvC1okbZ*^<$YI ;a*tNR92wEe#/QW#MBaOL®ꈒ'º!=|kE>j B(zMQa< utVn??0f)JG,L&6;qZ%IQK}abwI $@ym ]siSfT[ЉjJ6TS_{fI^7(VM<ŤAsZdu]3IېL8w8&C;6‘Xe_aU+!MLI&H/][;Qf+IDSk԰8LRT]F*5?AU@փqi1`VaK,ꎺ,[vt:A}D _Z;Wuiڌm e#oQwcQ4w0dNda\^uoA/9+G.LSF+KUuqdJSm^,6ws. Up5g8xZ٣|<$ ؉18Fk0({ k6k Q Z#/IYdx#gTy!>&Ntg @u?0벣[ՂuWjI{9mp%bEFxk"K~PNv}=`ߵ^1"Cƶ[KvUy԰4\,blw½3z'<S1|ԈGNK Ү/aPS~Gb2|2mБGp0_f܆p߫o}# pB8(0e;YQ:bYC/ s8 U,k2fg&BY,{K8_ۥ+X׫4pVKڦװWG_0p"%gdb9~A_vy~\^#i^jQ_?󀾙?cP+PhAgɯǂsj9b^,s/dP R 0OG5rTU)^ aUaװV~Khޭ6,;*9rٳFh_3QPzRVzY_4o-::P^v5 }=ʨ>9AC }ᠨjJV\x ` fn ]-~ЃgU܎0K J@n-$ZuWD ߣ5q_FzӃffC32 L-a*iueQaG_`Dr ZLsE?eS? ٰ>J]#Þ8iѐ[2iE s# Ct0"%=\HP J[폔$ŀ;Fȟy*>܌(a o `CZgbۗ`#g|TE}P"wL;.4Qij٬( ޷I״{k iVg})+-V{Y#0p%ØcѮ3H>%#oP2,qyaE (-9G4o}~?m5^S4ӕa#71.kumi$4c7+nKD-8*M0~cQˢl#(3cX/n Q1模5h D&z?ĀUx1 PWë?.{GK]:JAm:.wPųwMnbzz*`)rTqCApY$tz?jd!#v5Ƙ́3hm̂[&AwRv vx-uTqmW7?{ 8n\-Eo6^䚪rޅ ?ZP baGѤGgcXX#8{`vߖ$ V&so5c꟥bIz!Û f('Nt^˞4Er:CئW ,fz\aͪǫ`h)G]IBNn%e8&eպj>h K&0 kЖ^>%\") s-?tTE|ylœ'C/ KAJzx?eңnL3Α ~hNCp6%{5bf@HVG@nr6Ґ U&y S넛Lj enu+,N"քs<"=R6MB! 1t3ݴrJ1Y_۱5`dwI[￟;OdAV! U V@BJH JӁ!ӅHtԚ(3p"7't?(o!!EP\:EWX;_-(Za [i4+mV#o5.TT. tw@R_AR<\Ŧb{ω~&=Haz]ȯƣCpq \{Hz~fd+, q!#wgŀY9X =bstx>M(E)G5Bfwn+Fwٿ(l\XUħfy)Ln,jсwV#Tgf4AW kdcTPύzKNuݺWvɢ ?r4z U J`B(CD{T8KC8nO'hՈDT|Y9HܦpʈI 6S1ȏ WzJX,`uܨ4'N96KvңJJd rBP*\b)0sD75!T̋p oBN _XAZ ~fY@! o ]bMNԦbw[-OMHHD 86VGr|Nwni2'R +w-PUm bvXag9Kݐ\ޭO>z߽[zX 2 qqkD>.c5`Rزu9X~, tW[owF Hʤ^xjよy _ޤmEtie9V0>vjƺRg!o[}ws(ݳ,\$8Z*B3wD,Cf>U[ -veOp'mMP8(`{Pc]UₓpEbXkŪC[އ`Lb 73M"F["- 0srnCQ wp vVê=wZ*2n*ds Q*8 _9xO@uT!XAtߤϵjzл1TS}v,n>CwhuW4l]}x뾼J Zۄe`+SU#`2CF*LQJGhS] gx=i?U;̺' z8\%z'oAgJч;W3%ﶝ,rtaU]A؀ixN ?<(2lxhhp_cy%XҁeآJd"X}$9Oq{v5P!| m|#Ypһ٧cmPU) KSls]{EYA}DP򞛰GߵY*6 .y:/:X.H2 2"EPᏀ GGK^mF;hn\m8 -.nJRck5؄C1;eT2&ݹF{ԀHYAȱ{9r5vzck8g1[2"#%xyhCME] gowLD@,I~(K >@m_nw<Ŗh\Q!o߲e5ƧDAwD#$wġ^}smxӱ?O5q&ϜBG,M*Za},~-79Ok+)ɝL -cKor;%^70 }l_`N pi$&G1+gp&  {G`81hiҴ_青`2.#,cK%^0W$ĢoʥA1T<_unYQ`##tdZݠXj 4LƄ# &ZHp#x壇e;brܶ˩V]c5ao l+4KҚ#l|s~S:_~S,Q+oH+o__U_M~_Լ]x/rrOQG ~\}O3, s] #]b@x w lc*4h(JX[<}zX#-[̡FR2,pvc&¦MqWw̬g$g:(x]|^V0@\r]k9>F z@{h "pvh]5u (g7IFp %I2zD(G o⨋NQ 1Jc_tinc%)z:9d.a-Qf Js4Ԏ#ę;qS.);ХxxŬ ~Pnt >өa* =mw'lk.YM茝C x=@BM?%"e tS2J8S> XĥuM'%RAFdO` ЦW[,Q!О׆R޹_B?В RL*k:Zq4MMDg[3CAsPCzfqh-!Ύ8u::k ZvZFW͠i>?i#MQt[g(:!#Te E=p3vYm24$G!qNr:ʜr '! ׵t%^$DK?kp ]gC<@ 8vK*pNEWM:Â<3)U=hb}&#R>&gY8c:E^OVPecCQnqڙ+oSo~aX~ JpDV l: q{/-|jyQK<#BiaA.ƆjMO-=G7Du)z}v }sstNb[}x(ET:Ajh \Q Sc`077;;7\[0p<䡭I*Vzx7V\7ިy;$ضܺ,L1Pk4L@3x1_.$"yЈ6ڌ.$Dr>CA>`Yz8| 6p<]|~ܝ@ Ԭ`Fjx)>A`rS hϨSԠ}Ȟٹe•Y0b>M#طWr:OMʹ<*}5xjF2=ނXcm-*,vaȑւ·݇ͧpKnNjy"peq[ah-s̊}ZSm!K)1aj]z.c|+Udўu4_i =~*ڔHGF +@o9Er@̸g+OݶYR&<-T)`xʉMťM*:PuXje&h߄酂@XZn/zwiC`EP~'+ywgM1k+A^GibPɇVM_#f3ա/xEL@SJX0yρFujL$[ac.ZXͅǑ4s,CiAF;O:wNB[簝)([ -R,@A@S.FYiO- c D z5:-'v!81X$ ( M E9 xx>(ÔͫG`?5/B8},m89T 8-eEcR[%MA.8zdA j[]:-!m)֧%rJA5s:u&97FQKOأǯ5\WO<])ʵRGsrœ`K;(%'@*v@'e>*-X88 )-$ mm. oݳPtP' r0bŽۻ˪ɧ݉lD ;[K+\)/hnY_ؾ;vNd Ay, oDYa?^8j֨ s4rJ-5@ts*VhyHXr9sy҈I)NW*$0FIs) *t3{t HYIJ}7!gYn0*ב 4h,ky\=xUQtC)^Wjʼ\?y.b;6E?{$y݉~}#8lX Iݠ-DUesi{#$R#4X!Z#Y5 M$HEܦ7#'YγduUAK[$Py;" DxGA2E^|r9 B:XF 6\&Y xq7E$m=LN@~2P*`Lؘݛnw&,Wqo_~jH~=Ԛ‡^QU k\xf)tmף+5g(JL纬iЋzjkH^]V6ֽ$/li;=AЖh8˄D\ISyQ ބ-x-*spnS $3VQD-v{+|i zK-D: [#x`NSv& )uy"8(>*@kb|w #px0bG0p4bF_\: c3}aّĿ̅ۚkz€?-qKԇ0hȩ9B1VwLF~^XaaV*8G `0x =qbPAsm&_5eYrHnJaw. {cd{@ -LB,JD[ شGb!lj 4j:3..Tb1"$3 !}[`~z^6%,eo炩^yM_x8n쁖UӼˆU8R+x$ll&p^LUCL I]eiɧ`W^ yUW$Y_gh3U ahJ:Iɻ GV6UQ%szYʫ7 +LLZiŏ/Y+BaI{B|O^OMʹ?CX}T@ ѽEi7qMP9ǗדVm>Ҙ4;W0(8!o,`ĦN3K95Ϧ"k3DIRdʟmWBC0)|< B\x RgsD!C^|67[u6d=VK)87lpkŮPE?B<[͕$j2M"@.9,&"j ssMmyIftaP`2̦֐jVb!AԐ*!/inH#ѱdv%)ay \goțIE d~Z="ECJ>C8lK rV 7[O҄xcN'C9TR٭,Y YA:Y 6QPLN@ϱ)23 L YMJR$1Nc"q)Y_urEy;Ǔ)Y/E4_Hh0Ki'JJIC20,uN! t䳊R5ݚ)p᜿s3AUjѮMpac[S_܎ :*B`\a;Cj;2>.uE㜥Ի>9>5K}8 Smr]7,v6bڮ%3%Z. a͐@n̞W͂i!WUE>Q$јW/- IB%dA\f9-6ԤQrNfL[ U[=i|Yll hψO5 x~ۼn*u :AiRpAi+Xs71FqahVonl\_Vy;G،M\nw'q2);\U]I bNE"g̨8K1Kfjݻ~4}ԅѻ\҆ )fh61x 7B吾tNz*Dr,uݛwz&w77vJ̫o x; Ӥʀޤ D>Un(Z6-'F"$*=`S%-T{)k1I%.¥ QT f2f Ķ T0c&=ѡ6o޸ʶ=Y+*])ȍ$KBY0 upG}"]wI֜/RXB_X$M)jȎ{088t6.+ZQA%K_g9kZOU~ `rv/ d!rW`fՅ xZ)`_DuG4 % CʩqV63/l\RZKX)pvfn>J(2/h40a&1]^pp%ϯtʹRYBȌWdJz1hba.F )IQDZ: UӵYhR!: "Y$tH֐x8OX 6H,<)*쩾9SX~S[KgNRh0I.&$Bv`*猼)ٝr ˖۩:(!n5mTl'E:k`PY'Kt˴ch,.hz_!nTsuqGJ-N? Qֱ4pG`L+*3؜LGSF&GP; Z7Fke`d,w()?V)5iUi&GsM&gT_[">gtxDC@q"n ^gR6' 8oVJb^qLǒLkw2}z2ЙKDf餬u]q71"?NER|[>yqԝAzIޟt1.+Wq0*}=ZLhFۋX"%zivjͥb̸LPACj=D&+g鹗s51b@x ɡpP3)H  xZ mIғS-n99xLJIJ@Yҵ`5Pbu+h0(5,h қi^U#!q[LⓀX [+<#<"{6)O2sd?Wr>YK֮I>"ww.fƖ0h~d *Blg4 Z"w~zRoCIԐE& M w=.cNr!C ;b04I$ ܔ!s lH\5hEɣQIڑm䮑q[i._0KN'~-sPu~&%msRt[o-7uOYUy]jkIqB%Y6@URk+g Vȑ )bIdZ!)t#n!~destʶ6\g9+wQEv+{>)<+K@ l9*MKU,Y֬ k5۳J\v=@?^4W 1W{Rz$)Ҿ+j [tU{y{1z44%{TTi, ]|~$@ϕm?^1͟[tOZ_x{c r((  d\EPWq3N£JL*$ohѶ#Y)ad 9&GLqӒtfH8r'rH$?ZZΰm~2sQlB ^טnލk,hjn|hKa.FJ +v=%d|EhpjwT6 &0e @\=?uPk+H.wYb>lZyRǠ,)?.[0)Y %XiCrTw@ļkWtkfŖ۟:^B+C~vuӲ@ 274LԞKSɝ;wV'j9i=sbww:g>֊*o4c+~<$!x5Q:SvzԳzrɓklBUS"ORXg"ɟ!s,3G s͕L_uP-v9&9[~⭁=!UXvЊ %g#$)ÍF/2E$)薐ϡZ8x*%b;l m犒֘D[@H9 Hv6l upZ(ɨB}-j" [g5_AB{ YjDJPURH.,㾮Ɲzw=>wY_4#w.S(Q;#"0C鄞>Mpڡ7p'&bȹw%tsgN .up]S)0qrjmLȪUHj5K2G$PCn&Qh[|Kj_õH$)e] B͖-S˛/2DFQ$啌`C_PIKI㖨p&("䉧)`3=' $n̲&dk10ϴVZZ\' 9+tPa7~\j. }hQzol茏 ~5c7\;<Ҍ52ah$]bv57LD+In{8[x -LD#sTR';qMwE Z)΄Xf@t(&u6@I@XXw#fpړ !Հȯ&ARf7͌b m@*L ʥqE~aXLb#jIW& y)AM>3sE'K$^RtdmDdl~^&[P5g}vLQЉüVaGxV(y9r UXUie2$'3zYߓg{R3kYEOAHDgql;tN-曚aj^g/aB$dZXq9\tgYE Ib iLswhiNNjE؎ vAe*wMջ ,+hZ*瞷 RÊ WµV G6aEjE~`OvwVF[MN j\>T`FJ fi'+$'kQen$ ]dY4!agl!U@GsEdis'g肦Z߫v%J =-ň?aᎀpPj0u>Ys|nbWQު g)Z> K|{vӭzŸKNA%׮vDo:jW\P1 +xCcuS(){FQ*NEێ;Gn܏V9F8"eLd+2gT~G:b4s?Mzp)k 鮗kg<;ekb(cDʒBtS9Ru 5l ;:vc~6XAh具Y'To El^ 3Q3-E Ȫ]7sD|kp6f/L("ڜ"_ :>)G2As& o/5#FM\o$  ZYf1C1^ Ϛz8L4%Ue^r.k[r`_ugJ ,VI쳈qczs~8m/u c|QGISJw5,iH򿟬ߐ/(F jMBHf᜶p7(2sew8q3Db6ĥi[H5=-╰`7dփ£U>EFw&ZJl:a1BFDiҥ6HlYTzdо,j -^1A l='뿶(>) XYC5{F=Žd>ǎ'W{S+Dm ) +KV8&}6";U6CY7$Qhsׯv̨j |]"&ܚf=^Gֳ5ikY#jrU LGCS*1ހ h#XUiϊ?.xiD#SEnh-@ymǩ%-R0/; j3!dRVP"X*o,Oq"w,9gv?g]nƈ Y&"1ME$%dcSALkRq` :K{cDőx:RpM^g.d2&нjSۄH0v#{<'_(\E̶ŭbW1z 9˦Yݜ",p"߱_u4XZQMPYyriwd3%c,ՊD㮮"6Gb"_+/Vv^>C m#$/J%]jcfUb`+Ko v5;~Ev:YI KH5V$9L *c=8Ш̐ dw:_Wm#kpVi=Uhɟׁ4CR٪)Pm겐qUD8O% E:8^vWs *e-xQ F|< GSC>-i-LYAI]xIvuEYAt}? t=r]Eqj!20]{ۨ.#.}ǍT/4S6@N+h9lx *˪q2#d$9PkN[&K΃A/8R2U Cre}^0%\vDe5Ä&5-dR:&Px v5esВYO=9YugJ֕6cRߣl >ہAp>a$f'^%iBnXbuɸ+g\5p 5É}kQȥĪz 2N*{ƎiEnUr,X$5RR-snk[:Px[0L 25y+9#ٮ?#ѓJ>LV7z /)SrK %9b#ncK>&ʡMxdUϛ8UAXnFL( 9/~Py~ ~M^_U{`MT[H5U&٨$3wOz@$)4ȱM]n2k`ʹAZ&Q멱, (qs͙p WѤ"XOWaN-&!eeb ƛL]P'TX%emG?TLq)vU;'ʛ)uӷh%TĿVFGUt^4@6MtTτ㩂(2zF( 'vhR\HQPiW ˒K~ bvXX5z@[c(BMu/^8 :虣 j*ۢX`^F 6hH*rQJ51vґRH0UPcmMQL RaSSu2BJt شBkl:2?To?wu$, ԢD8#9ƾײ@,é";~F%zE ԝ%}|آc?~V䂶weRWl_ FI!&p7NH+hșIGao(뗌!_\ ʜ@!283e0~5 9 iJxo iH+r5 Z "by55Ӕs+:[ElD [2k7&dx!R OMʊ!ESYQT. eSS6x7B ,$z!lժ,5B =ChwD^']$kh 0V|Aw~2τ8zQ5?*met#Cp^u,?UftM@S Jc+OUwt|,ŨS%窱`a^t@֏2ֿSnaCv󚊨%! QQKpz~-y''27X,r]tZ0F/jRwt8RPX;|tR4AWnb82#QFu76776֊ `tn Gx]y9q"=G@.jje/8ßȂ:uN̯k_ѓM.hЎm}0ٲN/<Qܲ3.RU0YG`iQ3|Bp;^Z׵5:-Ɯ: }Ы2p&Jqzuxd"^|,W, b-xmT{dԁNYId *sөF 3`v;I͖A΁.*ZGvZ%Q2MA^hMyguD8`̗.V{QCbEYkSa 13s̸ 0a1 ΁P򐎙MOb[7ͩd]XwN87kA=Iso&B˳/fI#fnz\fddxSњuݲwu7_e 37 (ceQ3Rn?9T:B%Nğ(h% ͧ FL:V/(U\K)ldkӗ[$הUڠDD/dv8101֝R2 fQu;'f=˶ķIl壭 lh`uv\2EyTTgfkIʓcEњ{S+I9*p^(Rt\qpz3/ b>n;]HgRYFԔ|Rd _ tDٙ$SϺS+Bo7ب jכd*EVU%I`+B '?$ {#6ᶏV2i;f}FnhV-~l3rh5m"Wʂ|/)^ d&K/ $BZu4<߽M y^SM 5r KSs $X Ш֪r2t/-cjp8,iuB|m0LusjxQt#6BLg9dh`u%\]t*q)@G_b$n;E$?uؔD [T_>{sn/wG?_85QZ8uIym^sB 5鋽:]98t4ȇpbpev/lW:؅Nڗ)NYڪ庈)k·Giædާ7(fyJ1d/&;bdkBOIa"=|vP"q"ɭLXXU+"Vh'c" #_R*ˉ1%8MU4*ҕ/sP, rD2sF3UrGxBK3 EkC8^H.M#$W1yf1!`% ډh @dӔp"hE6^)B1ST @SRi@D }0#@ECZ20לcҠe'*iG`~1}'zQ9ZSkq-0)[!!&Zl&\w5 E."b\ e,\v$t uD VrHtɵJ7!p*ܵdAFC|:nPn1q4CiF<;:tD2yiz;C Al7D&t+bQIl0'S$kJuQ \+BO$y~uۄ<;Gi(4 3Y=oDZ Hf5cRLg#{I#[Ȥ7ha䂕Ԩ1#qC)7 k( &AHCoyp07_EFQ4TyRL)4ɂ VIHec S)9iJct\", R^"=KǸ5g3$'ɑۀoS`z(?Ơ*ݝ iI]"S"9RVm5DKTVY_xN(z̲^(V߆u+1ɡ\Xǧ]/Yelc9bYZ SF MoiϺIj޵LMd=I4CC$@jEc{0?eUd3v$aUO'bzNr?Nn&_d6]EG -*h$\@_\g%(s{{KMQyLKL|^޼0~n(Itn5@j V؊W2wUr~et4չFLHm0Lga=46xNں&r=1 @Sk+t4BõXkUxFR#Jvg6Bcŏe[]HWީ"FgĞΗn#/Fy ^&R+XPi" hm3U@yO=u3N=sg'O3v'9Lg9󧫧vDI?(2^!*0^L)s&'k*?֞ߧoV!!8ɿMXewz~qu5;>N?>l;s?9駟{gΜ< :u̩QB//f#3v\fvyӡz)94gį&[yӤIӞvD*Emf"D+Vwu2qzS U|k @L (*P-_1"59%= \ensȔZ(irgCB?3(ND(T!t'x~y!(QoIp0(m .Z攕 oȽAooW"ØЗ>UܩN@*3)T5Cc׎55 _d> - oL7~4h ᗽZtwQTs=_StH[owmBm=ipkg6cvXXt;~> ~~rEje&r02)(|*X1 { 1|)tZR\Q|FF,,켒|3C0Iw TEN!h3}(W/c*H|'j$m`WqgSMM'l"ds;/~JYÙ!hd7'xZ0a qcכ@ "Ӊ ֯y|> Mp7Yyz$@\wS0QV%<5* +>$ j7 t&fUgWdNaaN0{PayΦ7FG ]pū6^v'kVE++M!@e[;Z(6s&Csa9ȷQa> L[ptLF; Q lH '<Ӻ-ĿFQqI,NΥE"k2(ه]!UݷDxp' %? #>< DO0H)‡Vb6/Pbx ,ᒲz =I/$MrɵהctlU]T=Цw5uАA@HeVˁD(i^5OؚbR"AO F)g ap"V6vVvDAH9¬stg~K1)Q`p^|4-:އc_ߒ\]' ּ~[ձh4-[p,ur6qM̲ƳKZtNx\ֹ62's*|@ȗHˁJSWm;+ʤ{>]kߑicOX\7AXfQu;G7Tbٶ|:rS=HH@!3BB3SN:lw4]B/Q7sO|P5t!R /f|%&td"#ʸbB,L vd&tz~M;Ż9AQೣE_#*n0TD Vv4I~r!t%Uqi(G,XG֍#@ewJlXggBDR#7a*,So6e`MM(kܣ1(uꑗOkcx& i*.iU,'] mA-v4Ǧ{pEdkF吒aif xhfQђニ/;))ʄGElgs[|6Z(S$WX8j&ΜTM9ij)j! w 5쯧&siHՙ?uh;C"jٰfS N#k 5oWJ% <6 ed@&qѮ· ܟ/ܸ]VB$VE =W7xc,`pٜ0H7q~p6xwT;.XtہM MYJzx4WP\̚1A[`Ra^?;MpPj(z_:9^4"sA- )(jZUh-z6LHwԅuzϟjm%YAդNw%GϽE*UyVe7#<xQY岾E8d-u)P^Բ|ҷFO"_/RL5.n_PS2*a iQU {+ӔO+SuHEH5~Q%E^UYKT'}mߵQ~I;Yt{07t?CS_s"ŐT8 K9l]\)mۧv0sFK0t[t~PT8;'4ʱIx8Cg=O~n\ @U1eCfO]D.p FJN|L5Q7`e1%w^Nt;.*F5ט;H{lSjq NJե(E}AaCuWH\AK:]c1B (w5W䈗A^1HnHcrODC#@pnu$¦ $(Bԍ@^cHʱyR/l&f5ޝn?ҋ4ڢӎڞf̩:pMNBxu;l!^#+Ĺe>~ &\hoB*D 9B(?{xԌLH x*Bfdjb͓강o}/ ;;EihyUӒ}Y8V+xq[~L4*&U# }Oޡa }Jj:KP!<33KOrՍOwL{bY څEyzj:w>c?: c581 "YR&ߤ,z=axmV+IO[0O%1>0Hݞ1Jn>-B2=u]e2N밚OC{hp, ubg`papn@(r2VG[Wh=ʳmacKPH Qa+1IV5 lZ?}ۑ%}RvCF'nT$ 0vH &N'!a6j [dF}.\Vҁ}9B5c#V1hBQSB-YX}kr/Z6U-{_PhYϓ5-xcץ_JrV"L@JAet >NFyD5q)NXctXgUKvp?Gwt̓Dz.1LY猹˫W6.2:!&R3lqn/ IQ yq:G =1 fquV0k,*DG6HgJ0P4ٺ:wD,@@W/kQ%;oJ˒/sB+:mjwn8A9A ۰(HRΚ:H6k;2tnUyQͦ:}/=M)gYq\/y'bw?]/sWTy؇psˏ|a~a5EX3Ygx9FrGWy-R+ 2BE PD=aNj=\R̡YbT+҅+,s_ZE_xQ(NޖQ},@tN̡Qx@`z"M >ï%M`)6#XXʋ܌0ȴ8A\USߨ%b6!+KvRQmfEVjugK@`eX̫v϶|9Xx]wmspi]ٹS箞]7n=}e= {{)nJo>Sq Kҡ6YXx1-\sW"{˨X{x,T.~-:1ʘ#ܩGp#mQlΣ 5)*&;n\TD:i>o ;|ڑE{̧3EgpAǏv:@`c4+q񓲂:CzSd4dFGXއ&nWt}ȯjQw 6LaӎQ8y8_T20ˌb 瑷/B] 9=)mf`H6f3HE;٠ՐEĺٝY1b.ҟ OL[+oWȆ=DrP6DL!=Y;Č}e":Rx.B|97u;A*o:mT)=N *x+x[b7.t~ÇpMC̤Ypt^ڐ/ IY+pܶ7Ӊ?ʤQU? YDL6Ӣ` u٢w "RSIlgmOrr>8%AvQ3CI8eyCӁ^KMRj؆" nvJ My1:ߵDl}$YLT7gX'>ux9،Lk)x &ev-eJʓ~t~n'I+zq;U.9͙g*9UNAg@z J(lw'Mh)ߑME`$Vz8\Lٽ6DىI.DBޯA"\&. |n BxGKnELVV2$L)7լ@E tS(9҄0ï(:!LU6I!2@ELxY1H:8+!ٮpSBvxnAt+J@3툌~c'8KB+ -oAFC7+d t+gy')윅s2͹ ZZuU}(86Ť*nWNZa]?z$n_RrKA ~:fE pӬ++# D3;yfkѷyoz5,.b{% Ӥ  Q0e+ 4Td*kH5z%1Gf(V)4dK}̯س>D\w*05f_%EiUҏd^_|nC]ӞWoA?31E%HI5= -⌰\)ʺEZdEADmd'N "dL6^Z_GJMkkɌǑz('9 O{'GfPWT8b8zXFJPLǓ1Ʊ Nζb1鶮MmZ_|'3-]6;wl2vu#mP)B1m bJօ[ZS.xLJ,M 3V.Λ-UOL'Ex\GMPs;)2 y)a& F6 O |ٝzݩ<\)0WoHu+[{nפ0fTk]G`c38ݔ/@>{"y%}ʁUhUpé8Se.0,u6k+EaH;׸k+ .XZJgv7$/dvrI~f63CnoaOBRbrq%yR[.zS&Jߔӆ7 ҍ&/{V;S؝xq+vͳr Ӄq NwN ^ ?a./:jRmحw~' J3C[q8@Vsz8@A)(7lHy0+50a3aDHZhlkkz) by,bTὢ@ZS@7pl&GJWE8xV#U-eAldA^ Iӛ!oP48zeG Y]c")߶ě]Rn} $Vu5D`5 78R e:7/ÐIn|iJ@v2m't43'x; p1]%+IBP 5OYX Ne-.i٢|RT[1R llZ;G:o>H  Q<& qđ So~jrΝUĉd%dr^ci_kdpXW:VT~;fϛx|P& f'ɩ?;z?]=zɵOC5`r K2w;. jlϺMO?v5B+JZ&pʋއs-4 >24t6ښYwUnL&|h)mHJe%ILUǵ`q[fiKcx8ԟ1TY*[B1.Vlt=A3IQrEN# x,p!uSO;[gcnl\wΏufyjl$X?X})ukx815<"Nz2H m?mД&9EifE9+;h-B9ηPQP'zf.`>+B}K$AǼrse%. ع"=SXܜ[/blᬜuNQSٵRzi8d9—Z7ڊب'^ˊg;e1ta0 {X8AȼVߴH0R9#kƐS4'c֪$:-&#]T 2,M\k਑A1%oj4 Í5X0@fLmIcV貒AOtrR^?oӃ& }D D$z\)v`&- H/+whSߔ˯+fbvk3O?⛔֔8?yDKWc?z|͖PIZN,% ՝㑲9IW+o&J?&*a_nQ]QIY=i.|6A-ܒq0uMZӽoMeLUcNJ2Ep&g|.߽(@--M ~&D+ ?c*_t EC򉏨%΢̈́k|YMSu ;%8505sBYSAQmpG~"~lcke  ✬ zs Ο sŷ|7'VHJXgpԱԗfNKGVnyjҩ+2Dzܟ',F.s5SrXW/ #쾞 LL>WPUجlUNIEh)q \zԋ~# 86'nkrBvv[Hm*l(903X 2J͹0g//VԡQ%;6Vx?mV.I o=[WcUd:jWa\cq XoG^`JZ@rG`G aQ? T,iJKy*חyD׼yS>.+:ǵa# x\K,Ю u|dm MA^ Z[@=%<'M!3tLIYy=E$@;ZYCȗB48%^ucun} tF:{0 E~V>hjGl=bm/ tC6ن (#Ϧ*%[k(,slAoxTՙf2 >N-繶`2_H2>hXOK nHv5s4W7=8}֜tź (µ-\]2;= +!hc<LTƟAv " v(FAyoaHq_uvɵ;y'ʚf(bSo6^HF֩WbUYkLamdJA^v:D7lu#:Bx>!ޫ\GA^[g m[uuz ><ɬa9fP]%]7N" YQ- RxΔoriqJus/2,5 aB=VRQoA` 2Mes XV<am~|u%nP xX#V!G)m4~@!E˷ь~^̩,Tnl2Z9)^-l$? WLp _~-x:}i1H'HhnOU Juu\.cT'l>O;V]`O u-U2)5$PQZ)T|l:г.gr~Jx#&W+J.A{e<@U ìQ.J=REx]x T&p):.E0,fddPhĨc&N~bkr?q ROx* &}6ڒ j,03֔ a±,U+`ZRUJgU`Q\=(_r&1Վ u%st* ػQnYeF%5s$RB)SAK5}N!}|oUЏvhUMRQ~"ӄJJ `tvuBgB{]*װMP O}61~8RZLE^+V);@iD*z5Hk[EcY&z VD ׺li.l}xDk Ei1"Si$)VN2a;EG[@` y B Thd5:Cs'PHgzJywxܠn(ok%5C3+'bɯHMv3& WwK7TSN*ej4$ob_jt?f.LFbpcCKsa*tiRr(육pq=Ϥ'CiPR=*QSb$ ՜ I]&)R43"RMɵcQ&5j-H\Hȣ4>n'{ӣCGcRO'K bϬ)%?rcŖſ{DdIJc.Jd#S>MCo ŧ' ,҄/DUG-PS8+@Fė,Oy>'ijC>i#\ r~Q:8zdD1\WI8*ƬC ) XT]PY_6n}P'&0}mS`/E {2ѡoDEH+Cw+!2[4}QU2F"\cʲ٘J뾴Jp{A{"3MGΙ;R;XʼN@nS ,q=1I'ur춖Fjkd`91WBni0um+e 2dTYkއoC1_WRN/^1+TDR$f&hv_ꭲl r6A25# ~7Z c)?RHb@1JcW-/cˋb5śKVjܔ8f&l3qXV /nj`<~ɢKD\wm4hLhE_xG@3| r fW¼f*[ӷV]8-qWܕu!)/g VFpv kU#% cy5BlKJB)ij`A_5 E.#XŪ&'4]Xǎi C9Rn خFm0"乱f%*U ) sM4#3 ;C.ֳ\-(Jce- ͐:j71K0uMyS qUBx֜M'nԇ#A%=AmO_U;'l5!T * }WT/!Yy62[YE2>XdzTe_avCvztbC% iSHVa 6a|Џ1bB8mM! cf]֚rm~R< *pY@}hp: ;RPX_{bN`M [ !q^7T upIV]k_VfE-bbq ^qUU / 5Da +5ܛ5`ךqYͣ$F?y3Ϝ:'9s=̙'SN=Lr(O61 r>}LkNZ/)O>z"`vH_'HjӖ^O%l`«x{cL{ߜ|Fw[*mkQ|&i;ڻh@|&$3.zIڅI'*ѣ}yUTűDEsN9IrOw"O۬aYxX;]/,t|(&?`]h,V?Lds yP99Z+dw7+&N>pm蠬/oLg)RU_$N Zz~}g : 6| $4qn>V_34'bw:\ q@'llV6.h9~eCL噔#گݽa\Mu>6L 顚 fQ'5_$gL{f+ym`tJ?V)"d"S[P+r;ƺV)i,Rg7ULgegeiѦ 'gA"osC^꜐uaj~ 1^:^{~.uOnu,SaLӷHrU| T|B55Cȅ4Vyo+\Շs_?!N!yxцodhrHHi5i؅]a0giT~O㭻Y@ΦJTHSr#jf%?j)BCw7D5X&M~H[<յ7+E* JLL@No*$R@)ihvPvpq4畹!4j:-xǨX SR>5m~o<5e|7/ޅ97y)>JCNM :Wɶ 9/G ;(JxjQifrVfN]Y}j/V|:+  s%F yNjHqZ %TQ-^O9r;Nw4kV _en;~voЛ?{rG'.8ݡ4a4q=KN2t:oREDm:+6%bC.斠Xft -CiN~($W-M&WPo8x'e68 EGTmsۘӤvL3'N~! V9(/߬@Ꞽ&jJ'&7ﰪ7g􁇓4I3x2;\; CPۀl"+F|tV8(t5 eo·/ "9۱+laA; XQ/[,s^;.uț<&Qc⽣zM0ʨF9P(v~5wDlR4T ͘M(4]Nd8g^%fEBlZi.n`Ќ!rS.܋ۑ']䢑qȯ57wbEECf-d:~Y+ =kxOv+ꨏt|G *[ 12"k(FgJc+g@EO>|*Srb0OeD`s Qti<1r|8tEV0&/M- Ξh2h bŻPA.0o9u@|^~.Gyb"*G {5o8~?vLC 8{׫jwÖ(iO:p>Oj%0\A ﬙67Y\o}w`^E,uu54.m= b1 D(l%qptu["U ҉TLtեԔZ9SOu,\{drmNƆWWPs(Jx)6cٶxу@xBoR=64(3~\_GWb1u9Άܺ ~͹1N, `%u%BM'6\W*XvP5s;G8"&,gPiS3 jvN{~j^›U9vb&",FALɡ~ 4:3@>$>C٢RG iHgJ3$q"e3쮩K2EM0yXԃ95P#gٯTd75s)Zx-}̖V[Zx6J~~F-gP8X3'U3'NG?GG5jPvgiR~U:Uk<7:_/V7.ǮiTΏ_56q-*tfMjLM srVgҵx^w#nŞD/SE餃gUu92!ڿuͰ;Б`חLї6җ!6𨇈.Q]! 9EIsVF]u>%ۓ+7m9 rbkm>XP~[qWE 﫷g~\oI0u (NKC{vQOFC47;J(RG[!di(N"v=r8]Iz>hM6?lʓtio&Ig(|ĐpRh6Ja)iI9[k3bSV |le=ffGL+J9R;Ņ$a?V#]ڑǠ͎5BV'{?VfEQ^3J~kǣv4lY1(VݧVɽx%"|mvP' li+M{V>ƹ,6UMxBTPk~%oD"zX Ўc+'fn쮢 2/#Qfd vRgʢ*-Gح',֧3k9_DB.JAy,VwђiB"0 yS&ǧhxS+J1a&Dzn]acIŏAGd:LI.Yܮef}aCfsWKWvGBnY>HL*aJSI;2ǵ5@'w7ʐGNC/*?Ĝ]! X5ыUK u ;|FbH!E3ڝO艁㻈V;k\cx\]Sf! xը^{˵\w|Ż5UMو4&+,y#N1t6O(B%vz2rK= x^Y]0BW4.6IM~f2f R/1Ɵq!.oգ^Nٿm$n2,cZx fz" 2̛aoÂr.ccgeOKJϱ4ПRZ*)ctpYUKBod~`M!~0173Jwu\N6BI>/,bsiUfң]Z`%\ fkk4GɎLe{&يX m~sj{bqH'Lͫ&ɻVNJw7sNt̵|LX #f&X81{Ǩ~vØj1ӓ<58qDcZTF! Wԃh s'orq>:5bd7^!qG3՝4<ڝ9\rz.S'Y|.X%Iͤ zX#%'ޣ24&GGx]iT5};Y$\I-cAH⠑ 4~{솖W)u;p&Dތ~"ȕqo}r[!}_f 0of58ڡ*=ۀ?+yzL8>=iy˜լ?N4wb #Ϋ~:l:^c!fUbM>M¼dGEi` ``aI lG=fУ-\EJITE0=ט"z72;'BPPq;dc6@1xlH=EwXMA Uz<]~^G7%&$+~5S{2oN?S>"Oƈ^Z<.ߑxbdI vUVkhnx˪+vѓA^@4GKn*x< ZmNrv>g&Kjԧ)ON4[6#qSNNd 9V'q~ޔ!M=\opw$݆VWTXMi@mQMѠBcl/ҋ4 yhTh[ik8o2%vwC7W+L.-A$Pd@*gÔzȣoW@+gxءj^M B%Sꁨϋ.4zOh2~|k}r`IxJG^*l) 7: q{:[傕* !tӫ0#Rz͉.ݓCr$zp)X|&+9=*5ːJ0YFMB,\m9ELOԤ/R % if6u? )!Id`ER ă $a*k_BrH4- e]jgM]1٢0ub;gfi}LlNw N3)7HZ$B%ESQNQS)3k8S6zOζ7^72* x8TIl!Bݥ;ƫ[E/0z{GA@e2LC*޼9=:F%ءv|:L?p*HFZy {JȻLYQ`dFT./'$z z`.xAρLv.!V7$nWȌ!T;zNA1Ip̫ABg=i@A|,a[^ 7 ^7[&TJK:!Z}b#7WQPRp*Uu' S(ffh!B )slBWP_7LWӲ酫,Rq-qF J^Bfzh&U !&*JXqyA)Q6]6δGy\E}F*.v`ѯ4[N؂ϟk'Y^نI6Hrw&]-+j.&hP#`$="[Dl"VDd(U VsR@b!3&iVtVLW:+*s76^gϡ,6 ߸)d(aWPA%0J0j:iR6$, p<5еKѣ^zI7ۂ^tetۥN%1 X[ChyT>HG's7j$+v<Iq u:I3?P5'%MTS~ AI h2Ǩnj)LLk@L`\^O5y 6eE^tt? a)i6~* 9 WB'olZ;G:o>HY6@4pl8\T8ܹsgU/9q"YMI.]krL?Mlmt3AkEA5 ﷓1n@ eBFj|ӫՓN\;4TC R%qp{ G¥B- v9yPz!=A-V)f7r6@/MK mIjH2RkkjN鹏!m6A6dAR9l?t[` f"%IddVs4Knhl7Q^BakB ;ԥ)&Z9p|=y4n$BIk8 rgpdUW=M g5/mܪ$Xt.+^o~7Ը6lO:-vX-[xђFwE1ۼ9d ojBƯ. {+iOsp[(4l.j\* 6a,Km5সU XgIS$_)7n;R&wi;uL&I dZe*_cy/JF@^IDcg~[~R6ٝF}碌-_uuZCIݱǬe,߅YFɩڦGZ#B"qz[-?:vHj@3I}/!ߥqNOd_o&&gg!rMq?}d74BȿQ*\`JU:]pAlds\rl )':u&s9 w8-+L/' XӅD\qǷD:=&f [Bt]M#EE|nGEEd8S}'\NLmG4 qXpX{ AD=UvaⵃJTzCJKw'yMTl 1];*eDNUTپ&cm9nl\,*\u GeGV%H` K{c4Ȫ .?8@7o@FĩȤיߛIє%-JEV.Sg| cY7$(d4H06艴erj#r.r`ֺf 1 JeN, 8= sc~nD#M Es=/Y7)Xdк i7f67ҙKjroSuZK/ `zbX*,%Kݱ iIUd*;;+=qMJO~6s%*d /r3bJA"FvfHm}-zMdC7 U;OH7gFcvpKPI \IM4T)*t[8%tbo fLPtDvӴle9!j-(=uLǘ)Y^l_9adG Mm%uK/wb'o'\Z4al/-YYOKv"xJs[Jaއ0+1}@Eh\mp,W+zJvZn'b1E}z cs9RAu9q}/g=V'JTlJzFzMY`OGF]S<5֩)G7q$I*7ZEa㫌^HSH OہS1)Nr )h'4 " O kAZE*mmdݪJT_8֙G4&8~|vƭywY§IBlǃd1>̈́<Ėjd~?&}GfM[䒯C3<7[kh&4%lK"M/ޭۘVȼkc/=Ս&jԣfY|^Yph3e=O*8+ 1{ód`&⩨Ec$1"P';ЩÊ~RWu[Dfi+{ S(YYciL1&!x,~/ܓև^9K*Z7@F=t m9,oȯj_gKJy,m1Q.o` %<>hQ5(*grvѱ!uXj͍A f.-/cdyw}sW-)}: 0 F.W̨Vr."g6~ږ݉(?g`&xd`Z\kbڴUX8:v$]bˬTY%+mʤ#&ϱP\[(BӴ.YxHbtϟ]S!BILIƮD>GwNEG~uAJXiZŊ=8rE Ԧ٣#8;Z,df1#6i3 _ٸ-@#=e\*wP/K6w -4ZV_/x068eyNrƁcjv,>Mzg+mMpk`T 'lTGe[>b.S<*Ҥ#?45[d;3pjzqVKkHfFHYtUcrjIf~#? 7<&~vx~BQ=Wx]]I\lV 2.əbI!ejY*yUQ.1W549a j}^AxS`=oTsɊ+Vnvhr*4Nx[J뫧i Xj*a|C|14np7|nqZNDʹha._Զ3f= tLpX $h]ЪA6D,ǕT ~Y*ٔ}ւ6tNRm[Zwz.pߕt\7 @˂.R&bBACv3(T3Lilz/߸z+ϟ]XecB+RE 3b6 ˯q~O'钻 (%mT`d]]@kE3vrB-"Wйـ$c54#F>Ng)9iQ Te3MNcm^ WPiRuhU"?{!" Jޞkz9"rlx7?. %u*4Ψ.1oɠ޳VI)Y^|YT&)uh-;Q]ՋËZA&M v1v9i?kqlsCmw/cbpNcpKީ"FC'NHn&%ÙˉA3VB٧ zT$(3'EZᴅ.*BnQu<ݣz@))$ut=t|d&l$PuJ\gm>, I Ӄ"/?D'p~kٝfn_m͎ϳ>ӧ;y?9駟{gΜ< :uQM c`@o!}qޛO>6N#w-}mV Y } `Ө?ؿ-Q8SA7郟=1MS[ 9jS%$Oœ>a*OWǪ{wg?I*?#5.\&YM:_EZd]Ճŵ#y9uړ ,k .3ác s}fW3YFy@Mi`~GNsިw ޯܼq,hʰ18#+GY[153o'4Oz;Zqp"Aݻ?yBoRЌݖW}Yp^vxvW|J)ԻUZ"@@fVh;k$6=? /RE$1PŁGC"9W5?t<>&Yj̓XC8Aw?SpQ m/PM$fQ酖` Gnýε:<'>e`O waӝ=faǧ#.Ϙz)cH;q3aHkAz#lJHOxVx5Wz3i{]$%>cpΈpf-GOI QE' nى6碤 AFE?0xKmѾ%ܿK'А{+97y"l#@R!#pC HO;A[/A*՛Ĵ>);- ܹ Q_:r$Ғ7Sc`T~e~@ = G1-ʤkuOEVj&U\?!\v5)oF";=v_}pZ?"--a*@6|4!^'9ԓ0 rIjlYv#:2 @ {Ec2zLT>  $iAwT`9QˤD@ E^,nrC>uPG~}3{teqMZ{ dQT^j `g>'{][DG̭הN$o0 :ϠnGZr+Sh _0Oibqzr W`=[sCJIt,?q?e)f]O"8J0#|*#s zpx@1wKfB _z@QTWŤW[q늩4gIt__= J=?M`ǩM,gqǑ qanӚ[kJ&㤙hP!!;Ϗ'DKU ywM;F\ZZȜ~Cb5 I?}\ĺWS 5i,U]4s$ƂȘzkuą VY*cK89ل:]Mj8H;c/ZpV%q[9HWI{GEsk¦l͵mY:IչiKůoM!{W<(~Op%dф/M]H է7Nh_],a!]I+o8RyLr sobY$(wy,NR oZD:QI],4)4BK5?H3 JSE3ǥǫ b J%J`4 tRDXGq"? ;GtVhj`=\1{SG8$sTW "ٗ\B۬2Ho.5B+l^-UU!^巀%a[.{u XJ),>Gs9VH{&wab؁غJ3hY\DPˬdΥ-bwS͎"׋{SB"!R _ %mܧs+S":)XYm~s 2_c pm1+Vw= ț$kV|) 5}ldw^/w:탨2x c@H?pXD3 +>O 4xe?0GUcy>&H[jii#5FFAg$:|5,tV&7I6qϼ oEzyvXQ{}EACQr9px9xNG5:ɿ<}v?aEiOM,ѢY9:#ot/GƤ:™~ڷR-"L*}N.\Row;RK*\trkYDnK3~A|`JlpRS*R4XяdwPt, p@T\pū6^vȔ>{ ]i-- 9yeNU:0LÈU/ϓ n ]b?`yoMwYRpCLD LĆP~5"c|8?e)\yX7EayD~[`0@ 8+/Q ǂ&]~QAC=kFUHtǂhҸho5.weXU/;^#:#u}S.~Ď*&?dJ @MHP4nehUŔShL;1 j0;'Ӌn }'lBd =RžLO!qz7!TjUj]RX#T>sacsF?g4A֍}o,MRg^v?BSf4iD'wqF!webPt,/>]j6 ,$7/l$+s[<&}m- YɭD}hS~u6BAo8GuT;OhZza!4#K}JCW:c6,LVR_t-:ERq FVmKvc.ⲇ E wyz ܋5_ܭ, 688E|ƅM]T!ǁ`E7$z;R3#l& m5BZhL?Zyzƌ8ݿ[cs;\>< ߧ1ΥȚH .ޝy{q҅ "ld?Q #&Lb-M}E7*KL=)?Ҫe+8o*ۉbMW e?sC*UdV2pA=^g6Έvt˸+\av6r*H$[nv0˺"=du9ے ,kG^nՈY:24SeB*T`X1efa=FJ]"nN! о ,}ӵJ1$=Ƿ}e'ϣJc]csB~lh$. #&(̭AÞfԫsWckrbYoTF {@(rRK4j?B2J2хSXA)D([Z6,ԃ Ĕ3IQ1^gUgE!ȩ:jBϨ3~DC{N?:Q9Z;sr^kbdcwbYe_:$`ԍWHוg]HկH h B? )Ѧ?E[sёІ*|;WHSK> &b`dtM6g7ZW]72|p.[%>`gǞ܏rϠFK7o\K\Q}1lFMO֍&ZDd,t8};?NG2r;1CQpC[f@0s5'nNˁѳa ͛Lw<eeiXY:%4)O\B.؇i/j8 G{F6(36HQ=]; ;Jqĭ/ ڐjوIwo=6ثiiHLi^ͅ*čUR?mJ n.E=ҿn鍧kLF]yԀT8CINco~g.jQarN]{Ĺ".@C )R¡ByG#bRJ_WŅ}: ORr]Sn%zV ~g1*]ϱ0e‰}4@{ zxmAp8Vy?^щA8hcO~C?DG6&cBJvK8m9 "Ї2 nQ]Nl4Xb8nьBiDksԖ؞;! wMm媬^_A_wT\i~뼶}iTQBbF6b g@{?ǠSҐYWX2V{?#p0yv0H:Bl+(i#Ew>TF:pR5ВuRoNRa#xoF_7gBGa9hQM] O+O34X@>?r^|XqaGyEpEnNJ'loW9=m%?V_H5N窮48vJK0f1eAŠK!MωVz(!\9ah6VZ 'f3@J7ㄜ0'El'yEDY2S9N`DOH}S]vz w0GIFN='Юp2V;jS,BKeYC:I[޾ˆ!jJB=0 f(=ҀEX.R `+S"F[G7Zp۽̸sV[|*'p9>Bȗt+R:UO C𨞷H،Js"YA Qbb$E<rރ| Gi0=;q좈{7zݢ]v.UD@c~l\)>xҍ ~L̅4={z_0E>?1v\%5`g"ф?qT6S5؂|N1[>V]3_m^E?KhO|r?%r.GM^Т$Įά.{2*n$dYf=f ` mIŤ% ^F~!HFI_3v'5%I Rr=Yуk 1( 3[?~ا?Tu7?E}~(mcIm$ܾM̛ zT>+0 wEWg 5%Q7 b/~W\!~`l2%hN{is_k@?1_ˈm1a\q Wk2f鶜<#޿v}yHq>)J {G2B9#8a,fd*$d,2AT({h\^&X ?{x3jMk׿T=4uB> Ke9Z T&Y4}U2F x,,pd,_#v x5xE@Ņ{n$/_~KEоEТ]h=,s/"_Q!)p1YyvzQ{<eXQZk|E3*%:n2f\BO^ Q~"ʮb] QyȜ[&qa8F3`);m{ӡ]}G^ŸkFys#Ƈd[FQ7ּ=ў.oy 0Hp-A([y}pU#Hj1|j7_b?C򜣹bY{ +E8>?߿gT s%=˽9Y֎I[Jx߷jrg0 9?͟ 6u2+VݗuyqWcb`~3UTydo)w/wi@6Kme `,S[yvj|)1_'y!>$,|qYte_JjI~ SaC2?{'3+g=y҉ z鈥~ {T!c& YuX(}+ !B Q@Qv0w?$= Ƈ1 OOm`EzȷZUɎ!(PwOdcƛ6D/~HL,fI Eì*ly8An*i!7z?V ֱΗyI]o]و]ˎ^kr$\L@s?D{A٦]k:C{:t8HYi_H {ruU**Xs݄wvTwGIhTܮ5ѤF.RJhJD6\/9|#[O'.^y0Ӣ\rszԖ#[wIy9!?(ƌ0 !9ZZYe]p˜8g|Kte=h/ mD9gQ/26;;n['.ul:n#\FD'X!G%GpLUR=.䉀s +קiwj1fDexueuG:FVeɁse[ʖ^h_d;𫀰JB(XX"kiðVQJv<[ҟooASG<Z;?%:Tj#z}8A7V*5 ÇQÉ^硏Q)kGtDaQp8K+;t9 V/9ʇᇖFQ G8CpG.w;G\ |RGK5QyC8$״, 9CykX{tqea=q?q>G} &4361& \Տ9M*3Gso?8T;Pdr:99kX^Q)GF.G6I9 '"+Erf9ϔO9vU{Kl!bA͘06bU.M!K vU7ڷxDZAs8 92U۾ l33UY}r} GԾ!G5Xҡh߷vǭױP m\"ϔ>C~_E~(돩aS39ig'ejX9#--`#! .litЁ.AR{XY!!W.Gxmf`k^ˏL !cކC٭uh] nήvNO4/;ZT»@o<`H L1+:-Oq5:]^ffP..0 f/$~-A_j*Z0_/w1cb.;ҥKh@]xC}ՎU.C^Z4G;kNu2_>onTˣՋsx~җ¿Hۃ4=rffnӿT˟DJ?ٿV7U^4Kŏ%#ׇ1YxpF <{ Xo L(/7?Tpx0(%.t~Lto`zb{2t}28 J9insn.]wa\! ^q>I) 1w-(8Gؕ(a,on<41_w#ٯX#]4;*,S^ ;;8,8rM P`KJ餇y>*/0MM*?fXޣorOSS"oD|b=y,DDD'j_gُ% ZN`Yl}9xTf |WgyNMڥžamwU%V'/ONe1}L Kk/e3ѴarOxEf=)ïC$΀/) tTʮ89u!:u!:cۺ;27Eb}(Trn$_xŗo\,ƍK/mo˶~"QpxL:6ձNL_9Yy0@HoPe)%Wt(ӀjS poz!t?v2obTrj_swU1MQ:JN&1/O@⩲iZlRa &EjupJk+Isԗߋ )/\\<=&oY?ߝy#\:|+[6])?'% yil}'J1e6(ɸwdqG)ԟuNN]Vm|PpsE5f[o:W n=:il@xAV;R(x~->IǹOHAL|t ojڬ:L^izozeK%F0ok鵕f*ލsX᤼tʛ7.䵱4$?-KqX6fInvǚ措X?sWw^k;)Ģ1'}1Lu|ǥ%?ʰbuol_+*`dq YhdN"%dRi[fv{VfE|o8P#s痔f%/9UhogJhYOWY$EԜ>{@ACwZ9A< oFHq;?v:3jʶGPOvjAŔƀn:T;s$Pxt~1[OqF~O ApiL OK 7LbW*@H}8f%wnRÎu 9874Q0+FNz Dí\q 5%LH{}GVAG^C VQLD7s}`FL&M))8MoNzlnnR+ad[P6}X/@aLZs>s"`}_8o=Jɼ/ڻi7iNwمeCr #ud<<ǕI|lv˪i^KN3})-:!6 F%R BF&7w6CP{I3߅:N#=-6;'7St(7wPbbKXcc~cO>mD^(ui_]XZlmxbOꉛtT+3{|oIVZnijsӪ_bHŢe5.',GhSdǭ-2]1%k@yMʐ{gw pD#Ãzvmv'u٭ѲTya2\̯,w"P$*s/BuIe1D.;FjhxOH:L׈?zo]X]ɐ#vlՙP\2QVn鐅c01wO='g kB$8!Z-]N~F x[kXVgEό 3ڰLb_Q%+W|6euk*~ s(NKQI HLS 2uBey ]hn㢗꾦Zދ.TBxXLo4;,eh~&sC7LECE*Sn&8Pu`+]?rb=sMP≏y{OL?x=Q|IXp"郷a5ڹ)Z*4V"DUO7ܲ䦿_OX?<ʉFLbb RssA W yO !GQS3W.uŁ\vLD&IOd%/~6ņkҿ&5Y&|Mr6ݺKYR-.}fK YxjޒrM;ϊ;r m'b]a9YP\w[=Eͣ8Uʁni3FJ>嚤.ZU\7:)7gNTSs1.^P&02~kU7SFܲCHrgWT;B[Z.6cew$OK5$j4/F| $ (mD`y.r @`QcCI knPkghZ}N qOH\IQ1ÛrgQa\8v)(<56wޅNڂ<1/n۶ek܃4%L]pi$;' 3MDOS?jMt Z'`mH}Nc-3JMdF wQ4m>׻^Eo[4QgF2 EL"m뜳hT `RH37D>SP;8b[.y"gHNɀO*%NO9oJBX\:f(Rco,}nJ+I*mp>,O{jAԪi+{ykr:[sr>w@[ ieJn(Sr}82n;W%7IfRR+R{_骘vH%{;'=smqH(3g+a1ibH,LrԡON! W񛴞 `ْ T0\4nLqm8kdA2nj宅K,`čƮ+&xT(Rh2RVs|hF=xMi@ MZc3&FV>'UgѰpckJRky+IAo [&1ħj،`jDG-ra ߰EGu)13R~$Sx7L;m.-WUH,oܕ˦{K5[;6zݓ`b6ɢc ƍL6qMڪ ,@̷qZa7@HkJ_$@ga[]X;ҹlX\1y-"7҆t hkM8N*m1_rOQ4{a+YO0ϔg^T\4j6fx Pْ::JQo*NJXy-`uu5d{uk-_OaB.V^#;u4Qt0vu'm_eQY(y9NGYN"BDۍ'! I3BTt)e1fnktGy@2rHwRMwtL_R:{-6H$)xGv4hu%m &gZtdÁ*{<#---Ƞqu&cSnyiG>9M) :imvWv*j?ȼ{d8_$wsRM&0)%Dq!9`Msb*u.k^?Ӏ{IZ0vAwJ 2P#HF =-x4+|átpilV@ c<މ+J<'`*%p?1>)&f&U~ q4omlJЭQc(cX-hBIJv5T]PQW,IDgԪ%._uE]wCO(Uwن3h#bѝL<iy*{hN̲Gg]H΅`4bmΞO6@~^U_r{5 E3ɶ Bf+#Č<ޕp`|Izw+?ȟG-@ cܗ#\`J|: iBinHy\R`BKqVhJgFDovL|>35| 0dlޟjq^j؉3l8uH 1fb~6Dǝze":OQjeL>|~W l!=T ݴԬX־"h{SƸٶgeJ럃6P05HEÆraHJ0) iԻ*kլ莟$+R,9m2ga1ƇS\NcLmwY #e-;TTlX1.9)-t4BgN_7|9Z vFlF[ $F>HP JR'cX6A 4~{:}}r8|$.D rYUAp"A#T{R6Xi)pc u!B~}VUD^: ]Ҋʁݧe$mJqh "jKt'C$Mf5ήͳ(rٙ?ŇzQC6p`4(35c ƓJ犿 MjӼH$xmZ5Ŏ?~b?Q1r0Uꄲ7ݬih:{#P8I~bjaN2zi7˪aJBXE ҥC&h Liɤ|TTt7a@܂vBjWy'%V&JGGIA3W:UtEL f4$B8Tc-L18ŏZ /AWDM\!S \6YDŽ!Crdka$ .lH! h$c,]Z\1fϘ!x|qefGc3B" "_FH.8IL'yUXz]ehҕDWim iiT&/Є k"p"L~3&ߓqF_#z8:"טTia8+sH ƈ!.BX $%|P٢ŋ;D SڊcYk%5ߥ[sZ҄v%5=,\y:LXJJn02cY3O@ (ǚT\lk:tYGZRMH营s<ҤU1sJ8x'L= r-Є"Iy]zMOR1% LB#34,eƿN R;#Y=ӣ4ԇYeHܼ/uq`:d.!ȅ#@[sp;j輂}Sަepe S.W'PJ:UtDIQhAC*i/yUvHd %wC)or폭IZ&7cӞ3||HeYK1LǶPI*m?+jl!XE$QrCw6۫i 댑e؆`3 9o>}Nh+X<`TAn~vi}c(UT]Vfk|Dpҁ(̇LSu{ P3vU}H%Aw%(W "IXpQ²mO mNg.#W9ܙײ!vLmV9>'0v2QOvrƧF'E ^%t jtY\nMjP45SqRBHðBԚ 8hkgcf*0|l~>:I7”|` Ovx}}f̨^ B)W|Rm%Ep. 8=`dGNoIpcZ&YεǻJ˻Wg3bNۖ]O-I5͒71ohL Tɂ7¯X(#rĉQ 3*1#RBZt> 4K2|$H6@"v$延RI1ķc!ù^Z}褦WUv=DŽެ{td9J IȊ'$3FHQdtxzoxRX4c 8yA-f!ujr hda/H{0V:ZFKQmF(q$^x:࿯{T-`@ʢu3k*zy=N󘴬1ˁRW y6^L7x2>f\[Pau׶deD kYz/V*~:UXRC<6P{ة}kY/L3ՐW7GaJ=2(ͱ4qKrRNA0. gKoPHN{hTc'>cZ*rJwN 3KJ|V{l,^RE|F¼ݖnSx b;W 4T曮ͨV BBf)ƉXC,]ôJf$TVGM&[Ut 㙛M̸[I)ws-Z1וO;# 1"kWR6P2Ve0l9#@rSN.1CmMʬs2pb 8A$(eG;D|-Sʗ*ִA*䓸jZoyG*ux)o%m LL2=2oR{Hz]o`0nj ;34]*$Tek+}-=8$Mi>Z HMj`8V)1t10Q#IR[& n[oA+uh,2^ڳ|tE!l7!:v9/Kqi 6}+UPn蹠kRnO*,R&%O! Xá|1#vv3"=rg  %ד[$Xؙ+ ;JdL< ]bQKtje@Q"dT N T3ਤm9rfvҜtX(UFS\!o4r-)o4wY\sHQW*$qHUs2k A܁+XT&t ٰ ŌRCѝj |#x5QȬHL;n RJ,)gP>gf 4mcǫCg펖jQ*ܺQcUaZ/d9E UB(\籸EXb:RU>p:qw4xQ5<+b!{j|)$62Gq@< 1k|| T$xKvg IEy~m0J ×ǣ6 yNeĭbn i?Fwjva_+U-U7KtB)YBufAmMz\mL}>I%FF5O+Ҟ&8rbymq.OXn0t\(Z)8v;SA|!B7D¡Ss Mtd'ic'Ч8DE8RMۃOpB!چW^z],$<&Dڸ>APQjAnHf! m0~TS"1b(-7J "x=d[u6 iVd ƁXVrx9ʗHZ jə^;^Nu -H:{y@/wwPѼjVEYlBϙD\OvLEװE<+ฝʹ{о%O}Mg2k~ByJ/@ eW6l kO$ET@ՋZ8e*c=ڊIT\ZOPcN[=cfh-ިUõMo nvm N7H)7-ܡghGL^`$%UT2s We-WSd1GH"qp_Ϝ2zLɈo*u08W=%9jܴy^R?݂r^\1[Rn x,^+`jX2i(&ŒD 4x:N2u$J.C2K0|4F7v|.zE' g,ק5Tѓ32V-r :a'R"ZqsFܢqM]DYI7" H7B!mqI8n1w|MW6]ߊlR 2_)zmVt>]-~fTZ;6CyR!l2BKx;,$THUKt1ׂNxqjƝޤ6t=9ZХa9̠+}&,B62ߕ3۰s  JM~֬Rvz ?d:ƥ[ 1eܗIyMP~䱄&gKm]FâӬ]'|H&:c#52=f{ ȚBdոܳ)Чގ@FFUiaUJY`tB@Ê!}óUQ!UcGApK 7vO@ lL33';E,+"n Vv2kTQw~ ly<$lXl[FGeT$f T\}j]VDQ7o M*Jkuc#h~>sNFic:xKҁ~qiυ*,^$PiNEb8t>ukE7 ?\w+feg;\cY6b{2S qi7 3?63N3.\.,Dt<̎mXe\!٪+kH^  RÐKé*H«fnT&W61i 3{d~eLl-0H'EMNJ#`y (?npfLX̴i0Fa ҮЂnBA<ˊ-OvÑ87(Y%yqt)F?KrKXLy.(m[Ž]?(/NL ]tv;MUB|Ǚ$R0i(k+k`a>SlohĔ~!;JZ,Iڀᴢӱ@5Fr$^ga1[vkQE5?E ie>*4RfsA;: 8А2I F)CJ"3:yI  Ob$KX-sxsZ2\%ȕCߖpٴ D~v VLZj~"qEB-a/TvPՆ'#KaJTJV˸ VqqbŇK5.HԳbQD\A݈$SSdrTԂ &f, mN@3|'vQ.s$ HI FVC4*n)򤷀jlj'ͱ[|l)tg7ڸW9}42^,a;@ KiW'1x\H>n fⓚ+kb,GS,_XtIlwt cĜVѤ M|`3H0[ qpVqV##6c(5nPf;-@[l%ʂS+{WZVFF&#SFpM7h l޺B٠YB|d%`(T 'h;A-q/04+بb`: 0p)^Gv$]in\1fC函TouV1@ʨR8y3pARV-CPhcN:cR*Be2K-"ؚ{ R%^ڌ҃!(-7Ʉm[7AsC SjP~TcAU@c|ee=Q*hL #V7[J:X{~QMcՔ=h76bn%]/l_\0PVDƉsO-V'3*H0֥`b*p 7K>ĦsPj!([eyJ߰*-',V uRƍf(4H֬yca 4<'*{ڳP5ȗx7~tDbЁə#Y!` ڞ#Yt=Y// f+bufwal4h ”諒KWd"Mxq)Beiu<]$ϐ\Xwve iG.>ٙf_pTuE,Mj=q#CGD"UuEonɉ&+  O bȊ~mk GSO͟Y$LX{o8 .p08\nyqaZK b2+kbK 4FOQڄ*}}KF t Bo)lI %X^.Kt&١BJXN8;@]&հSg!;k㾳ƾz7JTХb݌N3-HÓd y$Y.ՙԑYWNZ=(ϟ4g3|_{hv'$yj $'ä}=IWڪ M!6( 4HqWPjMcDim2k o2K%94Og7e" ss3nOrQWnW&ɆsDwAWpNK?Ɯv^+htۊY96/dYY09Ol^镗qb~bn57 ~V:yk\\3E(zI /òBPB.U&\~^.R6z6oܶR!k|u8l4B|?yh+5GXp'C=7N$8=AO-.AP dxϠw @c!/ x7f./2iLr%t8P.(Ɇ1]q#De1EJ̝uw?RИo*r9֘Sp6J([ wV:1![Ĩfsvߚ?)cKWɟ? EpHHj8Fvl^T5>#,s+P+tju-1-NqJr~x$ J( @KPD@;PnRq7ؿe ;H,EV^tM ~Rr9|E[1H K!w]>_%F)7jQQr`.R\8cXk% W4ab-MrcsO+]WMT#k=azD!dKJئ pαe#c*]x3CK;!Hr[F4anwBnfqǏ2΃|%f yjن>L4^{x' d"w^yWX -eY%Z+A88J3WВ)FJd%3tg3)ࠡ$iEL@Ѩ~ 1ݪNFrҍfi45--?0/Po9/Mn?C\Kn{WJ6nc'R6"+}5h0KUt,%n,V^ ~ NҞ2ۣZ5 ZU]c~|C^]ڸZ_ѥhtLv7)(/ @XC1Vk3,΃h~n5i&R^pڋ[~f K{LmPݘTI|W jbSLV[rO1FtUr9M\!,,n'JQ<)J HG+Fxy60}6йA:zWùvNw.ߖIϙGͷmϕ-yLBI$rs~-H@C2q: AL0+"d"IG/WfxvO%&ѝ綽u_9.sb(Rnm lf6:2i+Li?/yisKi)$ܙ%ה[i(U%EJs" +h=U||Mƶ)VvSeNU*S eN<1%K$y5 /-YFF(?x+M;pEI2١x!r2nJ"}+ Zs \3-){"rDXVĀvB1lNnE9P<%STܩ"( >6>\>[XO+aamqRݲN*bypGYњbYtAߙc1F4r {](uTS̹JӞ]7kZ׵=ܤ""_ڈnI!j|" >''c'ns%2}he'|jL8b dqF?PÙ3'&jT/k@* !\׬,BhG0Fqi2<.C2t̯$#nul\?)P;E2$62&NRi=5Kxش =6GIn+Ljqَv\9u.#eS!噀V6^ IcS*ƗSua[s- B5SLר..q3U?W4Sc%Hv ֹ=tD;36Ӫ3n\ 6t;i;8--*pg-}O?J%q&|'L*|:h[EWPYZUV1ĩ a139l0ƥB(&I )}Ćk7ڞ ||%bp@ؖP<<7VaFcL6/67r5rօE82.)TP)w^'ENZ;W+,nF4' Ԁ.kfF&@::-PD_:6WV}Hld(eDLeq*j1l!uii3.X仒I"4#)fz㰄^I0 @I5ۧlmw-17mqx.Ǧcyݔ=n3vyHI!j֒ |\5cE#CaN1(rKu*!{Ԙ$6ċss"qI$@=点:S"4UM9N,~:lG˙LP ?_.ȽFLGF )WS,P1'θL ^QI E+TDI", >Pbd%m%N("B;r'R4tY,E|1 -Yj6?ҲXqR:Sk &Hi4@XdoV.sa6x?jȶl V+fP*b:VT`#mJDBX GܒΏG#KJ8bekR\hvrS3pNF1(:uAU| {be3bֶk.L@~cT F%N<S&]f ,F)@SK|j@jrU*E iI*`䏘 k@+ˤ@:,gC=&E-6j o(W%sa>+lk"7Eo~W,YbQChzK o~˘Lб0`^|l3]19I?뷤+iֆhmQԪoB-X4\Ӄ޾K_E]zv4+!@(rc@"@V}ømˣ9: aR8@ `\lįc.\6U硪0 ӽ͡n)Upt8Xǁ VEפP:W\ƕs3e|WV$!@_H0B6W$dWQ=nȵ7.ëq.0\TaxU L9rh`4ˋqhvwGNe sS̻A/_U!)eXPB+>x_wsn`r;KnޢVS﷋1::O[X;TV)FQﺠX+ ?3 +Lkpu_)/HBPoF qq30B䭚q$dhg`^%_uto?:y4 T@c C;%1N`@=1Jp):%/)oHM)Q_P3%qhjb4 q$N< +tƤ{A\4*9k)^t㩜 :X)e.T{^J`;mȈ-BVk!>;SV.᜵ȵNڱo}~HaІ?0dEQ gIЗQFNlflPB(>\ǃ8j0@ꀯ9@GW4CXX-rb⧪ʰ dl$ij1t>Z  (6\DG41K0=.t<u|GH:L<,/f|G!ێ͊)SziQN2Hu1z#7R5pdI.`zG 9~''q9.V_Z%{1]j8JUF~"3aqGr\2;[ JKԷivHwU/rjR6no,QQqH|Q@f$r1^W$&c_tF1 &޲ZR'~UYTN,/x~P(ݼ/L8H!A?cJEaٯ ▗Dc2In| '"ԩU5#(7gQO(dt-My/0='Ҙ_3ŷ&5Ğx/*r0OOHcmbR&d]@gWY⭝홎&'7ҽ6V%;}mI)m rFQ 2 '0Npf8"䬠VugxQNgSR+V+[']Rr%pjRO~ Z,ȀxH *~6VNRΞY%KXa_ct@Ô=EiL-O?JŪ0aq(V7e!v I5-ί WRD8;?a|J$u#uR ǀŪ͵AT<-I"i]JYWˋ'"r:/-퓧: W(ˇlm,Tp+e-HFt:0Zr$D{xrx~kl~);a$VV 2|u@RTO!qG}Uә .A4!jg1:2UrCQlϢѦBJ_X3zPok@~У/E 1!]3z/ޞO3} eQi8!<7ӻj !6n ys~3R31{HLg- H/>s V!Ae/^チc%ˡ:~~UGPѹw2/ RU.=.E=;w{!sݲ )9g^|?sf]<7w|9Qs>) >0ɂ~=zmu1Qo{)?\*ߜ{S3Ei鹯&B2̞~TDFȮWEKm!`,k e~|wyzKݟܙgjם!ۋ bw?~8+w&.^Ps3ٹO/~8k%^e hAE3,U}Xkw73[=p$s7/޹yV8857u)ٿ;Swف<^>}P?~~?Ǿ3[bNuO4Fƈ558#_85{h#boߝj]eg⨨?ѥ\Σ~>yZ&%Z`j$Hc#!*J&zJ V8NU6#8{+s+"zgҜ:Rb\1IKiQ1VV>}֗t7 {~>׏N`}9rtתHEb貳E2$q`EmB\oi>ܷ`]2jIMWyjόѱbn]=q% XeI;x,f%9IAԗsgwߋJAb@l]$qw>g=0"W15ϊv<u8E~hC-V.K%ZᄪBq@dSۅ*Uĕ~ٹCfO^9Nj}u~gwP Ȃ Ȕ?vDCI'ԟ֧&/pd*bEze#2$}ѵbCj>F‰~YcJ dI^,SFoD/V%cA%uA309V!ƮxQutA2dKX5iQ'FC8rT3nws%8kj"$*l\F<9hr+c(XinN毞Gڂ@@)Τ%"gT޹yź|]Ӽ{X?ޝdN`k ;C)ܥZETXQu!,$G,MFeJYsɜx$sǔ Ԏj:*~dAH)56t@R"rð -W?~IF "s ^SV *^Z@Rc ɤ˧2:@qiS0Nl W0총jN .䝹CgOcN=1)8;t ۔ Ԉߨ8`+D%GEüYIsk—Bĕxo,Žwn {=ꀬ*+C K9X' 47V>+bR7 xMhmP:ƷڐEMW_-ힿ8Qq}N!2u( Rn;Y>ru9uӠ6rb>u #xtxa bZ;& JJ_uNcX & +*FKI5ԥb6 V,1Y.U~(~Rlf%#ũrO_4^:SɚLStK}?ߙ:iQ$ 9 O{i=1/rڋW`*oӾEr{e0l#(lo}`0<^?2XlvSYl0id ~5#] 0,GXFueYx1loCy$^ cN/t']&3y1><,lV+Ĕ~/%cH?IaG??T-3XgJ #AJOcB?9!aA?2Me9>8\>`7臂0&1Pzv#ټگ aNc4?c0ĸALV{,Ş`^hc/? ټ ?hp'ՠ7vf]FQTEXTDaW7CJɷo!ΓCNZtc_C(x޺3믽iWH~:^9x7 X)6DĊ% 7{lvwN6ᆼr 9qg;7Ίe(V+:?~\*M6F]Ӹ!'kտY%č5Kww}2[Ο;שDUmͤ1;2FF%\Z?t>6;0_,F?9r`w~yOR!jΔ]}1{o@\%ڃV~ĊrZ $( ,Z96a)bj(t&|)0c9GD~pl'iCu]I KgJEѺQd974տn$gO\{g]:I}={LLg we{~yl UTGd{]Y}L\܀}_oܺ顾oOgu.^0`#b'q% nHos{Lkk9x9t͞O0p:?qB.j_4T G%yi~OŦww&׏M߻ XM ZQbY+`* t:#Hn{c/+ 3!I뾫hD:)'5x Ž)>. 柝r#To|e[#I >"jQ tZp0.Yc+TJyn =vvSďN8eDZL|grF9q^v$1ǤbQ!)1!Q@Jv; ?껰apST)Ё*|fM?=KY|H6OOr5{RYz y!"#,1KCI?49/wKήĥS{$| L*OF[ӘQ!kɮ/k3RB0N g8;g.E8CWdT}2E8.3}xp|xB$(@xjWȅ#xxgۃΧR-RBV6&^[Qut+A0íFpJ}3fp0z;>r+L9SѠRFwwn;p;9AyMZ"吽B΃`^ra(1 (YMFl'%61ׇY5][2ϳ9ѱ܁)4;Mk.eC+?" 0 (5]V@|.$E<~gcX4X{VIV6>^w#~p>(>/1RZA pJ㞥Uunq :A r#w A<2~:lSHfĔZ#¦JyZk_1ZI.ҠRwW#?=&.Y^t{Q &q] _f#|JFS|XtiE G[Rq ODWHL.DUQO ~P18bi_wHqX}֙r"/zٕkUt#v v4 °ޱSAHYuƌtT`1)1fO'~t_r7ϒԱ٫c|^՟}=;un]g/u_0vRD$rtaiR]b|g|=wo,%`Z`PP`#H/on9ĭ;k,ipOiqS'?-=')x!t?'ijVZr)CcZٻz݂uAݳD_gVU=4 |.Wv)FTʺJkžO=ɘiR"oG3ѫV hu Gď׮-ro^ь~XR7jLrJtK* ͟;"5](ԇgD-+ȻgYlQ[8f*.x}߷n 0 ^B'_A™j;nIL'kIE`4/~27.lU0>[x(ֵ7.dy7c{g? ä#+@|8f“Ej>8Q鵰*NeVZrNz- [eȱe]qc Wܥ&Ib1M͟wet6S_bno~-3I|INވYhwY˦ewqu]gO)HnW)EO({V$w4/tr|n0ӎFGݼ\PKt^>ytyzfO޹{v&75bACnz3r꬏{٩8#kS 92!!]9G??Q9yFo7>"b^A!FQ ◿k)Q*|M)}$k8R䀕ʇCh0K>Rl:W~N 1jf~)JD-9͔L7b56,iAC}/mn77A7qp&Vm>RN/ZN,q'ƪR*S>GңLܴT2eV)v[\#msGQgUsξc5 iԑ/'  \ ^W{ET_;PG/6ws0՟칃v+n:3*o?i~ĮV({3 @9ygj~o(t[ϸVX(IJn{$]='kw=y9vo7j8IYiN@yBU]H& Oo#%KS};&,xXkxl8YK>Iq*`܂҉։8PIOzоaf{T+I~ļ@S2*iNkR31{kqX-% pr@fRG*0!?b4KMPθ.Ҙ tvhDBdϜW!/EV=ɯ[!J#b(3oߵYIyݽ+b،ɔD7Dfٽ?'d N7m!Ϟ8}1)ʿ%IaQAt7 ;=c4jTs{&=.~$aOӈ|/H!(?'vOt.o/}> ;MQPk ;Q3CU?=.J%՟ApOCHf,|MpSjym{XRY,YMALBp G.dǏ@qCӭCyWWL wkT!Cm0^΅$`_X4YR:Wʊ)14<5OWkbHƒ0٢0՝Z: U=S*졓a_gT%6.1sP6X,],,ROCȵKOU,H0lrLN^2vɹˠ>X@/_, -ź@rckJΞq_^[Mn!/$iABwp8!Q߲)̍[\K 4ˊKbX+f?|~zX|j?*l}?r -WӪ@_U1VvrqqVsbH?5I"f'C¿khX-S.q_U9BOF]8^IJցpXΧ!?Ksw2b;?4+$Ѧ`HbLѦx\Ѭ{G2V/xhx(]1|&4xY*5;UeZRSLrgo[pj/ܙҨ M n;`TB@XEU_--Nxc*QA?tm'Tk#oߴ"Njy)L|S^[&qJoP}]q!RUq(Sc ٦sUA* 1>q>*o&UXL󲮥-|3b&dk[dg?:fHG`û'`CӠ=xAo3)sꗾɧ޻nrFE4JU+\.eKL`aox>u]о8ݧg/|k1`&k :5IX*1ݝv'`,1W.6a{^XRo:SY>Ô=JLN*\奄Hf 6J[4@a+"FNAn[jz]Siʑc#/Of Tx|C,ޔ=IMW6biU;|lC%:&#ԚCFƦ$&$Լ)+^t NENg p'RNcN[{fl [ ^Fb e'5 wfgD lʁ+x|`cޝ<^_eWʹ,Tp (KD:un1w^鷄 zxBvpB.uo0Qie7' Ӊĩ~iv MK䤏.IF>Q\Z/mpgrGjJMn"c\kU7hPu(ي￘ R⃒ڇjViѼi'A*xωfR("uc*P=Ov_3oLNjC3F3SP#WCcIR݋k?Oc8 vNP#bW @( TS4@P oN 01L; y GňL.n+Yz>}^B\pCjp}|Ċ{l`|ijX4H$NHʱE)aAmt=o}͙'u:[m^R5^x/e&{uw;V(ȗQ0(0oX;~jS5"L(('îS$ͥįay~} na &fRZ'UAiQRE:!vpU? (}1yg{΋}Rŋ93\=eϏah'Ψ7ga $?glRn`g,6td}NZ`*0>?\1斢3+P߭Ql>Von(8,9J!8Z+ӹhKl`&a TX@9MEۘ`h CmO*i ^ |IF=?Zyh6M%٘dZuݬs7lXZ'fF0濵qX o| 4I8#kDk# `7@BulA3hMzxCi$̢‰Y܋ƚ.TJ,/`Top0$6p8əS#4'[p7 ܏6sO B|99a/=a>oVGe&5%u`< :ޙsCig2oR<{Y66XmV@¥>졣/wqwmE{iF {Td4И5$YzwӵÑTMepN~ӽa}xoã4^[dx#_-̡?sd]y8EȮt WyS.|X#2G{\H&/&YSJ%= Y&CFĂKE4Bͷ, eV#M τb1`piU-n_$l巽:˼j{iV g`1G/ldfm V@bm ,4|@2lawk(i>F>DU>M1­ͤe͒$Omd61w]fXגNk%e,I[m>' eDsal[~eSj }NAI jXObplѡ70B') eML'396zH,swh!ҠlZ3DleZ$uHއGs^n6x|<5z7viIh_ ?h(z,/.aM9A$ٺ&&,(1Kj6 /u]QC2(gQ}Bq89_Uv.Yk2v &%S% A2.p.h#.| /H+34"+p P_n HAtMA79c俽+㐹c,Qd RĈpM`-cDJ1p+(m3w_Bx_޹~xwV{t\sG_ԨI 9w hTx))ܦ-mڸaۦ紟a 0#o.r3aQ^5uk7nM/ jٚk—쓸g#WHg3i 1bE!Q8cjM8p K ZEwo0jo+ :dbM V" ĆJU;zP` -sO?9+m}|)ϒ !H!ݪ쪭Pua%1cx.{RҩP`h{]ZZMͼc_f6]G(WbE]󽹹dr9q>psv5m !Tr`C͝,ETlwP#=o +ԊnaV.\Ew9n^6*CjyDޅ2{v} pc񣐒B^>Ey0݉#"S$vV;=.5J 7,%`qe"%ND.iP??+^ /TT }J#4>T<~5_x.>;EȧJ6MB9O\6UW#VVIԃ9 }y ּT9~,3vi*3%Y>0'゗YOy5eCNkpʺo)/Jʼ({抻x9ZkJB|~we0j_vX_={L%t ^@qvgq ovmܺ飾oOgu]{؀]"h iVO} g#5W!ɭ?=a͞OC7x8膚DIՠ3k5GTZ_nɹ&sgpe_߄3h-]f}ȜKҲMGu[5 0_AgR>O3چt%V;8_xB U!ANct&Pf );'M~R!T*3>$~UD#a1VFq6*"P&H4B&M1M0Ba!a',%p.Dgcs=yQ\\?5f\QQ!bݩZ@5q(P|}i5gBM _u+LL~w}TŢqK cG:rdt458vC5` ;\H h_޹shdĶl(q!A^0î^x۹g-?:6w[s]|q5;97&<%!I鴴0< 呴 LFCp*Ǐ_>'vZ͝HD2ˠIHCԚ]"Jki F ׮|Cwg-D}Lpaӽ7!wܒ?BF@L6RR`t20G˪_oIs{l 3Ukhrx" '4_o2Lb8=Clϟ!:xQK iN PWSDN^h?{Vh5Ds Ԥ't@b%Pi@``xOZАÝ:;@X( d&x.se뫀 V6o卆5x|ڋR|HIP!8)rmChx*1=xsy1tT-7ؑ0Qx3 &~tڠIq֊9X]Vc'v,_t;u6oQ)]?-dQ"GO5a WLP&eJ+"V2w=ݽ}=+E5AGcF A*ÂQ wk\lNBRKǀtgy0 lW @H0 ◁rI,W DKy99.8đFBUxg#T$+zEyK4 A\A60GEڏ(19e|\pM NsfLS.bZG!{Ul؅J"܈0jFx;er}C3LgEV%'/(>g$g2k (ByW}3pe],F%o[)ڶE!Kxq۶-yG\?׮hDʺ 2vEsEt8GR)2a#c;\փv/|s*C L;d_@'\:=xw.J|M>Oꚰ}l)o|`s[ lr@N=0k!Dƕ J J`=`4Kiբ9"Fzd:q7TUTB9OnX9s-ţ[eisckٯ [c;LL<@ &s^,.XٿxJ=n)cvp˳;| ,Ӽ?wZ?FT憡y뫯.wMin[됭\TRH*b*]0{'@UHyxWL'?ۍO* e%nY!29w-.0Tk=!o嵘?wlHR _J8(XvrKɋ+n ɤ7q1{*Z5WU5GkH/6Բ-iwT^;98 S"Y1DׂN*_WϭX*maP0*~+]_X-r t],쪪̋46-9ժ=%Ƕ]'1d|)G$Hۍ3n!*A4*&0\EČ2*O9A 8َ'@IJb💳)+)ՊU,߭,^U )I~sT JGP{R MLAj!#  KrW??`_bT sZ%I@Nnbqu&Ғu{wE 9o<.>r%U<D|S~+Wt+ҡ'[:a`cyjn0'=>;uBT"~MD@þ{px?,(M4잹&yZj?3)ZM!^?5PoOi%oG ه=0#DtgNIP)Zt\nxO3i(\E9=ĄPkX)u3aC^@w# Mu^`~- ʋ%ҠfW _zy`T"=(N-rH1D@/>=+,Xvd`+1瓸%gWJrNNho !|՗$r(\<$zYTq>tӟtH\U .]s-6 :lQ{(kﱦB/Tff ~w_߮]daGڳ}1RGqܷ/VPOʹ;/} ʒ@w@ eKUA*8`Y0h| v=#^uH id *?}*l4i4)Q&x@?5>u}]:+dD\w).or mweɮvA}BZN켌 WZTd[qſFz+HA^;ep'7y}, 2#ʛKo@+@53LXHo4d[wsn;?'~b.]ӅhySbdV\)J)q:䷌}ϦG;Ǩ0Vҫ2L*~0 E+Hb҈6񮒦(Y?υ` G]@J. e?L5^Mm:Fn}v5N50~:aEK:5Z^U4RE4I/j5= [5UV|=2!LxPEJFgG j&'n5DA䡈M;\~ިzH,27⎙rY!0!d8ȧeym鯬'`<*MEG&;ه?DּOkTxiyO;%*IˬR?]?\8Jhph%eRn<\YF]Q:BAKet}7Vu)Lqcw)F}gU.6XF*!=Oe#^},izgAɠ/̖x8x2e4wտ- APg?DYqtdgs;`$i*v>", H7ܙt NwQPEH!Σ s31>},tOuM1ק>>H;{7c?4[Vy=:?I=ab;H-eESzMPjBW?Fr$X-Ơ U%E-"i}q$D<"[Ar鞲!zB<2F&iJ7{g0ݩ^]Wh֕p(~tP~*X(S*)qܵO(ݱz0*V}V0O?=phu0{{&*+EJmmW+mw^cYPAIn]-cb(Vxq@OF19wEl*`VLj o⻂*xfl&*@-7OMJ?];$JҪXF^D;o(2EY8$Qz0<ҥ_[E@0?7!K0fUCıK. Bm1,,H6)7nYcj[;")|%(#k9iL f?k^ r4&,2X,l"'?(y#O8 iIO _*` NɃwyY mT#BtMЈF6XV`˾T[7ofK*V;(d=H竗x D9tQv˸l㫝zZ%8":]*n" -tC%ĠI5Q?JY-`'z4&tPxw@EA~UQm!+ A8F6J$J<@9v]/Zx[47MϢ5R6ҡ/ ]G/| ob?(Joaޚ~kw1%h- DAZ|7DҙJq;něhgR`ErrN{kxI.i)cLp$"D-OaqUX!Q"J2D-{\Ԣ :A6A!P1pâ t +QYXe.S0:kcV(j'=S!s8 ۔l0/Z( =]nO؛Ae(+Y*ejTwuTj=K~rZ\XvJwAGF W+n/-=ފlREB fjՊp3:(f{ IuT'f"1 d&F)p-dx8ɠЃGr\xr/ќWXa< .&YTe"ܟҶ/-_OUF#W  >\[l:(BX^&Uz7yezV5"`%,;@ޒ H [ ;2P WYX)$X7ql <ϱDt_CB+M)7ͳsz٫*I9`"+3v?U>t}xypg.Z) PGY$!,fZQ.hi.t. 's8Y/mUVIL%db) HAVZ*ɫz A LJbR猣$Z㡑Ēoީsf {:3fgBB0PҜT}KI A{SGLR׍7W^XƎhFJ* oDpE2|uTuãG2ؑK#H8  Z1!FׅQ%5әY 9ơ0UpG@D01Mlid 2AB`w|ɤA.M AH5`7h0R9Hj PS wPP*"+$q V‚tuu0\W􌌌tg `#p] Z)MEJ["E$u,^J͈puMp/z ۟ ^e" C2y @3PyV9APi&sH>/W] m ZZ"q):5S73IKeXթG]Q6m/`+?zX;0q &>O46(jl6oC?y+n `Cek6o| [^m˫[7 &lk~@*W{0]dE[&HKEP rT Y)j 63][ȔnA+zߕ*|yC-[LumA}O?*EwU{]PP*{v ϽԖ /lZ׷~0R1vuw "=Cr=ubj|nhe릍I4چSlxySwe[7P^K˦?`xCv<ܔ 6>lnZح61+ K#Q%#- ˊ?[Y*G#Psª }U%cGLn.PUIH :8Cv:@.~L\Վe6mS4*f=R| Tut*'cy, e>ocl[֍n8+p[RvAn6?2^E뷊_h7^k{&oo8[n׃1K9 Sw m}{Ѝإ5Ufj(<:EvJFjZkQdDl=oqnT}m"6u+v!˰ӽ42 UTԫˉ *>Uk|;v(嬄XRvT/2@-&Mxbj~R {й= rRo) ΰJt2p@`{< h'joVaQo~9'DK'<Ů/3#R1weŋkO=Ocrc{C씛Rkp%@DR7pmO 5[*]'/_~nÓlNsz8KYxy!}0VGˇz`H]aJXUtho95\-SRR6 nWhg H= o!t_ cuhҤhӳu}mՅ_fPEMY B 5)f Yd2 ;kci}zLt6Hczl[ GJXaַYHeU}byӮ/JXZzRyɏ=+Ek'VyH9$Wq6:X*U-N痖?FC&EWfU+]OӽKgIY,РZ.*+V^Kw6'}+Q#nS@5FeJd 6+h# odmq5?c"C FZmz谈3X$=jO׾!skĩ4-Ɛ uiYB=$~ $0 Lۍ5lhc(MF,jF]qtnIYQTHIGA9dN eY$% -i5I4^zCYR=jK)[|+VVRZJqj hUO)Zx(JTX…tȪ3l9/^H笚9Kn [IFKkHTDnݿh` Z Q'ʒG|=FESU#C-Yj\Ф2br}AQtMM/Z4DDjLXvRxYtX:O+Z3atTCz/7 ޘ'=7ugAiC,R  Q| n."ߦzR'-,)ixHxMvGb*{;,X\vE'o6M67dlubI|#F`6_!Ah~%C_/Eh׷be?hY+eUWjMR^z)__)tBWFH㨊0UtS8|e lC~Դ.oS[kdxlhbp-˲ t hYF!.qs{BTzTV,,) 8q~7(6ƋR*c@ %v`z1W~xL5q,0*JTG@+ '@7L =6K!;Yt*N}PUe,A/vדN w%0ӜD}Ĝ@oc5վ1ޟ6ݒ"Y$kEWv;E1^ _1 kc;z7KlX1 /͒hƔ@ A'-yTttTӲ@_lK|hHPJ%X^1I^=U ֆ#3m4ۺ)pY0}a _AJbqf+хzDXu-ALND;|GƬ[+%ͺ`݈3!yWM}dOoyiY_@zfėC.}q^z2ą-Q6a8Z$7S,\KΟV6m#3ittgk i4{!v7.}NjTJL4r oqhls6{m#"؀?jf@q@l?#kK&6g4kەh\xgNlwjfuĴEzQy΢~[QD^-ſ;7 gM o]e֭2V౨Y@sόqWE(,>Yl\QS īkbVx}]&X1S8DI/{L:{?zJ}ʷ=쯸vi 3\;<1ߕ64zc@NGndbJ*8'XƢXcM,o(hE˻E완{ m(IOb,p^ hdx i -AqDQb&L܈Ff+E@Zl1Eta48! k -⚽ ߣ\hxSR&/p) S2,D(v26lat9'?#N%v-_OmĜеMi2-Ճc9;u#1y8b)B:ʵC pH_rEMHV變z;n,t53 DirC,e mQ hB>6/5xX`P_l &4h ƶ:N≜Ku k3X(Y4؎鿬[N0}b=UN)yM*~(cCeUİ`3bW2(Uix-BUŴ,,ʊvH=^_^Qe1%`?]'AC&XSvybCGeUQQòRJfr=F{ՊGڥ\gU3GI˝Aj%:g[+Bfj.6 ^"-F$L2K!W4bGX-v)D Uub08NƳD/zJV;cbZgԿ| Gb7vsKidKkL94#F'N' ka*{Np3+jxɷ,2 Z>䇰D!9@MS/aWi^6ržX;zl 4|p93@nKjЬW6 DUqeqN'9>CuYBz4py?y_8M0Yo9J6LJ I#l.nJm0+ UB!g3ڽMis=ۺ1ZUF6㧵e#zbG5EQP $90Z@S*6pV _ -yY~ "\/* ^6sLK!H,M!{.w~e?3xGPzTa1!w㐍Pi'_`02l/.l|7 b{{E䁩AT*#a%VSՒ7ib$@R-Ke. 믽=B#(,*&iè'! U&K!:kVGv|Qc =b\sbܠ0stQjW絛I"Ab{[/+xthPiw.htFZ]\C߮jngBlD`Ԁ)WrtTX3ڃM}dޮ|%l_&8xow{NYBd *o>N$"AttbiԀ MЪT 05ɯ2+ڊJg_50}>%OɁIt2ܿwm$^~KC#J>r}0250T' wtƓٳ~UEU&;̱(vS p]9欃ob7T(+5~sEk `E%%t՗ioT͇ Iߊ+?VZoo޿-.nKY/m~viwa>{_ [_+r(*[bN\_xˠ+nvj4fgdiB$g= B+#+)J~sibвraJP {f?ϖdpGW (V~]ݐ@? Bڰ%8m,L|JteCT?ӻb)s/&. W RCH߮]?^GP4 fk:oCREjaN2,+nQJ9x0p-"JXGi\VjI~#ʋRdPtn^UQi?$r,[nPk01#hDATGQ[YQ&)xj^"L#@7,'otzĦ }:ک @4b# U18p3D \+ *xREdDDN; Cg6+#{jۋ^Y&7V< #' ϥL1xڭx$en|3BY@Sˇ#~e5Luߦo.*wfO~3N>0uiJXHw  5EXXh b0+I Fa.B*KI|~ܩnL~1NWZ`Q RH0_DNmHW^$|Um_KoۼMPBw$9Zeݐ9`B1Y4m#, 4U"]3Y<픎*䲙 v8'ӁIOjvy5=n8b5:RSH-3BK4PA$z/7!~msa@hҁAld4ʍ\1mT.˷C0ULPAanUfQ} `b5=JA*N&}R>r? %Un٭umTEtnz56u?2m{l]CTg~ՖSq : Dzi>W՛oG3((;_jm+jR"KsԓnFG 0^eZf0o(ePMqY$$Ԁ)?LbgmE @YWmZlZK5@82+)˖xeh'zI?|GR/$B>n#B% -eIjw!@.V BXn]UM(J>tjW, /M}(]"逕%^gbZVEsyA=|K/m l޶76aKԕ8VϕGMtKJ8C"iILOzLhD7:z7a.ݩXeN iqXBV ytҭ<6s9 ^RKGq[E k~\)HnG@uNc~&P Fw,YVҾ w-n}K  K女݀iF`YbrO̔'?1նCT<7ppnˀNyb<֒i\2OwN*\gUU6ԁAK4G{EZ6P @e ̃lE ,lE{L1JycO-z^'^7. N[iJcIh % WАg8 mplË1K23X#,lFԐ[@OԒBۉW:B&7FlU\,HoW+иdWT %Q:Jvz c/\bo&%$g,(d-|5Vgt雏i}7C%Рv/4- }0o %b,1ːyUCOqs tksov K޶ tO]tk-8PijP踒ʤMA:pv+j|6)&ǯ"%#{M5u($ߦj: *`3Ub!W"*%T`ӵ~I50c³QNPRCVغx82/t3(t\/?BtFj`Tr:6"`7_r8鷋r[hJL,$q0u,ˉBk֪LƐ~P,zeKp)JU$p X([ʶ K9JzH Kxﲚ_adǟ#ԪvN4U.6?Zδ2L?sCuPpޕvdmKQ{CaO|~QQZp,~w4^H =e8J BY`W+fǬ}.[uFHb'Oh8</YĠen$^,z#.t[L;޿n׼\x݅w|mX |aEmA3Qq IStA^_/^N?V)K@Zc5F o@۷@>V+;wo_DsHŅXٖX-+a[Iߍðۆ[~Ŝ ~sR9[)vr){w9On]x`/ oY'ˮ_^xPa[[cꕟ{:@^j!JgC=땼fja+%e.Ax@ԓԵ0`b{zZji-Q,i[ҝ]-C*5WXcg֥? C| `{Y7yYfO+y!Y]]m]keyj S|\ӵMZ~3v7ZV #!J޺möM̧/>` *GĐ C׭F$FUDfBP@>?Ϡu#'X8 j;KEf^?b8-a:<9V h_"=+rV[ _b VoK962XJA?cb81Q+P9iAp ݆攫-Yf۟oGRƇRRڰh~jYΦ$gD ou=8:meҷj|h*[(g??cg#"A>h3.>[çM_rz,X3n߲n(V;bU<{jy!bvJ}0(jzl9/(&\ԍK'DJT0K. *ld3aBt>_*Dj[ $/Hh5o[2 @f o JaHf,>'`dE!]̺tt6[l~ VH/`u,+oPTE"KJ(#wek@{; K WO4.Av:z3qweoDDZO,pO,DK| _VX3"pO;"6gW V?+/+VP??eO<zm.&s`#G . c_׷F-7:o_cݶyKֵl@AF JVf.!U~BFSSh[:P{x~y } 0SK"Up&I W>yLbP $^N-I Oclp Z.9.Ym(=O2I4T N6vn؟'v¶QB"ZQ9(vz& Wq;+i J'dT|"sD& s%a_sYʆ]]zPSq6:-8e~5ld#7HAnMV[V1ŴlE<c٢ R 'SWDUJ- "8lPHyw KO= -,Zmߞ[nf'3Q. X;HL Ч "2YH=UģP.*!\'[[.bAo:g`2SQF%kXF8\R ȶaNR5 G :RE(Qj0P%۩ۧ2+Hp']A#r aV.Ud,@.JW%kgA&0RyFcer(nՒe4`2(3 #bcS`7*ӱi}пR׊>yQUy0~ vu#Ih[0VT(!RUOvJ;uoSg QطtRǙP%xAu̲Py橁 ?w6#|j`D3<5p[`6}]85(۞ӰCmܰcLu6,|M,wgs$Mw65ɒ:?u6gn} {k@__'*,ˍZf |kS\8uk`OŒX ٜ5nj@_o/j ~l.xlYsʿ룕, cOZMe hsN>!Vugs kҚ[/77_ӎBT>}l$d GPD: 0-l<BFWq*6(]4L`]d6wYÏ+$@P=HDf$Ttn5Ӆt(S-p# E N!6rJCS"S MfH&q\"5 kHK%ZLS@C rKifÓ<Pa9edt)+GV݂Rc< * aPQ3:dRVٰD\i f͂dmšFKP`.C5 kEmrW"911Š7Hw(<;RYȹ- % Hp`%SHj~nꔣ6X#WB]CmP &)5tSA$ %G8r˳8p1|H.Iaf8 h adʠ#_[RTi he2U=T,fRbJ?!! 2aC Yjb# uDG.L*RD&tO 8Ipd2 !L[eb-$!QR[M#k U`uQGx*tלV'(3MD$m]%F@y,Q4=32\FR20xla94lm3%ނmugo B$% d@yvr (4lk+}b;F;>FZx5(:11?6Q E)L4i=(jaFah()Q,!`J*sӘq,QHƤ*ᎨInQRgC j֖8PR*=C"k5[5u3ы3Ѯq-y=r ȶ0G#Tj_ ww9R)7Aqߘ^7ZƔ"U[,K7laZ)H3eszeF閳2_5mB3;>UZSyH5|PMiExb*rsr1Yzlq\Yj`v+Ei(72CEYjb36h!\eEɸ Y0bn6(>* mejxb"ˣ&u!8'9 FGDJB"僔 &0enku'3$; LĸyMTYDoV3J* 7b70R0M,˜Zd ebܺ E7aBY=Ťl,N )c1A;h#܃NdsmDIsINc5.܃ߠ+Ĝ! "_.Vش]Ɛ|&~ w" u*@ɘfTiP-ŅO}m7B~= $bA%HA/tIJ/wb=w/N+Oyg9bn-$e8(NV.MHLYI0DEGqtuw,˜*ok~aaT >_/͟\Apw3Vw1EZʉeDcF.JCr"` j.15/W6LEo!mm/[ؠQD}s^V^WX m{{a~A3go>א[`%N䅑Q@o³pv2؉ LD)Ğ9WT=SueU*=(DKT_&gEs_{M}1b,YD׌n4x׼o[ltf˼f1fCkGlfK:66?wcimDI#E!3$e$5=X@Ȃ.쿠'ЁSԤE+F)T=RYr<s0L`jO -62h" + ېIbU{Jcz4FnQ~Hd2&$=V) %YM=cW&*ÐѫD6Ybg6FQF,}@ՕTd4N^UzM`@ س-Rp0Z!2(4M`dPm-jx{MCPj ePAE$D'2+ +a[!=xBNصTr%}>\'* =9!Mߨ҃w,f*o'Hf0*_|g jgAFROD8PiQ [0d^O"F$C(9M(:# ưϕFKI)ZAY؝dAY8@$'h)2*8MLhQ"'䒺e!' ˱NAc6R$3!$YLg!R w)<=?{.)4,'(ȵD~7+T^A'+T:?h :dCd a8^ʸC)[Jw ݃ \)t1GyAV:G{T, *-E`q3$]'ˠFTKqQ(TQ ~aՐB`FͽԦ$鮇!ͨv &H4B.8{D=Y^z VQ#[)3r@ݒY1o9d9qqax_'QMBQFN31`~N =o+*1Z|k[1=\9&/{Z88ױB٨ H>#Ix+=hN@H9W&//blͅuTe&fn3,2NTMIPƬ8YOKlM2i,-MS [ϞL8sbk pBˆQ2Y5 %GF,&cS]͛UetS@I,S?iB&:PX8EJ2܅@=`9=`"aк ep: K'Y6ѥp^ȡ/if%[ҝBC5Ue;>f&q*͕p%NuIŠӜgiO6QG2Hd8Ic& 2\gRs\lMZڶ4 %'?d>CD18bL(,4Ï`CBouय3H-Wok7*uJg2Q =?bHފ èlmMh;Pu*G8EO ޑMeAC#tdE*(6K II˂ ) Q,\ ky_deѩp%[R뽽Is<~I5V3vFdy^BskPL :xU(cUpPT3? AYriH_Х>%f0|Oٿ dHdN_c"8?D5Mhƨ A'2GPuALTj`a*.!7+rׅu) fִOcvucuvkF fŋ{&f OTzi0/XhqkhF=K& kuE XG<7@., C[Qf_9W>!2q0-{6pjX?O$-#߮VH#o/l ?*=i?sQԇC$XK{ 5tvwខ˫+ `'Ic.B8lQQ{#F!h&Bfؙ2궳S(T%6:j$qtpNp9C|-5#UىBy8 Qe:ŏBԡ"LVꂕ6TEf˜ ޔЦ.W39Ť=!*N"9yLH 9Pqn>v,d[(މ2ٲl ٦=.nIHŢCoPApް@FE= T{A9ʮF4;lJb:-+u2 ,ѫdM vMWaH_|@XPt<\GLSp'zuĈkdpJkڹVTJTxMO7 j`ȢԾ[Po(Ef45'd ZTHyIyb;ZuW·z!ńz= ,7 m^(ݸUC•1Wg{^$:tR#zڲMXS0 -赤}DPfD]EPxT012QbO;"p?w{0eѼ T#"^d1ثyOAۡ]efRnκܴ#yOPULKj4X@Ez*QAp;P$ T'!Q*KNRcL;$ N̚ @q؀t.+Vp(͆tᦰa1^$B0(ZNt|g^HC~@~eWC@88Ts19@q2p~*;v &d_SS-.ё5O88A]\)HT$ Ži2ى:t-Jr3E!L:fyٰgvP<9|n" ;D~+C3>i.D09{SֆB$($& !t F͋X4E;38Ӡ9x;3 XބDCC;&.ԉj=UJqBX$sUj \N}(S#hV|8;C0 CX\/윻C;iO7CD>S:IpyL>E_g FR"a!3$W]>37Q+I&8,"q#qc `2HI0YE UiT!-T QsK8QJɖAiS*7˥n\ MJ7*X?)]>P7vi(/& "1=K^CzG)KCL+6.,%L+ߑ/B QZƅz)) ao8ŝd%m'Î ڊaXGn%x  zP0'v4c?3L7CG2 Ā*PшF>` +8A8He n?3X>sENg'ݡ cWAܔXt]-C߽˗F^ueQ>G>J"ZDv l+I*86"0hع>ǑqЄ@O^. vۈK],fh A$;hu&4/@),g9s)~0ORBYŐj ]@3ǰ8='UPM-r  {{x s˄z0 D$&&`nBY8I~')cUqX\b`%t &XBp.h[e>K ) i8l`ţiY-V7. ω0 ?k̍E!T 3؏z;(ww2AF;2brI6fy1_b—d%v;4kH{N!ZZrv!w!+WkA iD4AnE5 bIwҒڤgY\`v*{GVE'^*_ y Td_>Lc7 t LY , & ɍTF\J4x=*nAukU`#!&yQi })Cx@|j H*Q wÎpUI!ƒ \ ¢>fP&HTfLH\f~Gt s! vHÄS E]]_$ٕH@*I$p1r[a"%i2C(=y$kmϞ,&Sw0Ǣ-4pdS0 V89ojQHWVtcH`j " ]F*k2\m/gm`^j|U:#s}Px`H{337IHfgfzģ*|މtXVT-H@ZR'ff-X+j- IbLy' &zV޴ڦķlTJ)W$'(! p Fw?3x\3( ~%e7 (W0n:oo2ƥ> XK9-Dj@\ .6\cnQ/ͳvv8v1E";SC"xTQ3Y%a'@ ]lBkcLj|@Jk*f^Yp !7DV1=\]WlBv0*;QBQy@Ώ+-# |wuaC#',ZP g.ꚝv@Lzjp] W n^i)9ИB2IE>ș-uN{m#sc)XCjG3y䎀7p.Lt4R CQFب&T: -MJ: AW͎Б帪6 6 :c1FWRѷ Z8ƉÕ=7S!TC2Mr T6`!q8{Hh3(ˑ!zmz95*ٓ S7L*뜑1&/~X3)rh1!$ˣe}KwodfAgB5!}1CĞ $RlҊ@d9{8Xu?A7P* K #${#7oDEB26xDn7$8`1 "3v_Ő6q+Hh'ΦQdC(~TRI6' #&]q6ȆK1:Nb%qy J(K$zQ%ޮa=zlE(Rx,͉҄] /!\12m+|XˑdfJ?ړVUPN8GE"@!ҡ.R 1cd쁀O([0K*x69IOE4 *27vN}G{S Է36qv& #863*.!L&*_~8@u@~޾M>'oȿ=؊ԉ~LÑQ%ǁ d c&)Y2J$NQ1P=S7${xyY}:ɰڂQr_e~ ɓ@-h&9+ѝ¡; SF ӟw77PEsA8p0Pr$:,T#?qlpxD&%T8Nol%:1`iX46\ ̗H0ؓJ`{">AA.lȡ< \.Ɯ;٩>Օ@LW$GMo\Cl P.ScKatF)tʔm)SG !( *W(L-baNMuRNEo2RAT*쑠j&c$Z`!:V9*Z޶x1J%NJ+ NJh pds -@ȘFX<3I}] fs٪Pcu*RlUkb4`);'j$GkbXPŌ׭^a1یOwrWAft4i1iɁiTa+@(ޞJmUgWgͤ ӵ#Iw% d[N ӤN&g?wPqq r~`~x0CZɇqz?tg 6-UQjԨY@'$H!NvIJH;bI@5;gG8W_[Mi[Cwaoy3lֹ&CO 21ráJGI-$<9#ĪU="R 萌I{.d [#|(u :GING{|9%:Jy2B/~IJo IJv('EQhS\`6|(77Ћmo@>Īz(wgCo*0A!H(.Y*9HpzU];!`|"Ck3eC>GҞcPI&4`$|=ɞV Ґ)8+Pp*g"ΒA _}\C!UkuU&;=2ϐtAErjTNmUR :>.M'YeT]?wxddCB DH$Z&ʋ &2hs7 gzÞ$=ūV q}zC,W5ބN`?cYZ6##Bs)$~DNJN;'2܀OK6n& ??؅< rRITI]' )ӸhX&=U ٤2G-gçEL†+x<@B%:~40x7Itw'tX Jp.OC)ؔ Ideo,)ViHTJ p 0 ;ovхVyXz4fbҕNc$vS*|(F- M#W>}k::5O <O ?s `r 8.vHELY.pN+x7s;&,j6q$5%8ymT Rm92cfC- F.}0Н45HwE-a@d,Ԡh _jн aۈj5b *p+-w4x7@ՍUeL8u@h)͞3b8qXԀy`hb/LIfϩaC]t6Lz![s;;0hWħOjp[~ޒ&ekr8`<2/z&-0„>VU'UX $n(qG'Z,@ y:g Ί[xfČTYe.%Qv@ k7| {O|/$@uVZ=H@EK_XeaQ "ѡdM'*|RS_UWoi5sؾ?RsN*rν bp{@0 MBpF>O&乚hjKNߒ B _#?DE}2Ck,P20V0G?uAѰڴ[<+5xI88t^)}9řɳiƁ=y8RCaJk&p CgV G2ǸchpD4b{)CKܤ0byˡ A?0^tĆ:%^Y'R 3 1\Ό?(/P]ǗeؚAUͰ[(A):m&ؿկ{Z__'7@(yϏӘZa3kK։{zGb"FÛVrJFa{( }quE CH~ع;i^* ?83Y/[-دfo،;A7my锉'ԍi89t[* e"Hc1%h f4 \Ѿ )i~tiG:l 8U<OZ( %/{Y7f5%&pɐbq}#{6 D5j&<65>_3 CQڵ#iEݐvN퉸@DARo =^g&㐊i3dC 0? I8w|EHcd ǘtD]%*d'O2wRm{n9p;8Kn9FW9̝ b !fKGR&I?wfvwl8HȘjSr7T_̓&e6<ԡqJ=7} E53h"ubD53,/gPT3[>Dq ~Dq3./I@9'JVͶOQ^EUM4_l(Q܌E73|)"Q~GI:lzרEF4T9;jgc( tC3xNdqo d)FfjL%A0)߳ܔ\~Hy}Bs&|fWɹV<<9WYuTK+@=b|^xE } o=X/) .Tk|/?S97~v3o.*A{.{z 6tȻs`j<020"gdM.1 ]CMI:U\MHU09+ Xת H,0(94BiF}s s @HIBd-X"= ËXEHV/ tڅ.Xksko hi`1¨Ӷė@@n@XF >@D$ur<8aϠKPLpD8H9H0q-2<\J[`1 IࣥNN'NR9~ЫRU}dc;[؄KR>1'W0 BH@#a8&b'!O)-_kcv""eڇdH D'zA@i䱥Iᤤ. eOT8.Ir %kQBS_GOW 5 %*B,~Iw3|TJU(;r`LXΔI ])I)10Џh8 eXQjQil>ډ p )HA'f3?8"(p~eWBks"8 VD(xU*\z gBVmZA( q 1Q 2Ie NF -h.%S/\T #`bSsm}S#CGHUlN}(:$- 4NM$;&!]]- 2@'TO%lRCR:i1 [ˌ6WdkA96- Q+Nx}R : EP,II1~>DZ+7xjernkkڥߩaWYL֖ɨÆ쫃sbκԬ!OI>țPye(/^P+(&O=09h%`hlP.Is2afEMSE<d KٝҪX6:)vL[oiPy o\ʼnHwϛ@6(e 8{f #I Itq8YiAeUzG7らo\%a!ִ hHĬdD`ݓ9$8b.R *%il>+. 1IKLɚdH e1%*Eن\c[ԶT!_mR6zFu58=3͢f"X n۴IiK17d p6ђʪͧĖ Z:؇K * )QL*!iOU00ecO'ٓϡQ>5DpǴj1=ī$J[QɡRrDZBݔSGÄbE@^~Ì=:1ƅ' Ȍ@ʒ ygAV>T84ܭُ/N$MCâƣӑcKE\yڈ8 /M~Bc/&8ĀZ$nH @@=`BSU$*(IrSq͹)$O θB_;y ~Ir:2dhIJbS.0NVxnQ@ ^8 OY&dSs7 zMٰ"s4#;I I;; (^Xnv:}m"ĉ֖c8Tgr^Cy2&<Ɉ/¨JYq Twj+_mrc/7m@zoſt̻vJ-/LxPP=fzkl5Ư|(&gFX&P+Pz>! 5f~<ҤkH3> lLIp_B&z(G_(?ԩCSxha^23Xʦ JdƞBy|%g;}#ڒ[c7u"z\=c퐔a𠈩k9M yOehٕpN:S}AGy‡O ݅?ny/{KVrTr]pw0 z,3B@> <̔1HRiXF'%H0E;C Od[AO yf22MW2f_geG)s'9)1ZH4}Yi"_?Hwa2ePl"sd;Ws{ \20dI[&([Xd d`աa{rBXx,C3Sy~'wrHS&zth䐈d3Gx D6y(?s+zC1D!eOmY(ؑҨ\mS1 D}Z!S` N8f\yecH}HDѾd"E2)%ZX8vBIdtv zDM:N&c9_7H5)"n~g>JV&?a4;*;o0Xc*su *il^Ź%9rC?$8 ^hsDz(M|M +iIkm[ً؂yN |EI$єE<$*5ɰtQ:A8B.q rpHFI\: IiY1gN$9|] 8-)"ljFXkefAQɪTq[39_ؚcrjCWis3G8%\]^m_<5|3#~h`Y9ˆuvdakr7Ae݄+m2<}PsD^2E\4tDέ9+W |^Q83 5G|iF̈cڞr]O=@ߖ\dW~hʁZ#13OhOkZ:jN_vpc )ۜLU15{22V?IOP;QcFuvډ(;a.,PZB#E_dYS`g >&m):@t aÈZuٽQLI3F$ぶe0H gM$>vj8/v BDJd5t@>?"*6YR+!^ `%t gK0T+ Ԭ9J M m$I4űaG+ K4Յ;*|,ci[-kuE1LpL mAJMc3,*q*XeJ]9t Hkj$Ӆ$J&cU4o¥%Y*OܘULVЪR04Ns TKJH(O@4Q6Έ.|J$oh.- Č6 5=uJ8SYR\`:txXD$N cBy(ʁ锤?*MO87PBɌTYd 'B/ﭴc~9 v1zQ3f\Z37w/PcV7d2Dר8jLmhcfIp6%ȱ;S"B9ÎCt JKEa` 'K(f)P&}f?ЙrWOmݽ{Mmam'USqcyt(*I>G~'v!GN+c2Eɾji; 6e/2'}Ț&VjZ |Oy64ƂU`G&92pN[x@Xs#̒mHLw$*5ɑ0B4CLY(阄 rpdRʕ;k$o x6sGy#?o$!roO#xZSTڏofW}O{+>MOi[&8cߚe+Z ! ߂28{(;7yH꟎dDl5Z#?!OP*+e狟`#b>P+K@g89~WQުxAC TX1dZ!lR&uŨB!!6HB$ex5l #o)08]RtdqA:C D +#UhSxlFl 0%;( I<4P(8*J3ڼ]z]ŋ dE2,ao5~~Q&vԬC Yx`PYР =PYA]44le|Ym+g6"rW}g:cJGDry{@r[Fw}ɨF^ pUQH4Z֓XxvcKB)_)ن|~dYp@SO8ijTr5*, ҇jțmOEx1NvNO;c spl~$:YJoNγn6x6F 4-Znjrz%j1q"5˕X%ЪdUd>BIˊ0Im`ï(6O1(m嚙457q Ql7Ͷ旸Y+ԾLQLYbبjbzC^X'z ϠذJ2]I}Z&eT#1TleeLS&Lvv4Jkq$hsf>QLӟ$18a'`O^ Xa0'׆5#N*20#w0:,>B$aN5# 6N!6̠݀CF94qJ6ɽHdfћjL@r:Cd^.q37E~[B<2WN&'*NfE@">0G|M#jA0|LT=+fPtCٖnB״FO]啱:uÔ-NP9XK5(ǂhph֠Qܰ2ڨ悀2:udkeph\|ݶP12E6 /D' %x#=V5QW}Ɠ]/"^lJA' zFNz$IP,C_cj(dƴ'~Φ|ru3v&HœYYٞ@͉,~F;7;?⽇  ܦ/jD$Ԫ8%l7~gyf7k@נrxA+ ;+-~Bڂ:z;F:EpwQ`d?ne%gq_r;&jdIOz(yp{Oi Adgߗ/ZiӸG#v6jr:aw&. Fb Y,d, v_ؒp8xtX@r4잊8ELpt:, A4h W^(ܽ<=%A4G,\u%N Ԥx,FEX2MNV9Τxj5AWqYsNҩ2i[_9D 2dA#p`osJ@9j\z5 TU($!&j>91 U EA H$O]HP)ndȰaD{:h슙\*x_Z%30^ZKй?(.,g[ >9R `Rix26hRXPb3"_Q @(!ϕ3p[ Fz? N -;U[utM)f*d $ho~АS*(w0(B[^aD20=$壈sdȬ @H2>t\6NSƖ ~*e`Cb5j Х.7# Z|*@PTO#sw xq"PXFqMlsE":k:0%^<5f2dpKB6+ꏶ> Bēf`>ܻPP@ӅBXR:V'3 }pj{BTR{@J@Z6jx]$v[rpأKny@вO&DFDA%"C%9&VfPCc><^kxͿk%$%$Çp~+2AudE2~c0 ;A m.  +X. MBr)9M;A"w&1Larv"sƋIc?f뒶|xEeime0*J l׌{0|%| =yD64eG @\*!ߓsVE ?rಂZo{>S sl׭GCg}ϼ_1ykF7#α^N@)fӿ\nBUi-*Y"9[|*UN B["xKIXeO9PpOe XN{/[_J +3_}]QH`dۅu/Ogi'n_srDk9/B6": {Nad,? rԅtГ\ :~t)XAȽe`y,'ƋD?̒,\*8ZO1UJ+t34l)K(xt!s3L2Vw?gy}H^OKځG0 ɔ)sc%,O$* b[P]@ nlޕnFal9pB#' ظfS/S gLkEHU-a,s۴iAjeo s\~ ?OO/w[||#Z=w@ &&tC4 B %JLR+AyX)AĤ@*y-:Qb Uls"3r % $oWWKl"` UCp.Z]+wM֨z%{(u<1)FV<:>9 ]ܥ 3[(yA# u: ޽D":*M D%܋"KJJ,Dd@=Ia/FqNCiX0@RaFvKx2!+Z*. I@T$!'qG˶,gCUH! b X ĀhLt%C(yPMN#3IikkS9A4>I(*Scab80\5MH& BDa3-X7G\ f zzg4zZA${+zUz5,RE@x FωHNyY&6PM!4 ¡% {z9M $<ݝ="! 80ZZQrxR&1h5[OqjyL W!S6BO4KRS-ngS܁<~^IڲsA>:>"A8Ýމp4 #$)lՕ@$$pӝu!i5! }Yˠ(*7=jIoev4^{`-n@6gZ*gg?IhCtk|1ug GTR|24,GHH.aHTW@}m Ȗr6` B)%5͚,R0//2̭P< hzvۧ~`)F=v1F& q0/r6z`WKȚ_$[9A#SMO M,@ZHGlC/%HtH9J@h>v# M=V)֘DǨmae~Wźؿ-ihp&!~M ԇNŝ+}PAQ?^6l+Hi(gNac b-vM-c P;ʍEH֩]PvϏ'8R2\aE;tqHJТC#9QVk@Ih' DUHԄ,2`gR$0zGu1eh :e! l.UEiČhXV P X01'nO%XB>9 ؑax/6p[O\x^dGxIR ⌉6%X]rbޑf;OJR, ,HtLl*ڇdT%%.gRwϏ,ÖهV2SIxv26 l T2^AO&2ҰQ5Z 9;q@H-!#@AIdx1`q")C^uXɠ&P!W93jNfIR.Rw( YEŎ]ޒPe1i2Tl#lQkI.eV:^)ؚ"mRIu)l@JkA'"f­NFwaBap3@yH{ q\zVBs!B $50r$S.*N*l ɭJFjiE4ުxɠS(D8;O֜u@и V }aqi~AׁE*XEPpA)))atҊ  J'E!HUI SpRat(OHI` Gp)cA={*@OId>4ƖHMK8a26AK0p!Rt* 7lg F b'sRSZFN1^.;".md{ER: 8F}urBE-_V&$ CPEXrs]~TyRib`f\`:N8<*&9A)jk4F I:m,ʎPo3Q%;2AҎ- 0lwYP9T5 Έ },Xw`6g' 5zH/G~)㓪(>ƒ1k⊤BCalio',AV$`/Q >OeALF%&i5JdՆ(](fExMi<Ϩ h:Qٝ)B8~d< tdJHBpCN=dJ lD$&FjQxbKUB?ÛQ(_7py1]JDbO ),#YL؇]^Fj +I%9J(u$du4C&%N?ŏFNRFt&Xt0fC` `!=9,(> Q0סr \iD|ZiB WɝC|PVIk) ]U7eQ__P}2^>LH5:T$$;2#,c-&&\Bi?݂sTuE|]lWO$( ߹&@ABMc J~H""BFCa}&aQm" X)0g6ZiҜ3pOI&Ц fXX4'uBpR ~lyסmz>u$JR=7V*;"4Dr Ledԟ bUrs3듴ʥTinE!:K)*]$4& u[hIr71~dr5`ertaXɡ} * VȮO3*31b׻Zk|^3'1׆o^^y2ErG+GLk5i,0<-L1, [L]lyE jvӽ]j=/P Jli*GW~ަ2 yKZ;i]fzdn碌z}vu I ?Ҡ.I:tdה叆]~$mMUեՌ+>]YEɣ8bv ??SW%G҆:\_GkPjxݷuZگaH\d]mB$XEnΫ#n_Xu/KY|-n~paem4~?=$84c*uѵIF^#_ EtJѱ'΀p}HCy!Zd-g/`q`y|o!mvwIܮ: RO^xo҆ko!Wcx˩So)\ǘi=hXk/KmҹѐƩ+Uc.uwN]p|>C^,Ś7po2޷ݻ_:yC tJ'.}iJgz-j?_~ͽ-;=LG.Xũ2QȲtQr句Igxl/5Wypv^]W'DZZ[~yd6gS{Ĺݓ,(Wܲ^0KG|t.u[~UO-ᔄFö.kЩԇm/WzXf˶m.]ifY.O(BLz>q߉s$cqftgLhϳE^R+`nz\:],b혘M[kϮOtTfTڴkK;7:
  • GenID will not automatically create a sequence table. *

    We encourage you to not use sequence tables and use auto-increment fields instead.

    *
  • * * * @package CMS * @author Robert Campbell * @copyright Copyright (c) 2015, Robert Campbell * @since 2.2 * @property-read float $query_time_total The total query time so far in this request (in seconds) * @property-read int $query_count The total number of queries executed so far. */ abstract class Connection { /** * This constant defines an error with connecting to the database. */ const ERROR_CONNECT = 'CONNECT'; /** * This constant defines an error with an execute statement. */ const ERROR_EXECUTE = 'EXECUTE'; /** * This constant defines an error with a transaction. */ const ERROR_TRANSACTION = 'TRANSACTION'; /** * This constant defines an error in a datadictionary command. */ const ERROR_DATADICT = 'DATADICTIONARY'; /** * @ignore */ private $_debug; /** * @ignore */ private $_debug_cb; /** * @ignore */ private $_query_count = 0; /** * @ignore */ private $_queries = array(); /** * @ignore */ private $_errorhandler; /** * The actual connectionspec object. * * @internal */ protected $_connectionSpec; /** * The last SQL command executed * * @internal * @param string $sql */ public $sql; /** * Accumulated sql query time. * * @internal * @param float $query_time_total */ protected $query_time_total; /** * Construct a new Connection. * * @param \CMSMS\Database\ConnectionSpec $spec */ public function __construct(ConnectionSpec $spec) { $this->_connectionSpec = $spec; } /** * @ignore */ public function __get($key) { if( $key == 'query_time_total' ) return $this->query_time_total; if( $key == 'query_count' ) return $this->_query_count; } /** * @ignore */ public function __isset($key) { if( $key == 'query_time_total' ) return TRUE; if( $key == 'query_count' ) return TRUE; return FALSE; } /** * Create a new data dictionary object. * Data Dictionary objects are used for manipulating tables, i.e: creating, altering and editing them. * @return \CMSMS\Database\DataDictionary */ abstract public function &NewDataDictionary(); /** * Return the database type. * * @return string */ abstract public function DbType(); /** * Open the database connection. * * @return bool Success or failure */ abstract public function Connect(); /** * Close the database connection. */ abstract public function Disconnect(); /** * Test if the connection object is connected to the database. * * @return bool */ abstract public function IsConnected(); /** * An alias for Disconnect. */ final public function Close() { return $this->Disconnect(); } //// utilities /** * Quote a string magically using the magic quotes flag. * This method is now just a deprecated alias for the qstr flag * as we now require magic quotes to be disabled. * * @deprecated * @param string $str * @return string */ public function QMagic($str) { return $this->qstr($str); } /** * Quote a string in a database agnostic manner. * Warning: This method may require two way traffic with the database depending upon the database. * @param string $str * @return string */ abstract public function qstr($str); /** * output the mysql expression for a string concatenation. * This function accepts a variable number of string arguments. * * @param $str First string to concatenate * @param $str,... unlimited number of strings to concatenate. * @return string */ abstract public function concat(); /** * Output the mysql expression to test if an item is null. * * @param string $field The field to test * @param string $ifNull The value to use if $field is null. * @return string */ abstract public function IfNull( $field, $ifNull ); /** * Output the number of rows affected by the last query. * * @return int */ abstract public function Affected_Rows(); /** * Return the numeric ID of the last insert query into a table with an auto-increment field. * @return int */ abstract public function Insert_ID(); //// primary query functions /** * The primary function for communicating with the database. * * @internal * @param string $sql The SQL query */ abstract public function &do_sql($sql); /** * Create a prepared statement object. * * @param string $sql The SQL query * @return Statement */ abstract public function &Prepare($sql); /** * Execute an SQL Select and limit the output. * * @param string $sql * @param int $nrows The number of rows to return * @param int $offset The starting offset of rows to return * @param array Any additional paramters required by placeholders in the $sql statement. * @return \CMSMS\Database\ResultSet */ public function &SelectLimit( $sql, $nrows = -1, $offset = -1, $inputarr = null ) { $limit = null; $nrows = (int) $nrows; $offset = (int) $offset; if( $nrows >= 0 || $offset >= 0 ) { $offset = ($offset >= 0) ? $offset . "," : ''; $nrows = ($nrows >= 0) ? $nrows : '18446744073709551615'; $limit = ' LIMIT ' . $offset . ' ' . $nrows; } if ($inputarr && is_array($inputarr)) { $sqlarr = explode('?',$sql); if( !is_array(reset($inputarr)) ) $inputarr = array($inputarr); foreach( $inputarr as $arr ) { $sql = ''; $i = 0; foreach( $arr as $v ) { $sql .= $sqlarr[$i]; switch(gettype($v)){ case 'string': $sql .= $this->qstr($v); break; case 'double': $sql .= str_replace(',', '.', $v); break; case 'boolean': $sql .= $v ? 1 : 0; break; default: if ($v === null) $sql .= 'NULL'; else $sql .= $v; } $i += 1; } $sql .= $sqlarr[$i]; if ($i+1 != sizeof($sqlarr)) { $false = null; return $false; } } } $sql .= $limit; $rs = $this->do_sql( $sql ); return $rs; } /** * Execute an SQL Command * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return \CMSMS\Database\ResultSet */ public function &Execute($sql, $inputarr = null) { $rs = $this->SelectLimit($sql, -1, -1, $inputarr ); return $rs; } /** * Execute an SQL Commmand and return all of the results as an array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array An associative array of matched results. */ public function GetArray($sql, $inputarr = null) { $result = $this->SelectLimit( $sql, -1, -1, $inputarr ); if( !$result ) return; $data = $result->GetArray(); return $data; } /** * An alias for the GetArray method. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array */ public function GetAll($sql, $inputarr = null) { return $this->GetArray($sql, $inputarr); } /** * A method to return an associative array. * * @deprecated * @see Pear::getAssoc() * @param string $sql The SQL statement to execute * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @param bool $force_array Force each element of the output to be an associative array. * @param bool $first2cols Only output the first 2 columns in an associative array. Does not work with force_array. */ public function GetAssoc( $sql, $inputarr = null, $force_array = false, $first2cols = false ) { $data = null; $result = $this->SelectLimit($sql, -1, -1, $inputarr ); if( $result ) $data = $result->GetAssoc($force_array,$first2cols); return $data; } /** * Execute an SQL statement that returns one column, and return all of the * matches as an array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @param bool $trim Optionally trim the output results. * @return array A single flat array of results, one entry per row matched. */ public function GetCol($sql, $inputarr = null, $trim = false) { $data = null; $result = $this->SelectLimit($sql, -1, -1, $inputarr); if ($result) { $data = []; $key = null; while (!$result->EOF) { $row = $result->Fields(); if( !$key ) $key = array_keys($row)[0]; $data[] = ($trim) ? trim($row[$key]) : $row[$key]; $result->MoveNext(); } } return $data; } /** * Exeute an SQL statement that returns one row of results, and return that row * as an associative array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array An associative array representing a single resultset row. */ public function GetRow($sql, $inputarr = null) { $nrows = 1; if( stripos( $sql, 'LIMIT' ) !== FALSE ) $nrows = -1; $rs = $this->SelectLimit( $sql, $nrows, -1, $inputarr ); if( !$rs ) return FALSE; return $rs->Fields(); } /** * Execute an SQL statement and return a single value. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return mixed */ public function GetOne($sql, $inputarr = null) { $res = $this->Getrow( $sql, $inputarr ); if( !$res ) return FALSE; $key = array_keys($res)[0]; return $res[$key]; } //// transactions /** * Begin a transaction */ abstract public function BeginTrans(); /** * Begin a smart transaction */ abstract public function StartTrans(); /** * Complete a smart transaction. * This method will either do a rollback or a commit depending upon if errors have been detected. * * @param bool $autoComplete If no errors have been detected attempt to auto commit the transaction. */ abstract public function CompleteTrans($autoComplete = true); /** * Commit a simple transaction. * * @param bool $ok Indicates wether there is success or not. */ abstract public function CommitTrans($ok = true); /** * Roll back a simple transaction. */ abstract public function RollbackTrans(); /** * Mark a transaction as failed. */ abstract public function FailTrans(); /** * Test if a transaction has failed. * * @return bool */ abstract public function HasFailedTrans(); //// sequence table stuff /** * For use with sequence tables, this method will generate a new ID value. * * This function will not automatically create the sequence table if not specified. * * @param string $seqname The name of the sequence table. * @return int * @deprecated */ abstract public function GenID($seqname); // these methods should be in the DataDictionary stuff. /** * Create a new sequence table. * * @param string $seqname the name of the sequence table. * @param int $startID * @return bool * @deprecated */ abstract public function CreateSequence($seqname,$startID=0); /** * Drop a sequence table * @param string $seqname The name of the sequence table. * @return bool */ abstract public function DropSequence($seqname); //// time and date stuff /** * A utility method to convert a unix timestamp into a database specific string suitable * for use in queries. * * @param int $timestamp * @return string single-quoted date-time or 'null' */ public function DBTimeStamp($timestamp) { if (empty($timestamp) && $timestamp !== 0) return 'null'; // strlen(14) allows YYYYMMDDHHMMSS format if( is_string($timestamp) ) { if( strlen($timestamp) === 14 || preg_match('/[0-9\s:-]*/',$timestamp) ) { $tmp = strtotime($timestamp); if( $tmp < 1 ) return 'null'; $timestamp = $tmp; } else if( is_numeric($timestamp) ) { $timestamp = (int) $timestamp; } } if( $timestamp > 0 ) return date("'Y-m-d H:i:s'",$timestamp); } /** * A convenience method for converting a database specific string representing a date and time * into a unix timestamp. * * @param string $str * @return int */ public function UnixTimeStamp($str) { return strtotime($str); } /** * Convert a date into something that is suitable for writing to a database. * * @param mixed $date Either a string date, or an integer timestamp * @return string single-quoted localized date or 'null' */ public function DBDate($date) { if (empty($date) && $date !== 0) return 'null'; if (is_string($date) && !is_numeric($date)) { if ($date === 'null' || strncmp($date, "'", 1) === 0) return $date; $date = $this->UnixDate($date); } return \locale_ftime("'%x'",$date); } /** * Generate a unix timestamp representing the current date at midnight. * * @deprecated * @return int */ public function UnixDate() { return strtotime('today midnight'); } /** * An alias for the UnixTimestamp method. * * @return int */ public function Time() { return $this->UnixTimeStamp(); } /** * An Alias for the UnixDate method. * * @return int */ public function Date() { return $this->UnixDate(); } //// error and debug message handling /** * Return a string describing the latest error (if any) * * @return string */ abstract public function ErrorMsg(); /** * Return the latest error number (if any) * * @return int */ abstract public function ErrorNo(); /** * Set an error handler function * * @param callable $fn */ public function SetErrorHandler($fn = null) { $this->_errorhandler = null; if( $fn && is_callable($fn) ) $this->_errorhandler = $fn; } /** * Toggle debug mode. * * @param bool $flag Enable or Disable debug mode. * @param callable $debug_handler */ public function SetDebugMode($flag = true,$debug_handler = null) { $this->_debug = (bool) $flag; if( $debug_handler && is_callable($this->_debug_handler) ) $this->_debug_cb = $debug_handler; } /** * Set the debug callback. * * @param callable $debug_handler */ public function SetDebugCallback(callable $debug_handler = null) { $this->_debug_cb = $debug_handler; } /** * Add a query to the debug log * * @internal * @param string $sql the SQL statement */ protected function add_debug_query($sql) { $this->_query_count++; if( $this->_debug && $this->_debug_cb ) call_user_func($this->_debug_cb,$sql); } /** * A callback that is called when a database error occurs. * This method will by default call the error handler if it has been set. * If no error handler is set, an exception will be thrown. * * @internal * @param string $errtype The type of error * @param int $error_number The error number * @param string $error_message The error message */ public function OnError($errtype, $error_number, $error_message ) { if( $this->_errorhandler && is_callable($this->_errorhandler) ) { call_user_func($this->_errorhandler, $this, $errtype, $error_number, $error_message); return; } switch( $errtype ) { case self::ERROR_CONNECT: throw new DatabaseConnectionException($error_message,$error_number); case self::ERROR_EXECUTE: throw new DatabaseException($error_message,$error_number,$this->sql,$this->_connectionSpec); } } //// initialization /** * Create a new database connection object. * This is the preferred wa to open a new database connection. * * @param \CMSMS\Database\Connectionspec $spec An object describing the database to connect to. * @return \CMSMS\Database\Connection * @todo Move this into a factory class */ public static function &Initialize(ConnectionSpec $spec) { if( !$spec->valid() ) throw new ConnectionSpecException('Invalid or incorrect configuration information'); $connection_class = '\\CMSMS\\Database\\'.$spec->type.'\\Connection'; if( !class_exists($connection_class) ) throw new \LogicException('Could not find a database abstraction layer named '.$spec->type); $obj = new $connection_class($spec); if( !($obj instanceof Connection ) ) throw new \LogicException("$connection_class is not derived from the primary database class."); if( $spec->debug ) $obj->SetDebugMode(); $obj->Connect(); if( $spec->auto_exec ) $obj->Execute($spec->auto_exec); return $obj; } } // end of class /** * A special type of exception related to database queries. */ class DatabaseException extends \LogicException { /** * @internal */ protected $_connection; /** * @internal */ protected $_sql; /** * Constructor * * @param string $msg The message string * @param int $number The error number * @param string $sql The related SQL statement, if any * @param \CMSMS\Database\ConnectionSpec The connection specification */ public function __construct($msg,$number,$sql,ConnectionSpec $connection) { parent::__construct($msg,$number); $this->_connection = $connection; $this->_sql = $sql; } /** * Get the SQL statement related to this exception. * @return string */ public function getSQL() { return $this->_sql; } /** * Get the Connectionspec that was used when generating the error. * * @return \CMSMS\Database\ConnectionSpec */ public function getConnectionSpec() { return $this->_connection; } } /** * A special exception indicating a problem connecting to the database. */ class DatabaseConnectionException extends \Exception {} } // end of Namespace * @since 2.2 * @param string $type The database connection type. Defaults to 'mysqli'. * @param string $host The hostname to connect to. * @param string $username The authentication username * @param string $password The authentication password * @param string $dbname The database name * @param string $prefix The table name prefix. * @param int $port The connection port * @param bool $persistent Wether or not to use persistent connections. * @param bool $debug Enable debug mode. */ class ConnectionSpec { /** * @ignore */ private $_data = array('type'=>'mysqli','host'=>null,'username'=>null,'password'=>null, 'dbname'=>null,'prefix'=>null,'port'=>null,'persistent'=>false,'debug'=>false, 'auto_exec'=>null); /** * @ignore */ public function __get($key) { if( !array_key_exists($key,$this->_data) ) throw new \InvalidArgumentException("$key is not a valid member of ".__CLASS__); return $this->_data[$key]; } /** * @ignore */ public function __set($key,$val) { if( !array_key_exists($key,$this->_data) ) throw new \InvalidArgumentException("$key is not a valid member of ".__CLASS__); $this->_data[$key] = trim($val); } /** * Test if this connectionspec is valid. * Returns true if there is enough information to connect to the database. * * @return bool */ public function valid() { if( !$this->type || !$this->host || !$this->username || !$this->password || !$this->dbname ) return FALSE; return TRUE; } } /** * A special exception to indicate a problem with a ConnectionSpec */ class ConnectionSpecException extends \Exception {} ?> $value) $new_array[strtoupper($key)] = $value; return $new_array; } return $an_array; } /** * @ignore */ function Lens_ParseArgs($args,$endstmtchar=',',$tokenchars='_.-') { $pos = 0; $intoken = false; $stmtno = 0; $endquote = false; $tokens = array(); $tokens[$stmtno] = array(); $max = strlen($args); $quoted = false; while ($pos < $max) { $ch = substr($args,$pos,1); switch($ch) { case ' ': case "\t": case "\n": case "\r": if (!$quoted) { if ($intoken) { $intoken = false; $tokens[$stmtno][] = implode('',$tokarr); } break; } $tokarr[] = $ch; break; case '`': if ($intoken) $tokarr[] = $ch; case '(': case ')': case '"': case "'": if ($intoken) { if (empty($endquote)) { $tokens[$stmtno][] = implode('',$tokarr); if ($ch == '(') $endquote = ')'; else $endquote = $ch; $quoted = true; $intoken = true; $tokarr = array(); } else if ($endquote == $ch) { $ch2 = substr($args,$pos+1,1); if ($ch2 == $endquote) { $pos += 1; $tokarr[] = $ch2; } else { $quoted = false; $intoken = false; $tokens[$stmtno][] = implode('',$tokarr); $endquote = ''; } } else $tokarr[] = $ch; }else { if ($ch == '(') $endquote = ')'; else $endquote = $ch; $quoted = true; $intoken = true; $tokarr = array(); if ($ch == '`') $tokarr[] = '`'; } break; default: if (!$intoken) { if ($ch == $endstmtchar) { $stmtno += 1; $tokens[$stmtno] = array(); break; } $intoken = true; $quoted = false; $endquote = false; $tokarr = array(); } if ($quoted) $tokarr[] = $ch; else if (ctype_alnum($ch) || strpos($tokenchars,$ch) !== false) $tokarr[] = $ch; else { if ($ch == $endstmtchar) { $tokens[$stmtno][] = implode('',$tokarr); $stmtno += 1; $tokens[$stmtno] = array(); $intoken = false; $tokarr = array(); break; } $tokens[$stmtno][] = implode('',$tokarr); $tokens[$stmtno][] = $ch; $intoken = false; } } $pos += 1; } if ($intoken) $tokens[$stmtno][] = implode('',$tokarr); return $tokens; } /** * A class defining methods to work directly with database tables. * * This file is based on the DataDictionary base class from the adodb_lite library * which was in turn a fork of the adodb library at approximately 2004. * * Credits and kudos to the authors of those packages. * * @package CMS * @author Robert Campbell * @copyright Copyright (c) 2015, Robert Campbell * @since 2.2 */ abstract class DataDictionary { /** * The database connection object. * * @internal */ protected $connection; /** * The SQL prefix to use when creating a drop table command. * * @internal */ protected $dropTable = 'DROP TABLE %s'; /** * The SQL prefix to use when renaming a table. * * @internal */ protected $renameTable = 'RENAME TABLE %s TO %s'; /** * The SQL prefix to use when dropping an index. * * @internal */ protected $dropIndex = 'DROP INDEX %s'; /** * The SQL string to use (in the alter table command) when adding a column. * * @internal */ protected $addCol = ' ADD'; /** * The SQL string to use (in the alter table command) when altering a column. * * @internal */ protected $alterCol = ' ALTER COLUMN'; /** * The SQL string to use (in the alter table command) when dropping a column. * * @internal */ protected $dropCol = ' DROP COLUMN'; /** * The SQL command template for renaming a column. * * @internal */ protected $renameColumn = 'ALTER TABLE %s RENAME COLUMN %s TO %s'; // table, old-column, new-column, column-definitions (not used by default) /** * @ignore */ protected $nameRegex = '\w'; /** * @ignore */ protected $nameRegexBrackets = 'a-zA-Z0-9_\(\)'; /** * @ignore */ protected $autoIncrement = false; /** * @ignore */ protected $invalidResizeTypes4 = array('CLOB','BLOB','TEXT','DATE','TIME'); // for changetablesql /** * Constructor * * @param \CMSMS\Database\Connection $conn */ protected function __construct(Connection $conn) { $this->connection = $conn; } /** * A function to return the database type. * * @internal * @return string */ protected function _DBType() { return $this->connection->DbType(); } /** * A function to return the datadictionary meta type for a database column type. * * @internal * @param string $t The database column type * @param int $len The length of the field (some database types may ignore this) * @param mixed $fieldobj An optional reference to a field object (advanced) * @return string */ abstract protected function MetaType($t,$len=-1,$fieldobj=false); /** * Return the list of tables in the currently connected database. * * @return string[] */ abstract public function MetaTables(); /** * Return the list of columns in a table within the currently connected database. * * @param string $table The table name. * @return string[] */ abstract public function MetaColumns($table); /** * Return a database specific column type given a datadictionary meta column type. * * @internal * @param string $meta The datadictionary column type. * @return string */ abstract protected function ActualType($meta); /** * Given a string name, return a quoted name in a form suitable for the database. * * @internal * @param string $name The input name * @param bool $allowBrackets wether brackets should be quoted or not. * @return string */ protected function NameQuote($name = NULL,$allowBrackets=false) { if (!is_string($name)) return FALSE; $name = trim($name); if ( !is_object($this->connection) ) return $name; $quote = $this->connection->nameQuote; // if name is of the form `name`, quote it if ( preg_match('/^`(.+)`$/', $name, $matches) ) return $quote . $matches[1] . $quote; // if name contains special characters, quote it $regex = ($allowBrackets) ? $this->nameRegexBrackets : $this->nameRegex; if ( !preg_match('/^[' . $regex . ']+$/', $name) ) return $quote . $name . $quote; return $name; } /** * Given a table name, optionally quote it. * * @internal * @param string $name * @return string */ protected function TableName($name) { return $this->NameQuote($name); } /** * Given an array of SQL commands execute them in sequence. * * @param string[] $sql An array of sql commands. * @param bool $continueOnError wether to continue on errors or not. * @return int 2 for no errors, 1 if an error occured. */ public function ExecuteSQLArray($sql, $continueOnError = true) { $rez = 2; $conn = &$this->connection; foreach($sql as $line) { try { $ok = $conn->Execute($line); if (!$ok) { if (!$continueOnError) return 0; $rez = 1; } } catch( \Exception $e ) { if( !$continueOnError ) throw $e; $rez = 1; // eat the exception } } return $rez; } /** * Create the SQL commands that will result in a database being created. * * @param string $dbname * @param array An associative array of database options. * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateDatabase($dbname,$options=false) { $options = $this->_Options($options); $sql = array(); $s = 'CREATE DATABASE ' . $this->NameQuote($dbname); if (isset($options[$this->upperName])) $s .= ' '.$options[$this->upperName]; $sql[] = $s; return $sql; } /** * Generate the SQL to create an index. * * @param string $idxname The index name * @param string $tabname The table name * @param string|string[] $flds A list of the table fields to create the index with. Either an array of strings or a comma separated list. * @param array An associative array of options * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateIndexSQL($idxname, $tabname, $flds, $idxoptions = false) { if (!is_array($flds)) { $flds = array_map( 'trim', explode(',',$flds) ); } foreach($flds as $key => $fld) { # some indexes can use partial fields, eg. index first 32 chars of "name" with NAME(32) $flds[$key] = $this->NameQuote($fld,$allowBrackets=true); } return $this->_IndexSQL($this->NameQuote($idxname), $this->TableName($tabname), $flds, $this->_Options($idxoptions)); } /** * Generate the SQL to drop an index * * @param string $idxname The index name * @param string $tabname The table name * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropIndexSQL ($idxname, $tabname = NULL) { return array(sprintf($this->dropIndex, $this->NameQuote($idxname), $this->TableName($tabname))); } /** * Generate the SQL to add columns to a table. * * @param string $tabname The Table name. * @param string $flds The column definitions (using DataDictionary meta types) * @return string[] An array of strings suitable for use with the ExecuteSQLArray method * @see CreateTableSQL */ public function AddColumnSQL($tabname, $flds) { $tabname = $this->TableName ($tabname); $sql = array(); list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $tabname . $this->addCol . ' '; foreach($lines as $v) { $sql[] = $alter . $v; } return $sql; } /** * Change the definition of one column * * @param string $tabname table-name * @param string $flds column-name and type for the changed column. * @param string $tableflds complete defintion of the new table, eg. for postgres, default '' * @param array/string $tableoptions options for the new table see CreateTableSQL, default '' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function AlterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') { $tabname = $this->TableName ($tabname); $sql = array(); list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $tabname . $this->alterCol . ' '; foreach($lines as $v) { $sql[] = $alter . $v; } return $sql; } /** * Rename one column in a table. * * @param string $tabname table-name * @param string $oldcolumn column-name to be renamed * @param string $newcolumn new column-name * @param string $flds complete column-defintion-string like for AddColumnSQL, only used by mysql atm., default='' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function RenameColumnSQL($tabname,$oldcolumn,$newcolumn,$flds='') { $tabname = $this->TableName ($tabname); if ($flds) { list($lines,$pkey) = $this->_GenFields($flds); $first = current($lines); list(,$column_def) = preg_split("/[\t ]+/",$first,2); } return array(sprintf($this->renameColumn,$tabname,$this->NameQuote($oldcolumn),$this->NameQuote($newcolumn),$column_def)); } /** * Drop one column from a table. * * @param string $tabname table-name * @param string $flds column-name and type for the changed column * @param string $tableflds complete defintion of the new table, eg. for postgres, default '' * @param array/string $tableoptions options for the new table see CreateTableSQL, default '' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') { $tabname = $this->TableName ($tabname); if (!is_array($flds)) $flds = explode(',',$flds); $sql = array(); $alter = 'ALTER TABLE ' . $tabname . $this->dropCol . ' '; foreach($flds as $v) { $sql[] = $alter . $this->NameQuote($v); } return $sql; } /** * Drop one table, and all of it's indexes * * @param string $tabname The table name to drop. * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropTableSQL($tabname) { return array (sprintf($this->dropTable, $this->TableName($tabname))); } /** * Rename a table. * * @param string $tabname The table name * @param string $newname The new table name * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function RenameTableSQL($tabname,$newname) { return array (sprintf($this->renameTable, $this->TableName($tabname),$this->TableName($newname))); } /** * Generate the SQL to create a new table. * * The flds string is a comma separated of field definitions, where each definition is of the form * fieldname type columnsize otheroptions * * The type fields are codes that map to real database types as follows: *
    *
    C
    *
    Varchar, capped to 255 characters.
    *
    X
    *
    Text
    *
    XL
    *
    LongText
    *
    C2
    *
    Varchar, capped to 255 characters
    *
    XL
    *
    LongText
    *
    B
    *
    LongBlob
    *
    D
    *
    Date
    *
    DT
    *
    DateTime
    *
    T
    *
    Time
    *
    TS
    *
    Timestamp
    *
    L
    *
    TinyInt
    *
    R / I4 / I
    *
    Integer
    *
    I1
    *
    TinyInt
    *
    I2
    *
    SmallInt
    *
    I4
    *
    BigInt
    *
    F
    *
    Double
    *
    N
    *
    Numeric
    *
    * * The otheroptions field includes the following options: *
    *
    AUTO
    *
    Auto increment. Also sets NOTNULL.
    *
    AUTOINCREMENT
    *
    Same as AUTO
    *
    KEY
    *
    Primary key field. Also sets NOTNULL. Compound keys are supported.
    *
    PRImARY
    *
    Same as KEY
    *
    DEFAULT
    *
    The default value. Character strings are auto-quoted unless the string begins with a space. i.e: ' SYSDATE '.
    *
    DEF
    *
    Same as DEFAULT
    *
    CONSTRAINTS
    *
    Additional constraints defined at the end of the field definition.
    *
    * * @param string $tabname The table name * @param string $flds a comma separated list of field definitions using datadictionary syntax. * @param mixed $tableoptions A string specifying table options (database driver specific) for the table creation command. Or an associative array of table options, keys being the database type (as available). * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateTableSQL($tabname, $flds, $tableoptions=false) { if( $tableoptions && is_string($tableoptions)) { $dbtype = $this->_DBType(); $tableoptions = [ $dbtype => $tableoptions ]; } list($lines,$pkey) = $this->_GenFields($flds, true); $taboptions = $this->_Options($tableoptions); $tabname = $this->TableName ($tabname); $sql = $this->_TableSQL($tabname,$lines,$pkey,$taboptions); $tsql = $this->_Triggers($tabname,$taboptions); foreach($tsql as $s) $sql[] = $s; return $sql; } /** * Part of the process of parsing the datadictionary format into database specific commands. * * @internal */ protected function _GenFields($flds,$widespacing=false) { if (is_string($flds)) { $padding = ' '; $txt = $flds.$padding; $flds = array(); $flds0 = Lens_ParseArgs($txt,','); $hasparam = false; foreach($flds0 as $f0) { if( !count($f0) ) break; $f1 = array(); foreach($f0 as $token) { switch (strtoupper($token)) { case 'CONSTRAINT': case 'DEFAULT': $hasparam = $token; break; default: if ($hasparam) $f1[$hasparam] = $token; else $f1[] = $token; $hasparam = false; break; } } $flds[] = $f1; } } $this->autoIncrement = false; $lines = array(); $pkey = array(); foreach($flds as $fld) { $fld = _array_change_key_case($fld); $fname = false; $fdefault = false; $fautoinc = false; $ftype = false; $fsize = false; $fprec = false; $fprimary = false; $fnoquote = false; $fdefts = false; $fdefdate = false; $fconstraint = false; $fnotnull = false; $funsigned = false; //----------------- // Parse attributes foreach($fld as $attr => $v) { if ($attr == 2 && is_numeric($v)) $attr = 'SIZE'; else if (is_numeric($attr) && $attr > 1 && !is_numeric($v)) $attr = strtoupper($v); switch($attr) { case '0': case 'NAME': $fname = $v; break; case '1': case 'TYPE': $ty = $v; $ftype = $this->ActualType(strtoupper($v)); break; case 'SIZE': $dotat = strpos($v,'.'); if ($dotat === false) $dotat = strpos($v,','); if ($dotat === false) $fsize = $v; else { $fsize = substr($v,0,$dotat); $fprec = substr($v,$dotat+1); } break; case 'UNSIGNED': $funsigned = true; break; case 'AUTOINCREMENT': case 'AUTO': $fautoinc = true; $fnotnull = true; break; case 'KEY': case 'PRIMARY': $fprimary = $v; $fnotnull = true; break; case 'DEF': case 'DEFAULT': $fdefault = $v; break; case 'NOTNULL': $fnotnull = $v; break; case 'NOQUOTE': $fnoquote = $v; break; case 'DEFDATE': $fdefdate = $v; break; case 'DEFTIMESTAMP': $fdefts = $v; break; case 'CONSTRAINT': $fconstraint = $v; break; } } //-------------------- // VALIDATE FIELD INFO if (!strlen($fname)) { die('failed'); return false; } $fid = strtoupper(preg_replace('/^`(.+)`$/', '$1', $fname)); $fname = $this->NameQuote($fname); if (!strlen($ftype)) { return false; } else { $ftype = strtoupper($ftype); } $ftype = $this->_GetSize($ftype, $ty, $fsize, $fprec); if ($ty == 'X' || $ty == 'X2' || $ty == 'B') $fnotnull = false; // some blob types do not accept nulls if ($fprimary) $pkey[] = $fname; // some databases do not allow blobs to have defaults if ($ty == 'X') $fdefault = false; //-------------------- // CONSTRUCT FIELD SQL if ($fdefts) { if (substr($this->_DbType(),0,5) == 'mysql') { $ftype = 'TIMESTAMP'; } else { $fdefault = $this->connection->sysTimeStamp; } } else if ($fdefdate) { if (substr($this->_DBType(),0,5) == 'mysql') { $ftype = 'TIMESTAMP'; } else { $fdefault = $this->connection->sysDate; } } else if ($fdefault !== false && !$fnoquote) if ($ty == 'C' or $ty == 'X' or ( substr($fdefault,0,1) != "'" && !is_numeric($fdefault))) if (strlen($fdefault) != 1 && substr($fdefault,0,1) == ' ' && substr($fdefault,strlen($fdefault)-1) == ' ') $fdefault = trim($fdefault); else if (strtolower($fdefault) != 'null') $fdefault = $this->connection->qstr($fdefault); $suffix = $this->_CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned); if ($widespacing) $fname = str_pad($fname,24); $lines[$fid] = $fname.' '.$ftype.$suffix; if ($fautoinc) $this->autoIncrement = true; } // foreach $flds return array($lines,$pkey); } /** * Generate the size part of the datatype. * * @ignore * @internal */ protected function _GetSize($ftype, $ty, $fsize, $fprec) { if (strlen($fsize) && $ty != 'X' && $ty != 'B' && strpos($ftype,'(') === false) { $ftype .= "(".$fsize; if (strlen($fprec)) $ftype .= ",".$fprec; $ftype .= ')'; } return $ftype; } /** * Create a suffix * * @internal */ protected function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned) { $suffix = ''; if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; if ($fnotnull) $suffix .= ' NOT NULL'; if ($fconstraint) $suffix .= ' '.$fconstraint; return $suffix; } /** * build SQL commands for indexes. * * @internal */ protected function _IndexSQL($idxname, $tabname, $flds, $idxoptions) { $sql = array(); if ( isset($idxoptions['REPLACE']) || isset($idxoptions['DROP']) ) { $sql[] = sprintf ($this->dropIndex, $idxname); if ( isset($idxoptions['DROP']) ) return $sql; } if ( empty ($flds) ) return $sql; $unique = isset($idxoptions['UNIQUE']) ? ' UNIQUE' : ''; $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' '; if ( isset($idxoptions[$this->upperName]) ) $s .= $idxoptions[$this->upperName]; if ( is_array($flds) ) $flds = implode(', ',$flds); $s .= '(' . $flds . ')'; $sql[] = $s; return $sql; } /** * A method to drop the auto increment column on a table. * * @internal */ protected function _DropAutoIncrement($tabname) { return false; } /** * An internal method to get a list of database type specific options for a command. * * @internal */ protected function get_dbtype_options($opts,$suffix = null) { $dbtype = $this->_DBType(); $list = array($dbtype.$suffix,strtoupper($dbtype).$suffix,strtolower($dbtype).$suffix); foreach( $list as $one ) { if( isset($opts[$one]) && is_string($opts[$one]) && strlen($opts[$one]) ) return $opts[$one]; } } /** * Build strings for generating tables. * * @internal */ protected function _TableSQL($tabname,$lines,$pkey,$tableoptions) { $sql = array(); if (isset($tableoptions['REPLACE']) || isset ($tableoptions['DROP'])) { $sql[] = sprintf($this->dropTable,$tabname); if ($this->autoIncrement) { $sInc = $this->_DropAutoIncrement($tabname); if ($sInc) $sql[] = $sInc; } if ( isset ($tableoptions['DROP']) ) { return $sql; } } $s = "CREATE TABLE $tabname (\n"; $s .= implode(",\n", $lines); if (sizeof($pkey)>0) { $s .= ",\n PRIMARY KEY ("; $s .= implode(", ",$pkey).")"; } if (isset($tableoptions['CONSTRAINTS'])) $s .= "\n".$tableoptions['CONSTRAINTS']; $str = $this->get_dbtype_options($tableoptions,'_CONSTRAINTS'); if( $str ) $s .= "\n".$str; $s .= "\n)"; $str = $this->get_dbtype_options($tableoptions); if( $str ) $s .= $str; $sql[] = $s; return $sql; } /** * Generate triggers if needed. * This is used when table has auto-incrementing field that is emulated using triggers. * * @internal */ protected function _Triggers($tabname,$taboptions) { return array(); } /** * Sanitize options, * * @internal */ protected function _ProcessOptions($opts) { return $opts; } /** * Convert options into a format usable by the system. * * @internal */ protected function _Options($opts) { $opts = $this->_ProcessOptions($opts); if (!is_array($opts)) return array(); $newopts = array(); foreach($opts as $k => $v) { if (is_numeric($k)) $newopts[strtoupper($v)] = $v; else $newopts[strtoupper($k)] = $v; } return $newopts; } /** * Add, drop or change columns within a table. * * This function changes/adds new fields to your table. You don't * have to know if the col is new or not. It will check on its own. * * @param string $tablename The table name * @param string $flds The field definitions * @param array $tableoptions Table options * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function ChangeTableSQL($tablename, $flds, $tableoptions = false) { // check table exists $cols = $this->MetaColumns($tablename); if ( empty($cols)) { return $this->CreateTableSQL($tablename, $flds, $tableoptions); } if (is_array($flds)) { // Cycle through the update fields, comparing // existing fields to fields to update. // if the Metatype and size is exactly the // same, ignore - by Mark Newham $holdflds = array(); foreach($flds as $k=>$v) { if ( isset($cols[$k]) && is_object($cols[$k]) ) { $c = $cols[$k]; $ml = $c->max_length; $mt = &$this->MetaType($c->type,$ml); if ($ml == -1) $ml = ''; if ($mt == 'X') $ml = $v['SIZE']; if (($mt != $v['TYPE']) || $ml != $v['SIZE']) $holdflds[$k] = $v; } else { $holdflds[$k] = $v; } } $flds = $holdflds; } // already exists, alter table instead list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $this->TableName($tablename); $sql = array(); foreach ( $lines as $id => $v ) { if ( isset($cols[$id]) && is_object($cols[$id]) ) { $flds = Lens_ParseArgs($v,','); // We are trying to change the size of the field, if not allowed, simply ignore the request. if ($flds && in_array(strtoupper(substr($flds[0][1],0,4)),$this->invalidResizeTypes4)) continue; $sql[] = $alter . $this->alterCol . ' ' . $v; } else { $sql[] = $alter . $this->addCol . ' ' . $v; } } return $sql; } } // end of class * @since 2.2 * @property-read bool $EOF Test if we are at the end of the current resultset. * @property-read array $fields Return the current row of the resultset. */ abstract class Resultset { /** * @ignore */ public function __destruct() { $this->Close(); } /** * Move to the first row in a resultset. */ abstract public function MoveFirst(); /** * Move to the next row of a resultset. */ abstract public function MoveNext(); /** * Move to a specified index of the resultset. * * @param int $idx */ abstract protected function Move($idx); /** * Get all remaining results in this resultset as an array of records. * * @return array */ public function GetArray() { $results = array(); while( !$this->EOF() ) { $results[] = $this->fields(); $this->MoveNext(); } return $results; } /** * An alias for the GetArray method. * * @see GetArray() * @return array * @deprecated */ public function GetRows() { return $this->GetArray(); } /** * An alias for the GetArray method. * @see GetArray() * @return array * @deprecated */ public function GetAll() { return $this->GetArray(); } /** * Get an associative array from a resultset. * * If only two columns are returned in the resultset, the keys of the returned associative array * will be the value of the first column, and the value of each key will be the value from the second column. * * If more than 2 columns are returned, then the key of the returned associative array will be the * value from the first column, and the value of each key will be an associative array of the remaining columns. * This is known as array behavior. * * @deprecated * @param boolean force_array Force array behavior, even if there are only two columns in the resulting SQL. * @param boolean first2cols The opposite of force_array. Only output the data from the first 2 columns as an associative array. * @return array */ public function GetAssoc($force_array = false, $first2cols = false) { $data = null; $first_row = $this->Fields(); if( count($first_row) < 2 ) return $data; $data = []; $keys = array_keys($first_row); $numeric_index = isset($row[0]); if( !$first2cols && (count($keys) > 2 || $force_array) ) { // output key is first column // other columns as assoc $first_key = $keys[0]; while( !$this->EOF() ) { $row = $this->Fields(); $data[trim($row[$first_key])] = array_slice($row,1); $this->MoveNext(); } } else { // only 2 columns... output a single associative while( !$this->EOF() ) { $row = $this->Fields(); $data[trim($row[$keys[0]])] = $row[$keys[1]]; $this->MoveNext(); } } return $data; } /** * Test if we are at the end of a resultset, and there are no further matches. * * @return bool */ abstract public function EOF(); /** * Close the current resultset. */ abstract public function Close(); /** * Return the number of rows in the current resultset. * * @return int */ abstract public function RecordCount(); /** * Alias for the RecordCount() method. * * @see RecordCount(); * @return int */ public function NumRows() { return $this->RecordCount(); } /** * Return the fields of the current resultset, or a single field of it. * * @param string $field An optional field name, if not specified, the entire row will be returned. * @return mixed|array Either a single value, or an array */ abstract public function Fields( $field = null ); /** * Fetch the current row, and move to the next row. * * @return array */ public function FetchRow() { if( $this->EOF() ) return false; $out = $this->fields(); $this->MoveNext(); return $out; } /** * @internal */ abstract protected function fetch_row(); /** * @ignore */ public function __get($key) { if( $key == 'EOF' ) return $this->EOF(); if( $key == 'fields' ) return $this->Fields(); } } * @since 2.2 * @property-read Connection $db The database connection * @property-read string $sql The SQL query. */ abstract class Statement { /** * @ignore */ private $_conn; /** * @ignore */ private $_sql; /** * Constructor * * @param Connection $conn The database connection * @param string $sql The SQL query */ public function __construct(Connection $conn,$sql = null) { $this->_conn = $conn; $this->_sql = $sql; } /** * @ignore */ public function __get($key) { switch( $key ) { case 'db': case 'conn': return $this->_conn; case 'sql': return $this->_sql; } } /** * Bind data to the sql statements * * @param array $data An array of arrays of data representing the numerous rows of the input data. */ public function Bind(array $data) { if( !is_array($data) || count($data) == 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $first = $data[0]; if( !is_array($first) || count($first) == 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $keys = array_keys($first); if( is_numeric($keys[0]) && $keys[0] === 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $this->set_bound_data($data); } /** * Set bound data * * @see bind * @param array $data An array of arrays of data representing the numerous rows of the input data. */ abstract protected function set_bound_data($data); /** * Test if we are at the end of the resultset. * * @return bool */ abstract public function EOF(); /** * Move to the first record of the resultset. */ abstract public function MoveFirst(); /** * Move to the next record of the resultset. */ abstract public function MoveNext(); /** * Retrive data fields. * * @param string $col The column name. If not specified, all columns will be returned. * @return mixed */ abstract public function Fields($col = null); /** * Execute the query */ abstract public function Execute(); } type = $config['dbms']; $spec->host = $config['db_hostname']; $spec->username = $config['db_username']; $spec->password = $config['db_password']; $spec->dbname = $config['db_name']; $spec->port = $config['db_port']; $spec->debug = CMS_DEBUG; $tmp = []; if( $config['set_names'] ) $tmp[] = "NAMES 'utf8'"; if( $config['set_db_timezone'] ) { $dt = new \DateTime(); $dtz = new \DateTimeZone($config['timezone']); $offset = timezone_offset_get($dtz,$dt); $symbol = ($offset < 0) ? '-' : '+'; $hrs = abs((int)($offset / 3600)); $mins = abs((int)($offset % 3600)); $tmp[] = sprintf("time_zone = '%s%d:%02d'",$symbol,$hrs,$mins); } if( count($tmp) ) $spec->auto_exec = 'SET '.implode(',',$tmp); $obj = Connection::Initialize($spec); $obj->SetErrorHandler( '\\CMSMS\Database\\compatibility::on_error' ); if( $spec->debug ) $obj->SetDebugCallback('debug_buffer'); return $obj; } public static function on_error( Connection $conn, $errtype, $error_number, $error_msg ) { debug_to_log("Database Error: $errtype($error_number) - $error_msg"); debug_bt_to_log(); if( !defined('CMS_DEBUG') || CMS_DEBUG == 0 ) return; \CmsApp::get_instance()->add_error(debug_display($error_msg, '', false, true)); } /** * A static no-op function that allows the autoloader to load this file */ public static function noop() { // do nothing } } // end of class } // end of namespace namespace { // root namespace stuff /** * A constant to assist with date and time flags in the data dictionary. * * @name CMS_ADODB_DT */ define('CMS_ADODB_DT','DT'); // backwards compatibility. /** * A method to create a new data dictionary object * * @param \CMSMS\Database\Connection $conn The existing database connection. * @return \CMSMS\Database\DataDictionary * @deprecated */ function &NewDataDictionary(\CMSMS\Database\Connection $conn) { // called by module installation routines. return $conn->NewDataDictionary(); } /** * A function co create a new adodb database connection. * * @param string $dbms * @param string $flags * @return \CMSMS\Database\Connection * @deprecated */ function &ADONewConnection( $dbms, $flags ) { // now that our connection object is stateless... this is just a wrapper // for our global db instance.... but should not be called. return \CmsApp::get_instance()->GetDb(); } /** * A function forumerly used to load the adodb library. * This method currently has no functionality. * * @deprecated */ function load_adodb() { // this should only have been called by the core // but now does nothing, just in case it is called. } /** * An old method formerly used to ensure that we were re-connected to the proper database. * This method currently has no functionality. * * @deprecated */ function adodb_connect() { // this may be called by UDT's etc. that are talking to other databases // or using manual mysql methods. } /** * An old function for handling a database error. * * @param string $dbtype * @param string $function_performed * @param int $error_number * @param string $error_message * @param string $host * @param string $database * @param mixed $connection_obj * @deprecated */ function adodb_error($dbtype,$function_performed,$error_number,$error_message, $host, $database, &$connection_obj) { // does nothing.... remove me later. } } ?> _mysql = new \mysqli( $this->_connectionSpec->host, $this->_connectionSpec->username, $this->_connectionSpec->password, $this->_connectionSpec->dbname, (int) $this->_connectionSpec->port ); if( $this->_mysql->connect_error ) { $this->_mysql = null; $this->OnError(self::ERROR_CONNECT,mysqli_connect_errno(),mysqli_connect_error()); return FALSE; } return TRUE; } catch( \Exception $e ) { $this->_mysql = null; $this->OnError(self::ERROR_CONNECT,mysqli_connect_errno(),mysqli_connect_error()); return FALSE; } } public function &NewDataDictionary() { $obj = new DataDictionary($this); return $obj; } public function Disconnect() { if( $this->_mysql ) { $this->_mysql->Close(); $this->_mysql = null; } } public function &get_inner_mysql() { return $this->_mysql; } public function IsConnected() { return is_object($this->_mysql); } public function ErrorMsg() { if( $this->_mysql ) return $this->_mysql->error; return mysqli_connect_error(); } public function ErrorNo() { if( $this->_mysql ) return $this->_mysql->errno; return mysqli_connect_errno(); } public function Affected_Rows() { return $this->_mysql->affected_rows; } public function Insert_ID() { $res = $this->_mysql->insert_id; return $res; } public function qstr($str) { // note... this could be a two way tcp/ip or socket communication return "'".$this->_mysql->escape_string($str)."'"; } public function Concat() { $arr = func_get_args(); $list = implode(', ', $arr); if (strlen($list) > 0) return "CONCAT($list)"; } public function IfNull( $field, $ifNull ) { return " IFNULL($field, $ifNull)"; } protected function do_multisql($sql) { // no error checking for this stuff // and no return data $_t = $this->_mysql->multi_query($sql); if( $_t ) { do { $res = $this->_mysql->store_result(); } while( $this->_mysql->more_results() && $this->_mysql->next_result() ); } } public function &do_sql($sql) { // execute all queries, but only need the resultset from the last one. $resultset = null; $this->sql = $sql; $time_start = microtime(TRUE); $resultid = $this->_mysql->query( $sql ); $time_total = microtime(TRUE) - $time_start; $this->query_time_total += $time_total; if( !$resultid ) { $this->FailTrans(); $this->OnError(self::ERROR_EXECUTE,$this->_mysql->errno, $this->_mysql->error); return $resultset; } $this->add_debug_query($sql); $resultset = new ResultSet( $this->_mysql, $resultid, $sql ); return $resultset; } public function &Prepare($sql) { $stmt = new Statement($this,$sql); return $stmt; } public function BeginTrans() { if( $this->_in_smart_transaction ) return TRUE; // allow nesting in this case. $this->_in_transaction++; $this->_transaction_failed = FALSE; $this->Execute('BEGIN'); return TRUE; } public function StartTrans() { if( $this->_in_smart_transaction ) { $this->_in_smart_transaction++; return; } if( $this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'Bad Transaction: StartTrans called within BeginTrans'); return FALSE; } $this->_transaction_status = TRUE; $this->_in_smart_transaction++; $this->BeginTrans(); } public function RollbackTrans() { if( !$this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'BeginTrans has not been called'); return FALSE; } $this->_in_transaction--; $this->Execute('ROLLBACK'); return TRUE; } function CommitTrans($ok=true) { if (!$ok) return $this->RollbackTrans(); if( !$this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'BeginTrans has not been called'); return FALSE; } $this->_in_transaction--; $this->Execute('COMMIT'); return TRUE; } public function CompleteTrans($autoComplete = true) { if( $this->_in_smart_transaction > 0 ) { $this->_in_smart_transaction--; return TRUE; } if( $this->_transaction_status && $autoComplete ) { if( !$this->CommitTrans() ) { $this->_transaction_status = FALSE; } } else { $this->RollbackTrans(); } $this->_in_smart_transaction = 0; return $this->_transaction_status; } public function FailTrans() { $this->_transaction_status = FALSE; } function HasFailedTrans() { if( $this->_in_smart_transaction > 0 ) return $this->_transaction_status == FALSE; return FALSE; } public function GenID($seqname) { $sql = sprintf('UPDATE %s SET id=id+1;',$seqname); $this->Execute($sql); $sql = sprintf('SELECT id FROM %s',$seqname); return (int) $this->GetOne($sql); } public function CreateSequence($seqname,$startID=0) { $out = array(); $startID = (int) $startID; $out[] = sprintf('CREATE TABLE %s (id int not null) ENGINE MyISAM',$seqname); $out[] = sprintf('INSERT INTO %s (id) values (%s)',$seqname,$startID); $dict = $this->NewDataDictionary(); $dict->ExecuteSQLArray($out); return TRUE; } public function DropSequence($seqname) { return $this->Execute(sprintf('DROP TABLE %s',$seqname)); } } // end of class alterCol = ' MODIFY COLUMN'; $this->alterTableAddIndex = true; $this->dropTable = 'DROP TABLE IF EXISTS %s'; // requires mysql 3.22 or later $this->dropIndex = 'DROP INDEX %s ON %s'; $this->renameColumn = 'ALTER TABLE %s CHANGE COLUMN %s %s %s'; // needs column-definition! } protected function ActualType($meta) { switch( $meta ) { case 'C': return 'VARCHAR'; case 'XL':return 'LONGTEXT'; case 'X': return 'TEXT'; case 'C2': return 'VARCHAR'; case 'X2': return 'LONGTEXT'; case 'B': return 'LONGBLOB'; case 'D': return 'DATE'; case 'DT': return 'DATETIME'; case 'T': return 'TIME'; case 'TS': return 'TIMESTAMP'; case 'L': return 'TINYINT'; case 'R': case 'I4': case 'I': return 'INTEGER'; case 'I1': return 'TINYINT'; case 'I2': return 'SMALLINT'; case 'I8': return 'BIGINT'; case 'F': return 'DOUBLE'; case 'N': return 'NUMERIC'; default: return $meta; } } protected function MetaType($t,$len=-1,$fieldobj=false) { // $t can be mixed... if (is_object($t)) { $fieldobj = $t; $t = $fieldobj->type; $len = $fieldobj->max_length; } $len = -1; // mysql max_length is not accurate switch (strtoupper($t)) { case 'STRING': case 'CHAR': case 'VARCHAR': case 'TINYBLOB': case 'TINYTEXT': case 'ENUM': case 'SET': if ($len <= $this->blobSize) return 'C'; case 'TEXT': case 'LONGTEXT': case 'MEDIUMTEXT': return 'X'; // php_mysql extension always returns 'blob' even if 'text' // so we have to check whether binary... case 'IMAGE': case 'LONGBLOB': case 'BLOB': case 'MEDIUMBLOB': return !empty($fieldobj->binary) ? 'B' : 'X'; case 'YEAR': case 'DATE': return 'D'; case 'TIME': case 'DATETIME': case 'TIMESTAMP': return 'T'; case 'INT': case 'INTEGER': case 'BIGINT': case 'TINYINT': case 'MEDIUMINT': case 'SMALLINT': if (!empty($fieldobj->primary_key)) return 'R'; return 'I'; default: static $typeMap = array( 'VARCHAR' => 'C', 'VARCHAR2' => 'C', 'CHAR' => 'C', 'C' => 'C', 'STRING' => 'C', 'NCHAR' => 'C', 'NVARCHAR' => 'C', 'VARYING' => 'C', 'BPCHAR' => 'C', 'CHARACTER' => 'C', ## 'LONGCHAR' => 'X', 'TEXT' => 'X', 'NTEXT' => 'X', 'M' => 'X', 'X' => 'X', 'CLOB' => 'X', 'NCLOB' => 'X', 'LVARCHAR' => 'X', ## 'BLOB' => 'B', 'IMAGE' => 'B', 'BINARY' => 'B', 'VARBINARY' => 'B', 'LONGBINARY' => 'B', 'B' => 'B', ## 'YEAR' => 'D', // mysql 'DATE' => 'D', 'D' => 'D', ## 'TIME' => 'T', 'TIMESTAMP' => 'T', 'DATETIME' => 'T', 'TIMESTAMPTZ' => 'T', 'T' => 'T', ## 'BOOL' => 'L', 'BOOLEAN' => 'L', 'BIT' => 'L', 'L' => 'L', ## 'COUNTER' => 'R', 'R' => 'R', 'SERIAL' => 'R', // ifx 'INT IDENTITY' => 'R', ## 'INT' => 'I', 'INT2' => 'I', 'INT4' => 'I', 'INT8' => 'I', 'INTEGER' => 'I', 'INTEGER UNSIGNED' => 'I', 'SHORT' => 'I', 'TINYINT' => 'I', 'SMALLINT' => 'I', 'I' => 'I', ## 'LONG' => 'N', // interbase is numeric, oci8 is blob 'BIGINT' => 'N', // this is bigger than PHP 32-bit integers 'DECIMAL' => 'N', 'DEC' => 'N', 'REAL' => 'N', 'DOUBLE' => 'N', 'DOUBLE PRECISION' => 'N', 'SMALLFLOAT' => 'N', 'FLOAT' => 'N', 'NUMBER' => 'N', 'NUM' => 'N', 'NUMERIC' => 'N', 'MONEY' => 'N', ## informix 9.2 'SQLINT' => 'I', 'SQLSERIAL' => 'I', 'SQLSMINT' => 'I', 'SQLSMFLOAT' => 'N', 'SQLFLOAT' => 'N', 'SQLMONEY' => 'N', 'SQLDECIMAL' => 'N', 'SQLDATE' => 'D', 'SQLVCHAR' => 'C', 'SQLCHAR' => 'C', 'SQLDTIME' => 'T', 'SQLINTERVAL' => 'N', 'SQLBYTES' => 'B', 'SQLTEXT' => 'X', ## informix 10 "SQLINT8" => 'I8', "SQLSERIAL8" => 'I8', "SQLNCHAR" => 'C', "SQLNVCHAR" => 'C', "SQLLVARCHAR" => 'X', "SQLBOOL" => 'L' ); $tmap = false; $t = strtoupper($t); $tmap = (isset($typeMap[$t])) ? $typeMap[$t] : 'N'; return $tmap; } } public function MetaTables() { $sql = 'SHOW TABLES'; $list = $this->connection->GetCol($sql); if( count($list) ) return $list; } public function MetaColumns($table) { $table = trim($table); if( !$table ) throw new \LogicException('empty table name specified for '.__METHOD__); $sql = 'SHOW COLUMNS FROM ?'; $rs = $this->connection->GetArray($sql,$table); if( is_array($rs) && count($rs) ) { $out = array(); foreach( $rs as $row ) { $out[] = $row['Field']; } return $out; } } /* * Arguably this method is counter-productive. Any correction here will * probably not be replicated at runtime, and better to fail during installation. * The name is not checked for a reserved-word. * Permitted characters in unquoted identifiers are in accord with MySQL documentation. */ protected function NameQuote($name = null, $allowBrackets = false) { if (!is_string($name)) { return ''; } // if name is already quoted, just trim if (preg_match('/^\s*`.+`\s*$/', $name)) { return trim($name); } $name = rtrim($name); // if name contains special characters, quote it $patn = ($allowBrackets) ? '\w$()\x80-\xff' : '\w$\x80-\xff'; if (preg_match('/[^'.$patn.']/', $name)) { return '`'.$name.'`'; } // if name contains only digits, quote it if (preg_match('/^\s*\d+$/', $name)) { return '`'.$name.'`'; } return $name; } protected function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned) { $suffix = ''; if ($funsigned) $suffix .= ' UNSIGNED'; if ($fnotnull) $suffix .= ' NOT NULL'; if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; if ($fautoinc) $suffix .= ' AUTO_INCREMENT'; if ($fconstraint) $suffix .= ' '.$fconstraint; return $suffix; } function _ProcessOptions($opts) { // fixes for old TYPE= stuff in tabopts. if( is_array($opts) && count($opts) ) { foreach( $opts as $key => &$val ) { if( startswith(strtolower($key),'mysql') ) { $val = preg_replace('/TYPE\s?=/i','ENGINE=',$val); } } } return $opts; } function _IndexSQL($idxname, $tabname, $flds, $idxoptions) { $sql = array(); if ( isset($idxoptions['REPLACE']) || isset($idxoptions['DROP']) ) { if ($this->alterTableAddIndex) $sql[] = "ALTER TABLE $tabname DROP INDEX $idxname"; else $sql[] = sprintf($this->dropIndex, $idxname, $tabname); if ( isset($idxoptions['DROP']) ) return $sql; } if ( empty ($flds) ) return $sql; if (isset($idxoptions['FULLTEXT'])) { $unique = ' FULLTEXT'; } elseif (isset($idxoptions['UNIQUE'])) { $unique = ' UNIQUE'; } else { $unique = ''; } if ( is_array($flds) ) $flds = implode(', ',$flds); if ($this->alterTableAddIndex) $s = "ALTER TABLE $tabname ADD $unique INDEX $idxname "; else $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname; $s .= ' (' . $flds . ')'; if( ($opts = $this->get_dbtype_options($idxoptions)) ) $s .= $opts; $sql[] = $s; return $sql; } function CreateTableSQL($tabname, $flds, $tableoptions=false) { $str = 'ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci'; $dbtype = $this->_DBType(); // clean up input tableoptions if( !$tableoptions ) { $tableoptions = [ $dbtype => $str ]; } else if( is_string($tableoptions) ) { $tableoptions = [ $dbtype => $tableoptions ]; } else if( is_array($tableoptions) && !isset($tableoptions[$dbtype]) && isset($tableoptions['mysql']) ) { $tableoptions[$dbtype] = $tableoptions['mysql']; } else if( is_array($tableoptions) && !isset($tableoptions[$dbtype]) && isset($tableoptions['MYSQL']) ) { $tableoptions[$dbtype] = $tableoptions['MYSQL']; } foreach( $tableoptions as $key => &$val ) { if( strpos($val,'TYPE=') !== FALSE ) $val = str_replace('TYPE=','ENGINE=',$val); } if( isset($tableoptions[$dbtype]) && strpos($tableoptions[$dbtype],'CHARACTER') === FALSE && strpos($tableoptions[$dbtype],'COLLATE') === FALSE ) { // if no character set and collate options specified, force UTF8 $tableoptions[$dbtype] .= " CHARACTER SET utf8 COLLATE utf8_general_ci"; } return parent::CreateTableSQL($tabname, $flds, $tableoptions); } } // end of class _connection = $conn; $this->_resultId = $resultId; $this->_pos = 0; $this->_nrows = 0; $this->_sql = $sql; if( is_object($resultId) ) $this->_nrows = mysqli_num_rows( $resultId ); if( !$this->EOF() ) $this->fetch_row(); } public function __destruct() { if( $this->resultId ) mysqli_free_result( $this->resultId ); } public function Close() { if( $this->resultId ) mysqli_free_result( $this->resultId ); $this->_fields = $this->resultId = null; } public function Fields( $key = null ) { $key = (string) $key; if( empty($key) ) return $this->_fields; return $this->fields[$key]; } public function RecordCount() { return $this->_nrows; } public function EOF() { return ($this->_nrows == 0 || $this->_pos < 0 || $this->_pos >= $this->_nrows); } protected function Move($idx) { if( $idx == $this->_pos ) return TRUE; if( $idx >= 0 && $idx < $this->_nrows ) { if( mysqli_data_seek($this->_resultId, $idx) ) { $this->_pos = $idx; $this->fetch_row(); return TRUE; } } $this->_pos = $this->_nrows; return FALSE; } public function MoveFirst() { if( $this->_pos == 0 ) return TRUE; return $this->Move(0); } public function MoveNext() { return $this->Move($this->_pos+1); } protected function fetch_row() { if( !$this->EOF() ) $this->_fields = mysqli_fetch_array($this->_resultId, MYSQLI_ASSOC); } } // end of class _stmt ) { $this->_stmt->free_result(); $this->_stmt->close(); } } protected function get_type_char($var) { $t = gettype($var); switch( $t ) { case 'double': return 'd'; case 'boolean': case 'integer': return 'i'; case 'string': default: return 's'; } } protected function set_bound_data($data) { $this->_data = $data; reset($this->_data); } protected function bind_params() { if( !$this->_stmt ) $this->prepare($this->sql); // get the type string $this->types = ''; $keys = null; $args = func_get_args(); if( count($args) == 1 && is_array($args) && is_array($args[0]) ) { // we expect that the data is an associtive array $row = $args[0]; foreach( $row as $key => $val ) { $this->_types .= $this->get_type_char($val); } $this->_bind = array_values($row); $keys = array_keys($row); } else { // function called with numerous parameters... get their types $keys = array_keys($args); foreach( $args as $val ) { $this->_types .= $this->get_type_char($val); } $this->_bind = array_values($args); } $this->_bound = array(); $this->_bound[] =& $this->_types; for( $i = 0; $i < count($keys); $i++ ) { $this->_bound[] =& $this->_bind[$i]; } call_user_func_array(array($this->_stmt,'bind_param'),$this->_bound); } protected function prepare($sql) { $conn = $this->db->get_inner_mysql(); if( !$conn || !$this->db->IsConnected() ) throw new \LogicException('Attempt to create prepared statement when database is not connected'); $this->_stmt = $conn->prepare( (string) $sql ); if( !$this->_stmt ) throw new \LogicException('Could not prepare a statement: '.$conn->error); $this->_row = null; $this->_pos = 0; } public function Bind(array $data) { parent::Bind($data); $first = $data[0]; $this->bind_params($first); } public function EOF() { if( $this->_meta ) return ($this->_pos >= $this->_num_rows); if( !$this->_data ) return TRUE; return (current($this->_data) === FALSE); } public function MoveFirst() { if( $this->_meta ) $this->_stmt->data_seek(0); if( $this->_data ) reset($this->_data); } public function MoveNext() { if( $this->_meta ) $this->_pos = $this->_pos + 1; if( $this->_data ) next($this->_data); } public function Fields($col = null) { $row = null; if( $this->_stmt ) { $this->_stmt->fetch(); $row = $this->_row; } if( !$row && $this->_data ) $row = current($this->_data); if( !$row ) return; // nothing if( $col ) { if( isset($row[$col]) ) return $row[$col]; } else { return $row; } } public function Execute() { if( !$this->_stmt ) $this->prepare($this->_sql); $args = func_get_args(); if( count($args) == 1 && is_array($args) && is_array($args[0]) ) $args = $args[0]; /* if we have param count, find some arguments... either via the execute method... or via bound params */ $pc = $this->_stmt->param_count; $fc = $this->_stmt->field_count; if( $args ) { $this->_data = $args; $this->bind_params($args); } if( $pc ) { // we are expecting paramers if( !count($args) ) { // get the arguments via the bound data current row. if( !$this->_bind ) throw new \LogicException('No bound parameters, and no arguments passed'); if( count($this->_bind) != $pc ) throw new \LogicException('Incorrect number of bound parameters. Expecting '.$this->_stmt->field_count); $args = $this->Fields(); } } if( $pc != count($args) ) throw new \LogicException('Incorrect number of arguments. Expecting '.$pc); if( $args ) { // update bound values $keys = array_keys($args); for( $i = 0; $i < count($this->_bind); $i++ ) { $this->_bind[$i] = $args[$keys[$i]]; } } $res = $this->_stmt->execute(); if( !$res ) die('ERROR: '.$this->_stmt->error."\n"); $this->_stmt->store_result(); $meta = $this->_stmt->result_metadata(); if( !$this->_meta && $meta ) { $this->_num_rows = $this->_stmt->num_rows; $this->_meta = $meta; $this->_row = array(); while( $field = $this->_meta->fetch_field() ) { $this->_row[$field->name] = null; $params[] =& $this->_row[$field->name]; } call_user_func_array(array($this->_stmt,'bind_result'),$params); } } } 'Smarty.class.php'); /** * Registers Smarty_Autoloader backward compatible to older installations. * * @param bool $prepend Whether to prepend the autoloader or not. */ public static function registerBC($prepend = false) { /** * register the class autoloader */ if (!defined('SMARTY_SPL_AUTOLOAD')) { define('SMARTY_SPL_AUTOLOAD', 0); } if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false ) { $registeredAutoLoadFunctions = spl_autoload_functions(); if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) { spl_autoload_register(); } } else { self::register($prepend); } } /** * Registers Smarty_Autoloader as an SPL autoloader. * * @param bool $prepend Whether to prepend the autoloader or not. */ public static function register($prepend = false) { self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR; self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR : self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR; spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); } /** * Handles auto loading of classes. * * @param string $class A class name. */ public static function autoload($class) { if ($class[ 0 ] !== 'S' || strpos($class, 'Smarty') !== 0) { return; } $_class = strtolower($class); if (isset(self::$rootClasses[ $_class ])) { $file = self::$SMARTY_DIR . self::$rootClasses[ $_class ]; if (is_file($file)) { include $file; } } else { $file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php'; if (is_file($file)) { include $file; } } return; } } * @author Uwe Tews * @author Rodney Rehm * @package Smarty */ /** * set SMARTY_DIR to absolute path to Smarty library files. * Sets SMARTY_DIR only if user application has not already defined it. */ if (!defined('SMARTY_DIR')) { /** * */ define('SMARTY_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); } /** * set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins. * Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it. */ if (!defined('SMARTY_SYSPLUGINS_DIR')) { /** * */ define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR); } if (!defined('SMARTY_PLUGINS_DIR')) { /** * */ define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DIRECTORY_SEPARATOR); } if (!defined('SMARTY_MBSTRING')) { /** * */ define('SMARTY_MBSTRING', function_exists('mb_get_info')); } /** * Load Smarty_Autoloader */ if (!class_exists('Smarty_Autoloader')) { include dirname(__FILE__) . '/bootstrap.php'; } /** * Load always needed external class files */ require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_extension_handler.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_variable.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_source.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_resource_base.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_resource_file.php'; /** * This is the main Smarty class * * @package Smarty * * The following methods will be dynamically loaded by the extension handler when they are called. * They are located in a corresponding Smarty_Internal_Method_xxxx class * * @method int clearAllCache(int $exp_time = null, string $type = null) * @method int clearCache(string $template_name, string $cache_id = null, string $compile_id = null, int $exp_time = null, string $type = null) * @method int compileAllTemplates(string $extension = '.tpl', bool $force_compile = false, int $time_limit = 0, $max_errors = null) * @method int compileAllConfig(string $extension = '.conf', bool $force_compile = false, int $time_limit = 0, $max_errors = null) * @method int clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) */ class Smarty extends Smarty_Internal_TemplateBase { /** * smarty version */ const SMARTY_VERSION = '4.2.1'; /** * define variable scopes */ const SCOPE_LOCAL = 1; const SCOPE_PARENT = 2; const SCOPE_TPL_ROOT = 4; const SCOPE_ROOT = 8; const SCOPE_SMARTY = 16; const SCOPE_GLOBAL = 32; /** * define caching modes */ const CACHING_OFF = 0; const CACHING_LIFETIME_CURRENT = 1; const CACHING_LIFETIME_SAVED = 2; /** * define constant for clearing cache files be saved expiration dates */ const CLEAR_EXPIRED = -1; /** * define compile check modes */ const COMPILECHECK_OFF = 0; const COMPILECHECK_ON = 1; const COMPILECHECK_CACHEMISS = 2; /** * define debug modes */ const DEBUG_OFF = 0; const DEBUG_ON = 1; const DEBUG_INDIVIDUAL = 2; /** * filter types */ const FILTER_POST = 'post'; const FILTER_PRE = 'pre'; const FILTER_OUTPUT = 'output'; const FILTER_VARIABLE = 'variable'; /** * plugin types */ const PLUGIN_FUNCTION = 'function'; const PLUGIN_BLOCK = 'block'; const PLUGIN_COMPILER = 'compiler'; const PLUGIN_MODIFIER = 'modifier'; const PLUGIN_MODIFIERCOMPILER = 'modifiercompiler'; /** * assigned global tpl vars */ public static $global_tpl_vars = array(); /** * Flag denoting if Multibyte String functions are available */ public static $_MBSTRING = SMARTY_MBSTRING; /** * The character set to adhere to (e.g. "UTF-8") */ public static $_CHARSET = SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1'; /** * The date format to be used internally * (accepts date() and strftime()) */ public static $_DATE_FORMAT = '%b %e, %Y'; /** * Flag denoting if PCRE should run in UTF-8 mode */ public static $_UTF8_MODIFIER = 'u'; /** * Flag denoting if operating system is windows */ public static $_IS_WINDOWS = false; /** * auto literal on delimiters with whitespace * * @var boolean */ public $auto_literal = true; /** * display error on not assigned variables * * @var boolean */ public $error_unassigned = false; /** * look up relative file path in include_path * * @var boolean */ public $use_include_path = false; /** * flag if template_dir is normalized * * @var bool */ public $_templateDirNormalized = false; /** * joined template directory string used in cache keys * * @var string */ public $_joined_template_dir = null; /** * flag if config_dir is normalized * * @var bool */ public $_configDirNormalized = false; /** * joined config directory string used in cache keys * * @var string */ public $_joined_config_dir = null; /** * default template handler * * @var callable */ public $default_template_handler_func = null; /** * default config handler * * @var callable */ public $default_config_handler_func = null; /** * default plugin handler * * @var callable */ public $default_plugin_handler_func = null; /** * flag if template_dir is normalized * * @var bool */ public $_compileDirNormalized = false; /** * flag if plugins_dir is normalized * * @var bool */ public $_pluginsDirNormalized = false; /** * flag if template_dir is normalized * * @var bool */ public $_cacheDirNormalized = false; /** * force template compiling? * * @var boolean */ public $force_compile = false; /** * use sub dirs for compiled/cached files? * * @var boolean */ public $use_sub_dirs = false; /** * allow ambiguous resources (that are made unique by the resource handler) * * @var boolean */ public $allow_ambiguous_resources = false; /** * merge compiled includes * * @var boolean */ public $merge_compiled_includes = false; /* * flag for behaviour when extends: resource and {extends} tag are used simultaneous * if false disable execution of {extends} in templates called by extends resource. * (behaviour as versions < 3.1.28) * * @var boolean */ public $extends_recursion = true; /** * force cache file creation * * @var boolean */ public $force_cache = false; /** * template left-delimiter * * @var string */ public $left_delimiter = "{"; /** * template right-delimiter * * @var string */ public $right_delimiter = "}"; /** * array of strings which shall be treated as literal by compiler * * @var array string */ public $literals = array(); /** * class name * This should be instance of Smarty_Security. * * @var string * @see Smarty_Security */ public $security_class = 'Smarty_Security'; /** * implementation of security class * * @var Smarty_Security */ public $security_policy = null; /** * controls if the php template file resource is allowed * * @var bool */ public $allow_php_templates = false; /** * debug mode * Setting this to true enables the debug-console. * * @var boolean */ public $debugging = false; /** * This determines if debugging is enable-able from the browser. *
      *
    • NONE => no debugging control allowed
    • *
    • URL => enable debugging when SMARTY_DEBUG is found in the URL.
    • *
    * * @var string */ public $debugging_ctrl = 'NONE'; /** * Name of debugging URL-param. * Only used when $debugging_ctrl is set to 'URL'. * The name of the URL-parameter that activates debugging. * * @var string */ public $smarty_debug_id = 'SMARTY_DEBUG'; /** * Path of debug template. * * @var string */ public $debug_tpl = null; /** * When set, smarty uses this value as error_reporting-level. * * @var int */ public $error_reporting = null; /** * Controls whether variables with the same name overwrite each other. * * @var boolean */ public $config_overwrite = true; /** * Controls whether config values of on/true/yes and off/false/no get converted to boolean. * * @var boolean */ public $config_booleanize = true; /** * Controls whether hidden config sections/vars are read from the file. * * @var boolean */ public $config_read_hidden = false; /** * locking concurrent compiles * * @var boolean */ public $compile_locking = true; /** * Controls whether cache resources should use locking mechanism * * @var boolean */ public $cache_locking = false; /** * seconds to wait for acquiring a lock before ignoring the write lock * * @var float */ public $locking_timeout = 10; /** * resource type used if none given * Must be an valid key of $registered_resources. * * @var string */ public $default_resource_type = 'file'; /** * caching type * Must be an element of $cache_resource_types. * * @var string */ public $caching_type = 'file'; /** * config type * * @var string */ public $default_config_type = 'file'; /** * check If-Modified-Since headers * * @var boolean */ public $cache_modified_check = false; /** * registered plugins * * @var array */ public $registered_plugins = array(); /** * registered objects * * @var array */ public $registered_objects = array(); /** * registered classes * * @var array */ public $registered_classes = array(); /** * registered filters * * @var array */ public $registered_filters = array(); /** * registered resources * * @var array */ public $registered_resources = array(); /** * registered cache resources * * @var array */ public $registered_cache_resources = array(); /** * autoload filter * * @var array */ public $autoload_filters = array(); /** * default modifier * * @var array */ public $default_modifiers = array(); /** * autoescape variable output * * @var boolean */ public $escape_html = false; /** * start time for execution time calculation * * @var int */ public $start_time = 0; /** * required by the compiler for BC * * @var string */ public $_current_file = null; /** * internal flag to enable parser debugging * * @var bool */ public $_parserdebug = false; /** * This object type (Smarty = 1, template = 2, data = 4) * * @var int */ public $_objType = 1; /** * Debug object * * @var Smarty_Internal_Debug */ public $_debug = null; /** * template directory * * @var array */ protected $template_dir = array('./templates/'); /** * flags for normalized template directory entries * * @var array */ protected $_processedTemplateDir = array(); /** * config directory * * @var array */ protected $config_dir = array('./configs/'); /** * flags for normalized template directory entries * * @var array */ protected $_processedConfigDir = array(); /** * compile directory * * @var string */ protected $compile_dir = './templates_c/'; /** * plugins directory * * @var array */ protected $plugins_dir = array(); /** * cache directory * * @var string */ protected $cache_dir = './cache/'; /** * removed properties * * @var string[] */ protected $obsoleteProperties = array( 'resource_caching', 'template_resource_caching', 'direct_access_security', '_dir_perms', '_file_perms', 'plugin_search_order', 'inheritance_merge_compiled_includes', 'resource_cache_mode', ); /** * List of private properties which will call getter/setter on a direct access * * @var string[] */ protected $accessMap = array( 'template_dir' => 'TemplateDir', 'config_dir' => 'ConfigDir', 'plugins_dir' => 'PluginsDir', 'compile_dir' => 'CompileDir', 'cache_dir' => 'CacheDir', ); /** * PHP7 Compatibility mode * @var bool */ private $isMutingUndefinedOrNullWarnings = false; /** * Initialize new Smarty object */ public function __construct() { $this->_clearTemplateCache(); parent::__construct(); if (is_callable('mb_internal_encoding')) { mb_internal_encoding(Smarty::$_CHARSET); } $this->start_time = microtime(true); if (isset($_SERVER[ 'SCRIPT_NAME' ])) { Smarty::$global_tpl_vars[ 'SCRIPT_NAME' ] = new Smarty_Variable($_SERVER[ 'SCRIPT_NAME' ]); } // Check if we're running on windows Smarty::$_IS_WINDOWS = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; // let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 if (Smarty::$_CHARSET !== 'UTF-8') { Smarty::$_UTF8_MODIFIER = ''; } } /** * Check if a template resource exists * * @param string $resource_name template name * * @return bool status * @throws \SmartyException */ public function templateExists($resource_name) { // create source object $source = Smarty_Template_Source::load(null, $this, $resource_name); return $source->exists; } /** * Loads security class and enables security * * @param string|Smarty_Security $security_class if a string is used, it must be class-name * * @return Smarty current Smarty instance for chaining * @throws \SmartyException */ public function enableSecurity($security_class = null) { Smarty_Security::enableSecurity($this, $security_class); return $this; } /** * Disable security * * @return Smarty current Smarty instance for chaining */ public function disableSecurity() { $this->security_policy = null; return $this; } /** * Add template directory(s) * * @param string|array $template_dir directory(s) of template sources * @param string $key of the array element to assign the template dir to * @param bool $isConfig true for config_dir * * @return Smarty current Smarty instance for chaining */ public function addTemplateDir($template_dir, $key = null, $isConfig = false) { if ($isConfig) { $processed = &$this->_processedConfigDir; $dir = &$this->config_dir; $this->_configDirNormalized = false; } else { $processed = &$this->_processedTemplateDir; $dir = &$this->template_dir; $this->_templateDirNormalized = false; } if (is_array($template_dir)) { foreach ($template_dir as $k => $v) { if (is_int($k)) { // indexes are not merged but appended $dir[] = $v; } else { // string indexes are overridden $dir[ $k ] = $v; unset($processed[ $key ]); } } } else { if ($key !== null) { // override directory at specified index $dir[ $key ] = $template_dir; unset($processed[ $key ]); } else { // append new directory $dir[] = $template_dir; } } return $this; } /** * Get template directories * * @param mixed $index index of directory to get, null to get all * @param bool $isConfig true for config_dir * * @return array|string list of template directories, or directory of $index */ public function getTemplateDir($index = null, $isConfig = false) { if ($isConfig) { $dir = &$this->config_dir; } else { $dir = &$this->template_dir; } if ($isConfig ? !$this->_configDirNormalized : !$this->_templateDirNormalized) { $this->_normalizeTemplateConfig($isConfig); } if ($index !== null) { return isset($dir[ $index ]) ? $dir[ $index ] : null; } return $dir; } /** * Set template directory * * @param string|array $template_dir directory(s) of template sources * @param bool $isConfig true for config_dir * * @return \Smarty current Smarty instance for chaining */ public function setTemplateDir($template_dir, $isConfig = false) { if ($isConfig) { $this->config_dir = array(); $this->_processedConfigDir = array(); } else { $this->template_dir = array(); $this->_processedTemplateDir = array(); } $this->addTemplateDir($template_dir, null, $isConfig); return $this; } /** * Add config directory(s) * * @param string|array $config_dir directory(s) of config sources * @param mixed $key key of the array element to assign the config dir to * * @return Smarty current Smarty instance for chaining */ public function addConfigDir($config_dir, $key = null) { return $this->addTemplateDir($config_dir, $key, true); } /** * Get config directory * * @param mixed $index index of directory to get, null to get all * * @return array configuration directory */ public function getConfigDir($index = null) { return $this->getTemplateDir($index, true); } /** * Set config directory * * @param $config_dir * * @return Smarty current Smarty instance for chaining */ public function setConfigDir($config_dir) { return $this->setTemplateDir($config_dir, true); } /** * Adds directory of plugin files * * @param null|array|string $plugins_dir * * @return Smarty current Smarty instance for chaining */ public function addPluginsDir($plugins_dir) { if (empty($this->plugins_dir)) { $this->plugins_dir[] = SMARTY_PLUGINS_DIR; } $this->plugins_dir = array_merge($this->plugins_dir, (array)$plugins_dir); $this->_pluginsDirNormalized = false; return $this; } /** * Get plugin directories * * @return array list of plugin directories */ public function getPluginsDir() { if (empty($this->plugins_dir)) { $this->plugins_dir[] = SMARTY_PLUGINS_DIR; $this->_pluginsDirNormalized = false; } if (!$this->_pluginsDirNormalized) { if (!is_array($this->plugins_dir)) { $this->plugins_dir = (array)$this->plugins_dir; } foreach ($this->plugins_dir as $k => $v) { $this->plugins_dir[ $k ] = $this->_realpath(rtrim($v ?? '', '/\\') . DIRECTORY_SEPARATOR, true); } $this->_cache[ 'plugin_files' ] = array(); $this->_pluginsDirNormalized = true; } return $this->plugins_dir; } /** * Set plugins directory * * @param string|array $plugins_dir directory(s) of plugins * * @return Smarty current Smarty instance for chaining */ public function setPluginsDir($plugins_dir) { $this->plugins_dir = (array)$plugins_dir; $this->_pluginsDirNormalized = false; return $this; } /** * Get compiled directory * * @return string path to compiled templates */ public function getCompileDir() { if (!$this->_compileDirNormalized) { $this->_normalizeDir('compile_dir', $this->compile_dir); $this->_compileDirNormalized = true; } return $this->compile_dir; } /** * * @param string $compile_dir directory to store compiled templates in * * @return Smarty current Smarty instance for chaining */ public function setCompileDir($compile_dir) { $this->_normalizeDir('compile_dir', $compile_dir); $this->_compileDirNormalized = true; return $this; } /** * Get cache directory * * @return string path of cache directory */ public function getCacheDir() { if (!$this->_cacheDirNormalized) { $this->_normalizeDir('cache_dir', $this->cache_dir); $this->_cacheDirNormalized = true; } return $this->cache_dir; } /** * Set cache directory * * @param string $cache_dir directory to store cached templates in * * @return Smarty current Smarty instance for chaining */ public function setCacheDir($cache_dir) { $this->_normalizeDir('cache_dir', $cache_dir); $this->_cacheDirNormalized = true; return $this; } /** * creates a template object * * @param string $template the resource handle of the template file * @param mixed $cache_id cache id to be used with this template * @param mixed $compile_id compile id to be used with this template * @param object $parent next higher level of Smarty variables * @param boolean $do_clone flag is Smarty object shall be cloned * * @return \Smarty_Internal_Template template object * @throws \SmartyException */ public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) { if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) { $parent = $cache_id; $cache_id = null; } if ($parent !== null && is_array($parent)) { $data = $parent; $parent = null; } else { $data = null; } if (!$this->_templateDirNormalized) { $this->_normalizeTemplateConfig(false); } $_templateId = $this->_getTemplateId($template, $cache_id, $compile_id); $tpl = null; if ($this->caching && isset(Smarty_Internal_Template::$isCacheTplObj[ $_templateId ])) { $tpl = $do_clone ? clone Smarty_Internal_Template::$isCacheTplObj[ $_templateId ] : Smarty_Internal_Template::$isCacheTplObj[ $_templateId ]; $tpl->inheritance = null; $tpl->tpl_vars = $tpl->config_vars = array(); } elseif (!$do_clone && isset(Smarty_Internal_Template::$tplObjCache[ $_templateId ])) { $tpl = clone Smarty_Internal_Template::$tplObjCache[ $_templateId ]; $tpl->inheritance = null; $tpl->tpl_vars = $tpl->config_vars = array(); } else { /* @var Smarty_Internal_Template $tpl */ $tpl = new $this->template_class($template, $this, null, $cache_id, $compile_id, null, null); $tpl->templateId = $_templateId; } if ($do_clone) { $tpl->smarty = clone $tpl->smarty; } $tpl->parent = $parent ? $parent : $this; // fill data if present if (!empty($data) && is_array($data)) { // set up variable values foreach ($data as $_key => $_val) { $tpl->tpl_vars[ $_key ] = new Smarty_Variable($_val); } } if ($this->debugging || $this->debugging_ctrl === 'URL') { $tpl->smarty->_debug = new Smarty_Internal_Debug(); // check URL debugging control if (!$this->debugging && $this->debugging_ctrl === 'URL') { $tpl->smarty->_debug->debugUrl($tpl->smarty); } } return $tpl; } /** * Takes unknown classes and loads plugin files for them * class name format: Smarty_PluginType_PluginName * plugin filename format: plugintype.pluginname.php * * @param string $plugin_name class plugin name to load * @param bool $check check if already loaded * * @return string |boolean filepath of loaded file or false * @throws \SmartyException */ public function loadPlugin($plugin_name, $check = true) { return $this->ext->loadPlugin->loadPlugin($this, $plugin_name, $check); } /** * Get unique template id * * @param string $template_name * @param null|mixed $cache_id * @param null|mixed $compile_id * @param null $caching * @param \Smarty_Internal_Template $template * * @return string * @throws \SmartyException */ public function _getTemplateId( $template_name, $cache_id = null, $compile_id = null, $caching = null, Smarty_Internal_Template $template = null ) { $template_name = (strpos($template_name, ':') === false) ? "{$this->default_resource_type}:{$template_name}" : $template_name; $cache_id = $cache_id === null ? $this->cache_id : $cache_id; $compile_id = $compile_id === null ? $this->compile_id : $compile_id; $caching = (int)($caching === null ? $this->caching : $caching); if ((isset($template) && strpos($template_name, ':.') !== false) || $this->allow_ambiguous_resources) { $_templateId = Smarty_Resource::getUniqueTemplateName((isset($template) ? $template : $this), $template_name) . "#{$cache_id}#{$compile_id}#{$caching}"; } else { $_templateId = $this->_joined_template_dir . "#{$template_name}#{$cache_id}#{$compile_id}#{$caching}"; } if (isset($_templateId[ 150 ])) { $_templateId = sha1($_templateId); } return $_templateId; } /** * Normalize path * - remove /./ and /../ * - make it absolute if required * * @param string $path file path * @param bool $realpath if true - convert to absolute * false - convert to relative * null - keep as it is but * remove /./ /../ * * @return string */ public function _realpath($path, $realpath = null) { $nds = array('/' => '\\', '\\' => '/'); preg_match( '%^(?(?:[[:alpha:]]:[\\\\/]|/|[\\\\]{2}[[:alpha:]]+|[[:print:]]{2,}:[/]{2}|[\\\\])?)(?(.*))$%u', $path, $parts ); $path = $parts[ 'path' ]; if ($parts[ 'root' ] === '\\') { $parts[ 'root' ] = substr(getcwd(), 0, 2) . $parts[ 'root' ]; } else { if ($realpath !== null && !$parts[ 'root' ]) { $path = getcwd() . DIRECTORY_SEPARATOR . $path; } } // normalize DIRECTORY_SEPARATOR $path = str_replace($nds[ DIRECTORY_SEPARATOR ], DIRECTORY_SEPARATOR, $path); $parts[ 'root' ] = str_replace($nds[ DIRECTORY_SEPARATOR ], DIRECTORY_SEPARATOR, $parts[ 'root' ]); do { $path = preg_replace( array('#[\\\\/]{2}#', '#[\\\\/][.][\\\\/]#', '#[\\\\/]([^\\\\/.]+)[\\\\/][.][.][\\\\/]#'), DIRECTORY_SEPARATOR, $path, -1, $count ); } while ($count > 0); return $realpath !== false ? $parts[ 'root' ] . $path : str_ireplace(getcwd(), '.', $parts[ 'root' ] . $path); } /** * Empty template objects cache */ public function _clearTemplateCache() { Smarty_Internal_Template::$isCacheTplObj = array(); Smarty_Internal_Template::$tplObjCache = array(); } /** * @param boolean $use_sub_dirs */ public function setUseSubDirs($use_sub_dirs) { $this->use_sub_dirs = $use_sub_dirs; } /** * @param int $error_reporting */ public function setErrorReporting($error_reporting) { $this->error_reporting = $error_reporting; } /** * @param boolean $escape_html */ public function setEscapeHtml($escape_html) { $this->escape_html = $escape_html; } /** * Return auto_literal flag * * @return boolean */ public function getAutoLiteral() { return $this->auto_literal; } /** * Set auto_literal flag * * @param boolean $auto_literal */ public function setAutoLiteral($auto_literal = true) { $this->auto_literal = $auto_literal; } /** * @param boolean $force_compile */ public function setForceCompile($force_compile) { $this->force_compile = $force_compile; } /** * @param boolean $merge_compiled_includes */ public function setMergeCompiledIncludes($merge_compiled_includes) { $this->merge_compiled_includes = $merge_compiled_includes; } /** * Get left delimiter * * @return string */ public function getLeftDelimiter() { return $this->left_delimiter; } /** * Set left delimiter * * @param string $left_delimiter */ public function setLeftDelimiter($left_delimiter) { $this->left_delimiter = $left_delimiter; } /** * Get right delimiter * * @return string $right_delimiter */ public function getRightDelimiter() { return $this->right_delimiter; } /** * Set right delimiter * * @param string */ public function setRightDelimiter($right_delimiter) { $this->right_delimiter = $right_delimiter; } /** * @param boolean $debugging */ public function setDebugging($debugging) { $this->debugging = $debugging; } /** * @param boolean $config_overwrite */ public function setConfigOverwrite($config_overwrite) { $this->config_overwrite = $config_overwrite; } /** * @param boolean $config_booleanize */ public function setConfigBooleanize($config_booleanize) { $this->config_booleanize = $config_booleanize; } /** * @param boolean $config_read_hidden */ public function setConfigReadHidden($config_read_hidden) { $this->config_read_hidden = $config_read_hidden; } /** * @param boolean $compile_locking */ public function setCompileLocking($compile_locking) { $this->compile_locking = $compile_locking; } /** * @param string $default_resource_type */ public function setDefaultResourceType($default_resource_type) { $this->default_resource_type = $default_resource_type; } /** * @param string $caching_type */ public function setCachingType($caching_type) { $this->caching_type = $caching_type; } /** * Test install * * @param null $errors */ public function testInstall(&$errors = null) { Smarty_Internal_TestInstall::testInstall($this, $errors); } /** * Get Smarty object * * @return Smarty */ public function _getSmartyObj() { return $this; } /** * <> Generic getter. * Calls the appropriate getter function. * Issues an E_USER_NOTICE if no valid getter is found. * * @param string $name property name * * @return mixed */ public function __get($name) { if (isset($this->accessMap[ $name ])) { $method = 'get' . $this->accessMap[ $name ]; return $this->{$method}(); } elseif (isset($this->_cache[ $name ])) { return $this->_cache[ $name ]; } elseif (in_array($name, $this->obsoleteProperties)) { return null; } else { trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); } return null; } /** * <> Generic setter. * Calls the appropriate setter function. * Issues an E_USER_NOTICE if no valid setter is found. * * @param string $name property name * @param mixed $value parameter passed to setter * */ public function __set($name, $value) { if (isset($this->accessMap[ $name ])) { $method = 'set' . $this->accessMap[ $name ]; $this->{$method}($value); } elseif (in_array($name, $this->obsoleteProperties)) { return; } elseif (is_object($value) && method_exists($value, $name)) { $this->$name = $value; } else { trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); } } /** * Normalize and set directory string * * @param string $dirName cache_dir or compile_dir * @param string $dir filepath of folder */ private function _normalizeDir($dirName, $dir) { $this->{$dirName} = $this->_realpath(rtrim($dir ?? '', "/\\") . DIRECTORY_SEPARATOR, true); } /** * Normalize template_dir or config_dir * * @param bool $isConfig true for config_dir */ private function _normalizeTemplateConfig($isConfig) { if ($isConfig) { $processed = &$this->_processedConfigDir; $dir = &$this->config_dir; } else { $processed = &$this->_processedTemplateDir; $dir = &$this->template_dir; } if (!is_array($dir)) { $dir = (array)$dir; } foreach ($dir as $k => $v) { if (!isset($processed[ $k ])) { $dir[ $k ] = $v = $this->_realpath(rtrim($v ?? '', "/\\") . DIRECTORY_SEPARATOR, true); $processed[ $k ] = true; } } $isConfig ? $this->_configDirNormalized = true : $this->_templateDirNormalized = true; $isConfig ? $this->_joined_config_dir = join('#', $this->config_dir) : $this->_joined_template_dir = join('#', $this->template_dir); } /** * Activates PHP7 compatibility mode: * - converts E_WARNINGS for "undefined array key" and "trying to read property of null" errors to E_NOTICE * * @void */ public function muteUndefinedOrNullWarnings(): void { $this->isMutingUndefinedOrNullWarnings = true; } /** * Indicates if PHP7 compatibility mode is set. * @bool */ public function isMutingUndefinedOrNullWarnings(): bool { return $this->isMutingUndefinedOrNullWarnings; } } * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * Load and register Smarty Autoloader */ if (!class_exists('Smarty_Autoloader')) { include dirname(__FILE__) . '/Autoloader.php'; } Smarty_Autoloader::register(true); {capture name='_smarty_debug' assign=debug_output} Smarty Debug Console

    Smarty {Smarty::SMARTY_VERSION} Debug Console - {if isset($template_name)}{$template_name|debug_print_var nofilter} {/if}{if !empty($template_data)}Total Time {$execution_time|string_format:"%.5f"}{/if}

    {if !empty($template_data)}

    included templates & config files (load time in seconds)

    {foreach $template_data as $template} {$template.name}
       (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
    {/foreach}
    {/if}

    assigned template variables

    {foreach $assigned_vars as $vars} {/foreach}

    ${$vars@key}

    {if isset($vars['nocache'])}Nocache
    {/if} {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if}

    Value

    {$vars['value']|debug_print_var:10:80 nofilter}
    {if isset($vars['attributes'])}

    Attributes

    {$vars['attributes']|debug_print_var nofilter} {/if}

    assigned config file variables

    {foreach $config_vars as $vars} {/foreach}

    #{$vars@key}#

    {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if}
    {$vars['value']|debug_print_var:10:80 nofilter}
    {/capture} * @throws \SmartyException */ function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat) { if (is_null($content)) { return; } if (Smarty::$_MBSTRING) { $template->_checkPlugins( array( array( 'function' => 'smarty_modifier_mb_wordwrap', 'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php' ) ) ); } $style = null; $indent = 0; $indent_first = 0; $indent_char = ' '; $wrap = 80; $wrap_char = "\n"; $wrap_cut = false; $assign = null; foreach ($params as $_key => $_val) { switch ($_key) { case 'style': case 'indent_char': case 'wrap_char': case 'assign': $$_key = (string)$_val; break; case 'indent': case 'indent_first': case 'wrap': $$_key = (int)$_val; break; case 'wrap_cut': $$_key = (bool)$_val; break; default: trigger_error("textformat: unknown attribute '{$_key}'"); } } if ($style === 'email') { $wrap = 72; } // split into paragraphs $_paragraphs = preg_split('![\r\n]{2}!', $content); foreach ($_paragraphs as &$_paragraph) { if (!$_paragraph) { continue; } // convert mult. spaces & special chars to single space $_paragraph = preg_replace( array( '!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER ), array( ' ', '' ), $_paragraph ); // indent first line if ($indent_first > 0) { $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph; } // wordwrap sentences if (Smarty::$_MBSTRING) { $_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } else { $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } // indent lines if ($indent > 0) { $_paragraph = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraph); } } $_output = implode($wrap_char . $wrap_char, $_paragraphs); if ($assign) { $template->assign($assign, $_output); } else { return $_output; } } * @link https://www.smarty.net/manual/en/language.function.counter.php {counter} * (Smarty online manual) * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string|null */ function smarty_function_counter($params, $template) { static $counters = array(); $name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default'; if (!isset($counters[ $name ])) { $counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1); } $counter =& $counters[ $name ]; if (isset($params[ 'start' ])) { $counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ]; } if (!empty($params[ 'assign' ])) { $counter[ 'assign' ] = $params[ 'assign' ]; } if (isset($counter[ 'assign' ])) { $template->assign($counter[ 'assign' ], $counter[ 'count' ]); } if (isset($params[ 'print' ])) { $print = (bool)$params[ 'print' ]; } else { $print = empty($counter[ 'assign' ]); } if ($print) { $retval = $counter[ 'count' ]; } else { $retval = null; } if (isset($params[ 'skip' ])) { $counter[ 'skip' ] = $params[ 'skip' ]; } if (isset($params[ 'direction' ])) { $counter[ 'direction' ] = $params[ 'direction' ]; } if ($counter[ 'direction' ] === 'down') { $counter[ 'count' ] -= $counter[ 'skip' ]; } else { $counter[ 'count' ] += $counter[ 'skip' ]; } return $retval; } * @author credit to Mark Priatel * @author credit to Gerard * @author credit to Jason Sweat * @version 1.3 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string|null */ function smarty_function_cycle($params, $template) { static $cycle_vars; $name = (empty($params[ 'name' ])) ? 'default' : $params[ 'name' ]; $print = (isset($params[ 'print' ])) ? (bool)$params[ 'print' ] : true; $advance = (isset($params[ 'advance' ])) ? (bool)$params[ 'advance' ] : true; $reset = (isset($params[ 'reset' ])) ? (bool)$params[ 'reset' ] : false; if (!isset($params[ 'values' ])) { if (!isset($cycle_vars[ $name ][ 'values' ])) { trigger_error('cycle: missing \'values\' parameter'); return; } } else { if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] !== $params[ 'values' ]) { $cycle_vars[ $name ][ 'index' ] = 0; } $cycle_vars[ $name ][ 'values' ] = $params[ 'values' ]; } if (isset($params[ 'delimiter' ])) { $cycle_vars[ $name ][ 'delimiter' ] = $params[ 'delimiter' ]; } elseif (!isset($cycle_vars[ $name ][ 'delimiter' ])) { $cycle_vars[ $name ][ 'delimiter' ] = ','; } if (is_array($cycle_vars[ $name ][ 'values' ])) { $cycle_array = $cycle_vars[ $name ][ 'values' ]; } else { $cycle_array = explode($cycle_vars[ $name ][ 'delimiter' ], $cycle_vars[ $name ][ 'values' ]); } if (!isset($cycle_vars[ $name ][ 'index' ]) || $reset) { $cycle_vars[ $name ][ 'index' ] = 0; } if (isset($params[ 'assign' ])) { $print = false; $template->assign($params[ 'assign' ], $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]); } if ($print) { $retval = $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]; } else { $retval = null; } if ($advance) { if ($cycle_vars[ $name ][ 'index' ] >= count($cycle_array) - 1) { $cycle_vars[ $name ][ 'index' ] = 0; } else { $cycle_vars[ $name ][ 'index' ]++; } } return $retval; } * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @throws SmartyException * @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable */ function smarty_function_fetch($params, $template) { if (empty($params[ 'file' ])) { trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE); return; } // strip file protocol if (stripos($params[ 'file' ], 'file://') === 0) { $params[ 'file' ] = substr($params[ 'file' ], 7); } $protocol = strpos($params[ 'file' ], '://'); if ($protocol !== false) { $protocol = strtolower(substr($params[ 'file' ], 0, $protocol)); } if (isset($template->smarty->security_policy)) { if ($protocol) { // remote resource (or php stream, …) if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) { return; } } else { // local file if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) { return; } } } $content = ''; if ($protocol === 'http') { // http fetch if ($uri_parts = parse_url($params[ 'file' ])) { // set defaults $host = $server_name = $uri_parts[ 'host' ]; $timeout = 30; $accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'; $agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION; $referer = ''; $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/'; $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : ''; $_is_proxy = false; if (empty($uri_parts[ 'port' ])) { $port = 80; } else { $port = $uri_parts[ 'port' ]; } if (!empty($uri_parts[ 'user' ])) { $user = $uri_parts[ 'user' ]; } if (!empty($uri_parts[ 'pass' ])) { $pass = $uri_parts[ 'pass' ]; } // loop through parameters, setup headers foreach ($params as $param_key => $param_value) { switch ($param_key) { case 'file': case 'assign': case 'assign_headers': break; case 'user': if (!empty($param_value)) { $user = $param_value; } break; case 'pass': if (!empty($param_value)) { $pass = $param_value; } break; case 'accept': if (!empty($param_value)) { $accept = $param_value; } break; case 'header': if (!empty($param_value)) { if (!preg_match('![\w\d-]+: .+!', $param_value)) { trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE); return; } else { $extra_headers[] = $param_value; } } break; case 'proxy_host': if (!empty($param_value)) { $proxy_host = $param_value; } break; case 'proxy_port': if (!preg_match('!\D!', $param_value)) { $proxy_port = (int)$param_value; } else { trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE); return; } break; case 'agent': if (!empty($param_value)) { $agent = $param_value; } break; case 'referer': if (!empty($param_value)) { $referer = $param_value; } break; case 'timeout': if (!preg_match('!\D!', $param_value)) { $timeout = (int)$param_value; } else { trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE); return; } break; default: trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE); return; } } if (!empty($proxy_host) && !empty($proxy_port)) { $_is_proxy = true; $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout); } else { $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout); } if (!$fp) { trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE); return; } else { if ($_is_proxy) { fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n"); } else { fputs($fp, "GET $uri HTTP/1.0\r\n"); } if (!empty($host)) { fputs($fp, "Host: $host\r\n"); } if (!empty($accept)) { fputs($fp, "Accept: $accept\r\n"); } if (!empty($agent)) { fputs($fp, "User-Agent: $agent\r\n"); } if (!empty($referer)) { fputs($fp, "Referer: $referer\r\n"); } if (isset($extra_headers) && is_array($extra_headers)) { foreach ($extra_headers as $curr_header) { fputs($fp, $curr_header . "\r\n"); } } if (!empty($user) && !empty($pass)) { fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n"); } fputs($fp, "\r\n"); while (!feof($fp)) { $content .= fgets($fp, 4096); } fclose($fp); $csplit = preg_split("!\r\n\r\n!", $content, 2); $content = $csplit[ 1 ]; if (!empty($params[ 'assign_headers' ])) { $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ])); } } } else { trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE); return; } } else { $content = @file_get_contents($params[ 'file' ]); if ($content === false) { throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'"); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $content); } else { return $content; } } ' output=$names} * {html_checkboxes values=$ids checked=$checked separator='
    ' output=$names} * * Params: * * - name (optional) - string default "checkbox" * - values (required) - array * - options (optional) - associative array * - checked (optional) - array default not set * - separator (optional) - ie
    or   * - output (optional) - the output next to each checkbox * - assign (optional) - assign the output as an array to this variable * - escape (optional) - escape the content (not value), defaults to true * * @link https://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} * (Smarty online manual) * @author Christopher Kvarme * @author credits to Monte Ohrt * @version 1.0 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = 'checkbox'; $values = null; $options = null; $selected = array(); $separator = ''; $escape = true; $labels = true; $label_ids = false; $output = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': $$_key = (string)$_val; break; case 'escape': case 'labels': case 'label_ids': $$_key = (bool)$_val; break; case 'options': $$_key = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'checked': case 'selected': if (is_array($_val)) { $selected = array(); foreach ($_val as $_sel) { if (is_object($_sel)) { if (method_exists($_sel, '__toString')) { $_sel = smarty_function_escape_special_chars((string)$_sel->__toString()); } else { trigger_error( 'html_checkboxes: selected attribute contains an object of class \'' . get_class($_sel) . '\' without __toString() method', E_USER_NOTICE ); continue; } } else { $_sel = smarty_function_escape_special_chars((string)$_sel); } $selected[ $_sel ] = true; } } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_checkboxes: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = smarty_function_escape_special_chars((string)$_val); } break; case 'checkboxes': trigger_error( 'html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING ); $options = (array)$_val; break; case 'assign': break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_checkboxes: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { return ''; } /* raise error here? */ $_html_result = array(); if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result[] = smarty_function_html_checkboxes_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result[] = smarty_function_html_checkboxes_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $_html_result); } else { return implode("\n", $_html_result); } } /** * @param $name * @param $value * @param $output * @param $selected * @param $extra * @param $separator * @param $labels * @param $label_ids * @param bool $escape * * @return string */ function smarty_function_html_checkboxes_output( $name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape = true ) { $_output = ''; if (is_object($value)) { if (method_exists($value, '__toString')) { $value = (string)$value->__toString(); } else { trigger_error( 'html_options: value is an object of class \'' . get_class($value) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $value = (string)$value; } if (is_object($output)) { if (method_exists($output, '__toString')) { $output = (string)$output->__toString(); } else { trigger_error( 'html_options: output is an object of class \'' . get_class($output) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $output = (string)$output; } if ($labels) { if ($label_ids) { $_id = smarty_function_escape_special_chars( preg_replace( '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value ) ); $_output .= '
    '; $suffix = ''; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { throw new SmartyException( "html_image: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE ); } break; } } if (empty($file)) { trigger_error('html_image: missing \'file\' parameter', E_USER_NOTICE); return; } if ($file[ 0 ] === '/') { $_image_path = $basedir . $file; } else { $_image_path = $file; } // strip file protocol if (stripos($params[ 'file' ], 'file://') === 0) { $params[ 'file' ] = substr($params[ 'file' ], 7); } $protocol = strpos($params[ 'file' ], '://'); if ($protocol !== false) { $protocol = strtolower(substr($params[ 'file' ], 0, $protocol)); } if (isset($template->smarty->security_policy)) { if ($protocol) { // remote resource (or php stream, …) if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) { return; } } else { // local file if (!$template->smarty->security_policy->isTrustedResourceDir($_image_path)) { return; } } } if (!isset($params[ 'width' ]) || !isset($params[ 'height' ])) { // FIXME: (rodneyrehm) getimagesize() loads the complete file off a remote resource, use custom [jpg,png,gif]header reader! if (!$_image_data = @getimagesize($_image_path)) { if (!file_exists($_image_path)) { trigger_error("html_image: unable to find '{$_image_path}'", E_USER_NOTICE); return; } elseif (!is_readable($_image_path)) { trigger_error("html_image: unable to read '{$_image_path}'", E_USER_NOTICE); return; } else { trigger_error("html_image: '{$_image_path}' is not a valid image file", E_USER_NOTICE); return; } } if (!isset($params[ 'width' ])) { $width = $_image_data[ 0 ]; } if (!isset($params[ 'height' ])) { $height = $_image_data[ 1 ]; } } if (isset($params[ 'dpi' ])) { if (strstr($_SERVER[ 'HTTP_USER_AGENT' ], 'Mac')) { // FIXME: (rodneyrehm) wrong dpi assumption // don't know who thought this up… even if it was true in 1998, it's definitely wrong in 2011. $dpi_default = 72; } else { $dpi_default = 96; } $_resize = $dpi_default / $params[ 'dpi' ]; $width = round($width * $_resize); $height = round($height * $_resize); } return $prefix . '' . $alt . '' . $suffix; } tags generated from * the passed parameters * Params: * * - name (optional) - string default "select" * - values (required) - if no options supplied) - array * - options (required) - if no values supplied) - associative array * - selected (optional) - string default not set * - output (required) - if not options supplied) - array * - id (optional) - string default not set * - class (optional) - string default not set * * @link https://www.smarty.net/manual/en/language.function.html.options.php {html_image} * (Smarty online manual) * @author Monte Ohrt * @author Ralf Strehle (minor optimization) * * @param array $params parameters * * @param \Smarty_Internal_Template $template * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_options($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = null; $values = null; $options = null; $selected = null; $output = null; $id = null; $class = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'class': case 'id': $$_key = (string)$_val; break; case 'options': $options = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'selected': if (is_array($_val)) { $selected = array(); foreach ($_val as $_sel) { if (is_object($_sel)) { if (method_exists($_sel, '__toString')) { $_sel = smarty_function_escape_special_chars((string)$_sel->__toString()); } else { trigger_error( 'html_options: selected attribute contains an object of class \'' . get_class($_sel) . '\' without __toString() method', E_USER_NOTICE ); continue; } } else { $_sel = smarty_function_escape_special_chars((string)$_sel); } $selected[ $_sel ] = true; } } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_options: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = smarty_function_escape_special_chars((string)$_val); } break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_options: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { /* raise error here? */ return ''; } $_html_result = ''; $_idx = 0; if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx); } } if (!empty($name)) { $_html_class = !empty($class) ? ' class="' . $class . '"' : ''; $_html_id = !empty($id) ? ' id="' . $id . '"' : ''; $_html_result = '' . "\n"; } return $_html_result; } /** * @param $key * @param $value * @param $selected * @param $id * @param $class * @param $idx * * @return string */ function smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, &$idx) { if (!is_array($value)) { $_key = smarty_function_escape_special_chars($key); $_html_result = '' . "\n"; $idx++; } else { $_idx = 0; $_html_result = smarty_function_html_options_optgroup( $key, $value, $selected, !empty($id) ? ($id . '-' . $idx) : null, $class, $_idx ); $idx++; } return $_html_result; } /** * @param $key * @param $values * @param $selected * @param $id * @param $class * @param $idx * * @return string */ function smarty_function_html_options_optgroup($key, $values, $selected, $id, $class, &$idx) { $optgroup_html = '' . "\n"; foreach ($values as $key => $value) { $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, $idx); } $optgroup_html .= "\n"; return $optgroup_html; } or   * - output (optional) - the output next to each radio button * - assign (optional) - assign the output as an array to this variable * - escape (optional) - escape the content (not value), defaults to true * * Examples: * * {html_radios values=$ids output=$names} * {html_radios values=$ids name='box' separator='
    ' output=$names} * {html_radios values=$ids checked=$checked separator='
    ' output=$names} * * @link https://www.smarty.net/manual/en/language.function.html.radios.php {html_radios} * (Smarty online manual) * @author Christopher Kvarme * @author credits to Monte Ohrt * @version 1.0 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_radios($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = 'radio'; $values = null; $options = null; $selected = null; $separator = ''; $escape = true; $labels = true; $label_ids = false; $output = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': $$_key = (string)$_val; break; case 'checked': case 'selected': if (is_array($_val)) { trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_radios: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = (string)$_val; } break; case 'escape': case 'labels': case 'label_ids': $$_key = (bool)$_val; break; case 'options': $$_key = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'radios': trigger_error( 'html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING ); $options = (array)$_val; break; case 'assign': break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_radios: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { /* raise error here? */ return ''; } $_html_result = array(); if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result[] = smarty_function_html_radios_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result[] = smarty_function_html_radios_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $_html_result); } else { return implode("\n", $_html_result); } } /** * @param $name * @param $value * @param $output * @param $selected * @param $extra * @param $separator * @param $labels * @param $label_ids * @param $escape * * @return string */ function smarty_function_html_radios_output( $name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape ) { $_output = ''; if (is_object($value)) { if (method_exists($value, '__toString')) { $value = (string)$value->__toString(); } else { trigger_error( 'html_options: value is an object of class \'' . get_class($value) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $value = (string)$value; } if (is_object($output)) { if (method_exists($output, '__toString')) { $output = (string)$output->__toString(); } else { trigger_error( 'html_options: output is an object of class \'' . get_class($output) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $output = (string)$output; } if ($labels) { if ($label_ids) { $_id = smarty_function_escape_special_chars( preg_replace( '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value ) ); $_output .= '
  • -bm#[u2X'vFw<SJs$ozC=7s{ũWk֮/0!&?qzi-M|r $q'|OT{t=u ;x1apa6N RcEz6HUuё+5VUQk>#Gv~5cZϹe'oc]t8卓q"bECC,[gwc֍]F-파_MݶȤߖNoxb|<'3uYҋ˔w_Jv=|TyW~um+Smc0e,27}dR\4m<=? _޶e1xT,$9G"RY{ ?61[69X7M [ _ixl.<~rK+];MJ6u6@Q{}g7wgݝy8K\O? j|M :~~`7š9`~׿[ >?: ^vъZGYdedt6Eu P؄WU7^uI[xF@L\cRZֿ{Cww+>",}%nEi \ǶkVFx?;]&lscJ _``EO:⦺95ACuo-p.l%XU*xɏg^x[ɏ^wew{Y;RoSDOӂvmy]>ߞ|6ƫrO\,b? 17-PE쇬y{HZOP T0A_=#%a߭+V+;_\lR/2IN0|-A=Qp]EN-z?a\4zguT83Vyfg?ut!ƃ^T޳nnuf 2F~ѵLb~̀]9o@r==|[cl#_)x bpнbV#yXa\ "dU˩PmͽO^X%_O~y|riJ& h2'WM^}oks$nmkhԈhotݯtںq \V7?N[-XAjexzy{aڤzVf z`1ZqF`!l{^ /]?R+S)`ύU䃟|ssQ-~җ=~oo<}?O{Ħs{l K阘 tW|$7 iZөS|L ؗa5?ܿX3_ڪn,<~coƘլieи9m#g_+ɵ}e2V|Ï@`U߭A߯_35KXuj) R i0+ݘИhwKb֡^).;R'8wCi+>pxc |6nA7_-zA^ٵә>'x^r~ˠWvn2)KNv]׫˂s-Wi;uKNf5ꟂiuOZ,ܽ7 }mJ W-})rQk{qWTZ_[MpW|_#H(&2ly5. }J%=3p}^q+8Qo]kI#ǑӇUݹuwߕ,b_sxaW&߸c&6얱M'$| Ј5R /P r[1[B9ogEbn.UhG'Fok]f Sk_^d1Wԉ=* }o% X;.ᛙbXTR6nPũk߼doe'nTlц)3oֲZe22k=Je6q܄kZsO>cu϶ī'7up+r?tQQ鋼=ȺIf>9؉澋˔گqw9RKt[ o>z4د ~Udu5|?s+%֦sVajxTye˥IB|*KL_A,Η_h0D?X{mUnۻ^_ؔ"?;59̂_TK}dAWp>V=Y ]N;%nmU+ٻhU| =0]ꍭ¥$Yk?Gn8cs6tѧ:`ɦL=N5 F믹,7#^_JܜOvd՞Wcwh LkonLrdӎ׃|9s}4.-{BGbl\&yp=o66Lmmܳ v;IvQ/-zdmӧڬ:լ=OPTܷ٥Hٵ"۹)H#]IFL}t_</2M*ܢv#ǑRݻc \UyUzMbT Ȗ6\=یDgWyuclE&t$(jS26{^,<>FMk/5#h]gxfm-imMŃn|>` d=SC/V=柽}՛Ь>(U/nfm2U퉷ڶͱV]TߝWcE&G|}Ԧ|{)ke]%w;aݻ f-P<gؿͱds2\V9Joެe^LTzپs"9Dn{osO48zk,pRMHS[G2M*w)p¨[o imGu#1z;wu9F \2ϭt_%".#הV/l /0X3CU,^*Wh":Vru[k1cӋ[ΪqsܫUu_GTR0ϛuN,}zʅ֍7؍W/0@լyhU#目oɝ3J?R=Xľ4?J炯*u_~m,̲Ǻ,mJ:-}؋2OAuSR;-*Ǿ/%)q) r3m+%+,S:[T~~w /'ULz Qlyۑ|x:߇O\qZX{Ϡ^.ᦆoXݙT!*e/qmMk.W^ҝЩd0/ ;S:wz5Ugo=p뿻vv J}U>W1ն5ue|;`~ךMV=;I=h' ^LM'E#z[v~[5K7d(b+OՊ>ܦO^Z;E7}U(=a蟻x (9>d'OjYGF~2c=#zU1mvu~.{WɎ-$o@1'-ˊ8;+عzY?`I׍:p껆 2߬]ݳ`߂Kp2졏IO%7oct6Q8dc.f?ev:vrU{:ɦ5r8h>}K.?>=Wԩ}gol[xQU2گ_EU5z],4bxj kgTΧaN[yޮt>U~,b,vZ>YeQ>9?Yc"L>=MBNM.uoY֓ڄ>R:y<>_tB#WI;^1jJ-=vM/o!5f{?,aOkzZY^Yk.z3+.mT/}v!d6پ^?n^uXCѬ^SBs^:Yfc9,Nm2_܁ ڎtuA-w ^2|F[5!pȉ1k=:éꆨlصYi{&<>[u9eW9TmJK'f=):=sFun=ƺRf_TmuY .j7 ȼaְʷG#>u^F dԴ+{`4CmD|o%3˷$aCZh_܌awvdT{V#.X &B?Cl.ȕO۶߷ƾzVŀ"\hw᭽u/ԯa_{x7hݽI}=oاKf-~,ɓz(|P%ӶnV~m Z[ӱ3ئǦV[bs?<»4:w->H=w~lۉ. {o352ׇ6k{0U:<յRMv5NBVyQ@)yuzo_gvOoNS]}Af>V2mӁxW[t<3 3Bhi>;&;UAO\ XmQ罃蹤ᗭ6@]}mho'? G%zݳ|Z׷U{E9SXc׳[iwoSKŤsj ].Gk GYT“<ɘk'[R`իǧ _oHBFQJ\[N^+JgMW M+ ~@6FI@ \{\jirAci ?? Ǩ/?7h.Uq{KLUYJj椫37\Im22qq{ǖ[w%]})u/g>m.d`r)# c-J(x+zr֟֕Z:dYuƤYB599owX =i<Tu\tZ0o#k)g\ I-XPug?Wߗѥ:f=za{{/6R7l7p\CƩ_z{}b?1KW'؋5Gղ2ll iv,q#C?32asy_ NhKCc{b|M]e-qذ N*rRΚ}i3fת}҇晥9\Jg<)ZCOˢg0Wk]ib3ۿxg)o@ybYJ|)ߥ]~_v䍅eΘ~#kTWߘy/x%_3/JzgEz럿7וfK{.nKT}6%Wiææu]΀B]2n趭[PdEL{}Ȏ]w5<(b۟uOx &o"_ѹA7e]Kު/?x5jŬ /3sƀEß;=3lNnj\uŒK1h_bV\׺Ϙ~{ds<Jt|C OU+>qIS>vE5\Ʊ϶lX}̪ޟp;gׅѥ*eu y䛞Giv0]3yA_a;Wqᣭ)/I<-lߜ[t |veGϮ[uD3W-kf_meb7=lMA'.f@j`k=Z*9'\*aIݕcӖ:NjZwޞns6EkulgE認G7FU>n_.% 9Ļ>WV͉Hܨ%=#Ԭu:oUϲu+Q`}b_ʟc?Qp*vύ+~yXn^87%sfG*:_-inf?YCs9mVKqF)s/_k/r *Ԭ{ĄkbֆxtڒUicK ytm]US9yE{ƽ3pݩBgxY&ȲI\oi=Ӣ[z$Wu_]uYwDuӹΩ|a.?g]#ܢQ6Fϯ'iSq;+ُZ*]t]#*Lpnto *>vg*ʦs^^?Џl狋Ǔ,HxY]lfg]ѹW%nQ'ryX߼]ߓ%h*w~o7\aVkGRۡ"'?e`F̓#|)[7*}ؕM[ISg񤙧yTS˻Vn[5_EԪýN/V3tѡ[G=aoZ ªs :=_Uf>o螹uݜ+63/^=u,6}eK.O{eUG{ߣ^ >;x ˕^L_d7A{-<]z;m-8pע"/YǭJݵ^- m|-\2|Z4{aeZ}_jzv@{tf5M]Ǭ/%e 3w,k_̉IZ¸*u`{v%fȊ79rgi/N'~mexH\϶Ɖ SxdœMmHwzVT9~_O|ͯPTcOݻ}oI&r|ju:\>cn>]&}TӽM|.j֞f߭2VT:%L9i]yqϓM޾\Z (۹YWf̫K33CLySb^J~_ooZGvi.~ܛw|J`]N^;jSu z;ّkOlTrՕGŒ={IJ I}%)uli緼*tDSnkn|du+^S^NTvǞYֿGξ*P kٝ9kN62KֶZG͌vbE ״[f-xw_8#b팝^n=dz'}|MH˭Kx^{rx?k.)v"G=o^r53+UλNou|vKyd1ﯾ|eڔmoz嗊DUMM7n[V/N˃5Y샋);[ӷY!{Lz`QC-9~jryZG{eyǠ^0-*Y +ɤуs#1+ި|hy̎v{:Tf/Qcэ׽{ޯ~^~c/ݶS/^Nhpg!Ux߿ 7߻`mָ NmV(ߓiwydg+uی+^sQۛL,lgsîf^nG ]vV ;o厕2|*z[+Y u;|VMw QbsK"[lRrFv ^zGJS/}徙V%}Km&mlʧ6-=ޱJ#<"~ͺ~pDžoyyIu..?Q:.rwڌBu3W|WL~wYj_+&U92=neOfHڡ_ץc@,M c}uȍS"'N=,}>Bo]܋v9h_̐J=M؎&W7h[LSZ6v.^1?J'c"Y ˎKP9V^σ # [ġ1MV/"_8l_2]#K2'4Rbɕ[2W6yBIjkxPu͸.wNUnmlr>SIVgi(2Y)ZfDz݆?:?^o'8_`P_7Zb]qms!Fn|poÀ>mr0miW6n;]e2Y{ fqeҀAe;oxVᅞ;-ɎG62n-Y7pjW~Ryil{zhᱭ+V;^ ~i3Z|}!KȰm /rlG>>OJA!U/M*zs`Ԍ'KߒWɀJYazR#6AF>'Ok.P|HK+,8ijRqtuf׊;/Y_7`ݬNg,ev{}_-eϨ)ip(=~aMzzZ꒲GoىxxgEGMVզNI{rv5gS{Lu N:%,,dtO+PRs˿V=ifo$ Ϸ*R}Q%uU%z87iyAs<[.Rү*4|_MCMNl;Xn1 йaED48w+e]-aiݷ}\peuewͷSv譛%~Z=_'vS?_aj"f.[ys.??Cdy]nN`zE׿>}XyvclK:[O_MW(A{;{ %ۮ;hW-Ns7u9{-!R$mH>ڼPw<ϣg4|Y{Z:eO ⭳R}Tf 3Js\j/R ];sVO57?R=ٗߕ][|p׍U*xŵ,؇_("ݞP;_ޝ! 5/7鈝+;0O-j}n)>狓`| ߆Y}ĥ _5^T#s̵|V5w [mgD!_{v̔ߏ*;;/-X uu YZ)?e7w 5t3UrIL,6\نqvPіDq [v1ꅲ\ۮzWE?J<A7㫶%;6=a||f)7 jfJn;Ѿ DNnˮ#^t?=cqW M}/"\V-0oQG,b ̺1ϗ}nX(. nٻK)M(VT\~k^v_v{oO 噂UfcT{n}Wskaݦtwg3ﮝ]7g_wjҰo+W'mM:n^jRI>u-݈>߾:?fuո'[I+5+r&+Y:'%wZ h0 ʆw2o1tv_YmwA,º̕,z{2ΥʩB0ak|ۺ/j<3Jx֋KWX%j 7 Y^O݈%Ӭȼo>~\eLz/M8n[7u6]רlU_p]f{-}k! ӟ>)x}NWV/[[V}ni{SrU+bz'V]sMCۭsVG;A/;:bXϤ侧m#Gσ7v/T۱ev' \y,z֜4W^e_sY?=?tUC[?^W U{zQ|p|jwk1$WSsǝQHlQU#kM\usԅN7L*mr\&l6&W=oXq^ #d}{nYzۮT8q| <[u8pb|]lWu7=حʬ'5sy'+gԩAk;^oSiD/u_LCћW%]dE:~"7.tRekk4cǷ_>l`ocIcolIM{%o>M>ԧU*3aj ܷd?reӼg %{b֟K7)U~ro>wۉz /whڙ"bj{נ2~mowJ-۲Ѿʵ}mF?i_UgwZW֟o],$f&m叭= {G[VӘ}o?~,Υz;ze-m7,ٷ^6T:^V;_;4WWm]ySmY8i57STiTHZ^"U +u%]ÿ;;3%jgrq7m_,^2CgK7VͧK_¦O륖:v/ wծ旛k^6c5{1뗄KwbIˉ^o[dߦ/G~Vv9Rx}?dgR/6ɯǜ_GU_f{(={Q֭zog]6r*ˌF}п;P>ǃkq)+êJjָg)-_Knq\oZ}:Xwu~3&-]7:BW־.%Vi[ (YiD}\D| (C.tm?nۺlmwTif: ߛGyĐk~.{-p?YXף7ZE_2jT7wj_.eyw~}6ӧy}<~pϱ',_"R KO{QU.:76nSyOZeсV;us|;u)m΁f?f鉅f\osmv5k;ȶ@ [}Y_l9nsckv_Z쵹B7juk$}|Xh~ [7ί۾*i*|)ӯwt~󧡎;%p_m_Ց|pм^kժ_ZU9}KIcƷVFo Ƣg?~Y;.,j>Lkǔ~qݠ/[}kv]uS ܼYӣ 4p]v6/_m|gzGO6ՔI\ؗuշhImЏG>w_ڛ;VF/;~jIn{b?lmG~Y5:T>S qƠV*_*{iEHƥڝvy5ܗ5F,NW_Zŧ{&aXNhӱd˝bC1@#K-,K @ ׄЛPLw j=ɐ<ߋbnvwvvvvvvvfߏeeOI :ZhxߵW7t {7-Yle]۸}۞l[zE̶?\ݧPP7~NyL^/Ϛo]L_~юԲdW]u.̯]޸ ]T8MIwgֈ8՜9vZm[ )|iySt_{`ot>]dm o6jSOe{8צMڬez/jhOz{-^[jkmnsES9`/ji2F=f.#ghoA谏kOm͸.|*6n.}g4Wey_:'*Osc[܉_}b[3Ь&6n;g4î$aX?a g>$f|i)54yJ\vSijZ6edO; s߱v񺐺X ͢j>|ວz]fQ!z=+SV\̻O{}-l69w:nWJ'WN}=Vc3R"3M%nźXXNk?[#Tthi}n;1c?LU#o}o-d}^9rִԾl -6_n[ht/'fwoo ҃r_ o($߇bۓl\6]ϱm>F1feW_?,xN~&?\$˘vn^;KF{j"+k j9MLHYZy*=#0iwct]qxbog:$jb3F]lwʍl ~Vٝ7+`>=?+XX`:opL|? -*Z>+2$_Rd;6q"CYuPqѪ3qPDճkJWvsmJ[{̎^X.WjNJ,]ߢ{?.H}C-ոĦX?kY̑XKbR,:QQe=kG\x36?HֳՇwq٢/*k.cRn/0PSٳ7zdf݃SnL y!RP,|IJhi."=$vmA3spy"+'U1~רtbTMߵX,VvzwDD]]j`Gy [>>tI 9e1OvosҟDԮ׃56w**~} |]gײ_5AIQ&Svf/[`Y[ G * ۳N8%|SS_O*a|bZd+cg:y3׷SϿVWCr.Tf }N%'{aJņɷ9cf~k8?-qxk5o痽u{jߩސ.ߩ\|w{N_;c~Bv pg-VL:~j~zWo{cfTݸҼ#oᐝFs,v~W*eJeDԝNFpMCnU_#,y y"?Dz.j[{آA7~-k]z6xr;U8;.[nsr`Z^d-W*yxI݊>>\I=ެՖ)?fǏ2Dͻ,_ԩ֗o@hOLrBT*.Ӛ]~~/_?>k¡%zr"]LhsDi eR iEov |@oFޜgv4PmpFFLViFPf7&+|`lvk,#Z'a6U;l&E!zf&1! tH2 @pƙ&'nȉmFOn fS+,ԭ$Ӥׁ/.#~ ab$5[~~Rꃱ3\Atl+jo޴LF#)NH3ƙ?gL6^%Ćtz3PkGN1O=(և `2U+i8 âE1/ypjb<: mMLBo,F+7Aq4_q^1cERњ$ "=腻D|81Oȱ`O'T4%qGqCP~N#2 : M%QXtL3XyW T9n4ƨz50bE D8 0_Pa5R9g_BYUvɸZ7JLw>x XG@Ycb"6Ꙝ}>CN z)G`jKC1P,`Q#ZDuM`DG@t /Vyl3q&hI36@ b,z- 0 ,i)f-VJ6 3BT=d pjƘAdm6`Ă:lVVԃJh5dkb[3R) cu9&|4" M `TFDB= 56%z|u"F=Ɣmʌ7.iIyTN0MMPH`u6PQPuA`0q@i@ͦ /) ~dV`>,)bLfBPkH1Se#Nt2md1S`)PF94!M; jP۔`ڝ:p[٪'G'?c7 zktʭLOc:(b4;'M F 翗ǁcɲRWA%4\P0ba󗅰b!^84k3LZt-A7銌tEdiXndYr$GLW,Z 6:*5(NT3H(Nm RVle<9S%#(&؍%h0lϑ T" :*@2Ph۬& Z9I2r-#zaPh Ƅ`̔y4QUu 1m!S 빩yz؇! k-bBmbGdFhҫ9)Y!gǎ' *Nn61YrOr=XER$+@p[]\dKPXjV+ Ъ I71FQ@6i8 bbNa(;0_8.A`+j"8y`ATf~wl)o,nƨ$P)!ڴM6;FbFukNiqPWB#f yu<ƪw9Ȧ-bv̬G#M٩E8 ilQ֣BJ$o $ Cn Kn<* e}$`lVLr#,%T1 3*ܙ]E!6%dApWB"Me ,`1UR-A@8fѓmm@8!F=)} +G[!KȪ"O0C%^zE~ `dk$Qfcg 9 XuB..b6KLи1cAKICE1Dddde(nPF*+$XdjyZIDKe( w1{nHt!) MX| ccnM!| cl7j<dEZp^R4Ji4 D9_wZ|)lYpfWB7%wI ܍3H3n(dyݨءNԨi2 i`Wff%&[b^)UV'_? XҟT/cxq"dULM\W?uHV'Hx0!HTOCS!~$hVb8C,I*IH39rڙlh+/ž6l6&zՁQ;1 ǘHM%(P 55"b T}(ԈS7 Jq' 3xHn& QШi7&JHÉG^0pE$Vn9Q"$9{UrLjON̶fv(1_t=wܽh(i&K"byMr-EW@TTaO4L-}Hl3x9 8nUHL d Y-y6u6=;Ph2 x]܁\љ \^:.Xhmѥ= yѝ(-*T(ɫy<(;v5j7'5 0$$/I.bHDI"R{剌 |Xbqݷ%7Gۊ[MVOvbZtiQU'(ǦfYNp_DW6:o<3(>C[4Z3z|xzfqI/`LVv3U$&,6Rf2\t.I2 Fcx: oz:*>E(ĩ@qNtX0:SAJcde@pK,(u[)D`Nfd~ POxИpVC+&F IN!4E4A[!G^;4[Y-8l$:Y-VWDKo2"FxH&0 VVdk]ۇFO#hcM,Dn< <{ /)Pu` ; Hg"dOA=1O̧@J~d[0n1(I@őT+ q0"2M|V/T7`?'ӑdAA^!uVTyE5d)Fzx"49QT`OhAԜUc`4,ZPb |YJ%-&P%?7ے? SR} da}R)YN8$ꕊC@[h$؍18@>@(uR )&EDC1"aF5sb@yorbFADD (FT &~ ^S"@g V-UNkDj& @B+UI"'*%JS"@'M@% C Ё,-uG4R(Xd+KPBC X-1C؂֊q|AAŌAc` Ʊ(=,\ޠE <^-$BB( # /Dˀ`';c@0SR `@2 Ihd&KX(0$pDfΈȱ c`1@"Ǐ aGE7.Ÿ!'v`0qCPOS ρ}94 Q#"') tF-}.$VU-UKjh$kH+"'@4PXjab`RqA$qǑ6a;BsGocq `+U@)\~M7U~Щɪ t!WDvۘ9L/RNb(nm,J֫Ջ9;x1S#s4p K_ ЄIbIw.4H Iwу Z]Y­<h-Z1IpR HxX9*$Ѥa< SPGLYFySެH9hqV-*m;L6|h9ЕqBbdd|p4-bAXh0:7) $ÀW zYԂT󚌘Jo z?^=$3=OW_ Jj#nV8. dJYZK%L7ZԦ/q95nxZr3_ eD![-hXPdHB~#kd^3hW-lB{RюkAӠMp@'Uʿ+ E0v?0ʵTxA I80wWS@9[մ ζ'gS^i3[T !9il|rxû9 z^I㮇-9f|vÕhϓ7 CQ+&-;[ GO!PNAjEݳYփI`,'舳&SyF>Bc7ƨG}ל6Zy_T6fE)@nHN/nh93q s( aj[|.yPP(M^] n96J- 0@jٽ?1wx>HG+l8|DýnF'=o`p&al,ca:;w8]1109a%!xʪ +dUJ>2w֠Q)4DͷJ֧^:iAB/%:`A0%ѱ$ٹHfS9 cc6s;me8/ {\ԠXcz8OTQeL>w*a$ iAp^C&u:$c#yO#щ&4/ !U ، H昵Iñ氳ߎِ )2띂3CQ xS>5ӒHjΖ+b,tN GZ3rO.2Y*IKS 'PȀ#3%\LLZyR2j"cЁWDy.r(.'%90JDymNs#H/mB]KnsFP#Th i䥧YG2 "UzvJSl#<i+ehcCFɲ7-U|cIo['Żq:L'ъֿZyRHMJ+]R+ˑ勑0ƭҬ|ĝ>غ <*LkyC`3R'|,:w '8 H˹X3NVNoꋉAGI>IFK}2A)lg:NVhgpsJh0 y$ĪXž/IJ0j{)ETK4# P?:"T.XڶX$סG[os]N>ńܝ\8 i vWBcE;Kðw-HH3+9A㸆"6{8V sfkQ2`R(613XYF0FYWxf&z*{vk dh gyǻÕ i]v(4D)wI3<_9f,%:K_8PRwfM]T%+{]P <}l`IP@B"NH3s8$PHvV"f^<AW8NϑDĀfr桚?w$rx -/D];/} nI-ʒm&O|B6G,kX7Uz yBA7j!}ƭl/2:.ZPj 3ŲNk«B€.iaM0c.qvOs# p]bL~`l8L0 E1&Q j~72FBsX?0L,2'-/ռ;~;1[z$n,;5ڭj*عCي tk< HH vЈRS;v+X?o]<#Tn,{\17'!yY^<=3( [:wa `&IWM҉f 8c eVz+f4B} ,X`l;Tn`3~,9-hCchǧkЁV/,`QN 0!\FOm4*)=ݝJ0#X:=QW8i5и$n};BT*R a,uOsq?jyCL⎨Lx#y%MCČDݰnɳATN JB,tiZUn:)~'؛fDm4Ll1// F/?/a0.Lk4 vCEVz K2`s)m]rcOpQi>>aip:bxoQ:G?i@h-Cc:#k8!NÂF vFO <phGH{P`H=ˋ]cJxus:E-#yԲYvK듻NA{3e `5f>TnaQ@Kp &% @QɄ'm5yt1oz6 Ko_ח9fp(A( 9BQvPADލ䯫e„q73}0F;+7yQJ:;pm{-+aLȜk`]^&lZ)4H2O%U j`hQpKܐag0~k1*0n.!8 !( Mi2o6Ec {2B |~K9_eB 褈:.ꮇBL/qKd^u(PwFSw|JmKT^sSAo$/7̍F]f .1ג^l9{{b_ύ uR-qҴ Ѧ3{ƃ|xCC> {:n[#@KrFv)c ;h)y:oC eZ4}yKdࢤ yMO 2O( vMNŠP')'@lroѫO_ _+?Zng7'يq̛{)CIׯ!EΙEHH A#)Y0bL8q`cDK@0_7 r2M6w@gMD*.aO8j JUvNRp&{89#hk++ύ ȇ?IaF F,`xQ`JUԅN4FvkÓ`K'&|@dsjqsx*ܵ.o+:0d0@f 7n0APEHRLO.KPZ$a; pȩGZ<¬8Scxn B G᥏39wS s!R(/=~d`_ېj,g B3%YWXJjrvn9A}*&DUx8+:c!q"*Jabi-Xr+ppl_ĝX &N2o:2rЎ8rJ5銣T XDKZ.-d&B>}Lh. }J $8U;I<''e:JQIA}f+m{*JĘw*:&,*O1cy!qB;w6bA &^zQ1I ~\;{+T)9CFv܏ ~OV ry=[joZAY?%4[V{0*N*5FIB2*k8]`/b9>otxE%׮? &Ag4eV8`PF2Vz:.kmn|"(㟊a2AQ<Z=p ;|9Yj+_3Qu@eFL+qF[Rᾣ͠eI¤>XGlĴma~N|EN/*ڂCQqS]@{k_H"*6#P TY@dUSojo)IWO.]háZ^ "_F>$\%1>u8:܄8z-p@fќMMkSeo`gͦk9۬8Tsǝ)o+~j0*'}6ya)V==_"BJ4#{ F./qQ9QMu6A+4 RIoRcF m8*(#<粻D٬dn*}%D#1D`beV’įl5Z8{_ KyvuʧyIydL)ᄂDY :un|GL\i :5:lX- IgUE.Jj$zO"u/@"| {RM"'rjxo9V~FJN0m)MlM@)^BЪ4p܇O wKP9krQ7s-jݒk4BS0Rɣ몃qrg=*k3Yr~煷K™ =*y.{C@S{ĖBvl&Juӻܪ`GHg8OPJYIop]MΈȕ4`Qc婉~ cl|fhRsE Ducc5_Y-DF8d_Lp4ZRC.ֆc}-*G]z` EV ,[*os&.ҬJ@m%E#ҫXv -}^ !@47E|gdp; tF34.nj©M 9x]qiAnUQju`|`Y5֛"N:Zt46 g _VDW>L%mhf3`AuWT K@0nr ZlP.Aljvu`#dO NU *ۼbL;DUFd%QGI\į!,qm+rIcv I2f$7Ҕ8 <R:> ŲVbvx(ZeX9c0MpSr^hx!ĕ@df0/%ɖ9i4!(&F>HXr N?Tv@h4a\,h\xܰk7:&P2L%{LMG a_FqڵڭցWm t2ŐE``Gs^*aDF,- 9<^ 8cIo$h'SӼ3$/鴒 z a'`p.VNlğoD/?k rm|yR13# hC(_l4[TBJu_°y{6PbS=> U*<ZE@+1k"KE1Cc(5'Z}'=${GGg}29%2M6AAꎿvCIj3w֦MgG! dLCۑ3c(1`69 2˛Z$L͝K p)s>Q(Q H=BBOi26%7w%N58w<ނ#MOpH:z y V,8 }yPⶤ\ے純Bܖ?<9-4^8̓P`5:, 0S<d8X& =ILO60zDEm{uo QB"*m&ъE"^hJaU8՚0ɽ7X83;S,k}vٍtl=zp 㶒[V*Wf`zz% XVg{1mS }3qXel ejvkm2v$<H9ė (͏Dg`\g CGh3oPH;"<~%!=኶,Y&0:J</ChN2 9Dg z0P;[ { DO hLEXsȫ6&Hd#̛ q#Bi]79VvPtQ`0Hp;&QHj z+(H?DQp'~  <7D0hM 6= ] C s2挋f& ;d^}Sq EdIBK0 V3"x 9qb<%- Gj&%iznһ)cGR,Av A"CȵF(7Hg 7!(4J믥sƼQɄ q  5Y7)ymq)B0j@> SU39-ƍ'G؋tT!Xvi ;f bGGՀC&m]LHD,(|(ę$Ao^tbЎǴ̢?/Jl-5ѽw6ӸPiIS(bFMNNVXB%ns05/`A:% @ Т[`SZFX5th]FDnk tk In*15)lGfEIF[bkc##A5X> r P9 nQK`xj!!*J +lm > 8)1j hxCgbbȥ#&+T'5I|e>iO~'S)1l+*5nA\k71{Rk!{5tDS0; UM'c$Yt <Š r)Yʣq@Q0\ Tzfz(*Ch4h j*10FQ(1,F%ђ(ђ mɟJ)m>0>O4HTTHJ!r -4]L/KiL 'R)P0eۤ9h耡Z0[B#n 5!I (FT &~OZֈZ!)P_F#V쫒DOUJ /DO"`)J  4)YZ N8iPV#Ǐ aGFH<%zR⌍\88H}IQ0@$@$kU AՒ!I4Z5 A}%AI"( &ZDX;Dw9!MRF.i?T5~p J! `Z4US?T? JA b &7R Ѕ\9lc0E;Y(0ẎW#7r6v`qc`cG~;x889 ihqT;ImI*d;wn%cNSQ wmhpmG;%cȝGN$a xfQ`;&[۰oј6&Б,KA '0])S2FZNZcgC|ClNp)ܽ]ijd69Syyd S?Sz8`4;u LtѶ-cCV>{_Րӊoɜ\0T d3ZNoD;1U`0_ c!:uP8D],l2yEA'Mp 9&߈)E9xq;ؘ1dSc48_(7ߤTPSj!6 <⬈*Fsb㨣~<3^|<9 yD$NpY4U L:1;@7C 2n>a)jh)u8q5%$;E==Ώ:E`/#^Q 1`qj 'ѐ d}EL"{iE4T_pD*L%*N"RbbހԳӈ2y2JtjS% Wx7I;t4_l:`7NV D>1A,8m\$yi$RV矏w..meFq,O ,(VR}k-?P(%#"+9?\IɏE( !Zz *H)M%ځlp |8w`Oj=/ JȄʁ)_jd>cD~a>3B,Đ g1\6"/Mx~7i/^6%Z٘?qKQ=0\$`R0)yA9r1̵x+<F{d:&莁71L/چ7:8p,B"h9/0COc:ϧt( YUB7. E/OJ~3PJ+I䩝`4Nȱdi00va× 7ߥd~ %A{,Qmt[la^:D:756 YyO}¶/3'4"b =;'D aLYc0\fppl.6|#wXcQ((U ؆VYdRb^ XRU}e2% /bC[Ȃll^ ^D_$r 8 票e7m\ʋxB;i0?GK)lx8acRÍB-ɔ+7U!`Bk:,+3~FZUItP/ ^:FMUMGcAh z%G({kz@(@/Rlɜs |>%3ޘn)Gbf.49\QQٍ`J!@$XyQ́_)Ow)`fX4"FK4b@< fwçcqyɤYH Nr&o$/ˬuS~{Y OuQ,|%QV|Ǯ䲚zک+<.AN FC>(@v9R C[| rYzDWIejV h WR_78^Fct#A3PK UstL֙U0@{$|.*/pО4B:"43~xĘ4aĶRNnI@chL,MhĀSwio.&O+/7>Z|A6tXaH=Fpx CAKec*.Nl3IA&$ToPwG,ܘ.},yip FyqyLxZß^\Q&E<J1(7L)78 ]$(D^qǪX1p6+Y"@g$89Pk4@`^"9Q~QV"NӆGRn9J]$>fRG0mR>L@從QѳSv1"`RN+}J^ϟELcLv/8=Upm1,pw' :X0\㡤lRrO5Q*Z<$)["Corc2rqu0 `L;A"ÿx~[J΃׷OwZЪ3_Oc+a3 cԤ94&f'G IJ SKm$M.ଣ?w:(P &}0 3: :xs$7S B8G1B-$2{}`^$dz <>`=N?BT ZTyNzN1$֣XDm XktlbwI 16& =FDVz$U ]MZ,U)&&afT$@12 -`r!y5J1\tJ=%w0ýS Ac|EHWAqaHbGsB;j:M~i`U\bD PAgi^cy & /"UYC_Żc%jq[nWsHÃH Om:~<8qt>%74~8 + |yy~X=T$9#:9Lb"װ"^,MAfƱ4ydPmKc0ح69|@[%YM3ԠrޢWtPt>i.~(5j{Xg'݌tnEpS ۰x`11侮Nr IH& !$)u0IbVI&lChu_粢E/|4 J 6wgc mMD*.a\8  ٗJEk|^z-9@(,tvWW  UQ7Qd'y;&Л@Sc  Zgòk_)l]HtH_a/`шo{ߚݗO|&+VsW=P{$Aeb:BPo!,©.4"jg"l [5fÕUn hV f⥏3QLEɬd;GѠh#CC(tCTc~C`#E2YWXqTA; >" U'~MPYrl(sN \XxL72Dd{-3u6ƙH⢮RyAY;0ÜpQ'3kAi)CN&oSKӈ/Lg7l=hߤf7«R6^D\WN}JZ,:~c*WDxpt& q"xCEFҜJGaE/`gݱ2# Tr0ZxOT F0iSzMhŊ cU\]02L<%M 3J4Gô+6뀛eC \GF >ReD<X02cN^\rDrfhElpqrmp2i78Ϙ`¤t;ȉ/v51 8-Ju? H>@6'W*G*x)9d&s ,FCM*NEɩSr*"b\F "4w!&pۓBˋv.Mq&3"c\56\0wt48G 큥J4 )]EJK/XWzVJ"77sǖ,DG9x:~?ːBA͆Fpkc=ox.O Oz`W\.\86$me8Xg›XjQ`eSJR9OBlitҜ[{9ӰhSm(nƚQtbF:(@AřEY`& Q)*M=tG7)ԁvǛZt551?ZM8蛋n:DbGp;ZcItqw $g^H;gPN9'> "ٌ;i̢&45rQߛ}= Yu<+|k9{.ܰ0[ϟ(T,rGҩiKJxf[cFJ :y}9ǧ%0#8]V8cmb) )]XgKh6 )֘,T\mK0?D:$f~<[eq4mX!Ll"z/QW@QeB:@C"fc"[K|4BM^\" vOc}UәON~)0-no6DfO$;9cyU tN\dpso>f'3' n,-B\cmlŰ)JhS*yũ?'ʼnEt&% [=@&&p&q(V'\'D3 sʣYH"Q/H҂Q$8O)>Ή~yG!y`;.jnpx9֎&.F)XK=&z-#1RxU>^q̭))Y eh5`xy0 I By{&2,ͪY0gbx!+H9TĜ&9}z#BF$n2%j%]>FtQ3qj1-X\C0-~ 2Wz( $H= 7~N+^"ϐ0;:x$V2w9!I ѱ/MkՅQ !&@EJ]VNym,?%'Q7@CJՍPH%" f+0pyDP%kImC]1qE"_T6B ֿ߁;RST7)P--QOxF:ޏu=kا@riyxo #Dݣe}Ml9L&k `oA `l ȳhG$; 1`6N3 $rҁ 抉!%uՐʝK pHSZ;((fNBBOi!P1Jz WRr= pK$FGy| =Fe4b`)=V:?7gd4+ŔVOǭቭ` OM@}ؕFb0& 7T487OYt?!oO\%L]^Qp"IA~]L(ʒ]|a-<'}9ņ.%ˆl/5K9_hXJTPQIZdqƑh;o>%純Bܖ><9-i) $ B 4p";6W# cJ A8? lxE߷! iB&#\7=2;^\17r%A #dLL1xm*gbCA+3Z}_<<١t-L@$ PE~$8pi /;ȓ5)r5_GtϖcZ`hO$}鳞pqlmF݋<.j nܼ帳N4SLcp/nA왱JWnem&KjVmm)~P36>ޭCr'b!GN7 Cm ?cεR[(r i>dU#}x g󟵡?~~~Gj_FU_?5g4h5ȥhg :a2DbJtiDdhD? `3u8xf6Y`UkKEC 5D3ǺRVz*\xD>Ny~m &"YMYX6uPDuT)ƈ lrT$EK%At〸sqkaSڰy!Qnݦ'a%oa1z:w P6? ѝ 8:PT|*F]+ & L7c': #Jjt-潿VzʚȉF*z32=4lPöQg2P>Q9p5Ru :d9 "g(`$]X3NӱAr7 ѝMw,T [5&JS[ntIF|&k#@_7-l  ! 5tM.d(DG,ꨞ*'($*vDR>&:Y+bRf&AB6G*nsqiEGح:3Uv}.D7Hd"im%KXp˫ ZY{W,\Std]YBjvZl-p-7Dng5 @09̺$aݕ`K5y+99`MDXs[|>o[F&5AUhS'J%M@pYc*ՠIg9 p,fS sw@X29R %=:C;H`z =IA]6 dnjydmP'}$8hOER]#,cתD%F306%(#S|Aw $:FfD)I?{wukںSyjHS+fEE(J9#zW^u3mO`"#+j3Tx"r$<| +8l&U A OjsuvjvYJέeig7RF!hzGB8hD*PB͑`Ec%6" %.0qVug0mCFhQqlN]<- CD,l@,B 5Ӡ%tx7#MMD^p9w ۝t-L8yϠs(tNf}V0hA)}]~Ꭸ!#j! 2rѬ#OB#ze MT,Z$PE GQ4L Z */I,XaWzDoiuFriy B5b>"k)@ZXnh׹&]\ѐ%(|.Gj`D[x\A0a4APMPy 9@x0~6SUd#CfDj1Eo$#19$]:zOL,5jSHJ J -ALХ"t(xB*hgP h(&S 44 #w1_/ 7uW~ϗ/?_~0иH49 2L>Sd&Y$Xϗ/?_~|O҂ /ViA3,2,rBY-`&ݎRt6B# ibХ.diɦm i^NNV8Svc#͛*`K0:uDJJiZ>>u 1AZ u8d 2H}jZ TS"8 Zslhٴe2bV*A'4*A1kUUtyi沛QlL0Z@ OM@"Q,ALr1A+Uro= ?.GAl1񟍶ԌTPq3xXM1|(mO|iK#_ȗF4]jtd^)TpE *\H˖:F*Sl寫VuJj6]F*QԩװQ&U OcuMJ)ZxJиzy*n-KՑ/@|ed|z/ )Zx ,,PP`^VlrUwXA?z\n'Dۇ+^R*UoаQc_@`PmڶkM={}ۻ`3 p8]I)8|O?2rILiΝ7Ezu7lܹk8x3gΝpn߹{/^zm;د|lʂ~/X@"_'C V.ڵ.|E+Ǫż4ݞ~m?Qb]kcC?gL~], ^7cWI?6?ۨk~x~uxx)Cj~.WDNN o{3W6&W6mڝ_ɋ9|F|P3AƁ욺f'U> \7uۧma?rejZ?<;Ž\>4#s))Wl7wrXcч !dRK/eR}[Ԟzeɓ7Vxn뷭k:yJQ**;_4R{X^g2GڱuuUզܢPͥۊqfoC%ZqFw9n3떚- &߸g_i.iK(ۂ~ 3XgmL]v,1O*z‡Uj &{vtԒp9_|ޫg,9ܝ6v?lp m/إrC=<8$8Ã{U9טt5큿Czh~?v_|C޲lmLu 7o^`͎Z}9%?凊'ok)'^zdk3ؿ]Xz#EXֽWt%B;XrV )Ta.ӌGZ#oV(6?ūOy}ݯt/3f΄xU\X|ªϽ}޿)zy~P\7'ڹqE*9:!~>P6ǻ zi+~@a+s^QhiۯɕɁ&R*9Ӛ'z?y6[}UļuFϛ|lEu5Ǫ#V$wc oҥ ۴|+-^y{I}FdSW|wwhгUG7͝Vj{ŹDžJNl︊ዪ$'ծk6*_OeWe >iAq}uz`ȣMJt#7|6ʢRJiOUCصTsF7٣)8&0 t?%?5Yv%;ն߮)=|{>hG[65o\orScV6Yg Q\YOǼyfQ724W ΢w^otk#s vZg؈F>qֆv?ҝlvF+(˼g:*tI-#/FԾDSnFI^__._>yl {O5Uى5`49W:~cn/|l\6٫C$N6sҺ5n~epY}p~[GN)G M\%H6꽺۶}]j j|ؙ͝Dg <^x6CaSPϴ |͎;\Y`@ 5ѐF\}is߄^ kKF$_6Ú'2&;i6|/O9<] UsR4M{\mi~NqXG^/j?S`F˙Gn4?WG@\kvY)ۖ[/k^O5lqΩ%',l ~uD}D:}g oPV̘{oOwd|[^nlLtl~p׻[?zaB"ߩ3Wvn7:M_ 2 צY sj"Nk#[77=lo*XT'H;3}֧Y?%_vzyɓkiwL,gB;{jmfߞ{Y)^wԽ ?eX1\Ύ"J<6M̕]2й&M=0ryMǔ/hÍ.՝^!ޛ6.fq}QrVx{O,s2\%+3B gEOƞ'ˌG>}_kezxt?6W1yϷɵ?–}Jޚ/a႟?5zQ~kgdQJ.~4y reշT~_;ӻ;^tjj;m`W1Q` 7]2cܵG^T=m[i3O[=+gmV%{:?\/Ѧ顕 nlǛ#ۦXB kkaS3K7m߰+qԕ}qeˋ=jsflgu,ǸZ+LBz0wնR^}oLHuGUܽBƳ2~XkU^ykͩ:d[jNi.o`E)m>cgoq݇A'};5|_^XzlD;qcW=?+'޲vzȩEVZ%R^IӞlxt`umҧ3&ٻ;}.5XG>.Kk}3w2_=YcH?TsjE|GΥ9ANVŔseWoQllns.}%/[Ygw+vMD\YL4'tWMfH_]īgљWҤg|9uޗMg/f}=A#>Se_e[ N,ߠc-r̐|=a|-SmZqLoYLOj'fP2wډK[}zS?4ޯ~^g>W6.}Gͳ Z}Š}_DWwv-.Oj\'gDffr>|עj}U*/{_c酋⶗C7z/նEVMVm^VcMTI_l{_C/|o^_́ǃNPow Kmu쩠7s|r{8qxBuT ngshlγ7O xuσgM.5βN~TgGU.T`%d>Y[yRz;uq K^tU#tC׬O}rY>z\ k׍QٺP[3f9}xX<6l:wHӭ޿)'U(U킔?)#Sgٛi}nuf]Q=)c]uy˯|537UIn̕CY.RRm]8Ky]ryU[*M\{(q VqvgN\'&Ϙהjlc8gTvtKP}*0euZpQCűfA;m1m:TӞW,1v;&ڹ,}zՁob3s6y´yV (?h)AaCT.xވw+7e2]Qp#E~lMG_XE]L__x==o{/׌nU߱/~[&[7T;3 JG1;kvvNk9  2r%淚/5T`ԅqO^pI`oC2lWjyV؝ˍqnݺjTc.Dl6 #FyV֍CS˧@%﮾{>dmoFun/IYO d~x6fKETuqm *|J|޸MHLsiF8Ù!UNs:UIe#*=p?iQߍeOynr//ߟ˂GSgFҲ3>^r]J=.rr@ffnNwxؿnJ%G s2~4t8/A?lzpX)?l޸N2dTQ!= R5g\YK햷ўy+(QC?h·̻'Zc,cam[jv\YՇ 72L'$覴huFQ~B#.\Hx[EOdhZ~%1WfRP75>r)faXqR"YL- 5.jv@ϖ;ް.ޑ`%zU7ws/VBgM(Yia[;W)n\-.;V$WQl*{[vu}N vvdҏߦ9xUZGmW+|}Lܜ]2{>K /ë];xq~{e{Q7hV )mҼg'ie󴎱e~ӫ>m!5*UKc\nMFpSo743>7*˘ݫ-=◌;ꏮ3ִxo_/bGgOXSu.Ngn~ !7$+e=rlV-_^+sSV]+'ߘyT6 q8u#zV)ٴVvE^y|OZWN۞'dsTxuTvڴJ,H9;KҖKI[=])%N>s2䓧YS\璍y,Fh+YӰoC>k֚m[֖q GO7>M1;Cۏ}dܢ{8vS}WVS(vf* 9p̍UB޾r6`ۖg82\2ȲfYXwls=;-ooRS}t_^x}꧶1s??>d{Xi8Q?qՇe֚y{ m!+UO$:@GeEZݏ/*4ug:+O耿~+ܚ.u|RVi6#r9]PdE}KkVȕ8ܮbbhFW*O6͆)5eu6i˴o([iU?XcUv~qcWOfܱ(;j.j ^#)ۖȪeQr׍Cj_ntEoUcaޚtw섢ݓ1UK/ܢ7ٿ]n=iMF[] ^K_ӳKWP0W֪g}S R[#tRUFfHlij7ǭ԰u~rjv}}޻g;w}k屝{iW1#o|T9vs^::kuP;ǯϹa㖃|SLGLx_i[/u{<9CMΌS)Wm*=þi+6>OgisaƱ-vw/1ީ |Ix{N* M2Ӿ Rh#3WpWr]Wꋾ;_3ut@9+BuZOGe!};MAQ9] Ux;o݌Uvޜ1qbW\,lTW|}&hN3vE?{gU˞&F ɺkc]\5D]Qzz:.n˪?i5r?!$NRۗھ/MV5iيYKud2-{jƘ:mYٜ>`;pmZVwkys0ϽgEǺu̟\zU ݔxƎSvk\Iw>nmZ-.h{Krt͊4yM۝qIqH^ּO$O\`zci:sOMx[ miN_A֍S7z%u;zԶh뼳I*޻Wue]Wg5~f7N}| ;ϏۻtNkIji섒x|VpB3G͋';QuN˜1g~:+%9gh97=mF?gO9g~ev;#zL[7{e??n4u3 )W˴2MuOa]>}MzKt5hQʵc/,4ޯOٸ>Ը`ϔo;U]-~͡'*h\YRɡ{Zi%|&|]mc'eyhݞ).mNV7/Zgꕤ%w+ܾAc];sSd8RVA4]5;ut1NYf֤ r^Ȇ+wZkm^_mWzvg/~m_ymd}Az qsʐp<]Ā%>kZqzr>{ZW\էuϞJX`*/oEO~VRzFU_`o=mWa?=Jc(v1sslѯW;3_Z用vj7'qrK\v.)W+ \wNj֯t6}]jK" w[GP˱k,-%' rvs?M>ʅt:j> #ގfjĜE ̾Xd}xfG/^*xrqy0=mG%OnnY9ǰ}m);o*Cb^Vyfv$6l]״~,0iXǦsehg_JjTϴgXsdk eBcDҬS|̣'*9"Dsaf~lVc7_7ҫ{?I9podG<{x]Kjkl59[Ot.r/m^I#G ̪reIi"VZ;_]gBvt]Rvf~G:뾟;_բ|mާeoF^6r 5c*{xSׇ >ikfW w곚re%Ɂ?jfJ{ݑ:/"똢a'gK9S/7|m|vjڝ5羏H?7Z}eL;I~ɯse+g'kyc˕iz\fr1ZY# ?6 w]]޽z}RM<(9_Ão:?=O}4+ſ̟pvqKwb's˾3b/)v/$ ={& 8b}y"w|nosu NstE/ R_spƤdSN tr/;:oW:# l_2EN;^~%?=}ho_sZv9ԍUc]{&[e}Ƌ7/7}'t+B-Iڬ;+_6ys-+jn:+W۝ٲb&r ?>lL)|fi\CNzX@ --wYնf> o5N{UE/-Q`8ݧS{NV5iޣkMɕݎ< e~27[[=`懍+)+B>*fCW+Җʧ$5¿|͋~E\:\gv/߽n]\&,|v4ɮ6Mz-T?ќ\{V,mjuzD}Sx=̫&)n]inE;ӑ62~MfbmŇ{Oz~wE5#xgޞiwՊ/6GO޾w*7v?3(ryS]S`Жtr#^aMVoZu zyZycΏ_ak꺥wBҟ=Y[sжre5sez2:ƇU5$gR_} KZϩ?͕3|"U>~ힾzf;c_[kuMW^y3O}=竩k}RDʮ͕]˕ 7]f_mB\/+2reߙ'WvއEn9~lV\ٛgNkί%on\m/7ez/ 5XAIkŇQ4k-De.r5tqfSʦيϕ˕?ꋝWsr~2t]tyH'Ьl/TZ5]jiiͩ@vg?^x NљK jZuhK/ҙ/ҙ/ҙ/ҙumx·9gi>mWʳ>[M}]0e۝s2^(0W>s.,+zmrew')uC7?j^~";y^Wֽ͕p`]ڸu/t~49 9!zd 9R-2seMugokuvEA'n^oG7G\rT!UŤY{-ؼ>/#LM6]]{e)g]:wJ?]W;o2p ֥]8W6Fۜ[C1/1MJ)۵,}hȰoZ:3{ëu4o<-F&i_ZGLfG/amgd<ި= w>X~ge:SnHUfE{LSՊfFxY-~no=:=(P%VTC3Fuζc ,IE#sf6X9涾Nr9OHĚy/p.aLyc!= s>S3fMNSY3*hVr3秫";4%2t3ugV)#uy?5?{+#ۮ~&X{ :~-ɩ.Wz%J/PrV$$)*uX)ut\]y7#csB7=WX{>۬otƣ2Z4tbl0bP`Mfe/e>0Ⱦqم]5%]kZ~ 5o&[m2ԫ-۫g6iaRk|4~|י=-ho!gOу7Ƀݛ5`ŒW,Z1mHN inZo8:eƓ*uL~:tGZIyns3XM.Q7qĠa3hکa6>8)} vC@ӿ4=c_7DM&:f|%nZd̫ݳszVuެNQ!BnYG'sOg*7$VSN Qe64޼/ȌIuvЌJ^YW'>g`o#,ݯmu/.$/_uD,Ψ+fm:úfQZ ?97hy'1ըתm% \8tEv={}눽oWsZr_&\RZ;7[gW'frW~/4KltLy굻4ʸ7uoV_,#Pӕ{zSeͥlETz/Fu`\tԜڻu,Gp1so۬;&x֯]6Mi[jvQS>ܺ+?˼po;twh*/^ƴ-Җd|2"^ GC3>|rRvzVG;y/sㄇ{ӽ{~ZmylEv"C}Ӧ_L+GG?&*t|!mI W೓Ɩz)s7}X[WΈݯ\&N7-39䪶"'Kӝ)}߿K.lKZNZKfO?4Pyt)BէlSl^81#N5Oq?.qi?<ҹA||M g ⋼L=f|RU̙/VPp!S^g^Ϲս_\KdW3D_nK/E'o7uu%c3g/1w1״>X=&v78[7Nuӷ޿J7W A7̾8voif$lLs^ ڜ/#|XӧfaזMZ`iVSwLẕk:gU<|uCek_>؎m;6%Iݦz*w_;N9wϛY'2P?Pz~ ~֝wfu9{3bj<2y‡~D>69Mk?ysW&[`ͫ﷐U. 5nקQB6 * !NziK9+k=PޭןV0 Ddm*ȺO4;EewΕ=Z?\٤'9j#K~yv73ү5+r.FΠf3on3rW#aXBw iȆPBS"->vꦻ5=>I%9-lۮ+\s[ 7;Wwd!{ Z+{*r?t֭ٓqִ,[ݞo+^`Yѵ :lVjs'"!铿o~ WTչre7܂[<u4W)Ͻ}ۋ[re{ʺl:c̜Z7?:fE'Cww $a }K}ko}U]cVGtQ a(;F'^g F$CTB  4kPcĄ*O5 &7ViI}_*oHL D}>wWO) 0wZf3lɋ8\_Z:j3)B/l}&gR~' ?m[HϦV0/n3- .s\"2J&Yψ&62V9dg&QhN<`r:FD }l{Hnso'p Ľ Les-(&@RAG-g[J|3j,cPdK4?ғ/KCB-ɀV/A=ſU,A ^ - )L I#pq}|w3_ٶ_)6vS_@Je6+y3">6 A}s$4D+*>-`ރԿul XAo(p׃|zB[}Z6 l\-A$ko}H{u#~`z"xU[ `6az^Bƿk>|.ɔ)1E,.  {#0 #h|K h=r0@4-͠6L,xOfo"}|)_u&̫!W`GP1{[T?LB61k:n|S!eLzx$/>Uiო{6܋)43y ?k`Hog42-ȋc+ A]z.j xqܬ*$d٭iOA$_y6VS-QɮކBbeLq.fx (sMZnwUwvI&"="] :jчoH. ,RS"K-7[.dF:D6_SfޜqoaB-Y:ko׳}㪩,G+댯_i}]R[%vf,SfKۈo.şj|ZYm:34F!'nU;VuA{b;A(ZDb~8oT,S$ZYa6W|Q>hR5"g|dmt’jgx^ 1Q&tK{{/[*1ʵmgw~Q !8 &xL8z`W/ tKn0۶&6V V!;OH!ChpVh*e3ti΀HS6-7 XliMfwR*ݭ_EbT(!"-{WqTSbJj+xT봩'BҐ*48m׈om02nBBqBܤs.mS4,kLw@4y%h.2^?$y(^3Ӵf̐]8Ϲ F(, wjISw28 Q2#o_bspp.P W8K%/Q~[ٕuВ(pβN f#wbtjCߙn.1m/քU2[>Wkr19yr^))5;[nG52.]bb[!8:lvE>=W4Uk W|kSG *{[iç);=Y#/q~ѿCV~Z~bIUZSOJX?Nλ^*')kɂCm&~1>KPNyWX\i|4 z VcHZm xaB" 6Q'6jҭ*nC YT#Dv$Qi"+'m(NL9TS5:3| f.,[x[>xz2n=50GuqA~vmctY%Uׂ=\t: -ޟ>sLP/di>/vԿ"%\# D5T  {#@<ɭPD6SЃqr97ȧCD~EVfKBUq;B>K2R==7&}TXV sXݿd+G@зkˣL/NO{o?@S(p:ttZ޵{c" <.¸9 Fy0doo3nWF<mIܦxiMd<6!( VEP6Ė%n:U,$/O0P0Y#τeEX3sVÒL>0R-Bo|՚$g4fQ]1ZM mŖdz;ʋ(RtVztk^?簛.u\XJ8)Ѻ+HD9YEBEOʏ+F|iۑr)ǖ @ "S5lr%ؖ"XF)v[xNo2ωCWș񶪻mZnN 8FcIad\^Q0dڼӑ8$W"}_&B 24]vJq:Æfj:20?DŽ&%D( ] LUblyuаJ"ED Lu~ĬŻ |SrW`t`hnY C?++ iCVET:|v."[tmbȼS#|2Y28퍨tO[n/CbT~4ZԈ>9~.1MؾΖp%;\7:.V (CQPF-E;7|M{ 9tQDston[Br\T[-88NuLԡ,ۛC\7ZCJ@c{ :!+]]3cY6W^-Qz dbXgPydB|>ݪ}M] \0~~D  {=GxIyL3:,]Ze2BwX]gEL =(1 vPCt0>>_YOm‰lDTsn,FCN)C @ވ"ԗM*E6tT7m. AcW@G$76U:oO{FX{BGSf5vowPs#oJy-v M "]gdoFFο=-o( ~]4/;өd#7iLAb&olY7k0%t7K*РO1qqaȗ s,zƼsDNѪ1́1x6p1ZiEŸ/x% ;N:q[ՔNq  GΦExHS*; X Fk vZj1h}h]mkWJ.dL=zQUR{ޯwy&"(*{>V^ջPch+c!Ղ' ?hii`vհUT!W&Eт.vk; ?U22.UQQ4D5Vzv{*}&R#5+ɇTO]46'@2O( ӶXӪae 荂aD3*'@/eI?@1(ݑx*/9gQxv#t2Ė$PC3!U+G+sIܚWL|*<+P}9Ib^%Xt7HM ,壽9[ W W!xeʾ""[9"SMXO3&SHXd-H SH'(OYXC$ +4M(pe)I,O]\f)bmo)G8WzFr ش.K{Qj} ?M ==ׇWC>_C-Bt^g]6~r|ỤVM)FYxµ.A7>zxkMﬕ%Ԛ&t!Uy?x{Bb"%]73uE2QӞU^€WAuu)q&~B8 Yyi;;Z%ŁS&_ (7޲7EBoĩYf ''=iβfl!˶iҜ) +a\8[dzB2Vvuu1}AwIH /vjkDaQavEnuNqgy=>:*fak! (E p9=:`</{ Nq\|&2%&_,+ +vY|1Mf /ΒBF U: ?B0\شinTH.37xyMy~t+l희:Z"5zVeDAmpID_$r,kBG5DYj{֭ϝݺpw\ZJmLM b{ ܩ9@HsҮ=_ȃ?(i¡#IJuK$?q?_4T-FBU5Zu|?k3,nn=Eُiz GqQlq^rr|b7pމhfiTf`cm6%G(R>1#y?.q<- zݩ[SdWHtgҲ EUǚMO|y &ΣJW{|%wY|}x47 CWʼn즾MIrJ/*(Ѱ:_O&4(Af@x;!OIԲǸEe {M, X9fa*'s Zy֥(ukq,]HaE}Z?{L7_FX{Uw)FWịTUP@zUZ>'*uqeͭg߱=&m>x*dDb|M7q1 =4KqƆiyp.c3ըԾO:M]zav([NT 9P<hQ Cq#BEq2|z>0 xb[Ih ZTG<)Kň6j83>gBG{UA-֬r!lݟ?R(u{J ,p^EQ;0U'MI|0^= cB Aʙ%lY[υSK xya˃J[T( Q+!ǟ1{mSSXWq0.}jLiWL!3ڬ]SX\2{5ȫʀG!Is ,Bw$GRv#U=|:8S\+ rV/fU4jk q0:!%;mE+dFAm= dte HCp<qH$UN(ޞt =K3yrk $g#%:S m),#Pl!?V bU+4Y>)Z7x,hmolm30ְm=om?U9;W:S |[,O_#Z50YE@UGG&G& |S"_LR[Z{Tm^-{iD<|o3CrzĞ9 yxx 57%?&-x$Z@jwޭCn˸}ZFp0ws~.c'>Y>c,p/- gp L?Lncfon<&fpSE,'U+N. T5K(,> K{|c-\(i""˸-kkK1\֕`踗(bǍuv"d-) oÏBTb0(WxL-RB/xMcTt(S`c)7%ju&74:o֘HaY1PeVZд,:dAx{/;],V fy&٫E݌9qFZq ]"RoC~,KS{V~T؟z.4V* 27JOu8!$UK97l?iD·ShEF ?u+iq:>S.V/2+a̝wL3͖2?3HD>Y7[FmiAΪfs e@F$-,4ɊO܊g?='\@ErIOY<:O56`xaa}%1ZW?G@.>5-YMSʜApL{A; k_+]U8ZN.U!T8^)@~˟ ǽ-[rt<4m{8+ϲ>6}.'*O !^RR "EIYLN==J\d޲.]=.Cqwr~adx{/at8 SB_IlEaG3MS?{ er(#L0r# 6icOݡqY'G& Rki(Pޜ:yrlP6M[TC>V,&s.ů$p/gK$ʺp$UjY9-]GlJ#x/>#x_X~PANeЯ*"~ÅiNO " ?P~/K GTyq-1WoyE`8Bf%H=>.7]g- IX5ɤ}=^'6>Ea~O'սU?wȩhl`㑲rqNbtkQ6jk/j[bu[L󯞹%R I+}[";e%/l{͎M_п̀Vkʂ1/eN{ny8l@Gtn()7l -Cas>fogh֍W5z쫻j-E`vSYpúa+\RJa4r~(Gj^w[Ct!ћZx*J^ QEEIH?zALX;[Gspbfy|ڃsPqi+Rj@5 ؕ}E~>vT琋5WsLܰMwMA@C Jl|M^~=f!<豈P/d}~}N ^K;wѿ9d=yAZpOk%mK>clT]V١;ZkP8H:8 L[۴ǒ6+Uxxχ0;3Km^S= Y׭$}G:%YѴ37Q2fͱmIJ~۔g<-暛=_TXi.30k$!IIwa<_bOT{7o<噓l]V+O~+X1 =\%d8Z΍+*TJaZC+"ZH;! Wg3udu!R*h,pܤLdR{axC=}LQkkPwua-f5ۂB|Q^.e6Cs& wCu1½IK,z 0փ{vguDEY 2@;XHn$~ YK%~$yDu{͸fb+ k>e/ bVPD|W6%z.,3)^b֗G!cڧ Ɨb!A*Abx"!'BKC,BS9aoh%ߜP"?@]piqH_u5#ܕc0$H9}4ٴůΊ;Bw$ho~zTYd6 0(?"~D!QS-W 8cϏN@֠6:I_:}P>UPO)1,t:x#nV#ո%OyLBUY|]6 [|7U$;z͈mbi7crh?FAekօʆ/g\Ia1CtJ6FJluJsS5.q¥' l mxw )VvKCpiȓEs6Zı~\X#=<]}!ڨ#EȒK砀qiqyE|QQ[&:edԷ)vʻ&Yo+rm>XVjc+XlƩitʵvStp#|ƿUopj**Q>|'>"pԖ$cJf49C!!Icz^T,>QxhO̢p"Q/l MӄlQbL.<,JDLOċ*Q_IJI|C4o+=W}7h 3Q-<rf X=X˃]Eu,*7CI(F!ӣ K(ϪE`drT `G5deSyU( 7wYUZ4liP So$1a&r/0Z4!:x(đLCB~y9}B  YNZ8Rf7'ZKR!uqKta(߁:!1Qxz"MN z_ ==MWֶyP-v\%/Y+hm]dV18I2b^[MLnZGƮ"?.žOACBmKǂ;MshbiOx^T#D[= eBȽrgil@!_{^J^K 9YR]N-Adn)E̺_wu#gX>aҙ3$D134VJ: <ڝ>Y*i>KB,-G]~DK〪֊Kmh0^$ltܴi&1pBq}3]DC)ǂͲVVTՒuBtNP׃F;Yl*(K.yoD9(lrBmq\9|vO=Z;rOڷS^c XJN]LR`&7 nKMթ հ?\SI<RAu߳G\;%8`M7nIO/\bXФ6eSZ"Zo6`xē>惿cv !maiwIw_z8i= tCfx^\8iRc{ 3Z|2'H+LG1Ƣ_EE EOxZHtދrFv½~w,)!V) :vڹ)+Bg0jR[Hfm.d|LKQ_!E#x+BQVs/%R;Lam4wƌ;{F1b5lyF+5'~tޕ7N Wũ܁U^Wj+K1LI)8*Xx?G꒬2LƩ\͖2v΋C$HmHoqMHK3}E^mWWE\PSUTXβraRm5_.&t}Lemt#DX1)cc{̵h WV7=4A8&Vvr$M*4;%Pcvg 2v*:o+ ,]ۢ$?1Xk2YͮѦSQ@: p%z=TEOڼ١ZDӷqr)%Pʑ̀7= {~ཙnYgBnlSnCHR4TniB%n2> lQBFU5Gy|Ga#aި}-6A({CD)$GlV |"\,,̵TvلYʛXXɰM^Bz:ʔL ]:NP!ҡZ11/r3Y_#[: ,dRXkq ZyiK>m79硊!9U21OE[~dglpfʹ}#gTF.]RU|ãZ~vvhfu<-Nqeahj7r0]QM@Y{O61;zjz 8ʘF nblj6yO( `!"~}ROy("r+"_э062f~[d9$~@!sT7Z8;rnmn+5%kZΦ0@ HH{,ҿ #&'OuYbN8GRji?tO%Lw]Tc+ !mXA@wA_~"v~ljIbxғ#һX+C!Q^ι(|Ysv w<ڈQTn(HvRDCA4ĐlW`uIHR50F % Hurz/FHỌ:}s[8.3^a J4C|\3F)':O#jO,Bրk9+1/'K.,~N}HZbUS* > =ksN^۠7QO1T'so8s0eڋR`P  jFcMsŘ؈wy h w$s]_ʕ~}xN`AgQB+ѐ,,o.Jqq9 5z݂٨V-r[w*0.eGc(%$=hqϹ'kgņJXvg=sP_j~b1=Uc`|/U#gȎ;^3Ca\ƕ/tj㢘7I{+Z3XXPkl'!BOa7ߏY= GUr[hq(`*wP8MoIn+<f1k钍w 9w ,cHwY]"~Ui|>Gz\X!N@Nuo4[Y Q3C3ܬBq (c ٶG;dNu:-ajjk9]D3Ke^e3 ]IgZXLbMRasۥsdx/8lø@P7|$땳~Goƴ0/.%K~f'G]cN]mȎޕp*SB\?KR"FM(!,CBS(ȧ>i?jj˚C0%sU&?_O/mt>x}g7KMo2AZ$Nzht:XoU2zRF|o CA3]P%ho RG cX-t_k( TrD[xMI ղGK1r]h[ҥU퐹ߧ%LpLZǵwmEd^U Um-cG?%wV8&bA%!+mO%d-i.g" xn§+}3a͚[<[f\YTOtȘݪؿˇu t0~]9HQ\Wߙ_[̜VTB| ) V.!B%޶'RΤϸG΋qfV} 3#t42Rv!›|5vsJ;vcvT\{'+kV&kmj ao\ hP="eCYw\Ey(NRxj}>ͼPɏ.OY;;LI/6g b|NsEqBf/&3:wo`ƆyD$'PV(VGLxB-[N6p´cZkTe׷'EBkLWN8~Y%c9Vhs&.Ҥ2% "22,ߌiMzpb9?~1=a ٖZb?nb3먗HOՋɦ΃u5օ˰t80R?˹qPwֵ$pOɃMs,ЪK `V bIfPP:wn54Wc"GxYY?$uЇ̠T0CWKg3]/MY Jg~J"M'S+1DJϋs_~,3KPbpR,ϫ{|cj/K\hα/l7-)FUh{zTASr!N/GNjvƨAh!×WϏE^(^|51SݥH(q~89}S'/aO׊ B[>b4nSz2,LKhxiH?*8N{e+*¹=@Gͺ_gԳɖKD߰Eby#~¸awK 3?MyazKW[7ITM)-+a3%2oӥUH?gUɨwп(u $۟22P?rFVo?NSoD{JMHOdՏudv7%u}aX;5db+u.M+gFϦd0)L/Пj9H{&!î.2TfMU˖!i]%5cࣔ!^m5K/LyT-:&P"_">U@wbѲ*_(KvϧٕQTWkot/; [":6,Y`ʨLj4R:_^ߟnI (oOY9uN^הxryBۇEgV'M%{7$n)ٷz97`-+'_i2d-=%Gu˖hI{ $ıd|Y'D\P@p7L8 i~_I[A9 KӠSFn&&/M2V3e?zQ]Սd )uA?% ,w׆O9?HXgPŶLKC!iPe;"C`Ko^B|Z|*_hu]xy6:w%"?/34]pu%kb&qtЀ[+Y3aGxFiō`esپhO/t~gOi͜]*掗͙y`!dFS->G66R+avWdEfmۛldLl*7,2%lW4%xoHtT|hV7\ v8 >H1XFg.ë#mT+ɘt܉H8voH/\].]Z;J65tPr˿JG._xmm4rֶlpQe%=6y$S:S}k\f΋>˝SIG1KH14k˘h^;kfnOM=}uDMۄ;< SG-֝p믘|aYbgW;OzV%a5qGIet&Z:ݔ&9vN]J3&x"WUkoӨvx[;M4f0; t"t)^?O*gf訖F%Ƽ<]Ke)F5{QiLߓ!-DuO3wqn?7>'t`#W^u6W-UΆ|E8c ϲrHt5Dz 6lUm '5%rڱU]9"y[Xe [hU:¹`b[¥/^K"85cJ5<,G vOȠbq \1 +|&$v'.3/?HjedH8̀;+$,h~k00(v4E qUJ)h=Iȷ}N⯠WԋT͘{Gmq-Ne!@&R#2@Ovh{E9,U_d0/g3K4Y˛RJ, V w۽IP:(zh{'Yg>i4#[Dt' Wa5|>fX*=Ŗ#'^#ZC_&@Owܛdљ5i)?**eTZTVsi5\gg5bTaʵ?}}ޏH7L`vkeB>BKH㰍Wt#]5.bs+hZMˉi=Z nC+;TKcUD/7'kV-\7NgL즵WgvD7]Qܣ?:,$oQxOݿv7BJj64`R6]ݥ&AfgK|nY!ݛ¿Sx=bWC=WHzGpï\h6, INN)„`h2 ,ihi pIoRygeL)F,Qs J;}g+D+wbQƇv[``"%LZ3oKSVBm?LڡFH>ڎ7b(Q:ؚ@Vi-#}XL. 6 <?<¢EHPX>: L|4D2p-)#_YGu56 :n"w) I \µn*y?{ (8{٫.!5R^GhIlEݮ6_w%v񧽑3/,s8Id5]Ɠ,?SM2<8=\كˬƦ~{ɾ7Zewg+M`6]R͂ ; ߼.|x<1& 80u-yoZwuXi }]lmkUѧJx.ʓ4_~>fׇ┊[*ndZ RdR@)]דu^-|z ̽qk1q/p,(A__\\aNd\}F,/;I9ΔDCiNnsv%bhWJ|pnW{?3eU1̼9g|<ڕt/ւ+54ho =I*g5 z&mql)*,?F3FVV KV;V̓>@+UU 2&ң8wm<\:#NnNwɾߒbFjl=F ?q;H\Lr{إ5d  `7}2H%U\Jdݕ`; >1m؟!`G?t(lo :uYJ䁙MSH.Zf3K4tÓX+ D5|Ttʪ;CZ2]~0;* I#5o+,6cیkq{BԲap'j$,ڣBx})mwׇ Iݟ{c@Y;5:n[J)YdWϊDBy ;n28@Eg>(QעQu秠 C!W]pWg[IRm-+OŲG*($7ʦF5Z;KV?FNM^݇jm,Њ&tF7'&&ayk>}i]A\—nQwbyZM)!l/OTo[z2{eN觥!u>u+ N3_'KswΙwwsH גM:2ό]}uJ!Ym7a^8cS0CϽz|O3PDz~,/+CG[9Yx% ]Z[Ճ,*L@߹И/V0 UiDGK8y5 ( P;_dL& 1U}-_lt\"}XJB674ppwǏiokbeu>ːM/A~.a b;C[DflKS&5a]yȂ}:!6's,Rm]K`lN,[XbnTcK F|f/(Xj%[JoLQj, j4tjIyza]sXvK'LV@ɥ]ސPl7 9ot9M8-Aš+oPk z0d;NDR'eN˫bGG}^H`/ko<0Ğ"?Ol+sp1,y2|L;N:z^L[iK`U8Uq!nӾQ%7(ʐ\I8] &}i*j%TӝnU"O٧ ^(O ٖFUmlvES>~rNt9/9FPce*_JKG9 E;T 5}/]}zD\$QzSo͐y?^.)%3m+)",jz{Pϛµ'c-jR'7zm '1We]d9vG^繢E6 yj/̭/嵥ӫO5<nWT Y э%Z7@߽7ӳ|DMNשA6m }H/S v^i#}~mfӯIP]ʓ}ܻ"J쥩8)?< jz@o99 m9ۿgŝYt_s>׷.uYm3C;-UreݛJOO3 jW@N-oeL] ޿VK|ؔmD,AqlV9zQ&.'O=)l/e yxaZq6VOZZ"HR?(6fޒey1Bs42wy#J?N] c(NJF.C,vRuld5_O'g+x*,jRż{C/¶YC԰_"em)_)ٸ 'զ͒5!7"\~*+KToX4p[zA@T\;y7?"4w7_iVsDE]ˀ#ljsw).p)n6yTT jyD/fƝCiB{o(*4ܢJK5h 9Ê l@[mj5}qtWϣbN^ȥZf X~ ls鲸q~X4oX ;1S$ a9fS?mf=.gV3RߌGW3;#]޾)tڏ*ƕ0c;t8Qv`<@ W!@.OiiA,CT)%D|&wZl2hO'+  E[NUMN>_( "[O:gѣLAOnHN;VNB#7j6V.Q N6\^IF!:6Kا jc{NZ,^ԊzM{U_Mu!x=?J`b̋x-UAB:GgǭGNmF8hjuIدM a]31|TLd׌`u~-]LVO]}Y0xNUT'w 5SmלB0)YdBZķf>A- tDhx3|;!ZVoOVuUٴ)Y^8.Č^k +PZ"(M1|$;ҡ};뾰e!IQAq4rhM? 4U>mc@.oՌ$ksY:ZM/*:Օ O1a tcVnT4*LrmK uux]i[]Fc+Dy`!|0G0rj$u$G޺y98F$PEC4x( N8[bN\@f-(>F&߇XrVGߕ54GEi2G8q.^MΝlrPmcPH|LPxVOov@pPe>Dn 9Q⇕6ٻUeU(?p%0`-^q2qŧ~;+ܫSaT2tŴF ;;ZԣYxMIO*C{; {EX{XB5ɭ {޾whv}n+]=|5!ဗ˃3bpR'ͻ;~2^hrs+ª&v ڐ2%dfmm c43$Xu;Bi~&,-daCBQ76A(hR.~HkplLNЀ'm9mhňwS5!*WrŚZ00]!3%6$1" Eij77[r^l-QquvNk6qa\ʸAƴzo͐^"V{Kp߽:ǛR9|+!F+#F*[=g,FӌA\Agɭ|_1i&:k*VvW5Uy $N6%qF_ș$MLm{s-&:cu>DK<"k&횵 <ƶyF.tf֤BXG$)5wD:&,r98|Kt0ݟ罳iiА_[j"_v跢7ؖVl_׸)Hǖt+@վЀBORfj!Y<]}ďUV+lDy}=8xp}mY_=:ZE[ԶKW~}h'koJMA DC6p#͝_:[(+ jnPhdqq4\zua,c0KF -lob.\ōcCHE#s71H'}ښ{/4~}[oP Bh_^_sHg ޙP t f&% ,q~ߴr[ #bႊ;:'7h.-{B `t2P[ R%22 "3nZB?RsΖjzfTqavE ] kX.n,]DDx cUhõsʦ 4}TG4 Lܚv41G/T-?Qj }igԒ}4_iEE}-A&ךM/!,J6jL«[%nr/La~ 'ٓ q>"El{A+ x&}óCD~zQ\NX& 9az.QHCEvwEviwG lD { 'BAfWOr+ȕ4MBv6߼T%L ʝE@x;{S/4Ml;-WƆMV߽a _n~ہ=偳nɹCg'>$E@^{y^ܛ3mc@u0Ugkw42e!fmM5Z3A@~Kď7T2v]uO 1 @7`=^υ٘~S  cýd%k=ì1ƨQԑNQ?㘵8y٭:JW_ztoV$/{޽fš1_XJܔ W|~? 05V51)ׂѸ*O$"Z½-].1.gP\ɂ̾j`n7c/Gxz(X_Ж^=ei;VJh7fxGQ]󥵜uح7QW]+|H7xW|0Uլ[J[}F=_ͧ"Cʅjq' ҕ =EbE hqy!sgn{?Um'QQcAwQ eНeqQOÑNؤc<zųd,3w-7<\>l hWpQɓK®Ѿ%}U9RpѧۃbjWV *niwP{U&ʫjQJY ܌urd .PtHop<[MgbעIa1)0Df )XQa.j\\jݹF;n%z3,ڈXwmiq"~LFf2}k:hçosg&Cy Y84$tP=_f|a-!5eC-dTWs@t󭋥ݗQ4 #=*9<9M<|֜'Y-)Sx>KPDw.P/xǾU N _~eDvj " t{-B&s%MuW.i c2{TN.Ы1頋wtz=m6F/!u諸w9U8e2f54i}R^POTY]T>.[{)ɼg W-< M׮6qXΌ |T@pw,1jf̉}(c$1%K0g7MÍkS@qh;Z`I#NFUŀv*u&O<i*KߧCb W4VuH׻lVѪylwW^y:E =,So)š-c"H:A䍽4B/vtL\4g _yg;%"5`9"ƕPV$uKY ua:$}8{$&k!R@8R )_~*2 s['I?V^WŞ `vhThs?ܚ6ۼK!pz o.gp9twՄ(=V(>e2L!nnX5xrvXVnTO\ג=QAa?/sZv5MX4(Xs'[ 'vpebnnSvsL;^gH14M6= ~křӊ 1{/VYkb_dJUHSͿ38D,ǭv 8Bz $=9_ hwD jAksH(d d^^QSh\L5 q߹ Ã*U,g!J*0? B`yڻH(3J:{<4FFKm&kO)ްe#Fd1Ȼ75rJkRP.Zg*.V`b$/*U/xM6OEMcхNcz },]lC}K[d5æ[̓$#mǕٲsQeG1v~DgcCNsib/:/a峜=?N&ʻ|F MfNJ{Oh: LkOMSdčz(Rvzn2ڭ/k9aAGVLՐW k[ Õ\%Yϴ`T[5S , BósC16rݬpz^78h_;4N_E1"ns߽ASBY}jlam~֛`*iXF0W[R|5l9'R:ax͚ 4äP"yi [5L0ȑ7@)<[)v<*wkJ+}w7 Q8RD=U5-g$P "8-9b`#D1Xe0n(.30·1\Bڹ`|TT%) H'uc F5-FU%36?Mx֍TTyۨlH@a!uLvٍa̍I3Q6!%9nq_JEU]0pd$es<;PgsUQxNv GAXUAޢbܮgp ĆƤ}%zʼnҵDcv{8| '\e=d7ѭhnj3*K< )`=A!!l 5r;)gŚ&igc`U&6FU9r/jLҩFM=nVZ \-hRF~_B>Ysiտ)r?`LS/tq)6 tѭB]7; GA ,@>`xQކg SAٻh1C%rZPTa샍ZQI%5aR~He.(8{̐) Jy.CKIXO?iwTs3&`ÌgV٠W_0vEN-Fi(*B*D׻yGkb؈9l,B/Ohf sFC|ѮΘe,!H.DN@.B`CNUswnVUM#(W;P(U2╻adl4n_cles3ꔋGl&F!jtڞ{VW, %Hpw!M!{p7&;sfΙg/{TWuUwWWx)u4L u 0 P]Js_0jB4\YqNAnL>WYմ`u!" !Xtlq0t- ?~gGS8$yi9EniX _B\ʘ[d~NYr+O7%pj,-?xܞUΝ7LYKB8hQ ^g1^גΛ X9%\eޝdgoKA9e:d?gnhjPCKRT(yKslAԱQa= (mH4Ւ xHoW{&Tډ->Fj22IeT)EOZOǫ\Ɂå8Tl~Fd+맣Rur%؀A $Ș{u ^ [ O?d*:B UIAՈ/gRh+bs "a}t-Kw>׭׉+pǹ G`"`Zx$෽~O;5]f~3A/~gz-0^oݷ?58eэ hת z+ňw vŒlL#k-M;wJ1ۃ=nURhKc?$Ȩ8~IRJ @0wz~!R~M.KC.DHP6CTϾ9C YOEѴQ;i0e 3N=d]Ϡ뢊Fl12%Ӊ\#cMcYV5J6}3~Ҧ5xkZkhF$!Mw4X ~$L<ϗdV!쐹az,SA*cՇl ~`$L:cCؤ}}A9(MW3: ]ն YRȨ \Sxݜ+n-j:GE{sQh!Pؑ`9Is  =$t|) Pt;Q!7h۵aukJфC9^ mbcm~ ZC$%.3.M{vYˌf~NL}1v%rG(j5Jlp T5X z4^DfF᤾0$nzV+|û+,^|_'F:{k07er( 7[$*jɗE`R##:R>P0UStB=Lxf@;C)wO$'y[!F|.~D^w2x _J+L<[GbDNv(ISu{B -Nja)F.Ne}Ŋߕ4L%A ZGi^߶h-#fz8 « dAM[xC1FzMwsQԟI۱=ONh,P|"\)= n玘n'ytuvpJ/)?jn4U dzk8 =v} Wbc޴i`{2$DVn>zxb$ZA[Mސ}Z<8y\E@^QmUr{RQdRghs\ZT&{E5d>YudTui}B>f$JK[tG&LCIDp mm2kՓ$PBN6=2a!^P$3P)B 'c0dqTkCL<0jQYf<i@~j*&u՟@=tڲ!`-\6ѯ퉭U B!0 .Rg=h<]kS#E BaC'rPˍH@8x Tg'J(7HiG4L+]8C4N#nsb,7^a UᨚCN WۘU~C2k@HOD]#mC}Rb)2 i)o@eE^RzmE3(̻HB?g@=x&Wy<Ǣ I ;Y[(k<}U؜1`zg~a53`?D66>l Ǜ.b'dwi?wYfQwVSvFyx;Ma AW M~ɮcobL8Jbi/(nAͰ[2e ;BYVp yܫE/#nK/mddxbx"0UQw eXg+Ȗk dLM&-':o~x\??{Mi-_(;9n@T(ўxrS¸tzgBTbT`Wr֔:~!Y{+mFEF3ܶkW%swlS 8q{(On;FkXAGϋw;x#EfpP$ QtNBG$BNǔ~N"LMihT|PG_b5ya1tq~sT :v'.'sW/ŵWNB BV21: ]!ޖuSE26j,MO.93۵.̊YӘwdzBE}#/%Lr,Ӵ܇]R}& WN|ZMz~?U(}1C=}IkSU] 졮mȑZW3Ӻfro|G:/msj :ozX봉D?usvXL=aE Pœ!cy4&gĴRl,X)j; O  yy$f2 qR}\eMSoɭo"^M38db Z SɎ&N&[0¨b6|cQ.ì`kWǛ޶![#We]NtML\olq$ %⋈_3wֶ*K:%ҷz8 Zuyo纕XHP$X` Ɇ[`=.1,wx% F&j ],ߡtʰ뵓/k?ح[ފ*×I ;ɛ^aFR!RU{BnO5Z5$ZVcQ,[NqҰ4L6ƥ쀜"=dR )G19| Dg2N(}GU]v(M0|p{/2Yt*YޒSGQ*`G ,ԕCb,vff9`\~3d<fa:(GA*Ck ^K JAT kk+B!#mB+{R5I4Ր0J4|`JF'tXjAwu݈,,)T`U\{3)h ;$&(3^-bāPم9W`GNiC ')j-X::#z _Fyo7&SJ6`C,)O G"!Lc=≨ڬp ?;z4c3d<˷S$T7]J/ a8P9ofs= EQppD0+Rޫ w)*g3QݷGuJ ?P҉V!eϙyL'+Bqg< [w9.!e":Y^z[nZCTC8E'A3r77.P~RwōBXZ(#/q|XzIKK-w綽 2*4iRI'\} m\ZzUx9|\f4XyXv쌕dC8ygO_1)odA@fxm$)3#M 紜gXDμA"VWCuΜnw δ``9DOf7k+trbf!68.ro o&^΋}[ljHvV"z?n>DȢttpX"Y$n;A$+Pū2ڐlzMn_p'(?ƬXE[G)3cRea;]2VhOJԘ$Y\B l-P}\flBGxKOG.2D!▻Q("MzTaVG7x$ۇ\p~]]ҏks:${sTz;%)Au5fƖ]sSѧܝ#9a:r1M})M6C8YJ*s[/nq~0?4f9~"7@,ۙs1pt~lIZm2zsUkfP9?²\r[-/H}dd7E_}?}m9}b&=KQ&FLz2i U+ѬryGc@jj9',[/j^cG/n_RP{yT,eHqf3 $/ao'D(C@1y7W1'Wg ܇Glec {+ODO) 'V#p]#%inH5{ռg[gwӏMM C\twh/ƂODOb|+ΉE [m8X=L9ۯd ݎbX4E-UӨNkeJ_mȢJ`b OKHkݥud%G`^6W{>A۹Sh?OL ,F{ N.xyڇ y~m[O\|)M3VS] nLbVP1B|9:C"̩Q#2[KEUDI\ 3#.n 5m !CU 7xo/  :D޼tZ`uhp ˜k_IZod9}q1gfRyobm`ӫUzq0{WOYj^Jt5jDn+յ OD:vtgr~.þ#.QKΗv[QR.X5>†L6N[[iҀφY fY ๪=왆[ڽ[{5CQ8$N09 .dք|Wۭw}G>",3I> (W)ePf m' cDqlJ ",GlB>ƘQ;TnV"a$:8=~0t|X(,nK q@ߩ3$;Ƚ#H<tg#|ܣ\*1.,0.$納#KMe[e!|haSKn'zț|\b5޹M#QH\mm/&B i߼rn``FVf_O4LN9ڋGI`:*cv iEI/J 榶-Ѕ筸ø,lI\ {%w4w27(E0)pJ"k}WSLZCf-E e J[٠fU\H-;!L1f)FJ'䮂x_C`!s AfR-yZVNyWzzϔbluPddX+>FeblՆ>;a:\ yqi<T+(F/˨CR?́WuKm\6dFaaCwy&Ļ5UU *},pPl]O=a̩MP0첍)45ߨjjS{5/Z {6ݑ=TևK,FZ; o$E"P Fl)z3rE_ȊesIbC?(#6Hqx ɫʾ&l̾p:/St*atr3ac)彁cm3[kx j}UQם1˖,|dsGI(+ -qE`‰E|"ʎ--t]."o "MR UP-y=3G8-ۍ&p]V+Pό* Y7gcH17ؿD}S&fxW؈n,D7#;)87vtwVḍGiիl○DQ 챠5c"{7V*E1)`żfɢgn&%V@ W6߫0J\foLM3|ōG{e? :t)iFDXG*|}9iݕ_Ys/G^m.;rW\gEV>eHRKK2JwlzY@͉TgׁV&B Z<4ڼP}]zϾjoss1]-3a$6lu\¨H++/*E'.L\ts\l4hs^d5u8VC8b^"&;*;G?aǸb t^ɆZL%( 6{ әS MZ\"zfQqsxUy?{ȸ7$F?][;M>w{Cs%m┋'h z4trGeV')qGY&7Dܽy沍+Bi'+_8E?V^#)G (_ TWQwF\]q 8)GXLk$w3+d:ʾYQ cƺ-3m!P2ܠQ0Yƕ" Hy8<'rm2΅}o`n >=ەPIԅKFɢh>GN:;dO`Նoq2TW٣"@}be9Eb5g\EܾNz_{鮫D?{h*ĹӐ^eCe4iW>j\?Ln'tl:f?WΟ;`E j  ~8.܀Cq]X|sKdÓ%_b(EV)'8.=/Ͼ$Nv{S#bG yߛlZ5՞ΰiˬIVboWr^`7>eȢ%x)&d;0KAxPÏ$AvY\ҙXٜ)xޟLwj6%Kwg5w4pbn0?l:+W$s=BYby}69U%ֈZ/!>Yۉ~zp-~JYJ;tr[AxICװZӟS҃g#kk,mW_}]ab[/Ws^?E-5,Ыh\=YS2!p{MĚϹ!br7GGOC눗O,&퓥Υ X;#DE㺜8I\{v;%jo 48f6NNo*P1|P!z\ 3=*jS_ 7E }>/6 ZČ[}ĶHlϼÒx~̃%ٸj[e1c>O>myAueDBDR8mQ. [D&_!1 3}~6yæ͏gqgca{hC9%^^8Z I{eD:gYe*JP@A&l: @آ|)Ŕ.gu|`!%nfݦ uOaU.@I+ְK֛Z"V`5b1Z1^;Ԭs&~b"܋A3VSo29aqd, Ō CAЊyq$ RyZ~N@qZ;J6 =݋ WY_**n}ȅ;%(2S;j^"bʯ3,4x3Ϟ3̛VY?web;e>tj{?80ШIb\ib6{ev 6`VBJc")?/Qs/IuIPf$EM[lr9C16$!|1MSU R"vޮEgj(g}/$o)o'e&7GKÊ4m#Ev 3f]e7gV:ZjFNCo&Uem>.򶉖(WBv,P_Ȯ&-˭J=TTV[ĪwhߴEU"_g36ƞ7h%E]^!bD 2 #.#+2䀮h?x/ y?轳=©t AGš6}[J!֗6"u KaB+9qoVƔK(͙kNMz֔-%$سR),Ϊ4= E[Đ6T]ԃ,*MlE6/3%d;Y-`=1Klz4v[jwYݞ<*7u7.lPFM;31$@7 7DUiN0{ApNE Jnռ G n(N .F NՒV`˷AL =-'n{v\AMvؽt $sol -|4o[AM_[~ME6fP6T wZJDHtȎagW,v| ٻ'цoKm)f=*V[hyVa˟EB?W-|C7"!Q27U7@B9ˆ53G{(ݕ v,Ji@qys/h^nof%UӬk\1_nfv䌺lyxe#yI櫨mԖtw{I eOzI:[뷎1S\E\ƔqeQvn8:]VvS܁ղ$c]Rm}=\idw#úX.7\="cOԽc;ַb%mM$i B$ynӘ| r5IԂ^%vUEh>+sˠ zkCi,#L_$ul6ݱ/1Ia#HK,&D[3'ScQ7،Jg2nZt=_N<]ۭS._jaQځYE .m^j}{Om 3Ֆ,0g%a\p Cw(s(^yfAB"Q%CC6Mp!{$$1̀Ha$#)b zu҇¸=wͤ2҄3?MRS~BH>yE^= 0qA&] WZ,wM]>kƉ&jױՅEwsp37UUt{T3ҕY Z%[Y+C&=<ظkm "Ԯy?=ݝ9_ P܍n猟CxIR9 (x`.1eS/ Esgn{"Y@5M9E j#0^zoW+TsuFYMsq;lL<DYyNG(w 2P.| N& H]쿦'}.F+k0pŸŅh1"*5;E޷uan1 q* ښ ޷".Fh}k ܱsY#?'şkQkr!L,of a^|)!j"@e+ݑܟx7 PB/L /Zx~|-2+uȀ m=- @f2κm^EаDF1ēBi/l=)#6A t5K V0H #GF:g7ధ=q2$)!G z)3ԞzigHWo@y:B\倍-mQ'MKUg"VY$4 QU2}ΓĆJS}/~,M~u#'Y*\+\s}(cqB(U'yɕKK59/hm]qNHڬ~ayKKح0PK$,̀*/|0j{M "6D1Wg,)'/X(S\\zZȤ !PU)zU[ ҼL*HitV5Ix5plyXw[@h_*,&@%: _B%ypjCÈqoj zG?GG`x!ĺu$y}j9Zdm;Zq.g*?eNk-o"S`Љk[^liJi(@H^[&z?_QkI4oS1\&vElV_$F-F 6O&`3٤a=YX-י0"L({2mi}<>r 0UQC#/@~1!w]A@k:]%4ٿ;M>)>G#J >8'gvuM짍BQ#͛|8xI5?={S?ztMY*`zhR [2ԧ \$1V{y3 諔 OP&=DPb]+?e䘔$X.Ykw `Œ$L%jR>o1뱘 ZupX=)(Zb,XD<Χ%ol4 b0 7DbӅ5vmZ]wt*_WkBC&V4SrKTt:3ѧrJKm軁N3[WZ,=d &T B藻n2q{5B!vⷉ  s}4_:ؾl~Cg4|1s~3!NUDvmԦjM= %6OD,]H٧$$ KK \jt,.Orzkƥ}mVHͷe&R'pwy#s+ qG;L-8e*X1s؛pڶ۔U;a4qΟ e{}ebS؎C-E#)[fnҴeo$aiuϝ(͉]즯 Jm9<1gsKS23Є<} jU{D\$n/-5ʦZ8M}QL?lͪ)LIabe2 8U |Fx19b#:^[U1MlDOˁTh8u: C[^wosc#R{.4Jlٴ&N9p cTMF9Z99ca#9{iҌV:9н:psJ&濲4)B]9/6Vf'0r]>_}뫧JXVGRJIXH]Ekl|z٧AuO=yhy,*hl̫4zhр]'@YА%#OgV0~;<^o\4S:{Ë!ù\^EUJR!,U3VG9MGn_LExkú 3\.!ZakUY`t׵$nAc!3{5Wm|U !PWUkJMGP(΋;(..\bƎv5RU7`z2b@|LJ䏣z\[E6ģHMA>'s-9;i܇0yϕmY]/?MQE5Z ~@"ΠTڥ#sI5`1d}ӭP#у<{GcYYW 1% ػ*>F{O4/fNzD*fu)TzL!=cGG~N8xj7QCΎ\?3|K0r9XwW@?_5Go׷Da:Q"` 9IWWl:??dE7ʭ ;PcO۠#`nVz5P$gJQmqr T (בS2SNJe>:; Vp{0l.sg"gFƨMf ϪܧBaMXUz->dYI*!ڹ!NuCYLO/hdM ҟ} 4(HT#o?1ɋz_S!:#_ú|I)QBn3B$_F#P 6u$ˆϠ)i.iȓsejIkI]$B=ٚq mWmc*{_D*tyGu퍼&H;@=; ajánCr;a2+FvVϭ+B}v=B1MT&g& ED9]Nw$ Ja#Xf"t *wY;ra|*b'e|~F,Aj'k8cr0íJ59pȍT-_JfHHH`3 ^E;]}XKVOhHCk|Cq:4H@V bygڡ 6'h+77/p fÊEGxpmmI,s'>l-_KOy 6vELK1;G 4G\ 0p~7, NKY|$efB%jqǪ u]Kbb' Qh0Yi$!MkTQVOت;=Gmawy96Ó&nu?!Kx݋ /K3vx#B`56Sk""(3>ۖ"ӱc@ȹ_Eߪ3h]d['IApbb4 jϏ'3j]'Q8xy];JT<y"{a ~* "p`^2mOL%\bE,̖ -*FtL28:~3Ü>L1G w65)^]SFF VNE:AaCkU E垡 i9۩wV @`TNSئ],J]kg7]D:;`h-hfw T"ͶJz.XM`Opa ݸGjc͞xPXL (fKP]z!H#)S[# ܄NڨXC*k88+A!5Y>۬Ejav&hXfT g-8pޑm_}lVwa%^qw0KD;?<ċR0/.j'_dQ`~9Ad;7mesȀQniFA(2/-PȰ3;o1]!܉mh4MkIm#]r7|IR_gÊј;]P9*c=1rjΎt](r~uP-5dO![I;ڬ Ue6}lBv5L;p6Ηw߿ K~E჌Gs~TPꯒȖVCL[mQ:ԿCg% 8̮Lr"cV \ssv =KY ) ~rv$l \^ by$cB3DwcQyroX KƔR1ZTt>a+Z79 o,]MR xg!mE~tSk4~kxj=(D fޙw<Ӵp@1|Fl3]i]:j/7oaw;3{-)H0^,Nb?5J5EH:# v^#^W?2eG(CD(.*v~#/1{̼οކ^b`OB@k)H:ICO;0O~rc .I6x@ 7DWw{P彛#?rky#Hd]|==믭`.x{ BU>K'#d;=D%{rvݳYkI֭*p>M7% eSV.pៃe׈yEwb2#}GHx}F&?3zvxMA6X#׭e\rh=E+U.׿$pb' >kS1?SY#h2'I҄7 򳱺Q4z"\)h ߮2j??@{_D w8{2T-.#+oDΗ,vI/_&,7?ȈO3bV%ifK{Fɧ}[GixO^ #pvFp*GPb) &%;@ sÔ'W-  Ed.CB6yxj<s OA0N[vN~ 7oͪ. =ӭ|ZQ8'쿻 Qa?P%ApJ7S =,F~mnC"O=|xԔ7& O%҇e~ՔT#K4M +sA!Joik,~p.5:dMFTo A(3jc\|ݡT3mC>?O_kk͊`\X2^mk'OƲ|SÉNC{ εa)$~i挅hD[">A5Wt{l񽓆9k1;T;NUl-e6R_]⎂]\{K&˝ ɏK] ܡS/-CTϣN 9JJISa%[AŞwM5s¢i{eG KR!FSWJrEX4KH*Wt2 9V5F/_3=L`y>ozRu{lQ7i=nHՋcކ_{| `6 UJ mS샀[#P<}C<#5>E !eB}6&>b9J闻yϾg;!5#<zoXpyoǩcR4O,-O\,tkzcζ1(GI2 mlfzErzczx ھeφ E3![0 b}'PEB"Jg;@yᢒgԽ}1i+Qt""f"'ǡWLjqv kP U>7:BEMmV4+Ҫ˞~Ɵܟp?X4^k䯿=t j9CZM<]vxx /8:ȏjό E/!,lfXaFFv]\=QK Ƒ0 @IR5=,]`ݒE=[(.3 OJT t){͚?WA.UA0DoqihэY㈨01~TaMsjϱQ9]㙜; ㇮R#O565vVVoY5 $(R#UY>/Wj D#"v|9^GX>B=*^_m--"P\h7k fШ|UK81IdK+wO)U8)Sȩ,]@"E?&"#[t@{# Kg =Gonf# d\n9xrZm,p4];2ϘEBM6jq/p#ؿ2Qzƪg!5OBf˦ڜp)JiiPIr&AX~"|2BŗĐ<wkFmgobCʩszNĮ~8$56!*ȽYAޣaY {+D{cuLy6֙zPܽb*1D_832[)e?<?v|t` .{zAOFbxBWh;1Q:J!vUFίrV~F-Ui 5~3^Hټj/z?_ ];a-IQˉ!oG% [KR`S ;Nv皩Nf!Zr&*Tw?Y!T&;#d@P~c?FMt#q dvt# ꉨO'~?Ku/4^ b5t T#CJ^aOڌuO5t4~4 7o>U{IiFG(, ,Q=$7#m8Ў*9Rm]MeCpzYWƗL5BS)0CAEiY#QB) 9M+zpʆeSNt9CPkiDhOfTEjEh*W]3 RYܸ5tbp7~Idګuy"7p.פxZtMuY=vx &@|;  o Tm4"pfCCx+gՊ;&g, ;i@. [QRtC @Qa]Ghq 20-ѹxٽ{}/uݨZ)a5{#-ItT0EAgXQ>ϱL3T5XaWsw.+q4Fȹx- woPLFH]mvdzc_|= \-f|(k(*z<_X.|6vlˈ}_2 PUUEqPWS X%HJӯtʪrhKPxv\՛TㅯRm~a\Pi4vr,lX3,ntpc돀dXRlΣ=gֆg*"P* !§\{b6MW I%WXSy>k P*I;Vܷѳ>#)M/ #4±!\+jZ!;W^iE+4tf¶IĖ'=kA3*e>qp-cR~#j#<)6,KU>L#֭s_^՞S5gا^xA9-t=B-Α,Ge}vH0a}#:Y{bcI]7)09@/LSgh|=񉲗xShE^K<)'!k>l1pfY['5e> QBwdLXw ̬LdD, m  Mm ,- 쌌%7i0;;?,gdb`bbؘY988XLlLČ-'AL2RRTBރǕ".f - Phg$hpVHNy^]_H<n_mw~whp6ud'E@$Cz_UQPo*b0*~w~ہ0lOF "nk{z=C}#z+ L = #b}#3k>V b3C> U6iFoLd , )#pX}2r#vv#~*f 34Vx+'8Gg_YmLtz.t"xkdo`gƚ)oGhfmg̦ohFbHdGgDgbl̤O'yCRhg=XL $ 4"+(~0`7vFzFoiPY2̌ uip<Fgmi 0b𬃇e[Q N:pSܒBM7D~M7Dg73l:9 3hXg0pp(`% 6.66!+<r,lzrJ*Z\bjf j'$pp興 @Ć  Q P ;"x+   Pz \QbA׃%Eg̀#.oP=&cѷG%MAIE歈ۧ~_cb&$~/o?6>195sfveum}csk{g/ /  /H'g`PalH}Ѕ#3IY1F0XWOXٿƘ2o|HPBGhYJH}F[7\ GnRݴ'7X`Лѭs_NV`4EPH8V*CHMg#8xZZZgK 7-?{KevG[(b_jė̿y:پֻ:384g~.kY|ĖEu¤GSbLmh1y+ԩ/\X--HRڤyɺ-#~|"=7]>29 هt/摳7 ךlk",E!v4=&Ԛl \xyq(O5fNR!9cT}.!,dE~[~YJ)WCAd>!#jgY9,mENh:CecNpʖ!cE}[\p)af!WB8ge#`񑆽Q[™Jڡ>Ŏn*ބt~,!RăHDzb{KSuGf 0#vE]aG:)DOj>9SԡjJ| x%cT0ʭ$i[ 2[FDe7Yn6y%g?i<V3ތ=:/Yeei0VvF.oUZD}2=TMd]NW7ݽO_4m =.Y%֐=U3uMWdNPDN/-ZܳY<4,F^q;0wvr6ڧ=Zj",̢o߱YztOUy>~ЇXH[\%^߶Zg-иʏ(&ݍ'hBQXo0쯾` Xt^G^I}HIk1lFD]k"V V'q7v8hp H<0W} ܽ==8:"աg7+a_dsXsVuQdz6b)eX7Oݙȩ;xszϥ6_Uݮ摵`訤PP^]+7x 夼$zO+ZF? pNQ2XmspTۆkeEj'Nao⸐I#J֭~L {5aȸ<OmB?'g;YԈL 2)p, tF$'^3t[&{5k^vEmmp 3;\xV]yP2pՐG?̅4XR "%2)w6d!"13YI)&v/yC"W}NA`J`WL,o.)tb"ٸht-9AM>P"NqL[p6νt32uUV1vn!DsT<9 7VqکD;YCp^,8NGly%RQЎ#.kL OxKt_h9j*B+_~nϯC|GYf¯9M~)+^WԚ+75G~iHid'd:=+!9''SVtbesEQ3+ Q ^cb='*nn՚ڂ5wdﱍd|`0A^VhF)ӥuȰSw5W ]PA/BB]abl}"8tPť˭ǘu xN5xt0ᙇT qBoSҏmi#sdz|ՠW|UvcxY 7SNiK~VP:gYfoF"5Dr'PQ~-]R~J2? 6D,g6.Pؒɦpfx<Y5҄^@hy - YXyp:K>?z=!xgKKş}R):7 6c,*Rs#\ޝ`ulA&tK8X _^0C09^CAZ# sv] ـg`£*AKm@z# `FT9mm!#`"EƊ,2[0|HIbE)688D5GGCx)gףVK|JpQ;/N{a֐q_ˎjv2.BuS)qE]sv,T]쭳&51 7zשMwvnEf)Q~r|J[Ӷ 9iP(YG{dэYkҏdif登e:ZTw0dTmGSy-ӥhС?G6.լYzf^mϼy)CQO3lUcKT]: Jq;(.`Qv|깔8.AgB O#gyM̪{G@g*w->ȓ( }@Nw,E2U21R}[Z`1P4*!DF0ii2pȌe%uyugy#q-nyQuآ&mK,9+}A ˪|z<  *5Z\B,q 7-9MsBՈisfhbQf>ncВprsy rF .G'ps @C1[QypF3Ӝ 9UG@X45\mņP?OE@̣#@v~?\}=5(ZH%n5V' 69`We,:So@JH[ZPm}73_Eo^39|2OY3/%We֏rL p.Y^kw ֕Z \u?6.gEaWnIX\򱩼{1 B9o/\©oG&XB>-amB5>'sPVsSQƾSq[ʀjGxC&m:a>; 6KujL|rٲm7g7|V+ y/xTt[$m;$9& Q pj_T: Y$ y?Κk%%ȉ­ 1Kj)aMDw|7j;ue(0p*Mg$W[=}{:_Lgux`íoS)# S\+L#b-^wl_ i\*k rEkw+c?a ,{dݎ &[87a㈇מH1Sl2]'2 }θf〈;Bev  ahx_un~~2 G83haQuoٵw~NUԲ{lx/@F3U? %|Izt R'3E.Z:'y^,:{AڎLe뗃ED?`&R"LUPoWU'_PC0۶اGcft #088nZZDqg\d T`mϞR.ʆ1NЕ *oc nE޻2GHP6Lj=_`^OQ)bG \(Y (XO"\ \%Mc2gtoLT#`_Jy+kt^Sͮiź=V35Ç[ 7 $5jUq~$m2Z[6\#CZcMzÞ@]j%ӷR6 skEZoٱ鋪 5km߈q׌NJ oɍFDpѥ/m<B|' pvsk 4-?ٹBr6svM1ʊzuxCE]ѐjUEeXbo< 4d.Y/"G@'%\ƃeIaDEg&|͋4u5OxhSͷ)jU@GPe=[ta{П(Gt xMdrʹoSY$Bc3xTOKhu/{_ԷAT0NAˡ࿡,`=cBI!#̻t/"[kG*);Dz$AVHLv|P v\@7UGgE)5tXlyZ^s1WlyFqxQD9&6s52#"g/ex @yP +]TA3t"wL ??ɵ " Q:CwEk|8 \9/1/xiϏ@kuq X ;eQ12زIR8aؤf95=HD42giHgfGЌ)qLFt}S~:ڨ-NrߡC B  s åy0׊wt;ߛo{y I\,?o=B- ' np@߸~˯ Ko;7f~v-nj|tj,flpp&m"[D _{TQdOj7[MA9E7&(\FRAؿ_s{b+k&h lً"?En[#IOQv|AY9v$i-#+i|f:܈ߥLˆ)CNnFYJ#΅uk#z\M-{+C\# }!Coj ekzG: C~nE^2'K ۆAtlMR}6ԃj#}P%l+JF_\g,T$X!t}-{% .yZ)x)!ζO+Pe]UoYuAs,:H@`(eybO;Y.gNm33oJ@l-smCb)&7!.z$ݦQo\h(y8 W־L-WJ7+o SnM-Gt}X"{1un>UT+5.[4NOj2ƿ~])xa2%ȡW,Jixx6|v$o`=ispWP2W^hʓ5{5.'ntd,l_`zN ahJɓrs.v/ |H>вLKsę1Y@Bp- N4[pnOݛ{w߾}i3=UU3=3w(,pRs'H,r\9[FvƼxU2_&yQ+]9M%Y(j4+C:N%ح*Fz2j^%N@3!ۇ4#PĞ9?Lb}}(.T}s 󗒻A q(>NDœMk;\ǥ{.[IQѯ*Z +#L²&b\fscj6%Z]Tkl>*'ޏbS&iHߴ PB] (n=ѽ~5}lF>r6`6'0anBmsISed's٧{SU{IXAKsRޣ5wz';UDwiD15B =7Vld\S 9R0t7 ^G\4$D<#^"eel}wHW8$&am]&eO1UEJٸ>lZMb>ݥ?7.XCG&͍Wu=pMis[U,Sᔕy6Tt 6GS, |vk-ʢySkSzЊӄK^j`* wGS@\J!g !kEoGL5Iؖ)1/USݲtwӉضHSź4,=sTo]-0S;}Pg𔭷{Z^.ckb&:>R]Wݟ[v6Sc[?jbwdf+F>`{ s#jnK űXsח e9=o斵"ԃhy/nc7qBBОxax<4 ?dc+ʺmؽnHJ_x|Tz$]ӼHw-GSW_JND:\/qFWp` VQԁ.-~ʭό^xהÚu(,f)QFG PMx)r"3hߟ̃ u!~|>Nˬ|K\eS&@-o/!xkrgJX'st:&o=1IuҮ/8}a踐9Z IY}a͜M };N' &94$9, de{`"I1= 5t%yfz޴k G:GSu@a3jSh@62]zkZ}/%cw_Ibe|2л<_0**u%r՚T~;.z/a0e%-_}c9\sQLUT쭚'volzWټ;/clN 'FEb> 7[h!6 oLdO򦟠Gw4F}D+vZ$~:js SٜT _^&+?0As'bx/3Lc'M*:j{7O`!3T/>>) 1-Tɳ<;9WMƉ;;a6rEf]`o THU{x&`j PA!ThIHAPhoV-3ZDj+u%01F pDv}SKULTAUB%F`p`|4Y UPCWGЦjab[>N˖ GB`(5{<~:6)w1TzwI s{C'lD[zA: ԋ-kdӆڴiH!ȯIvxp1Vehc;(ݰ':1* Y)rvnC0G:W&wcx1 #㮑>Ց3ejg.Wots t ga/Hcz9.}8ų A.xv/]2v&i~;kB1ࡖaǢ,Uk@/H؉xc-ծV4RiXWrXDXY$sXu[~adztѪ=F)GlQ7Cv+dx>L-)+h#R>\AEVs (åJy$'F^<\.(3),ԛ֋).زy:hy6S[ۃ+ IUpzcjDD>'L _&%  3n+ImW85VJן`2wv욺,[ -`<-=J*.Pd:/ݙޜZJU'kyͿe-'"BLxKfd;gcYRlGOUO%zԝ0uϥL 3AD$~gTQfyo_oHXL]yLjCV )J/.?M >|ow ONP9#qy◽4BXdWp]:;oeo[v;f{?ȇs3d!@j@)-B%2-aR~ tl)tfsNl}uxEhp^Aw h:q %Tڝ!"SDG,ឆ~I~(q%u (;hј81 #k>VKtN( SXh<2Pnj'8*۫@ WHUfyڡHAPLKfjPO X~I'ݟtI'ݟt@Wbã侫-/1zڅJ\J7bһ/W:)V " =IEtKQ7T[U" 8I\(}rDRii;` {]$0?QG26YC1Nqа JON@-2skqJF &ojdy67nTh/ܿ5Ŕ@qWP+ TNh%Мx CAK{x VMw["HjypJ+ū TrE'=Wq/Z"q4Ї|6-a +Y@}} S:~`>_-I% 'M 3߂/R1lyD1gXD-Aa4GGcsY wTYMlI.!P97%>46|qR@V|. 1`Ap6&-@03H}o/L0bKz`r-?rJ/riʙ%xQfc*U5t/AYE@L Z rNkEK!>[9ͣA\S}gjBz/1نa ֺY 52O$G' W';ڱ *'~ʛq%z!9C$e'ŗc f+\ۋò6y:'u9s3"Op{c ?Rv9uN^0k^˜E.V2uM ̽0Ab=P[I٩$kϾ$7|&\S) YK 0vʶ/y3 ilb ?5~f-ig?ۍ2D-|J)l)ptE^Qjaa53ZV)/}f5xF׉w8E`g\ -}u81!fiM6 3-Io'‹54PEK2\R6oԊk$d \WR/8F*a 'y;HU㠬Dƒ3;Hq!ũZ&k,ǺR/wl3%l]j۾ri/z!L#SI:D~ڦTԋOEPZzUc &Q=MGEn}Q0:(qn|CrMEw6;wrg9):ÃVD=zdwhHx(w 0'I혜 0M7$8Vص_'Q@NJvDhEЧ؅5رM7ܸE7e[_B  6. ;9Xz%e\Dd/ΎޔbyvOVJ-ig 4w G>Z96NjFN>ZUǷkMV)N Y'eaG~~6>D77Ԍ^Lp9q@$/8+@MPİ]>wnpg8 t7Xϝ4#.ߐTCSPV2cK4Gpȍ; |+-rw }jk"ʎ?:" 7M']M I.S!r z&9 Ķ\S# ~ě)}1ui1)R_G>y+)y^t p:@}B 3Xw Lohj`)~>I-+C俏-~).`ZM} L**Ȍ^ǬRq24AR]N"E꽪lRIKuc|Teu׼} |E3)"K1(W%UI*IºwӒ3޲'"—  \ \Lͭj\p]hi?Mp6ٹgO@GVqR֎tM MfUz^b# /(1 \#Ǜ멗O])-:V2:\HD xqq-9pgA㥷Z'|܌sc"3ȪYK[@vu*R/Us=L.loXJ|ݾuAP S{l7HGy8/ sMEIB@x9ژ;_AeOxw 9q!#6y&F7z UYQv#Bb؄UEcV՜Jʎ6إDu} g r+[t` _(7րG.gr+cɹh?[ъ6!.H3;=e" 픒fVx5c]lE@TTL̟?3ff'CkcKש'V9tt%#k%?ʳ!X7ϴ UQO=bX`pl !c;?wk5S' !n 7Y:R8;6]h:` CyO9@NHYEplZP2 rCIR6T4Ak /S$~=#@E\ADPPZ]@8Hq5=D@K΃tZ)TeXːW8j]:ȿ rOj5w6wIg(: ĽcmRst9܁[{=c*O\)i,+b!@a o5Ed$T.][| ;'ƫY 6''ksL ۺ\DzԖWc5v"^lsqjIMx]\Ddt^c>%(?&QړdAcb撌#,(G>鿓pRP+i$AUy~>N~RKpHm^Oz: +tFOnZq f;VepAk[ⷝCQN}.N)ݝ<yξ"gy ^˚/*zEʁ &zq٥n RcaWCWdMƚ YwE~dĥx&F!hY _]"NgV3AB}>x0bʵf& GƳ"޹o;}FABG=zcuq 7xJV tקŗ!#*SovwJőOf}sn|69 O겦n y׈-%سM>rėoU㎿K|.oDCV ޛ'uRՀ/3C-›fϮC9zU`z3Zxim-(G:,в;FuIƺ%RGz8#{x0^\l\W -ќ G{z:@G_V FbBqV~s5'_PAc[zzWK0Zu\j,nK.5)wtIiysQFZml93AI͋b!LN7 fV &!q'Hns 3h&V s{uSoyQ;eFæWب|o~xbcG/WofSNzI`l&O G M~Mu/?v@sFC%Q͜>l֣Z&75\ -'y.OmoN}:OC]}U#B#"Q[tՇ+ ^)J)v9Vv0/tI\36Vti=ā3em$Сt5l)tLBB``xJf4{±#zoKѺ!Ɂ8̣s+k0yfhj#&EWn)PwH0W) %*L0F,9iIm!l7)BdO.T=}Ⱥu3N&q].#3ga G4Y5%ɩ߷Qm_xrćgD.E=VZѩޚ>)#!_h,1$Cs3bdDzKɩ~XXw\ 0g@"Mm#-Rd 2vm`a(ǭ j*ϕ^Ư`]-vVB;Ƃ!՘-p.L|B!jMaÈ=!J@^_$?ᡴYx5<^1dU@Ϙz/{ -E$^/-? u>]M j'LQ%Zx6޷6%n!ūuF8f糪{(aԟ0Dh:dPUxpذ 㷳]U9{ WV*4`HKJPxy}d;RLjmwŽ?.f=e>Ȧ)ij*Up*zF~r=9񳔵ս!각5Ƒ3^M7{2S&_N YЍe(= X#{ lg QH.8gf)Y`--YLWKlWcHppݡ  _yz$*iҔ, Ng][Eĩ@Tu!ei,.C,aܧDJ@Xu1Xfx 5q %G/w[1%ChaM n5s,65yVrŃQcU#5]gLkqC0{,A{ UsPFsf֢Vi:˃ଝ6 ̍4[+"$\gCµMA[ 9Xߚ7Bel[X=3SkI!g24 #D:\40qP2c D? "Q&kk =| )Ƭ5 ph?f&UkFN-ji5'ϻAoV>h`Gou®eu-I@f/@ֲqdH[*Ϩ5G;Sѯ:'YÒG_ I)XϏ|^tTfYivHü̳,0سvFQe}CǏ Iwc?F-3">9C_;j#,!zCmAHb}Sa??_E^`eO`iTz }? $s._Z ]U@&'j-uSu"[ o5,v3=]2z|sr3 ՙ3EX*ݼPc9^G`{ybKVFIMѰ>I'^`\62kjvb1Wl~$& )m!TxL-Q.A["~Aشt$Uqrr&r<[\nk!@zrəjJ`2z,&[^v`~`BvRt˵IjϘPϗeNsK \dSY5PY[ϗyFi9koI7{jՕUPB#׬jk+4s?jhsg.|G[)Ƀ]X)o˪ezگ,ӣ2l_?(2h ˣS?/ 4Y .5BŲk]Uֶ H6wJ"=yٓ`wgג4Lqo k/ ْUW ?aR[c@&MvMoH؎V+EPgaj"ofHijWōFTyFJ]Pe^g3_^pXtk IF֣{nxRyx^2l|QIfA*K+*7VAPXgC(5joWzR 69 sEIwevЉ!u{I{tN[8xCWIvY79 [(DV tߧ Yfo2:ěƯ֔I=#R*BxDe-[,/v$&/, ȀixYb.N fu  *)ec;7gD\XX¢!#4$asO#&!|֋x.mp&/1l+*(.ݥ Dy0MCaL.P=\3<{aRl4jc߶'&- +7YAblWx\Srgmo/rk/U~Z ^yyC/myTM "vdĵP/7זlmN~ebD2,=LP*MG,]DR^YY̽>u×e1)MPeHHzf:Qe6S{{9iy%7Sl&[ j#yY*߇ '4\B֠ntgς٣[YIH'ՍN 'wxw}Y3OWs-buL"]$s†)NSt\˯mMSWP<~!=H]g_M~rq5͛}~>WoP,>M=.m$srQyR%w>"‹W&jBАډ_{._6]z?xyӗ3U!!o#rS\[zՋ# ."SE1?V,tYFd@A`f"y IrK:R菊V%uo Hɥd-o1VS,Ď ~j-gtw l[@ڥж-{<݋&ǰْZ\\)jV7{9`F E܈l#+'O8 e2j8}z{0U+q%V%BtQ U3TD'U[W%~Oڌ]+`ޗ7r]uűn}sVsfKܴM5y |'XQ-baUb]o2UR|ԍoTʿۥJZ@ aGHM#Iqt<<{1jqx{֣rsxW#9/u݂-Vݵs%xvٚNDH۾Rڑ+3WN96bW'M/?x6H_V* Jʥ\B1G6=i2Q oM\.s q%J݉;ϣjM>f:W޻ʄ@0` ~ʠ֟q ,r'=qJDi'e}pys e{;R8wd/*t6qk?|aխy&Ppn)gE=+Dx/ S7ʣw=*o=Wl gc ^" xQŒvfX܇3Tv,] Α/R_yf"?Q%3t^ < \ nJ::aɦO*\ª]zK1Xn,Gf FIaR*azCAkLT_vhj(m&B}t|M؂>fiD8%%~xvٱtiܔD2ԧ ޶{bTtF?b&ɞN@?(@'?JIݙ ف/pB{՗BEm.Ր"|Xp*5==**Ocpe墺  fP:>hnXlzy%r{J 㬖yؒH[#͇ս(S-sֵQZ&m!w9fҚ~4ʚshfYIrƽ/uc0H[w!KteN/ANH&jq!lz|p%XuW ZȡxN;1nLh?͈XYZ= %&Q\[ޏbK m9cJQ촴"e؊*m}9f>)aP})ZyG VW,Xq$Kz^Zя6XpwkSIXrVJ`{'}K250YyB2R]\#Wȸ~(>Dz0^@nVlB C8JͽQ̩q y0Rt 'FA4'&`ӐoӂaƊVCw,@W-J c7:_`G[|+fTzJصZjPnr#v't7,&ErǻJJ|hYHG' =4Vv,䀛+%? ޔ^OU>_dt2+W}˞ 7,T$*T*(3yI!i{7kV:ݹI4*瓆+CWԷ;;CDIΟ ={ZR*Đ/Ea#?5`gLSq_x+-ʖRRYz$LП/:al/B%ZqlTyc>*)Wj7zcECݏὸKשģg'."u?y~ >v2 gºIEU1ڰ Cާk&OBcJKkZ"}&5?܊jA ܻ"=>>!Ov75f˥zEDFz]NʐVXx}Y֜Iu |"J`@({5a7f)] Os*w__]#z.q 4f"R#tL$d?]{Hi}zm_n_27}K?xԸ 5bka~{fMaCh 05 qO瀁- iz4Fr>z @ 7-2Ё |u^΃ |P2:q<ե{@@K/A֠0߿bHR K?qo_L  ^Ȅ*J3x뀇 <\Lh\f庱FPkt/_]XU*:!tO 'X*9݌1vf_q>쿢@(4}+(*sbj询] ~fhd l?gs l.gvPCcXӿע_kޣ)vX~ v?mDmѶh@hƦݏEǢocѷX~,v?}?+wO+ tcwƘx f>'<'4'4'4'4ο'4OhXMLN#n-)~Ob?I7B\$!=' =?I7B$!x~#J$"RK~O38B_{ VPk7L:ٹ'  2ܕ```=Y;/fn`)$t9M@ӊIGvo/G &3 ?3 ?ޙ@nI`C-eQp,G-V3 ?3XXxYXyY8xxx9alsz5B hfNNv6LFLnv̬L,^m# ,seCKC#۫nnvNnV6nߩBӷF&O PWWW&Wv&[SfVf6f66F(#;: =7uvpv6757402d4g7bde5g7bge4bg7df3a5z#ksv^!#:,~h0NOQvPYXY8T&Nv~濃g !ml~^m+s_ _=%%?oAS(!g%?+YJ~VYa@m[W D$Dx$DDd$$d{hP.=|B||<"RD$$xLԴ əٙhn !#ba {6w   ( ! CK="(|#?"S>)nQܧb7pCA' ~HC17S1q I)i%eU5u MC#cS3s G'gW7wWGE{!>-=#3+;SnIiYyEeUuֶ͗ήѱo K+kG'g`~ _G -=xX" H)|D~,nFdW1pDťX>z{$<{pIz3?4;Moc{D˱"bʉ&Œ(W3'2ΨȺT̈BbHXLϦʒd_˞+9Woܝ''QKdrC1ޢyQOUh֔ ccدm#3x\JaHeXMߥt#+ 3STɺ*9D+}8LJJO#:N9JD3 It^#`RtsS1u@Uib'/hbWf*{12!@m*[@r|0s=ԧϿu2 x [/e&\Aùs&wz :"rC5B-f0jy\aCdYxZ;/ C$_8x~3916ylOSQ ^28Δ&&zF&&U(=:cu0gʬ 10A(m |[ɺ7*O{@] fa/nFVh˘nlˈBG0 SA|a,cZ@(0'!-ۆ4?vRo0NXrI Np"衖'r;!f6 !ꡋboPu@p|v'{PsP%qZt&[Ƣq$Ę ikZO)$'K7yp{PFšnEJ!'{Mevo<&t@1S)ssCoqɌeʃ.j%.(|hWچUQr$#'۶K4FC֖!rbǗ ||m~Z8mRDNCO-TWI//Ԑ,3g.mr& p."rI j:]f$e{bȶlEm)C1{H#")^xUtƙŮVR  vPer(3ԘgBAdk|'@v\Z,A!}`!@z*klM)ɦu'K}0q ^ -5*QݯKao&)帑4.%櫚/wp|6a}kKub/ݻj'~֩Ī'ZrTҒowdɞG3},cvR#w)ICq,'--Ŝˤ\ğ\K#XZJ\Yehx a d4 JE Ъ UN07iM4͒07d`hI/;ƽٻ̆f>6H 8}[ ߕCb]計5CŜ?+c73}g?0_?\+)u{aÀo>E[M+ ң!+AOR_#YAu8ESS.Bt$²|48~֥µ܅[жP~M3Gxq=l_K2| f11|$Ǚn@N^\kR@[k< gyFD+)p Y,Ypseɀoc :؆7O4ʘv8*0ΝwwLЃH˥N?qTrAϺs33 }PRa,n/c Xy4+*;_p:wײvL[Şւ(m#TPpj,iwT>@Y)rO] @cny2jHkc@iQ6qC%7ZLsCA.H]^5IsA}Ԣ֚( 5NL|r5g*[_kt.8v{`4Krh8eE s%yͲlҴRx6}?uo׿]KBrL14zi\Q%sp}n (w>/3p0c4Z3n$WR Y`{Űp'eP焒jU%ǏzXk-\j20fW<'iG4@{[%&˥J~7 󬱠5oSBx3j5<37]qSK,)M)nfTw+ɩ =䓦[=әmoGG։}4K#Le4.pPL">j%E2P?R>:Jd;6J$u6edz.3T[NgA&ovdJWf6gGNn:̴V*>5krOyLF8`V+t+*5 rfP:<LdžuPzW)1(4s}Aٻ'Ԟh<~wԭg|aNh2U+OƯ5j+*j$IKQ"Xtz,A1l9{1>!#n)VT!,9gctPv89( H>SM`gzau\&f-1WZ+_jĦ=&8lH%',_ ;6U!I_1l3:Jbw &vƳ-z'7Y'*$Bۑ_Ynyހ ]8TiO*F⓳bPICúu_T'cKtr篭h3K߿%'P/N$sΩ$?(,BZ 3V n@hM!np󙾷/e4-ɾH:ׅ.ej8ƋRԗ:ړ5M[;B?g;.jQ#356 ^$ǣV}IBu+wfk?ͺâY<=Vd傚m*c\w&QQd Dx(asFC>Bzx|YP](eWS7OF L-JO"I'? ǵy߱53u Gyꄭds´17Fjk8B% nRAO7:5?%|ǩ"/s^3Gߔ/.y4e0ju?kfcPF 딩 "\5MjaLX#[!bzE cRQ[HN0:k1Oz(? XFrqGemb|e^'r8ɄMBpn*MMLA]eSŜJ/&Vn'w JNlF(j}\]W8>SKK?qjcqOݝFJF?Pk!xR̔DFx%zoąN|OFM[hHZ؇@ >_rļ ۽+)}iC7WzH޲&!2h2Da%l&ZעSq)$c[/nR)+NfRFrj`lP(G|e.U1nfo[jvFO;Z0,!™[6}xZL.QA$2U c; M {ݭ̀ >[m&t'R .f!egҦoymzI[kWCDN)q5zK[S=uc^{;\t@nx⮫Gğؑ@3ZI~5.`au[]t ӗU%fK`y-+_rs(UV5K&[/`&Kn!MFFi'oORЂi wFN WBz*)Ԧ/CJX畋 W|`?qZ~jZUnC ?E=wP[okV+q!x}r( ׸+g3ebtp?z@b++,O;}֌+{Pvp@=JAծ){J"n1ku1Q~BCf[:қ>vY)3kl92p9y^5ܚ@q=N6PzAiе gf%OxbwWWln.TiװvD?/A+K>RcCD`L d]&9C3'֚WUgXd8X6 9hV !WOBS&v2W^c)M)zah@|xw@{@{0 h#urU]78G-p{ r*::L_CSJ`3 Gq ?gM?&h*,W!BT"K̐LBLBF} R. O:~UKWE6gq7B{3P'tikr >#2L[oBMD؃nvܡ=)=A8C3c>*5qafE7+{(ͱ0X|26`>֔jBˇ"Xfؑؖ9&WWhݑWg@)E17NWӼnWO@Fux/+/04oAȇOAS=qj te۵eӼw gdx7]L$[>!dZ{4K;7{?0_ m1}rOR*yw'KYQ׆)qIPI~0Mq}QDu]-/(17vn ZN$۶YB`8q7#G-A u> ŧ{wBJSF%ЍȒ8dWCOxEvX@ d%%,a%F6zʚ!2K禍#q$Or~K0%SF>!zz 7V' @rЂ) ]]S-B0'զK@e)j- :%j0B_} /op0E1Xmf[sݸ@E|\gLHT _#%+IVc$鰶Be8f |k8gQsU*HrWب dk-u+1i#$ޖbT#K.2ca-^qz?8 z{6`\c{7_~~><)~J\^d6'ٷOXDAhqq+9JPюVm9HͧNhr#F!3}z-{ qE?G4%2ٱ ;\y]߈BrдrfT^YB!5,1Z$:cL[)fe *0nBM= #Bg#6?j2Œb\(N(5~'!t]4pc$k-m ꛛ_Lv+ Ԗ `lT]E#FѦQSP^42v%ИԪ5\54KK|/.ψBܼ$q_P*Ak3B$df@j gln\`C-aSwk b4vҸu_;<fb%[kDڃ/WH7Q3otN6WKN$\ o8gɆ?7 OB.3>lSeɧw/wHX,6"z?~^ UH`6p ܷxU)#c4ƓQpL(aˢ5P5?+-/%2 b Od kPVR4G^)ckKd+H K19lwSS6Yw9fbN~fgԜq{(`d20/V)| =PIҽPYt<6x+)޷n[8hUgd[dԕkwkh$K|QV yloxq A{s"IOOteJMPתpS ^ARP$9|^㵟tt_VEFԲ?%k|۪/iǙ 9̷Ϋ.D /h G©|9L]i/]otxɂ@ ͝@$?+@bA}v]o_ 6H>s gO.  qbh-yMh[~ mٳp>KH9dfeީ{m3mƱ"n9 :MTJ;F KU"B_['b&ϕajFaaY JOt"JleЖrjИ=<]^u+WݷMRǽSUo͹8!r؞ip"*Vi3Y6mY&PAF.fi3ApɄɼS-cw-[r/N)P{2W&Gv%E7V:04Z^3u_L#JT!h An**=uWo+ )$qlPR TGq+eхd`p7w[>xرcp(G7Ѥxb;'BϑqPx"|aaw0r`՛N/U1P/ ^X.x0_N/~!P!Z 4BBMpỹu8bgLM*-՛>IkFl ZH rDR | k2{ E5EÐ>( $+fLLFVp[Nxé(0}dڅC .:*R+?|6D~7V$M,cD,cS77u/GM#)ÔկZm:édlJ\3Vf\;V?Iqx'$d~1}ԺXYي^rIb%H)9lhÍ!vl_%}}7"q2c86ڦ`Dj7ltZ`I#Ҝz;߼pվ&?WֳBt@71A=S9Sl6pSf7w@,T&nU)Aa:Se6R|gE cKoKOj"W)<1BvxM A51N. 1\*(ZuXUQ>cBYwtYo"Xst8Ū}EjWBjz?7:΁-c.w^q{aڵ/o8j~4Do+[F2uP:e/E>ҧ,ج-3*<u%Y^LŚs8~>Ł`%\Hs$~дp:C&+TF$e󱮟C/2pOpcG @ӊNb.Y3e?%R>u>f!> _/p#>CO þA tdy,(qMY!tEjYgjR0/{fSM`4[`͂Eɺk&zX5^VlmR[ĚnۖM5⡎ @j0&f[h5\;o{>wH 7 ]̭˫Ps +kYg:!#/OQ_8i%?_.7W9QBi-}.eW"}!eӴNtrK3 O3AN4ٕ6$ѝ ߳0;wSOM,|k!G!!x|\1*!تB)~>vs(WTiCkC**53͓]TD.^\B LU_2rz='iG|j#Y >$KM+fش6$[TNTR6O'A͕%~7TvI@`^\e=MYv&_z=:gzs!K{((ջL9˗Bshp˯zd,LKdF` 'p Ӟ3_luőJj>,d5Sxqi=8]rv@'iFZ 34UTսv[;-VFCDy+ֻh׷C޽Rΐډm-)e% MҬfjfvC;H`(Ԝ&OIz!} z!;庫 PسКg6Ia48waB>9@*FptDd]VO8[&= 7lFȧk8XUyg"QX둢`>@To'&!K')y`3zhŞ25D]O/PmY3-Y;hb1SR{ qtr1d)S“6.~,i0Я[Ҹ5ҩűG78maw3?0}ZabnhkìoggedlhxhnodgcO!HTϞݑ|=JFdDNWMEdE8Zz((#ހJ*Cy ,u([Y`Sx]b?@F)KώIj8B!n#iROE&w=b:M CeFT~WV3U*,C**#ATz|K'SCQ6ZH8eI%Zc!ۑr!FzC6]ƌICC@=F33Mx>m *7 FoG0;Owݺ*Sq{aжhHƕ$>/3 05Yg*fM]/rt| nS k:Xo=>EZe.*Zcu;E< $SMsBZ'NKvsk87]V1}^~_c5}maL} fO\gt*l; 8V\'d>мf,7`aGHXo'{Rb@Z ֑'$n=_ϙƀ ॡOT]hC '{οv ʝHB(c*MH>Z]$Z60w`]y9lV'$8bjXhSC7]q^>zi}|wu5UL׏>|>sprTVdbE޸^c6ߛ;<|8($A9c!f#k}k2~leUhߐ߱WG {ޙFBC)g6fk&m`ͨӸ*١P"M[/$oרЫ)Kd{'wWw UYڍ>3&*1 :p4ͷ?ߗImA5j:B\I];a*M,s2O޼rn[n.2*{~1erNKP64qႯR:%Tݱ!S5T#Xp>Ȼ7E%G}-KB EGoUiBRtڅiѴ:b%NsXzѰR ;7__c<䡚Q|[c&;Ah$>tzé  dNscu0 e=C̶u@}Jn bx> jbIIjmy"N!l!K25YJjټ ;PTnPJX7iiw;"eG979oB3㝏8;fc8rxΆdY*_Z0H^BR,⫽.jNk^bw\8f:.^;d+zT&&u5K5Q3:Zf@{Փ&CYǹSA[)*OI;#}ȖO'A˻AIɻ:+EҢJPAt"F(Ik;( I |;wmu"Y)BK: ^J͡MeEG8_1U_371@ NN0~iɋSo +F? Ǻs'{w稜 Q,S9|Xc $ kz3C Mҗ T ZeeAZ `8 (g,MHPpXڍY$K6 y|&`΂P?7D18bQJX8nګx;eϞ{"\֥Yd" x)+ 5&ʠtlUReL Z|p/ 7ө Yo⴨Jks˄ݬ\&Wq2a5"oKCܴi*d3\Ž3Y.n[*aՀizJQ 8KO=?b >83@x ['#qS҂W7mG[ 1e/?4OD^>Y~G܌r5)&U$l8<[~#'8"ffW>dKtY5ǹ.Lin~}ʺ ,*i/@; n%)[ yUl0.W]@<ǃVR"qόqkcRbqĢU 9omrm|啇xN (G*o]oylO +j} jav٥l 9YrBFRs˭_(?SOO}4Omd$_- R],8G7i5Dvnp5UJ}̥ tr%dD0# \\B'" Ml}B8mi0Hu#| -L#QH1{k=ip4ٹC*6&rOȴ+4t&F-7WR-6:9G"t\W.u\K\X߼fNp:6q7D@ٵqP+j3*MҳUnNwȄ ]F): /vVzveFhPiNc Y2i;R6ru' eWv(қa0{ Ul 2 #.N<#w/gej E%-gH{Pי; "{jCT.IcIEq+<5j >Ӱ"!/>WȒ`XrEkmq 7&[۵Au:xM6X'͛L&t~od dy&ɇs*D !ĩ(\;{mo< `3|x/hd]5rʠ7*6k~(?hX\DJ `,Vcˁ(R;;;adeedPf( #c^6lA527q1m߭+q-[pwӸCc5w;4%8! Cp \~ryܙ{f7y|P{׮UjUU-'$Y*O7]yٟ۟?O̯mZ\ǧݿY{% ?Z3e^^n^VaK_]kSUiӝ\߉\+!1 &t>GeG3U<tz&v_-^I w郈t_"s aj=zxÍ{UD{GC=*Cȥ7teZZ)C3&B!u^u:~WyC,;~)`nWT\]g-ZQϙ/Gw)6oT%ίG"P.Jp$;7lE,D 1޿/I>j䔞OJ'Oe,o{AB6|\3u0¾[ l5Q}Wpiʹ*%poɮ+ HcCUY{35%Ma u?ʨ 8G F$sZ@p?ՊBa0Tp{ 7Qr7!(}tKf YRk~$f8I;](֮h1ap3qͪ$l2٨HΗlBiZv:&D̺mK}3x,SyKbgjEd+zZٖsԧafw~IN] +ytۿ8Qr8*)-Y~64rp_:ns8qJEqIw%ݨgJc]@ 3)<,==;)gqf|Y]zU8by)vI<5H&'1&X\IƽO vBQ܆[w(S$MyWB{j_q-wteokeGc'P` Sb(?Xi wUHS:sUy[ΞZ?od\X1',БDbDE]x? qg g@_x<ܬڗ.'au~5E[(T(fXX- `LN}iF馫"Td۪_Qd.L.\zuIH| }h]iFGC C3[G{ܰ_CmąDP-̬- 3{㹰E4 Ԯ'r b0^(J=SFy yPVAMȾ1$g]-B3 dm W/uC1fh \۾( ~gPe5OC%fOƑ\#:ٟ9 _4ȇ=ћ.[QeB86^t}͉_ ǧS,=(U\__=\ݓm#P ?|;a5D(X fBEMh-[,+h19k@ƠOd9I`nѧ[ ~}7)넲|ڼMmB՘5.$/}Hؑ2kD\DGZ,6 }`OF-$o"?J8{PfxQ90վ8 Q \VL0˰:#\.أ nRFF+h4ppɥ.c!Vf D{גܖվX!JUy~V_'}TSI6ݥrr=<f1p@nSHAAB%E6}åk.˙3>҄>:߄ mm'KpLVEkLel[HѧُCY@(5C.2!䤱΄7Pi`͛r$s%ZOd~fNxO>ϓ^]2$'ѻ @A$O6#pQ˨Z5bP屐Gm='ɚDˀw}mW ~ꇱvQjA%~|CZ=i 'k쓍 E=ܤ2r$pBZTS49P,~^;lFP3\@E=U|uEƄlq{oa%BEXsY~bAbYH_KM m/I 4t]XJYQ ɤS(IJ&%#I+#>'4mQVdĈQEʌm kZ-s}:OJ[.xsƸXo zeKfbSv $O #c[daߘ10iW_Zj4B "1Eb*, 0s̎Ⱥyxdf{\X|32C-xkHM[Lqca^ˍHM)tQ,EƋkZSZ ɽIhAMmɬO qѯpJ&#+7*CDk~ g_2@<q\jC"6r:UFgSR EHyf pь֯ip LA$50iMIrY8i1G8|}=fcn4NVwL4+z qY/ıqsjÇC=HoN*c|ی}.|OyP?9KS{w<{9#:n3=6^P1a6yAJ@uń[ Dkk?j%%AF:2"7\~R\-c, 8ĵgZ<T" ^ܵzkf u*,~N~ǂݦgo5|]2ez7֤55ùlYь6ehNpdFPdoO}ǨFsY_榳^k}**35^B!pq|&T,wB7H '"Ƃvxlb`i@8Ŧ-.Kk/6EQ)7ZXz@{ZAT~.^2=p>> S3\7IC JFnM1QIj<ϤI껁n=֒+h tFEP^ bPB?wcWٱsqg\ᑤk5_xQ H )Yv owxlh~\jJڅ$Q++%Jz;;z~zj: PjBgK3e κ}Cn?-#6+0X!G 8L{ϔD7rc$G_?|p/\D2 Uغo)LpVv~Fͻ' -Tk5;ϡ'gd,v6~0Q` Q}`EI1,؄w@qz$0{1ЙPrFXt*[7OG ٩/޽U'#S]UprZZqw8`fF;KDz[2Xmr*Onf?4>&}vbM,M3XVί0 $3GZ''V<j2ޞXޏnla[ `!sUeg`>w2BH8c ou3~0~Я"Lqޭ7 *yZ3sX7vgy@B(|bѨ(Ր qBzR%/sWy\j/ uo%QcXV$n}_D[@ZIxEhRVʁ9 ZFΖ}_5U8JD^MQ/4\5g(~ue pO!2wLPC"R5Ѱ{4>Z's+sFQRH]PYޗַuӛ p*[`ndY_ ²C39'`[2GHBX|)ɩm3%b G7VmPO=P( XR~dTRe#^?DEahkb;sÞRLz&Z(|λo'`/ȨI(ww)9w"(5#.+'U(-<Pt|C^_ϓF{"2iv,"<+Mˆ%z.Ι !$y2uS<sp.uUе9qk0ʨsW2U D {V6""m*U13ôLF|D, ǬRԞ`(ՃRŨ$M_NƔ[GgΏo02)-~0 if*>_96I^h Fu^Wgy{-S C7*J.~H',G4غz.E6hgꅱL(Tch,E_3+[ABݡӵH65P>uF޽^,Ѷ18`x|ڳPr%/Ϯ"<ݡqXK;HQ&7: Gϥëma=QlSBx2K1b=oF$\;!F*7<6~CIQ>Y!j[/ȣMlbfA?m2ҊѕeP%ZccKϵ<ڜ܈ە\ cs]WE!(HvNx][y 9j5{e{t*TxI昐#y_&˖j~7j*lELr6"DB yz) c&t[Tw|-o@R ‡,8#7q:{oֺ -1=wh<&T!Sl%"P+ Qn%^y O=z[GhABg-k@e@9g]zd}}T!k bۉm!ad dFNC.k&Z*a ީPf _ 4w@3ԝ. <&f {P~6?b4f6ƿ<l<;_?" ?H?̖|0z={Dlo:k|V4.B\F8@WeBB3'7%<>u"iN7ڰQmzuBS5zCӆ̳U 'GX߂WR`; j #,2R6X~% vǣG[k DB׃2@ |P7llt7|7+QM2X9 ZJqҶ]/Ñ ^%@o>p5] nv;WQ-]F!ccm~@^+O+bS\V'w o#(WonE([gf>gKrQvD,">b?rWZDK@W@2IybGlpͽyj,G(GyJ~VAYm-1 ,@N~ > *ʒ/f]?qLXM vj-' U ax~2"6Iq1^jõ"f/*/LL'á}|ߌJޅԀftTBp2Ps0 qU;M;@Xv~\%|!;n+kU5:-*UU^-b75r$N{ ./[B/oW|''5C՛EtBtgM`BةH *hGX+ pD:yA=M>^xq3Lie>ҌYea1d(Ԩvt11a7g/CMypc1(zԽppvP/S We΅k 46N ùYz\)X!߰VMƐ|Q [}}jJ?ޠPe%֒~3QOV>}FtzK|KxC!*( 6-|&CkɏpDU`fE?YZڌ9-RL t륉aLVsQ~o6JqSYmC:>a& mg諾.t1-)5/}yz"Tᄻ?`hV^Spҕ1onddr0(D1|uǭՕʌC1䫲tXz!w?Իnq"7$-3(N-çKC/VRs^}FB eRnG".\Tv.oC!@i&YDjԚ(OL:Ԡ2c5rw1*vճwKS7HwLs/U5@ \j sނi$,zH# ::=M{=fmKJcOe+slJIsXY,,]ܪܧjڤcj" QE שx3>Eo-Ve(9[roz U1$;X~*ׯ3.?x{|s#4GܹZ "#@݊1B@r+'j!MFQѡ^* xu,T 4䀤@5IB@:BfVnJ&: zAr"{ة҆b|r}usR32G:Rs3*][uri&(l["&ۧfX[f?p`Au٘im`V+0yޞJiэp7g1Hre,SQ½wԛDqZb-uetչuifˠQ@<xWE,لnDWXe#Sͩ(f5_TrKEk龉 qi{3Ġe0V n ]a8b}şH@5`hr9钽e1." ρ_4Nn\wc|1 fQ )9x*~ΚPǐW3m鴘-OKTH$-UΡ{>U۪Q2$_L,ь=%k9̏ yTçݗ1sb ΏZimφ5TL`B@FQV; vdrq$C8rq܅AFѡg)w=9Tb${_H3.(Woԩ@Cb Z(>=LI}_T<$~m.LYIZKg(.})rg\wǷ0v_?7G뮥4_w}YI(*eE  ^@!` Idnx#v7,Gb_#z&@z^xZW_7ӿ}˲ĕ■u|29l2{14\ zvyjӹڍؚ5xCfKk|_"/ub1.)\d PZ{ ,,ja%gOG18]lއ(0~έRUo nkW@YmihO]ˏ M&1$Sv ?FR7^yzbyTmΞ7A#T? "ݸar???LK5TZ'NdvtpnX |tr9 10r~lJY}U7h6g/Iwaum6̝zIGw HNHL9~1{UCykxg[ m0^¦AվxvJJ^Ew)N]+i=Lx^Fٯi4"C%NљKdm\8Y!H4c|2>6BOTlQZI$!)8Oe!"+A}6X׷;1:ߴ(ߙE5;!\8rDQ/vAe a i8[PA#LfZTckH }YTz/C9`S`mBHD-Eճm>ZHXQ>' >d;#oL;BZϞ fNbO%ǝQ 7(d"Oj:Rɧ"<-qXkɱ1 x$|bUPBD>Eq5~ ?+1i˔5"3u)~ @ c Cz߄PdĔ~ݞWN^~WH<TMLݽ!IXX+Jkr"sm}l wh_tg^ht[1 =_o9oC>" _^gL5*mxf1E@nMDdqkE"R LoQ ~ѳ~4n#ObG16 S BCZi.W8)]穷"&Zh$b|iAha@k3Ia;S@` aci!?z,F(ַ~%Uw%e1ʱpEoقE"eLu(& $]bo1 sܡ\_EU:)5LSe9|I`|ۭ$]<؏E1 Ey( #A]hWJ_Z_,G @C1=0s$ &ywFR:{Gs̏#{ќ@cd^1ݐɿAJ^K GEǞaN.-P|ҔKWŌ֟*m翣>!4pءXn$ fʼ`2 P3d?cfCM'tLF,DԗlLȸ ]òם'ovrZ# $pFU2>BmRϹ(Gܝ|4)HXڃ߆i6"vey/'r=hEئƨ*/C}Z?:gZ 䖮g`Dl-Ë]:vg-L*e(b9/ᇽMӠ<~ sg:X'fBh)yU5ΰ gFjOcur= m!1t>yG38/Uw*=rk?g*޳2? h|iBU17-_j`HU4e{2ђ.μJO2P2KG?_=m^\GM3״A*Z}`޸PF6ZU:C:<>hq:OsGJʑz;YbJ0Ou us4j3 a8@ ئ%-ZkUtG%n$(H >8 ZaUC Loio^eXK`fi [)WǦ9N)ѣnPYPQVςS87bFIs?} $LIm2aJ; t=.A\q٣ЂXP(qVi]v^9((4%~_;Eh1bUjd&o"K礯s+vS*Z! NEL3ͽ* #(ZKM~UNi^Z&?R-;0ٱw]Ԥ bmX? I 2Z4 #]E-pO-"RCs̸enYJV)5=#~%2 Nm۟,%u8QB5ZJYR~SUVhiLQ{ -ө!02mVg t,Q̊U0`Dv`4za#퉛z{ .ۃc^Tû~Q5v%UHiVjިi÷Ae`6g]=DӒ"U\*XdWG\l(z$XV?ҧU}c .LP3Wɬ5:F +_#V%dj @*?#$ -jT)B]a5: a6sRZzqGjYXσsuy ^Wr yaܯKYzs!9hbX }d{jTF9lך )wZtFUAs"`^Ca~eKq́kQa\EynXf(cEGV%t% <[qV_|R[PyEH',SS~DR}r% tv\A7acQP΃h >ǽ|nOj3xzOǜNZRn0mГeJ|Wj.rS=}4we 'bfĕXdo*ۏJO ZkrS3Qͳa2vzeGe:bTKȬ[k19 s?T UI, rcm'A▪VK/*?zrZ`MO'dy6R,JإV4scwC: ZTߣʟ!$0;=C|\8 nWAf£m Kqc9;\-%W 9˻Zry8=#vG sϗ(n! eWTzNgnt.FYe=,▣V,^p}*S4fб3\#ϛ},=蛃x~=1*>@/+xQJ-[h,:![\#RAa䠴Wِ /tjX݊ʳ}ҧ>psBV0Wj2F>ó\MB+l%BKjq/>%JFt{0/EOv؉}Ox#l[G.ck?w7sҌ/[חwyXT6}e<.%gc|Q6cD;ۤc:$.mt͙0t7@XoʟW\u#OLFXh`FCxn(c%<$WΞ$=e>w9$B٪t7Yۺxh0[wݽfjg"b^t$:_ߖzVNs#EyUN—1L7DKFFB(Vn=~$o-n|kI g禇9pHW(k+zy,I _{o#R,ܟ+v)]d>xTE4姿_FTWzȰC"E"1zBUdA&67_kKn_clIA@1?vc};T05La-A1[o1uԽUߐFӛҋ oo=~5[K>gP0x&!FaqO9P'FD2.T v(Qy+ n,΂AGtWJy8^49ۈ3)jQ}'=zV tbo)Ԝ&ybR<,TX߹ ! xcc7Y+4b*9UuҎź:ev$C|JgσјGg*>I0S8XjiquV=27sx2VD"Vd{kثKcȗ"|]x]8y/mă_5|_r.s7*j;_ǦOe[>o<9{x{x/uj<=Woc!\CIGQA֚EW7kC蹛F򨡅bn$LͭȦh'alf.`aaioD\"&𔁵>QM/ <f%0oQTH:CY8 !<<,\<鯄OPv0j}+I[Cgkc'9Iaʧ+,FFl\RR|bO㐒kO]ZIĞ(8$yx$y$$xJ+g$65gZvV@,A=@"61uu gy)2tFhP_\_lr8Rv`|meQIiiZBD]pj{c*< +΅^K*'f$ptwdƺ,  q?:]!z2|0ЌLNe ߔ5"#ʜk_󊺦;C/#̈́`5dp$NJdUvm "kq=Sԁ-dW;[F H]uq Dװ.[4HUUpؖˏ4m aem9pU+XՀ נI:JcpAxf!}B_`Wo5A܊z(o@h[dY`)lވ/ L.u* m"$8rr# dzj(k@ ƙrOKQO,4 ! N' 䭜9/FB`BUX?|͏6S'8߁xX`^AoАw[c޿c<" đ鑊%'ˆ1\Tn%[<:\6"a~Zd4.ФEfUƌ;XG1\?8qO~|#7Kn&*5f؀罝pYauߋ׌)]ٴ.Y#㝼J̲c!L|׼8*qNFAw;BPЉDhsDBi?vYu@ 7pE]Ș6v ޼`ἳ32a3<;MBO ;~lL_~^`j -"GZzG=c'W\#NzNg0. j5}I9Z~c"g(ce6Kr+l<364Հ^Nj447rk|\ uʷ;5TBvjzTΘjFD+O È=_RR+Pft{dt?2Ajl| ĜdF_19Hؓ؈mš@N ^ce퐰O4 Ӳ' B0cRGmY~е>=l-AMTiڨ uZ).HȘMpL+qмAs:hkrPc-IayReZJkYHFSrLJYOҭ zQpl2ȽQd&+JkYE*FyԨU#bwm'\a-d P%4lL|@Pe*2:0G=ax`X+@d!1;.b5=:uc'yJ{]Ql;]Rq_S["c=ٺcztl S)Y}\SH&L!@!PbPlbT[&*ݦk~n&j[fO4R-+ĩCyT s=PaY F'`Ls7@4¡_Ró䵧%E_ވ^'a3/m51l  cnyK|E0o.#n:11 pIIoT͵+>rH2} p{X 鸕@D_oWV'6-Hj6QzoZFxA&OGRHp08qG#6QJcjz#t17kZƙ%AG^oq/l>:Ho:_ϨrK{fة;DzJ)W/+(WkP.pHr#f@횉!x@X=t8Xc޺}+)Zꁛ/NW?`L]ט^pȞk\tQ {b7 羏"ؒSYcnFxՙafcm "1dl_,!<>jƮeM}Y[

    [6g dK6؋W)?,DA ԰[>;(e;J=CQʢp5lB+ x!BI⨊CT?~) !5 †m6qlF-R4̏a8ϡ2$ny]BryKҤ;z+q =dO$;4l;XrѺLt(߯:`@b{忣L`ah`+"ݞG]Edo>i%7I9!!c}M Z0 3k.`nù6>c,. JY禁+ ׫= ܻd:Pnn(uŧ}= )EW{Vt ]~+ޥzS8~Fۖ8`+Os~6=D6@c;3&ܻ<ğ TTZ4USK,_j= L&&GDD-Ξ[D#Rz|_,tƳESHwHX=`Gz`.&."jskގ-z*~@[~;=R׬ ]*; ?;ޠ( cC*lo͏CsCJK9IZ+d|pdbebJrհ3$)u_"N6 -5e?tF@Dp/+Ż3e$ %V0\+q0u'llԴpټqrk')a|YEqNI~Y7)iaaiqƞ/_VwO҆/.njhllji}YPU61ursuݵ15}%';:''=:z|xx?=@V88 M@ sO1LL~~]]?JKO N .zzNKJkk6774lk;++;>YY9JH?JJ: 9Y]~56v}qFqVqfJRb*R,l06)`fyDCBd#_s$u0IeE4Hh"Qp#0!U)`earX55Q .*2H G!dF!(ӂ1PY^Ka"2hb^P'e)#!at@ x4&2v,_FRJTjf?>!1>4%)6-1(35'c^v~aQ 1m?r?//e{Y?ierE[5YY !>+iˎˎM]-ѧE[.X([{vvNm`7,uSh i ;(MGI'x}w}{ws=|PU_pP৳%WgMgu57cŗ#W#EWcey1W ֊ԔR0T鋽N615э6%W&30Y<~oDAA1Z HV@Ba qqi8\HD|L8@  '"" ha#p hʋ㫀 ̲W[q^P` hO~7vsrg744s3f[w ~ _08 eæ}4 zx-azQ)PaLx)#s Ɛyd`[ B-Km[u9(;m[IWdAcW_%okjz/]ɼvU.HfZz+P$WV-}W/ 0Y.cNzPbnj6np˧-6su$qqF^>Nmpm`>aϲZ]C05m7S}eO+6c vLmUeOid6[G+NŽ9՟ENδpHKi^EyC66^> u!%?H+2%#9%־͝_{W3*"bmn>\9ԽhraOVqxEAzmI;R7^Udh-GCkOmyVW!púIK9DLm񶗤+߲:y`#R2 :,_O :t6J6lUEtGس@K;u׫?'Kf觐gptGH2^)ٖ7]\Vnd}z%u!Eǧ/N(wW☰1rEز%#pv_fO"/Yxw4Ajz'g#N@As>ν0FTFE#jj!~ChqTC8^}X6!ι;.nFJ %D7'~75Ϩ?CuUIV8=˼ /89116811hW?ñ'H}1ש- "v)RaW;b )pރ3G>iGw͎#Fcӹտ8&ƯޱXA)6B~3^7EWDXir t6[L 2@ktFA+ -JmV䯷Qs}9:Fo:uȅn,a{DZ۵oQ&',b-r l]k~'7Fq7{o{lcV ,!es E"vOk7#po/ W,0P0U5q<[1k'r #,Tg)3 TMrPL$`Ph!Dp+D 4\wG=2mŻ 㢿 z?}Б(2d%YUO%ʛU+qZ˻LxU g wW79j҉X,㾙On?)^XZh:D3-["*U$wlP5?A Wm̨ˈd8KzӶm!na(Be̾EwN@t?3zkMЭʵy$9GEYd4|_Lxnv@Za&P^)ӟ$a^ .c66wL@u|'&i9(M0 BEY!6F79F%[WQ=A `=N8  l(X~Lڠ}t; [ ~^x8fӽi1t/Mxo?Z:~loO?~G:1_~iii:::{zzCBBVVVFFF}}}OpS\X9u.bN􎐲8x8ЪW X~!x? :=XPL`'_a@uH9)Z5 _`qq#w_/?,= i6=, ZeF&'0[2U9U%\MWZ bgxl;) ae̘sd!AɈ~rIDX 㠞O`9^E_:%<gix"l~̊H`T@Uk r߉1X@RӦ'҅D𫴄 Vs Tq_ueDh8~6?_0K۪ڪgg_,<<:D\ B.oc։N?Vy#۫ᡡY/=[;;;OSƆ͍Օ_̬< h]c--{{{ CW'%ϟC ~y~{rܧ[S]ۻMm%keScc__vVh__]mmUufXW}C}Ï R0˚?Վ?qCOCH6HBpF=0Ĺ}I}I}P4J*/spׅ+:_a!'QO1'Yrg:{ֶkkiidhiiqeeymS889>>;<<{>;;w{xa07;681>93:0111?1rr~yI\mvzcc(P`P^PM~EQmouVeo#g'[ɍI퇱N(1ؖ# dUSH0ZE1PP0(rxG~, ,-1<,"# : 9 "X=32\RmJ|*mdznd`$X^^*+~ۘI)~?'~|ir1Ta}އ:U"I cRU$, Ǎ3aĘbI1$-H  p4]ҜMe Hj2 ,|P>Źڛ GuOr:펺*4.s~޷ Ehyp˒LֆGF^lk/|'n2%8^o*c -t?s(A?'NgT^~ #Eot;]*ȝj;>^A܈)\CCԴ7niѹlKYoT%hX4Jmf[#~UJʲǸAfFoE8CR>lZHNv #H)RAʣK[?FAO8LWm~ʾdkhsב9]Jw>JhMݔOCf#i c5f룾u@*g{Vq)̳J?*\ W-uV4b'1t"Ja ݙuN(.)uHF />$OM:o,>T~t$Fڛ=svҬ0N!t{ץvQ@Yрv(*t_-|mI8X߮KL1j'_ݒd5y ]\3^ խ끇#[4gOMXѭmMb輴߲Q3`MSm :e@e/89GԙGF?z) N˃T\ޝEIl,b(T62 s@{Tz CFsJ9-$`{KqsK @9r_kU?W?eyy\#Wm:?Ͽy?+j)rے1O 6u,_ǏD=o:m}ݷ~0r/V8QX2$6 G7Mvκw$+ݲo=bU ѡeTu]@6gAp=fQfK qm?_`4/ œKw ѩqJJ`va":R_/E&$p2 "s Xu@cccS Ȫ*D}$H``'G)/v5l<oo@W*Kdu?ȿ埇o |IwFy{8> 7w\qN8( [w(.[ w\ы%{^`swLѓV%sn7:%?,n<% 4*> th?_ܻL߸{JZg7,DtojW5pvLD{F 俼:[2ãe1eU[ ;MaQU։$@@ € $$02 p9?%3pe~y%Hž)ĬA =992W]?:SoBQb=*~rUj&o;'Tۭ0K:@S≤ثci|82 TX3lqEԼVёw-I6ATXBH"Fxv^FJ@(2µ| I厪&Fw8(lEB8N>~9̀:Kj$zE_3M'/6p>9c-5 EUXŪnN> hu',4c~+t! 0@~-cn;LPm+Ŷz^I;9&rY)^Ȕw\"8e (<0F86fn  ؆LZOE% {6:%$;)3FcDA4b&`CځJ \CmXtzBL|p0i0eMezz$mJCBDƱݖ.>3az]7`9_k;AH`Pn+l%C w OOs n&r6{ZBAp;5[sHWъbϠ ĶB0YY!cϲQ9dW[uT7hW'ukB? A(;zm\eTT9>6 4*00L@l`8FȂ}D*!ZL(Ik I-*BhzPɮC% ʹr "; ʪKY}e #.X]AJJ2ўA-S>3 &Gb-0x@ $~oC(dXP;A *@!9{ Ѷg}K>ҏ&  %A%R0DG1z蒀hn O8 Rxc6vXkG}ݥ R.d214lk618: êqހDŽYhXP#3*x+&o_+ץ󚑠N,U,RhtBa~m*Od<:PYDA68MVL|)(4b_l\U UU~:\ 0 ~8UnLQ+NO$R* KG:YQ Z`<"4W{%L vTyhހ nl8~iT AMA '7&Qq$W>Ɛ B]n-/FEHcV")E ZC`}0oy|g1,Ly/"5f ZTOԯK1z$k7"?Qpxd?0ck|-yw81 RɠGЍeDe&Z5خj9I! \RBE)t̎ܘ@Jb cV ^D7f4~S$&w01g0<$>8@x+%շtRy$2L -*;,~J뀿*^v) m9M$\¥qcr*ꭿ99 mMG[eksdS-աVy?1:@`|xJ\Ŕ\׶Z?4IO1Z|B7^׊hbnEiU\_VoCSgj/'?Uy_?Yg+RA6SY_C\7 Վ/Am"C\<0|h|< ?-<%lN",[z=W.4!EF_X_֐ YӮP+Jǰ 痏 =yqLM #}+ge)@,`7ϑyCNJBd=X `OU5jY^9~7-\2'`kJi#< rquIcke[(Cm}~vN1L &36Q?ӹ|<8qQ?,8ylvXԠ!Kn C0 q>%+L["MXQ_qތ C${zV@,Љ dڌ;׎aժѩ&$ A(cT } 8`+[5R`85wX$>Àihi1/p$A;1:`z@ȓH5âCt%_ h1E8U(Qv 5E (Ȟ΄7/zNN:EΆ'j jZ0H:WǎOcEcT:Hʖ- tCy0ӃVa1@n&8l3=D1 y} 1yT5 :=F8`R^Y+-9"=Bc=\7BHBw54DEED лtiBP:(((*+q)3qΙ}?o1WL}g-QD2BDzqi@.0F@( `0@8b8rq."qIY!+mȔPU<8Ek5J;r4P=N8ylr;jqN `#Y =AP*> MQ)x %{3|A<2,{`C=4mg0V١.%/y ualwPh=Ov6\6\ m!BHTǜkab[Ǩ=H!G: bK|.%X8Oj4lh+H65}zqKll'|!YFqxu:znKPD*G&"P_%،9U/9j 5S2BV1MEq@h u,"HV'ħ5l|KN%Hp̷[~@yp"HmC3;y}]m}HԆyKOI8=`CG$-Hn <F`yNZS}~üTf!o43`]Q'VbN?%͌{~Klu陰@+-n*ۙJgU2c8 W A-6F#BFz<m/; :9~t׎]]ϼ1&yQT`0 vKq\ρ EjѲ`$2؆RN6P\Hcd;+>^ GV-숫R{e> VŸnDfxQmܷD)!n Tz^,(7!1Zt;!AGͨAyEBU{a`=ZWNJP!Jⶾ/0 wTҸ.QeA > +HdD?2T:9+H%B+%$Z9w4ꏁ"I`,"bĤ$ Cn5b+mBRYׄ78`5l i!:rlQ5ا#忢b3~$ sy #3${SMF#8Z.ޯ(;<ߗƒ!*#YmϦFXV?-a@^wO ^?3G%Aaw?yBNU0A!>b Q mq3YYeߡ4w7X[gh0?=z|od\&',h7 ͎ G+2BAkba$zZfrvGK@a)9 !B7ª4lᔲ!90)輛z=Xۢ34* `Ӳ()WRs`C ]̗@(Zʔ@ɾuIVXC7 ?ދ{E/^:W*\Vk] ~+^>CZ|z ʥWmL`0Oe u^nvM#=]R4:7rLN3D.y?"%qknELo'/qpA`j3. Mmf3z%c)I_sȇ0XlWM3+gGqtnCG*XUޮ odBH\O+ܮ7 0ڳx@ m~WT\:,j%Àg3l{D{ ] _j6:.0q8~z95)a%:->}  ctY`Y1H(=>`i`Ӭ\oO.KV;3U͕5)n'(Xw n[,Bh8lup!-H8|һtWޒ ֛O/dv;:@O. gtK-GY <$Ńw ~}" Ӝێ# oQOm:/7,<U Cx;+xvgJ<{@iU x 㢣go}|(oH%z\'~J5.!VlvE* lCTqeC!<wp6&.uyD=wHv,j PB^Q6毓I1 }8<(~HJ)CkX)}u?? V +V!ҷ||$GN 2ŀIyQZ@Uwj\UC#Ë"\l"bHhNV|9'5Qj͋VTUKU/To(ĕ[Z*])e):x1Χ㠺IR#P(%g.Ĵ0e([ZHˁj]j`jq`xTA#*@c;Jr# O {[۱HR.EٖLbKAhtڶ p겢{xx=-ǖkc8~%5ps /Tdߦrir8BSO`׼-ݠ9O)6Žn# i,(RZI Pɷ%+%& γyaKٹ!H%la$- ¦}ϥ˲Car0E"GtTf)zjo/^Apy\Zr۲mR 4Ma 4*Ж[UpLHPM@YHjJNOdU:Ea)rpxpPwpKAfIȈ(IKp^׭XXD3=9%Y0 CX!e2Om V1gwˬX] @h25W ,!ISlS$ ?Ahģ 6{\SX8oZL:"GO݃G@][}ހ?om\(}l@6![`nX\lؔ-sk3LB Ouw׈<<_!D4>~~G]tʠ,вŀU>L{KŐ?ddYԷkiT'@!Bۮ_UAyy^Nۉ7QX|& 93~VoG)^ QwPc!G O0r`&6$Ae. HEpWV݅]a[>4L) xxL ,dI;WI`l1v!(`X M:StG6)`X~ ql#`.]3:~/Ңް }j& XgQpr^Z+{0M {&@0neӬ믭ݠQX="rZ7Uxb|q,T@ 0܎%u26D[>5 "toSْ.tfу?E,-w,0@$eԮ8os&tD뎋qi![Z rgdF>@;MCP2p?-cq@={G^ vkc~K]d`p"Q"#IǓ `Hσ&;@2HEXC,+T1IƂffnHpKխ0)#̧vӈYI{QX~d﷼;BX_\]_p#bq+LoQ71$(*K)8|X6`aM# pٓyB|yKym =)A;b!A&5HCWc!iW$$l}Q*5hIKK% c~` 5+=Ët9wb%2R Mα0%1 ]M06PA U:  jQ즌wooG$}3,:}=g: pT8 1 &#uH(Ò{{9WT㻯4^}z5#E Q@+&GpJaD5N_:^ALIQ%Tgԏ 6yLK+?dU?z@*}X?+~']'0e9I--7M$;M2[0mZ/nj`sִq@;~Q(-6 3g*2j?׾m~u޵Ług6h! }Oҧ*"لTew茂ES9Ņ1QAAƣt*i?٥!yk)6&}ł;\0w97vKN- T@ W"[ ղ=qe Ѭ3Gş8yMACN=ްU9z:k&׈b쬹x\je a mI'XC0lB: _17GGґN:}It4;BDͮr ֟OK}ksS!3Z"hȡ:eCIvx#lۏ~Ǵ d,EOEV2c>:mLA}grNiJ+Ȱpu69mhPYh8Օs0A?<Ƈ{.Ӈoewxg˶cBsR,\WYa :ks%U[y/VW^ot(~ =X5}D% &KZٗr0mЎt%,m9* ћ$%(g}D"ǣdBNvӏ{P42|Mn GBl *oik3rd-v5)ƬbD2G=f'Z4jdjҀT<>t,;p%SL68h V#bO87wg [) Iƀ'&-^ =(LAÇUW-jmzXq:(+i0OqIx|:#[VeGt~H6{OSzj` Om#64y@ 'fmX"+y϶D 21ۧL =Tk/Ϙ={Xӓ|щr%?X/VDp^; O#E L(raCN.,EglPrRn0Α@FC,fȚD,ЮC rA2a! CizVoP: ꣪\ }tʵ"_+-1-m\r۹Mn g XrB=TV C[(` Q B̸ Z8ĵ{F  VZz+( >j00Nӷ$&zÁm`D<C?/U`%:(I3$3"x n&>a DAG\Ea[KAQWm:̷ 3烂`.Z!=\=gȏ2<јKȥ폰.6P tqcX_wр #oC*$K'#vM.d&:ɴ()q,H>L(-o!AT  =޸sˎV KIMՈ&Ŋ"uҊKx+sa9KL*s;i=x\Jvv0gsqHL=N]v]Ov({eZP?N4H't<Y2(s1ǃfɖ9&| Eemh08Tcbށ">f f(,j'Kqt]Ҝ+4=K=rWs{0s8XPU]1Dm.L T,>ӴB 5% A9КXE#!\El0tO]:tOo-<_Sα% 1W?aZV T%DF^0"\{^^STF3n wQv3R ?W {1~kˆ+E-!hd  ftoއ"sR}Ad=8 zJx`&DYY(Zv훳t~c9BF[}45D4}9\[Tk,)԰}RJRD~d@DF9nK hi[1!xunWK\\$WA/mwmLz`:l0 z-hW:9H]sAxvv^C :lԭ iu?@W.˻'Ye:P@ njFan!<&a@:t -`KըmEᵯaYDeV$D6׋F,dnZrV ct9$ x5vbƛF xBhN/?EV8Bҙj0JֳMXpx X2Rh̜xbWheh!_\z<7Mamͷگ[P,!DydՓJn#+3|aOvGw+euȊ1l6Iu>dI5Eab@DhlLJ-2I%s’ tmU%r#^r|7;yknȦ6:\ڒE{)NCFJAIG-V`Zz':߶]}Dy,]Ƴ/kyQN2@zox-,"d.6BvǽzfH&_t,}@ aCVVHfafi Z֛;hHʫ`FH>P7GZSQYQP'0ȋEW`ܞxf:bA?3ABwn:PR:&e,1|7Q3!tJNLJS4ae lC>z~& [ᩊЍYMDY/ 5t^KaT ,Ewe}z[ykBVqdqRC; ѩVIx!ԕN!C @(u E"Eo-$O@Pz;= ̜59%7*bZ KiSAsJ.ecm oRU.mD^KX e3*d\Q8޵Y<Ӕ f(3%K$xҖ 'IDgyzσUY} uhs"}5a,36u2]'Xq[D. s!N9qr>t,3ʥJLm.TUp2 JHW A:AXU537c,%xÃTi, j:gx"A`4i$.k h- 4) 3Ll~%, ffgPVuh_< h8'Ypj]`'ᇮu(}=8S/ O912+:,&*46sz# MM(i=qx?2&]Mx{ZK48 b(x{L!ٹ|1-$XFbP̕@W s`Cɰ{ML3B7J~SfĦaܨtW.ςlg-6Z.X(©\h0>qw`a*)4nNhJů~ ;\KnWu\ ϜI(U4='Eiy S}L/c!g p]䪐ϕF0-mA|CҒռ[ Ov ]z*@iPm"Ga%tpnS趥8.g' `@LVODT&شM\`3_7{ "9 [I U>qƂpEK;PQ3>uؒpLȴW*_cڌ}'%$Y ڲ9X#2ubo>q0V%xԣрE݅ @t_=b/,3xEu$ɿì j&˸%XD6pR>`6\ʉFY :9ݓg(~㤷SNl> vK:}& H(< xeq! Kާ(AbKK{zHK] 6`BQSY9F2j( 3 CߪqQH341a?}Ŕ~De,m9ˁCk9%/7w`@pf&a7}z[Jf/"ixG [hAD~Djr4P.Mf%=f@ep7|y;rΨ#cBn#p5>7зEd0?HxS= *KE ^x" &yiS*c+,83IqO0Ic!Ȣƣr<C&#$ PHBeUx7v5aW;^R]:>>7U[mx}`.0awH j~c!3fΐvɉ3ˮwlhSMr2D]`R.{z!W&`NOWU,z>PsUP@Q -[ѻ%Թdɥ.uKU2vRA$r갂{rt[=5:0>({:QOˁS:c$؞ -6N87}STG"9 1>fdaoXf:_ּ3\rzY>|sQ. к&EpR*y(=a^좤d&T")|Çs^'m.ֻH-|h$Kخy  v%.lH8HnDRD˩U>1q(J^` B\%b9if|\hZ!=T(@e={k2$+Pĺ sEWVH]2Dima8듼=M Y>ݥ'M&&0cPK12Um"E<#PI^aTwqAw^zTP"8ğDn,.}Pj(d̑݊.E#ѵPHb:[  G3Ê9cȾX{#ma :O yFv2,38{&Umǐ#-@A%H|(28}NĢg1ʂٵyb@U]YV8:*C1bWb:I&;KDhaЋ};bHc VاI43S2p!B-RݖGn#2N #k9Y(¦)Iɻ C :r{u9`Ѳ+<~[`K-&HJM-ZqV{ >>S)[ \kg1)ƃhS()$\~;].k\ER[zR@j(`Lq͹0 ԝ:6hnH6=$?>k bY1%Ȑf-G0-`/ܳ5*}ҫÏսo܈,bBxg-t#I)TvA^剃).YR uIVQ(jO%#\4@jH)(#_p83` CF_aϐDoj41{SeE諶{6\yUA+q Uh'B QL3C MB9tĴ;XDl%$Dl>aA $ЕB[h +}a7V޺&X!}(`{"J ܹD7k8np@u32 1P<nxiwDAXYCH}N_9E _Wq\b(.AѪqu|^_Y3h [ 4W6e&DxJHB>n1tVӷFC8,| Dg+-X'~fxg#~i8;yyKُѬpi8"HT71f4L E[V3 \x7H;mv;wOJj;}{㊬Xv0m{yJF3 ve>N[Y |zf7EyZ>SsӀo}=C\9se9]W㋐Ml6*$Xl{nf~{ 21xG6s!gj*gU$pǧ2\\73\H$o'plixCl%PdibsͳM7 #ENJ1~闻\ HMKcK/cS>];:Pu.%w`/PJbvƝZY<<6G?zgY<ʹA*v)=mI!Vޞz3EjduI/alTEW!iV`h~Ȱ6?qw sVqBvH!?^}ps) Go]>iE"xFV 6r =_r Ĝl|2LSR=%nѕܸt˷wo8n`WR= #@ۣٝ(cWsS;>ݰ}IV94fwsW]ۜgD߽Tq,NڨWq"5~/dE2؎-OG*Ъ%Sv uj uOMVmTy놕 ់AR8zu6pws[K ssTI';@AA]6 CWv%xw㤯"}S4X䴦4= +Q2yĚn;mۚ崫L+Ta2!805ʼd e_z}m};'y[voa4فG]]]:̤{C"<^Lל}=R]wK.}^X{ppC留;C]+מO}֮;ț1Q&o[XXWWWUgsE#=!A͒1s8hh@(E#EX|}TT [g xp|g&726;ή!e,L`PiHi#*,'*'G (Z8__')jk1>6S}#}MԩZ#vLMMas`=Z vooߧ^o!g=y|Fd7IB>XÇJFYidT7i<כ\>RUhl]B9Jz~R_~m;$7fxwϮ+h뛙drٻҥҒ-*^_.Agf2 ޲z!ailm!BQ&= ұ'D4OލRi8K4\s`Nyݾ{v??3)3L3&dp&g2)L2$$SgL2 ̔&?j|0i$9SMr1S ” 05j"0Ձ)L5aS ” 0%9`S#$?S8|b~'ɖ|&A^/b _8* ,IRI|If:TS;W!X90Fҳ7`#U9Ay %KAg&$|М>KC4:$)_JYX]T@]]{{۟rv;9UUGmM_׍w{z޽{|ss`qq=.''j⦦ZZUumBGziKzsˋwDggǍ3N'~HOR??16×ǘ%c [>N|kI䰥4mTm[6g #!B}9+~%{ ܖNvI*ֵobviT^Yx+Sڼ\z}ǜusؒVCשSSe\"V:]/yDb*߭]{rA<9[%wO]əoӆ4zC.mzqOTO-gBADnE0j[ʘνll 14Z (h Rx0/%X3 1Iq{9/G97{׀jW[M?ǍG޿{1|_7joN OTY1drRbe,~s1෾`!XW!ܒwԳ+A8қVg==aG.Ӭr MvUEH&@ıDXP!ny {2/R DJkI"px1C1ΔUVSBU\ϔ w?_j?71߿R+=:d{ʄ lR$RfEVh4gŒyA.%աx 0BWrl䫖W/'k//FEμܺj{\U@OHjYÌCHUާOeg^odJymgG8k[30@C ,؍BW~óDϹ)YeosFjBe]?'LЃy_MnDT v7x_y\mSEZv7>x#.F܌#P{YPUTS&uѻb7Kpvץm㣣MmZx"g}5L*` ,byRD\rY:a$߻FEIq5<{NyT^ ÕġVyBgxjAzvAr6p^ ^'P• 4̋[J_ /8hHs{j .Ni, .G ͮ\)iWdޞ~? _LGow_O1C/ko?;L%[_LC0]]$SE4?`"$ hI!w!b:$.L oĈ.>v%IHc ZVɉfvsOk~#_[[G;*xz}M D?]xɥ7􉦧sŝ3WZM:v'ռzڱ;Z3Lwg>;S:J̿Gm`6xd\-AXSdRwPVS.(P %vT]#H\G``#!rj*Z~OhAS1aXiyȵk?OMỲ6.%s (|.#0((6+Z?>nm-nl\MHXz㚇s 22rr^~099?y*.=Z^V\\awRo$]G ;n[qQ^pv5*"Q;NH]nX=ŰOq?ӮO+~_궘Vi竪rss߿>55-h66 zdO#?O%׳^? _T#ܔq3-kӹ;\\f g טx*=<2[(˜{3 ]Lx]sـ\jl=]NӨSo;[xmyZЕ}|YMuY>I9P:+x~Ut/VqoU7}=_PՏ~E9t?xi:Sqkk/==LozuupqFTT\NNe{{+9UUMMU 饥))1iikkk1W.8ݻ^.+-m۹72y`jjzܥn{332YM>J%.=tvd[o1D0dhࡘ {,i%ژ\j;8Uxo( %5_58!;(!,!Spk~ F)4La)3w)R\{d0^,7 BR^? ~>J?}Wg߾xyaa&c8ɣv3&b< ȫ{̌2v%lNOOk0]nȎaYEUosA )yhQrJSTxdXX[;Lgh"" /dbrjO{+jj_7662 orrP/'ċ `ZܼԆԴ”{qYizڇMolg"#/=<9YVlYɃҢʆǴ#S=#[>jFBY[̾hg.0Xxa)-`xozV)k{Y@~ۿ]%\Dy82*|&LajǦr#Xo_*$%0dۻŠDD C0܂SS'#dd[h@YH ue2C9t}Uo Ե~?@?e812ajg{ٹ5X]IUy䩡c2'ѡBW$LJ%Lō -cV1~yfii_~'>};/_OOW֏uM0hg|Ov2ܹFھs>Vνyme֖cjs/^XI5Yѫ4d^CK ? VwIDO3ۿ(OUK?y]cc#Sz  $f3 >"""^ځ9UEML'fd7=nI)]J]*((|8A2cqgdtqj/#S*ũi#݋ӫ7b~#CXY[|BۣrtrR>wb̮(`hxX/fba0!8-"Ϯ&hGqt[;PV;!â*l,YJaDRKt$᰽ARz:*08dAQs,ΏyO OL¿>=|xd #SkoO̽[\yowe]xs_Ska=4z뤂ٝ GxD-$]nlmQS7Nq]mN[~<~eKZ]Z`|: 纰;zs҃^i]/,45\ =a;[_¯WT2?YI99IY.URGwP;V 理Kaqypn8\ yAju0BJxb/Ʃ BBG0E4`aA+} [ ɰ|Ģ&,1m~XG%Bwb lPhRx[V)Ode e{O_~(V@ :mL!DRCx g|Q$yB˿ߓPoȗ|ApIvF- : 6{`n~/ zgv:4Vjp7&kP޲5#s# 㪶Oʥ+ j_ ia^}C'%Cmc&R_[ 3s^ P)utsrc_lV|=75ot~}ZU%> ӿlbz1ǫύ=TkG"w 䢊%1oxJd=J[|.0[c[r]WN8xyuIw_ΦRB֚ҧoCGU7xh0޽0V7nJ_٫:1AuG>F>?2l@ƹ⳷n$ϛbY/-]93H |-y"8/Z??!{aa)o{=f!SԤƔ@+^=_PӶ3@bꜮ[L djNyktLVnfʡwm>J+7v6_[ }bѾ\ 4 SDU0S_a'SPi(ã``LPׁs#D 0"XK#DzBw)mk'aA0ɋ!fiL8}it4 C@m˥@N]OO[r:⫇Ӛo?dD /~VLoJkm4x~pmmfVMyỺʮܩ|CPv@qcaS8 [el iV2bB-n H xT9ET7wvNePAu|y"gz^odne҈κ0)9σJ`_4r[I2v xqbXAsUmhn(cIKCq2xANJ,EK Hp?@uO8!("pppkI#'չ917]kz?]?ozȤԺΙɥ7 D49J){.sOMFX6}B.Aߨ18AOS<}|A}C]&\>T_Y}^o {b4W {?2PEG:T:pE'a7I 9p)"1p8[f@|#{On ?e/E ""! We?= Oy{ f߳iiz^2 d4vmh-Ԯ?ʹo2Ձʱ!i\-jx"73`At`]hԆGlֶNN/g涛QG֝s+߹5>Y0Yw+ /v~PI[wrŗM?^k%5˭M MX/'e=9~qU 3]R>-<>cswnoғ斶m7kIg__݈.y{~tSΤuhz'3UCY5}kGWueG@X8 Iqs< sa`5@VCc].a% GbtxZXՏ;\Ks=%xwKNM9 -NY?NQ3i\JWH÷oN/T,릌If\+f_2mk۽90m޲GëIoj_bBo )C@>9p+Dͭa&L쾠C-ͩޤN KH(Ys#P4" V$+Sb8|`aۅŎ8;~,= -e{44KHt=:ťmaޙs(.aAM/oFZ͛VV{ML* *OkCmݻWZrA*i 0ARa DQHy-uin#jGظ4@? q/=}_Tߵ~OOY\>oMqqi򛆆鎎%s'_~xhm3nCB6kjj=I۔QWvBO, y"w*=7ab=#ՋI/ܻ2\S0:Js̓Y& >OQ#7ǤӴgO_/(4, S,(M$ƒb l"aPI)HK8Y]&,F"r hqz3''4'Hm~;\__GJAFZ^C= ۶R@ Jb'\I|Jgg"`]iS2 _'OY3Ve?f7c=:35 Y~Q/(&?n4_j߿4.pqۻoLm6iɷSf`<ɩ2{ŋ߬]{78`]ŤҜǍ>>Sg߭z26waI'uu]oD2 /+"~vx2Mi,樏z u#_֑72u؃aʪX8`RCDGF*+C!\\Pj;OY_Pp<D%PR .&iEuu @O~=κ2;Q _I9/owo},5u wdߟ׷bB>A'vc9&hbO\x~7AwceW3;Rӧx/#*]%o-v)HT1iŎ"~Gf^1VC999ESiij{޷fW^e3 Su`@|@!`qBdH!BG <!V.P"@ 6kƏG`T+?H`Oї׭cx%l#txD:mGˡT+fgDv_̛vOUs68@bt1x! IfAPX+ 2}zgOm  ( `w;@4O0w(,fIf 1uhK0=@F"l #a}CBD0 BuOX,TtHdl9R SbD !`j J͠% M_?!z1wpZ=gi=Q9&tbBFλnq˥8qԠ0}ɔ/$jIB X~(F+oɉYINMN6>vmUxvo דKlΥ|n?Q- A}Mjʁs506).62#ZM+_EpO޺F+z dlLYz'Vrg̍pV=w駍T#N 5:HOЖ# :3I/4ᘹ3<֔eF9  =T?b2swɯBҟ.?H{P _i!kr@>9W\WTAJռmGj(m 2p*t|uNpIyv@qct&vk[5s`%ûu@ƾ|͍+:{ z˓{K` +瘝݉24x>UlxD$o0FCCwPVF?~v^Wl1JUvcBI%u' Qqub0sAYZYdddge~ U˔on=Ν(L{5qkJ:immMӧɭ;=HY L#Gʘ,Qiu ZT(˿02"vߵe͛% {CTy1 ^?xuT'9tez;x.leQo-ŭf|Я;p)h`\n˗K)xKyфֽ݅})F#|$Oe)qny 6g֗*7ޕrJ?б{7gVNcav5Sjreυ:%llPV (cE򏞽7q`X]ޫYWLb:Ÿ'Z[KW6n<%uSп__q8'^8g#x{wgMM_ӝ/RHѽwO[CXC:njo6foj\沫`χwz=c-)>.ad eJRE9pf|׬Aw >yyGrА)~݌Ͻ>\Ԍ/+;Wb5C{^W?!$i`eoh=y~zT{ħ9/ޫ"tLQEE;x2v<4k57 93r~-u+.$;W3r*"Kq[-ԧ;bլ[IMMl3 - Fٻj Lzcv,eYnnuad裼NQ⒂i~%sQJؔ۔W3Z=019GRj5I\^ȭдV@NSǼɗ\[ΑxpBN0_.K|b#3*8;;' `>Nxz%mA&) seܺ_T3d g[NֳJ>79U-rm`͵/< "V+whzt_o:+/^X=cS㮓>2oAho&RIj]Zl^Qذۂ7U-d(N $'³^fPaGmjn|! s]ߍIޫTo_`=};jNqk k>H8xښRLB楈71A$[2>9^yu:5ϙ6rn{-l_]%-+kKvej⶞_&<\c32qEv2Vk1N7C֣ŖU|)كl]Kpn7犀Rѭ)PfS1ULzbj9g_ljmx6 UQkMs҇i8OTSDVPyno>bϔXCNvGej 2R[| h0su@DZYFZJq>xۅ> qIu6*Ea^MObKQʎ-O_zőŒK*658Kdy_U?J'+U8sc6ҭo;)τr Oӌ?x;~oWo?[?{܁ׯ_1/.M2-x^|982][yU;VB%N213'04Blr+Ǔe65X}wxZ`8~VG=D8IGbu3w9WzJ,a\*la B8B;%ZBp6TOkXUo-H*}jVr8sN67-(X+W4n?>XrrrxaDa#i/[RsZv2Y'dOr:*8)x;ZRxٲ؅P쳿ʁanje5*.hVxjVyk߿S{E.J5---afm!e]a&#v2/8@{cg4aӞg $LL=8b9z`Yӑ;GFGFFFGG˰ZOdZOMLLLf>´ӹGy6 c&ffffٹssso/,,,Qyϟ/[ZZZ.:}]㼵f%%{ ^z۹?~ӧ/o׾~̷߶2\#e滎KY-F\b{k>0digUg\F.XSb&UVy]=Kr%>a+[R_Wa16 $bTc{剪U(u%x,,,'ԎbLn&%X&` YМYpH  Bx"X01oSt=8BʣdHsV[Q8KO DÆ+ߺ~?lD 'ZrE#\#V۠Wܨ>1xONr86/l12{`O:D }$[%vfH˸9qB#JWkĴA##O7~E׭/<jÌXYWG"bbbmVS j ֜IXko,saiǯ 0q' ǶGڽ7!>l G!)**>x <\Q~{oJfaZv6K;⍣-%LM:s3Qp~A?~/UT>S=MTPH I}k3,Ǒc9BW[O>Q W`FfWa`\`ۛDEg;@;8ӏ\*m&$͉kjĽD`2M+En窮Iqe2WO/H;#tKLԤ+"&*Ag!:rЋq(8jYSdX']Ltt&Mf\"íU hY 4;I.GHfOE 8СI1y4] ago1M%Åܒݲm/鱬9޽{lMT꽋vs6*}οqȶywy; R['U6K&pc[EPdx$>i2IxwŋƈÙhim{;dWj]5󣵴y)QTZa*qs&ɷf{rjX\]y%1 .ksmh(?/ yh=|;5ziUBpJN;-uk '׏YP7p=( @GPT%z3%eRWYua$3.OqYoPnLmfI[ϡ̬E(o {,@N_G<˪ԸX h¸CYiXXX),;RMUʼX'5➩t*ќ/#lU@۹@>pjn_<ʀWBz Tkdz"pEN/k~pL,2+ 2!,MEjQ֙$ v}s_9~˧VC={82Hi?7E&E>E;eF"fUf f:F,\00u1usR jfg ht "ȏdDxuԏ-l]̏#Srs;/h骈/3H.ȮXg/‘!B]b7}72gլg5lh1O~MvKqGyxxY@tu l~y¹Ǟ F*L½L*eL#| ܗW!uO!?&Z:von?ؾz x:T8q\]75gN5o`kHt5 aIiXm"P|_Jzgm1ǿ6)O\> Bu$kY>>sX>S~+-EiR=Z] IOc52B?RL!z-hmpofGDu`&^cDWv|밻F,@{hAQ(AYj6Q<ձW:U8}` k/0*h-ƣcGMZGЗm咖zf|7LQ{'͞SFD; :)kyx+l eѤ? ``XKI{9SYHLB_,hR3y_r3b{ Ar[EEޏ'dhܼ?ZNUb mӱ>Hzg$ݾޭXnM0>ht1vOĚdigho\|ko?O333999O zqq4_KK>?Wz/*Б2E-}Vk}𺁔}VX 2 zuyVaT /`xf7;˫ˬIBoXZ _az$^: sv?!y;b!"DD~DBJ"ӹ2@LNJJ2_AKg_Y$/F󓒒:;;=ɾ'azzj{rNߏ?& TݓvY<[OrvgqbbNLL=ysss)))O3335iq$ p$et?{x'NO eZVSw݇Z<KR*vEj᱌[ϱd TK$- /VQL?zl6u*ڒ``u!c9*Gj9 qvWkHV8hKD$C}:X"J:ܮlC!g-J %z"Q2a Iywu>wgޔ},Dfc=%3(У+ˠ2#ѲRa. siN )ҟg/y_ ?YX1txy#O|r}ۯ/ߓ: a[x/,,edd$))9b(9-EJ2*ԋ{$D*O^| )w58C3ĕ_)9C=`~6˴)0'cG6ZˡImJS"u]G0,tvx$/MπHN@O@DBGBDKʆ ACQ^[ALSL݁ C _X\Zr[XZn% 6 AW7WRp?$*ia `QFӋWdv@W~o4\(z?Zh@Y? T$מdYe(*'"K%“':|?dzOe/}\\\<<'!""" !!VUUÓ|zF>m6??3333 YQOt677 >񟈈8)))߾}pTTT&&&O+I<355|OIUVV666Ҷ>Q D$x[':599$R (3;y"RZٿͻyȓaYsQxOR?b> 9 <."?C RP |qR?EOax,g^bI``L3p_k4N-c]ZЄd<ه\{?@9y]]7BxhXyckQ7W[ܾ\  ]-( u¡oO~:R5_Y 봔Fy h&=(yl&npaֈ/R3#(A};S&f([MGʶO݄tE@‹ٱzӍdӪq+ȷRܐ nj4"~na=zDK/C/mOc[^Uam4n C.aXz褙pqh[j*vv=)⎟ 5X8B` g#)%EMԟ{>dɩq">>9,- , 99 >PXW\_ |$3lSAČZoF}v:FZ`dj}&Gd){uX~$ *RNKa*R~2kG-lmcL/geP_ʇ)i4OOٙZ>Ptos?/oU)eu u2Eeѓy~x[ ]---7]{Msz7%W-67= ?fVVtm*g"Lޯj&h]6m#Gzג+#TZ ÿkWk86}vvuX0ܘ|Sf8ӼYw9wGUvyy7۠AoQA ~Q2˃šr7GG=//f$W  ̟tx04_bpy˪SR>Pp`eFFVB!$BGGȼđ-BƦWFF %D@F`D@ Ef䃅[ÅcB}T\+ݝ`O9} LL&3FgdA/7<8 נ"}1*޾O A7p82ܤ]Blyg#ʙԞfrk1ŕRTD 䬆C~3?[un|ӵ(TT ET$Φnja9[Cçc1e!~_1Ϫ'KP=?[|5fkrxiE+vpz,"bPh[cey|Fz~FFDU7 `fSVl[ #Yĭ˩%YiDէm_WrbCX̩0/yE;WI @ Gs`X۞&x8>*\ wHFqA\4?Dcr;i4Pwy=pp{j+ŭyRrx92<*X:CxSVe +usLc*iA%gk%AU`\0/GhKɞ#چ䷃-^ʧ(U@&Nj̚%0˼B³A6܃O?| ]Aȝ@J|nMgYlZ:GCվ34fy)R&.l[Eڇup>x=9CTx"2ulWOYp7n󓥏 M E._9`.vr>/쒢.ߚ\Z<tPB9jZ8*A4ꦎmat<ƁB}VcɡА`M<ᐨU:}ihU ai Bp^EPKkbkapMLm<Ҡ GJ) `8Ff1AUC{s5 ҡSRGp:Hpn^{!u#>@ g8?8tAQk}XB~(=4r =0Ol=.W.i3;=]fޒkiy| g8pD\/iMN}μ٭p@^HI !"b&PJᙃugUJ < mW{J D?NtRb`]`IC+-u `C#I *+G<5'A莋|2h;]yN/vnH3/nb\ƷC' W pA5Q>›j.:?8pW4#딑\ <jį;5 o 1X:0QPҦMG]vԤJ\C |Q[qPfub6<6,JDv94r)&Ȇ]0uՖ5\l%cƾ,S\r^Cր !$auu Twk 'v l?Lc_mQ-!6mi[X~_ԫ+F6L!6) ت 7KH]>"ZQHR!fQBn_'L`Z\%\I{cWe7A\"ynDJw7kK%a{ICv.&[v[ }t&iZ8ӗmNj=ѹi!QI/d?3&f;) \ǵ^?𵌩#9X_߿'Ky! i/*Ee|CQEwlA!@ A('a8ȡj?L(*kN A/C1_[y*uU8،}%['e?$F_ ]Z|Uy,,_A+mhNK&7]9.WA."*j4E4CcLQZP#M*Z@W) лC+Iyޮ8^!oԚg SI85oFݠ_=FB'nǡzZ2Ȩ\Xd4bOSpK{-|2wK\cĦ^4G0!!\H1,{dkSJ+9AQxHD9Ai&_@OzL08L)Q93US'[K2-&̶6Ef[#&x{ ZxIMp+)p~#Ǧ V7eƧ3ȯk>$Mz7*dX|YiUNe '!6lb]Y?| : c?ohGiOlfҋ^:o&R~?}aȻpga Ij"z1ʎaW9n}j@uΦeIT}v_e!¨AQ1 h`g?` I׫ъgȨE ep Oic AFS><)~ڵ/F&uh2O.Bz3`0Z S3K<;,^:~B|qa_XKZo۱Bsl"I([P8`6iXby^P-I!}~6״ftAYэF+ME#VD/ pEQ+V-&)%u9clW:v7.Ț0[r\s|,=5*'_˅?|GbrJDӮSIxk6uvd2D}*Dw.ɖ{lCh 2zgZ ^zS4Ίu}ZۍgOhŒ:GHư=RW[2ذZEy>95i^mH7Q7ajSgވw@DSCf_Ky-OgG$d=;nQZ`>XS *w1`(؇ε 8htsO RJ]zaUr"Mywne> >a"7ek0ZA>uzCCi$ZL2-%>ڱ/1f2 fڅތ$/yK[H2ʍ [|s;_/ޘu4֠>yƌ*; h[(i< ĢHp+ V"3| W`N3-bO2g ER+&krCUZBQw*V Xu,C⽜ʺO_mq>< GH=awA%D~i?5>;~B/߯?cnKڃJZEOی@W2{`p:w3eꊡj&lazeplu}ndww;i{o溩. 22I푆%)< uk} i|zztr"W<16JRgc]Z?eK^6#E1rF3*#/>8cSMQTۆSW+x,LHM "' # EFMHLI$$BMB.*!!.g 7 qB_* 0cLLJqc/-ⒽGޑF:8=z~qy@ sxbԊZ!~*,WхJ. #A@KIAcfm TaeIU`8B!y/dc/o"-򿲽/?koAI)k8QWiZ%0  @L#&P^lgG{PD"qj(+h;;sȓy3beI]zadߨ_5i tw L~2& 8pkpxqMť۪H4| /﫷oeYϝ[[E/OLLÁIee1wShDBܺ: !wү_!&WdfbF<>>8$wѦMku$ްzJ7dqah.t}cBFΫ W\8 MILJ+طS@]Kŧ4>`tmG,D)߫9ޙ-|["s6s("<91-R˰Gme:ўu5aWK&*((k_q.4kHM h#P*Y)(-5ǖt5IG&Q"0kcd(EjHm 4!d.ЂEzH ,JR,_lsk6cC|=D8==t]eQa3jUu1 ?&NuXpSmc.[OSҁ|-f6%z. >1dmt#:;HDP EF+H]1 #qw{`CV2bGdlAAiP!VšPX-g5ݓs,5.-3r.լ9?Dz J;(%j u|9>x} f+n:ͥҍEwsQTW*9(6~&|S]f[ޚ}t F6W.sE|/)YR?Dlžѣ\ʎI/zւVL6o Zw:/6GO'K}vY=#>HʩiACOWOz,C T$yDYȺx}_'$eԪBB1ёN̄d^qT(WD xA*0 KÁiXo5u=HՖw`ې_my{Io3V6>g^%Y,ST)/Sx>)fC BF`OCDXԲ:VXPԸr Bn_^&⋀0Zھoȁ?t;PDgYAx3=` )10ف0h+ <{z%Ԛz" IGA'zAL!IB+2ubA7/oKwhzY^-R[POvzmeLSgWC#j1pӤq`tMRW!ղ=ijo]^ OIrwc&\l@Ak}YY:K4Uaa X})/b)?2Àa?ʧ6g4GZXr*26SV_|utyPi[v{ix\A;::A>㏦wbn-E#edj UDd7ZOq8dݻsp /ZYQ]6[\Yb)+7XVqHB>_PzG6.by=.KtryQ?,Ց5@9)y^)d'!mEhl zL;@oW<ǐML~3pTEvkRJM>~i-"*1,+SN~D`zC ڽʘxfE؝u+`ֿ92ZQ11َ|;IvJbV9iYlL%5Ybu8hZJ5'0ÌPk Zأg %lCRM?zਥ3~z:zQ=r.)ENIfmv⫧h;Z:,"i7$z6~l JĢ!3B—q.%^D jÙ9"G*cegN^~yt8VйYQ ?wݹ>~'~K:IB (\جR 7@|"\c'S.HOa1yh:'k?2iWOa!q[5PɩhI،lݴ4~@VǦהlHۍH9MX<H!-IM5~Yʴ:Nz M&-NA{RߋH\KZMݪH2g?~5 ȟ@/rU\ ڤ{@3SZ5ՠ9`o$X7ˣo(RC&nRVGSDWQtHivI!^܊:(HB RY/+ "] jmzzHlsjdQ~^Ԏh_+'}e:k9,yhڦ`G[_"Di#{R%fb1vf%i`7#.Wؤlv me^Q3VmAq9l׏CATNzkD&rٺWE/ᙼe9Լp<&/yawN-]7Q!Cu{V|ڳd]Ս?Rp!?gl6O5ahSny F bt%Q߁ͣ2-aI I@6b<}8S.ўLN;nͅLgz~6ɡCRL~rg 1 |O 4-!R,ճǡs@[€?rozs(.dFQ!6"QS\ʒtYWd1\b0lP8D:_k~sЃ@03|xInۘ B/"+orpAj{bL.Ca 9}MZ_]N2z Ye TY341! vY@끞YOOǖP,PSqAn}RXy2I^C(xLҁz(m="vt>*>8eÓS$#qVBtK!7,s62ro+Ck?ppGo?gffVVV,N .g6X,/`9uw DRej6%>k[[Rٗ=ۧ绻.)e"yh_ lj:/ k=DZ{L(' TYMkG %h Y]Ec-emݑuu ;X!5wgUku#cۇTqiC.zA%Lyi% 뛍p ^Yѵv=k5ƹM= {'֥"( [A3~\NaU5-^imލCk \ېTf^iB!y:QYQ ¿?t?{<<  AAAphR(eT P&{8)r 40SFJJ+,[^qJJE36D JvZZ}qDv__?[w4J?ׅ 0Gc'Bb{SFEBE 0+s0Zyt1g`zBk0gA{ga'Xaw@sW,bSj)́{P?xW*^k&\?!$(@ es': +) +} 0<:?pP #&58X*H̖1<oܿ?+O.Q[bd|-Ad:m1mI{?Kk/Q v s`:h( m@ m#MQ_v<<Bntǣ]:v% e|b4U]WGdooOp; 22> e OghXpjekhX-e9//QG{;;: Q8)))_ͦNb+<}=@2__Xoop&d]ts>JR(S bPv6u>3VTTO? {%ڻ56&#t^z7O;X׀u!F[^G$˓a:mD! aEL\\Ve%t~AA{oKSS JXAIG ܴaY. Gc>ٴqD,Ãz{͸Ǘ0_Y[URVn^C+0xIWɾ55TVpČi؊0|f'yO/uꚼDD\ Dd"^4uDov:>BXk{ݻ;⫺gtiFAsonUR%7:"#A<jlHA|as"0J1::$o@}pzvZ9ky*pyaJq:hRWd\w:Zf6;{貰Nmg0;=Nѫ³Km+Uir-H1Nlޠ~G EdJ9 -F2:=f fu6%J,בAqZ:/)>[EhZ%xĻ?{.y)'ۙpl"qE GM(a$)v\gq޽ngc Hxw1z(!v !/jlS zxU}X:TU].M 'Im0'">0v_2&4tQ;ph 6]У[vs2P4W}Gy[M'ԧ?  S@YsHkU|8 Za3Z9G,%M.; |ThוUUdl;>G㏿zχ @ܤӬE`>$4 V_*FP]Зq",cǣ3H4q,9l @Đ2EN~y&8JTII@Y9Qʁ}3Eg;fGy$x37]J%2x C!.ݏc>Jf> uΛYƖdV3FN_>I}{iܐeݫ"tsYK&K!o߿i*DR^V̱YlH&$$I{<***)\L$K꽀^] bJOJpĭK4'$HHHүƔK]FyZ6'YYXCgn},?ϼ7{d[V } d:+aBZ_щ]'>_~Wϯ[?/GWϯ_?~+?Q~'7_?6RRRtik}RÓ=!Rc6ǝ3T i5m4|5CWsݧ3h37'gugF+& fz.YEDMKWWSSS-%MqgcXnj5S9SS+5'kL DP EBu&(ޖ5KaUZ,IᝫǢa襳öoQ̣F׶ku#W*Vr7Dl$['4s6\ ԭ\]itftB.x)͑nCNz1&4+бNB+3Gݰy}p9FIɑơ3/( %VbH+{$Ը(f},hCZXGz|l~}v@_,r 4xvG2S:Yp_:X(T ٢@Va):@TҠz(ht^E#g}9q.2g]`,\VWЦ c@+Ito5JM\ j'C 6G"c{\(- $$r&!}3@E)?'<9ݖ&ë3P'\z,4^/Jl2DkkI!*(ҊpDMHQcSǯaq\ǽ's_3zMP׼IɑM|_6`賂z7Bwa`h9B_W9_8?͵~YZqӧ{fU9y!#cvP wN/ FFl~ [Av4Wp>eY#+Y*,)a&叝RGo8?Xm;C(.:{^_{;u?FwC88/}bnbEs`._h8e,C`E1,>S6L]KX<1+6rMK͈R,,B G<)cp*kD;RaQGy$ٱA27ˑtMS'sJ#Bs1RvZ m(eV4gxUn¬D7N+m6G>{|jqH|z*Vi&E\7[չ=TΥ""* T Bc >>|UBQjZK<Yw|盝3 |NLJk2ޝ{7%TbX8b!*7+w7VȦBM;>yM;@cqdHly JeF Ji쯓m?4'"k 3P?{G^GA\V^‘@[3V^UֻN 3Մ5bx1{7C:1LQ.goY0wFlZ-_;ov!Hr|-FLtIZrp'OTo<U~fXz5>g ("ci{¤~?選Nt%'=eLEƴ2jj:n:[Gist*/g^3P 7%}K>۩!i=xZo;h˕4g'$܂d#PGn2 e$ Hs35(Қ]`/_79*UP딬Pk aURٵds˗z|_@9(^%DQ;[(Yc^a^rA8}HçɩKWSs;gڍz  7M:隺4l`zwMs4q23kp`g!EP Ff nX-fNɖ@i734?IB*ܻ:IBȜ[j?\ɽ2JQ@dךsJ{E;⼜ ur#6ЛoҰe8x~l SfEZ)Dq xC'= "Պ\"V.gWju0F&qugs(oavbsvi:Z(u8Tnhhh3Sm}yq{s3N#ˌ*)4A*ߐ%و;D[<"VG`ea&g ؅`f#ESrSP@$ >p$do 1 hѱ+@l,|F`Hk^d .ERz>goU dEP^cbJRT0QF+ʷ@}K<=@ g7 3g{~ 3qȃW2>ғ0*(R5G6V)Q:j3 EC+!Oۋo-99DFUǏǭ-W!!8ϯ־PQZO!B׭ކCZ|d?!_a ?d܂N{&x9wwJN^m N Gʱma5cgS9Ii-mr$KR=,^˙ b.I*P>v2{eя *xL(G /\_}]-,r*W͵?J ܀?}͔Gpl¥OZ,jpRͷs^ʷrr&=@5OJ {vWl&",8.#(=6 =+L`Zu}:<%@Ok0~rdVHު*sV]ycMpkȋ]w ~ zf?kp?4K(*"Y N:6J7v.QN/S33%%(&Ҧ 7K NƹTn܍7)/B23)fgӋFGeh+Ebף1/T L! N TMt e`|"ztgSKؠ;!;.5k`y ><ij]*fMLLeH=|Fϒ.jֈÖH{32dVKV|pqjz:&A(a9R0Pm?&Fp޵a1CK? /¥ /n ipLb0yѫ$] a_ $5tb~"Nҳ`Q4 #H gcau$sRAcຓTEr'HűDTHc^>T{8XW^Ỳ9nERfL;_CϽ!}Mvuy @ɫ \-Hw4!À_V?6U 'k{<\\?|_ߥ,tM-s///oÓ֪˳|$eO-'Sߝzԇ2m8_aquTd[*+."|졩r yϷT[(Q-C4+,f:[/:ŧ`pϯ&q .$GTTU~t*m)>oK&5ildlݙ++*naLF-v‹iaYԐPMKѧwr."3O:8K+٫=%wgu+ G'~ij>6u| GDyFP}p0 x)@xIHyêɇQ|(Cd a|N +L).n Bq&T4EE&_z3 !oSCq~T% be ^JrZV[K`@<rVRܑ5L l)8yz ?q:d%?MtiwIYdZZk Wu]ϡe|l{lY+dZr~*q#Gim#Ak~wn@vׯhM/i ;( \cѫ(z}Wc_%6O~1HUX;Ac|1{ [5 n~Qx@;sa&{l1'5vƕ7!R-978 'f9%߇d$T8 {8 r.x6ி.sQF}?DdDWZ ϝЌKj'4i(czMkqH̖ ;#Dx$iI+_,?NyY^Nϑ0Ejop,ș-ڴӻWD>S[̘-HIޅD?0 YL_|&0̴Gᅥ!̮"UnmmU`_ ;cRsN$<OQD)zF˺pݖޘA@Se0_LǮn)QElym1Yٛ1Wɕl1->],s0r1PTie fг Rɮ ;|u{fgQQYM B|ȧLJ@1gЗh:KQEvC>V6z$_y p{"Z diOϲzDRv6./(&ղ>'3-@YXXHf}>²vgT!Ҧbx2/} =bcq)&PONq奉II>/2K)w/yb4XGpԠtՠBBB$#ES_n=qy=cڪ^?~P{ӄ@)tw+0QH{K!)GrNMOSjv9gN4$`)D \ػyY3'Q/wswdqpcR~_ S铙o.|;U2U0UU U!UU-uU u7i ݞ衍:jaH|e;q'Yp/}v=Wb}?|xv6]u2p 9a{QO Z˲W.u}<z%qtQi'h-k@u[r=bEc'd癖+7?Of/&f z.TR$l[Riđ[T?U||5A}Bmnr>!&_-Zw~ob'xX^"o ?e (>yvcA3diGm2d /B%ůxYJ7o˦cs\ #{exhlT}mu>40Q?d&?ry_۩qYĽz_ dD[曰&v DyZ~h {]Rk"6r( '@toE璑_9h0%"aN?҆> 9H:EnP$,2V(ǵJ@Wc^! ?O_/4Ѓ;L 5/>~c8@C١CIO$̵^gH]k2h~i}h,'fGт2qA&ZkxyzNUՒ/Y@#VHFC~, տ9DvzZUk1cPPz[ey+[+"zr}RvҖ52Mn ")/->/>.ލm.DL㌦‹cFYCqש4oƅ@u~yϤ H[ ,O>W_KݥMIa|M\Vnz: v@CE5$ !JU\mVM@U!vy%mjugQ6 MfYyL BEКU6 _WpaKdTx@8 ͒V2jwHzt|'Xq%zxgs0|w%m.W;2oU{hl' 0R=W/ν':Sdg6Y7cQᄆvz[8<M/dϛj1;SIYV$b@_5$Հ]P*tPnc bLa2xF*8!CŒ@eyBb}GŭlNIq? /?)>go%;W@R5;;KM?R3Ja/Xԟ>DVF?44D܍gA]guʝLEW؄_VZv=R=8%'pE=zW’1eJ\TL]_5{SDiF5汏٩95YxpHodq*EPqcWb 8Gf"1.}yNK_Qo˃= qCt e$8+HK>DKnR7<]n}O`O{1~dolxulMl:(j4`?lL8ĵ:8qQc&J u%9{ׁj>Ic9|{=X݊eG2Wd"cs]xSi2Me.v}0,!t2}nR«O|+G'qv!#E5 #٧]ʕ>FkGʅ=cO6Ʉi%+A\c`z$_Ƨ$D>{`pyx1;9XY>~ UT)n } UN-ʮEM -`k -nSޡCK dX}UM`8 @*|#\$GMT~\R|.c̪a)- c]B"0 'H:Ӹ^)kDNρEPa`sOĿhW?<WA $C>ZphP@@͐~EdVdX16x-aT-!ij B!_;+`AZzҲs \mHC'AZ2S&xfltWlH?]y>,ce0K.ۯ1''Ӭ Ue,.4_k¢_Փll"˧b@MUׄߛ mN닡xeV>Zvaƙ8;e1 EE3a\Kl/4l ɥ$;ɗyy% [VJ|+h/SCA麌SJ Gs(/*@\P0 |/ouitLT4JLr[tu~ jI 5XBc~ ոTs9@t 1@TV bl"@HHH5*%z*I*޷乜Eiy ѧ˳~I}> 55o ,0Bn2Q}_UhʁfMJIĬQI~g~mN 3e*;r#E渆 [ll$\3T aTIMc(ǭ{&3ttfJR=p2"),rϵNzls@8QYeXkWX$m?^755/ k!D)?gطh(o9;iؾ͸ҏvg_ <谫Uz t8c!2L32JAx ڔU-_j 04 \"uiޞ<'@R.0mb*ΙD uowIlqmG,~"s8KY_11R{^ c6€ C4fۓc'ֹNYspfbC*e˫RnUXu<@Fytyi8}f$m)%L|g'2@.]Cς ]߮=`{r dF0~aWgINXߪ0BÃ^ϱyP}8U,okp z-=̢?YSu5[7c&蕕L("5Ϫc;q95^[={uċ7Vu01#K.M=8-P[b!Ϲ+kίsYY(Q& YDV*<Ÿ.|ZLՉ慑A>@LXz3M}F۹ɗ2җX$x{@J0=**7⊌z0,D ҃[ܧE8ۖj̷ sׂB9 $[bj"2K#0fҲCؖn38ҷư{cڙ1ό0DnYgQ$k;h$vQqN&I}p߬qW4)}ay (!h :QnY]R\,Hgq/l,E!7&(~ '\*8Eɀ?Љ)]>[v3(;f/P Uc]\2̣섯ƚXloKc6lV]7,k=-hH ԬBk^j*j& 22`(Ge][Mn>#.W#\^֪Hþ&,r" a H7)o8"~jM=.E{R)‹e32~ι`G!ٲo=5Z,uM5vg&Ps+aun[A ڧ|sʛQ4i7 |EFN*~w3~Jf1 ]_|x[Y cU8߯IcUgHaW&vo8!9/Τ|AͤFG0,#'5]?}'{s?g?عn';mS 244TRRRSSoy |%(ejSt.xr~e]\o=*C)#Sȡ=9Ӟzٶ(E|!qYLMs7ߪf b1k/ ޺i:AbRB HeH8H<aGzYByCd! ))Bfgg痖dmmmwwOs}}}ssswwwP__ܼ;88DEO<pp0<<|tttrrDW_~Tmm> ݫ"R j!o݃0OOe%i[ZeQ;'&12.ecB>!/<@;LX kE(Ȯ.lDC|=N}0^CxМh蹇?ex_["׶1j-L8~H1VLJd~3Q׈ؿp,8]6{\ {ɀtׅ~PȓqF`XisV6Ӊ~t#d/ШsG"+^d:Č̵6M35uʚ1@&[^!wlzE6 . ==}P,addd ѫDt|{(gVX\Brb|Ü7oVw\7 S8ΉoU^5rqqUvvCP9@[?^YXW)8VE͡mP?R.Ϛ2)07̳**\ܤN`6̞i%ć;wvcg1B_r.~xM=BϊJO@AAA)_PXT@I *dohljdB;:;ȡ?,l-pwww'w ]+wBn̙}̹zJ{ njzfv viyeuik{rog@|r̨xvJ c` @AR"si4AhH(_Iι,50b b*L癎 e"IK. sBb#ت`3BëMsǰȰX#T KYo7Rq=(̄8L~'aab  JCLO~o QL|1,ŲLw6?kB=fڊ%-0OgwX|`=  N IY]7^gqJx'*VߦЮԥm&WyfgtP 0|XbbaqX ̔'^sN LKKK/E5]sm_G( 753\)s}#}/7\Pr+x:" %z8,dFl]6џ/,JMDv~F# ԭN GN޾:>Wߘ[HE&҅RF>A56Kd.ҬČv;N9néDP@6. BZWJ<5|a-K߾(k?m%Hq>w= N#$/#B|[=LYv C9X!hYc]<+.` TG Q@Ag]i T?~ [@\021c'S@_o?KW&eYA`]Ad5}I|#E08Ŝ3UyZaLGE;Çݎu]l/ƖܮJs3A|(Ž1wSYVŭRIUYv,p)^V Uki{ۀkowXv .W[{@5hvPgROցLœy/;EOw+x a[sVi)t>VXo/ZRعĔ'8<4Nv>I mދHExb}[IB!>惴/lGz; T3ݔ0v^הb~flS:l֓|P")!#_]en 鏺>n@|T(yڋK7ٗm=bDxIY]*u \N!cS->9AC<` > 56lg]qM}#zׄP#,(?zvIt%%D]i@#¸Ͽ h)mhМռZ H]mBb[( I*  /~` u$*^l5]-ܷ鵴M4S>Jh5SӴf )`k./kḮG諰\h({oYM{pπx, w'v$%Q2f>R(\ڇ‹sҞMrZ=P מGX·GU*9芵Gcc&F|͚Aշxbe7I`oKlE醝 ʼn7]Euq4}jccVIt̮i58M b?ˬjD\Ќԥr.Q0ize~u1?! zTU+2Ӕ$NQ6lt.z"@\T$O8^ݍ`;?-nY[킔D> Cf N&\JzWLz]b\(F}9N3Hf3f9U[rH%I^J)0%engLɖD8;$1nJto8zdh|_Iifp`nkҪ .>[VyіM/I ,x#Geh5g^_$/( $U.us_Y3'3\F '.Q& lyCzufGoV ]׈PлWO1CGs2Ȣ,t"h$!c\ _?LbbK_%__SOe5ccc 헗[` n'Tw{b: EiUݕ/%WTTv'Wg ,mdLlbrZh|+:WНs[> /+xG[k X? vD AD6dRv6gi;(PB~ NePUfREBC}NOE"IQpPi`o&/ $23 2V};yrhn21Ý+HiTX`Żw뙰]]PxЅ_!ՔS| Co߿/'_ R}5 ;@ Ӛ6,+f/Vՙ# ug8j2V|$T56B%TTUZb?6j\wl;zBsnyRhd'm'6] H_^8 {0=ދE}|agx15_`V}N^dN y7Γҫ;4$.zKO)*o#CM_h'BӾjqo>ƙ+6yn*'`y#Fh K۶!~C+go ljwTo>|a)cIC s҂d@^Ҡ9ZX/[1\?ЩB:eFUPH ީ~2i3p\f!^TqkIi<Հ&~0?X(}~v<L/>ܣb>VlW,WZx9 b9?O':mMBSڶڵi\uKsU:a:qǶmQMWT:3#{J vMyl~]V6YTVoPsv#+$*+:WB{vB} beFEKk+5AAcgm  oF' ?68N\y-m m/eiyC*Jܬ3yyIYAi>q?|k T1 o]޼1:D fp Klih.:]iOzᥳs?xb0I777Ze l--qYش̉\aW+*F0o|8_â4"bԹ...2&w:+Kl"Lfl{ 1XY=w3ydwE}'RWXZZB;k6ajoh8i\b[͌g w_t>[!\Wq5H9# d^Kt۩^BvI36%bbk}%WU(---)B |}^>:]aDCqwd:FlgRXҼ~!,h^W:::|E~pFsKvu0PLlݮ K.o` 򽝝w!zwiPL~l}-4I.Eb`Pq8%KhIN.#p3 +憫p;hꖮ]||v?˗cKl W~UԆ*)G-VSۖԤjhb$R}{4O0"qy:r-8v%˸V1#zp,4C $i`B mYx*gMZďzIBU_g 0FM8Td\Wfgb<,fSLQggW~VZݥnk4 e̝·ZվO> T=thI7@:PZr98QÜ{j{S.ʶUL%2MoɆϨ~QHL>2,֋_+*~>O?M͌ظ7W_...6ƎvlqĕjYOW&>m 'tgG4ŗoml2V,|:9>ư*ɬ# \,;Qmˆ#}sݣ^%//E6zg4Jg>%6 xD]J.4wKl;~qCrQ1KxOfxߐ*yҤȎYV"׾TQn Qi~"yFDbb-CkxeuFwM5I5ItK3Fsc6Nޜ}$^Xavj;ye1k aE kv1dG6Ki.3Mh(̇OG3^f ˼Abx53u.G&Һo\=V%$>tQ#Zh i_LVuy2xj4jN[M_~2 @'S =TMTJ XRfa"1Њg XD U]J&s 5Bq*"jvhQ,zXDc{1IN߂?pSiVG9j֢rOwiC+"ZIM1+sDwTxDJܖ6{8XPNFG6]rt 5|B$;^jiXCuT%O9k5߼~䛱Kܑރ WZ5SZߴ{ ^+"w5#*vվpHDZ7, 6nq<%ʸFs8zQei_j+>حCeaM8i yM*đVP{BɤXc2@U;(V9^dI!T+e\zӪB_5'anZB<c{z.Lr lxÝxjBd,|{ Л&ȳP2طIds;jV*8sAʽH(K‚Q&S 'k_Q9il)4 :u= +ȋyșdKBfoNWZQj>y&%4t&_3;7X\/7j}F>9fN GDLE݅2HŞMlrw~wAXyӾ[VqTfn~G$ 8n۷71QE\WkOe /.AT+ 3}_l%wG`SNYaY{ܕ,EGT;5hx1sekB` qm)Fԡ"s;h` ȥ ~qϭ25)cMͦ <hx~lxT[1c EL.Xynwuu,])PjuH  arѽp"'q g,M&!*mGbw)5f; Mw@u9@D,^QGhY:+M#tr#6_fDԼo &:6+_[?*}|`!4C AP%_"UlW:z6BC+z/ңģ^ډ2Z K-~Q wmkx#o+]XaGrpܥZOqꕑbeQ Jf%Vu!ҽ)s`v'&UR>^j=l(D& `KHrE& =.泀@7BAL鶅#v8nZX~Q<#aɁ-W(* p")>(7`xO!W0!_Վ~{̾c3,NavCD=zwD.Vm8ċ폛N h[-I ^@ppﻍW^RQsԤ94ۅEgOS,h?2?51M<9mk6'HcC cNJУsq"z<>L*xPH˻M$38iI4&W0 5"h"J_2Ҧ_"5/?< u.[ۊg>]Hdwls='7O'sFfuB;lUgHVY7`GfGDTrY LƜ qcx._tH-_}e9 UX Yj׻be(Լް) 4Oh F ݮ#E q8,h=X57¦= eBn ~ Q >;?SBQMP.!JwMw%ҥݡݱu=lۗ)k++ٛ^6asq|tDpLj(~Ʃ5^~Spajc`3sOxڡ ?,2e xI4S #b6 `l&zz ~Ckqd;e wʊ d5⫲. TϧYϢom!ӛ:IC}q2|oS;/EbN{2Ri/ ܿmce/o444/.%&4[RNΏjN>}" *\^yѫmӏ|^q" O7d.*SxN'Uz`6T4#X]_GrJ .Y5bUf7OcEb_]>B#C6=?~۹:Uc60G O~&<&ćL@CCAG@AK@g OSPX> @Ok,s ,S[}lԈGO P?2Abb?r[td4fhæX(P .9&G8?9DpD4 yg ;{L8nf\Dt2ſ 8~K"+--miiL<_n&>hF^h}d ƴ rM"GO6aH Qd/Il%4DE=@nMC!CcS8gfz8eee333sss?r-//5{rrrzzzvv3,8#MT _h-{lr3&=kW\/^r:-$6 [:Vv.*Y\~`6'}g4do oh_*G7YG!RSt5MT }E@Zp jF eۀb: n9 L odX9(N$qO %V"51dv/({Ol  ـz6Քtxyb)K 9'^Li|Kxy(J{:@_uqbwfTԉǫZR"VN I{.;:ڙ9GWǿ+''www&..s!!!O ǥW }377*.u>_.|x@?Mxc`}=!rYϦBtKaֳ&9aV999& .3# FbCc<ϻsG=O}#}-}I2=jWǽZ_n0O: .^LD%Yخpo+Zl?jqv:uFq7#rWK{R9 zUOky A!BQYb*ژކDⓑOINz>/m/?WuM)܊Q " e%r0:ɒ!aR5 $$}R2!/'(B2D*e;QCR4au T(f_g8[O lHR1SR1@$KF ѭjXnb?hKZ[t f8p( ZQ+Pʟ/Ww"'\qsr>sW9,^Es0:j!5d d_*:~J1]JljQTQ"߽Z/-P{ݲ K2B}7b+Xs|qNF_I2(`3 Dէnoiw|CI/ YNS}^2ީ@!o=KEvw&]?>qަc<Mk= JppEKMٸ"[j" $ssȸse2D϶#Csry9{J[/DR*e畳!3"y\| 0oL7|2 {.&D2~a Q|Ycl &۶ܨ 75*ˢ,nn[rWePvM(x~wc) n퓉_/`< Ys |Qw07C!^g.`\9JPju+N q}!;THj$rI4RҘT*=!_MIf5wn{BpQ+}j @8:_lYj$Bkwv=[ 3\`8{K?nFK̋BgKE%ɵ&coPku'G|II wbt+V.BdQ[폃mK۹71𴙫6p}><7CtQvCRPV^=ޞ(4RNò-o'sw˛"CCCυvhklPRP@ZZZr`BH]eYA?PH FWc:]C' w8aZHdFzD udh;m2t26t&H)Zshx8XdFhT!y!|:JeG-b?t^POƵ&1wcv1Eb3Fc/RA,.w}sywEAb^Vz/pM1l RBL cwɢrē!ׂ%lwRDe_k ŠT_N_[j7"""/+ Jn9m^QHWr|;_[\\{96:NQȼiX.x5Ȑ4ޏs8$qoO*-)A WOmpEE&zǦyRD΋j)E'Xzw^{ >Zo2B]w3rBԱV]\{[[iU̦8wn?؛gHJ e666e+ {{OhL26?XD>ߪ:饈4nYUZ:>hW0R͒$gC%?4ސRQ;IEಳZeg§|NͪK)«L(M/ņLHa#t#Ffؔ6^y <Z#"iC@?@Bp#2RT2Fl5TbtЈ$xdĖ2SPV$t)tDdb=@P~HbELloEa T.` UK(?F}dym5D@£A#ښvKȇt!AR8gG&jWNv6_/?L{"9 %Su+Ku5GH+>y>A>]%, aTo9TJ(E^2 >Tۈ|R$,L0$1pRwUKjٯWwޛ͇ 96/0m^{GRG"H\T6_dSw0HS.>a 78tŠm(Q6JjOLBWptONr%Q WIӽt#J?aU'oP~o>(]Y-|]oOCC96Ƕ7EM/_?11s+8ʥV R`i sէ'\:k\f;.P:Pz:8P-Wu[U }|(W. C6_iH%xrϔdɦXE!|:7ZN4Q<޹>ӻx YRlsnHpM_j#O5JCjW`925Y^_TlOmS*FعkX` ;#ˍ%'Inq0WªкmzoOVCb?<0x+(n[abúx!EM,!fb!"iCK.ILv=ut1tvE^#ϘK.ڏ~ESCDQ"Ҧn?5{wH VUquhV>G@ǡ-2O'2 %᧜@K ^lH}u5|>6J5@z4U1uOs:3 Weࣅ)"j%g#^&rjZڈp#^pQ>{&jC;N*q~}gaNf}tXmnf&'P=}ar@?Ns7^Nne10"naay-oN$.ѹ7rrH(+&'E< ^/ +wh$|GdQ :2cPwr#_e|Ǚ}L-NNo?߹(d U)Q: =ibxћdz#Iv}_¤"UC>|߭ "SYVʸfFƦ\&6r J||#~CC29<wx$nk_冻Ն~M rzL+_R{MM*tcMEW<Ɨ~yTmmm}<%>m4dE 95s7Or_3 EQ0Z\Ÿ.߻'?mB& 9yԕUg24)q띹3='zgy`Xe%Cndd,M:ifox999kO $$$hވyHqze5HI+**6 KX YZZfyjyD^?gQLV#%F'ZENj&<`ͮo\[^d$RV1k'@@ fBGNJbN# ! M d @F/`/ê#fMe ECga`dA]\$ga$bB|Rj2 ᳸E'ʅ .7|7*)E&j7 h +%b T%P< F&⬚/E.)I%t8T_ ʰ7X~gTg1[xw$K6zYJH3, B61=$įƞU߹?/;ۯc83cnIU#;(s+?e~GJJJAAAaaaťL$7J ))96%1.4x444ttt ,,,`ceePmmm]^b===vvv*<|||333K:põǵ wpppuuTaHP!KT%KR#OդJ (/W5r5*wt._>8濢EQ`H_dXl\jRf j;{:'7o=< d|X[311qssKJJfѥѥv@}eq0P84^Z{&w^?>NX5t5$T IG_hctm}[TBC WB:nE>0r 75n%k-,H=ztG@G خI3[ yiBSHC1?7 %Ja8!d/I#Bљ+>L^8lii6Y7aʟ d˟bpDTH3ETa 0KŇzQUKigMpEhgy?Žt6LH=}/7\0L}!=-?P&$G"1}$KE MF趆$Ă6B!dxa}dRaݢ>3D4j8k A^r* oD1W݃i>~HgEk./,^]>bM.z ?D'utB}( ?y6%XOTBs2 E ƓM=C}ƂጀLemṔnSڰDED4 0`a`S2јzB0pp8pƒEȈZ/Ыk H8(m (H}@v* ": nS7 o]k_BC?uϹDgK?Xu~_M?~wll\:z/_LOO=g322,,,^xaddv``c288V__ㆆ`[***`annGdyyt}&**zxx(##`kMMM=33300`9{yy999+>>wށؿ/--}l}l qz1͛7666`|9= ^)33SGGٹ>}tss&90xzz珎 ddd۷`[_mmmqqqxxx`ghllLBB&`;;;z5ؠ9lF l&NWWਨ~pvv? A`&1!...>L p-3 OfIrgK{!*ܽP35 < ~ppY&li3~x$[OԞF'Z&"@$mY-HXchcj53Aìha=fs32 ИC1X79Xnޥ=v,Spλr8dH*"p"b2&?l(բp `.oj-ڤWL]Ϥ_7H"WQyU %9"¯ kѫf^El> M./naBB Z9KG %eoXPB坥SD2'g816ce>`XԵb3 zG6NJKQ( #J_17Vl#n;\ᢗrԮ{ö!̎"_@C?C+٬.2)ԑǐf]$T'bBX/; L֒b2 ya NBiqTYLA:622ÈIoU<%-v-MSoz\7TV7 Ԗ ѲOgۆk؄o7RW_ z.bn#S ϫl2ߣ-tUJ{Xl[cBu<5SUHȐf#}C-385RVt[#Ό pTZ^C6K)G +PD|e/-a.cf{K/B+_s|m6xX̴44?8ß.Y 6;XPl `Y tR,0XR ,N:ALT0Y&V.:{vNQZj66zƜ(03rKnu/(^S3q[1о$I`f1S0@KnF!!Zc2Vn_el#QYEGnrGڲڷKn:Yd/b~Ai9Mg(vo%5dΨK%}̧3}blɜg>]T4$#Z0)r@UGHҌUTi %)5uHGj҆u*(F UAԂ[\fZIGf<^el(]Vs\3}C,`kؚ L"}s{-vGEC,ဎyuCQRms4uO?_`H$C Æɤ ėQ !ڢ0##%GQB»'O1,B{A~p)*X~(Lt\NAQQy*2ha9;:I($2HHHNÅƖ,ւJ MUewl,;g8V1; <&$pf %zI-pKED 5R+_qDPfk9O3z)u >y ̶FgY~P`so"Bʅ^eqf(3@V E Asc_G]kqsgEq @kh! T@JM!pU)8>QHZ߄}x8y~W_b?RGj0b륐|]QyvOX-'VdYm:̺Iv1f=? O7ϏOcܬX\m kBOwߞ|{n?|CzisshgLƏ}"Br $PvZa[2~I(ghߌn^48p{UN6!Kk~HrԀ`,|D־4NǯDN7oV{ђ`(GK6,+fO^{ \L.*g˳񶴴$?2aLOmYj~y@XU2G`.>0w_ju:pzdd3'`hJCVkF?-P)]7ƣeH<[ ..Dy^n:梗1+W2j+pӾiʌEEg&% cbgwO}jRs5ՁaI8'P@ Q>. ]u`'%m$>> DUO jt+f}l8nz'_&aBu _9ᩐs#`a'#8ZӦqh)zDw6W)M&TjêЧn5*BdsrS6kG`n=AMJxM(&ք::[D>VɺeЫ+;WjbCRŎ2+Vw{-7!7I~{JP  u`W'~lxTQljO/}`H6Bsѣ/=črl廗N ):.Ub @g#ޥΗxc]j:*M*e~C%(,+%LLעIH)&zK r9&9KUa)V#+!'vZq,yaPay趌B-̤rIחo R}.HR|4C\aD? PA(8ƫnw2$;,RF`OɜQ}"W.l+p} ‡uZ2"C${*y :2Ȓ\4酗%OKk:Kjnb2࠳ڽ YW4V%oHA$F0 eh 7Ȇ(|#r$gS t]^:r1I+64۾6/r 0RE/(ގ5dlNx 2*7Ǣ+eH2Hzj * agKK.Arqi1$e{! )p-xLdS\:ZrI RnmR͆I0@JtH~=5-:)+:T 1Z^`)'GtOn"J>_,h|NΣg)%&a&Xvݔ(~D3e,zVuqPYFkƘ/RL&X.d.$DLj0Tڲ%wBXFa(bh\bsVAM|֡`g2g7|ptۿ@ &JrK Uc/7=(׶\rD?ʦ.-WQZPVE4$`O͓+UwFz †;sw9%{mF0en} TO$CfKzכply=ig&+oxٽկ;"?ytB/`[_縘A dJc$#7P3d\yuN'yu-OKvw +^Р)"4>-LE}mjⲡXCWvZ?HTqы9!a؄PBpN1DWR;݁@Y zTGNJ;g\0W4:>fQ:{QIrAlBqE5tmIaBHR]|>'m!?&)٦>䥂$^7vz Z2:s9b .of߯LAB1$v R O ;aL -:aρ+N>G“u@F#KaCD¸6DǡZN蕥q?׏BIK3S+`Vm2, vwx cϥ.zI,N^ *D6wFALAbwAΒa_$QO_f}___6M6m^1jYSM %C%c}m$Y8Bh-T^(mPu^ C\Szj}.ueGgf|@='VPe#s-NT*YeZ,YzqEHS1 - DWpr{6ʰ}MW( S8̃D՚v΀_gNN;z險O U4^6yfWQu.VfS"ekеE|mbu󄭦}%DTȫBYr[ ZOgdY(gm|Zh OJaKB̕ lNCz*˯Xd-ǥWlYb[ GXD$q |azu[OYP-c}c XMΪ[kGc9Ni-=W܎a-O[ &tX> H^jEA7g ב3Sb\6'py.tKBoWpH pu^(=̌6X]6; 6)}`[žUF1riGaH'3}SaƔQ ~裋B"o:XX^)4ϼbz$>(e^iẌ́ct.'"gC$\mR&YR|KE]C_*ۃJ`,-P]G\숑:2X@ !K9D+| gM7iB::s“7X⍤Le,6ѧ6K킪lgZL=Rt8X/Oٽ-&xB YJ= $tOJ=QabDyX)hjfKi.#k'sȧC)kϧfeiC;,f<Z^t^Kd[Dxby}2ЧQw? G87 oo~_XXhhhhooƿ=6ď)>85\eRJ 90|*aCr>oMP/0KU  6fC %#@Ȳsך੣p"DʡAtݴUuӄąƂąA{aGi'sLhgxkaBp)jS(ՓՈttkvG 'vۻ@D2U4Tt̳Te{G5{?eh/'_ 3:#8*\BreeӧO]]] CCCX&W### /px]<<ɀ7ǹٟ׵cY-Y^^^SSU .sSSSV _|_vaa!8v~}bb|nmmmӫyIIIvvU~~~mm-8?>>cϟ߿?<<<77Ҽɯ_~ntttgg|ڗӫq_  26Qi 0 \}}A19˯ܼ_wZJ爰}UA#{ k%e9]Wr5}4HӁ]{W_O zwmspӯ&_B'&_?%92'Vm0nC^G&@%% u)MGV"sJ& MV4q'>kSYXi#q1M8偽|KWj덼ܽXQ`"j?ŐHqABav6!Zfrri"}TOKJT` I_ 23$5Bc) TV/A\H +/b5!gu5zԔM7f,d_k.6XE;uh/BjfRx+[2׈_muƍ}'qVy- ]6cUyO$9owkY*)upaL5L=_.^WLc4!!g.PS6ƴّg] _Yf4;km2;&4EwMOŷilpP"ꈓޤ6w;PpJ2S/ه!t4FX; :/QFxckKPPO9BTl0 "B mkzh`|T{ۂtݚJH⯀o}_C*;c!=rBDbdMGI |^Q SDD]QmTNJ:ς @\Z","ఒ#ƈC`SSoK@^1Lt}q`"٤_Rb/5 ]( M.;2k$%$O-?^?G{`j롃?. /,r 9@+Q$F4p*,wz_ cGwSKgdddff6w/ ,iVzƶN}pfҜ!..n!q~A\k2hxlphtrtbftlnaAAߍf~auq턡#c9cc'G汯,#_Y'X|5M3Mxg~囃_I))EV{D}WHnmH/32ڳ;?t_M]H"z5w#y OqqqI`ItvmEY ؉TuW Ey jF1{)"&Q l^2&6009m&cS,[ w6Oo6(5 -3s/7 +; \bE~e`c"k. lf8$غvFb}RWkߚ Xxl<|r*ZfN ]| Jp/љN!T?_X*Rt˰4\Zm۫;/_]D2g|+oTUwrKs?4d6Qi@!2w5Q҄z}!(Ч RGG7[yWۣ߰Q ܖxq-*EKC_@AE ן*-]F%"ѵт8[Ѷ|`NCT< ~cwܜW(&Nj>wt$:\]>3͝xlə;NZ3QǸzWZ$A 7%:㫡jrna%)ocQ\#X -2 !3 (]+sw['6=ҕƀG>iU3 hB!I'WAL(d[Nv.U_=ϙh!x~t&Jcq)W> ~’1(ښ ??!O=KfLwc_f6I+u#RV% .Xd9c9 |xcs,T E$Bj ?+ x ՑfYY7HhBD~?:?ܜ\/oy`G?}go/.]7&WٯV|ϧ&|LkV`Vp@lxzS7Ma 9IYr~0g}p8b`dr#x`Ŝ8dk2z¸peeGw4Ʋ}- O@D`mGp*"4& 2?)%$ :(.!:2& QRH ,}W  Q]<1=H ǁ%&XGB.B1I1y 6CȄ I(4IL/Cmh6$>CnRLGGKhȝK) Gb|%s@GY^C瓼D˃-m~]%;͍K%<}?n__ 3??^0Ͽxߗϟk%S젿*Mݠ6g `G<{hv 4?;~v|i~hh2;15RSǝ7P&&rɦ9Dzz%t='||?M̨(ʤδ6)؍0`]];4d`'UFQTT\[a0Ӄ;=wp-ݐ"Izz&ɽ{>칛rrrhvSKKOKpfJvr)LP[[ v۝l_*;~Mx3 ^ kΐ(19w9RucNaE'e1;-DjTHjjj.ALWY> ^̽yɕ˚xXn@\`+bBr9f n0S͢ʢU8aj?V?ɭ4z'3܎ߚ2y/&BA!!b`3 ]]C3{'wOO؄Դ²ʚc3Kg׸81=K^U;3)^4ûsc$X4s5ֿfSQ剉k#˜6Q.* TԴ 3 mrPF+v J2CbYXDK VY-Sn:Wb=ХJft@sy}q ֹ/W5념& 3HoXJGK |yAp~~3 oق萑^Bvdp=!?CJbAiq"4! $r|4sC&_̍Zkx vLxtZ̞ DSK^m= *IpI e ɵ*V#)cȉ!K (ꭓ rޠT>5bvʂR>pR 9 LvriMmw %9H e[$t\kND{-jXqyFFG !2^:;:B0kB`5Ĕ1OFi nU7/q7%Lmq!B|qa> b=m)7 ٻOT"Љ-}CW/?]?#CvMu VEKl~>5}sʴ%s+!~O7ΦNNo\/s+_C3r° ID#,yA[x춐 ؓ(n`⮑Ib]yf]5y~JY)Myb=fln\CwE-3^tE,W_N>Uy~$ ;@{6zS[zQD{яG5pwWtT)P;.s3{)Wל RɧIa0, esѱ9uŽ e  rV_5CE7샎@ AÛäϤckGLƠ{݉3Vi&u&(v!6"@JǪR:=l 8xX@&zGONBfJNDc7EPbJĤz7o)o E/Ic9BtCC8t݋~ŨUOw":wsemv !!H RjOvyJr;=Bmj˃- ( ԧDI.RE_iqoW8. ^x^Af`Ǵ "oX.%Kn* O"hg1Էؿmr5BYy{X6w&dwSYVŭRIUY8tIgh^D(D'N ]n7|a=qo濾Sʽm6c#4,Qd3}4ߔW9N >*s{NHp%wCvG^\L1 %;Dh#zK _.Dp'PŒ For!GCS_ćkB.ɸܦ?zYھa=Ex~kB }ޟ =dgntQ^xc .4 w|a_ׄD4ܶ^@4Vkhj^D$6! -w$rq ?g.mrXevGWcCpؐ[ya8v@#}< Av~-7DXR$0 :V/zZZ&)%ySi w \3cIõMҗf£ ^UXQg.4Ŧ= g@m<Cfٻi;FQE{g3BLJK.C|^9i&s-f;}<" SA3x*Yh}ͱ"Gᥐ( bXᲑP1!Q]S$v 6L,:==m ^ܟNᢂg/ U|/Mr?$)Bw@ݧz M= 7XT'E34M/Գ-0 1jm,cI$z#/1ƁabOglhÖF~JxIb\|-.yXmJF4C }Q#VxBʤ”Bd 9tūڷ #atL/hU->{fyڳdq8\(օkϣ ,^ۣV*]ݍCtڣ1_1d N#of\U^ٿf|б1i+$@ `af4&Z_DeV5 "jSghFQMCVF(4=]:]ߍB@o**iJ@EF@:=I .*r Vonn/0k럇,vAJ "Gva`3aAvs.WHPk%+~=Ӯn1qDZ\#Vپ'$C*V-wdkwwww xݝ݃www ݂}orN;wLw3revyծzjKꨇ-+*u:)GK4Mxźb%Gf-IQ\%=xmGJ—yف yWۥ̔+|eD*Je#&AC lB/_ сq3}$͹{f7c\`kΊ -8Tnb,(qT?#༂8@նr,y o$;n.}O8T NP9Eg/ggf?+>g?;6fVJV䐡R=~ R9yZu Y3JҤRZ_&V3R<禗(ZG;}GP4,& h| %'LƞѤ͆^!@!>zIeio͡hf}G@3T4 RtDݷTmfsm hC4Ywt]&PِlLXߎ;(u>őEKgEȞc/ D85Q0~t/''AGv2$ʍe(*nF>(=i[ KXhf>8w܎AMj{ކ "FiLZ軑I]b1Ƽ o zODDED^wʱ՛$/TH CĎN8R^3jir`MË8qS;vzTfs_ꮮ*Pyl$Zw!Mc_p 3!,g?SM Xc%ƯNcxFV.”K\M4<9<}t6?.[%BŸ_}Bȁ%a4L4jNyaVa{VXo+`F me,N3r;8=$V'Û#| O;*ѵYMn쮻Nv{8M 姳X`UK-1e5z-scX:nR8`0RBv}_ 3 C > e;1F"sS`PUQc1qN?$k`@Yڒg0=[kH4bg8~%,0x?0q]y#9V$"zA57nL7L&M붭"- `GMf~Pt Qi'.zKD$j>ZLd%tB&eؐl v9ì:(*tXّdY]%sv64] [, }-웆eΗxȽ3Z~+fk b}XKnH5ͷU6ִk ժqDts/h[-SMi:6 >HmdҺ;("k._-"~(H!HA 4륽"x9W-89җu^9$p-rlk? N5 zZD̀{OO6Px+SĬ}}' j`gQ;c@C@Im4=| FiߍΤnM;*&[86 p`a5VYn(jWT pdzzC 3 ;vre#PSI_NjRf(=g5g+^)m_RT6#  OzD41Z<}C|"${Ht<పpl-;) Y''Eo%xx3͌߀%)yͺE%Oߎ'k.w(rKRSM3ȷi~  &??;XGCCz IKKյ())YXXmllkjj"""&m#&,^Ɵ_ ǵ㖘mDHQ;jp2 >s'sFh΃49?OAeĹğP1tq!@aQMBA!|<;A+GF'dOvZ5ܡ"3" 9# *sep`ilc aiye b bgwo   *>Ժ?Kߣ 777?:::%%%555Khii~mVVVvvv Ts?f޼y# ((($$D QQQ111qqq oJII˫ںDDDDEE%&&&''_PPגꚚg#ƾ}򯥥HYG@NNNЃpqqہ -9p=],V*;, AHZz~~hr}>kuNl hDU9&]agPmWMPj 3= ˎ$H_,&0@x])mF>G% լp%34:L- z(a'vyfT犖y:кo5]ŸMc_B#$Mc DBEIHb/SBsLd\ x+@tvrG0#9B@OL@0q9  0@KQ,nCAr"ુ? @v@&w)C3 Uء Sb J~44'~ MG!lW`$.]/_Z\_.BוD2geOxP4," 6ym7%5lK\. de9%!"= t?O'TggckW߱/ 8&ld- n6I,osqs+!A"bJai'>$"`h99I&$ BB$g4k?voU2L?]9=z7{֑eZA>Z_ySJp_T7eRt7Qs#.X7|TO}ކs?{"@${XJ,hziqe5{B I*xt4a_:& >|ژ-oH&;^19J23I`L+nI;w9r0 '{'7uIɪ液|ddh ۦ޳uO?rӅc*(2` *Ӎ@vu>3$B7T;+wܲL|j<; o 9S|5'j{]0.l9U)I>!{u/#{i/dIw.>4^onP:,jp*ͫeǴ>DXrU>n%>u_ F[¤=&玊!Hǽd~jmKƪWW T-4+if!Imӈ@:}ܔ1VZg[?I_LlzlՖ{N7Mg#st`E8oZ`#)2x]ڤ@0 ;bd| R=Yϝx;aաR'%'fIhtD?%jUtqm5(kQ(`V]WJ"N@x r'|JN+&#h9 xL~w &˟|kZ?X4>DYƷpյp5$UDh+~4D>V!ەm-H2_F 5bnvs{C#4@::ԫ\/F)),-Kzo/k䲙EDE͆i7I%8RMϱa ]V: aaQ*u\}IXjeӹ/|l` --OuV7ww9ϷXr[[[{9$[) sVgn^;^Ai&~J1.nf.n& ?__A?ND<iZIkgޒQʨ ҜQ>,(뤡ޓYATۯ-q}#3R7`Dy{{Xe c1hx@bf ȓ/2 u޵>#]tXtlp|$~:IXik [j/UIꪆd48ĵݶ^˫Ց~/T$M,kheDm[fdMeĂwg[,4^G->n;4wubM ~+i6d>jNi~e;O(-1)"}LZcx` #kf) lANW^7'~NZ;Ro7NjwDo&z \fC[*ʅ!vn#Yu `?*utwR!o|K;Mt=AblߠGzٌ O `v?+%3KQ3+>9O&i)alH|%P}؅7M+13c RH箟籢jnhݫJS- >!M 5_טM{(OV5 y.P+LZɅb n +Pm)i t Ƨe\޶)x7:%Ef;二XUl ufF--4}u#hn/P,mp&#qن`mQgRySU8'oނ%~Z#!b烽HN$ &1)] fpO=됙qT?R%F EuPϙ]rym1굺<GFΰF/frfCȤ/ ӾT?ֲ%KAP_xp?RX-oNi>233fݻ a"؏K-pZE>sEP}7~IaXv/MdFHRI,B@@^(DL,EPݑ<&Ma9ӀWyC;?"Sirsh |˛ڟ˴Onɜ)j}(7.kq0hݚ8H|̯׾|]ax"6 _oMjJ xDGG޾/+ψ.Ϥp,~7h7p^LByLjRMhpT;' Fn 8j:m+Do\ŷs>t|,c0ƆFr7o鍈a<[Hw0DB<#9**fI rp+q%z-Ez]BʂPQϹқw)2xy/>zAٲ<?"8n:=mf- %82:~k"cr*]tS'& "OpE5lXwsŦc-![ɷPY`[Н B|YZU%9z!<c$Atd{%x}%mVҪn ={X |%YX2g(JαrƆAuEo;9 S Bd4X_* VAH}7o@W3R?"6لr{؜V,ʸ+j9oBFdr V6O܍2)1<VdDl !_k.zg^p f cqߢ8~Pβ=K 9#Z6-8SDȕ釙ollr]1.rRuֱK-:57ڪ){}8d lm 5OH;*NT?׏aku> Y.JP=]k M| {eźg"i)*9!?K=7'G&=#[ Ͽ_?wkr$Im#׉LSvڒ:keV۲1X|I]Z_42UEaD,>\Im b&'lc7{)Dt3ǶG{I:J:C:U,Zola(oNO~ȃ nlůonS^j; ڑ]jGFyԪFFɭ Ұ*Ip_|Ucw437fO_A'<%6SW]:8Kd x`WjG]H^w]W*YZoÅϩՠ3 zV4ͫʵ@kovmuCڏ91|I%]>L=x`%2ve QF}:amfp ]ez7(mf15FBXwދ /7UD6!=ZԆG8o$ymlF"6 q9Yj-Wgûˤd hag@B-gOuf`i9jۘ2rz!%#w?V;PDgC)$-*nCi*zI&P;Bz>^3_X[[ᩣyiXb4+y`I ا8=_׍AMPg4erjw:  Gg/c[eA|mhzrxxaulڽŠn?,3+6"(ew$B=E~l ߫rAA ]^Tϙ^}++KP > FVz)3'T ЎK7PM8(8IL$V$epEģ"䜫b&O%+ &P/B'(22f-ȸ(D(I\LLLfG0,~,G LU7sGDda5293!ȃImΩ# ڦ')2N_?'WLg/#u="+ T[KK\\77o@+###444YKKLEEH___MMM{y99GGGi))eee ss!!!~>>nnnIIɀN)*(|{N]]PC]]UU׷L[[;//ݽ<'''000)))%9KdGGGgffzRϯdGGF''&Ⲳ| 畨UU555uuuBhjlylyyuuu}}.6X΅cba10 KHI|413rpvs Iw`bf~~yee}OQ ǪS[K X GW.7HS~je 0JM :QNvAR =2C^@7ewGW$"OSR{1੎ъW,c9Ag#PIćNkf̎nKo/3a``ɳ~EZ])((Dqq@@;`aQQQ0++[]y($>>MDD9\ :::`zR`\ 0pN柅bDI# OOutoll|mbbfdd͵ɉ73;3391#mm=?~hkm.-))lii}^Yj^YYlyҫon,NJqfXD `8?t'@V@\ڵ>X lF~r;o΀-sFf0:N0}0`~R&J j:~UjG0btx$4qRʴYUY(n|(t2Co nkSvZ{'Gi 6my4h8&)rHS^}B3~"y'I|9\c-|) 3WO|Y#m>_A 3ޙ4Å&3K*zt!ִ2QݸS~,D+6@4ʔ00ìo1%ʈX=fqP6%t)gz~ kFi~ B=6l?[DA랼‘ڄ'W4N"na/r-U3}b"-#ߨ!P'<4h(HN)2yE'MgX&Bi%vA,43f em^u9Bg[ɍmr L?SꞢE61 ,oy싄e|%a.K7~' ‚ +7qZV%>GQF91nE&MFvZ`c)Kq:7;K5y,6pެB=$"<FqGNyߋ|vV840ir?nj4h[5?,-pN&}W8tq(u w-d,qf-{t\)m:m Si*3 zv6LOX l֡osED?^C~s𦽚B)#2#lAOΗxgHRSS1f!z52Ymzm&[2ql+}Nuo F߅[#zĿԁb QGs$ډh.HwSRc\z|:OY `[k>u8fJ&cb*nx9 ,j&O]z-"l8hẼ ]'sdo.NXV6ECbI nb{lt$o-9Lmp:/b.mAQbP [T" $QLwhqCOwt!Ǘ*Ƿ͠ybPݧs$-Y $!mLAtA#P,m΢Er]!tk" JzGm?zF2X5rX B aT%bU'RX/[%t_1.P񄓗XnjXjE*5:FCKJ[P>#x-=8OT~Sqtbp03q/KbaZ z$AxگK'ιȾ)gVs֣>Bp{Ǫ(P=#ab_$Y}u]'JwD_;??rw Bɭ[]A+X>k~qN2"*VNTl u|v{;:BUl\jcݑ}Q~*N^s*Mdݒޜ l&|+cnB; K??0H`t @@Y-vh,_+[.RoK%ǁᄊzkJ L.++0s[\cR0F{(0#% cf[g չT~vk> "oJ?HpRbΜ&tfF(^zxAHz󬗎|.Q|WH5xxMg&K԰]-H쫽>VoFFL#g/*48pj!(QP6T-,)u|o/hr0EA׾+Jf~ӸOuS=3\[oH N\Ξ N6[J$i`"G(2 dyÉcJy'46WZc%yJU+Up"PpW\~3Jlb$%nԺ;BһqOlyL~|.` XIn{h&NDډđ4Dw<,ޤq2J<<(R#qm D#lg%?$z̀/),Jgp2#K@jWo]Gk/|c/u&8\cTH䵢}A1}ö]'W nܮ*&Dx Y./._>eW+^gLmO |KW}#^~;^*X T*EjdLB>\SOab|^re99i,'EY chcIvY'Y+sw6u okv$+V?2 b h?M3 |=@.DY9\wL9A~1Uatz]rôPBE,NwyeB!BЄ(x.B ݊4x)D5D֥b1< ))H'75C^WK$ 8l*n,)(bĦfAq'U!n-7o t FN~@#̏,E,d>7ŎXW3װ\_6n4[RX-%s#FS].mo톅kϧɖi%꾱;k:2aqk@-ک/ .*AiMu7,S͡B6hRZkXw uSgFloogh`o`hlfhd`h?VN'0y_A?_~} c``>Nz%''>ii騨ZSPPfIEMOGG3n~{ec7n RPPᑊ9)#. Ä))L130_rG,gcg#ߘӟH$X<_p[?fKH8X<FQM9Sar;"̷%}Pq>IrIXбB#nknI*=b🦦뭖KnKUc_. `=L6 bE`u|90M]оxaf݄vdǔzϞ0-U,AѓfZokFG&t҅!65Kc4ƽ >A^z:vnO";{wQ>X߀O/.f>L <.@0 @ D<= 6@v7@_)=o 0? Kh%r`GF~Gvg-9 ?~=s =xpUsd۔BJo0`&;m'd ;;ʻda;]@rƻ''`'gMcB YkI;91Ѣ\?S5U3IEVr{]j02L 6:yj sd2nK歫? &4Z$LI5HL@V!$ تЕ-{$BVY#(|ۍ{XtWX>^ӏY>6(X?uuV?{bzgW 76@>|?((oWt899mnnmmm翙|)..:/_r*+~]Q[[[\XXsvoO,))]^^u=Q/,,*++.**:;;u|uyy&0oچGDFA!~#($b]S3953;7| ܖMv nbj>? f\g]'a!Ǎs;Ā Ny fWhQsD- Aj xD7 .Ԇ6p뚱2D)ɖ_O>6&6 ǟ?3;_s߿~V榦9jinnkm`kKKScow mm]@rG{~sccWWn__Ձn|xp| ДĦ"} hw\$7?RM~`>@C"(ѱ lԔd۴w`47ퟕ 8_A lqן.%E v1' 7n431utebv`37b4brճebadf X9Y!=k %63|CCYVL轻!1+_LĿ8Z!iA&@,jcoD`LL̬L, ,\lĿ)06{Cc^%1!=S....l6&L,<<uz%dj3nՀE7l}7K?cuq br7pSW|w#{b[zWR]ݷS&̥1 ee8..a!MTr4F=Eڐ;9sDONI 3ysg'iR =̡:Zy!&A}3mkpyjl#,e v. d Z9m6(oYi9 nj/]5jgAOUVX d;N'7Lq Y,KOۄB_}ݓm*hZ$=[0u,̐>YEaX%HI5սdG񑀷M[;Ӆȡ|֢!b_T+:t"_#O*aIC4`W2alၧRۀZ&mFxҳʼr<WڨAJ2jZe-= ML VwXU)C is5ݧzX󊰈q@əӽxTS~/mո`I چNW}[zz^ܩ||>K4H.vk=r??1s47>*6blϛM#zu}xjZ2KE ED޺FfD4H ʐ ;ZKT cGJY8ՔR@6eJk03HēO^{1Yђ┓kl}-u+8R;"iՍ %B ֤ ~?'jkK(ⶭF Pei@){M7YGeOr559̝Fq'Ĉ$q%J)@F:=V7܆=\ˬs ޿_\&{wwz;;+_&|>_>|.yLx q;.%egҕl^H?;.lpw5VZ*b3N8 49W(3Uk帙Mo ehXB#d TwgiaA"dMK>>@j"\ l"O1Lg|ZFo[ 4MV`_8[jS 5cYN08[a=9jEmFLl~:),],EKৼ5Ɋ$I d k#TJEg=\yӑ2,mB*|@4O% <(hVUC_KOC$il&Ǹ`I}@?."JG0vur}Al-:>\g9鱆hx>O)t7N4OmViPi" E>wwrssw..0Pw!<,94]δ%ߊ+NQmR)e1Ib7LR<(g-.w׏y IEUR~/P?D?%F{(&tW"̐}SO#ᲝeHk 6|H \q#Y8  7Vn:msuU׎Cߊ6y@(fN4Q@C"p_`[_rh[_c^c]9H~H;ӪV. l 1! JBӳV88BBK! 5yA%rcub{E6N/2/)%8l,x5 %L(kC|k4dn(Z3|[27C答(,̸pB 0o\v䖝5(4ᆭbdG6 >O7%/=,pD՟Qa>DF-4sI+NfݫEvB9βl)B^wBѹ}%Gf6ײ( *OLxv*`5x LDZv-ʬ2a! lyJU1&>; ^R63'jD0[Nii ?'p->r$%1B)ͨd5ȋ " iQ(=r`,hM< e4yDdӕY M͟|U+# n(3*6n* xЄ<nx'd<4[֎O^oSoSؗآaUd6~e饶~7ŀ!gozz9rU!*AR$&[7}`=Zdp&Z7rı+J|^SQk%3\{\ NB(W0 z-,@\dxCA'agbTlOFjts0z[؅3 TOr4`t+% yF-H(HybZMVӠl)6:p,“$w| NΩ;$i2Ì2 T*1: )9w[CdA㎲P{ O}Y :vCEf7_L==QѻF/.W@Ӈ3˃+ y7)-4ɳw:/×W}qCς:O^ia }ӺuADkq[N./Jb݂Y6^ J %H?1Z123ǖD*$L?.w\~"ՁIΘ"!ΞuDӓg zGBCpHz,ur(*prKMاBWNHʙ !,LfU9ŘhV=R%WuiMY+x0Z-Gf%$K#bMsXM',ehќڼ 6%xϴVrvUBwb)]zo{uav9޸X%V^cn,V3E&(F;$\k:ѮhP](W_Q(hy!Rn^w2|3΍@SKK.OJ;jJ9dA \Gǁj(x6A! a>] Bq~AbDEMo#@,F`G$CŠ?ts b}FW_gG} ̛50r˨9r]_LjNGw.B6Ao,A#LM{CiG@M3 $/ 8N$e]`hr%WCoLXe{+S=^ÏDeٞ3{#[Ba̪XR,b5CNZۊDW.AOJv(ĄǧC3t/i& \yqxj F9Ehj6{Aj&N@Rg=yjۀ/ M&68׷w.vRvbdKm+Fe Hі( lBElc/oW#L25!4?TɎLųCbRHUHjEXÕ Ov Pc7ӣU჊;% `]މT}T)|pތ*ai+17#>?sp8_}P(:+ZLtC6zz+@HMMewֽ DMsT٠iJD~) ~8>':Kp/! ռg>yQkDN. m3kϪFy,JRKV_Qy_0iGX5 V'1KJx'`E#daMu),x d aR;U A1Dރy崳3e]rV]w(Zd1_U3Ӑ5yJ7plA#vi[lVB 1oV܇}U-C{}ё_D+btކ$ީ4u/0ǭSte}ePR}\B+Ȉ%4"C]wUFQJص@=Uhtj|QZ;i\Ԝ툁;9~ȝ9O+%jyɊJ>ah69>332%H;-;U[h#\iH%LqgZgk<2%XDy,U{I)+)K\ ՐĀKivS޷ƄDrl~Pz QӳI꼨dkO[GCy3=1#p: *>C2XeSy~G2f-8U hmDCLtANfalM "0B%>/L2фw;\ጻ\wɺEʨ!yU?!DK(=oV[kOQ pŋ% TKxXRb>CţQ7`U˛e.__j8mOnlnvzh6+n-图kݜ+{U9,4P>A-:=RA+R( mbuO.l"{7ceU(480Z`Qo*w`sYU[.Y|CA㉤?70K7) l$4;aN0ϒ|ChNGa՝e_tƚ0",W/K7Xt5r77~О,l({vQp9( PUG-xlk:$g*/h2|Ew LTX nH5?dLA ǯw|i)C&` NcCa7.&56ㄆ9#ݜ!Ib;~UfC?Dx*$I_=cZ?q 3/6ոc?MX!rptnwZ$׊/v07?帻x23;tB~yuwv-) OfW[2hS_t3^"ϮL|rKĺ 4(]|]'] x'`} j `9rWKy^;(8NS'Ǚ dE!k4v c M*NJ,Aވľ\K(l2u~dad5٬2,}ݭaFK sՅ:)mx\QZLN7!#Jdzyh.}|4vD~)d,!r0((=35V9צsMn˵܋~ ܍1𛅭piL`ܚgX_wv BڧsnѓvQ`!ZxDsT2_dB8@+uk# d ݵئf]7(WȴGˌtT7&^!Op7:H}0$^#ר[]Kɷs7E`'Pt`:J`ml)I'a@4L Z/Lzw*v0Zј  :t+K?@O uP`oiRd@|( .31٤-srTq-9>2=Z=w4'B6!Q+s"k-J"j궺wETɾF2L!} 4wv_.bOWvٹeCIgw^hjи͵|-+R@vJp\V ] >\<Z~4eS1 G@T5 cI9̷*Q晴g*R*5Yi#wzd70m+~\cJ oM#"2+rKqFwgAG#<$u@=+n؄Eyo;PkW1 2@QMX q? Tm`h<\r>a9,J6V9N:WdXb>^gCVgĀ%Ngkm"04.xjW%nn c{|>܉,;,OEkU62"MPizCɖHhAIS:lZ1Q]5c n6I:`u6,_[/`t׼)]Qf<3$=T"Td0//T0 ({ e~=g|{=|ZSr- +Jr͔;c=gsGSN80VO:&񬉌~ JA~jk䚁3IϬ$fעyu$ M^Ovl {#FM%AA@[~wd/ -6A˷X;}lq[$z~]7Ӂ#z~7H,ae\^~^ XT e1&^.Os'&QNEX.fuȂT"ƣNO 4 #1kbvx m6p/lxڸ!b/3ᄡʹ]._"1eE s;Y?wɉ_H{ͣ.j`Z򗴃}\ HJ߭Q?0V]j gLZ-rf 3 w޾irQ-#-z:떁4L%'܈'( r? ;hM2gp<@D0nQXȌ.s{[;o&+BChaϱ| =9َ핯ShH$)}#_\cm֭(5iP 7ׅhX\UՅ;z L>SmឃƂuZC{Fuo t=}lj'=5篷N&0J nD;'?] /yo%RVm LQ)6o/#!ILpCu|Z=v:ȸ sg0'bi+[ Aٔťt6j F2WSjoJ"AzH[CqFi{r5a8<)TVR7Cq%BaDm^sfFoV*h ȆCSVo &y? ) ¤N |tșgb~cG/ﯠȸ(0w%|Hj7Qop~lq˥LH /^XB3"uk|{Μ*}c䅉xaN{PNI\8<96+_jnѽV*NF[R)2# {eE+vD0LQ^q+Q[sȏ7٢ĵ*ێSe륗Y6gRr?D& W\k݃ )Ȇ9sArCmNFm!0SS!zE} y)k/m-C}" %^Q" ӷA89㨙n(Oiֆ.~OT{GwpҀErhṢGX4I \NĥQ;#Cff/$,,,~FL$uCg,D/?:SdAtQ,,F:d6|/PQ-=Ѣ;iGڦe{ '5DoJXu&NV`8l<5~%r=I95X 4ubw+'j+֒˝F(tyB9OΕ4q#lOU8D̞1iݝ,IΆݿѹ-|9"ȏVO75CZoϭ=oR#Z+,h|ȶ7FB"\qe V| N8 Z*W|:L![=2Ts9  ?/;>Zb9rBplrcmP xcBf+*!~8-@x~P%= 8 a֌WښI6A)/ )%Gb @2T]8o\T&Q䌥~8gwMUkSB(R{=o.k y!E mj&^S"z̶{7)E+61ޮPk?m%,I s%<0x nQo˺6zB<4>@, vm'MMq65[p!!j }W&BCPϙ*}B/P>8Q)O&8)Mm{مV yXV(l_ QJS,ē2܎ՙ&\;vƃ[/7~5> cF0nA\3tjk[L%C*d?h ڹ& {vE}2 { ~ll(eź/4 .7ەۊ=AvW9|XZQɺ*[xpI{`UW`PԆ 6c#evC* 13Zdt][6/^"ǛtD\(ǃ r l j?&D[.Ԣ7o4 dL(|wNC,oH m?4 <woCÌv){bqOS4ߧ8tÔrW`MuK==2$=y0B 4|~߃/wZ`26m1~bA8ވHc!j4tkBé-.oD0/I(jɬW-zX퀂Igpй5 =AئS HFcAu?j9 KOR6E#?@==$?/kZ"{gL@7B/AzT;ymKmM&aw dB/Ga6C}U$ќ;Fϩ`X1fxvf/ sI.Yf}~W`ΞWd_DDPa14 xK>Ds*O"7kchd+O/G? 5<<<$$ӧO>>>֦666@VVVy8;;ب<<wt|mnέݺ|||z*jm->y|}g`/ wOO7OOUɹ{?f>;WGE` u() =?#4S_:7ó )0},څՇ׬;w"XfWu{)<.s1_;<6 P^|4(`z]UǸVÕcHTa9A%yO@3І_\ vmd4-ۈnbm?\‹ihĆ&^&OԖG5R$jJnNMp'+q8Qo , {🙃dS xj ;}'ԇ1w\?"{{#?L9cGjREǎҤ*A/4")2$.`(b)QlD\lPlRbJ^Zc&A4逡ƒ?7X8>7$GoH4HdRIߑ:#s!qQ LQN&L:{ŧ•WW__' s{וp'1SEo⠥4΢tv=IoS <S[~|Da %I2s0, 'L =Aߋ:Y'] ,~*1o2/忟^Pٟm{$?n]z?QL%d.EbI7)YW t.hIڼbB_kHmPs9/䝊 }3ڡVg\?8kWڂ'\'7|H_Wڕ ū%I7 jf% 6sy]<@ni۹wabz@XLb`d47\t^*\\0:~x{&Ċ1P'Z`sbz)e)A/RɏRs!gPm6R |@bZ^iwV 8`@fhF , L">&3L\RF0')G!/WE԰Jt5|^YGn>0("e[B _,*9"U{  ߣ2FE£a--byF6ݺA Mu"44<htŮU u562`<.l|vTB'>Z`]a nU`VKE$fP7T7‘VWzSn]=g탙!~<[ձd½qAK%$8-$;AC܃;yo{|ݗwuuժ޽kU?vfVBd ͕ "qZTY𭟌Bj15@n%OF\n0ּ+م' 9H|e ~<k"fnˡ)b%6?p@ɿ{?{oA/lqqq`nhh(++}͉Cp,~݁An''' b͏0swwtkjj|Ѕ+ϟ? `a4%062k|``` CCC }}}I&qii ؐFxX3m!]N.X#t0 }AnᑖV0:9Ÿ5>#>!"äGUMN~&n} Qnʅ찡c& i_Rm#Ϥ:zŝ:589gn ǥ=.Zy}Ġ蠎=UI5iKB;JUD"}4l{6Q;V/yuI="AY02ٷOz/~t6ɠ@)Rȴ(yivA^r#SICoof/epgy r7oJLMƿnd"ɥ0n2)p㌍qB"bi3s%fT͢/m 'NfÈ*7e2S{ֵZO=|/\Htm r*Pp!;|a!AY#tzoc4}j4ag䦨n雐JjAR_0Uptò7ƠVMvK-γpQ IΊbz,ydZ1>mI'\EeT^ۻzxEMHN,-Ty`K)_ð1|.ᵤ,ɃI',1ݰ:B^c{3oDpn tN_7G3&yZBYP JJ\Dg^Qcl6TSƓ.ғEůVG;eo[ĀIgֹC!8ܤ%S/]\![=l(3et -9[Qqɹ~eTb֡W|s.Ý>gȢ ~iSx RS$M//yaFq* NR>ctT|"f҄ ݜ `~.+:51/C$t{dE俵:/O?l ;u: |U3v?=O9;Qw;Qw G-=J&mEOaZw#q!m3:M0FcQ0#g%@؎` g6E[ņd?>9&8x1J衟W|~(3 i~~ڷ{M[_|# Ӊ`Lddd0?==L'''KKKV$03V1((* eeeSSSYSSv! vaa!hgggmll6wiiDQQ쬽뭭A!<<mAAث i7`YlfoD9Xw_QIQ%S`}D_]ZY_`KIܠÝG(o: @Cs==i;7>,*ͬ{i٭djFmW+{M1Q|vGzc`Q!b i8 57w"nOd72r[2v%Tc9s~PIQ2\Et-i5o;3ZkKc Vfa5ϠT@ýs!8ݞ g kܣ%^D 搒QśPT(AhF#8b7aPJu}[ۉ80EqJ0j{z1Z5=1Er4/I_3wWiWuN][ 8^/^xie^xCF-tQtU0]njWo]Q1dcՇOI̘һ_дJ LwRtj:[P YzO~D $; SGt'ϩn1eyr&kc7wKMHbGZXU" pMv[5~ׅܡAO4{d:,bȾJ#/ At3leqJ1WmIt_h(Î۾=P:@؟i-jQ[} ~E3EKxMT -TߺD38!ߏ5~ KA5$[א>D#_wC> 4?BMSͅmÀ ƇVMߤ) H>&Of|9, -^=˘[%m%Amo8g e-HOfknqLPR _Mv# R<& їPh!S<-D5aDC{9L_{YgRM5.!I*L8{Os,k*̰M= .Pk$cILd *P8Ie>C adn@+zخvpD},"DH}H(e,6 iϒ{Ԣ}Ga"bNzzSED/p kq_44{*tW_";cFPäxN >2DH`hGTAL vNiĐ7mAB!tY$wfÏϫPO(߭$?"$Wi ~oL ^^fʱ Z%*tt3y>m] /)1”cq{)F`)5n]/^I(޹ w -ȪMHQh|M9bZz?uHUi{T˼eݫgp<3oR.CK՝jdo&>yZ̴S%<uڎYK"kڶc0S8ԧrBN SBAqM8/q}B)QBҏQj&hsKv5n: {)/9Z>_+(eۍoBy2ɢ^ՆK\݇2NvV0  Y 0+/p0eOY̻vhIXkcʩ)IE7$lNgMėgg!ܛ9^\'<8w@KU\wY G_Bwyj^M#*=Y#/- rjy)an ;;??[cu?*jfJCM{M 1hv_)}2ۦ1tSe(E2ۨt;#dQLE C2jPH/egf?E:.! ^:飹Zݙ4d t9XFJj䨋L2lG5Si;|9buG`PA@Q_Mn>nH˷p> uu9U,%>1gh!,‹tI`í2[a3VhQgg5Қn f7Xǥ[[Լׂ1|i,v?2;A9lY"{NgL >iFiM(@h F=6dfHjˆusZ!yU=DŹ:k7}+$ VS_Bm(]ܼfB6׶Dy#}-mX Sv=sw6xjbPT)!m|QS)g4uN<}N"}鵟4XT$b5DJ j*xTD-e:Lf6PnO`eC}QᑹY>A"쬇AOjn#2SɮIvKTkZ -Bc[DՎ#1"wP9cʉ+,wBUW^ݼQzl~낵x&.zŴaۧRh*:"Xf N43Tk3 |_r즼hs"I7 =wE6|R3-dI{_5eg(2DCKj}0svXJCB`.8蒀be6EVFQGU̍nFvWv H|53pjkEɃ4Hl]?f13WBZHšm$y TfWErsϣ^kUMb.V/'w3-)L{q.cgAd_`Pb~ )AœOL/7&CHxG ?Q7̥UVz(YԹa綾-R]7&vt ; {y > QZSt?ryS߅}&g޶%d UByÞk@ }ǧ{r{Eʖ;ՆE)Ke!?tL ԂNn$>CkC$}grYx^u{B䲬D: ja7-x#egr \>)v&u0EcζWO.>cbٙ[S͡`(N&,Q*)so]7&o$Z>af/Q\;B_(h;} a^ݔt̷gF8'ړ{(M ^ă@[]_ykzL b5PtP~YWewy0b E(ַo}ddQ}B!8Q549Cc—uIi/S>>)160 (̌܂?|U:߿>ջw}[,^?64/" [;.u 7tзWP_f_ |%yWyF|}v#{[|pÓ"Hb4:ywezHWXWd~WA7bwO%{L/^L_)?/NgL̿O?2/Sfjj _~nobb榨}Oo߾-GZZ, V733-ahhVqpp9X[[Ɖhz fdd664&JEyykKKh"ՁO[[[G{{~~O@<ж4XM9*?guAa1q QPR?e526ss OJNMM)(W56u ,J>%g8::WOO-4{>*zy|yD$ F9:L݆%ԇ!kd@o=>(RwΨbfch=̥p@o7{z܏,&+wQغE>-R CzL>(ǚans;R&/{C>S_+DY(0>R [t`,Ҭ^B4({ ݪ nPP`› &@&`*`H X1kaaahtC )HThIIIA Ch4,ܤ&''BN,pK  .$"~e{ d zr>y%+|$u[xԋLrܣw^^u%.wSekm,/Vzm5M؀l֜Wzq_e,:Ǡ \V F!Y= nmfb9H]("X2TYďPX!5c~0_u`ds=M_޻mxt : jw_.qҴ^g\j<hCw_\m3@~;hQ-|P1k5m|HKBc.W+.W;2_t9R* 0[-H9]u63Xbmmif5T+Zw}w4飿C - -Y?~a|mrbbjrrwww|llnvvzjjvff~~Ņ@^-,,,..NMM-۷߿NNNNLL///|_YX^ZZ[]]Y^^_[^_8  [3!f|N?6RX?YoԲh'4s3Z7)F[E"^^O |:"2==Ul\,m"-rJjZ:2^VvNN~Aa>FI2 OUXuM-:::{?  B::60195=970}hcsk~woC/KoExAA!j<'T؁R3B9Rq2Iif Ȅ|qQFN_٬# /53W-U[b:͌OCU+V=y'^sIo98QleBOad0l ͓=MT5fyCP(5O࿝տY?OA aywAuo]H? ֦`0NyXl '0|L:Tbm,l,c#4E m6L4C~:!q069_O>ήB/766vtt644477 vyDAhLw:Qc¿?߯;r_ߟBg#:!/!3$(((999MMM{{{kkkm ~m @c'edd#hTSeeO -vt{O H~wW~=&rYY9~ffaEE%% Yេ G kjj@k|L9&O@F/ d^Yedl`+jn{bCwwHtR{?R48#1J'S‹}xy xŦaF|ڰO˩1[k:#Vǁ**r ƅNF$]` %FA(B܆Q)V<*oIxiXdm\]Uݞ'/DQtO,#5ߍ[ C{g _G?O:;9 ;;r@T733@eZZZG-,,\]\\]]~X$}'耇"##JJJllAAA|||U>}m]M uu}}ѯ_C ge%''GjkAC4c?>mAAADDh*Ĥ*%% d:&%gddeO'"!aS>f~& oh]V^Y] j{mS]\$Jſhi  VW4_fmw>))FH˸u܏⛆LF]g]Y3j`͛J`2SJQ %HC)4aGb |쑘/S6yocC zʍ 3dxW tuY6i_xߝy'_{+A_BG@EC`҄!8i}r&`@~K*##ßLX#wqG%p𒤠Y qf81C ;F>x_"Xa!XiPQ 10@[%{;)OΆ-Aܪbb8[`9c4ݸ9]/ku?^FIKiky{EGVûְ(JӁ˱k2wW+LS?FCwڢS]׈^ L P0YLUg-g O_%&HyV  dp?r [~/bo@WggL8߾#⊼3&OO@#$"c]\7̽d #9KBro|H7_{Æ\ܘqk66\\G/!Џ[KzdbߟA098??11)TH"!g_ ; ;L]!0H!tcoecleaiocw+;d)lS?5ǿz '8aޞR׋,ՋHFi=J_M)VaTQYMm^? O T/e$u VWW'[*y3^ uiEBAa B"%8SK-A@JG %0ND@hm\v&vk~8b#z0ΥGւ֤}~xOBQvUYo2- qRDEpNa) bxr/f@NI\) ɫ?ͷ@i-PY Z Js3oH66dr@ A gTч#Ю/dIN\2q".&zn;jM;w Ki^~>+u5dv6Db;Cv+>ҢUj*rcfJ :jbkꅓn{ ]Р|i.D+Fl /zR iS a&rxj)Gfa@!q* uK@Tq4Ԣ)#1g =K$}ZdU yMʯ!07Gf*!^"VW빁T{['R*!VvGO3< zT\8G,^ڰ򰻣/rL.Sj*rO(amyUb4.TUQz<Ҁ2M~ m>x˅! y0% zVo=/RfDBy~8bNI_M)ZGiY0? dG ܶ]Ck6[#H?Udz7TcD>Jhܦ>~Qxjw-K|kZ$?uת^#'Jz;&7p_8^6^I_cM|Pb@gѧC@pVAs銵H7r+קO{_3&} &2dbƅdq 脢D2Vg`AUio +g|TQ'gN)]X#k~"\u8%uQV ˽"SJMPⷣM d=٥L - 7g2*-:r\;'"3 >Il::Rjۭd=_FbAL)*r)Pp ԌGvdυj𡠏(r+0L5bݮQ%{Ec莬IȖf : PdURroUU%ˮWKGS?➱~W *UW_;iIm4f =@îZ:Ue>]q'wꞲ}cZQj_&qU(:>`7ٓkx¢ tnVPȳ+Dk5) 䉙i| -}Wb7T:m[.jZ[6T4y>|6c#mc̰d{ԅ&zϦd5MȤKՁI'*Go=4(&mwC~402ߣܷrMRؘ+uTT݀zيp;W4 >&:7Gm2CdS/u[mh/ *:75T=Y"M [U2)ˠ廙Um_\ Ռ=!@J83uZ Hf:#|WSzF XƊOM923J\ۚ&T V> ߒPbHpwe\0 6y7fX:եcDZN xع $-y0-[;fT'-3#]Ξf~Q5@⣛;p0MzO?2Y{e@g׾~̥{VM{XމDpoJ 2*zäԇ&E vf./.yN-Mc4$"]5ʍL_swc 薍.>C,b7?}UԂeĠ%m}N<9y:do#/z=4MۈC!D E݈Yq%h$=4/C` \*KJ͑=zؼ9_\HN+t]Ty]FV7.?Ϋf5_I6VjR=.7/Ȅ!^^^3YYҺscO>:83ծ(??m$.'EEEk% (H(!1kW]٧3,'%k$ƣ>M-DtsurŔ> v{J j`4}Gͺ`઩%R<`Tʪ $Eש:;JJ9z+54 :L"țq+n(=}㾦$բ[*/ lhzn`(!]=ׂ隙Nip oFG39+ tbPMr')u1Wy2DW8{!b\LSg;6:pϳ`ɍJBsr>XRBzz+\8p2224%(x0^ķՏv-IٕWO>H %εq_])lWk3LM˷'A-!#A5+u nh# G%%}2iSj`**+ ?kCVˋzsL#/iWj`@mc~u kgM +-*!ol_*m7o}5BvVkkE&, ^c0CE=L{x}x2a EFr9xe0OV4±ܓ r- ;ڮTI%J  ܷ PFȑN~Fgʅ' &ؽЅƋj\dE?&N'Gzmh ftG<+_%_s ?~=++ޔz~j j/|ii.{VEGj2Ἰ wK?ftx`t_kTSmcb%}-Ύ^{]~EҪg pG)yOr+?`\vP9 E.Z ~kU! 5+"-]ա2sQd(5472 \XfR/.qA I8LH| 6~dٶF/,5LOTNˤt;ƣDQn&͗'31̒ȵ.('ձmyDbÃF@l?| w =ТpTQ@'`{)@e7dคcB/6 > |.(P^rsm/Pg? TXQy}@DvQ^.QAv{Ul,AO>r}o7=Uˏ_=M vaIUE=sz^fY,3yg "_zo{  {T| Zq<#*FޅjEH&U:<=o(:}Cx>:W:||#UP;z=sZ9po̿TP!/ 1W(rDt@6GGyfcNKY{\7̔,\b?NHE"}К>ڭ!" r2 !08i-84JbLUt4jИQR.~η.wVɶ҈#%qz̦FI:w|}y}` O5Π ÇoeNPp%ps({2V82>O =}C)ĭ+%\o$Dx/:--t:ldo [WS}\4//os*,]n'wmSDT6<b@ xha;lS6#IF?$IUP9m+^ 7<:5~ ksTTH,So5 I`E +cf۱Lho_r! JƥW)s II[sq 3W5Ob>]g2pI۽,dSnH]Dt+Sw~aR\CQWCOqx`ru ?g&p'b;:0 Yò.GBnz|7F |3 a {T_ۢ8a|l&QQ镭GP*xr1&ե@*[j8{QzFXkFՍ yHI>cΛPoʮHjTРEhAрU5G6^+##öt/ @b3%yzneQS8UxAzӽ'ߔTܦcMn>}4_[;٦'}ݮ 1((ɴפcJLZDOZEHhYm|-9h6k3Q)<&*-@8QSfl)r=4Y׳uzjWxJpN[ЊCCzŇѱ1W:jWDqxhi3s]>#2Q:lRX"fSlJёr2U[W<7`I2X h'Ov%}G]1l(#fhDn1' `,GPd:/0~\G/{S 6aT~ЙbtĔv ji?ݲ#ꒃM2PYU͐k}:'y[f%Дy&ʍ9k@l 7,\ң7B)^]_~DRА(udi#YOV-=+>}˲α+m32h hٓd7Qo"o"Wy$cf#DD#{.}߂ ISZĀW8S!$YZ\A^}JsdN!.3($jQhsJDa}ׇY͙51UlX86A(iԪd$2EodP' /^a@@zs_ʻ0OfE@Lj2]?Qu'0/!E;z"&4:T侔CO^uRv&T_ [N\(e LQmaw>/_z55XwpN?Gw s8%oG<9|:y5s>}(Q*e@vyx`g:u)lܧ*ZUKYz5G}M,ͧ?N3544Z_A߼yq؅%{˼6q.Xd%%%uꠙ}:VR{"!5!azDt4!zس]F] v@]1٬q~h$O %V-pqAP!&uk=дWݍdnnnɽx3 =&_=w2F,8ԇ0M{ù4¡ YX<vgxuM<9\LLHN+ .l2Dzv  ((s</Vϼv{j:yg3-M7I.^] NCO!@-.R.@T&,[l}(x 4!DA3W^]|Lh ;#nlW l5!6{nb%kkxR D E6p$E5w=G$&!6YYZ(|@Da'u4hN}2~_8R>6C\n:QƢ.xnDz`u߶]$n 6>u>N?c>oygRκ ~\"@BCpj!.A~0&OqC-jq4Д,FhY6FaЕIb'cc_Gb!.}k𺵛,ER"ea(3h7P2t\?l xU!x<+S{w9K6>|xp4̟Fkt W1 (q_t01Щ{B FKu6w}ٻxJ :ݴUzW # <0\d+lRTca;8N}ޤrs˧" 2se^F9xu*UreֈX6tHN~{M T@ &&C)3(;\lP d_x54ά=wCJ bE`7nbzBت_ި=qvz52{qV::{S>E 3+ytt+}?px=f5sE D3g$J N_fB];'͡Gǂ/R|HJ~镎`BdS 9]7v?fu^O̳[YHfHԫ9tx;!=f)w[>l-9ǚ|-#-aDP3UʻB>W<-QI%BI&'=FGMހtŬ[hJr!ͩ&Sf6ޙM.'o>l@4dtI"|]Xy[P?rU4<2: I:TBo6iчvw=\mIQ\\\ԢI|`T!E<;վAy2BED.,%o6y7?f' ZHGɅ !kwTW3йz bx_PyE,"~M*EbY#%0dWgblϞX@yzNP͝hXwyul"".8:&Bq/Oe|8*!;n(y}}ؑnO"FAP**x~|||AKKlaluWX}wڀ)XZP6=:$8SI¢M/vMZMTRk ҹ߿JNFjxHL,Sչ+UZ:JgśT^i=z.#. =cf>z~AK婆z(5/jf2r79凛#hn1K)Z [acRfff?Cs-~et캺 2?)xgҰVӟSTX8=39Jcn H+L|wo%_i mRU|5";MC?ZLro(bL&J& ij NuopC2I(W1 x?;t}x{VVY7gryv l"={ kRyǃaMN:Y*7 ?eEhMI_Z2,83~M;g4<̦k]S- ߧ!m|Vw7ks#IP2uːr)[E(H|T)>*y\&gg.r9a:!.|ei4GV _/2i|O"e읙chܗذB+#Gx`%=1U/hnp'0S~~q1ӭ2H̸&x~B0}u.zUA|=E~~eIdp;քYT62)'g1FEI$0 5x/-}0&oAEcPEHnjg)zU}3+J@蕁A3i\5񍭢$& fl#>>Yv {LM/JF%;:᱋]@IAaaڹ6g={z֫@X~M+0szaxX}.uJSʏbON2GɾX-;'E+V;R#N: c aᵁVQvm/GFs1j"gtv>l8)eNbr_5j4؁FUcf&OUf&"o[uTVG\؏E&3EC0% 7_[O ?ՏyshBšVZa„;LMׇ$$ScxUsp:chߠ;01{>H%=222R0M'"DM88!l,,Azfjdb 'WD;ʋk{XSP3 &yT:,1J0004.-+#s~H YkЌTׂ]K? JMAfFAYٟe[tŗ/efjMiz<,((H\J5'G4  ޘ\ /X];}~4h9C8PF^Ş8陱dJ@<dϰE;Nyg߼f"} {Y6宅yU vrEshé}cs匿  (%\vk_8w-x\:bd .fpp0_<{BŲ Gsei噬;鷶?H4NAQY.EE$tM1W0TP+UcDn~˙cY7~)TV!c& U8)WxGNϋvZka ^-Bېg%{ER(HKkaP]yw7wU  jV_2G䶁bW kh-jbVP>̒Wɜ i_ZUu#o%thE%mXB_z*8>(>FZL"M&E)C˙N#I4bNˤz֣201hpo.S-w2)c(w2iaa.dd4aV3IjhZZZzum*47$QJ_Zd-dAM9OI ?i/;R &Se3v+< d!(g[:SkЭ/gp<&} SHŇGn3cė[ӟzR?R㫨"5FIM`TCxYH:FJ(%fv,Te5isHQyS@45a.-u}Dg|a Nlio1dAi]]|qc P I@f 9įj +'KM/:9Lj v^ŋAqBa 0WN(|mPѸ+:{ R)$߿XhK8x&Չ{N,a[4+pPjٴ}1 }.&|<,w+u- d:h&AWʓd f:H^YYȃ%-!ܝkH!&D|W_q[w&v=_6-tnzz1QGJ9b0nnZBDpˊZ/y O(,`\ UwcHH5@I d[*դkkJ={6OSxS6`*{ 0G?- ~% Zg!F1>_-_cQxW*;vȃr8ÈF0.Mg.CZqݓnͥP%jȏgO*(,٠9U_S':f?~Yy1^DI 3Ik|R\(ec՘7dы@,5ݛ)tYG{ÊxI=BsJ)n.܊qA]?8kdn[Qa'Y оq Yj(+ÌBA"9歉s¡WB&(Zԛ~d] bw~~/*WU5"ِqځn7$$w.lB8a]ʋG2QAHIpErP#ԨO|dJӏUygV9:~ئn),Qo~yT^WWjAٔ"~:1TdddZmOBpv(^)x4SCw0E0oe6Q !@&Ⱦhڍ?[L,Uq =HTE4PzPyt넓`t傢dJ:݄6cRVUc p; 8 S= HŤԲX Ķ\XkiuZZr׶μtJ%ҁ~=33oJ-zqG4:UirHlI%|QU,S6ib͙!(}88z\."K|6_;wi 'u{PJYy r5#yDf ;kIusD^{zܑ5}{~weyFK@o}54_@]39ia+q?(2[UUe?KSY?~)0>QxYݸރ[E,O뮽ݸ@=WlrO}?YU,وAA`gU:|li8!K8 מm ,*VMkxGi}) 'XRv5T,0tȸ+ּzQl6E?XRMŀ’d~GbqgpJdؐOQ)*o> .9|C2386XYUPPppSPTIA)ӷy3&  wؽ_M/"GL, nf M!"Yo6 EQof>}joj>|?6SPi2vUcxѼ:.!ķ>WV+JvXm,N<"Ҵ7K/5Χ[+g!*2@BTFAWJHLDna,D(D1:H/#30%U_4\Y #$eC3$6NcbS+l:,l5/qzywiӨezb! Ft(("錿ᵐ]#Fza>u^IYLlqWoIhh"Kxc&&JT@dw?/'(~ y' }ёZ~ﹹy|c6s(D}O0tyY_oT*]ֿCUWs:kEJ{?b\ RKYK2 `4?x2#%[k;ªܹ`tSɨ1z23*҄ ͍ Լ(֛De}0wч̨.I}rvFazy9&I[AjmSTx}$vNDF9koCJu}yć9ѣ|#v  GӔh;S19 g\' 7O?^,_\ʐ#B tYo2m~924Մ)^c)GWbD]|nrOYB<$ȳ>E_ѢtiJy7CŻ $YLw\r߽So#6+oBZ<(R/?۫#!59IcbT.w4&D߰5hxaɓ]@v4DV۝|e'&.Zc0XNHsԣuzIN4x0@haEdiآmx31nXojŇk~DZcenfS& nY @}RbӐfN>q=W.7(/WTo~O>^:(E3spm`5f3/3 lŸ Q[ۋX0}h/S1x ?g/#zoس>ш*=bW̱X(M]0!}K]+$8[~ffn=K 4Ke]a%޲wb忸HT)z%"Kk]t[N&ѡ@; .pӗo6M*ჸO⵷v@p=R[oIis\TKzRt(8rCtqF-GOYyu(^ f忍Wؙe!&`xr=݊w_icN/Vd(Yy=wm^T'5LTu_&VA5,΂ٹv+l$.q)ڜŁG\yrmZ~C3'B o;R-znxvshж'φ9:g27N/^Y[s.Z%0U^~su>1;D?J:]{""|֑>ʏ]~;/1;Um͖UN<^/1<_8VఅrGdX{X3T\*fVS݊*M:&0dS/M H.5h:ZWmgGH-{qT{}3 ښFB7y7OdE+m6\V 1 (>̠'4m5HB–'{hv%whgT$hf%:ݧv} LUYVJR?Y6GآZ7Ļ4950˳ 'DEY* &"^0d@<>U/fAEI 1=hHa!k՛r=p y ?sǫVova˝".- K+bQAA[u5Q`*ԮÕN\t-uF`hȄpwʥ\X.hv[L6v"7WATC'q[JX\4۟ozY W\C.yV Ǧ)G6^D+Ω'NN(jcW"aAtm" 6 BsoĮA~:hR`ŕwP ʾ[dɘu<,қ8R‚k#.f{8B/,ƨr&aDp* .#fr|W}"6}i߅8{w -1X,xdۛ_μRL_/\yMdy fxiC ^"Njͻ}gclN#&hҾ#׎z|2b- An=[xLZ׼%g豊j尾C屽(bֲT u.Bf6؛xWs~qoG |qG(V?_ ؘaN0J_[H`]^YY][Ò4Ys=accK(yW?E)湞XId};@OO-=& Ā9wI47Đh^c3{%$$J ?+^wM1_ ?P*ZM_Ҝ=(;"eN:{dž;!x{e4OEB ʶL1QzF6gJc11-888 ʭ87(444n2EC^>O\?fpR_,㷕tۭ۲_DշrwoQ[ձpϦ(y|kkK>u]89u`8t3@U\oU`!&4A}m&È2-}4.,){ϘtMF:2 .~e&R!H`;3D ` ^6.WQʒf/ŕR  Uf%B23CҰ~I#?J*Q/r/ nN*IL:t.r%W%hmnIy,+nCIvmh4(%ZH&%YtvбX$i,99ՏR@bzHq5ߨ@u'vM_ bPိHi7^ic60VpQGOX&ifٙmǤl~,ڐ T3I5~'zTtnX;'o^H ׋T:e>N[> \::ТcZɿ0x6L61g*œsAe RY,Cwϋ"Lf.uzTeKF!:5y<`k+c 3h>lj\myMBŗpkWegw$W :T4آ `FL'2mdh6T; :hm=5C >DM~F xy*MG‚~סIto7ޜ&Ԋf^zkN5:1תom;*Mqk;Z.zWump/3=&5KK/gW.1(; 7{}1,t̃=>BA=]/|B?k+]25p< 2n-!M%GZ ;o~+1kQAXϪ OʋX궵E G ]У8z4[n@@0}7Opo0.  ԋԷ]LԜ uitd#IŅ,p@r=%-as$xߌ@4UWl_L9^{EjJ]s: 2M!gR/;OX#M:u 瓺v_2BƄjL[+e‚1OXDsrQN u6t>!e|$lr&c![Cۿ(vjm󺯡hOHMEPoTز>?ϧ@4ȥ,:,7rxRI,@_3(f~ANC))FZ+g2{ڶ>5 j A7$nX'ŭ}FE։#4j6!8&YE-"ETvQ|{ . m泹M?#]D,7]BL?(.{]scyvf_?oPo777www{WWWs33?~X_>99[^\<:::>>^Y^>;;;߿ܼ]gDmomڤp^p1S_HY u%(;huZ7tзXw+AAo8onEoJo%o*nS|R)S(wS=mm\'<7UjI̷|72wT-|uI]4oX>3'1Ja ̈́iPhk] %hHTXOIJF!?!}ggO~䟕w+AC??Y|meBWjy`s"83DVnaIS]gyoezp0X?,ӖQ}5u!QB?EQav}dҟL(={L?`[1[zlaIaڍ~lxKw6g}߷S8M&;3pf ",<"< , "<,->,QI~ÖƷ!O?)4*~SOW {ӱ {q V "$'9i>9p˼Jyf )Gw0t.gg jesFGa9"q QQ"f҈#c{;O#zi\H_Cyw<"WWMǣ8&s&̈́P޳Dn L%?W^7͛z66ο'ml\ ÛH:8 |LjZM4O8_=/#g/,?ag}}#CC%%/^}(qqmmm---###MMMa!!iiis330CUUA<<\\\BBB`ukkzzo޼K><77ruvr:88$%%iLTTos===MLL{ djll\ZZj```jj ߦ&&`45*T v044pX7==,kuu?srr>}Z]] ^ )))K`222"#"jGGG O2!!haπ@R^Rހ`ՕA=?`T/Rt |uxvQ~ag>?aq/u+g #8`C_RϿSɓ @+)I*~P#!"}ŀdSVO3i`VWHla %@P" !!edYQUxT  鄕a$$h[s|+G)sϛ9*G+񽽂y+X?$zr~Ԏ!C „ouz8hbur4lgg{'@WdeedKhJSR@PB!IXsh& Z1 }A++f-@ ACl`-goa!Qbb`$b<, [)31yIg[Dbaкк-rOޕ7/t5@)"% -^uAїu}}{ss?r4=`&8*J׏O<ʗ?{JVozVUXtD{:?V!ވXֿy(HHJzA/*jtE{rJqnY1@TK]:ʼ`V65lp*zoh18o-,I>/U S= a'f Od`ߵ|w8 ǁ  Kز[;КOwې#oP;V?*3;R)(腯jvb7=ߺ}e635@᪫IGP,$?A!iɘƁ$N6GW=ul,- EGl?~hr 0?Vc52viڄ;gVk [eQq 2yA E% 8A 1 #lL 1 Ze\ I)il.}!:VX;mkβo 4#( PMRI􎟷QBj'7q1zzh/넟tiicz@* κb Ҭ}sG RZaZ9]42Y` |+Kk*i"FM[S ,b*4蛎t$l4lJeh ^8A"}.:C5_ [pb7Ϧ:A|)'H)M'@HD @D I2dwgM!EQ"vTPł"E@E{̝- ~';{z9yShٿսw$_ie@u[GuLe>vop;;Μ^\<墫*.dxw5K~k̸ k;ͺ}0{wlwjif-cfv.3/"+[{_uK,Poxg̭:w &]qUS;S~fΟϳҟ'ږ^y{Z47<~ʮ#p}ښwi-ѯ,QwWnwh:㑯.u{OuF^yȿ3Zy錢_L]*^<{{TK~-YVi[\G~i^<ԢWfS=WGH-߽wEȗo+չoqf+ѳY̝ucF_stiW\ͭh_)_)z6 99O>i{nJJjttt߾}SRȗs=ܾ}M9WfZz槦ܸ gŲ?оm9uБej'_*?M!JzҿArff[5eN]37-Z4//w䅙|I>m]G^Mwnѳ>{ݑ5s?0#/+ݥGspY 7ݷ[G]'ٸϷn>\/jׯmO Y?wּů|zО'o~N^eg:eε&}tu_qMP.iڪ.J/ve9N>{:n:vn:[I=OSzdU.;7IoevkW_v;yӦj.\{6s>Yi}u۴[&?Gzѧvf-{_[٦u;[ڶ1mblo_:J_LiW/8ӁkwԼ'SUWyOV>u1=<Ёeg_Ypy\]3z?٬&Gh9[/*ʡOdSgij`]Ե ~j-|iy[\U]]}ҶSÆp}otik tqnܜѳ=yKٗ/~ש9kk<9ɟm7㜻9<+>H朙SHQ߼⫺1'crRjrHW*_|B/&S?a%'̓svޑf+ \DϿ_kd,ǩ)pէh*]-Nx;Uw;f]0WnsWW1tw/)F:w~ϑ'EzVd;=.59tR.]ZLkq FI⻾q޶o:~{Θu϶8[~S}}߭1"//p̍{< `Iۜas9WK7Jg*Eӹs~a 8E=}7SW-Lxq/&S{եze5?gk5NxѦnz~V74]\2mg w&6tZ6k]ys>96ot_U;:}h-_`7N븨ͳz]vO~ώ*ƞ'xTKzȟ|{>>w뇡e>uo_umEgƼ:㖲'KmGb ى}4?9'.)YziTvQ } ~~C\\5[_oåۖ ;qK<}:u}yw[ ^'m_֎U;7襋ʟ?~ lk;0}z}sF}i>P2+%^a*W{ejRu\{NVҵ7\ڼ=ޮΓbV^#յ m:v+v_.~]rdBl郇^`Y?VCէtiLMS/^@)o:o]4{R{ZuxiՋ5ipK*|3&d{olLG7mlvE}j[[EN[DN\Ώ+hykKo[whHgjkK:>Ν[w\qS/}pvyڱk=kj;]]|:}׺i-Lp*3~=yf屛J&M,?Ҙb6uuK}=r]<=xρ?ߎ^%w&O*m q97dG~^zļ'/䞕{o~^Vl?E'8^4scwf;NYYG%/}53|xh=\|̞-okn{/ѽV/1Z}e_/Zuֈo_Wgs򩪇6"ݛx\,صSy݌/;57}7vm]vhŎ~|kȘm[Y}/' v4pve;R;ldMk?>PRmw^Ewж{iٯմ gM￶YP}mcm#wnI\uvI,,y`YQ*js׋GzdKe~&;ΙR|γS~by}s{?Lt>YG[/lK :?sݶ;^U#^%݃ߕݦV-[gg<zSC/HX#˦YǮ9عmv3-ݵ74лoR˅[ }دoy)Ι?=kJ=Ϯ|X=\s׷~%ovv(=yh }E.M_=vPǶC-nytK|ΊŅi_}sǿzcˢ_Wͷmu&؟}^sn*y\ȥ5OdԀCwW|pݬڳV}gz۵r�mFty ^GI?oqWq{GgOןmb=732S\s"A2aό7M›3ⶁ=MHsc^=wzPux^;޸QG)~X{kvAsgwyKt[޼?j;{]VJeN}а vɣ/*m`m*c?V:ϩ[сS<+NC#{ϷZWZ#W>??EבO߳/wOo|.;7iJO?^/)S~Z|zQ^r7ς=42Ky/ZdΒ]>|b73#{gI'uu4dΛ=/iw{| /{%Y3[~ o=x &[1ι}ݢc+N~˪?27NlGCiW^3uĻcWk<v]kOrb̧qc:ϪQ` Kywln Žm.Z׫{wy!^8ӪΝH.|/̖6f>{]3kTy{Y+/vTTT}2Cn 6?{Uޱ|mK3~#kޞ^pYIs+}c]ڟϷ? =snufm{hm'ZۓzM^ٗ7|tj3f|]-kK[;^NHwy6!>~YOܜ>^mwˌ3M/{\;,{n{ ]׽}ˎ=ret/vw^5eC_/|ˬ[}tnjʳUKg y{FY3VvwlէPo8y:޼oK ?._-x)màwv髏mߔ5NЬ_OR[Vz=lk^|ǣ9:Ub/("kAzn=*_/}WZ6m])s~w4o+Hٜ fy] lCty[o9|Gmy';콭4g\z6:]i=TՌz{.\]|de/uڱC؝7;_oI][?nŷj߭Sgfnpo}wO \{9U5%ߥ?t_ 7|Պo} Z <-ZsvrӮW}y`j,ꯎ|%˲-[W8~;\1ioϖ;pg|x#͝W|u){}`w})׽{ڥL,ohSOlwrᙱ}˝=vxO/lS {|O?y/>u-(]akJFߘA3q7/~9󑷏^5KoS{c餕w}W\?L-֯vӅ׷l}*dfx/QۗQM;olX.|ڧ?O2˽9/:NY;cEe/~x/Zg7˺ئ+o}w['UO^yɄljΝ.-klO=m}H̹MLaWkOKoz5=n_=G}y}_/Z|.Uuʀ;>he#eyNy{+\%g{U!}zw3)}sOv}OyHL?_2;]}kœYVĩ Ϩy;p;n=ǾeO/ό}yCmώþ-63?ޥ_i}[ܑv^Xʛ|WcĪ)[=o>نfv%}?»LϷlHtź 6op}{׾go_~1%m//9ygK?se xl)_W1wYo/V\![u/-[W?9.6_?^ oDXу]4;Za; ڳ"ѿ4~}㮕O/LYդK/n˒K7iR*ל2;rѓwz%S{C^ }s_y3o̳ܳ[,aR<Χ?~lf:v|Z}2a_}{gZZK8 /~ƌE_ԞIu菫}'}nϐOe= vڧ7qIiкV[{'Wy_e|Sny3 -_"3g{]$Y?zn.Ե(W?_㈻OU=,LUmrO_Pt G}*蛷^o8鍯b/]aGwPl]{-Z{Rںޗtf{㎸̝_Tiuw=x[Xu;:+橁}V/}w|t7_3.pїLrFv$>zМyg zW{6-w~bKKGxγo{9bն:?Hobe^1^{ўο[l,mq}I'Wt%SōQsĺ}u][/}FH,ѣ:Pݔ-~]܇׼xnZî뿿뷿軋 ҿc\/g݋?|gҗה(R|I׿|'Wj[[7Fr9/nX۪ ?Y}\sɹ3/ߒ}WW/N˻ҷfOhӢחYpnS0|mY?xaS'MW ;)-G;|k﮸#a[P[_깶:<{4]8N[s틛>EĽW?_d\>/]ﴲ1Ҁwl6npտ߼Z}⢌z/oqNҳw^Ѱo>?O}7-X7y}]ف?˹jso .H ? /{s_YSl_~tm+qgs͂6ygٹS/g˭S?>3Ny:UmOÌ_zVuD:ǯ၏ ]OV_=ul٢}qVf^]ڧ_yW ߰> ڤurks|P?}#-.5ͧ.񵳼lH9}Rbbλ5߽r]V\R/@gTm܅ lIL~wX>nkNDKLn_>eYWy=ާwuM_zwƇ=!(]teF 8^(¼;GWyΏlX8u-{dd5~ebwalj_6e֎}'޶-ڴ^7Ti^{+-hyκҋ.W\;c2X]sgBZ7玬?vOץ%}78޶srAK{Zpb͏}wϯG:v|,^QtC=.vK>Է|E5?8UO7?&ǽIgfӹaЎ^Q=閬z-<гgQ}wלyWJpM)Σ=nwB}g;fcUϷwtY}fkscƾf_Y;i7=lCqF;Gc㎕WO;{\{RR}Ò]{?L;{GGw_աj;&ZztD;d%2n>tksn{{_̏>=.ﹻ4t(/z춳|s{iwmg}ziͩ뿻Ջq˯W;oNI^Xiu2=iێ붭.[յW1"%/=zIUtb]moy- :|8aOH@mbWNca{7>e\ѯ&9kdɽ˹ڳ<8ezG_[/5fH9?9*\Į^{rrDvp2zKιvswmμ#.tv^󾯺}qd t=ON\J0AiK?_лn?1Z>;rO,{xN}yA=YY/@x5_RՑOTm$aG_sxW#L[Cgd*cLzBΚ>nߊOwSW-=ܽOhEW2MQ>OzMz}( s{73RF]Ǎ; c-_Izy??X2򒞇yk>7@X[:CӦ?q~{/]&tYչs}j[V3=; o7].=SuSsK)=xmn\z .oɳuO\7=.G~0 ߽sZTo6?tJ۽/hƓg>WGψoO_7.iHJ+-yW\gM6}ߛs>tܖ ;نi@{vϻfNL-u=uH[Nޘ3l[yp߈~"y<6=MR4Dh;==$K_Я_O6Yc@!\[S+*R#VJNLJw]).)F2fw*B^@vI.աxt) ,%"~TP%t/a+j#*n.Sᯔ$o_S=1C++KMS~i 3%؇̖͆^+gL}9QFsN. \̙Ρ\(Nq aҽW)0^|`EuWC!<w_-$\'C'FʓJL`KO~;po`JذSf˷ni>(pj<2B&[FV<ͩWlYk!lpӹo6Xb_ldA ~m|I.[\,f @.,'k ERuɣ%=j>?euRA~ؙxe8 2 Ss˪K~8>Oak4MlBnWuUg%vo+By葑S@%p$(-=fPȔ;~9Ѿ؏S*k1!,–E>-+fŃPpK&GgLNpapYqx%K2fq@FH"'5jyeNׂZ Q i:f17v@̙Ip_R țiy٠HeS ,7)!C9ZI 0kr$C%C"hCDпQa3G=b3'1CLlM~Q403 p+ESYfH a*vUVXD?o A@;wi'OS!SSO|(N6`>Sdg]qCT;Tra+}>Gƿ֔LcUQa`Nǡ')61Iiiו*aHsSڹ}%ï1r٩xb$&h]IkRqj5ex_㓽^@dMnZuɺcӆ=@KV^ D2OnH1z!#c\v _AԴԤ$ ~:X2`GB`Kc^Q4 MUץݚ3@|U+54B\I)^ x)s-Y^BԏO5 ׆8Mpc G!Avy\Oހ*zD~- yp@F8D"8Dhr =HӢA m#4.Cp'l4J\q}Bn&ov҉vRi$ƟNzt&;jkAW 2c#g%mJ4AgVdi况1IAӖ ewLp:A!vtgK̥S:Ү߱-ζ_pyQlMT]$O2hpꦖcT?IDԕbM'p>ҡgċ$/S7jBC& ՋcLEEnngx[T'eID~! ~Q?2ui-I.?81u1dI᏷xpL{{[BiKa6Èdkt}KVu'ģB]BEixS''WEBY k1`2_AC| ;C-BAt:8H@4-XJ" Qu" 8B->= YXQ" ;x xZT\ ȥ b#sž$uqipBAoO`MuT*5Bo9s#1|u34R,ȧs96&]bOσf&% '<@E3 fi*?hfqL=3݄zyqbR=U3'hNS4s gTzTg (|ǣ8b԰! (V,&Ʀy>bA/cn[/kKezȵʖ mncKl\{@>!-&~ B"- 4)`?VMxmal]u*eyF6O~Ţ6sa.a:%_&G)#a 0_=R| c}%h d'mrCZco+GJ񘀥6Vjuƍ-nB~(u4])/}jDh[R9^$H%OQ>%HAFB)18~W!swamF ٲc, $ S ߩJK|:x3́N'%NTuK6Th LhO:A%O_2"84KB$J8c-G 0 Lr]8_w3/ZSS4&WoۜuDfb1\bmm_&2?*3 GG-'N%A<43B3 cG>i3ڮLs։?WPۨĖ6 "<3KJ006^ F OL+11<ћAGh@43WRȬGo+mJDzT}Ğ=n@s*^ʁH( .4tϊiIq<(!Hg! y`T#H68\C,^zR 7^  \(S²ݣr1];D`>.JQBܙ.Z#^7WƘtuc"ap:L;)>˖ڵcTέpNRs9GT/`)BUXռ+ XZ07 bdK˴Z 5^TjZNn?vZy9d/ 3]09xyjy0'/V1_H]:L5K)EzFgHrVqwKF"YW ƎT#l»Ad+^*ѼtTj$^ 2 !]Js4]4\+CB-P+RLAis*.ů~ { r{H,|Ch od.Mw3⛙%%It]T/sK}: 萘Ԋ rocjcsh}Ue8WsP.2[O#-!4;[xѰʶ. y5 x'l|ܔ;av& >K;Tϗ &Wk.2WI>xw ]42HCqo 5?8s:<(  R,5qLmssK%'LKK7?2q K{'֚&2e7 n,Y}Hc 6ɪB ]'t\d )90RC) 3('00yˆΜI 5_ozlylh6o_k|fؠƣK8~ \'C߲74DY"BgN6w^:e ЀdrBn頣(Ӭ8#r5Lm=h%سL(! &d|4Ǜ. Ps/X /r@^غ9eL#Ra$t*+$pjc ZM?)(,"L/J$ۄX PCP8a թ CG`T>jrf8j  q~;=RR֧$03f5z~*^$y#nb&LU`RӼ8nͰqX`.[Y;΂ncv^YH,ck30֙R8M&:kt DH3 rPVH^s0\4o&jBBT33n)z͗0ASR8 zi}jD^0>:˘0 e qF(Zqktej GvF GHAu݌ SEwqw1|T(nΔ.p(q/5r@ޜ&.!d"p$`z!߅M 7_Eǜr_ˁ=<9 1`'fC߈3rfF(Je~p>Yf،,4</1F+GB: pBFtGH_ 7c& 4 ƯEpQ s;Lc! 3g6-uUZ@'H_7:<:i.ɻ5dejcM=*5/ }\MUP J JF_"匞$M7.gtɤ80%^V!%60j'F } )XLY4 2ڳXSd`KgaфM F[c=P4O3T5DkK))~7: !Kх"kL8"0Bp1$ͱ zBw/.~DhOJNO $&zr>;9kcN!*өVse4h5EU˜}r.W`ntvT;A(2]*,ptv,U?+ar;B)D,6DK~&z4tTm ggCz'TTX(e4 -96sy:#! Nث6OdlTo]74ѻMFw~/HhO!I}m"?և,N/A\LӠH؆G t9ЀcS%ݓZDx6Z,l'A~atl"„I) G;tN͡ME/ݠhB]eL9Np&pt ]u@2"n62 l$LB΁_\SA%X&åp8%o&?OJJN R'A.T4vMdx(Y jDB6=Z<]I'l\&{Se 舝 ȯxADr jr RTM " ' F88#;!1r/2&M@BQ)jnVuޱd\spoq?=V(^w%%\n W+Keyp]CjJSU' Q ( d"&F7ˡnP.Wë g?a׹RQ| | fOcA%P{|"iR|d(!釟MaJGst+j{U Vի &i:zbld)lHiX\cγYy@{ݯ8.±'S쩤8by0D㲢FAPb@o@0Fl. 0T8$Y:; d$|ȧk@K{B]_Tw=-\Gx Y8'fz*tNfE { g@zʵxy4Xڙ?U&sV ?xX^KChM#ƚMH/<1\XgYRRT:rLqIClfk$oz^q*Kaz2ۧ'"55fB=ĸ7>4sZ|d4\UeR8B>||n++ګGFKUW5ȎO=yC,H]rhfpA5&>iSB֚DvdeMlij&M&8|Z)& P,"ydFAG3 WGX$hь4MMNɊ6@SۋF {[SKB<02c`dk4}Lk`yX[E'4mƸlS9.#_Q6+K<]M\!5k7iRZ u!"ڱ)݉X.o[6!"E.yϳ-,X6؋y7=4=9L O&obroz}5SBeA#F*-oװżQY#˨5qbq:/>9q u"MO0`uƠ=3o # j @FL'@#TЮC\ `96d5FVi=0Ŀ7*cQoBM 1tA?ЁP?4ꩅwCrl W+OƠjt0-Y\!DM2L_4b?Z3KrnBǖ[ F"5!F܁ĸ`m$3<ٟ2smnB;@L z)G~& )k̈́[g8u0!x3I.5Găl` xe9C!%b oI*W2lVj:+_ ˢO0J0  އv;$Q ?M1щM? 59_|,@E2k  Lɽ@QF8jЗ,0h_!˶p)(tCq8p->KAW)4OiCQ7bcK/:ft[,%Py.S7POYnygCh D>NҚ<i'S5 AUQV#)Nx4[v oA'.ZA(pBO"2r&?+( kLl!0՜EhVb?'E$BIpd „pX",ܾZJ/ 365,ۤl~03|6eXF h'U|{fً}( cpL& LeJK=hg>`^QfKOAm,~&?T jLNBO|?J*1dT~ D_K߀wDo0,7{b>PJ\W*mXԒV7z$F^6^y@7 B!>wy;˓^ vl~/)儥P " !MFvp[-C  h-x ,a&5=0Yy8'ZK؍I*I=ٙ"ÄU[Lz/Q]Jf3@@PX\OwARڲ#{]s[}\L"inVq|TITIW O\Hbó8`+PqcBHGmCBqU=-u9q'f9Bh)NKѡ+O0ddADqqRqåcƏʓF g%ҔF#9 4&vpM)D֙fU_$DaRĄFgf<&Л2W4ecdK؍Q zONɉiπA q2yWXeA!3w"âR W#D*ʝF0 -[&Bnx;vLjYïQ\=*ϟ_mui\Bw R8Xߍ7㭰8P̈́gp|d(0 %-ktl͝YA`4aaMLliZ[UJ8J{[C B++Ĥ Z:EB1ng*̗PP7 Q' TST" vfQr*5mB$HV~p%."AXU3;SM2P` !fJR 6cˍ_"kl9'QRB6 uFcsVFvc Zo`.~}Dh+cwRN8|M̰AVxjӆtV+<1N;Ӛ,iuEDM`VcVI眉ɬLf̈́ʔlc$q!fa?Xk3850.VH+;LxĄxkè,!֙yY2:C|,ӡ!PW]O#&6h?`@b?m@bڿ.ٛqMk#!$E?5Br"(-SNCp`IH} iI\9~(C]Pf\ &hEgQɺTo#Oh&L8e‚Dj-L4p&NOxnA nJʖPfx X~JJN?ַwr4opg%Z P;S'KK2uan9Vx'd[0`lCP=@YVpF=$'BWAf0WshJg4zN0 z%Œf0Ɓ9yr*t'}=.͚0hyVِ;50,P B,0AFCfm_e*.e j0$ʔi%>OTuЦ}| ڂ/Y {ȬfP 6v.Bҵ=t/)qq'4i+M_Dmz ?DPJQ8֨H%#+4RQ/)x>  $@;ZIhe0uP%\!>Gﯺ Q`ggrz[Obb m_ n^ L;Gl w`3fb.- &e:T_jow)#58|NsAC]5DY Wɾu@'L0ljtPT`h''ַĎIL\^DLS._x6 5MݮQΑΕR%7H!^" 1> 7Yarx\ϊOB0DRK${sf2Æ=Lb idKhof69ڜUd܃ĥS{`DwZȼɯ;mt!kawAs:FtoiL\R u?*- 4f~DdCAB@버=IL[e t~71mf%B [Cjgzn>G+F9k;h%mN͑3dqv?2F?bzrGhK*>]*Fu ^hxi8DŲ;_Q r j_|R^e. ϔA1ͦwSu0Bi^&˶4Qr5MRje,q]u`}H&ѡ0_m arVlD'I[@)/)pF&{ul]/\. |Ol*W2|[nG  5:mG!Wz}75;> #_%S//AI#WRN%"5xd@AsB5g!@pdsn!ғCkU>E,a|W] v͓! Erv?T5Di(CT J Bu  TB[˃ ^Ebe[X;g#ܰ(Cp Z9DKdR L*c yQedX/Xv:igaNypPw߃xC"0C OM.%ǫ7y۫^TD<5G\j~Bd(%ݕf\:Rh‡)~8d(ylw)v=. \0pA++ňPZZo4e?V !AS%7ҫ*Ae&ˆϧay".=Rv! enNH&IcU#.Z]wFDYb.t*~ᆂWNx^,/\6Hhx1J}_WU#T#?4\0Ź`֕Nsk]$$3ƧpN{@#to%"%MRdbxJ tV&z%^*5#C%rob>U#K>rHk*p4$n$NQ%OOu 7>lJ6po#4 ̞UWGIhOvxbH9W3|rUl"t\F`.v~g(Z-! MYxж4W qͺ4طqv7> 0څ*yР4"LsS 'OH PUc7k{aQ iF{ȞrO9zq^{Llw;;Ȳøwd>e8ARx/z uD+Ѓ"0(:>Uq2FІȊՇ @DsvNϯx+-[<_=@(bVº8+I4(.2I> n҆^¢Tޫ*¦ȵIF 4\4xTzOUDx"c(5r7h9KʯQ !ITg̘D 2@E%+3* 'y8c3uU{8p[l</eΡ%;UQ7ꐓ"-SkTziKtXȀ_I,HYWVRN%F+#HEI.+E7bJm\Ǚ>SHᅄ#0 U vn%.\U7'WVv7w*vTza Mc? T B*4}R2+]h(W,*/Q{A RnY#הt)P&tPIRڅE7\UN¨v.܍ q 1@yvB 1eX' 1wD=^hswZR nc'r5T2{b. j( r+XL#r(Em_*T_4H3`\Z\`!D+QӀo:3="Ԙ! @Ĕ)S$ Frܨb?iJ#0]ŋ`ꛋ*R!;b Bk\p 6lHD~"xKqƑv*G<vԣKԗ9:6 P'˴-.m*gA!K9ըJ-'C ].Jxt4TY1 j,;m P ˽EZ x|J*,}΀`CO r)dON'zŰ \ P(a QRA*TBK F /HOEBƫ י :P(%"9cf ^ΐ,6S(^xѹ5a3Bᒃ#¬CISk$cz* 0q̩@*Q!<$:F@\\߈\0~dd>j-/Y$ 'ő$R?x/P7 tT葸Op>x[9NgAf;@oqQRP**JW сb4&JQ+&j F;ୀENMWII3(.id'6rVCn \h$D<3BI8a2*¡-ϴAFw‘z3hP `%hr[' KJhnAD ͸KRIG& u͡!*26N2iLdJ|0d'Ȣ儮N@%1D}GFd|NjCN2UVAwm N 8pNi42i^d.&8vg>Jj4_D^%'YJTOR R0RBν; 6Lpy.',;pg WI6`f!XwJ dsJ\zKQnaqa1#Ƨ${ZZ~ٯpDA7[-coLzO#"uWK6NꝔ>,hO3ijVJ @ 1#PfN< f WU;an+)IA J F+-]PRpa~iqɸ#`xA =xhwdt؄j<A0ȢH=+Ip\׉~Q ]+^o((),c={O &C(@8""=`7#oN''*t^M5<okT'  (2&NW2P?Is DŽh 6"7AR 8 e sQ O1h?`%1ZT:` R]a]K_!|&AkSGMvD^y.ɌD3v)0&v<|Q8yd(c'r<"Y,G("x=Ed&0SF<nȇodɲQɎ{¿EɆtPGa :}`Jm \)>%bt".1Ð:t9pO%ݫ8 6Wu(u{)7[`.ݭ`]gH:|2`0ؙi}{TXEƗ @+h_tܘt% ,h.tOAqQ6Qgذľ:Q avVNFliix0ifJ^#H8RKRRQ$uLo`ҋƦp%rzHh=:UO@5 .*lVsKM z-;>2 D.քaۆ66‘06>؄AIHe}&0"b)$h'&+j8Yz)(tRYS&q4bȚwI QtK2&Nt`a8rg/2L N@8Y2\ kP9T*)A@a$j ފB(.1xJT -F@42SB1EFj]~R8ՂqK^;QrEYڄG~SBaAQ֎֐s :F Th jNɚ .z4 0$9tr2t=;RJ-E2 iP!@LmΫe 0!AIJ5؃4:^P\,U\pdHHU*f"dz2, Ok4T3W|9*t* R%a G!ŇvnpYR 1A:ֆxHbAOUB=ja:@#؝ WK ^rCj@$_0ZʎXX4=3&y!_KbAL֡1)i@zUm 퀣0v U ~WS!=qKb.LTLE[@9קz<䈄ߣCT`ÁYehZ eI"uKaLq#uȷ- )ܯ"STJ3s|c`9>YtR֙_ȭ rV .H/TcZЫH$,d&aTeI^v;0T؝sBL8p+zr_ #jK]\l{SU qGCPӦsNH1á̠[ύ;xLjyY8~ V1fjR1cQl0vd#{]A=׭#amal;t)8d:se 4M,m/uE"@NQ2,)6wR9t{ф % /bxqP=PV<8Pl$+HMDu{K} a <:M{*b iT XrD{LIideP#@S:\'8\U$% xsVVUB.L.U6ζm&7Xx<,(ϽEds5W*M#QVNQHzi"i¨%jnB*YFRPJ86(yDUutIN-/$$ `2si!Qrd(sS a62b+FoP8>ZnG2Ȫ|E.;3Ò!4fgKc eHLz|Nuzd#,-eH6ue0gd Q:z) } ^,ܔq33\RP tC9P@6 AV' X:8SG@O{n_2«selOL rã@or'jQEbJPAm DyiŨPbÝ1VGo )(`ܓ,Cui )># C% 3i3y}L H+;p;M?7F4"ÊXty9"dŢe7$WɺH6ٹ6Ɩn0hns!Vrt3,hC Y 7yAqQyQwPW1o =cG5R M(8W:Bp![N:?6 ]| PyG *Ȋ b+H_=ff}3Cr&SݎSP|uǰ 0!]F&-SoQǁƃ^_Ս&Vs {X.&nSʺT~Gzt/ ̘pKlfO@5BAuVmC{&dl'x@ҕkAtW5Le 3, TX0l 7:}ju(y3-cZVgn| g%} \z*0Ey *F3 OaP1^0o x81)jvد/-> #;!XA[%2//D|Rc) iAdtere7JNL@xFd:t [vZ))pDՕBzD az3 LTz[KiarF2D3X|:CAlY}Y@{R9K~ ::7LTUUΕ #wT(z!)] ȖbA%+cc#eL O-a@ͺCvI7=_lNBN)F7V*Fz1EL-Bbڪ: Y:Ha..sw9yrbHR̵&p OY*J>P0,utNOz0+=DaCFo}dpx\Uz|G EQdLKFK>&cV}ʽ@^โ,7Pf'ǔ0B8=a"qYni#B@Y  N32TS@?#JO#Iʏ2Uc6eQ#LUCZ%3p9в<[UI@">AOe*~sH"NA#\zXGLovOGS43TC6¦3,E5p\ǐK("E~6CbJkzQB\Eq4;dktHδi.ǃ$VR]cӘ|UH6@ƴVjZ3؁J%E#j 'Ghdd8R-RD M[ن\,CTA0i,UJIuı'9jhlc$T:緛C!'}gF++VE|KK*.K1b4a[tIۋb#bn{Ax,"/GQe!ӂRh3GpdfECHmK4᳡)$DX\Z-b)SZ4wOɷ>#K`tYLn&RtX'N3Ȳϡ̝*?"L4 yD./ ܣb)Kmqr#n2aJkYQ4cɫr:IPG.>-PuȈ:В>e*H[LOqy͹ȂJ0zhKXebV BqE0 U7O#9 Qp4 "]e$Mq X(7UVP|T̕h(1O`hX,c30C(D|Q kR68\Tx`Tݍ^0 vZHݙ0k@~@0"fQ^. i`/2^Xԑ׻ h`1D}O\Ȟ">q2\B7a6&CIq!ube!O: :ϔ%5\f9Lh6f.UKk0}1|x侨35tq=EcuCt\K(Jʀ.0E@QfSte :v{OǒdzRYԮTMg+4<^%79hPmB\GvX\$d -}L Кi`y.h:c8^#Q[ s pB^oMPI$v!2IvߗQߏ­ ` k#\3lH9Tj<`_\L2hBLy{lxŴfԈ `CA]Dx_Y'AM&R z) >f\>>i3NÒ}.)16**R2o'`x*^ V8Tj/x{ P5|8кSuzCQBZT)GR"U9 *AT,{L eKxPZEPY@c,oPFé<ʔ;6r]h?6c邬Ƽj(Y".0D`y2(pNIYkU)g-RpvNdBhd39 ZJM74@;hcB؈, t%L|a@EJh !1la}dQ"8%$CF=4s*:bO4qRqI#(!.3"S5ΙFF kBŃq2saqx[AAȍkVG`2􀼠x3GE lX{؂_ #'T-4{=C1H*hH z `TL)*X_F @1:Xa%8/Az_S @ +{4+17)kIHp_Cn0o)v0-qiwF ( 0AQ:= 03یJs MB0ؽ,^{̪k2s 6I1'I+e Wmx󚏸@&EDϟ#~EBlX8aF.'ӁNL$!!;#d͎E-K,S.8y0\HjPRzOZϖrxxhXihT?L e#$!/&PW֐.XN,Y/$ƴ2+"˖+gH&@Fb0! XrBX!v[9s=~C.hF A+S[QR$n]7㑨E:hw5j2 "F(VBG]lr[M)3!!SF5R9eC<4d/T)IK=^1e#ԛF#xЖbd(EW"IńSAn1Mw17la6) !RcycH3CmBl+U 6b"0G[s a,5L1p-bj @:+*Z ^K*!T T9;2$\ ĸvH-Uco+AI` ʃ)Iǔp ! B~;BSY (Lh>3\w.ycm`%rZKTnrhY1scpV%a]jZVujβxDƆ}A[E2qJH@ 0Ɂ2WY/ЬZ)KK=@ŕK!i"RhD=ibVYk0`Q \Am+ʸc~BSY4'Uڭ$tDw0j1: f`d1b1/2x>G K1=^a`"wi}ky4~(g5fk1܋m׬.87XeRA%Qq@:@ eJ)C";r8XdM_h0.6xi܂Ly̝W*".nh[oPM>ʲ#I4eL@.C4lL+4$3<Cu9!`}6ų倐:q7#+m:A x6B 0xZN1-@Y ǒ^Є =rl35vBqC#3!Kv0(Yե2gM"xp@lPΛ$h'@͢&p1 L*,m֗au`wh.)J `BZV,J\A hVN/xDL nQ4jfQ.aApF2tAxu%?遲p2[!'łIe$F G6ܭB0@5|w?)Qk |D*dq(M1q'Dȏ51XAjXDJnnD eJ,=VLi+_zIO5N" pHx[Z&EƺOJ ʆ)45̜5ѭ!(01 "ÔyF.j,jr8E4C OFJm(& q*d`gGV$GP2Bze63+ RR7Kh+)(aw6e_M3+8oQvQݬU鹑U̱s2"R88V %T+*I_Ak兣 I+,prMˊ&?!Yh ,I@ڔr(ԅ7֌yL,3/=@KFpd+I tC%3GK DShء2 %d.ME\v-A @!AW\ IT먨J*JEb VD7, r $6$d//>+`&$@qQ⥻BzUDã=i fÖ:.w+LɜCy6-H݂&nDQ!3^fD['G2 *a4"t8 觳(p^9fL8 P}fG쒹biZ'U>i`3^^3 /Kn :-Ry~k`nMWj$/N}cDe0*?$hZCq[-si m 6%Xg紃sp{`?^dGQD*XF˄W#"X$"T^yߨd5Ab#un*7gdM)+ m7PFRuð[R$oNFS!g=A zv>IfL#*l =u)D؄V,!@ox?(櫇*W K'BYMC~5ttX тo áAm!̉86 &<SgS `MKY{  g^8|eT-#D}˪X6Ӑ&F у ni޻/xy-(U1,-82Ep%М]65{j/9A|0V>{'%%c`VLaRE^Qq()4K n荙>W#tx(#%5t5b٠|1 x;r-H{?)WRC>i԰f`;1L`iZ'^dЂ55.KWF/gA*l>6Ds.ˎ ^Mxp<ϏTx554G*,XWnC-[Я1o(TșR@Ӽao:PC T!PH7l 0iqowfA5!fꋁ &Oʢ†5n0WdRᇾ' ;JC!;OSaD 0P麯SgWY7-iXu:!8>λT9 ղ PAˆ;Z Z힠Ҽ4 > aS[UԂRgQe b-Af F*A>ttYN#yV1YxޮȧLtBW[J~i :-ZRu$4$ҔyZVI3Xh؃[2穮 kSԈUI!#"j8K2Ke4eV3иښ:]`Bȋ u@B6ʥ*az|(*1`h0F#tPU[;2tԘܜ1(2Cfx W9ѡQkhcݒ0:!zD(HuAo0#LT$:j(.quL'ECѲBT=,Sf.& au^ƒ3; [fbl3+|yuc6ϸEPh-1trbR( vgަ#!gkhI/hݪ=mZbDQ y XiCMNMy|Q喕2>Pnnfw8ozIRO%S_B%RR:dm7Rpw"^(z~C Yo!IYʩf-u R͒fT15FMW)lfij /ITfG]ēUI(A7=ɌZ,T#=KF,rH}r "I[kyuۚɒ ;N(Fs~9݀i/+=J:;@%8`+XA(,$m  Q .l9#9,y4vJGbM0VE%rr FC5 HeC|tNne9*"E(Y-AY/Po tXRL}ݡ“>>-ꀨoa8m5i;8#8im2D.7M!B`4ČNS#a,*# PDBEӴ.ؙo9dI<*jh28q`ryD8CDLrR^VYzjz`L G10Fp [!7QH }$'If pj! +5zѠE;+uQ(*b!K W3L$5 gK5) H[$:*"FkxC87tk-?" $*(aB.\s9]0OFt䄉}H)Nʨ:LfRA ZI$*yZ@)LkFn*Ġkvjirm)PCe X :4{9VpDφa$ v;#;c䃦ܳPyf9RgQPe{1H:e#சT?X0˦3dF6GILWΆ|yǟ5YeVCX5}˨G t@.A0&[BPaC9^CbiB|MIG˻S pGYrcƄ wqRg2ha0fA&U+8L|0 ۘsFRr*B`X@~ #t\,a0`67`/ +!B@'fzCNM)^-YalQ*RH$1_Ju1y#\l m1t1%3 LE bZSABnS*0Z^ qh;h- v:{q-l".Snq߼wAUQ[>AS-_#` #S%E4Cj؆]?S 2&g?/i)Fz^,(36eS_n :1P/m,a7i؁RK(N*hqAB#&u0n?PEYP۠ 䃵;>gd !mcdž#sֈ6 OZu+` Rljޣsyޮ:Xqo/QKտN.&sI%w:Gtq Yl ^YT?NZ*륰6]1Dp%HP+.0CTp|gxq:(wĚ-RF-VΒ#Qv.IXxc9ΦCaB,4Zфla독cq~),Mf9]-ipX ;:b$w4;ܤK9QG /Q-el7|UFu`B 3P ^I 㛍t2L@ y.E0'SqPS7 _bjkש.[X"ӱ8ĊX$h(:R/-@  q9V~,1ǂ!>IrzZB^<o$U֊,:'|Xr 3!B!O&#tiȘ š0"4P!̤Cd @x Up('إ $C(xN0,ND5L0 ޑT IbAI|u+ސ2#-0eT8cvc#ߒmIbQ=RQ')b(gziu&I 30s)b!\&hbQ*8:`&%` yB|&}L1ҒvՈ`!HwqNuף`^!Cjb@|h8SEVq¡!TzYGEOCD 6(<#?-ޥ%g$;י1eY:7.eQEP c#)i\Qj) u3f}. ` SXꙩ cu:(4K=iA;8IIB% [_aKL}5Iت(YMە)E#a@FR6,n CJiKQ)Pj0%"wd xXnvPZXmH11n3,a~z//Z.Uep6$&"ڨ|1*L7Axڜ#_~-oXZ1}m{.b.KBΪ.˻u$*tU"*"uq/Nʨg vT*S =J$&DY S+٥c< pa— ǣ9l̶JcCM)?P>FӲ6\Ei 8Z+ ?c\}a44C:3TN-qK(cq ȳQ c&3`SS6KJKNMOOOKIӓl>`ȐXv b_Q(&N:/QAН44VLn,ySsSo %dZ^XMU&C ùQTi;DbAzDCS ]Ƃ:DigsEPfu"~`%o!:;ON80&gdB% 6LPR!S1&Znt˜bLEOQ|Gdz;J$V” l:xlҐTӘ[6O(- 7&~ A,W;H 9@E2B!`dz#ediDLPaP&LW1uF+c W̚,5pe7ewyA$2K'Bkfj_0c':WC*1xt<p0vMW#eC\,l*5̯?G#=-")/YƁ4>\P|Czӳ <tMCTؓmԛOۄVN;ktu -3  "իR!3w?ˡu%P'@ўLx7 ,v[u2o`{h!UzRRK\}1v)t)!q(YΚ@6{&<ǥkqf"Ym:_Z /~GῆU]g8@f91\ԍ31J^HYނh9d#9AhYt Me"jHO "4ÃA8~L A lUkU^ '$pj u9+Om`JlxTtŒqD=+Q.P-5z.A?;ԚxZSj){XR?Z,`lVzjꤾFZ:ġRs0t쫳3lJCpĮ N|M-@fcl *fiͪg76p TX}x81E!+ր?$=Lscl5$\a1:W)cIL K ىaᘼ4]]B"$bЉ FyҌ8^VL'Ubu%R:aƜ6 Qt/9.3&lB(o  `l)WnN~xwp00AQqO^>n5 vU W6f{]}Į%5ҌYŦ`H +Tvfؠ, IP& Ygjׁ1 lHg7zz0 ZP e=Jݕ=e1CYS0ap1t$GJ̺0?cK;ʃUXӥu")+^v"bk,"KJz^'Y4-w ,G8C[-%P@ ( $$3]nRjA{s|37|' JXA]@7]0mTVD` ]6LSR VL#rdqL= Fg&Yh(c(LSVoJO!(ǒg611bGJN4s<<.Δ#)LvGD6TXl% 8A5ؤ7ݜ0r;Y"US(OSw1( V_H`zAT.%NiګǪs/;d8.A/115v;Z(b':F&H9djDki"y{ w&LA0yDJi̚EZqɗ@ACHm#) xA&9H SXޔ@ o3sb06N )` pJ qL0B½@vW0QpJ*x~E>WU[5fJ>K$(PUqTڬ怷##vįP]x3B6F"BR[|j}fb .E ?sPLH_-d$<|bA8NyEa ͒'Y7IIy'$ʖ W&Vu7X a/K PJXēSa$%E pE ?4@y1j܄`q'K,XH.?cFtŠdXlrx { .BQ{K*j jJNCp[k? * LPXU"wXb!-*!'4Z-8@P pE[@P'KH`tV+]D Mdk݈lCǛBf/a5Ii/6+q'wHl]ʫȦ":ƹU9]$I̹ <&5-8`Ĩ' $~\f@ٞۊYȽLL,L٪.T$JGW$<{:&&5ql)WA fMKQB4ݽOC+nZ'!`F^r2ee&&FfQ'-&P'R$A"6@=C[PhQoFyyt"|xut .aQKܧ<\)D{kجK p)bqNS @ϥ#whF*i0|KBXǞ<8rHA'wP0pv ad!雇Ԍ[K>(r q)>Rl^/Ea油 +nJJ*exqP,3 OAž-{DWHs@hOn mE03aetm XpZȏiDBGXO1\f"4/ -jlB|f 4 @DɣJh 9XC=EyQ}SHQ+5*5u{n+dmv Id>&c![Z+!PJ GԈ.$lU891qPCHSP@<Ҕֺ$)b.#VyÙ3N.L ez=-|Rg+L@C=<:(LKG8b28ePY$#Q1r@A ͹谷{fT3Jsb]l,6J /5{F6ho"oHj%J$:R7e* @X"?'ԑ0)zCGP\TK !YZBLsHL&_}%PDKy9Gf(,zH2נ,맔^ ] ?&YDtItu8< .H s{f,Άas8>O6JLXH1xkͪA(e:G0@ŕS6N (V% 'q2/pAJل#%8ukn2 .+P PDѰ.N@:ץ+D^&\YI!Y Bƅ{I:7oQ`*ecc끬CC =VV)mJSZmK! >&cZGh={Lj3֑zz:E@$ pTGRį:ڿbWLsvN(xqa`& 4h hʼE<;ji25Vz$}*3\63 4;Wwz 6.O)q|驃٩RKgf3s0Ӭ36;56q`@S9+@eetk23 8KNdS4ޛMA'd,fLafg2(iV`gsiKUK0dzj˷8bnZESI#ȲՕ+7Adך$&$&>*RRuU@LtVJÎil)BNi.5agPGKSei*KJ`!F ?Om?Կ}`#%o ,Q 2p"e)pi=̆n4PᔝbT*&c/)(&*8[>07h [zr%.db3x>)TDZIz=='_Ffj(,r0N sNt9" bd(HC1ŃOB_9 ϟeJJL'BDv)WFgiZP؄*̡A;jոo,OtYν8nFcWKU_ pidSƐqOTKU͆~PKriQy 5u[O7s8,=F6>t:@鿞tњ .;w n3WYZffQ-bӬ4[Ph%wIeٰ3KU[MF P>MrRd!-CY4d!KysƸ(PJc$bdQ.UkATIӉnAH<`KvHME?U"2 FEN{ǖ`PdrS'jT&VY8&cq+SdeiJuba1FW Dq='=DмS8unTj}-dhG-3tӴ՛(H)AH#kE."S<0\H8!{jQE!B~2b Z(C2'M*s6-г7˭q}0n/;,'T.uF: ٜUbG:TpV*6HUQőÁ1ZXغژ[L`ek#fHYfe'D\%`x^Mtǀ?/̘A;8xwvU6k,?0Nۛ;!NҒyG| @(I6[lay\Ym[6tO14Ui9dp)I!(8⎈ojC<#WT}Ӻtrp֢.[Rc\E2)S|@\xl,\\.7;AiUNg.tT䖚ŵ|z<5c(^BF13`d. O.hYd K x@mSE~(Bq1C-)kyOK wȬ4Yh(aRVEOt-ȷIw(RUHەsmѾ *֨{ZrWA..D aH$IG亩PJ1p4z'(O Sl)+,A)4&k[ \޻cJ=tz6/;ރ65B]HTLH)]/O#@%Ri {)Y㙽"}kqB/1}f.fm&}{#^D=F A/onR4eԤ9`Qƴ,GIj ?:Rhl)CG*ނ%#^޺˦av?%$C mMf5t}4.nʓPm,u3jZ(J(XNlR)=Z +pB$a%-A5VwDqDUG]Eq&/uVꫯtNeQ@giMh[1 Z~zZHG0.[9Vs p;"6RʣMlM1EzD A-Ϗ{[nY2u{n6_[Oo{ J 'D1d%e%CdG,ojAWRO| ǀ'_NKmc|{q:,#x瑏>7wzǥov/ߵ?x yg"㯿ㅻ⎻ɰ.|w} `hoUuɿO{~}uƤ8;ú#qG `]_d箻O9y_ur5wܳwƞ;omӭx~s'7y6;,|>I~n7'񥻱`;c/įN~{s?:@_8?M._a9}yy&^?;|'~Ϳ>oCktWЎ>s=KX}`շa/9s+?»ݱúqMɟMwoCs}u|]00~/.;yZg@{Ex uzw^>Pqn'0ww<嬳@Q~'O'Ko|GOcm_gBּO%~^c^611B*s1z4ń1߿Ę_1rfɸY9>_zag#Y3ђVU= ",eWs%bRvq"{e:lY-l ][c˖SukٲJ-вYݙEe!W-4ū"EbC%b[OS_Rٲofbw_#F*mO + nf 9g#klIT-cpAfjD reJdi2Ed .VFwF$^f=lŭW\â?ys|='HgX"7zZ wk![Rb% AZp"~Ǥ;R6uL. 0G{q }f}Q՚hwzXM0Wy~l'߬k戵?JP,!S1iϋy|aM2Ŧe[~L۱KMqe7 m["/+CZbFށ^"-İ6Q9@C0;#TC^Cڂ +8>W!*$ 6oacOd!Εkk׾ XYt8җƖr6u0Yd/08E2&86wh|iq諜DKQMoM~6 LG(ּɶvG-/ł QH gdx٦72uɬ=G?rRu ;`/Y}diaT*Œ^@QvZ!LI*;:_%ӏ ow151WR8nv-DX, ov0D Oը|kY "ed/+rY"KVHPC1VE#FzlZ*qco B vdtTO5x~y68_85 =~[hD>`кCZ4w: WȻC2aл"bSQy,34WB'{3d&?v`v63(tb~bsV9-L9^=$ot>l6^{(b*;{`eٵ>}LOFO>P`1,TDvǝT{9tjR DZ*n;5<Wr+`+%8â4X8>FȆ(⡄jM&l[zc͎8+N__Sh#}ǚ8uqgwGAaTV5 ?t]E%]3Qivu<%SzTA`n4 r,u&L0e 22 HH'cNӷ.+M !68P7pi#r!TM? @a{!ZI[Q^QCQ PGķ.RtV{\(]< H 5Ccٔb(fL@ OI{ߛ;jQ KdV M#?79a33{޾8LeGxCךG)t+'EQ- j|Qg K%zQ=ǭFǹuudUPwlvPNT`JT8nX&lsrWPKF&I{`RVw!̘t׃f#dE^ itdR$=Cc7=bںi#@8:'jq4Kf̑)F4?+]M#2 U5wu瑑cȟܹO߽|m9S36G׼Qw|Uo{Cnw</>﯏~l)O?y~1я~tߌ=?_~a|+R[W}gꇝu+zKܹÜ.Wݽ3_zAg=G}?R]G{տ~[tOK#x'~я?xOݿ7n9~rߟu]<ǜ5=9^_MW}Ƈ<T=ɏgϡ/n}7S_0|=Ys[7⋱~?z-ď;x1]S9m?;G\kyuxeoYy__qKv=qxg7/>“wѧ;nr?nޘ{}mS-SK-|'_~މpN^vrw'-o~/?o;ܕ|s&}k3k{V|My!'M?/8~ڍ?gL7ys5W=v׳~r%_?6Cx۳1?oo'׿ot}?$Kl~ Gֻ>ǏOȹ}Kut|ygn=W]o~Kk'NιًG?}]?w?%م3忹 a]vgs߿(ybΙg^{ۇ>roW~}^w?vQ7uG?~-3Uoo}l֞͝_|~Wk<|1?~#7\_9~󱏿l_ƞW=z~u#zrw_|ދ~vs_~_>085:vc fԿq /ZmOn垙]|ꣷxs/n懕)zO.HŏdKڮz!^>O>xO~?ySXyU{z^ m̯|[{c6_;/?=+^Oگ=%{/o?'?<~<ݯtkwyr7x17߻xW|qouϳw墣i^7^[/~C~}O]Wӏ|D Kpouūp5?޸og6Cg|/GgO_~Kؗܞ]{M~g=z#_7r|{FvG=/[|{ȣ*ץo~Y{~ĕ\Br#꿚|'x^y#rكzo66_;…I- 9qֿ\={^|ݗDM|?ß87yy@򑏿b[7`O>Q_=}7}a? ^򷩛uE~W}G]}Vc.>qܑG|~]9Ko46Ϭ[>~иʛ煯}᯷4ï_}oꯌ}ϴn7rӵ㱉}{a'}4/h+W^z&}';| (G>k6z_>|wg^Ǿ'} iߓ˕__to==~+|'~qѯ_gMk}:9]??gdjp=_y:4ă9WG;y߸I?s~=;/gz??_ُy__7^˷=g׫L}7 ⡭;O|犏=K{Zu['_=yW%7,O2[|gO~[?"?̞s~jkܯx[ï~ ^rŇ3zס^}Yo/<}w_2[}mO/?'ٵ0^3]2_zv駼c>ď޻tݯ*{ʉJ;znxj;<O۞Nmꧯ-S/'>|IO͏;w=N|G?s'_'7~i~/gzɃ>?xx}w!m_~n/k__]xy/ϸ~^<05[nw^w?W|=W֕'~7|s+?/;}WB/>?|ɹ^>{Tux zu;^um~yO|?_‘w/|ؓ˷|=r? 7>P*|qnK~'`oۏ<͇zs._rꮗ]vtЊjc_~O{W{ӣz/{os;/,\D7FǏ3De=_~x:u#>==s͑W=K_tã,^qܫ?O{?9o.<_S9#y'$z^^̵ܱ3|p^UA7~Gnd_ oū.6m{6[_p|E=׽m ]{;o3n;ُPJ\_q|g2o{gy]7lb3{?k?כw,[oO_K~-M3{{Ƨ>sͷ<۴r}y#ܵ#W%y-??ƾ>ٟ&'7^}׿ޝ~ na?K_^xK/;7>7Vt;U_{I/|Ʒsczևw/_?? 럿_vqC^m#\靈oFMȾoc~Rtןw;^u5}>~O9&__?}Y<?>3kƑ?_xƳ|<־l|xzO,m:zN_^Ç@~Ot;zgؾǍ׿{O(>C/W>{nzW~qq7?嬳>W?<7~՗W?l<1O~U~'O~ul}yW^MpM9=~>?ٻUwu?w+L*+}ٍ*?G*|EV^a0F}{? ڹL|v]TB!L] +(jfcnO+`b2Tꓻ6mQ?1HHwզD ޾Hl"kۦU]J!azM.*Vyep U];e.!c6?K&fa2R۴fP+ eERfAfvO?[XedvRwaAT)&9IPB5)tvܡ1tr58_'xn0Ⴙ4 OtRw <ӛ F_01S\Z61 e[/TƒU4Rw*{Y>FO,U{puP1.GڝFkcO&~zɬb9)w'׋/b*{'hY i]۶msM@C:/il.MBֻ> N҈lIjb'sYJo'0hhuˤ-8f#[./Ð{q G{pգ)MV̸qq\bnRVi͢VH1W.Fp*yȆMe\p{ѝ1r11:FfsȽ{ ekoá4'@] $fR>Au{/'`yL %(6! ` yT+&e[Z84Kئ׽} &#)o |(c][].eYZ8)g&\j9PZzH][G®-k)-j0lԫ Yصvm9p][Vk)*r 9LdK=]~cǀ|XK"l^46u]R3khmk*K$vJxis]' 5m(`( ^2IkR<*z]<&;@;b/".4F2OofYi4͈=s=T՝ҥ )7dͥSkt"o((ŒN;L@Oz `"hRU/WGËwSékN!ܝy_ ^c5/1_\M(>- X uҶ5ͳӹL:?FfJJ,ICKRkZr],B@j"~|H[E]`T@w(@R^ܵaE-ZIK*q1sszwӞçJp]/!|QI׈u|*Y[x ؚ7c xZY)͙K khڀx> Z[ҁHq ja¦j)n Q?Ј+=!?‡0C ~s 'K>j8/DY(hbyJ%ͧNN70vx7cRHRe+PvV;^GfüBCe7ˆAlKb76ӟ7 ^::?!ݑ% x -P8'x뺃G#R#3# Jts D$Z^<Ē/wjeu]pu q΍DQ5tل+㔅­心;nߵaq&>{y tQ@5vjItqeoiIa0͜\WrU-YY1Lo83=B6o.ċbselfE, Ta vB(B9TJ4 jJv ;tlXA&aICzP=2!7b@6 v4i$ +[(՗x`j"-\kRCSxt3x`gjYRj;I&IS4xXB"r66QJؖvV"pCEJ2{Iĉ`0@.)O{ɑT^κ(IKT}MnOLAU; ˖L:a}s,.jB M>h)1Ed D|Ԋ%"i9o-.iSB/13s/?o?-/A?i M`GMMMN'16- in^Ƴ491}WCS*;X.0&tt AסFhE:#g#b 63&]ZUkYW!@Wj]4qy1ŞmTMx^\ 9lmTBLV N#Nѝpe"I3X'/G*Q`R!kH23"xt4#0<1*tvy BB.C2O&r)8 hÜ1 0d"LQ&UT9ƼzRo_ Y\LHKiRtib8!ɯAbD1"Bft8p@;r:C !(8-hwۂ첔#Uݬ4p #0 ObirST< Fwʿh8w `%|%nQNp9l~Rϛ(|#΅l&JNĻ3T v7Y,yv,ݧiE x5[XfW;bW'k؃dHc&P51f10Ĵ"S1;ʈɎjn3A;!8[ -Ň[ry #N/(]#tFp,b4$6nhE u"9!{mkZܺG= +VO.·Dn%g۫{ tIkzm-1gAIWFY.Z;=lF`>„SN][#=Hn`REnlR5 -g8+ }k*UW$ O$@{nVV(mjI;E}bp5M Wjf&Wq^`Σ3ۗ;,);'Z/X͒ۋZ;Sd!h8F[(KG㚃4hDDؒ"9Zk&I¸2[*bTךI^3 ڧ5fK4*EzJ6ZiٮY j1tLP p:9_hmZcE4n{sEؤP[ 0* ,fFBܮĚLqxB3gCRDRyM,PZbhm9 ,[2U-Uy\WIT"$)K|Gs/"1J껪j(XA"6o Z#=}L\xeGFǖo#">߻Yi|y;sR>:g|lVWq܁ssMIX<^'rLOZp"ʋxϘۋ.a=gYB;y;<]5;83X5.;F*aobSdH+6_,>Q4AN'UX(k LU1{L0;hVIrX"TmwׇtQPj,@KLI`+Ox܋L6~ 8G;?B -+L C7 KUC~E6@|f#t1*{s!ݩmCQKt)VUކwk1,9傎,Wk^Zh2y?)+V<?N0_0+!">W|0$AA6X,n+)IbOpW0o "t$j@!CQBU K ' w5)#2f|k0Z5-*轊NRQ'ru$51hhD`D(Xd|p%(zG%GCJΫ-K c`@A~@tQoѐ.cbGx5>D]5Q#3ӕfW혿P.\Y%}%7h#)'il"=7ϧbVb5cX‹J |Qc.K)eޯD݂_p{&ǪjZ1M,wx6pQR _Ҧg?NI&z G^&!)h q7Qv(ᇽnVcfi\dr{1-ZʩZ1803oۆloo+~oq^gv s1ǤHBJ[7^<I!@ǣ\IL/irfRB:Fa #ÕFt-Qctu݉6q l0eU =嘦(oC`0bPtօWDZZ2Bgv5"4C8Z2;O*yS$+"pUS-9ruL܁:V3C(Q%NMn(v6 fQ<@( aihzĕ\u\W`uhtR5\Jls9sQz`Qs\jJ>zХ%$ѩ[*B$Bnv}S yo.<ڶ@O1 dq'Rd.J*3P*2kORHyaҠdJY% 9TR: R>:ސщʸo\5zSHI}soa.5:LV]oDU{ KP)kx(c3jUyM&)aJqP3ECǏ  UD%2]m b$:Aչ*X5Cs*D؈{[ZN@vkoܾ/߹}pC&>,_'A09 w*o/9)=6i0MOa:92-曎{8J WrmDkBn\ !夡#=:! ,yxCc.G(y7K S +KrL3)CR!SiV"fI5\/:F5aը Q45"܇@3ŲA#fXř3M!v#qj&Ywmp , %@VۓʜArMVXJݪɯ>)V%>#R!mM Hi{ko+mU&+"{ nTpo2tV' g#>$~((h"Sn7:vm7.:$3W7ikas%Rŀ.qtP 28 I31ʋ`|ؓ;<=EHj%=vRX\:%gtZJABS2SuwXS_(H!?3r7>!jrY_DW| >ͨ&h@8 9h CrJN>> Sh~v$m߾c{cඍg#?deٱ\kKz}ACaV ;cvj2)i2 %Z'8.HFc -Pe}C^4Y:Xc}n1:t11~;28ež$KtK%~GR/; fq4ݪ0U[ "H&­crU%BRZP/3g ЪoЎ# {iEh`PZKq>M):5B&cܚSk2ؤ5[sx4zhbOhx%Ԩw}Tfj\YABĵ+"BX21>'!̄k1y]S,@$U.`.Z\Q4KfnxҙVzwzxY&d@Sձ<RwϷM:Px\ȝ(.W-a,šEW F6/{մE kw |6uo]˂/',N[ɓ#M<ثd18UӤU@ʨXF ZNIJ29^i7d,-2ֱ8lW驌ȝU5C];A@"bl3r6InS;wܱ^]s;_^;u[c&ƺm Oy5;qA::HA4TP@:_t~(Ho@]n۹~/WpcKpD5 ݲimeŢC.z=VjcUSOQ:=qo߰۟6_΁w lm φgC!X+%2%Cl:n\./SIg(WˌnY/r,:@Pv沪VVrGvsߩ7]- 83&@yI|2|6m4 +ӘlپJ׎e/{6C]=#٠9z#BBi<2I#8 8+4Q0:uD^/OHPOgRc;Gzڲ7qVL_tvŌEM)]%ڶm,%kSh0:A)]} ?f} ofPav`l7;K 5 r") ww=vd<mٟR?0Yiz4͜J1Jq莜VshWўe:APw^YdN s˧F/ZrD ?^UF2yglO׎3ِ@7 ߆oCw`}$R/f,1;@bA)=XPA7`}P(!MY)px^01񚿈?B)J˝&͛@d)gR#b1R$豜|Ԁ]q)D,lD r̺KKgB6g4>c/3|EgBƘ]c1#ER}fQU15yWXu ӱK*F\vBFWp~AW [ /D+~m6 n۵L|N]BVƳ!̆fCb!ِ/H-xZU_9y ,lU9m,.SNG@uKX7](F'NW5Y҄@(/>6pi ]PB_ E4dKvHLEA.3cw>-;!Ү4d ~ %bx&C172uʰl9 fnfg]<4 KoBQ?(2tGpeҨTz\/ LUˤ0j XUբ\m%^˖Ak:ς0gµ qD}71U RJiG<ߛ\ȧ/eRx'kr";?ޟ  St@g) Ԣ= FR=|Bbyq;0d$8@-Dq&x D;A\+c0̼f-hd"/I fdk^UURMnS3tkWH$bR=X\LS=!(r1ڂO$'@F E?-'3peRGhȷϤW%bBi`jH'eRTRK ıs^xuvtœ$dv~|]`ۮmUU#R듑yQ3xr'M9bfu+t}̶5{dy,ΩT bzprKyhG2B'੫sF39?yn7Ԁj 5pC ARDHƄZCT+:+;:]@nyg%j1(M7x%_I`w@ ­c_!d,iB`dݏ7ٺ9c#HyHp^x*!n_t& *Tåvf&T$`7~JI,ЌA5z^ C( R,엍`AQͮf/aA"Z 4T{>G^e uA?E Pk΁]!n8l 6#yU"!"ˀ6^U{$ڼ6Ah: 64hz6w&_/ m^ m^T(V)|ʂͧ*ڼJ m>5m^.MBk3b6Gۚ)RQt'ffa~h1~-2ԯ`)'QK2WuR=d ܎`f8Ck"se p/pPfyT0vQ@8trJj6 Z?8&R b;e&KZ)@ToMNҍϱ^ =TL29 @'`sw6ԇ+aD}b9U%ӠX(@a{`f+ye7z-X(eAiaxՒ,|vr;p#^{ VFEj/Uk6!Kgi\EqysAffggcSSAذ$ k*dHغ 2g2S|] Ns\vz ~L$9>ՉU`t.=œ XTGn^s~-Ҙ9Guk"Qء# LSMjVyaU(3iړwa]2!RrK.],6+2_jf@*vB``B(B*TPʶcvkGc9ŎBD Ѯܑ9N$9<@l7jcѬ㑏>zG#^j%M;T tdz, 1ʅEPeC0,a"1,F-y&qݽ=ben[2Iwi.DX;,W蔸H]jhs% uլ{B%KC5BƲm,oP>G~5ez#wgҢgn6j2 qȌ:ja T %dBE(q^4hP_lidTe'U'{ղUp3!p|̈́kynbl؁}&1TR|PhUka dcBe{h. S,u=$Ou=ɧ "5.? wIWVA %tyH% /q@dխ r .ytսYE=a:@:S($ hW;%;mı6BE++Tl/"YjQd 2B< Ȇ̙n*DJiX^8@/ڸ3lz('Y*ӎZϲ P«M%j`;}o.иB;͚Nܘ3"퐥EI9#F@R͐Fɡ ^sN Oձ(ĿW~o\{H~|MƅUNvCF,6R_uM'T8oߵmW;v ڔ1oJ"ƿêPsavDx)Xv^I]Km0(Q}`':R?ôU5b҃@ņC-FE6MCi|#5СXʏ dg ~9GXd7ї? #ǒ"EgQ B56]PBcvV;=A 'FDD GlDq xtonwHl0Ά&)i\iqնKKO3:1ry27i=/@oL:=b'ԙ Wi'OxYnY[1w_>N$>e: ԑf|8kb3+R;XtY)bۨ3i>W=܍^ v -IMKĖRtK{$d'ZbXRQ ݡT4 _:xSݍU҇k;i̘:EJcĩ,]On[sb j/~7@\B_(,eǘWty,j4eRu9qh  Z+#11 e SaWV,\%y RKR=鰡NwlPmE=!6?5Yjh-mégX%xH!sm: $BG`!7"-f| |3vD #Lΰ1debf&ZR7lm^b4vS Eac0^T#dhAn A7r"?ĄqW%J_$$[c.[&v%c~EZsSc4^j gAI>p8X.dI^ t p.b ML4ɗSmQpk'*ndui톶q{NzF\݋8duYI1jnx*LY ?p P#Q5kFAJ5I9 #9*$5D8 #Ie5OOiZUM%ުv6 pɗYPt+ O+kljAAΦ!!mXl_hWf 9s#vX̣;c)E^,Ĩ07[NÉ:-b4T[wB R!.68ra,+JKI8L%dq%ŒBwp^-E.u ̫J_pw?RIРIcK%ܐ@ojK)y KD|VBx/vɠNS2( )iw@}#ns/繽l$l0I7o$H8 w072˰%E9ʵ7Y2K-T{ynzPZ}1߯n aRPJ8LȎQH+ ik /lI^✠ @ .Z uٮªw!J/5ܨ4Ec*5>feP8mVXIe2^˅ ieVR鹵m“#w#b# 1\jx@1b\ 6>1^.͵&q` ^lٓӧĜMk)[T¼Bju' I'FEtŔ CSNu|> 1MM܍W.&YȅCf"9fn..7h-WA(2&_תDߊjQ՞ ȫ'IzB;~CrĺG(XKWׅkW?-?^&ٹkg |=ρ t Xޤ\6y5nZ fC!m~KA#rk_<Cݮ]4DK+RbKVq4>,`;TK_5XΊ1 NX{Y,S5 \}I R]@u,KXw|\mVb iM1֌4ڛ6 Cޫ{/8r^OEX|k~1P=A/͒FyѤ#Z{ U~>qdnrˤXB7maUy =Pj"f.x $I#֡P} Lpp$o5 i>{Q?X>3ԃuPDGBՖI"KP3]!QepHd Dr&ƍ m`=HǠ<(B-B\#!p[Q"n¦&"DQy)8p1>AX(B5a,B1]Sqwb {63 N wV5^nq5D)hӰIC B]{3̱7Zԇ;`meꪉ-JA683ljm~>>KW-c*-bF,1/w+m-I|!ȡ-iw_)c؊8v[a맰s #_{-dIz>,4'punAC(dyVbhi`n?6 !A \H3IK.)?){վ. ԷEi[=>'[.]\3h֌# a*TBH62=0j18EAsT(q[Hun: bZTTpfғ^5<8MFAy|ӒjjZS[D0BBK^^Py̦HFz||=RVWM2āɩu]5%m$uP~-P0ΏQMJ 6a1aK2&<\ewiAr4'D[.;k.82Y Bާ^??XehU-ݫ*Xq= &fwc{꾇2x:_ O$sr)ŏ 12E4u# )XTkifʴ FOIVSTD0\̅L=]S!&ݵ $BQTI=Ȫ] 0EH~µdjܚnO bFV |xE'Ͱrxjk#q)uUk` ou 0yŽO9hyAk(Jeڇ<Ź;dxϠ˲)x Ҵ:+jk6k@no$Z K L<ǽW8tZ[ % KVi-*0=/pdA"e*`e=R 8'a<)<{W; ? lh:g5GN!i)>5S(F%IAX s DWbSf=fhp6!O41F F!Yf:t=[}Dd<ǼeZa"O{TM!'nCz7b}/ѻGb,瀕.0W!ٸHocpMIe8@H1kh\tpH +IޡtF,]R@rUEΰ>OI2ުf"O\ϋVY@/U4[vϩ׺z ؜v/.2]{ %e8!`|C~:XӋܛADRMs.IbvG),Fx%|<ρōh|A  BՅ112J u1͋e:dtI=:F1+ ,ĂrmsٍcCQ^| oVy6w3ٜGop'8ВDRָ w]D9I!ۙgdK:UT2 ;5 K!bi Y'\O=i4m(KGX~9R]L6̔Ţ9M*o/Ւ'E2U ;7mBb'ڶv z5p:΅z('m=}h㘟xOM֑[8eGerT6h{i#"d *N )%PRڗʦhI#h%h\zvu$bz}N&J UF<͟:.œ݃6NxpRy6Ɉkԩ].&=iYuX &!iU[l11t!DuM*TPl{g5MZl$Z5*ocٰ}4Fgh ^6~tF A] [ -q,p?S7WBb>b5bsvΗk. ޒeKc2eBAF=(ӱ껎8Wi#ᡳM:xuGLZd':߁Ν;n3n9!2/ISnInXUnC-CB܃wC WJg ۴tHȮ+ۖ~ J*DdcKQRctlw=*^Z(i 5ܱCS NfrFH` ^zlp j{ )˜J)`.$ )Qp.$e U]VCa3`, VlU /=XzZvod@Bfp*Xte97VXn)o@$+܊>nRaa˲ccǘΡ|/d3bK٩df*r ѡř*3":i)#J.X Ӭa%l MȠQfoD`1@u "Ph)!6e̓NLEdkZRhs҈  MOf٩ w]KͱqeQAY3]=,JSLE U _}UJQP 4V -$l̵9O(ESc u伀~_@BIћUT#,)wA&{s w 9{^%V=y W -i})<ܚGBSFܑ4 nmx-Ed׭E8e.6!0<3v "(YLX4Bj Dpֳl(zPReV-|߬av7( KJs g[$cɘ(Tp`~K|?-B %LSy#, ݆U/:;]K =%Tvv !%zF-Ib LSQz2pH<hLU:?;nNZzZ Y|gQWS#|h%quJGE%qԳ SX?SAYGt>GyV1pDc˗nPF&w0h B xXA{*k:2y1(.6J>- c9N_M5FC՞m+#RpS݁hn?*>6;85XچB4;t/hT%QhxeX2ڜ~h!m+Ivg*A2PñdRmk{-eND\vTf\[ x!u=2z+Iw-ꛩuOpeIdi]d;#͙Vx+.:+Z׻tγIkU$92{zh7KOx+lU5xeh|rEE4^eto631ndNRb: !z,3[kY;Pz!,y if C\b=h/x!Vfۅn'ie0=Zm:%[Q$&x#ZI bXh)P=?`Fd7_hds8"4SaJnQh y(WM=y͡!*:'v`"g|z*Qy&uYwjpP"+.s"e: H<5b c[WrXaUBۖC n$(ZWр[ 9S lff"=^!0mf!. zn+|dfjQ,Ae+lVHB?0 BXR"$h l8=xzoC9ѳ@24%f=FFB"U/=Fq$X7-cBfή)IOLadC+ EszHWѺ[U'd,ey[s{cP:PT_ yҁN"!~W ;YL3Q,C# FuݧR%gqւc\OKj+fGJn A#nͣ]\~k7'K#bnؽ6`%~+Fcֻw$h!vMR$fEe {b-L4ZZg688ZAfeTSk^=26Xv5 Yju=fj!ӂ6:5O~ ͺ}.˾,- Fl$Hw#oI_+ƛwuq#D`L:k'`C0᪦Y_eH덕^Zt 9@[fSXDr${Wbj= Ң/5)i5"Jw>8pN*p l4B wL9Ckoѽ f Tŧ1Vx(!YG K|a:x]Dlvm9pBuxAwc3]6 -8ٕC74 Hnsj52_fP n/9@ MBLXE{ _$ФI~UL<@)! ˶#]VI5@mRQ4лDVXBc$a2cEӋ` U7i`tV2U *~L:,HUdD#>iz*$7og 8,]/"^k2.+F|"ǃ/%a:GA5S0Z&w`l 8nL $:Xe0z&GГ(:]"lDQ<* Pe| #u-yKtwH3t*#=0J["!BCG|psd@1 0c6kO.)bݍ(In}q] {utdR[m3߇5ɅHB;x?=HɋUJHPJg{l OX#27-pZP N'XExH:ci'1WNVWڅv8ԈeȗWfF >#Q_y-D_m4լDvCGAq~&9eu"BXJ/!ԳT6&ꖔ۰)Y ɷ:gu-_2ߊ8umD> ZI7w,Ēi0eAgjq ǰLbSzO: 7MJڼN$*ܼ͝ K\y䅛G`y$*2U 7p 7Rny=OMryDAvKnڌҼ^ "%(`/ODmAAI +nKA%B4Eݬ/2c!dO .#AVU5=$T8R0+ZX0@q9gJ6_t/l\N&YC Bc/v&j3`$#ck/x4/|ߡ# qv&Q]RSc64LPΥn0Rlߜobn*Xxfρ}ÒJJHD2"<#A7f3bv b^mWMjƇL!0LY rW > ڍݞB 1bry~2ih= tV*$FvoZpމ1PglߟbU+Ӣ\b`ssJCbI1$– .B/ HHqqűLΈܠ˜-J"CC.͍S~xJv}?'e7b{y xR* q|0V(}~Zߎ2 R{sBtoDy*gN)ۋn' 㞦ptSAC6g":1ΫR0ϓkXIjCC>qE qIC{n҈Œbr0&FT^_(V],m1<^UۮţWO$[Y~3 C1^Qt6ܺN:i 8Ё`4g)Q1ʅEeeLr^7b\=ćx2 1"@Je ׊[LSp]A`@i\u0_L-Fppe\wzlx6MAuֻ(N Ɉ-9mh%rH]ZtnRJvi>t[k[xE8ilkTc q3IY J JڥƜ%>dW~uLi_WDllle fWRB!A@ͼ)!ؑ|mV(ڮ ±]jk/[ue[lva13wh~ayZm،tH2oUmp\Š TÐ'y**X)*,`eUY­eO Ƶ9SsLӛഘ y+jz0Ŕ8qQq=g2 rBI0\ 3\)m)D Jt)cQoe'yXZՒ$E&X& . ̦R$Cz `FOI2dI/GQ2x1RVA8m([a$1$pN'TKj`[wpWcǮm6g#F 3* wuWJeذU7ꅪSfR©vyd(- rS(7=1F#~O䄏VL$|>ȴI&N쎓pX[IʚuƕUǎp Vwvd\sF|%lffz6fr\nY%В\!6MW*Rd[)MF3!))]XлP. 2|5GOppooxJMWIxwPfvvzLerIZU;y !b#m9R݇"0`vr48|c?87B{W:pN-؂x,^u-'oUΕL"3&AQiaf-%t;0{G jaO (Z^Xγ~;ZuPz1p 4@[i-`*S?HN0H Rt(,ţGЮTUձS,L,HACjf0uEW`Ԁ SSL,wȌ|X#+b9ΉW.LA0'=0"0Lq_y/A𒝯`"$jqJ#C~$Vk.,eQ^%XefɰE q|ߍ{֠` 􎈑y,8.1s%<,lXa}.|:FArKͦcTxOdֆKٸGlwE fD9e[.Fѫz^p4tuNfFo鉉=鱋MkWX{#d))%(^E[w wضsC{>z!R-Fz`}Y7]*e1p(aiO_^m u`SYdG19={809 /UsC952grsH袎u-~[jpdY/7\5Zܟj㾌0>d$D5M2źn=?(MBRW`_ )ie. 2SrsBZCN i31'Xj\+ WD.;, /0+1KOMxJMn#l \Sv{ٗ dv ;_!}&J |>LiELffcZ@B1 g27=e:h|W&$- gy R)Wz]GeP`<_ [FOEWwȚTUPEXqC350ᾱB-Ծю?;Qe C Q&tnrϗ9jS]bcA Sx~d=sÙ< e #TʐXJ86E47G%r-b5t2/:U}ȃ}6%kxАG<83!AX!녤6Z jT/(540EL79O^EXQ*0-Nߵ@b(T=Hu& 5uN6FFqͯdEڴ0❠:4>dL!pvel VÝ|yXDm_Oy?-ލ~omY+6{T{ej~Ov VEm" 2l\Dx,`9\waIPR14{ZRBazzkLN?ΤZZmv4c֞ kջ9`i.p<rFv<3F7"T!kr_oo֯l[8057oQtnlCE PmO( 5aHrJB& h } (ьt')\2f{S zNȖ̌Phv6Ӻ20ffT{'ӹڽDҕ2T>+`5e:n\!ü ADldB9H{gu'rƄ^Cwsµ2~`96NNjw!l1FAc\3nMpfo6bG&VKM\gtuBBi1pl S["t@ݬ)c mסA ߡ)hpp4J:[ q&ĸpJ (ףY?fzуKՙ15R3UMb@09S],ÞL`]lͦ'" /="ъ,GFd^YnI VeA ObUbT;q8)=]brac}O?wEj[gKz$C j!ETwɒ aQzjFryy{=||az}0=COTHۡǮY,lK֢VZ.mmmx{H`,ȂpχG(ݳ v ̬j O~ZYFM#-VGJU]8S9=F|ť=mgL Uߝt>;56x4P\ɝ_=X4e%8 7+8tVh vo1֋u䠠"wp&3Ž-d]jH?ܨIx~t1|O%59V: ~ :Kҁ|$ 7B$:F])M08΅#}V,cSXˆz-v +bHD*Į1o W :@UQ́sdn!L2#g-mӈG'$P ͂@;dݩZZ~k'?5twdjxsx'8AhH_{xHPYڬZW5\P40h&"=0@MᜀF9GL}{[ߴĖHLI+ؼch#gȘRR0 \xzNl@(r9Ҵ$lش>#1Pm@ BF>T^KFGP%Ą>f=2czް (ݾ  l5y4(˗I JϢv \jk-wi-ޗhU[ 79jK,fq:Qu$?ԊQBuLMc*im`;U "?U"!IyP?]nG(!cas7M.B"w wl,S9N"uXRf sn8FT+W.1B8Si-HcӂL I MQP"'㮹JHd{HK)*STX| 'ƨEEv^(s&3iPr&HIP`u,0fO)ӆyB5!:#ڱ0os* Mq,/#]?Yzi{"-S6!5LŐaE9G-=Y`D|Z䟝`: QUhnJ1M |4uh+4{MF |価bM޹Jy9WzU\ns8b Uԡ^quIt B4M]0zZ$ ßAˉ6xhjB\@T=;n8K |uk$iGr U*Rq6C"0^/#>/!E:.ycWnN/\9HmN-@J8Vc%Tw@  y: W (!cHQZճXU)~csiSƴ=x8aB2Ej,-RZ(ֿEsy_\ekCtPWS}89T##jpLB @ʫ(c_2WdNOGS+jƸHԯNHI/HHBCxyBwAIp<p)fBgї2Ӯj|Ҁ3wSF/)j0qFJQڡsJUO#o}~h $⚨2W: t$dDz >lCdz0{hL*~]XtRAvCL@7@V]ͤv6):0*ŠlOnhliJ#]X 7ȇ?[(x~";tm]O[a!c0wɄ1? SpP6B6oPW~@+-+NP24}7Sv}1ӬDFP-,FCtTזKN4QQ,75#l9K+_j9^.CRQ[^^N`juju{2:M_h,?;lQ`YP3$7d ѯ%kaGP \:}S0B5Z3|fboWf^`N@`E7A .D{Iz@B ka6eM clƒ$QPJG',HB&F *Tj":a61!26X%`0̄( SŸCpX/SB9GfFߞ?fM~A*VqrP) ]Mc;ߴ K"6[vM@g5aN$.O驃eT0>[~ѧ|jc&'!r=ىl ln*37g읞1eLg3sX9¥h %`2ZYQnp0c5 vmf@,*p/Ymh8fp#_lnTqA$4fn>i5mIc 1Lpt@c\Z&-VH u&Rqu@uQ*|\z㔄.Fa=4B T4ţHrqo1 cL+| +U_˸0 Цzy%aݠҷ;V 81Є=Qn\veF=t!>t (A[34B \z Y[(? H$[$Md?6otrXF:v#7BnXNq}e=xE6lP њ*գzj/W 4ݰyqYȋyZ9Q"0lp&h͘yfou"H}P]m;L"z|޻]b#ذϷt*gU>"$lO؅IˇZ{svurWh%NQbCuF+7rmD D+m R<ɘX2kijvTKmApESv8I3a~ m lL뙙Yv89=5xsgf&7p?- w07ټ)7-}&X3kn, urўhM ^i{8pvYRxQZWM'.)OyӰU*["Xx@{OL٨5ްԖ̌?cfm 50yԔR G%V~%%vfzrl& QL*ۣa{Hz.,o=e 6<΢@W7+L[P6#ޟ ;cq|90 V0o ɵIn0#Cksdm9;$#F 9=["o. }SSۚåch~ @) vǙi(5MV0Θ-{CCKى\fJFY(c56-9u8PG]>dPkǝ.B[BB5[XlBmZWXFGrup.Ye|[Y=ip&Zc!"t>/¶y,|%0e MxڠsvCD<6^3# ^ϩz5A1ZGӺ~m=d[-SU+( ąCz$S6uvma_s\9-X$glOEr5]Oyp-L#J{#M^Q6<~;.vRc7O{jF`, ]C<ݘHь -I-&b.+G-@{&q#Av!xE5ө +w%!juqjIHlE1 #Om_ǰV ϕVmd]t>^*&r3!Ӛi q)Zdh<xd9<wɍy\07Z3بJ$…2 m%QQl,,Z$n3 /{ڊn0C;3̺͛jk$yF (r[h0|]I"IqhF.<$ ǒ>8DG_@e>jȪGp&:n jaʄ(+y,/Dz* ۯNH-WB'$89֯gpk;Nf0s8A/O؟QglsZ, bD&a9ZetsEŠdY/ǎb}biTF{Gmmݖr]:傖/r+5M 8d*ZI @et-`! &Rx:jS沓]kB׎ T*6bќ-J=G T AҪ4+ vv nzm(A9'}n_ŬAV;z/ݼBWUbT cN (,a?LefӹԾYTSc"K^E)K6R' _i;IH/K1$J%=-e/V(y &4ҥTצ dfub}'cFVMD[D^cN-BihViRnXUi6$ CZd>TM8X R^aY\'P2X|z@lFGZw9c!.Qטj R=&F1i86=iWyɵPxyEo`,[juv(Hp;)>̷XӒb{# EێjhKi+XN-}KAi` UG.Xcb Kч%YH(U p-WKEE8Y.1Tɨؤ׊R}HS(XWa_MAb-.5-Ԫ͒? kC@ǵ%5}HhG[ +e -ѵS hTY٩P G3d#2Z(4p6iʖah+4)VhFk=' (9NZV6b ڧW6`_b^8S^6A`=aE',Z#CJ=f""r!R :_6MύN 4܋hyI+9$IpB34m l_-2=O6h&EZr_jQ味dWM619Fj]pu@deU-NߊQeѤ16IOg32$pXզ}b#kģzqo@m6yC!ɵ)F WeDI W)5#*1ڶ-*m],r-Zs Y١VL\ QE}<;yJm=.Z1B#j#!~FoNLQ,~㘚ʴIBE-GbuY08xr٩}FN$8P.,s&nM"CڛhDj@Z4mB\T똪~85DMZ:Z&p>]7 \ЬUSàӄ9=8.}*Uc}EJŇ#{`ZC4.`Fsanu1N\AilV7Ib2nyDѤy1lFh<S7Kk]bRM%W\/{bƒlPrQLx/-ϏÀYvfg8!so%m/9XV+J'5aVyťe$|bFI!qY\»*XI%BM#d$EiKW8)?I`]+cʃS#a՞#sq8,9TEI(Qw0fP.l)Z&"aJ} §c>=5qЋDy-(z,IKŲQ2ՖeX?~V@Uh_šZmT(0wx7[_y\pL֨ 'nFE"Lʷ$ĉ@BpcoԚ蘰nrDVg|aӚSEvZ×\&V/ry+\: ! q4\^ K[e/#>LXVuS:0K 9CrB9:nnc8$5Eҽ'rR%kc+H6*Y`RA!y:Bh-l%մXqe}eE lf+0k[SQt =% } 75X_SWaPC01ykS">{awВ{a g9|D:A5܃V#xiӔ,V.lCڨu0 CaP˪.cp^/H !4lYV,/D5c t<) 3coꍽUCհ2JG'Ծu9%up$f&jtͲt0HuDw;IO]"'&&,7n'h)-.^!Vn7k7+]LhpHEӆMuwt@W>[0^М {/,jm\;"\ Ͳo) %fpQ ;ZguphF{@QSĔU<u8 !ެ 4duIoEyW8֟ !{DmLƨzju(AK 3d:Ui[<=>*,' `0Zeutb  x ~*{ fSƚ0 %hA1:*p˯R"x{ʲj3p̢%ËM q0uJ #e ]qma䥋0Q}ej"aRS7 7P1RR-T/E-"N Zk3쑋T Ǥ8~[X{/T~6.  bDD&H/4rjҎ*PI';c;I ^*H ݊h'LڈlH!nXPۚLٛ5D7mn7y$B.c)ZATx֣(M8m=Gtیvq#®9x{ZaZ=29̐%uC7(k3/)Wfͮ `&T(}=yLnɭʁMN sl4–7:Me5A i =Y0.4wA+Ỵ̈dِ:Jf\zWkPZVf#u "F߀A AS@fc/9@Ym%@Ǝ{Eۨwu xkZML\ &J;NrVcE)pR*O,( 4k%LJ*Q-.'JuN]80@2[e[V[1$+Ob Dw ҽVD /^De[BAڄ5ɱekLaW;`lvY+xKi|we-'DWᕓ咜saA=?厹QhcBq ̤if9` qV2k(P-Bu)c'r=R-zV׎]1ER@3cԟĂfQK0Zm;ڨs)ħC:.Adj4^en8bydK#:B )\qq-\%X==WD٦f(6AzFD\.Xu2Ept9k4oZt}sUӬ.LdrFNЩ{g'gf3{E~WǸlf6#\eBc"; %@)dx=# m(׳kW2 `(e[eZ[˽"4!'uW`+@GzI؈Te!Ǎs%lIv &/r4rʵwgy,;O..mD \ [5Wl^ c~-ay° ٔ7|)c,⯡k-/T *0E&C,ૄ2in_$]ިC:hmh@05{`]:88#\@x?v] 'j3ZHu<&Hfqur5 G%ʐ]YA&M A/.QHAӣ,HawRxVTRr69(wQ燎Uvh'ݥJ: EBja?tc/^,HїP0\Ml  ^Wj^6{rٸ<4%<ɸO~4lg+gA{ASUJQQrƮq#Cy"u86 ~bvl7j'я11n*C%&Ԭs_,c˘18n1^z#feެ{x.Ȏh7l͊/#}hw$޽4C>7ẨjMPW]oOۢU0Eg8but^br(DՒ>C'ƹ-PauqK>qP FB\T5VCr @VmeTkJ~h%TZ Tgc-,vcJ╆pZh։%e0g`zl2."vgha̹FV`UjrѰ ewk#I҅_)ݜlcnl_ K*J2f{ߌKfF^T=3fwPȈ'fb3ݾ!F[cWbٚ(aO"NQV-\Je!Ǫ)=$yI UC'^GY>E)d{U.lp.$|rP=݆TCjM2Iiibho,MḾ=sSFףÿsÉָrf)DY|6#^R-I[òQ6(J&[t6@c#nQw(a=@POhC71VYݜkwAS9Tte蛠f(f` )U:-8tV)Ozv}@ #2uLM<1CIvTHřcX @4V5w[֖ivq3'\όD!Sm&]*X Ȍh("6QfڑM+ Dv˜?D'yT:ɍRP'Z&oϚ:ƩԉT~xRSYGtU5Fh/-Q -Uwl~;QbL^.&&>!PdJ_^p.u#ǰ(rధ"aeF)9NxtἁsՀ2]*>V>=|EBOYD+~i$kpG/8'"5WtŜ}UrzCtWk#:0jsPNZ1kn4*3*_,~cΰ&AMnz0O꤅ ,>8=i#"sks?cj#pK/=h~&S;:8aIE#[ mPj>~Dbl)`sZ:d-煙ݏKSZ=Y}V}Mכo؂[bqJ3G^$]h~ dc$^}GYfߥm}7uOY9)f~1P[|w߭0]G.<7M3Dm6^{/]zZ;ȞNnr6|CrcIJd7iy>bz& Ģ9삜]պ(j"xxE1RmeJo61qOXnM'l%yɼe)Se]rm==Eo6?z٭?D ;o*`@+&K.*/9$*]`8ы]򳱨sP@TnpܬVO(ąoZ(ea',Θki{L1OY=?l-t .M|ЀKG01X +Sߎ6OP`j:L"9(wx/ƤÃ]/ U­&|d!,l69L >ʴ>OlzґG]zBqn,Z=XmՁ^=9r k5 l")ٜԏ;&jlS \+ԅ H,ڻLft LAn9:ĹlHY UF=2Jcد)Vk}s8.C )_dg$4%)k6 |De v2 s1dڟcƩNU@٪ַ#*P"uPdT-zGnHC[@۹v9a}|_*xWt@0^ؽMgp_S~PmU8حTq_bB:F+󵀓MZ`aDdݙu[ WPQJX;-̝xAޯ8@Ϙ*xPc, dA٢;)&I#tq֧2{Ôo_d"/:&T4 UDfHW/|N>T۬TԯnZ)g7ؤ [^ 1mcgrw;woCݻHu~_j4 G}ȧn %U:ۺ+bE_Zm%T~q?zLփrRuJ.su:7;[ۚ+5׺wl@>H6K͢ˉl b5̊V!nsZއ;eҥǩL$]0C}k6V(<?uҊc2?+}֟/ !6:0■"dr7<4T _@Xt kElgn5,{(ȧz 7rɃ !nxsc#Lu _0UXў"2B(X:\ȥwhr.am TC_GSEA8 I6cJ#2'iXSLc*e 9>5ХrX"d`akRVE0_sUP?;EAVbM>k{M(kA*F䬜J>g O܊HS{ O uur(oK|POO1 "m0o !Xk9,Ҍ8~V{!By^ny{ RE*TFb65f]⑆9)54;fy%w ro;u۰gW"*G1.]}кZL3fM sw)%V]1Z 2ΑI(| W9K. 8+ J0!".с퀤;3c0]'eucG~ZR@Յ7Ws+l |1O͊pûBk@wdIp3q q=Ǘ4Aڶv|9v +ô1޶Wy6;'=ى&SpG>IJv_Yc/quFLH½qZ=M{TiDW%ꡞN\.hۈ$kZ&EE^:"p AE=voUVoYVaN׃~VqCA]_OEĉ% 7U-*\zZCؗE߯Anzm$`m~[%`@-=uҊzH+kdQVrir}D YKmōr~aNH)ڽu>/ߩOB7'FxvMY)`ynVY"~SNO5ߘϏ? |;Կp?'/p?co992%unVX]_jFikru\rq>3Rk{v,_V}Mp]_2K_Ϲm?5|˚Zӯ&j[q&D7n(3vO(DӃuz0dҠsy1x8+\k_24_msiQ"kbd@,E14?/y?M#sO;ʿ炖4Ư)oX~+MݱY3oz Y~, Rq߲Q>']&""H} T,2?4tn;]Fh.1+ ֖ })6B2Nh{~k:n%duUB䒄ù Lw"k6:J֒9mvZ`ՙ5nRO0i73ߚq>Du᷺ȡf;dj~y 4O/m.<"0IiUF}ȕxW MBb5Qvկ-@<4҄ʙ:A0Ĺ)5蒳tպ.}:#+Za:o)v/"i7d5@NN`D4p_bISqvm).抲ZDMK呜fʻњ7f6͕AO-Rў@.3OWYj.xٿ)ٰlMiޓ?-0ZUGȴ QdZzj ρTkz;Z2iTM']^`)4CIoH&J+iK: `WyvJ ΦEe1 p.1o@՜icK>!.(0꾗߱%%UųLBw{(F}p2M6b{(`j3-& K[3h;@D.#L!R*.t%䯿ןdpfψ5\)x@ȫjP +nNJx^\YrDxoz)ר;ǒ:D ҽ' lW:AUv&[/|tDYf1Ĩᆶ$ J !ʈJ*jP,P 7~-ϳLV+)N]j|>1?D6j>;*!?7C|\#bǧ)kdEVq'm(s(1//h_//K%'XRRԚ&jSG|Ÿ grĨԟ<(Wŀ- RY+Ы~OK3nlSs?_u.Lq8tD5zbqoF,z+4GX;J}~:.+٘ m'O68(P}EO)MQ;ȕ_XM_y6|< uzD M/\2%{ tcVq*( _Q)qɸ8'#%y&CP\H1(wCLb:@ ZgwJ0e3f\;pۡ|0LO8\_IVH8>Y]ΧC`BZS@3PxYR UuZ%oV59GyP-̢=$qաݦZy6>sS!)irZR"rUS#Ҫщ5ɞm;q$_܏R~xg˞/~Mp7C^d'iS6XN*vtuU)o1mdSТLlަdW] i㓖M]SǎXّrqSZaVYpڌ/}:^gp1zNO EU29P0^NAMqn/bSc.o`(Z/O$ 0Ŏw)d9HSK ]5a-V&~3jl+㕬iae5#YHgZ 9F<.8T/kXq@#F6"Bwڟf7KO MԪO.lⶬ7Wc&/l:K$@UUDDP+/ɀZav';l͍T;cVъ + ^R)YއNO"e}qzR{P*Fj&V?} >?ct\Mh-Ae% ytkpkڵ[!PxA͉/[.˽`YN$nf)e mJoukm|߂ሀPK5+v|fdAmxM|0kXa9oYJ&`raY}%r ɦ 6$,%Ru)/RdhaCNl@OCVy PIp1j㻧'i칲e1 ] |=r&|i1W[!4\$Qh/ .I5<<6bTE{6?Ӹa M,^Pެ<-Pou$`{oȰQh+.4D]d~_YE1p0Ks?OOۏ<+:HjcRP2!Zk~9|N9f򯪁}CYR"vxh6jCt*{0^?޲+y٣مJj*Qcb տ}x@=_c$>j&l#k8@1|~w?C$SLu};Wz\@*1MqIv&%ql) \Ns49@֮r3ܬՓv c"z0Qf΋Y\;.[ 4b76^so)=L㝈:B=XX7ZXjI^o-%vG%ZuԬ4K#j4l48S|bz2㞱.+igӔ＀g>B'E)pGWtr tGF{?QQZ_=ʝV\igoO`Lu8&ۇdg7d婹>ji>| g^v'noz:K/l#M 5UJal7KaDf@mtXNWl^3l- 3lI#^֌\@k*)gɠq˘6c'_jO3 e*!Q5TLՙ*{It֙e=bh 4S~J 20 W纡bS)d-?ϳrvRoD9^טǪWVV1fK4ųX;ABl1TU\dF |= X4PN_u)h8X㏸tQ6Srp,ALU g=_ܷhOWJJ A_3v"_L~VJ}0?;gr=v~Kb-3WClxCK}UciuցW,-w01BZMtԍrIاMDת{UA?cO*76w趜- m@QM\1h]1|Wen}+q+( NQN =bH_Dl1Kb7a?;v4[@k EpTؼIƙЎUάxMCövYk(^ cVZH/l9]Q1ٰ/+>&V&byn|^Nuٽ.91kיk)bXRP(pg"7Qet[@i mF\׋0vۛ*fjmr>Ѯ)Xy&M*Z#y\cg 5BW۞NƂ>NOnH=W0CժVL)U*ZtlLv;C>`tm2t Bdqe\Ii&c"ln$O$>g~WR^M/Y v#AĆ>{nB}>Ԍ3۵v"J@"V3vEL YjZzAqE?;Qk3k45G*A=iZ{^[VH جH3wᱣ?,J(grKH4:_xl1DF!5 5R,/zG:Nأ\rz&=B3]EլJT)UtP%^4М~5>KbY6ҐjiÌ$UsqEXl$i@ٻlz)b꿘xX%E(wtχ9Pv|o /)/B}@GЏٯ9r!2B3ZU` @BYYz]Ԏ hX}Ֆ 1LfA%JXcⴗ|ϒ6dAA1ƨQ8XWфʼTur]b9nA$:ʍXQǕb:HJU"pQ *[,\Uc#[ªz l45c!zyq*#© 'XY:ڗMFrFŅ5/>uՑd< `LD [su։5Պ kR0?o Ɣnj$p,h^Fʄ6aUPW X5*CU>  -Z܉*/`j'^Coľ&_`& |dPQ<(FTݡktZXe El|JWvX0Z̦"jD'J "7_mbY>:񶹩[\^ˮ1OD,z͖5Wxxc )/,U3G@]'ZmfdFeqMh$]\ =MA" T%xh'lsQ|>S!G_*[u-4&E)ӢkJ&X]4+y 0]7Ei2I$$\YYة]ȕDw IR8bȻ%9/#ge鸚wKN`6 YâąP\hkz7SN0wQ.xR]BSG\ntߋ.&!Z!}/qkɡĴBkgM쀃EX[trLVSܰH'yIS]~s4)!9i"Ǔ t~qV7$nM a'ۼKb0| wջ҉HQYMFcO';B^[,~ĉS⫢cָ\@A-U'>+vOɍ[&- aq\T15,P ET=y{Ȓ"XPo4>¸߲UTB/ܻarS /{lL?_-~b?y؟6+6_;3,o.HTΠ>da7q;XKn+'"r:w>6"ZZ .62wtu[;;nopJǠi&1k#'jnjlll(,z45j8˖_.rD~L-``}ι' ,%d(j.a@jVEXf|}K^Bab{Ђ'ʦ.1Oq[R#ё=Ŋi^v@$XwaȈEC'Fv40a;sh@!ڲ* 7T+u0Ov8Oˤ CbbFфFpPeNק` i HH W0T9._srubjd2:LYX@A1 P1}}`Ho^i1$!.BIgYY2B 9aWe{,.2J3j7,"tt?B(iKνGp „TM)z_zkkI7iml]gκ]xf;jk 3=?+ubMS?~S~p?:)9K&`/͌XS*ZEV XYǫ,E+嶑&lEH65߽[=dmӒwZ #>9F4^N {f#+N/prY AGدS-H5,8?jp&SS N^IJ*{v#KFzڝii'A]XYGqȨ ]]Ѐ}{v3 hFE%܈IIlC7.6)54ef4Ƕ/"iciV(7NiMDױAr~8gpj޲_Tk>vwn9`ʎ X֭jgu+9W$;j3^8e'Da'( Tr<'f [.0f1Vяjۭ'{zώ[;(Cr:,{vUitECUgϟW}j}nG/l^J"͇h- B B@5sܘ׭p5m!}>i?ݬ&Mv66r T-gwVBL3NTB,)م:O.9꿀"d>CsR6h秗h>l:2??{`&/Hy1 `>x =8$!wNԨAl&>)iw D 54[;/& Lw ~zu:s޳_|L';;cq%JAyʪ*xzrOOTA_&{ɋLJL^zA7Q:"5=1ilJ5W5lG'irel[3H͖ x?bLg.v6;jw;ɷ?S}5Gs޽NSQΠӽ$Zߺ}:ڃ\=Ȳ0w?l~lo/6׷7{;l?M"@HG܁`K|4%\](mZZƸs&#}0N5d#ﮮ}VV6?&VVtښݍm\ega8CI OlL"`5LW,u j57:mXb5<G Ce͗"CNlO^uwj{u>OwŌ3EȑlZ- m':OU)PO,$2.}iݺ )CɰL4A?UUڰ [“un;|DS4Z[[߽ տρ:E7W oձ2 4#K=+1F8}1vh%2QO)c AO۞qj68X/-xDMXS˥X)Z3!Fi"K /MXm8'L{%:s!ET[ϩ *$SyQr_,gR2+*3IgM?iWݽx ӪW"c󊗆DDŽ 8W rkӴCFv7P,|X~Sv)3Fu"sy^ }XӱabSB螏# .R)8w~olb+|xP;/zytZaw|GnZ '_+ _~fPȥ [rnV{mb=PQ?|vlxCTjW::JIZշR4!N qhol FBgaW߾AsaOq} ojꈓҺv]ʩbDj^LУnYt1YFwhGeҪG{zA_ DtȁDVxufYl0c~_8}Y}ə?`W5g% 6b4W^7|t [0ছۗWg8g/qKJZK$,xY1e)[I8Foi 9Ĉ9Gfs(lW-&AE\-pƟf} b2t G`X3?~ꠊ{9u1˸%'Ft:`ej08ռx+Q9QV3ǼQ~D,~IadaAA Pj[vOHNGj^ꖤϯߚ~l4X x[rA+p~,ꋆ Ոߍ5~jԗmn}[_쿷 nonm73_{3ߛހڦZ~y2~kܲ7pη7q6jaMX{H>llÎqzYV:v4&s/*`ԓUGG=|Sr4A(Ž@ #Rּ B 6_>dDK12Fl8_L&Y눱P2rIŗM~gaEWÕT/Y*5M XoTX-eޠ?M>{Ѡ?N'Pf&&e*$mRMJlqϳepmR|H6J&>p48UtG]}r[s XN8 w.8|,:FN(|֛f8(ƼչI9C8`{i KОVVpaHOՓQq.fx\X v<{ |o#\@m,Y6GuPbz˃:=E.Y͢C3.Hnnku{os7o}FB`1*Ѩὡ+o7Ch_EgUˮ<14F MޫOf+D .-֏-#Y$sP?.PIZB4R])ӒG[J.h3gA ('3\ "CN 'X_r ASl)C!s3aLjˇ:y66YڰpBjЬ.vF !P3h-M;c n^zeѬZƱѪLjF2H{Q@0즴mB Tk"|Mo4Y<:u+MW.m3nTZQgulpP?gCJm/B:ꭹ ,UVtzǨ`sH7+؃iǜ:zh9?%)O\GI?ߦ%AloǙ(B?{myu,K#ayWOFe+*C1Zm?ҩ/0ǝ0)'Sc&>ӅJ R>@(z84dVW.8[+ DA^٘V>7C֏HHr ߩP6HtOs#ٞOF>ꃼü8uRaK'06THr^ݬ~j+kc}&3,1]·8Ȃg̰OĄ9;G$sqkX"Gc gPiP\%,<0ȄNx-G3}؛, N9!<]b ҂`XgBڏp~@z[ Y:w(9&.JS0u:iIv{~fṃQhNyKSXrDk)k4̚y0L*`H#;XDςRItjaJչl|=OvnENG]XT:5r#t?ܜWOǬP1IŜm^ҁtmZ1vl%y>!Ox+gh+o;YwFߌCJ#3~Re!6E'-F| 4E0W.żtNuϺ^Sj.L8 BljuHL,E5u~P9 b6r٢nLdcvwDCU+(+bv(PWZ@aӎ15p+$Mea'¢Uw kֹ80^TuJ.Nzf\\VlrjzJkFi2TRuw93j8p z%G"'XS;,LvXN9VPpst˿R{K5!g x dՈ0Ӱhq,u-=R0omF55#_ٖYzv @ɳ @ u}5Q?|^K&xsU%)u\)Yp(߄Z?=$=n/6'EvN6xQOX 2r č:/SIDx5. ;'۹G*;/H_w=GyRfVf4IH1 c2tC4B[4s/7!To2gk6P:8Ek3#S'+/튀IU`7c\Lו52kil}۸Ueg?mF^ߞz wq1viW'@LVjL 8+-R.%<Ι@d0BJ(k{ j ;NJiN28 3²׎P2ޯMp%{"|?3sgҍ&,޹i[x }8B>\ު#ѽpˍWEGK-b_zĹlhߴy-涩;ifM-ӏZ$W;.3ZdaM-vz`} n͍FY:=˰{ۖ3aqFVnE,W #'F%- 7*٠3e:/: b~HWr)἗v~IQ5m65s@:h,h?xo"rmU4U$\DAiƖЧ,&v7R 6AT_Uhm\ m9Ft 1 zKr4Ɠxߺ5+v9l͑:&rFlwalo+اcCS8E79[aF\)̙N9o YE_}ӎl#\`Y!k-]U,xU1%8`0q5dl W5n ېJ%5eD럫:3,٘F#%o͒hcD5J޴_U0)~~U>ci8 w XK_Tysڄc\L8AKUwKWTـ]&A\ë$E|Ѱڳ)iCũfu6i•'C;8\Q CoF&;Ӫۇjve-1e ' hE4NkDTjT6 '/w z;jk;쪛m}AƯƏ C;Z~H¯8an/퍘K.`Ҹ%ΆI:̼ LpBX>!{U&Z%ɱ"5:o% QJHvp!(y1WKH=rEJ-w2ur>I\{i{M Eb {TY.bX|\$M7;S᫫c er//vkG\ʚf[Ӹh#chpټ ЗؗlK7%Sv-)rY\b7w58 ܏j wUv6!C3i ohū|lDʹ1U F8R=Q$,gxZIy9%a $L##l?,e460z=x[{ A7:2MR cL {.!H p'RE41L -s8EׯqfU@A|1ɚ &Z 7\ 5=~?T1GUVO;b3ScEX w1i:Ƭ;;IHoZ"&܃ JxE,d稶XCwueW [!9$R(=x84ۺ4 G%ƩwE`U6|]CťkaW7#&;[fw+Al#SLy ﱐ{ Q\{>ZRrg.;SX;? &{8َ-i+ϻVvZYvɬ!jqoow"v~Z!@k30F;y0Xx2XA?@3Sp#tTҊ k o |} Q  D{YjgZ,V;b$l' ZPӨ_? "]ԛDmY`OZt2Ć@`kdW-؀N]K*'TuYLgnp槅ڒq;;fkh18'mTpp׵;R@GWꉦkj%mywCo$Pʠo9ooh\- \*>q iZS 8WF4홑77kIjInRG{hwY4nިdЉ 3OB.Z1~d?3nIFI!v4*;2TJr&f%/ ϼjgZ@ @9g3L+:&h~퉣$F4. _Or})40 {V"ٴQeE7/$0~4;1˃~up0-|.:;T珈-"|!W >:fh݀⌢vj?9Iwץ >q4da{;.c0("KV${IR0!;( ϳf9%81Qw Mt`tt`vH'}I;ge+V%\u$(Nu([¿ѰG82f fԤw[ǼyLk(@m9…eʗ8m*=`|~pv}%ʙ΢3 k~yo*Қb,\]=9}:o}INTBqrQ9R xpg]P~VO݊$*++ vNs!VnHpv1]M!Qi2'#!B8 %7Ro8{l(8ń}-"+P\̩hՈiúdmH6stIhQEݿSuG*ϰߎ \d9wYܤSH/:+&~]!/ 4WC!?[6ǫ)ug|j$c0ezT}[")yBvo5"h&MXp- UӶ76!-e YӒnRS{lL-kj+`/_-j-,YA0y ])3(ڋ%n#z rX풇h?KP`%VwR#pbdo G2kGʘshrR|V3z?fa@ƘQB9e!kqBdJa3 h]{̼ʍ`)&4yZq@`dw IJ BxYUwY꥟2mk'iuPƈb3-DOa *TU>@' QKC7Nё<#(`ʕpomJ1NW= 8qtx~lw~SQjJzÍR9f* J8Nk<ٔAsCsgqOLyŮEc?ymb`7èYˏU3Ζ $A?mIQ =p ۠DYs,G89?Z]k58P$kDa=;52)T` * ($bnDťӨj"M`1i!,GѦH;nl-Js@y]+ uD.ΑaXƬUJ`2;[9J38vż;Ch?fN<XMZ-ߊTX.,f%h#^EbqdT9gtsNMncA7[*Ӷ(}lvN&M#JM&(z.ߩ?ל}3(\s:Wo 4$h߂yk/TtDg]tOʬMZ*T歾eyd2p)Ge"Kcgl%#.H괭؎p8@x_VJ;*/Iw#0ȀF.+tCL1^OGQBOxG>FTʸpFgL{[_t%L*%&JuB @-HH徛OP+ܖ/ȴPdB|$*:S-kWNVV M5j?(24VKs.1>ijtu^Lg^a>TTOU"3i9{}YqfK7*Q7DlvǕ?|Rlh ڟ|Ji/ƲS${A/|O@ȉK$j'Nu:v[?V'z^@^8*:U+qdYYҷQ.v)RZ4iY[Tr`:i$]~e_d ## *:*Ƽ͂fIfCFii>SaE&N뢢:Q]ƀQSH/u_R%)oUf`w eDkzC@lxWxWsh]>E=/5KZ>ࡼo/֨ :A;3H>Zz1H mɜvVj@'YɌ֩&'p|ƇK/AXfVkw @Xb8dx:ճƑ*iU6˨$!$9 ЍAl=!(ҵpN $SĊC{RG?@ /X:' ޑ$hNwWKa+Dc@KLiU۽S%'`+bi~M׶ot4/=zU2h2)J9zf9=åhj2P1 |Nī]H s)-}_=U{wMO%ćmg?pb_ )xZ뻿CO>lE Qw*ӶmtS&ZhPs|Xov,trn;fGHփ|t]5?u w[w[zjn\8D 7+ haWg,;Y+'W'-W< 6M|  Ä)Ca/MŴ|<2"*%d9j)KX4ckAeL4M$Qm`2G*9ԎzMS鳠ǩ8BU~'qՊ(a\\fTɬ;r~J ~*ɝ+&N۔*-LHzύf{CM34)\!x`ِezEW=Y=왐Hb_JxKLx>-gtY 5? z ㇯t\/5^uEyn&R ``Sv"Fpy4ArIyVݶq6USC]^ 1ۢrr,+p!(Jr?P~l> ɏ%!x-GMG I[pT'2F" I *4Z ?}t5J!#9=ʎkM@̆;;̞RM{49am$פM3u@]<kς=c9.Қ`;9!y;avtJA(zMnSc=! (CsVsWwNI@nf::@/ 8οD9 9h5_Q0?s<<,)<渟YM%1`k|VN?P(Q,pFQPKUZzwĘ$Xك%=;M5 Hz0d` 03Jb܍-;n$C}3nz: R^18?_dX:m-10e.ɮU2%Kn4׍We6EUZiQ6(T#;]jV \^ L [WړZ{xUFl{LaB{mkkmy|+ mBNYlBd<? ܦxsuOdWE# ; "LHCz{Eb!we Z_"p*:` Q!GR=U: @BYةzדڕMmS:LYM+BQr$7CTAcGY~bB*1[Dϥ 7Hm&8md 3p+WD/ HG҂.d@}tY:X=1Aq#JF|! wGQuL+_>2H]'> ZYUneC-{Ͻ^ԋ]`]9eq.RSXHŁ0| !Q <Щh >J 5;^Eb ^?Lx.s Ɔ9h, hyg鈉OɡW_|r*D=?ԦAQ>zR Ocrׯ}# ^JK2HK9)W2<›+ ;,#xQ{q nj&pj04$ބVC A؍ k@W֩,+=>^md`OZ )_}7,T"RBwu.F*9}ͻ<DbgG K  ESʅ9]З '>ՕՉ Ok_Y=E C(g݄G)U"0;fG`_+{RJJ 9+=R/'om@j=k![-VWֆt Ati)q'XEN)NFgڎNg5Ӻ,u]/qLRlG#륨HyD}SY> )0eZ Dnj PEtmx8wS[įMk]oTxvھat_Kz>? *]'A/)k5Syua{WU qq&?vDVsX%-1b$(s]otB@2Ow\쯕Ӣ0|$rMg9W ~qR .&>ʜd_ 1YbZ-PsxeYIl}6}K"u$ph< 5!٬MB^PqZ34O.ھik{s="}8Z螼b)u5OEiC17B"Q2+-Y}~nazصJ [XwcFI53A>9œü^k16K~*Mȕ"EFW[!HirQLߒL;݌;X &ࣦ{8]jUN`%?}bjs aan5lmFĽrisz<xCt9\MNd#P7n$JZw8T_r#5=I1Յ8B) W wI>ؽ S+c jO߾Djmn=- ^x7k#4$nz/BPe,ހs őPLc2 uS|6wj} Lw9E/ZwPFzeZ7D:BuJVՃ rk2@2 ckH讦CxH}T;@ؓH ^5,l`XHQwƃʵpFu.XDFjhu%vQ5O79rrNO>9v chD 1C\fhAHt$[2g;掺0W-YLY@0u$a V~z6[6Bo2C UIJ['kk7}vX՘knf,fගFwYܢ(2Ay0CD Ū0YOol/ܱ6߄I%@ebME-=>Kn9/QO'=Q)‏,kqI=&e?CN t>Q&}㟞/RŅv:cG,=xbڛac渙T21ӆbS \dB7DA)X8Jt|<sa~J޵T?}]w~[n{okS=ߺwVyAIRMF[σ Z:S%Gq_f}{sk /A_$iϲrJ.-gkwFZىwƈv;l6?;S&.مҽ'cu,4BړO/|ڄoR#3U3x<)'+lyw4w#n?y .>̫#5&ȶn;[:>O١s ͢`2vc3EJZj"2it>W2\{/_=;>>U$P$zx~w~zrOOgGG/Zb'{/^x~tMj❯kz~K j ?TO.O՝a B*OhNrv6L❯,vqIAq4/@$GܻI~*!^|$[[[[6OWG{0uڑ6ȨtF;?|Y^&vsV喒{ɪQ_I@$chn!Ȍjs}6Sj7 [2F@bd(Z˙icӲ) V_fZWkj@?ת7ЉaqWגJתLv3,[Z^:s'G.t #NWTt)BXDŽTKG爧N &Vl09<>x >?z[?~{oOOȇo:um?#PDsߧpQ^*H|̥0tL?0E`bq'x>'Rm̴D,p Й%i;X{ZktJmD̳6V-^&g!BɊdK-MrJy[.9>q{0:{ 2SnWwGѹ9Ľ1LT1[zb|1˨tCYuE>!Oܫc ]@p13ޱꭔ2}Ǔ5 f7Ii˗lo$(ZKz:{8XtX[׷6*rm=ch}``AV36h6^~ozK+%f# |ΩQdJgvKDBRĞ;{R}qޔ٠+"O2}mw:5v#G^=9%/S$*_:߻лO&IK^hN[Cø6=GeYG琬烞#nLn?o}Ϸo}w_C|jm#_?@v{Jmlm|Mg# 7P-K˄SBEMb\O9a6-[$\-G2d?Sv‰jzmu6s~LвGx p~AcPr6QZf^zj)!G{GO#p#WۺR[2't A>S>y*.DG~.g,O~988fme[KB^ARΎPw|'tz߶&.rg.kSlw\ge' [[YbIhJҏ}v;|μuĉ{x* V[18 iXjH08V %eԵ - | 4\z=AN􊪝 UɫJrw>1!Ú ׮ }O'j=a`Í'_¸Iw.W| =_#;z a0\}}KIykbz:] t6Q5IZ]th'41:ċbBZ?Il3"kྲRzⴧoUjdh X;""Ƴq$k Ώ'FOyӤխIZ_q֦)~Ce7 n霽>b#KV-i Z8=lrx^ZDaj6GQ"Mt=0;W[jPkʦzi-M^"}Dux%HzyAW0hKY6T}UlX,&xeMn:2NPdX<׊ bts$}f UAkM :;2&+v+`oZB?@eFQOw_KZ%0i Iľ5{4yy-qu4~6qkjhRpeEA;[#h悖  IdUՌ&@;@l:*N2,Xr^ |*T)LyL9 {Pmo*&H攠j-ڼ͡Ɓ)&9V&x^3G9sJ(I"^r90^vԻ* ^P(qd ΈوoL"@$?nC;։LI6e Ԡ==Psy+1}Rlȕ嵵g9+4(-61f(ʱ&o+?奆(7ɚ)ieƬ>zޣޣlvC9',SAف--#i 2JAב?S˃LJɻ0,{o'憂KCf3B<>(8O^!ߺRŚ`4uP%tl8I|t!L?qspvg}`amIpZM!wMְԐl*zi>"Y6%Q޸^.MP{81ђvMΠYaqsP/ 1)M]IHD hc(V]b}qۊ5cA߱]<`]4M?OvהJn?}\b ⽽Bv%|$.)*"ry5QG$$orqqѥ8m<nd Ik}tRxZ-/{/%K>0yQ66nZ/Spha{GˌmNĊejKd?|3@xQ=^4Ӱ߽5F1%$p>״"I6˜=aQ!G 76.r2{n/bvޒ׺tr pzX"V> ׬p89@ Jk f6l[V^?< 4i=?>ٻCINNMgt.PJV_N1!VHۉ$=Xf]6dI9!f7H;J3_zH*h KP6-NLy[ 1/{=`1'_(Ϟ!.VvEooUg-{bϊM)0lPnZiZu*lڛ)l378AĦ"[7nS?'\s8΋W?=9BAu7/DlX9`HO$mR꥘r2ծ.{+Rh6~pg#hO}-~R:ʎü|&@|$c"5L1h.mSE:;5GWV<+/^rl3U[<ԜFY`]*5sh-kl\Mąh.=:ש:|>u8 J:]muc*.r-85q{+5WDO3y6uӤnNY%[ۨ7StMޏT%;٠2.ɎA=r~]L,Ml2PMRx7; J:h@@[n[BEЮ3JOFsAnr׎נ1<|,Gcq}ˍ~좋(ŏ⬮WhÀs4]cS r@WrwU*_!5_~:U /H$W~{^SW>̰7*~AU{^tgPN=2UHKޡY J 4z}G:ߗsXjc bթ&4,̗L B3ߛod5Sm] Nz~˂!;~/JO' _ eV7|~ϣB#{8ThpJ-Xcy-tUb=wv~IK˗1QFGI#`i; Cߥi0 ШztrGG#urbp<ݕNݺ.ML;55 >:pA6gώ{?=y_GS?)U_6[R9}U=:Ł˕OMtQ"o/5lؕZ£d8 mz+|ѫ'qƖ90[jNJчJ}!Jy{d|FNa4GP*7(u`EIE |s>T}N y_9R/.IO}?Q(D?~}/o /7'[@=ۘL"&$,#SDM.=CΫBWTvИ;\&! i!'>j@Ón =|o@صf) -'2.z V?Ahf*['ƱHVyhX^].~ߡb^N aJ,wPjTBiuZޔ*e~]C#,*sԌK|Eآ33^s`tïjnA*/zcjsv %#FLdĬMFʅ(F悿tz-pVԌnajB"3>NZG0Y蒩_Z9~?%0)cY ȅTMmQ~VH1{q+is|.#v?Hڣf%x[O1/qqs31Uqj63a)=hfÛ8{?y:+y@Pۨ% Փ.NŻ VR9ͧ''cG{$2_/G,!NU_R/ْOxڐ>2R=a^:| 2D hUoxXc4f=jO 쀶QPyb>3R8I29ڏ?,|с`ں?8uh f!ix7lA]kG b~Ψ#n@E\y:Ӌ'^Txm\-jCe&-weHzrovUxXue:4$hcۈKCr> ɵ+{5iHOdL:Amezi~AnfGf3Ҟ yrF6K&b]T gRlMGN*Ć o!v|^=p_nx\W{ؚIswIIU\}n3/YYLwk׭$cOY b%nF76}8ӷ..ݡihIzT8>j갲'])`f'Y͟!z.4? ~ 9nfpq(hx8hʲqG\f ؐԬS!mf>_6+1I(UѲ"Q< 0B|R5x21Fu Y53 8ZɯfOMOufK]88[M4r(=+9c#3ZX֢J[I;!CBO.˝5Lp0k~Mkt[ij!QuOȝV:83H2\%'84nCeQC>BAYUrK_ZkX6U/HL) `4Ah05ZbcpS4;\zvZGɱxF\/o]AFNV3H/ & jUX3]VE50xuܵNj7lQ~vl*r%V5& ([&Z]k4nu^E#MՔ6JKhn=7ȳtMܯIR8_tD5E!woUqELtt93;MъqGNSoJo|uz%{3[qpJ+ [ușvwF6YeHpAب,DZRM; kOt 1ĺ"AD, C9gxc@c`Yʑ# U)4:n\PpcڵyL ^7u ̅23rk8Z;@I#7`V;Րnmm۽NMg 2l=؏>wd ]o'ZoL:ZՆ[pI%.EoVIzzDE9En`~1ºrR:eY|!#u9~[h>a=& y0-&1ĝ導=V81DM0祷dCRϫ#I8d Ze4~SVDiد[zLbYloZH96/g&5-%!2魛: ! (d%ǻJލMbxB1%z$AwJbn7X۝،`H [7T]HDIu3׵ACndu@y׎jvB>M҇wz]w>`H!1gA۫Yʷz Q\;WiE-KQ(MqvzDUuPm@y?'ke6.̺@lJW%G*R_ko` ^y@0p O2޶EPL td5)Rb|xY%*۴^9Y~u*٥L25և@a"" j*lj eX~dFp*nhp'xo$mt5B~>u/hј0hk1l갡Ɩ=Xr]&jtJ׌>I:G-0 ! 1X3NS8ZTEvNsƬ_7QIPHBRDU#5g/Vmw'eH]?AyӺg%C qdlT VT؆:}uzO:xWkiBz9"1&w< Td0_2i1,7. 7P|4.ۅ{솷`6up8ϠU-Kjvf3oY[.̰MTƫX0?YNmqz7*,q#@ٳT dY="7wv@?JyNӖF*VGbah00F\R)h,㫫}A(*pZ"ay/}UT;s$${y"!&1 P HR!F27, s̚IJ)ݦV}ecCnP쨅B#Vgu -r| l٫shA͚uԠt+ZeLwd I߼np =\LϧAM.BhDin+2נ.*{KWGԿBmW5Ld9ZpgK}eQHZFNJ&\d(I6dAh3ݗE[P n\v0ڤ7&ݽRMMo!Zbt^b*Kc +,O;I mٜ5合;fj:@R!yd홄bnYʔjQ6b4*ۖqp,B?t9#wv\hWM0xRjxEew -Pc^)J ƋZ!Ep˘ Et ߎXuO|e83Kg#ؿi*J^J2# hܚ#? ia謄Pӫۀǹ&u|E ĥ[p7 TLikW*yf4D)G<V*$ +#b 7& Y+(~z^ ^lo:(:cl9 ArtgUX/]`aWm-yUK([SȲk^?R5i`I(+q}jዯ @C'"k" ԧcExx ;A_ÆV)׍>mʹһ~ AAk_H$R~_=?>8mٰ?mlQ4_~??A}~%6~0nUv8-LZn%| `5 ̧6WLA%۝oUd=wrV'|֠0jU@#H;8/) K@_ǗdjYMdW8jãsݍUV8Z/i͠k~Qnvۖ_Q|n*4Gey˃'OA3ҭ%zŹWz؀q ^\cM`p E:AАgΊ)T]QLFD9CQ0Q{Ԩ k׺o^S[oU[$qA7bٷы)59P78/_LJ0䩄e҄ >D[T0vwbk+^mJnmt̂AP tϏ{/0-^2 ruЪfXɘT5V[죥Ĵ* lp9z6`a.ӌ:tݺ *Jz)P3Cimv]>В+,jrc<fV]2}2U3[W'|l秧ݏ%\,k.!0q ur eX̪;TH|[Ƕzeit\ڪz Ye(=r*»JUD/{lԴtp^;1yyo>Y}sU)͚y ;}!AxJ$ܖ} gDjՕm VI8lW2&=uzA9Yq-$ /)$X z$ѨD"Z$Rbmys?~(aqήfxp-}rpq᳣'Okv&">B$H]Ìd1ۣ5ٙF!8,ڛAX:a,Ä.0E2l":I.ϫ.c4#8\b IнS@iT릩MEx >fM׀:A=|L!0ja]Z_OFjçIN*gז'{^fL7;D1=D lhœŐ| d i%qdkF"yGd@5x]W"$^6' Ta4OcPNހ9~Ԩ.<ީ\#66o*")W։ެ350)b Z74@۞MXnj׉,X'O32fq%PrN0?o>9!ݷWc5ypxNMP _V1N 6C7g:aN7 XY1sB{).%M*2f ~5XcRŷdj׾ţQ6f5cbG 1"mZ~R妰`Ϝ,(B66oہaJFR͜a} r9Z/3E5b=SHV}vL~*?a>fmo|w-|?;y/pK8*5#OSh!Rkg,IDadLubKxʆ4;Զl7>) {"EשGȎaL=]^&;S5\qDmN#ASIBBP3 j~xmٴ k|bQAujdaEqCF{KfjH'HPPөD-Sk_  os?W˿@}QE?tUj~p7o~?;Vj~"|&S]Vj@RJm# LOE7ܨEOӱ*>/LF6E5cȥ 1KnʄDϳbn=tS{Ҿ*(^Fg{O1?T:53kst'~Y":_Kz‡$K'e}`8unR?X31OyИApG&r([أP# KcЮ+]1b4"UunŻ'RMa3T\ %Q*:kpWV&p_FseMbdlw&8iS]#$'Skլ1&o\ʌ.ysb˵u=9`| g\H EE|t9M,\ui*\W!ca܋9Ʃv47hi!o>闥 0 r(1 k_(GB/ qf#8!s&@&t/8l5lJԢ!9/ Xu+ r#fLH8caDy*4CY$^jꉚ-}<+'|]+ ̧ΠڄdfubKp1 ]ϥ;tw:2#-QTwݪ+OUTFY۞7P n6u.HgܗmaUR]-*cRL$[oUڭ!{%81T,YV e=l@㔳J8>HmHdOIq7Ej@FS [f*CuZDҦ@TN #"2^E UNAX ?](vpP؉NTz#`fO3%dG0|`9Ly= ?YB3> ծ-~VgXM=EF.?376Aa@zW :PȬm !̖t*tř5zV[PMuQU ]F3^PC-hچzN˩7Cy_oaB7 iOSCŊi5|4TRNjyhG\[#>*mG1O+pFJ|.Y ^Q e4H^gAum (Vjwp/noS;vۭqw>e}4T\gpoPEܺ:jZ.}h]DZC@\t Gb:TV Am|CjkSj$ t[g[Z N{@d@M#P_#3o;n' nBMJX{J=9Fqͼ>ǚ8V&CH˹_$mIf9~M{~xrO &۲vP }rg` sqj[:o-zh'0 (BȬ*+ń{\ű%^`utEJS8ޡC ?YDU7ݯoS%õvTS[Aƭ YXiעKfE5mW ^%aũ?-^:NhdJ:䳠z׶:-YԪvxڦ2T*fSYJfiM#=v3YP2n}[u|0\{N5S44#Bi>/{]WrΔ>|HmF7#0LR1`@ ;zh%RJmBS"+|̳\[xҤ1?م/l*.x  3(zo8$OgN<@!Ffl r*M$~\rܿJL^n1A][r>_#96Z*)2 9s6#rZ{ 'q؋-U u"e6-dxH~</(:0E7vхgX2N/.}>W7UWW(nnXzqQ)xtCP˱*Je+*:7aWPEc'+X3ǚ_n" ^Zu3ZVCe6pRT-XMClKhDVA1TtnP§"\BՇq7Fo3e\d*l1#Mr-b+|r]I;;hߺV'!G=AmމAdg |'uA6"} x`ɗi^:a|ޓ'?z4?dsyi!)z9vǿ:?^S b˽Ņ+CQsi«X`32ERCGo,"tsTݻ.p|]N0aFsR6Y|[ 'KmC(L7o]YCM|t2Z^d+u[#GGßkrD!?l]`CЍneb; x7da2{[:**6yT 71Rq$<6țt$y}3=8Gݯ.rAwjKmP^`*G}" A-:xkk6~c4L 6P˛ Miehϒv P kRFkvmڑxD]==VSͶnWn{vIF\QI2NS/TFI -+4dvՑ8ٸO\/hXX[,N0F/_Xf;wƞl+%fv`W3Lts$c&9$fU\HkГqJ2cpT` )JȑVj$}iJLSRqg#}QcnNtrk\e]B@C ocXt"1YQ52J\c [Ɲa '5Ҍ_)4+,c('9' 1rg$tP*f5! a;:h<,ǻdCoGẄ́=b# ϗL;.  $ Yn\R fK/\8\W`_7 z"v4 97/zh}V<.[0de%Dz̄Փ{9j.'UXDtO9+Q3|( -c:D΋{e(ԹLiB_ֻi9a,ÒI66x-^Q- y4vf!suY fD=LڱێƿkkV_wMuк*vr N1Pպjm<~A995W@FE (pR ȭQaERb9K0 -^ ֦ NKmґ2F>.@rG9y#0 Z"%Gty](RѪ@LҰʹzLsw$b颾+QQӀ1hh. 㔰+ RBZf_ KYN(tz_eCCmP4f`@8үӅymV',HAr^fa S"\1flM.`LqHtWy>6,OAn}_Vmކqr\ڭzMc@GHvjwѬÃlBKK+A6  qkޡPdÝP7-wTʍ?'b$9Bn.[rw17c dž0-oE-ݕ'[Qmno% @˚ >l7J@n{>Y>8"ξUj*cp<Q{-rVR뚼i2jȾBKֱ\J]J`Gz?m |S:4E|9 haZa83\J G x20i1rS5牬e E<퓷;;}u$'4 |eяӄM:kŠXY_-*dhXt&:B_$AҸD5oB)WhaڛG5L7hYsImpi<huu\?tȔdC%־J^=1sS m"AΗs]C:"[,kH3or:k Gh6Ywo+}'PO^ŷ"L>Np@Xy D%~uz7#N Bjdp|l]z`Yt݇H'+@m8Tw$Dg/䥏Nm ghSpnw)Q&T0s1.5&T2'F/3 畢PϮ_EX5DnjβvH ye5US<Ҋ%O%CʥPDKWN։fN4?]B,'sYbڮVᷚ4NZGxiR>SɨXG G,8XOx#E Uj~sY+kaOSڳ ͲXwr٣trYmG)M3 Mde%l;8|+JwN]~v@p: I19 uBgD^GdafQV).ʣMv;JgJc5G 8dJ@ClcWO 0mE)_/"e.w= 6 ωHh}xz)r]DQ§2G/Q& wNfˊڏ;hgc:gv=X(B*I kC"TѴd_t^V vFP.JƊS[$P"(#l8KVhB^X!ACl4D(#$I P/rQy$듄`,=l1s4R*#Smu {δe6Gnke`SZ E@}LG"5ZjFZ\.oE* qԡ:DΛ@_rke ឤҧzSùϹJPo`"$5&I@$ 4!_HiHLk1 G4h;J9R2a o>k!byݢ*cgs0锷 b?C:6;U Iՙ.I>P܎l"0z4Qs3u&g'괙nbbFhτO`HbY3Qs0sc8.Fڳ^~t,s0Q~LT^Eg͑m>iﱖ;h:UC8I~!BnutvFS4s̻">Nv{sLoZ?]{{O{z_ "KC~9h!4|YK\S$P4oUqozTv߼g0@&f©n8jXV ~}hh8z?|vO)j1w.eHp& zbCpˮy b2{huޝSvx,q;|cf%÷iI@,yW/*j_`jk'|PN\Uz7aHX9u*N;-|^J%6gŰȦ\C(+>!`Er,ݚ*vwV "hZYPRtX}j'u#ɵE}mV({HN=Z7"'/JA{EW<9x|ϖx<F;nk*Ӑu%Ҝ$6bOڌ(A:\$jZ2 iz!zJId1fJlHJV@Tn\ ?d wwtQ!u ņVRN TLxxuvR!A6 o+?$UMddrm{ݚł/k\^ŴPi" +i/)g"q衬k0ᚅSJea?2j!&*3H̙#:B7' 65#K;} MV&HϊY:D.u{E,^K'm"J8цid~Kˆs#cmRGiiBh䘦/ [`8yG*^6.OX0gY1@pI,sQ#ӊ41RzZH55f o%4v>Ȱx?j24EhIT ͘Ys bD_<8]]t!?-eϲ3ْ:41lŏx&Ov|K@s< 2b\î_Oߖorw ?|쵝Cm *=3G$ bhVzW>&sbFR5z[~ㅙu:oPS2Eb-jng36Κ,zyy]漼:`ʹgfUWvx]WUS_%QrɩRƙoA]vܪs[:tYh d;x7\;oe='u15GunL];̞|nU+֢:M?&ۺaaC+D lr"6 \}2zᤞNTŔ62KVcN6#耋f~Cmj mq5[&Z2c1ln=r#T 1eeN_%:9eC'/i b( Llk-9J0n"O0zKmf>\b)q:ᦼdD=lVJly3+FkMe*7\8YyB$AY_A`srl8ٜq :59ڭϥ],;*Cy!SzN6ߘk^ v#y5v≋6X Kp"B\JVSKN!lx-f*Mg dֽrgj %`@Y6{1-YYޠ9Xd9W Uh8d7\R{J;ixz B[8N> K}/È3eƗK;M6Fv_.д) ` UI- ۉACᨢe.@=UViu1հ=msHҚ02д/zB7]:FDފ: ~'bdvmXLcQW%L4;4(o&*
RAbxS(>?D:z8na(W쾛a/ c%k>(tŜ{PkDXo>`:S=/ES;^*wL!/8Xah}2;7e /? _u(iFɇN,E}ሮƥCA'u0cZI@< ȍ O3?%PP}j$TTYJ钂.WYJx:&OPP2[\͹sF9sк@2W x;~ސFm"OMk_:8j{Yp#,1;dGRUɄJ>:+,/of\&+ngN)>BTVjIΡP5W Z/bvkMjϦkiMh;Z;˭j]ewlw^lz2ajIo[9i~nHQVnJ!T>F#vd{G/Zg|Q<P$}}u=~;m4Fb^n1ܛ,Π蝫>~|b:kr{"`bM$kΥܿZE9kڢU#m];{j<"'GX(KL1:BF]',4K دվ?|V Q?$#&.gF>ܺP,oݠC4ڲhFצ[M*lɫx' #5x*L^p/;G˾9r/t2Q P;Pj.#Z08;C̵ՀkoE8#~-9f@%HJȘ~Z XtW^4rp_0=_ɑ߲*م?l`EI8Z%XUwm<֌@~8ֻ\]D~Ωf0rҪ]9|-Є hQQ7G;A~7+mwIT7K8bvzE8%?7a8'$C02βMض&!Ami :˄ 8Nɜ} vhϒziu֚o@uҘW)H^9VUM5u}zPQ\+ K2ZŠ=}2)2]ach(ِdkk?ּ-[? ZSӕSܗ9.Mx>MWq-9AO;Y14]Ylq!v^lMbujsIW0ĢN]*oh[#= D/E *&Vgk,5TD`4jjŒܿ9- /&F< G=\" 1q<1qm~@]XXs־`rF.q*𡁉^pkk__,V( cTfE Usm 0la݇c}I%r'%h1A^hn)^$c7%f6QPj<%cT6zjS=:}'UY_R -Ukh . ܑ~Z1eꭼnṢQ[^v/L]b9iVQwTN}}VK{/ǝSXt_㊌qٗEk %<+o*_8u̺4Wz>v0oHehY4P1FV+=kY5 hf~ 튒`+?8y]tfh H! =Z`!٫;V_qaX&RTwvF&m%ؤ}j^a6=0ǢWP< 뤧-]i)E@lXdX+k$y:@Zwvg%|Fd2~BcSy@2͎W* rI6֎ Sxru0^lX5SSwjjnM(#zZLEsĤ \ѮAnhŒ3 cKK ^j۱C90uL@~ZMn_ԢEdG5'iQrAլK',@G3!i9{^_AZki+NY[P`'=k|PmY`5k 0tͰgY5\_L\y7KUK4Cfq 3]A&Ӊ@ _ n5VҥNUIeI|fKV5A|Az48[N g ; a #M^CP+Ž)[c~feX01D6!R"^.PYCp5^W %K\={낽4jz7wtI+F S<.uU|n[eWTѵ8'z'_Z=̓P]Z}iA*CCxwg%zp]`ED?y!DKjE~r8]gNӅ4v-~WX s sE՟ E֕oucdt,h֜L^u464UQG-*,&E4l(}*Nڏˀ>%|`}BdFi~,;8*8|ll0Bn@u +hoE>MRoJ|z1!eջ|<*fU-X/Gs}yZ:}gȻc%b|l0hΝ|</?b?d9+n;xJml.|ss{{{s?֦z[gT5ym}?~Tzk& :$G]_f]68+_$i+ g%vG)8Bn1=[_2eسNr>Mv66/@ݱR0v Og4(V+i6KFM:xٸD(| CG~/d.#F[lhK u(J!a76j;8⼘.;|ع*篎g&{r1z B6(qx;_?=x`'ǿ]񳃣JzpՓɋW/_\[*9VZ'w@mQO 꽄Z#6sf-EUt]ДPKLd38FQW:W =M^' 'Z ,Q|6R8zIu+ARzU9KyNC"zvЭUq*-7-KA"§&u`2\Tzd媕UY]jYQh k]JsdU?Ǎ"mu_u&|TW? pZ2I'z@~vPS%[_5 i#f!] M3UCpZ!60{72=09-L>,{EF`fj~XXMJ|q5dM*pJ# At$QWW$PGBE3MFrFj& FbGN,'i#|R'yEiRs'y<$ 0NRRr=ɝ'enakU=LEd5gA0(|PƁȗ]淂^TT,T [NLXKvGGn\Gk CuLC \RQrM~[j x+nmXk3 Yzi ~|UJ`º uC^a>dS5mؑWZu&m-?-R+Msu.ks@ بR XW 4 YBP ZZic8ojPPeSb7$mI9Emz+*-CPr66KJZ`!=?btd#PḥFLk٘ :lK *?WF 0v~Zֶn~JRh %I+.&I9z`EP h7z1Faosc`=NP{oW>^4gVvty:б0B6bAAp2~5bgI8?7wxp a3u'VkńR(`}hh?`KL\\Ôm-kr 9gw6$5 N[$Oؑ?>P? ok^ͽ/OGw{8.sӓNzf||8`mhַ/Z5 }@HXR_/F#PA+&S}a9ӳ9kMkH}d}IR찊J-?)I[.*cCg;\ΏEAqr]:Auɸ 8%+r|`e])7aos@%^)J?Θ1RAd%`cԲiuH'V̬R(2#*ZXB))R}t,bs\NcU3+=YTytpvK"5LJU+-ɭNgɰgJ˾[q$_-f3"$ޑQW_U#nҞ׊M"g%\SYw(DrC|Vj{6`TE̬{{ճGz݅,`8Lc- A*LQun5Dm\_6\hᣇK%_NVUƶz Z;-9||Y-3U`M "{ vZ-I?Rh4M 6bfUvܠ7FKhуZΤԙo7pjjՕJS;[HgqjET?-2kbsJjҋ%x´arO(6{P>?xC[(̜H6B=P,d'٪͇b)|mX.'fTP/` `VP<(CVKNA#V.xUuϸϪ?^ݿZ(Pcp4PN F);;;:bl7áN}ӸNbKaW] $o֪{ӧ-l"{e>ញW݀zGo^3/aPA"N2:r%YOeX#PY)'% KUkRYbܚ%#8YG=8 Y„[tfQ*==k4g,]Wᗌm&r3[ڡs2ӾDW譒nξw]LEÝ-qOv* 5p7=Vō},-?qsuÊźrG#x]...Q8%7zp-4K~).2`p:v(F9TTUiIW=qy$ 7R9J2s*`~ ]pi,<[k mw: t:$ϲ]^K:w8+A@S@59yFjiN56܀cr-GʞSœ4̑Ig9H */h58dݬ:xlPک @5Lu*0djNPmQ: (>MLetȇH/<ȧ@+(;U.o^#V="ڪoB1&Src6VPJ]T3# {z% %3ÀQW-G 9"z>Lm<@#16xlOy6 /[G mCmGÁѺj_HaᲄO y{X\uEOASak_qj69dļߖ*Xma6 فbtcނU "x/~/d9K ,ϓYMP!*"fmpqڭf>Kf`@({=Ա& fk2 P04Q>lúyWuмnE|b1%4!┨-.n7"5*к\,mqF 2/ޚ"&fM/Vxbt͔Ef,Hv+_㸩pu@GvP)s!wN em )*QLYQ_sqWW\f'z\3XIpN]F8t 1ƷsMS KIG5?t#ՠ#?E7m?%3*gt\1ZX=;AB>3A>ݖ~O-/E%qֵ{ߑ@UOQ' ١nc@J bdU  9>gU$ ?XEC^ 6]k9ttkv~4ez}m٢~|6椥Dd{1gclW豤֨%c&oG[-L]UVZO/n-1P-Ƽh'7:&m݌JwSnm q8DWi]ĄCHb"aj#6K~F0!uHH^ pxzeàLB`.7tt 6YFxMBlɧ6@ ?B`v]!<(VG0O8l摂Yp}5Q("B$tgdbG,1|S@abI E-f22 [3_Pά5 XLȪx6h@ӎ"673G2<,[SrnSIME=XԾy)$yE )W6^_lfѪ]xHaX}]&-)l(e{*̥TG/jL 8l)}kVN`xxb٨1(AH}J*YѶei;-X0ma`.d*V OG8}ao60BW=A7hc1г;|GN--jB{{]]\MLG 1q\ Ig%:M>zI*O}J|$#DAg92!nY8&v&$ٶDQJKL"Q0bQ߲z>x`d2fu,Ro<>)?'OۜBnLj3:!ʄ?2f΁&ΜA#}5ᶷ{yJnOnOEq+zMgPudku X?}ŤNKKK/U틕dD$swZsaL%^ T^Dlc6*=&kU^cMD19J]괫/CClԴ}&6t)W(ǁQ 3d"!osF$K GWCđ8{A P.wJ| WkJ?R%ۚXvAgFFZ}2R ½;-^<"Xa. )p+RGע_ލUVr29a_z,jgAk6/? ;:pM?ll8Hl+PeFW}`8@jo5DZ.n##D\t,)yddЃ2t6Ps.:xlūx.xl J.tG# SҤ!Bfl {rXve"j, H 2SF=y瞭 Ciޝ/t012C} ң,ͲNRUL'Y .^4Tf\|OCjn&>b*_Swm@#δ_m`HXi66a/x6S@ȍ$E)Bu.-wmrD0.ǒCo3êw$J6wΪХ9ƄP{&!VoU/y;{Geia/H:EJb^lhdãyK3.nj0`zV[WE}24> +:*<ױC36#w5bc5 `+3F ~q8B0)ua #]b"[ab|{ ˻nTzC/ۖ%g|o{UX ]:fb3N 2g8ƐJ3X9w_2}%ܗ p_2 e{9gR)3o,k\l:eL@*in%fl&#t)D0AZӈY/d_'<1$(bKN$>6-Ca4>cF~vۨ!pqbK[_#m><\@nK 8yxEB"Λ@8_m0m*#ScBV)+)tBV,G| e5o=x RRtc C+1핃^ƒ xFanwy 9`X~+~:Ӯ lehfC7%N+A@:-=w2A-EEò|D{'z'{X|⚾/Ns6p<H*Y_L Iq<4vJ 4f_Jwt Z T7МXsEj ك+lU16wcV1iYc-lQ$K8FSFӌ9K$0J[Bއ"4~/}X *Ձ[J "5G#xP '3srTc-#=Eg"*|53Wo4rDg4\nIGY+讏LBD&QVŜ7^.m M9ݑ16M{/dȂzF[r-]͐͊p5 Cm+Z[L٪0d}+# ZK  I+RDt S{Oe7`^/|+DV:b/R:&?(9m$*y.ZR$NVQC;V$S pXd4,Tch7tL6݈CFwˎ?xaRaRJ+a u3g2@2;r4H;+Zas(aJEѽ9We2B -[BTfB)e)AUHSpŀ5V;3%B 5zHnM pO&gbØn;b4{]D]^SOzi&w8к na Yhyfo+H/1Fo_dXOz(12[xl IV /3_ȦSiaANEՀpMy-vC(娲jKpNp-SL'lˊ h6εM: #0/Wf zW;o0Y`ROX\P׫Yz ?A*rfoI s(aM-}Y) AmP3ݪv~ٖ 邻?Z?d[[Wonеnksg|6oXb +yT |8J +MB;h)#=f $^SOG͡9^']ォ:,]{ڀ>6RŷS\1͜}â#NegHR9>Ca7;/V_h+n~/9.N@b(ƽA #𱭡JNzAȲ;Vˮ*`9y,ɬH1βW!k:*.auI%/ .q,Oy&bh]{,^GoU'`jk aݧmhbMC4«1DY ˝~騱|B$#r4 uR g v2IۋvlS@Чk .fBVT>J82[ [k.O ̱ ôR*[~cJl AX, M;RMЁe_Tv#3z:?`ÏJB `Y#=F)W*Jj [G923Cjc&FEXr{!JyT%"'H>YdEU T;vI!2ҬjUf8XiTlBri6G 3MBlbWs T73TN25f #39pَ|oFB[涶\6=CK1O8{!ݦEE>,J726lԢ]\餹|A݈F|暲[Co+4t>aBo% ]XjBI|2Rzʣ)f_Z[k߉_767HU%a< 3BzX"$)/ftMFŴ/AOE?۰!loneRV;Yw^v$9ʋ.~ 5~_Ӎկ.pONW1G]C@xtx*jhM/;da*}*rQɥ"R0dV#(Ε'Ҁf<4o)eg*P'5G 9* h!s[WV6 ,bh@V64'$;K~qكdw0V[ e^iZ#2JUYy2=(B+PDY:+mGʒ(7ًNX3=-*c6Z[nL Ήs ;REB+FJg] Z+Gy2U H-D ٳ4l )T 1@~<]i^pk^1LM(:70Ȋ,1eRA St*g"ҴCdkV,E,Z ?3c9E{H +̵*jY &vj^FQtb1zwdcLs$`0 .#) HiH牄vzo?SbkqW"d|="+|C8f06\[X@_,Au\2N=\;*BJ˟P RZ')%0cn窸deܲl7n O!yRv"T\~(j'VAR&3T;.׺r6v㟄~lTΊXvTJX߉N @#P]&f̵hHpwbNUVᎽ$q(@A?3E=+i껤ݹqŗ 13q8 {IlKB= 4 )U.b-@/SC[?|SK/J/J/J?ȵY7AY ,@;H5t\^*xe<<J^Aw:vDWRF9{ib̊TKupՌM\e1/ < FN>ZMPFb\"@~]s07?!n/ַߚEڑHt# 6%68,:DPS)Ќx/ |xJsU{\@l]=9UDsxg(\5r9D>[(nG&.,spq߶5xQt!NJ%'/Pɢak%؍%gtyuՓ A' Z?L\2a?՘q?n BRr6d(I؀|GmU~IG-p⠯W|7̯URn~L!38I+aH[8씲ڄܠWDR )W͆WF SM%^QrnU/Gm$ʂQH“-ڠv]CfBvnɇ3ފU,9ߐ!vsC|4Ue" 51?w3A/8q*Nc8 w aM'x#Tw'+ڒTP{-c<$ڥc^(۔[ƾg tFbZȰלtl 1C A=; hD4T>Ruq3+U m?ݍ}T06X| 8队ǐJk3q,QuM9^wf]0̆q (v*h(4cvKLF 1NhSw[F FAv+98ڸ]3u}`wM}^G)"h'5 7- RmGq1s>!^bMm{ [FpͯIN @dqv1V_c­ emZzܢM-ů(5zKC|ūu<ᆅɺǚ+~PUڄF0^ۢ%i3GW55fHrTnv܃) G/O&P~K~HH;YpJsJ v+Mbޢr Ljt󳳗ݽgݣ_3 gfUuFU 1K2vl?ƚ||S|x$o~lkM_~l>Yt"팒1օT[U X~.V `F/Bi; SkP{tP_t o)gܦ&ͯ!jaUQ'v0&'f.1MwxcFe&#*ZYՋp )c+pv+LWj9H:@[IyHZe@bs PZj``JAR?wIh .*=jt ThנezbI}A[ A!/LlH 9 ` i=HU^T$>5 'I%J4ӎā=-^2Cc6(k4(ۦ^r \Bz=x `(Au! KoaS{ L *%B[,9JnX$b-ɮ}Pw؎9ywXٶ3 Z d& %β9Sfϝ-u05e.w=1p;ekJ)[(Te T 6;Z(kJG9}κ!B_]=p[rW0)t-p{xXV\ A*2*XG׀pD)% #qhrf6XiGP<w8㾞J%snGE4]Jcp6tN{FْV2A+CG& XYVhI6j,C=l|5^LCGQ};ʋC# fZsBzXD⤆ W岕♧L`.jBӛa|'.z}%H8ea (/ XuuWW8YLqF_|r-k|H<"xĎH6OxȠt<".@ΈÍ]m|3|jmbU~qD.AuD͍k[߉ۛm?\wok8Nf9%F1C327G#c@ @[fCzY}y de-A%Ϲ oŅnܛĉ(L%&0dUH(20 ϝ*c6=j@+YeOz "՜;ɒV>;qe/&e/MHJ},7KfC`] Z(^$t32bv*XWk%`@U"č^9gZE)g2ˆDt'NcXiŕL*3`4wq+:;|3-)y6l-fB^i`[](iÎ&[`?4Խ4}(nSpx(l4yC|Y6HO!UepU؋bB5+Hc ^o4oZ-ƴ\ E[/OƓ4Weo#}ʭ(D'ݧD ݧ6`\ yj`Z4hgKhJ)̣9/eʥwXeH| 2Bc+xMu437W)D4 `я&E[ZZ_pҞq:V7Iݒ)Y,ZN3j84e,\xZ|4EKëbcد>^"􃸯z 47-|hړ  7/0 b!tXSn2oǺq,d[Cwo q2t#Ner$]JW_oT3dw՟A; 浴Μ p'= JuZl=aK;9FbR-(|&Ŋv bӑ@%z YBg` R͎ͭnΎnϮBۀB;Pf.vNPiF;: Pf iφE.SD-ԗ6%RGOQ_4q "qvgC[8JYN.UD]/p=6sQn#tc8R|c&ڦAPj[38!fRmU.^3'l% jP2ÊИnF⺱Eҷ/.toVe|B1٩c?&>kq6c(33}{@0be(0j(׌Q|.[; "釦&= 7%ה(0UCrЏgcȺZ+1iI} {MIA ePT el`]O.zM %z)qUV%ٞ56N_E+'KYU[܎ ofF.L7ןjXj_ӮRx"0`:Oc )_1w2 H?m) ‰9-|0- a=[5BUq sͱ08(st528 ]CYA^þQ2Lcm Q_~Hu%FR!qx99LRb01D;>gE& .wD8WcjH+Sq `"cȩ&4il='RuoP[Bn itH! q(+]ZKKzYHr":/v@$Ȇ1Ldg<*a~ryn}/N"m ?y!VYJtT\!ǒ21dGIz5hs6ݎHn8j`"D_ܓ̐uD7zZ2֏dX ^騭v2%.!D\qJqX7jU"4kmNA8I@Ԋ6SPX^byZ-7(Jpq.F}g&Kc SjhDGqe. ɆxN&]BX96d,BgNAZ)M/p|bJjG:R bL%*i:Pd '<c.4Cu2 X6^@^z۩߫j x иI(m-٤N$;OUfER ]ILSq}lGjH[!j rwԨʇ@ct~o>N! WP ޼C"w8):9rsmDfvJ=b/f7 ͖Ħ^5Qkp/^~IdiӴ;׬Oe6^֪-yxJA"}1GAC@!U "^O0ϡbBi" F7 04j~p8YʇG)"BewѶ刃mzlkْ޾Q2X2 дhZ%*OYx6Sh+g2xޒbw֥!VhG'S) `(.q&u)Ҝܖf` nUra.iw2R"o3R4"f!xfcy? phs8*zm9h'L2 'ԪeO:_uJ*^Wc:US:UVQ]p^=cTD{$oWORiposƟ, χC'x%^~F@;riɐza1hdW-ޥU[.d@fFj/$3@#&j v 1%D 5ސxԕu|l!ByXA$Iժ*@nK淥qS)i g<#F#+.G=j/)Wڬ@ J]qfsGݨQ5V)6_Kwo%lALJvKs ͥ`tg'p'y?Nǘsy`KiV٢{,6T,3+e\~.fgFŢU`-b 3ݹI=6=>-XZahβ|::Je̷,އĥr,z*uheG`%T|X#P%\̶&k={c*eО}7AEՄMrZuiLc9]0.gi5)5ƴ^\PD^mkCے(6N 59 *X%&z-mmV#%eRrz" `kHs 2pe"$BWaEdB҆Z6e}qvJ0\,Xe4!d&!X*Ko x̻y_~ WoRZȋ`8")pu][uߩ$> -|$Zkx'б$MqDpr1$# ESRfM#K޹2;쑙 Usf&Qq1pNEzTE/& EGMV~BpSTuu* Ċ.=(L^M"XLG|Ds`v f/3cÀӲ->x08z VZɢ!N&$uбt 'z&(sL!?^ǿ^qA & X"1hmjF g lrVL'(38K=e=*&K)Ƈٞ~m## =2M0p%,6;efheScyRHė):)񅸖5=0u]`e#@L;gKg?E+zDA|Mǣp XHA#X8㙊! DDI4a)DH~H@E /]n_vB3Ͽ8}q*(9@'0!}Zp9H[v.ƴJ5Œ 8GB rwJK% 8H5KIEXݰеc$hoW-2Vę@ppk̵9x$ aP%x|Lh 1C]_XͰ6!s,ޠ=6+3ƌ&GΑK.mt4Ѭl+SC:NkRȰ'' ̀*mwތµ(2e:Υ4"UHY#]A`:L;J1|qłpEE j+r;/M8 w 6+6xZo5 jseͶu,/ UZI#"O.@5qŹHy(Y ҰE+k[+Nn S?P_oH;_M!K0@ejΨG"CK%u6^oi5^o7a 7諻r72:]2'x /*Dk`{- :<[ZnXO>>xɹxdKxŁ=48~676nws>[ q0oX`cC:l.dH7lmX؈y:fw[ WLD^j"_-U1 \?is)]:2ӢS+c$Wq_ Lsq@ژsW"ma.t9+ >I镕 L_88+üzcQHَ'eu~3wpt.{&7MyA̰ig:HffCQZ`{()fQ Q?ٗOb{.vB`E &WhD؀/9)㷘 K2MURYK .͌ExиwʖyT0^cra򾽬ފ%+<=Sm,1YtptvsgVn@7-KL#i3/OƓ\NH_|{?c:[=  <=zjxkVWϝǜNn?;ZG{D 2y?]ZLW/6; g$SxFVLgA2s^ut!_vvy ǘJ41( *(ӫ |ȂFh+Ktxh9@Q~(0]x]*ie*t 3+$;Mu]' 6e-meTA:5Sɶܬk"de~{:f])X\pv@=@"XsY>TL9HƠlniYy CwRɆ Q&kx#r/PnH|Nr@s˂`.JAk\D{P030]4M4 R_ݫ kMݲ{]>8@i1Yr>,"[²ڄE!Ɯ^a&11\ѴNsQ Iz-q&Hݯt⟿m OP@c}d85TD 7XH+%\AwpH}*5$#)ENE8F?\ŒJ+ES``|q-k8Pe׻fWޚu1 `ͺ صwCڨ˸yV@mսc 7o*FEMvHtWj(*WY{zWvb1UYWX+7bv-v&+Զ3gVYP9ᴃ%<:  wa]XoUU@lxel0Е+hޱ=Ajm3&n\OekSѬX,x'vahYT5Z7Ь@/ãG Ttv 0 1Ya wQV0n`pFv23YTNP]Z"GmRT%U`uʠjdP# )x'u܊@}{1D9764=ӪFOώ;gG"br{*qtp**U\:n|VX-K]P fQq&8\nsC*oX $u2d09"5URt(YYӑZXTuiESQ5;^W[Ʃu Es)a'nW AU(WiPN ?aB`evKݳiΜrǹQ5PO0Oa2u"#5d#y-c{yJn{8ޖgl2D#5׸ۨBم^z>OT P](Vam3Ѡ6g -k:'ifj'դۘy+Fاr V &35+̹hy1^5 C_iT6puݐQ~8Ai(ŒsZcAqMW%b/-'I7hʜXk7;HuX6Z6`QN6b,spVb8jbb \e,,BpXl`b J4CмƧDr )$3{hA`9ۆ>,Yv W:'8BtnW(֔Oc)i䯰JuG~ ~3nqN+SZ_¬Ç&BL$QH~M)hNT߯c5$qT9`P\Vӛz`ao>.;NfEr,A㏟nӗ+=Ff "l;sH6 ?%s \ic;E7MogO5K|/*MۜhAd̫e̻93OR_[p6[c P!L 6ÇSS~+x3Pߡg#7NglӉ cZdDYnoеb_Y'-#e`bpG)jPc^Oh\I0!C0gW,Pf{Aǔq%0A iKBA#-Q6@ܤo{ߝרY];K 1\d`\ Qq+~r׃ . LflzGU|?Jrdp/8ՌZ:XiW͒Y,"pB1҈X!8%Rа hQh#_DQy3][,#Y Kb Z0džSG<و-2)ѲCth!/hȆ4=kH;} ysY@Ps!Aye$,zaTE ] ?@|A);x "Eޥ:K.o?Ǥ/FVEy2KG˅8jG~cKs B"HIq̷\1FGT,6ZY w%"r :.~.Gr, ,ŔV%7t#M0F&9(Y%.q [QKxqi)F^1T&ս(2DGx͗HH*uX"AK"6\EAT:Դ(BF~!~30/?鸆6;1X؞m^8qe$1101 6x̶V$ҩq4d`KFP0"<3I3jOq8]PIeXBq,#[(lJ14#CTA~N5rp}FTn[ k1_3OBftc0BGV6 T)ؾZ2Е{6 B= IdeYW-1M?rrhC@N_7ҋ,Vt?`lGW<;-H?OIDyI|\_W k=%G"QQ)e[4;=cP/P"0 tqhƛYHqa O@z)%:d\eo0#lK28}GMAF=s+PA3wMoF R&ay?8~4}J0CuN]'oN]SS)ofMϴφR!ʜۃy66Ś>Uaݘ+ٌ8d.6Waрi BS/>zԴ}v{ײd l8hڒ¨zz̽gUZµM둡8&L\txn_% 0|YL"qb[ݿQ2b g  @(oLɆyEԘSdGP}z6!0f\ ǖ ~O0,_<<N.v(cU_r6}ْ_/@`;·I֧c]lXHO YKiUMӒ (' @=%`ȆxǘNp9pS@O#k^qQp@NmsS(ZeEƈP $s#~aimVyCRdtA|doGYoي5 M3Pck[ľKdkd' rc:6˖8x})@&DNў]򏜣$ j4 2wxh:=-v*o{tf%TCVVwcb)MW>hH|ϴݎOt]\!֩'z$m qǡi)4&>Fg&Y##WaEn2Kα /PY nB2-1 O?Գ× Gq - -^*)NN~'gДS!,r=ITBdH,cmm X7̄윑 QR{@#e)Tq.= XOqRR1M_/_;#,甦leds22 9/K?^z%Kf"[Tt,>tKcPƓtO{? A[[$pD&ji.P(5o3hrFI"R5+.4`Հ/GL @rr||֡&;JPJW}Ҵ](2 jOz(w厡~NQN粌B M \-%n?^ڣ]C SXb.JF;Mve"|F3}jS =q0vK6@i,"_RuD"D: W^FQa"x ('TuN}nRXpxԙvuX M "2?FQ6zNBR9!q 9ǒA)FLL,UHe~R@"ڂ .f),kXEd'{7'[E֋(d$_Ȟxz|t$aT0F_QLF*G1r@_09亝A^VM; S=, Dz\s )maX#18W٧Lw6365 (JIQD'c%%]dyS;!t\&bYW#|N?yVv ji eT2S ar-C_q /e:d(ڋpkAϢ7V Q9xl5E@;F6Ị6\EuGI %uZm c:! )XlH/h I0uD V e o-ySXפr]Rв3kIUi9%>z{+ Řq@\x3EևE:c.n3OnݬRVZHA\: : ;mWiG)o#H[a7l$zSpPe 쿱ȆXimclDM: >b$E={n{{>]a h Ld;]ByϹ9KPFy[dλ:&|WltCc*#GT-mmqI e k5 ?KmDIw$ls{T +U jITI.bz\2&+[ 4eXʖ7BTX|8j}Q+') nF0^sF'| Kf2h-/ s`Jb:|RA̅`*nF7}b:ha?B`\gE~ݳl4NxkXZ$m>tKT3a_' J1W}>p/WPRjA!.fŤ$^Ϸܪ{Bˉ cƂBYAx%FRL{$j2꣫ɠOA|$KQ͉E`ѺH/O^nGc/{!#b[_y7DFTq.j<;LN}N6?aoˆ!(zٰ[c6lpL/\PExqB>St(5QVzd n38,U:y-@L$,+!rbX% $>r F%Ŕ^h Lܯ`c &tňbz Q𦆶txYD/"dޒѾT?s CYu u̓cK%(0e9{0;ط<jrXMzsDwcxZh\hi|d\2d}L%WG"<{$4%΋-Dy3)ŲE@s!tH`CQpjp H GP`P:R}W&OWq.Tg:1wN= ]R*}MIl-*JC:kpq֓R= 92GQLSv Z|~Fijbi  :97ׂm.kTo$JhwH,l6t-=5Ґ0 $~lpKh)Js4@w.8W CuF$+G5 Yٶ2#L|8EC~8yͽ0Z5Cm}c>zx^m .v`yB! Ѳ(w^I"TjJP5?pegj@KEױDHE^*tm 1\hg VH3Naj 0>e={h-~o+QS~`LTUEjV[30Zg&%gzE q4H`6y#tf(i&kCl)@l-20EéT"!ߺݐae@ZgxOͬ2֚>ŐS3 8))|UmcJM%Jmk'hC>pEԏ:?}/}! f!{Kϓly r ^(|HCp.T8j!?QEh\>1:6R6sKk|ETǤ&CL~jYqD{@E!r&Mv>ݼyTnLnij\ߚ1;)We Su{_*'=k·y3):l , a`g^#L@(KaOkv 3jHfM +9`qB*ʡI˳SrKcWZ 063/mpkxZ4i2[)* 26 :$pr*dPVn Va&9;?U烼pԢ%R\%sdؿWB4s%vZvM B=KX @mXr,ѱ,X/jbiIɮl ɛTRb˃UZxmRs;^q]$Xi[H{+v Ǵ`:d|gKΥ"'^,$\zkEšcIXvV7d: !aG bŅsgT-C<S]N Ul@PE!`pFh;#FkcIpuY>f Ee$&aƢXa0&i[@D595 !#{W*XaRJ+r\{gPM͝Jbor P=T3@j.NGgej.ڝEܮ/])r־rce̺if?k5oPʚBݚa jr&T Ǹh$)rmiJmf8Ռd#TxYBcc5*A)#SF؎ecc Fh19ۿ 5\~cX:(F]zywTݔkLj̘bEqH;YlL!C  *ٰ,3.aU{[jnuB`"|ߝNRX\J Yw1l @H2z *“ ̄&Ӱ$7poA|Dͪ [w Y ު -[O ?c?5Aۀ F$0ױVLRQ\e#[m%df+h!Vi3{7Ep,,z?[ɋ4bq^?k q*4%Wu]dBIy9Ų,;@7\3 >ble.}*4*[##3T gN}=C=3|:- GWcC|?pm>xhPB(SOX{/N5Hzit nskc㻵 8K{L&h@.p;_6 j:Avt5׽#h\D)/&8}S/6N!F Xoqd7œǞ% ~>z]G/x0CA+|?OY>} D y J-7vfv'g{wON^4ŀ[+JYR6I2w7 /i7nf/=&a_ly?8*a݊U`3atڝN觼@Q`(zu Kz&2>wdFN~H6m5#/neteg r"bB,w:95Bt)_'ܢe2Gテ'v2ˎ [EU ${~~y=Jb!ɉߵU+&s*;Վ1j3n!7vA5p0,::xrRh[Me'*u Qr/JtS9|lMU)/A69I*ЅSk/Ƚ&9z YCK|] lf=UЛ5xL?F22 Ǡ6"'FSXdpuptrx5*^C ;ypKKuw:{`wZ2*e8 ɍh W@;g*$6brod l j a#I?xޫ!ZaK:} hcGporˤiswmҸl b&:qREhQHmpxWNRqs!iB!3y $s  8 inp1B=Kiv_3%#"!J%t"rO(9à}$AȀn D1 ZsB#2Pn7ENe:wi !i1Kcgh$Fspxt4Slj饫IeQV\_KCkzSlr}A9 { OX"fwrhϭS!L|2eG7l|\CGO|:&E'l*G~PŎmeg$ T¯uvj07Д? @&F|Dy#3zKlW~1+P]apM猸u6N#ݬSZA\4,xQMKe]yaL(N滤Kh5AM#cזs86tZPkL!UL$xQ=:Dh@IͣZQc(;O_4l6B:T)q[諥8 ▉rP p>vOȞq =;'^g股`T3{vE+lh&̚?[$ת:&QMI]!a oAY r&H6R2P'<@2!^24Z\@؞DHb :$K Gs^:my0/)-hGnunSedm^E#h<us{S-@E5뷓sr[Q#ӻLFcdA1oCo qhI\p T!ŘM$ܘגo\KtT"%zq_eG VTwI`*D\YIwJ:LŽN K2ЌvOfT.ڣRz؅R YHÀ6P0 L6e2flK(7-F:'s] u+ vxhS -iuw.n[Wl, ̪ }>{OpfcA B%_)xPW $F[}_]iCq;)& 30SFfb_MM9n$_|{_bwYdak^6#e|=i8 FՊ^d[\o-m/ouFP8oyքgL-:=yEʺV5.3&ȚPY'9b#2LGJ_%RHMS!]vW.s\HTПX@wF/ ;¡k:j[\ ߉%ř 3LMK.o/Z<2Taa<.bކB6 CikP p)7;T0Q\B6'*uĕX' : tOvKиe$%VYt*y'#-&ef.[hTÊr/, KnKݥUrW6Jt0칬L Um$b;.x!3 Ns7Y`eʌמk v:aPY$/Qasm>3|(t egmt g!0@bKeH$0M{M&N逷 !QJi[S R\3Hw];d6y zx -!!/8G8@GSDJ[IH#唎>( 8`Eq"76A:remQrV;y*BUL|Qc苚ha(Sl]ᄠA֝d^S>eUMz@5h]ᑙ`+dSxy&norsb28O{"e8: %SqtD{`$Տ~'fSP%?e34joQGg r!Q&]u @8ӲQ8Ԯ t&a$Tmb yt7]Ւ731cϢi-aMҁM0#vyRE:Õ~vfg"c/ƀ?@5%~W7K T.v .g ZZ *;"C|'FUCa rPFx9:@Ό)}FtdW&=%:gYE.n[&@H2Y<wLأQtgFb=;st|/#od<72މղQ8t6I  22{[ oJd%n/GעdZ&'˗yyX0Ovxb/B0pS, !UT \(*R$U{Rb+*)H q,GPɶ8(CbK\𑙾[7dLg:wp\NhjN46hw7p:gy >2ݛKg1gw[6psU8`!b{fWOg~b/./gzzY9=?d~6{M,/M ;3ٴ?Z`nYMYf9d#m}d݀JO z=Id[ٛĠpP> w8UԽ,mļq;@%sk|@\u<5OP5n8U^~8e5|Ov.%ft?sT|vWGVfvp(eI!i=pp 8ux翃~epr~ZZagmO{QY26>F6|y 0y' {P?v2(끿'V1/Ez|*PE0rfkfM&O>UtTv{D%A=}P%a]cMZg6N1䝼y _. P$#ʋ|bǶFBK߰]-|_cuLZ)b+89Z_kHsqV$IHo=18=hL޻ WK.4^xɴ{I{5-^1d}4B^ޝ#]q7Gk4z0Hwq T_gG8OI hgVC| L;d*A6a0MA(l:}~]us9AgZ%ӸJ3 }'V>jk ,]kZX=gUJ):g%?~@BJЁ@ I|0^'9‹|94'y/޽{>amA?ڗT_Gd %Gs8wf^{O8//3rn_5vC_`p=cRy.vh(nL25nhQӛ;/_||/&8)7Bdf7~ewAsF* !}t0:Gш/aJ 4 j?KhJ0l1((Y~fn%xE3݌=yE݊=yEށ8%5+ ~[jo˧ ˩& h+a=`obS.},eҁ8ѣc lC]3xBd/03` F;PN[h'N= 2gX.]U9 ސ?y"y&H;0ި҆-hh^ , A@ Z1k (J%HeaM+0ǔc!=M,8!Y*i 8$= {0ǮTٕRVtd ݌=$ʹɢ8DdCjOԵx|ȟU.`2Kh9Hgu^nR&&[xƓ7lL9k8qImZI?٘C0?%|]UzՋ+Sxvpp~Z.^PCR1^Bm,:['TX1jgf1!E!害gXEO@YY+^^2Zj99xjX8`JEqJ%ʉ0 eA'FftxPW؄_K) ֥!ƢD4Q!V#Bt؇w"7ȇ}TipbJhkdq@ѬpB睸 "r&D@ CA`j`[tC6Ǒɠׇ9QP/|`N}&6Tx㠍+w4x E i<jc;rRF y:^"Sd z>WGXгbSbE1AѨ>9|]Aکba:7\y^j܈Flr0&f j"Q ?+q U+AK 5ꤩ*ڷ0Hmu83\md^E6(tHb,˓A:~~dÒׇǿK/.GwO tYL9V nKOӋAߢ史Mޢ% pɢAH@C./xֺX>j|DXsS$9x^qg:nb8j= tO?WNx@aya Rn'F( Hv2{=L33ǗPuM;z<."E5܈&ED(VJY:K",ɋC#ʌpl~)󵤪GAYNj\7w%r0V(/-Fϋ)(kFzb:aEV =n_l^6:\d4:ZJHvJgY8DAYaǿo*M!/F2*BsL3 %8j ؜?`\:Ćalb"4) ;R!h>iWwFPﴍ01Qe"G &nDq :#äEpO_wmר1U>vjr}TP")ޯ[k%٥`/xZtm_, U9QxgѴt]Mk# Y`;r:Pg(gs$2c)aфq b[l:F@ e(=Ȁ _BǏg@2 <2ZvSVbveIhb*t,cRD^E,e8Q:@Co/'.% @@~ktޥ7Udx66dw|mCGDFp.K H%1+|.^EnԀN}(E\hX,+`NC<ɊlAZ6KxAI:'' NК~3:ri{iL.X?[g >_?2ңpk smMd, 4Zy%po.쏓"\pwj+Bj6gȼ\-I1@ˀ &)'‘i:N| 1 /l"l:y؆!yZh{Vϛj"#oUȴ?L{z7swƕG: q>07ph鵻Jq z8 +5(5@iSyBTqާcWnyk]EZ=@^ٜ*nwrc&`׹@A2~'nc4#??o%W%`_Y`u<۽KnZ>^%Z^%s~^_xz}u+W׋rg`뇿D[[߯m|x+? կ]d$D`$N{Y{d_-'c2镳d@ҳaQҒte1>)#^#_Q#HՌz-rPk*s6>ji::9G4;mb3L$9M'l%}Lr$VpJ&na}Vf=vM1DB&,9H d U%%mQ:g&RxG!gͧ[lgaC#^ZC7"` 4[MZw QX[lLTк2`1Ll%9E1Xb^LI* &P-hkN'  $l\dXчFGǯp]jQ Vci8w-+2*p90QG\B3[1$`RncEjfޑ$Gh[mHuĄq0;in4aI#isq Y/L* =yfrԷ V+=Krrrj%\wg2Sױ^ׇ>"oΕvauAl>@ 1@ifo{h2DݗcMXaVEu΢b GvE$l }ù!K9+acP}T+@2DKL E`7nSKܞC+hn6[eA;[Ed |nGCh@M( Ò#^vxz 4Q4z?nq sr||wI"ۃ{N;bCo;q{Uz e^tcb4OujdK 4@ 5>Czp~P=clg8_o<# (ed;&iK;J|?pzA26 gQvk8: +Af* D)w>֩Rk~9F|`}eDy ['NY,?Y/OV;׹LqQȅ] ʩ{rxjRi*X.˭+dTh*! H ݦ+%\d҂DV6!&@_4d4xIhT%6pGG%Kmy"W 5/-KH4//E1|'k H(Lb:baoEȕCi; 89`a ^% CBmJvϵ'd{'Z a;:KغջSXfԾ<8Ytptv<{5VWQI לoS:kE& dw6\4#@U`2ۦqF=$/(`}% C*$ ]@-t5֟cztl6, }PY|$U)tq0CGRe%ʑ pГr :R<EKS%\_NyZSG |>@niBNaw> Al(z`A ^M`9j)&RMjĢѧw#A0KΧ\7çh/2x5=䬰T+*'GWE4cਇr<_;wh`6CX]QQD )e`8{F)FvW+gafZ5eF d_aُC R`}A2e@[jc bpg}vV@7eqOa-h+A"W(-AR{M%ݐ)k j ^_STrI ]@/8Ƥ e4H&+/ŘlLu#oN^hRs_Вa7/ktʫAU0i;Ah;;rMݫ2iƒG<nJމ])q^rV*CGq+-*ה؛*)ޫ*MЖP G]QL兩M]c.J=](N=,f rݾC5 6X9xom-ΒTEp@EeNw A 'tXEv}fIyc0|8vx( Wfn}e6Q/>LJQ`ot]}G/Ћ~ 0f$͉]H~F~PH [&kw9i4\h"mk݄\m}}}&?ɈAM*nr)ƹ'SjfSSQ Ѝ'`>KO$RTP2`$CәSLRr$`]^[tt!˔)_p˿j(^T͟?aJN#RDU(i);=#HH XVvG<aĿɹ֍(jw])hM~YޜⷎX{r kTe1 G#ph5RQXfƆlAL;?'*##3a%G 6e#KR"8F]=X= x8`$ ľgV ;qr u,.KަӁ؃{v? #6NB#TVВq]|o`+󤊯cGۖzH;Y4  tX?35[a5Hڋ Ű KK}#n dAqޡ x‘ᠨ5| $e/xR$J tICK6q?Gj+T;hqFp0N XZj#Q2޻F"HQoQP%%{oU} [(Jx1z |j,땹kK2(Cuc2o؎X!~X8="Zm[5D %+Nb6pV,m,-Z 7)C%(W\Dģ ՂR}R( 'Ȓ.R.=ö"t6Sv% !xlx/XoɷSb$t[k'Z]\m;)IG%a+Q1bQ-%U5Z: 4KAP-߰+(DR:`[[]w_?~ϧch%ensq h/ȿ B?n/////!R!݀u1ROnH%Jzn4]Ȧk: ӱ{\.nFÎXgDLq>0[#3m3Hj bFњ~ UmpV|d祌2\1kQnd<ɇuFVQf um&sOud{R͒-5)GW/;{{;{gG0pxz=QLedJKGs] Y#MV*ϭ^鰁òy^UzC\bQd6UHs.8hbĖ=vm,-gR ٬Dk1ERXktlFE5k~vN)ATZ(o7kSY.*oR\b0yZREjȼld,VVB6O|abc6cy>znu3 tX2&(ŕ.F8#+|2$GE&RUDJe[h-wg yo [)KVOY‡nz2e^0, 691\JşϳfB1̱5U&u'.I)-WDPg$Cp-2BRjҊ5t&gG15m)|h T*GpԀR`T.7Bq .u?{/IN޶g6@pEُ K[1j=36V~{9=;98jx Amg?B]T&3*U?MnFiQ,vok'+ԨQ/p2.$t@u:<#bC3ҞLҢY WNDDdhKʀZR&tֆل ӡ]F(VG*5 Q 1V| uz5{*Dj{躔4LE%|ܐG61;~hb <:.dj9W?D Dx,i)oy_1 )A1S* ]Jw4svNO~?y??;{y~|z;Vo/6\]%msbi9IKU"#`1I);$o'h |=b8|{"uM$ՖP _647 +{-`dmb@] @9:^ra 019 ί^ڈ[qŕ- b]b &//q't5-7!ۨ=y2p$$K۱ }W2LH[kMKkxU> *]MK#ntGh GbeJ'BI%0.%mkj6 Qmۀ@ w6cwx2 q*m`^dMdNBFQ˚oRe6, A"8yd.S  h63vjo|zYB6@PBgwP02cu-͍K}y dLfe##x Eƚ[ -[2Pt jNCā*&TAt_ EA*nA49V%v`96`;h V;R#$^Oy~u(ó y*0*^oK'3@hm`q+(a`w rZLDy_9GR%G hȒP 8}b{dY`!//Iz@~6IU\*KǠ5n5[ފΓk1Ocݨվڢy:;+ ]8hN|8n7 @vR.}v!v۝)[Vl >:G '1:4RsȉaWz^q)ИX@Q#֭ORê.?"^j[%jSMnʲBiGC$&m9c a~1 @h➁Wb6㍬M:۳IjGZQ*eR{o*.7+ `ЁRrٮ8%# lG{h@GeO2‖0o# ']ٺb1qwVA 6=`d&-ՙ7_8:n, Ɉ^'۩f K!GGsNIӊ =@K'0X㠇809-D0!#xg4x~`԰Iu'ëk3ĕ%Үl:Ej`V7mV7\L!hIe\_fXDkX9c|aмݸ1V(/(^gT  wld=gI%#eSpb&ɮZF+ (d# ~wX55[JZ1hǰkd. 2gceNɊT(sXvsbD@(P[IOqfQѮOyM=$2zЊt9H%Dݖ%„ZH- kΜ(O59Wf{FN~0fKlBdQkR6hr 5jZ;F$`u[4әANk~tVG` gAQ )t45[q>Îbe u6V LXٽ&6%a˒*6?=RTq/a rjT@_s;Bó1ZEzzkvb/Jc;?H6WѪ1<[FLZ'jaxuNz|%@Ku,P_;/SNA'BŽ%). РgN1l <%=e9m73Lm3g1 5Ch zm:1^3DA( GPX;23Tګ ˙(pws,jT,' :A}Q#`6~,k7QieIM!О#fV6 -brSҐI 2x;Fq\M˚S64,8m>7`#i'h|p$?7bSbTnJ{voOg-,t|dM 0 xA|@qF8(4t3G$87*HBh<(O"_mZ#a wn ="rD|HqTwf,RkPAU@KUufdYmketDƘ,QlQ4Gi>:CK _ؿatvL.{ <ϓw>M 7g fxK7C J=ͻ;!^y5_k08]+m2=5GF^XR[ʛL(D[V `\B-@FYmE?RCG lFT(T#V/@b}@>6@= l@jq?ڍ |eZō/d1 &VTwE~X←{HFkm' }1.h%;u‡%eu*̐u |/> Aۧ/+-T3?K%JjFYLi?o}-/Í/??~)pS+z UclV%{7v)>{_?I%_? %#w:YJ`{v'5sgňI3[4g0j@kQR| 8mLVFҢD9^7mTD919 Iy-WJPs*n05`87y ?V㏽`VEk@ z^ߗ`D 7ekCti NɩE%D)QϠ #eV}::G A 0 F&E hyڝ'IXj.qi}x! *8 lN3NIUZ͑i"4E` kɽp} to`rxSg4/DEďj-YJCCaH j`E.7 RX]ZZZ`۸G8ycA!ܖ=ai-# ~̌˖h 9UL$6-#{"7 mc{BoG8L OWZܝz,-g>uYvUh/VWhWR!XAZVvQ AfK1)D*rE 8|יO6WN@ԯ b-jYznk(oAGv@rV(j:/1(=uh1-yt"PXof)<4Ȕ6DLqҸh>ƍӺeiG akѡ%;!|9QMHe)KAk3[5\ M _|3IOdfQ,)nA<`rŇ!g}k4˺%Jc5&ۡcJNO|'V&1SP"8¡'AؘD9hgy,r!"[f-iR*J`C:nGU_+GǏ21ᘻrUh$fgvpv3FvewҘZ4bQUK5`(mr ~OhۮG 6X.8y,2-;hEh)Eخ/-t6yTi hTF .}WB\c^"&U'X득+aI!|U|=/P@5iN KO0FZ 8f@acٜ'+MFAqtM`'HT|}j_-ji+~GqY]\LzMBinxydUUUvzm:hQs9 РsYÓ:{4>q1Qgj*cw6V_I4Z %7ZkMi8zcvrY5o$}{y?R|w֦|еg|^;gfԦ_+&3/fvf`"†)]&AL6˶lYM77t9]0p)2pwBCf}18߭P/%ZH1-Wա h]0 ceNF##'AՌ^N )[)z FU dd1=`[[ M*>8ASgvGj*cN*.,u^\6yKbke!V4VllQk^Ř1ȹ;*2G##&]:X%$2S,S? A#A/d4Dns`'c bت;%X|tBKjڡPH*-gf("YR#f\Q.C`9m%u/'`Jc^ !S&@;dP> J5t6+6Q 1{.sն#VlIe@5g]@Xƭ ,=0Dn>Ve&l5jkp@KdNv.sm0R..\KFzYI+| |a&Qf]-R}fOs'Ejtд~JVTqܢxXkؐSsEE EP{HǷψ~l~~ϧ>]7wo2 ,/ 0'qJ{|vw_____wCBay`apPbϰQ!Xs bY:T7tL yO7$Ha+>WÈWb'Ѵ 7AR2207@ %+XV4=0S:SSq>&#b^x "IAJo!0!߀i2pDt3joT Ͱ/`~1_,^0tNw';Q< lRoCXϹ}Hvr{x_OwS1)ZHM xBuu3d 3& by-kbI`P|vFe60.r ?-FjG$"vKCʭ&mfca;CJ0~,t}i|QQ s)Sba/c6gjg4A*c e>8ӊ-(⋛VK;s`6]*i6< h1J=PRe8[Iv'[ӿ&d)ѹJ;M@v|ziKxSgC#~ BqΉV.WE7rHTpې5Q,Ӟ|bhpv$/`Ƭ,''^? dJVxnerAȂng,^N"Ox9ZDJjȨ ?%(o} i}!>`?k)&;9Q Jߝj]X;PnJi,[BZÞ 2y@I.`*p U22u)NeOdN7bsHhR#|+,=@4PM&)NEC8I(D?Fo'z?N a3-i*v\Mu4+Gгu,g@&S7 [<bTzMTqd7`WqpNeI> }rS}a V*px] Zd%}esp#jl[_TQML{.> 4_z_{,/F#2"wa1 ]mO)z~B:NxQm<ޖrI!궸#ԗfоhD2UݨUVk~bSﻸ Sr{=ID+rzұhQ "ӞHeML޸\XT^a3W۸sҒ1d[aCFOr ) tіo:8wfSv-4K7-i*kH6̆tU۰QPG2@ҜIj/UJP WzɉjjCi1(E=hJMy+ o-/SIqՅTd縜 >uS9j |$ 0b'G|nml} j+0ţEP O`3I]W W 2 6ы#C/(WrzpNjoRL" p"3|mo$tG1*GND9ŏE*pP`m1,kKrZU[e A"𼸉ĝ/,>14~QFYI%XM O˅K"xEa[eh:=֫0cq\GɦLڳ1I:p1 C{R"ՈEIZ9Z {@Ē]ȩCQ;v/q1i0/mX5;j ߒ])9M(G\B/;1~~ >S@!/U.tq S+)̆2m|&5o`M r,A*FvT3Zal&+`ɣv j8+Bk]d#PՍUĤ t) OA#Td>[,'Bû34#UR@ǒf<^KĞz+Ez:M ofX|$ WH28 r߶ q?9OPO$1(WQ7JqzEpGU&U)N4qBK!gj0k-{8 q3 VmA)蹊B'C0x̧0dAFEG)EO&QWţգGGg(:}oolߌ~NuP^m0zAj[ Rp VbHg‘,}R {TܰE\1֌5LP鬓 U=y`8W#eLAɭJ?r,y &3KtNCT j ,ɘ7D kJWKGP9{^T L jdRΧY;-'x!NAUf:㊽`'~QJCQ2%h2;j&fiVHS%~@cCh+4gGcc+%WöRٙVҊ\iJuT)Dэ*i+''/ZG\6!@^6(jż_"ͅ{<SO.A2hIN$3ߵʞK<).k D3h2+m*߃K+uYyjNa t{) V>TU@s'cG) Ma^TEE-Y.ŕ"Х@on79+qFU-A EqzH1`50{>~pR (Q 5ce+/+`InsNTdIwd5!Pr54 60)sƒ dT_9`3Mu$%/n3<RedyƟ4QƝ%%ာ`o['4;T|YM͑WZlbРKo>R3ǫq*1z^PU 8)aC'>aƆ-GܓYǶ̒@VF+>3羑!koh,"ō.lM}P;ap'ݎ[8F& ńU^o-U 95'gTW2X6CܪۡA7Ӳܓgr33[Re)q:ϻѴ6n@B9W$9+U] D gO Ge"/gzAwݺ[%}H^!ZOᑢ p2"n?rD(;jp$"&.\Anh= 1>O{`W!Am60x98JR wdUE09 6݋`-j*nm XIs[05b?ق4: "$Ux#PٮHX6}Yv@mk1;Z XTn+yRTh恂tThfҼ1eӎT`;MgxcRNb`c@U:]AEÃd6YlС9Sn*txUZ6껺5˩f;OhƐG/UlHzHꃭ S001"z4V } FxqKſ)5'|4/c8e9fD]iGio6?ݶK4O le]`,p$}% ߠ5npx{IyW\P_ւ^UП "SB-Hvs$BNuðN>+ t2嚎M}`iCnÄU \DݎV6+y1a!Ͱo  [:չ{6M0w8fA:;~{LQfnV!P'^?NOa1%.ZpbZ6,*4Sljf0ރ\H`7|4.q-ndmrM/.o-4? At.Cv"sB'T%^p0P*Ռ}%4t`bI]Œn 7+ˆπ/( k\O68FK6G~yց hE”W[NĈ3>J4{\!?5>akrYH>=mY"D'4zڵ*|2ʶ :?yӖgnԎ ǔӕM#FϐyƆCu^o-YA| mVjmWe00{}Gݑ!Mx'I[6nr8C#xvpƷDz h=iQ1e<ұ&POCp4EG9q׀uMsC$<Ȑr}4k.OOk|fz.+qq;n";lMh˧bcww a: UCbDZ*( Ңث*K ^ױt߆jzfRLńXX',3^`$ҿ&53>2PBLq n@9نfF>.lqJr0 D;J\.؀~[m˼ڛ&oe?4gy *ǵwCT[DQ*BR5⚨1̇kݫ]t+R8֐]|hr^Uybe+@/7?q8 KZ6.\eH |ʁB@LL?nßh@]6RS(%*?Z3*qfN 5³PU-W ꡢ>̅A*b{CлWw&QKAg D2wO ɽ{RI-,w8bu&ޚ樁p3LC@0f}a|1ԑ0yhYaV$vw;}ùœ$YM -]G'B^yJ[KxEQ"S1 (RBݪY"fZ+v⛂qT'y>*\~Gc^ W0G؛k}mM4LiiY]"(x #VZ q:ҞttbtyޅD\ /q,'z)]yՎ))+3Xj3 OQxŲ {#C#k-` YE[ d^|DEfh4₃ A&!4~zCcsюuV %7 iLm l͈C H+(+iWޢUZWYx6Ӫיc,(/hҾȷ2;ˁxF 7uƹ`;N@7dsjx=}n_f}=6CCUFљYn BrYS/=C_VwcHe3|T֠IS$+NC 啙:"i3V&CXCj~;Ld` d5 6ceg?TT݆EZv*$-9ɻy1+ .}Z.θQ>'Qo `}]`kM"20֙.2A1{ߍ|,!!L 9 yʢRlĺ3)'U0 nC˨nHKrD]=%&:\4ΡxQCGv0ceiOi%#b;YjH>41=0a1m8KT1fcU-͗bnX4ގlE6-a5kL)rEFѩ gRЪ(U9Z1x IH )0 ol~(( xl3%.{*k>OPGSZ t z(_@,9KpG/꒦B@-:d&CrΛfo EUJ.do6! DQSᦕxYKS_ i޻6d/S` !N>] {[W(;t'-Mxslt@%F-3~?[uխ'3MHZVZukǒB~P*$Ka@rBw}?tRg'9mc*j@LmǏ?x6~wll6F t%~ |:zgd[֍rKIM:g\zl|5I/@n5 rd&^6lFQ&O}}Qxߗ>0~<4AmbJXl0i~qW3C(sa5pElR0` n]^^ ny20&r͡ DYv6NmvRp!S^Ó gW oGp+`{Fwø}$$p:6a)|jp 9k jY݊6 mCT@fÒ/w͍ՍEowrą0kul ڀǝ/p/nw'ahß |.- XJ!J ;JǯHv@%sˍ攑 cFS-`wqbҌKK$6ªRf{I4jH: 7$Z_s<_tK{5s+΋e8{BG?uEJJXYzp9N0^K -ROx] g S yvO;|MwO5Y ÿkt::f;^ӇZLShُM+|[[#^Ut*6D魚D$ 4u1A/۱z!c'[_Xy/O\ӊ;)d"1K'I'+vEQolUET)Q\JoY8R -.ɷlAe=">.\FR0h6J= `{Ғ>cT{0Vq&8%EEwrGِv#ߚjjfTzi,Q9b\p&HŦ;ے&ޫ:Ƴ']$ms`OQ J'I2Oب՟Cxj7  fvcK_1'QZfVm왍܂l`L:S;+󕜋LNs>NsdCw_69~f?;|m±x,c8DKh7mٿfwZXGЊb˷cs{s)MZ~Ӓ$ZeK@0hzIk:_5JЊ64H),m .R9bS5GM5CJ%Yt% Zvfktd}l3x*OLUN Ev,fs4wѝƘleM`tQq\1:GI/cLQ6D*9:[^Gxpu!(&Ȅ; MEҪG3FDd;m5 G?R)XᱜuǵUjC˯h|"Qʾ9b&l>#k駩Ʊ) {4huQ^B[%*JA=*CCu"wGr^[;2`*G˹ZyB ѷȻ(k6rz5M`G,M >\:zG#r^ʐ_dۡ껳.:W7Fa.Usvj&zt"bQ>½nK 8Eu*oQsuTvxqW8jW|!Hqw*ƫt9E'*ѠpaIU),M4ʸH\cWKJ =,ib \ W""(E?xQ)2X"j<@Rhv]F#0R!4R4P2/a݌q5M7mLz̳SC95U˚(ylLIFxxFy2L{p /(:MzF*iDIBrNd% Y-,M7y;ZF=F;ԥ^6|72'Y4z6{ | P! zYLH:͋($QSLw/W11W"9q\:LcMz(&Džyqa2ݼt> BEKAù_DSߔn2@J-^XvT' 3r;6w1@lc x4axԖ1sF\tOT,Ku2,CÕr!ڭBCÝQX4̀l /6CN”VU{g'ˆv`!45QX"ou s@kIB326|%BC&?"p'ϋtzUŕP*.$r8 Sz~ъ7]GfZzmLA]CSO ) '6l#R4It5Y*wģ3f/!2BUvT DGaYKV<]k)VTz,ڣYTP݊M}t~z!/$ѶY,4w =R,4.:"IWgONRnhMȢFܠyWX'XZ1Pv& _c1䝋#琎qx U?N^s}/Kn*x-CK?hMb$-1E/&[T\RgxŪ|/T,D~GpQUe3S7 JZ/Da-:[ )Ƕ,v#膈)區_Ʌ!nY:2 .]`[&RcGc/6fA0II^/ 2 8AvEj& $U4{JPUz5H% yl[/ͭ| xL/->?;%l_^FqHãՎCʣG~2dr?v9"C]ⴭt1YZZ¼CJ ̋Ph|˷ߪ:K+CJ~[?|cS-Љ nr- =2; bnnӂ[n )= 6>ߣ/y\#BtQcbY'~T lK=z‚ԟXQ-&n;*]on(:2Q{TF,F98|4郎1{N0r8n_Lg@y2G0D I*̴'! At>.aqKmlJvbm*`^a9m]C|> xSg١~%@t1CCl .BT5ASh,WjנFBAv'+1V9qA5}HDϰвB= [2s!8L)le@6ȟf=Ugh~>FKjn0Rɹr:Tfx/Y>j>ӿMT3$FIOPwOv<uG( ?mӎI`^ӤE&m(G>_蟄1@Q(V;%xh5X@9S9o&]o6` ̆8cSuHtf7>[#.KbSD{a27/'TP"}  τd9].Y7{BsD S@NoXd+#džϪ`3e%DDEC/L[!Pde\iNt; 'CH%l,1Q/tUlehO9;1)2j[ Wa&M GV-0mWd E?_pWWx&F+F |=]+ppM/wD;ꙧfhh9۲!G:/o.LE nwr#շ3L5ЌTAVyEkdJDlJ8HZgS۞DےAx( BG5ATV4'g]3w4.;OCL~kѶD<-@*̺FaAx_ Y6qEPU:%ϔ?at.*>FɇsC5iP7+-NZU7DS]LhLT$;*kbŔU} ƒe9wVɢW,Ѐ(*02'H+U#DC[c <_bCԀ~>m>?a?L\\̱{xo okϝ߿_ɍz,ɑ&}g,X>;c;c;c;ccAVe "*m:M%>>q2xB@  Pp" I/I$o騋No8ff*WWm<źU$Ŗ+)Ư Ë1R\:U_YlY>⚜r/?|;GmÒη[c7`̿Čb T_ V ũES|Q~х$hۛ@ [RHTf6U=ͳ&FOSQh{fpT}f\JE 79K,4D ޚo]P[oYNzfhgQ_=Afq3|=1DBu\c^ $ɵzL7#c ׷62jzQ K߶`W`F+w'dRjBHʌi ʊP[}"fԴAyhp T/8U@4 )AS6eTS11{:O-2'6ƨ9Z י Z{L׀ κdЦh;‹c}׌V7htj_^`, ,:?Nq6 VeUEЀF 4FS[n>"y{*G.v܅O$ ͨOR`0[]&TL¹HXξQiKfIAK(`8 ~ozoǑcm~ %p?8Z]E[W?MT;4Ц"Ef03Ff=K(xx`sB: VO_(. p"<,y`OjZ)ǦPz<_!'#3mJ&3gRD*:p>Y(7Ήa8MjMh ж-6i3ܶ6M[~cX5Vs~{<=k+rwQi~҈0nIs(۬E^R_xC&G /Yrފ%XF<%`Je3U,A 5n~ہr(L{i.s\Cŵ,o\<;xu$qДS6yӮ-"m4[<:bO0:0Λڜ h.Jӱ7^Jz5}wwYpӫqڳM)c7]9{*yO̭)j > %|ƪJ}ϚN`>Z~2$=J=ߕR AvOUȞ'C m[@UAl#K-cXBb^iM܀lrzL4/ ⎾,逼ֈwXn0fK鋕Be[hwAMQ\Vm1 ~1 &ejMόcreFlˊB5[[prthѻVB8#NX0]Ā -<pKZ @Wl*x1-PCW6PM] o)w $+՚KHj~@ >#>XGF3C\P^B k$g$0eBbuQOb6ʫ %:*夔0cUр!h3 Pthp&6 K/8.b, TJ#DlZnCߚ1v-tw)5QM)샃)aLCsӎma֦"\%'=׽ 6cX\<`iέ3Mk`iYY4[Ҿ;0i#-5f,r:O,?xmv qlmtT >4*~FIEΰQISgxLǿw;A8olj͇6GnW1fQ3h^mb1;F76] ͢D_$ڶf{_xY{y)e/>-VG[[O)n`sjdl?`%dt+xGGvas{kUFs\{BV`0I†ȪꈫʬE%N|+a򨟭X:Yj4 >!^euw82)b qH߯DZ[`ZsDN9|J94uFP+::/N&dr:5QzeߋD@ i0%p$eUtLqGt %4zMZ&g<$t Q }Uԝb=nfOM-PFh\[ -uB7*KS|rv-(־AWUMpj39}\ XU݌b֛x{5~-$oPN$c{` z45¸6-܍4E?16ǚcbfo.bt'ވ@-㣆ȮC/|'s.]0ra>ΖlO88ß#!^ǦډJirly@㯈EDC#X~R.*$=:+[׏j%:ޯvbKKnx d4ݾW{-ۻH}h;髕^q0O N@P0m9`xN ɮOT063FZ 1αZLXXev~`%°UL d;mթc k*I7>ju/uު^nH)Rj>aɟڤF_rPJ,;L*Z*u ,y? xŪҡ@\Q`382f!+BKi #z%+UF+;jZ,+ f@Ve i;<5~BMjЏAm}(N(ٹr3oKuGV:0暚6z%myTJU)#9cqn2U 6n`E"sQ^lвis1̻QMHG C(Bu"ةK:8zi_|Fd`֍#NQcۦot܂A5QB&^]-boE611 q"x5fb-zR ! ɏʩ4mcM[r=7Jն"&pJi>;dK~ 'el<6@q $si## ├Q10O+#}#=ݾW`$f34ЌDWlPbVWM#jaCnG >[^8,|.s`ʭ >@\wDPهҶhUu Fsbޭc/"/ߟsnbSKй)KWNGrEe^6*趑xJOLT兏_&upS xVnIǏt$Omm'/+É0NO;-f.4+"mOO,eCF5]! !+"> `)ЀW4ata|Άp;Y QD2:}K`R9iz)jt+շ%i\oBԢ4ș{JSfzDif>E4BۦM3"خ-N4~ft}NlDCzvNAЌ=9̮gcGI=N$f#m (|Mb9kN xybv62m&5ۥ9|W*PhG6 1N q>5s9H)2ҡ4o4AurNݭoh Rm݃ _?;?vAd/h}Lяfn})y>I~X]=3= .?f YZW >'[>+ 9UP@(m 凳o[ycj:NRUùE|T(NQ8] >5* QY"_'t?y@'2l5lS&nk&۰ 6{ L`uYP⹹ݶ -H^^2bQDtݐ=/'0$@%9+ P"FkoHJ ݨ;lUUQ->&T7Ś,} $"bư{E5Nƴ.,p Rhl_[߀k k"-9r+rqbu]^e%{޾bs$;$Cf<a02'QO:(yuN]AġE(LdpOgz_ёg=οڟg6ܞϼ돾+l>z|ןٝbN1tS )xAŨ+@&1(Fo^=z`XB( k%QMٞ ˯l4_bJVu~Xzߌ" W`Mϰ\Hr0(B`9nHN >ۘǩm LK=V!\ik^3wX֭ؑ9c'rT\hj <n_c_A2Ҟ#AjJ.vQP4:lp RH=Zԍ6`-y+4fFy""cE8JvxrS817,>7oc.y|%L51#&R|s3h[cl@vrr-|]d*f&2; Z 5g 757JR״{k_i,]shU2i]ҌŭX]T?$w[]lbUwAJErx+rlӏ;S{߂P5WE GWXb|v,1^fh-ܝ;H=T<1Ta^b-g 92ID!"|δPqv;\@hQ1 Q A g^5rAwMqR"}A| uT!&F.A7TEczQ?_A7jֱb`z{f$ϲ֦ kgeu^#J[Ie8e^[_yVa^O%u<(Ukj٤{Rh68 d2#[~ X[Y%WR!<ÔSfUzRK'wqszBr$sRjC}ʝmbo{}OK{\/&p) ^$kpMgH@_*5S:;$G0V6Q9L$3L'^N}iWE;rЭ𯄝$u`Wn7,N>}+ ǔ-*:iBX蘂4]2n\ V M4]t-IUkprOZ@͹5uZZP,ж ",pťPFv&: J'cm3`aV/;bTL944M>'骱gh9ƱT_Yh# Աh^ϠȢzŒk 5; DN7G[=2LkR[;Umg9nȂH͔M0ڳr#CQBIiqtjdiTϟßs=elZt29.A6''ug6(LB:V8IGcwpٽU޼xİ'"v7DSD:?)ϲV"9{,P#嶯ORAD(@1+f}h vu*4l-xQXXj$UT/捭ڢ_5vL"LD es$sCI?)V6U̅`h)uiP- e!.M8xѻ9PH^;B¿af-gccG}G|/ q5N-_+Dx Nܿi(7q`o! x W+GAld@Iu6 q0'//TVr2+5,b[13)`_7yTì߿}~w*-ME(ǙU5`8YI^fPGޘCXNv9J*GgbAvIda]T_&PkCc{ ո=#A9\q}-,CCB[p} g M؅};|a"6`RA1o2^fs097%rL-#*_w[*;PMF͸eYfhz4l?Qt2a'r8obA:~%Ha'hx/޾i޵!QKg^~o5 V5K&{Uˆm8g(-&ן L;sY S!(KlMOBYitw"VF K#@⥯͵ %iI1/׹6LgGyNŜI_BHqy<[(:0 nDN8 E7wVhzIqB=ð QlHڌϷJkKwݑm*yuc 1aH&CΊ5Yޭ-Dkyp}Qƽ[ 5RA[:(C3 fj|C14oc~-PX\Cط"ĩ9 '=7#~tgLMQ :%Op?lf.Ur)PmbyF@E Ulg9m[Dl>Pd"^1C:A\O-B$%C2/!3^1.)կȌ@E AyPbc~#; J v'FŠnS A`8XI2DTb +bUړLGsCR ؕ˹9H)/k0e(ZumQxKon m]C~g.UK#4j6Pb>T3FadHπpc~] Uop?.v!qd (/-؉F8Pl϶ ,F1 Nh +2*D+vH̴o!Fx}A}e٫M`PL̗~*KK(oTXBv(0Z6dth'R7G٥ #>+לTQilife\b >+ ݶbQêzdC.Fim)$$,%i"f8ϵi1oIybJUagh46Y%y/#)~6 :H}]!/xWDw"Ԥd;!Ӄn =I_vGs>j>'l@W+{N S,L~ōY߳OImHUXI17b~7K[:~ܴZ+t؝|x@?䌡wQT D[M.OB _Vv VoU/^UF^c㲏2;Y[")} $tIwCH>MѰKJ{*Mسg'p2xݏDL9MnT\T%645@N!*-j wPx|zEJ #cᄡPǖ~ #T짹t}:D_baL-G0*7#xi#n-,xshÊHYtiPcq : -\"9vp˃W _y ),-6 G=. Z.͊ :NM29\\+kFKnyeX~CtG#uVbqm>{}qȢ_[;|kc6p㎔?{i_}Ä=݋0VBd//)|۞܊1Or7a[BF<7O8zԊ{y2KU3 Qƻ)$5,hQqUB]`yՓ@Ҧ~S$*4&iЗ_0[v5hn0q4ZT4Nɣ,(Jj'25]e1{ي;Swz&ϙk۰쁈 = jF!U4gn#6lEK&7>Y /FWpE>i/3)>$ KPhEf{eTg@@vH21xP׿~ELXcusPcPS31b9>8m(7mھW7aqLҎX5(|`-X{0?kPYq2&!|zA]Ce! RG5pp&5$1'Ra{-8Fzp7=;?:qGgˆ&TqW#1.`΄\Ce]ZŮ4ج_4OйםI 2]$a9ZH! PW-}ҘXnO3!4.H  H),w 4e:&W#D)šEC2O}=f]!úQ;$8[tlT {퓞UGi)OAԣ0R2W*M˫d C @,_*έhѾN6qnO*ÊFT?Te1yԦasֻD?_̈ɡϲ޺kPbRgŮ5U-Ղ a:6) OeIc!f(PBuVadjN`Cd4 FVm[Yz"z&HAp4t݅ooGoWAr2Uhݫ*{,-LSq_Q\z&5Q2 :Ȋb (ܖ,Wemگw~g)1,e,y1VB~#30ga8]\t+ mx hQ,]2W#TQ=,A<_ (^e݆jmmHJR .|r4Y P=[h;{xaЪYTIz~ʆ -JAqBA78K є~dC BЎ %exV7Bv \~8恕ͪ 0F#N2v@u\ fɊ^B%RrUEԴ rFO2g/;מa6;AT5k[!b[p2/}]R|n.oJ[cj)Mhxlו׎ +چZQ8 J8%F{gYuz%م 1eOe,QC/uip2 _4,ln?.PwJJ!hDkK0UH8UVDH'D"[ ;X/B9h<5UV2r(v6U$ޱNҍC<н>kB؎ 5._eSp*Eofrgjw(/UG6U{]h8~H%l WO$ʕҞ^\iGG(d8ȀV.~]ΊLJttbEw 0 %/"#8GBWbue~;<&2 3~ f)9b&S!@OLF.Se5uLyCB"bM0 K Fa$2DБsJ-L@&m\#AxiLs/ɇTrx0є3a#[hB>K]!;z+&sSH~1Xj#:̔x'޵203YrLF =A-=@'fxbnAW@Θh?0P8bv.H "4L64YKmG穖_PUDhZoYTsc,Ϣi#/(!d6n+ ځ~g2TO~'1OG^`2̿[t?9f{!Xԯ ϴ?~sW4V*J߰t zQx0uf8q<xU^2NB<F uZE6vA 9D%:xF3X-NG8v=EJ0Dxi dCMV|jJs;gW)6,*m[<(m9zJ.% ER+͸kT.m3q=,5Q3cl`R׋\:l* "8j+sa> x]^sw*b"Y*:Gs @@C|1A%v +2Crm&Q+-1 ER![8>A Px܎qVU[a_c;-Jq 1ȄjP |Ok+1͹q-ڣ+#]˃B m:H ƂN۰"P/ [ϱu*Ԣ1C|񷶻S7>y6cϭt+!Z$@#dRiP"F<>Ix.%z!}Y6*Fn*ǓH>tr@/K~.hN>8v;]KՓ@v,?i>Uws5K8h?_*4Wn;ϲq%[yA4+kB?kK)&sX} Gf?"ޱ̹4GϼP9% "f0[hVvYţ!{ ‚KCFQʄE.6ER^,V@J砞P"`Z

    jr̓!aѐ:U\|裉U F KW=0].@ 5ͣRr톈4ʂ|LŔ-"o$++xɐ]K1',(^of%20?J`ak߅h_qC}?ơ?B`! E賰*qpJd}}\HSlrJz} ` p)wWj$]@ӑvV٭K$YA謁EpyLtV[$T>5H1W;y[쮩Z!U0UBT_YvL arP酦1*krZnTr{~Ү;j3h..6GټgR\7xt.mEV=m1Fd|dvY63`hJBלȣ:ծ{.٪ % IgUJaZY ,7MTN7q]$;jD5sՀ (mvHZBI?#*K@[T4jy'.h0@kLL@J:RM4do/SR7'yvC'+`ёFJLT9j[%0UM4/S/e&-U̞zʏ. K,p;z2]/6oic"R٥3QbdS|LZvIUC(c<&"rb7$6bCQU7rSk5ApxL[;{g`HTqwӟ쵟ޝ8$;mFHvJFgn/J/+w%o؎jQRKC87Yc3u o=.O3tX.>ajP2Z䃟:̺a&VFof {4bf9gaZhSt$PTc0j$*\|=$~? ]]o] lm."nm9<,fR&vct v<p{Qc/-ݸy:{2^UI7QE/g 8%c5}ǶjO}H$󌛹۲+=[o_Shg!qV|Hr)&wٔNqvqHfƞ(qpZ^"$fܴ*ub^YR?\:RHv1 -VtL&:7m/ceFlXMÄ ц!hsg;h_K鉝reA]ohUMBU'a;82%Qi]eÃk,<] #P ރpvi u|]MKecmTgegVM-Ē654;ؕ?;OS;E$(c" UѤLT˟I?rGS+ف%0?XtŰS8]y옏eߑٚaKݨ5ѢUUSh,Ke/W ݄@0eKi}mRLed#:7I6?f)dD#˟խd j6+R1AٗJ x64:R0"U?[VKm=L `>wl7qCR>m.,MCIu6VaZPڔ4oަo_DfޝoHݯmGg{W-'_ә7b0XT+9eqM* }lP%Me gz ucJȰq;}+p'ZFOt/P?SMD1Oh}?8?JtwH5((-QzGfu/Rf4:m˄trx(Rs@}:ڶu[Ԕb˯_:K~1朳+Ϧ;$6~!.lp_KJWX*q&t([^]F}uYsp97iKMմM: FI~{}E1W5߲>ї."|Ye+\JZ(.6.=t hr BX:hYl|G>x?̟^6Kl&%MsYn ѵ !.XIP"jP<0DsClJKJ[|r&Rg}<]dL+(C'ξ$q>Zz53R 7|pcA"@#%` n ~p51Bt߁rs}S5ms Q|n%g{B6B .|& }ˊgP wПR~n6QcR'4" TsTm{$Đe/HB(LkZ)e[$&rO1H'I\&!ɍH7G#lZF-?zpWG-"ע-_}f̾9˕[ހaBPs * k S<ؘULВ[icy?y}*.ܼzpKB_92? ?kajE#r2j{ǧ$U2EbiN"rfj437+\]e$Ԯ򣖈G$T;I AJ Gծ6;,[NX8\kW-EFZ,{o_\EeRף|gwoo3`4}U[.Ih-.Cl,L.\dHîz'Ghk':`T`4jyVr$bRO I#)yB}0;MUy}efI=JenuBQ.ZHeqc.Q)JȠLxiu:D!:BI7ᐝK=WUZ ؘCGG\_^ϝPNR5InKOQ$ ET ,H\co*I䓷K /B3Ͽ 23$9^D1^4$\{0'A h8SA4%;rlt{39/|[C)K3_'cl}DYzkEG A;y4C3$Ll!SՉ[2W^i!M79N~qCy\Z2mY'pf ц̤;+0@AYhG)VF鴞.46,Z/ʻw7XCFD0zn gZ.BT {+p_#(ȡ`Ucӆ6&6t5QNG]Nv,1'(#ߙ< $Ȣ}%<2m)C0E4w썽gww1" c,3ҭ92d9ݲ;:zkH [dG@n!<Js^s$4[ݜUw_T;Џ{uvG?:會% h)+Yuɐ.+9:*p}Q-tӜmQH8; ]` XD>i~O+UY->-}xd-o$,ElE8.L>+dEw$""pO?Rt綞Hif,fdrT, _z1ky$Ţh[I=.1P$g0ek8 t#*p3PSʻ eWڬ`N >Kx`qlx4 7A.FZf,B$ݬO0P+M}8H]b$I ]%4Ō^mք<{ : 5\ >leS.뻕nqI-z 1Ŝ%jA$1: 0/|xE#]<,6ht %/#kbr4WcXGi)F}k-Q*X7쁮kے^㳛CIrRkDǨN0 ʵRK42plH[}0v (w=ڳNLA0(ɢ*OmJi6Qª\*ʌ@NY7/?2+\BbdX֍JzՕ懛JWQ,)#[^kA8@mbtN0>fj`"6{V`'[t*\LĞ}mEˆ: 0  .9p v~H^ioA͋aE͹K%rxNL9Wk/`n \(dGX41dA^;= >W[:|>MԵXٳ9ժIoz6KqqP`VD-dYڧ&]tc,@cnΊd%eްMQզźƠ\ )LrvAw. pmQh,Ks| [$ޜXU:'Uвp+ڦ*wPS4gEV ؚtLFa|*7H3pp1QId1݋#UuE%]>GDLoX$'zSZwVOGХĻ鱃SHXY  ٤/S]¤g˲YƣPЭ-܉~jspYE8.-O!dZ%yф%Z#.aavw*}R>f_U|qm-7"Nt\7;p3eֶ` 9M]LSQ7rʳd:1%a K m Jv('ug:#rCPFcEHU3Ssx2eDP<CBY^`j~JM1^wCL}0b>zS͒DfD.tK1 1BՍ9" !ve7HKxe9 "X)PXҫ.2(61wg 7kU67tTmʇ#BpaBaΪC|؉UY,L|LG`d>0qQ$\cP1"Z"380.ă0H=Z X)RU5q̹-1;h7dD6S/ƹQ!"s`P;tgt TYS MTCxNk"P/yF|,K&Cp".hщH(7%D(p/R n[4A#J/<0&=wH3fba~np3H|l(0~y]#Vvß4TafOs4_<n&qn9v ]sWn?qb7.Z7T/͛j{c>.Wod߂kW C'Wݝn՝C;\^>l2^Ӂ&|9&[<pJ1F\Q/ܾM4qB/SUz%׬NoΈu7fK7Lu5& t:F r0B;:ęцLrZ'*0BIX:tR/]h!}"r>w=7UaͶmq'6<UF|+|,]riBPAK%YOm|!*d*zEʭ2NH_vw̦qѳTx{ՑNGuF]Hhոc"+0jhm`;7u,kYozSIq!ZkxQ'ՂDV{)hN+.tWl1n g.\\ ֻ.Ľۤj 6TIjJSeYJSCE 1vJhd26[A枤P8eWl=Vݗ0'.Rp'&rx|.pRft}Q1TZ릥9ZZFp+UBH6`X+ieՉHAxqt;Ř 1`:j:Zy\g;YoV<-n)X͌]H F̈́<`H&ij b. ?0ڀ(SE }C_\ ֥Yy#A Lq fX7}E5uhG[R4W~v2554ckRoK3tgM(/wYvi'!q' OSRj628Ri`1C0nٴ$pv|jkghP}Y,T$8}\l7ł'\?G +Vʰ\fg{*XY:tYn5VnZ/fUbrP "bUC_tg8@KoE^ 1ILXK=w$m7h=t]"K;R7o2y"iayx g-t.^7~cC##q+]sKQ[h߹e[3=Sd1꛳#s-VEwD&_]+kf ӭrm=3+ߜ0V3Ҧ0,'sۺ:zUh/v{{a MH[1qZ~pLǰN0hr+t߱UwDAK`BRftDY6(:-[hȥmKahDI[rHTw~jV;# pi 9&SVB["IQ02n YV +7ݖoA nt.qAV:wN ̍t7mSzмn#IHi~PV҈[z#FM< i !_"#z՝_sbu~v`Qm^sir}s[< .8],].ce/~>ޖKaLpt*[= =a%ɓdHvTbkͥqh7bO.'}=́gLy[=?+b3#Dx9@:$ *_Ǹѿ=Ľa"fY7.^-sDzݨd%/k-K,fo&IЯdؿ#)n f^)+AH-X12 K ,{@wgv풺1/p`CD1S=Ķs7dZI9aEoB(k2Ok\GA+ZrRU|*] V^ƐfTed/(x ߣ #%VrKl}kG޴4+F~kg9,U['QL}suMA8 ʫ2Y)Xazێ'Ut4e[M7G̗sz0`Uj+yw_=+ dwh߬Xsc.[ƽ9v[tSrQ X\:C'nUf2 {"7VvcOC b"wՀpzs*͹s!"+%\ t@MP4eM$A=3l{0k6omTE9Wg6\ʑCs.=ܮe]]lld.yq[0EqTO+^3_@sL:9!ˍgATnnȰcPؔ86L?S\ 9Z8*=@^Sg[c7ZӇ hQ)f4oȤWb$=psuzc9UZ)aOQiY>fzgv[u+@G rP{?8ŽB_q Sr[`T&xnCa!o,ʂs]BB,m89xcߩ`t{|♗fsn_^?-*[Mwb\95`^G;q(h l- AyG?1l%ª3vAr'HzQqL|tE"z:  Ll Xd0vtٿOr^Q%i #'#İTFA9آ㲒dYvKͶ?YeC0+"a-ioeڋ`۞L B)sX/0`N8#JٵM\kkabz= Rn} )=nII4i}*vbj"=?YnYwhϑ:ur) b8-*C b/~y"nnkʶ7zv3i35Ѝha VE$wӊMw#p6R ^q ,pu}*MwםE;fV:aڝWn 5۩uo:D[3Dƴp9iIGa<8P`Jj;mô;u݌'n*bdax­-w➗-ZVHᤆM ٮD̲+cCHD > UsW!TQE@(|v=9? y(M><{k3_=gˁ4bd },Q~!c GQ*Ԟ::"dI@ 6,ҝ2c|+ P$e} O3 (M/{uB,15;&]X??aJ s ^b=۟d*#czO\U<[$ETn{MPRX!옶YmHnUVU{a!|GiQV\$6Ӎ3EfV "?*8XڬJ>b i@~6^() -L{] /O0y-e^Q`җG6թ8JϞ.+=Yܷ Ɍ2LVl&x WSV|e.:*(ڦ)QS(&.Dޓ0˙K{kYt#X7PVŚhtYw҄"_7pxAG+_2LK!TOI}+!~ /gD$+y`Z<~E8w/`$i!2FڼdQ_CD;sBZ¯%W{: !d!!9`%醰mghWXԧ%;\w Q51e%f=gɱ8ͿH|1[֋vn9+ѐf :8|V;SsXyC?둋#n";B/;(=؄te1+`ɑ6ZLmU { Z$JKkZځ`,1v37!qPU-hhǽ8F E@!{$ZzAsD^q6`YDM ؊P𪺙m*<~*AfKǍJeAb`<$I1js}4 r.jKWSNKJg#bGKb  gD JrM2; t*.Lp+xrEIr)<3JCQ`U(X;Ӝ|VArf ߶0\HJ.4d],ȦA;ƷqjٔzWK(ҧT0K c@OO+v5sLP+鬍.zιx&i$r4m*韖h:OvՅV3DHkmH2qXq$#qn"\\"B(9&l(!}1>Z$H݊N&yoRn6>P$M+44:zc'GɶʡHϒLLSMpj@—9ڧ-y`e!gcITZS4kp鬍4pG60I0BQ4UGl@+Oäק߸S'I8;Zo-XC-l*:zgAU,A8C&gp1dE=J8p .mec'wpچ^8Cd#!a?<F%/Ŗ)\E粧@D+h=6ºmC &fZS@a]@ۥH_r8…?m/qI,4I1ڰi CCvRoKgǶ-!a7Ʒy[tICޜfwO>w )~*#ZV?>czG~h>1=#^>~OF==R~}hZ`OFE_!~|o諟1]]._/(3'Ax/h?įR/@>!Іiflf= O 3_ї/sgFP#ljw@Wz]t.h3""W"'8(-~yQ;{4Oo9?1]k~M~6lN3>~3?xSQH'H#*K{>a>H~/Ҍ_šޣw Hzce6,pi'?a|_7MО)Wβv#w#\~ ~l ;~ei=EfD`V(lT{]$ɋyćj˟s>ODSa6WW;:~?$2$I&_Ϙg҉~ tFhJW;c,#: hff?L"rї$tDswZ~>B#>@k%Wъ 6418GY`8by&ӿ 5x!b~63`G>쏰] H˥AT.ߪ_ JeBĄt_Z*fK]Pd]"qx&_>at ^RM ` 7B߈{d_տdim;(̽{.Opkq'Y;n{ PoyG.|pg;߱V `FŢ;Q5ʝs/:!_`ǧ?v޹u|9~`ڑ* ?$ztc&X0}‰ucFhL8~ĊcbxJƁS?bצ='#wcT1%zw$+ ^Gok Xeg [;Bz>G`=Gěpc_(g^Wfz {E/ѩOէ2@1S*UHlNj2B5醴ޞh=k!a)COsOb ÏGٞpRf#Q|M]+?claf tyuE#czvzxQfL?JgL5FVܟOb3M7%0*1 &cikLl72JO8Ǹb nx`1CC+ۿ ³mDdw/A,D0bN$LN볝IJٻ`}s)KG`xH_OI0}13'-*{c6X|_Xm?Qa#+1S`p[:u&|m(Yw=v evk=!XUM2O'yUho~ũwMo#DOD6QX?fzLl`o[fY*ime =O\Ԥb;fcQqxIjy@1h~d敗F ?W=Cg"`>Az N21jhUqXP}"'V_ LGg2/[?"\KM("|dwVx%~]Pш A_0cT3ڰ/'|5 qٌTg&aY1H$.bH`gn5x?bD{6XUg-z)Cb`D{OF?D؂p0ڭ0vA(_!#%ۀS L[LoRSY<ڬDxd,+5҃kp.ǸmsXS_@y0[x _Op?2o0d(Me}5X=ɸsLHWTng%V[:jН\i41g , >DU&NlC/-{k;"A^?t'b*+}W1ЫqiNx޷+UX?r l-~c["=h1}tIhNEcVvꎳ()Mj5n @ kB! UR$C EVPϤ0DH؂٧?h4!X@TK)q? I$z~*))|='Nv/٨i!= ~=gIP^{c :$=T6,N{Ss{A<য়fּ?;8VN3 |Z}Y" ]j Ԗ̃Db?:O9k4}mjow "Mhg\ yVऒ9软O4 U [? Ȧ9Sq=c*?K BX=Ǭx a#.^6ag̝-'I!=|HAC@I'[擇!@$ 27wgN{6#C :>  +-hLz݌l)=Pe>~64)Pl;l¨} =צ|\(!ٯߦtٻC|hRZ  \Ym1:falS_$׎#4.5}ˀ$28bZ[*;y m m=:ER;Ҥo15gjVE,Fh#0e aY8V^uIGUxn?\TU=IX"*KCeqbnke%e}4@̇!93vI6w$<R);q1[?k"CD !XtZj H׻8=!,jʤKD K$il5bƅucMx>~~o/ wSKWNjfnqLd~O"fC$f $Ov~rihTL|2G8Y))计j} }bU{zWȀ16/}o%ZN HfjTA Fj vK]D~& PO?vfoz|/4e?^h#'(W/ LJLR~[_~*~eouiHﻌY̟kUT|8LУ݄PotGu_ME)؄e3ﱾQEa&[B v",TgIZӘ;cP/E-cl+،`_'&OJw} Of)9 jn鎁)~)xycY;Z9AD{3X 4Ԉò[m2⯍{Mdju'PÈ{HՒ.￑nRPx{Idlrh|²]nGG^PyD-PK-+^$X$Sz;}Gs9: .qaYZrM9XlI4s6H1ӟ4'Oi~7Я/ g} 7}8Jk!'471`{Jg`lPYo*A>aBk.DExg T*-\4rnu-ǪqU]WZK˾SY]҃۲vn!ܫw AIi :)ȂQ74sr*tjGk|A:->":Nf㻓ׄ|:ZY Bg(ﲁ\-HL W$X `#daL~tAJ=B}nyx#41&'_rl ,_A>,M:m˞UϿ@#{Z}ZtG,X+[%YTtkاS\]l6Xv"cn+a'*={D1V|L&o=|#$sT3 g,KovByD:R"DwFS~=MsNGӔi|F?:!kšdʤڦ}9}5 VrR@ B`c7I;C'A+u9 -C(,vx͟xg 7z{*#앴3ފI_9E%6Atkhpl hzåm wt]p{s=ոC#%ȃrJJiyIҏ#)= VN~ !jUG6\&F6%%9b ۇZ윙+龎=nKiGi0N迗vgjo ]$PAs& N!t& 1µGJ6%1gaߗ$Ts_Q褈3o$wLn+ ¸X):kJACJ< ֯>Vw~|,evfSd03 [\+R|'^KC(ĵ}H' ׻+K>a>)&:F&0vؼ+"AÕI14_򘏅u=VĖc+z44tA %16{nH?|_$C]Σ%E[3y,P e^n^9qthxut5,Z/}/`%i_=6e̯zUhBDi{fYpwckAY?Sf\?M6ljB2.T#^tNBRb[>&{iL})Io|!h <- pbiNCcqN ޟHb7t̹j QO: Dg_>Y:%bx&Mmܹ3MY'I?%7"-Wq\i'k0UԃڍN ?J?NvJ//J]{zw/ 0&9aD>AH5w԰/tK/'u"ln?z S?{^4?LڒV;ҙ~ɸT7_D-·CH p*h?U>kEO;;qri# JYv^z9rUpY҇GbngYh+3.sBeɒ>WўYi#Ut2SpYj_w\pw}wc`P.߻{|цKca$93fƀ# ೧&9NdCDVW7@!4tA`$Gk$2KUh4 DȒǏ<ǣ ǝc(|9qg((#/ޏOrsQxP]U[A`RQ1FK@q\)h+zŦ3Ed/dXj $.&~_Ѕu56sb=m~Ӧjvr}Ca yɠӋςlП٘eֺւfx;Fi}6$kE[[Qs(mXe!?G3_a.nRM ZMs%=a})y2V'jHg'G=>Sx\i3 o*Ѕ损O1Ihyy^&R<?y} 7[^M@'e?0[ZdOQy5Slmd#P1&eo7_S移?Y8Ǽ#J5 HPa՛oTVѝ}tt48AUNř]$cSc@RP2~RI݃ʏFS狧~N_;;wIvk~s (>>_|S_9:s|+g?u?u6Kġ˧s_|;MIZ wf|&}H@hs[>{n>u|,A|-Gg&ZOtؗA|>"!}_ifhާ/5Tum]dl,}]>kq춀u# ڧqr}d{ar5X[ǁ3Pl| ׮ Ɠ&Hw)1~8L"ț D8L5>W`Wm,[b? 'O79eS=*(pj@^rq7m@__TmCO~X-mCFVw6Pϙ@q۴ v 9QJsŲxI D~AѣTQ?M- w=W;G2 >!CC0C>\S-t3/:bqa+Kbky@#SeQ=[~#VDWDI t)n>2- 6#) Ohh(VgdE-1{IˣZ@)Hld/<E;;ѩ Q\\e;)/|ٰ+rGh JMP kX ϟz)<62=~SLR@ 0 /L 96 ih(XpEz 蒁G?l%r9%/ݽfL+҇fd#v <']GItk.R.r~١iY@3a}vDj֌{|['@% FL䢥(/1c _rrC@Ϩ>Ἧp:r/!__Qߛ#oA %&Y|kq|ܼj"sVxG|o&5+$'ak6d,:GgeϹ3|5j|,J=TlJ[׹[@LB[܆*Qä+wpfI˯`H,TP CK+4:$a =M1s>a :ppH ֟|XQ(pRk ~"fU |t\`~ƢS-˛bZM}|DU!>P?qWGۇ\c}~YZOH*Zf_l,XBNls TzAƻfS]z IG.o^}ҡ%Orf-*d(e»O8mUll82Ֆ">>U?* 4T slPxօd0%Xhh5> &J֯-q=oC'u]~?z-COp{zLCX_$NwKAz6Aĝ b6d!W@9.. \ FES=ZA >Ht*IF5V?u;y a V.UN01juR>h䍪mݦRFb|BT'ϜNojDPS5LY Os?QX &gr'^(i5J2U5͒£ͬYI?X Z4 WJbd3*P.?ZtĪe8, trPs D|y]Ӵ~xp"C@V#ZBW;s H,zC^K??LI׊{' g,}Jf rF EFz>kԸE|>$ G%$6#֊CWIR̥DgӦE_JXAj)3UmP3b)ُ!aƱY W,Ly VSٸ>={~)9%&cM_zEY'o҉e.hDk "[Ae\2}o[!U%a(XUh߮ߦW6D+Z/܃uT=g;ĩKTSJ~"7t~AJa "!$Jެeu`@=Ϣ4ίWeY,OMtXr&R[I w:I•dV/3ȏj *v7kP'n']j}g{`ڨM\T8^|I%ɯC_ؠPyVa-S/=6yhoL78ɿt6/ ؐxdI*|l~A)cqƪ9[1/!4-=+|. }r1r8taM4i݋ˡ3v+vNJۑxpas@M֞o%8fUz!-~"!Z[t Ee.ޛeY$);o7-2oH [tWK7`E͖9S 6cCaCh=E*YaO!Wu҇>0Y*UrDm{ڗsqB>9\ue1?tXC#ZS3s=eYhhםFE%:rᙍ?`,|Y `y2mXg筼T+!s6xיo6b)D!]wlb\oX͍fUN5#>+H$%ȇpfBMNaVb4_kEVc ZtĢǟJMsʶOg寫bQ(cm~#}bl8&dZEC7/%anZb@^s 4C@Ѥ6q`S;ѺM|hiyf^錈;բ.l&B&rSml '80*Dkncݍw΃>D*<3s]m "ѿ!wa~H(r*i$'C]7ĪnƁP(=]?mN}kQj4™4M3xzk>T:hbhh%\@%LP#X^xU/k4 .XaC )QJoiI1f/aGd„]] 'W`X"1ѧ&8;UR*귇ckϨ% >?ߜtibO!Zd7} Bf0Vk՚N, N\ۓM0&瑏5zdPp[TU"oUAiXi|PkiuJ헇AZC1ř~OZX;KA8Dueq0ֆHN ߱ F:pO5{6-+#{Ix8R_̧1CeV"~2疭S)ʜ*N/l뻹.$#-q|AQdE$ [.hl\*SmD xiPSbShC ৶t'wOd/8{D2AQ >1 MQ%?$99`{hGa$@ 3b*Ϛw&24* GW~HﱣlI ,CN0r_7z r A?}Ԟ8rj_0ɧтb֏$=F%1p B_$p76&4a(0Btu3c%_3ŇPRg"zw}rގ;X.+(J9)o_Uೠ?T4NQ&C) !-3)~-#D -V HGռlX.a3BJ OzhQ?̱OÍѝ\z6ݕH*Ia;tUCwkRվmbK-7~QT J5JZ2j<[5&WlpjI Q!b$zSx"9e1L!WzKOb̦)z84cI\"谞0v_֘jPBg[O|"!Ѯ,ˎ@IiҦD$A:FmS"9i'j_`F7pRq$s]yF" %YqMIWH9_/$OVa0.WZ9Bc=[.=y9{ܧqA\X3$؍Eo`O 2Ƌg@6'T5Z8HYxO*7OZ{O%"I5_vw"ϾlC q&2΋N\ F@&_pG)Ӓ; 97N þgxrQpo>K!T~R+h@׶nOڞ=tьU"& e٣6饳x7Wh}'lqQ9YIMLS~bAXU#/9۫5)RUܾD`K?Ul&/:,/}u~xwz圡qklB`2pH #^1p.'J:thk;x ddd#nYRvѨHʲ1L}"^GB Oţq+6dĞřsM M^ՃfLFc^;a(>J0!}Ԇ;I<tv=?]XBS +z)0+w-.CTb!u-w#u>][GQtt<a{$(!X5, yIQ[4 m@<8kAnt#+ {hjAą#6:M9 Gh$RxSA1aqT6ݽoy%cCd#Mk@A}BC~d<מF;ZAX4Oi cFu\h2\$ ]R]O=k̀ s %Ԥ-Od 3c\Z Oc~:K~ʕ2;MlR;?_zMXCzQ)bjF,DR ƀW E5 笴j߼xuJ2ُ۾[[:5Ν4'ՑE=4 $VXy- G+Az _ ic_ \O2 xɒ3$Eߊ# ݪe~hт,=n5r:'xL\sԿ *?Np|w3z2od(_vC79Na WҹEhLI\ 3꽉6fiy8ؑ,w(\VqpX^Wfapս+Fc! DM'n MIYV;b[<-}5['RQ? O?< [JNSQqɫyu_Bs3T5lԅw5{+kEEG47 ;יA~@pT?<%s\|Ҵl A|h7ѭ}=֠ dyDl\ؽ rcPN[E]Y qN|[>kEM #燮^fpdI#_UV .KOM`^>wd\Qjk~Ai#^YoZvD&ۆhl *fч(0JC{%-W#JSo;=4G%zE8xA9Sohë45Ũ*Bъ*|c9 ^M1 ʬfӇTXQP: |=M_ta/ެqe1uBuu캌Mt{'eE2hOn\j]sS1nS2}cs{ ӃW ܜ|QHWF,\p0Yʏ?usm :*"܄~i[hRg"G#7.v>yAvݩʞe pFZ_RQ6Y?ߞߞߞ%k8BN5Jv߼cc{>‹gΜSgN|vXG߼9|}};5FXtLpss.~sϟ0E<)aZ__;_? 2uעx~t ~(;H1f܏"g7 څt(JDWccۇQ, (4HF 0 H!iobYWce0ڡw|-L糈<nFM,x?2,ND-i{y>v-uЦ3-CE_n'(ُ/*n~<.q80;]f1ܭQ$ aza / 1R>f;d a:5r6BD>.LB (Kq/[>Mh@gp08w[ +QR`` #n!'W3x~<*?Fq6ү|>/y_`y~6o6܇5Z+`3>5'[G ,L:1J';<2[І⢈]_іrHGȝvg>' (tN12P<ݣ"b.nUH847gQ8b` _a/5ٍEe>Lc:<ףtv͎r<~$ʞ k9BTd-oS!,ͅB3gBG/lo te| {n}NdRJ-!҆C!~/&az~CZiL:Moh4,u~\Jtjyh!WeDZy@|ml1&sw鐗oM}mKi1Zт=@/gLf>νf^IC̾}9F>޳ِՃu!ۇ-^{Kw?-[0]a|H)ڤp;%.:03xT^DedhO8?8`y.7"91Ҧm&N70T̑Cs8;nOYq&CH-N'ދan0Kfib@E\DƷŘ4k$Džnu?~34Tiftߘg*8 .~N&ONƐ[_we7 d^ ލoH3?8:?,>;SNfC>›Y7BE?`Y;B/Bߦ ȏ>{' H1ʂ;ieגٳN*1q7~DUgT SGzğ9 7ؽd-r,!5̿2F.rп3\/I Lenu[ heri qbd`JЯHnNm4nA6GEEx\p3;;lpz&st$StM1 DjcV"dzwf;ɩfw]lӌ}tF$2C)(crfތ<'{\)<iWB .F~msoLf>@E%'yR/gsd,cSh9꯫$0‹ tߪUWs`ڑGLN(֛mk1~K[}X+ߡczy:9@RBkFA wj^8ބ!=6ͧic0) G//|ώrU% U D!Ǭ`!`hFM3;0GY WO}D(Apx,'%28T4apZ[î:h)śac's\H",T%4Byg U&KGke֮ўP]b٦_nշ(} <#0D0x_ո?u{w(9ɯvqj[r[j=W.AJv2PiMRXrB>S&? 6 ֔N)@FFx&[ ]%dѨr~- ?l2qzTnUW=׌t4#vReƒKu#s¥/9'~Oa@sBX(.6Z |vt.azOL≫rO1 կ=&Zz@G:P"ssM@pJ:@CܻsOWi:xaAq á+];j?i8 @]=FCʃLg<|q0*#O&0&k(-<8{"m[)ݖAeayYkKҌ h4g=vpy_]+4~(g̑,7]F}Eʁ}*dr h(wֲqvo\#eݟ8'kR)`%'q8(Y3Xr%`ݱ#h4pbЫ0oc7if&y5%Tdc~N8FŞUÛ҃YQR {d020筛pTU'f .-?^Ѿ`ehݻ Rz\.’e6:6ڎj3Ո ;!ټ*˸œ7sS#~BT+ RcuHęEΐ@}3>D;QL鬓8Ks1g`1!o\.ע6 jR4 tvlGB9;^bA!,殃Z250ce%;HJSI%m="A'LUs*\RwnlCъpiYHfaJu)txD,$dlg 'PZ 4,JӰK&gem]rx+fAN&x^#<_O}; &ASqշM.Zc4Ov>P*K*6;7S(\l"_!f'I8)%NcJ2Ĺ@̤ɈyȊ?J0OZ|a0KᜨCq$MNjXe%!Xzw}ONT/KF_[ʧPɉ :fB`wT$6Hn1Mnj&#K^G ZmYcP[ w)4h{wsQ,q߻k`QEn9a^̘C⾰MX0/ Yw@kFSvՔGc3p@+:eU#ЫkŕA(^VYfF)(DrMsJnU-z7L˪x|?Za3[IQQAڠ+eCbY($bY'J.'aykj pɺ#eRܢrJyv^hy7jȏ`e$6xSgL~K3(S"\$#z6ryp^&۬HҞbPb"%h7 :Člj9Zn1{t7UD^b' KWS'./:t1Go ><wv8fM$LI4`#[q ?JE?lvLdz.n.@pPKu zw{垀%).KA/V M8Q?U{ݲ8L!5,1&J% 7mIfT+>.ԈO)ydj1T/l.@hn]$]r@KE R4_r,Ua؇Fe?f|5V5{dY UX_w| =Vo垜X@byN2 :.e7U$4G@\wHno0pDsYXsZr6Kʼn(~~-'Ui2B>uV\-%˗)9kn[RII-x43V4O\Lb2KOEw KCÁQbu*PD]2,޹aFJ$! 6,رzq vfPAqءwaJXYW"  Us'jH5,δHs,IlhItoM>pYsa Zjnv 0Ig>oֹc|&E.% %r(rP~ULDyq٣piI’oFR:W]{0.Lc`=0 %Svk12#V 1 zcAxab`v~X7v`ep׮EFgaBD#琭sa=5˂@$uS}4| m"qSl3eV *9'KZoF0#r8gZk^ȩkrzM ᯴. r[{Z%`ItG%1Txor *a}q6_ gMDKhQ&UM_0Id1dv\١x(\- ;J(&F:tћp%/#mR~""zN>}ӫ ^ʴ:mkĥdŔWU50JF[Px(0 BH{ ]=\ߦy)ӄBǂ$1 4S6DQK,t#w u֊d&Hk_5^,b|Z8 Xt2sXc> Z9~y w#?ųB>zwKpc9K5F탯Ìά峈tP_R-dBqEZ;JJg 5Eu$d=byDҩ6lYJg~2# <7w@gu|g!o; DX1-scךm\:zѓly u^׃\$eFAps,$PN4fN6( l҂{7d(ܮBDC} UQq"RmJ Lܽ`L73w>V795Āb*n>SG'9Ϧ)>HL bhNTD=0YEKG88fIABbJ TN '(2;WGOM"< )OkA Te[[1L]z( d޸ߊVDg! W>w-S><@h,?V 8`sx9qiK[WA`璁k[< @h_~CeX(".} 'l>T)cu`|)w^2 ګT-8N0K؝0ڭ*gn<[IҁEZxpdh\S(2t!],9 xh> v_*6d7曰u7 Q`k9dEiDc;Ǡf \8CҘm^yYRw]uw[c6D7m <ķhV|v:OL7Z >Ӻ)@eN!4V %0>zf:5@BozGKl094@oFߐ B o97{rAdr9Bcv֬'xEt>Z,i%st=s̗T6&C-iR|Y%h/1ư>PZŦɰ-zQ8^+L| rr;k#p"ĪaIHo>wQ]xJC!VT'әmFِ݊!n 9闻Kd^s2EҒ虥x׆N-9=8-JoJ*,,ĉ <w=?u+VE-})/7ߐGK<"Bx p"m*h?ι)J'+kNڡHgDD!d*{ X2ʔ/{DU0]PJz&'b@WӡPZRȆ~NrBv'\$z!m&ע<1`hΆ+s}+0Q69 08P*%8}|iI&ɗg 9`'q(p}w y<c"@]-(jz~q3+0 HtK; YqjiGv~amGLϬ*RQ=rPvz_}y/G_}[ZLJϐ3-wL|<[ӉpĒidt](BsqtNénmӃ,m=ȟs[y.v!(pXu2!V`e2%Ka>&08!F눒 ]Ctn6Ӭ-x:xQ3p7 r)&=smbW7rgƸRpƻpuP6Z4p/D~D* 6:EB6g\[heu-gHl9/Ufp?4}_j,. q&iUȩƭk¡Ө,lQtw$?+T5,O:[)XH b8vK+yw+42>Psn)v%P֐q)cw80|ɋ 4>kv2]x1tbu*̘QN-b̏_>YƟVqb㧗4[5U{23#bjg!H*=2qOVN\Ɔ8[R7T, }%\"8әnM6lCВg)h!G c2|15Z9(1J0X!'BLoF"r ϒρe Ye vHa#+Х NA<5!,r=]A]*TqZ|A׫SYMpفSXkw1Ti\^2-syےn=xû[Meu58F/qyL"vi tPj'hy'H kuR \J|WAfQF.;ܷk|lae؛cナw{Y=ݏR9 aP qkPbpt ugRZ~0Prn|03mcʹ Θˠ*aޱ}0-)^@c&Mw/X%.#1B#@ml Qo,J&K% yjǴws?ՃKϙ^^U.:w:bE@H;[6Tiˣ55ǿta]0c}7@Ȓ D#p]yrk}n Qz 6QV:ѷ7C`9fm񁝅Z Ө2w)|5$z--&bx$#Y6k|˲?=e?lGRso!AL V֏*ha>^J!Ҳd&u5x}ӖnA6LiQi6h%o4Ga!SmCf0ns-L}w<(#}iv֞_XhN= Y=f lQVI, F!\)G+%6"iΖ ~b2G4pٝS۸ׯ}JRa~DSi9aP:$.Ø8v֮LĮ}l#u,TAa982o+f_S/ z F0jf  B.Gd S9"SjZF0Ǝ`28}wXxKGa\mʏˇn{]ލ^=-џ44IC۸hpY"!ZkpBR\[KzNQ{b^#1'g7t3ӤLX&S]%dx[ .JJk67lE' !(@{"2O3v̜YsߠSk_&w/SK`q5_r)[ Lڂ6A܁r$-?0_W,h%7:GcTs*.?x"9ۑ%.(>r(U[&8I !ɝ$ٜ'5alw|jQn_HDav\ p=nQ^I48(ݭ(4,$$T{]!)H7Bdz+I6/! ?MYo b=`'; 5(v51$ D{j*N'LEЅAj' PŒģLz>l!-RAVBG%cI0ڗܒFQ"G}jagX S&fcWر}OxzP! Tf%H)oKRbZؿ}uX:7&y Ghyv Ww6x M/[IBM;'ג50ϔ'Xz89Id|ƯRslk2OXf^ma/@~R`i6Jn;X¢8_02x р8S^k$*Bqǹxg7m< !0Yyx1¯5n1Z%*peI-k WyKW9lqz姰3yh<VfẅMCdPx9Fč{X8Wܑ@yOV9RCn`t2q0YSP+i'njL/yxeic%EʴTugx,EdV3.i;4m__Dvuy5'd 8H *زZvo\zZTa.3*MF:Z^ F2=} %ӕ2y&#;hsj->Tvdq}6AGPȂ퉉g%Y9/ŷkt`*YP,$h6,_AʎIutvT { E텻{pE\ܽ|t54"OZ#tJ4F7{tMIѬd%Άz_sw>l6e&6Gao2wg0tSɧ҈9JԘҴ# D&<!{M~œ!*{[ MTKbmuAVc|H(U.a da ~*VsTg(=t%}#v>XNz&Ja|1/z[gsm oP I,~D팝Kxކ'2B1K ψFjV e%\^}Rq]23ZwbMEt$_8^lgrte ]ωkäf$$Cg@}+IR'p5l=zCe'u6Y#"o+" HOp.JY+o5v Qԧ`SxEdLM_.AB[IYS:2xZ)$,z Uo{2ٻF?F/+/я*X"F~qQhH4ƥ:|36kĔv/", 0|0&`1_n PBK#8!'e1u?E$p[Ӷf٘q΋TFL'dg>`,i^kKT* :եg+QǦRK忩БY*^I3QI<}Lǝkuq`MeJhL˵t\\uJOރez®dvu%Flb+}~8,tau!z#? _ӯikōkTV,RFU`2]º 5;z| _dpLу;ERt Rۋݱ\3u<=#l*&!0RFiM 0AϧA:91F0Z=/eͮ h6==u'&'SlRi?ds! #^NNIthX#b[J&!닂zkV=s4r{ϋMdQ|_EhZ#Nsc޳*?wLKd8VՀ_{Qk/h85>@T\ccYf|gL){ %mDymm[rW:vSI5V*HP-\q%8>#=fkL1/E VNz]OًK*Pp "&ȟ&3Ig &e~ftU8N?'J N~@m j x4A,gl6*79o  oW[UyHvsv>Z>3M VqD^!53.{,#=9<\H%5 ͱ?s}o~J^Řql̺H7x䢀.ra (ǻZHyZApA1nndhLǒGUCþyes}cNOonyz{LNV2`x(B9@ ̭:&`Q 7ϧlʨBz)zP-!aSH]u)5ˑMyZ旞8]a$ Nۙ]jsa4"ӌɼA7;eo ttGXҷ҃X\\/ȩs=WLL27Y!k^BFR Bb'VCrqKG8v0\+6GHluFԘ>&ƒɸ/qJxJZ)Țe38qI~!*K>_KE%ug;hYO#ֺY[^Ey\RרaqKc> Cq)pb ]&7RlL(=G|‹'Ĥ!(A:vIpRC7[Lµ+sE0Ǖxz fvwN˵{XA쒥 EI8r:"puQ*N<3L\ƀTnXU#@/=Lfp\z4ӼƝݟacL 2 3b"X%2*T}bx%aLGRGI&(ԌPe+pg$)80Q-yVȠǃ͡`|_#Վ.W(>c~1>bKA_6o$)k)y»dۖ8V< 3o[a+l_A+kXm7Xsb=p>!/B $$T3J]`dGgxe >h_d:TYsgC:q &Zf3p{&Qy`TD[ynkԛ[f7He/xZGfR"}.Zf[ُ\Sg}TNA4$(F!#I کXg.5 C*\@htqxju` L…Z.k|hU˗m]b_^i*(*G71#sŋy!qx Xq`0KߢMŀi]@c[Ub TBFU t H(ҢR(Wb4,擽"?sdNo#Sǣq^W{q߼t.7˄@2KN?ŷlΈ?VQ2 v(YfWJZUU:Xݟ`.t쬡ƁkC,k]̏v\M+ RϟЕUaH8/9K |`޺V ֵ^ }5!('Dv\48[鶩ŭj擤 }o&Ƕ%&Z9[;y,Cբ&Ir(pB 墣MG= BO Xn吷R6jl?4L56{ѥ=x 7i*G(σtL8nگ(5 ቌꕺ7r.c.,qN5#L@ԖEpkuN?;VoG $b:ǥF֯5 T y"dc'eHU 0B¸. a*Ǡ`mV{ۓ]S#Y5$t'ݛ UMm⟛lڐvߞ'cEu1Q!tTFZCa'.' uw6߉L% 0cgڜkT> jk/cڗ@1zJۃw5Ev 1I.R{t3x B; k[r=uZyߍo DNmc:*6O>l}c-cMq\Wb7/7Q-ku:DI' WmkLʰU BM%}sUd~T25-b ev4>n oKGHA[@@}!j|c ቒ>%Gg_әG0Y)盗Wp99TגQ~Ӂx]I9Uʓ\YیrLI}Ukݥ!8WZ瘬cٸQ4/:y LKxNΧ"E?8[%o}+&A4M€R%}C`fЋۂӥ˰.V2hOGī5i:].DdZJۦ|V5 G 7h뒰"&GbSG'>g82&My'+ҌdыRO85 J]!=ZzE~sM(P@'X\S^.C3c| bܰ)Cp#Wc8U͔0A mwQW&՛69PZw{{٬;bGmڙ'W#bꚻsڜnkYt.ziĕ!ZZPS|ɈjR{-Uv|A0Y>]+cҗ["J'4&XN¶x=1Џ B

    cFa9dfs7^n;0' ,*Yथ輒&lO(E:k5i +ulu4Grs1SٮNwւX-/W'{YW1@2/&ת9Bl/8^s0!^d PujطAB i<~_%` ?%Yѯ82V|B@IƖ3 {X0fϲ!*#Q.PhlM8~B(6vw7];AE{:W[}W/ϟN=`a?n!D+Vy4H: 9QQ[xk{-{@mg>; N6ieZl<6> nw*q&y{?gX1/>xR1tI:= ;E~)"7 NJ j %" PQ3?O.ӉJ(!XoLQGmem6WuE&PFɣwY"^֜a ߭Fx,JpoUGl6N;X$1a"7NaGZ=YǨ;,YhRS;fk%NLFƄ9y?,A' 9SUM8^En L>W5 ]eĆuU0NY'vK<"+A3x56YZK+  (G;'x:zĩ"T |KyUY`Fa'2l7>o8bKLژC` o~˔F]tf)_p=/S^:[侧Z,|RH.&,Noi.EƞwT|B.1BONh: $@@@ٜb񫗮Ӏx6Ra$(uF4cGSl#)`}3͡;3 mB%p r)8bW6oF|qSyFBCoy$X/XIch,nE/^6mN1aVeq;KM"˅a4.Gr`M1Csdʽc"4˚dt t5 #GrXAzU5^9&(Й33TN@e\6#_Q@9)r#tms-Кp;LҡD5p´Q^§,d}3p([?βĖ1ccHVӹ;m2Z#c(C"0)n5w%#į+&EƔ pMh{C[/pVv^l%sNM.+J1 E#='d)!"Vix~paZ@)-kfUD,W=9.tm8Z^x.9P|B{ *@:;S˩m2ro->C>3Vy#8ƍW0E:ɢ"?mń$sS}Z99B`r<ldHN!_hF ee3ޭ%ϱ`38HfƽJ-b'Tmtd[{E>$=@TiM `2ar<ߥbjuLU࿻IF8q0so:B*JhUTi"1Q\ql\aX2hooLr276C0xGHؘP`.pl@5IQN3 i<뀖t|x<m~WZ.R\!/{S4ec1r:"X6P0>`*;>vbUq8!4SM D},A3(Tw XL&X2+Lu ^؈<_SD5T I}E8ו$H@f/iS"y8<<| MU2,sfa[J>TӐ4ǡL\r SH2܏-|ф$v="4W'%B?ylaA-L]%/ 6/6~}y9u _W< |ԙ6Q:.F_} vAIYܓ5Կupk4A7(_9o^@#Mm4|DQ|8rvg !'$FT3bg|6gx KjxxH˓-`A`FL {AޯQ ̃D1F 6.)4L#vY:^/֖fEᩳ\|s6Y6Y 7$ c S=Rv̹YQ9AZq0?{]?.y⥤ nď¿E5>:I~u=jA Z2q-n>aO)#P$G~t8Ft5%kѷteczD(\Tg'ڜav 8!y6+` s9޻M=w|n{ŧfp` U숕uCG$Dd+q;N/8%^7`9, 6&'4a%WD:y˨-[SdHM7~# iu.òj7I2c4-3{.l<_ĚJp5xt;/ yĂs9@~[ yL0+G].W[}ݢW|:ʏ+@I[f=KI%kD wXʡQ2$<|| CYNEgHCZ:Y`(zm(k;CpJܪl>C~D`*m<0Io]bQ"k- 3*bAl`:V1r=9'{BOf"> pDʎ~ˬy&WYHqZxhqk;v]YwOav*-ҟif/8Mq{|oX9cٿF_Ne`Vx]]u`QHȷw6 jJ9߫cY}-zj:-Nj?7ǣS=,xc`NQ qvY Rӡ?QbtIp; w>*"Hdp]6@y-d]DIzXQ\gI gdh^G%Ýݙ(Pw> } N vnd<dOɌXϵczYWx%{RFt< (|(SJ]7Xظl)B /-8D/ tA?Xj>3Ƶሦɘd+&a7@˻T6i`0OV\|BRo='Kl| VTkS7 e-xrkŮ1L0 5 #8&qy̛tyÁȥU7@A}u!Wl=;{zAO$DSr=aCOs/Ԫuҏ^7KD-Dz{Ń10&DpHy~߼0>l%/ ۩WElԺdt(?zhҥӉ$x)5?ZzS24F7|KO&jv@ Y.!4 &'7q&f\.~MEadw?3QΝp+"w$ѷ[,ݱwoIVhnf 2pP\OD; p F<\s2f 6@LdF^f~f iΜ c槻739p[=:FwӡF3Uxy=;ZQ5C]Ȅ?3>V7қyR4y?ܙ-|Q_t]bY84{<" *b8zf53^ vJg~ W`tZ=QM3˾Gp }oy8WЌB^ep1}MHo'cvX+9v1ײ\ڭsI8|Td/}nl $Sʡ]q1/%i,sh]7=8{OG]NGЌkzqntE2pL-c$ toZC|1@-EߙGg.g%o*BwcM+ZK3Zw \^x13"*a+Dt̶HPК%ZkXnQ:9XVo};z3x71^ƍ5MwH-xFjX F894PkGEp1^s4{VtnbP7Q1uݢ pSjcbVes,OK)W[Ն0 ԫnRtQyTa q=YɚyJ#}pu Οk"`0#.DOZ躲KXVZr?9ffdMEK[I,mr"q}qr`-R`Cpd\1ݛI8~蚷قB)ŨK`@oIG{>}ݸʿfGм+;1;/y_;@b݉G:;^?K(!j~$]meº8+AWJܼ6-ܙw&}GT&;al]Qo('Ϗl_FG " uBpy VH`Åρp 6f~,Qf˧C<M$YJ#""ʾ2tXdAL\]ў\ 4 :Ndl$Wљ$$MѰ0 Á(P:~e$k\cP @`3b׆yAty9μxDTuj*{$*nZAH@fo0.e۾V (x<&Q(㣭F8D- PB@gppYV!ѧl[ Ad6D_[/EWވ52߸5O$@ϼ(Or_ JڰP;ywS!vΞwF-[RK :~Ro;q1kW7L II@ :(FCZ6dmY)JOD,{>GKR:K_.l(쓑J(ߋ#y^ nG^2;x!Όcmo_$?CVӲyqbAB`kTjpH\qBsfde[sK:31B!o͑iGbp:)V6I1AHnWƝ9UtCn\Tq.(E2JbfG7,dCJk syQYݿirJ )&"`t7KZ;htdh~|NG :oSeq`{~716N߯!p`Rܕ2dqAtR?zY|7B՞ `ſ)<;}}mt"we9tnKd+ >%HeUkHN,V>Y78"_6.oݻy2'MH,,z9q@.'kw6 \Xj L_pH+^, bAUǽؿ9&\R!1+)<1ۋBvK \g\iyסB#Dy)K!R<̈_o HZi|^Y>1~'HrV6Ym7c`@RƓYwG9Yyusfv\k1Oox3J Fe{(`L)HW(Jyr^<-L]b%O=TI&!PZ20YGmϯ8=$`jT>-!۰,V0ka12#[(D"8Kތ^8>!ʣSK. bݭΙH~ :q<=d1!8Ca@^+.hBLbSDթ:b&8*Xo& ׷xdo"ő &i>⯼(BNIqM/t"%x8TwWP) "k4/8Lb ʋ2 9돼,BG3s>9Բhi6%Z$}pѷ(#g Z>Z\1͚6bq}1jlD:*ۭB6_${)"),c0F&!&NCol*ld^8ɚ82zg7 bNB\yUc[C7Au\QZ4n_>xU$`d=`zIJYQx]O_rكtF(UXH"$!>54B^GO=Yy*&*Mk5 EZHTF!U=g|wbNrKWY:C#aT_cC rṪ7}j:oqC0p~d¹줂*R|p.Sqt)W_=1w`!43lK0@"y}R&?v+/Њ6LDGDD82drJ Q~z"Iqp}kU ng5V=\WVW"mH*L@(na*8EZ^@w/X'BY݅|TaM؝pWͱ!-h{0'tW=Iq53:u.|Y'6#Az{(+6l f˶C sgZJ| [0y0.*+ x^~C`: Y(U\2q9wģfolL=y3vi} ɞ뉄J<2R_Bˆt4/o- {;7xfs]LyikुښؒY7JE枔=dz9&ShK,܋u XJءFn<=O;]t!R,R&bd"$+2"-mQ=9C.jJki!~8P*ԲkzWG>Q g7'Јr93L!,E F/j5YW2NbOl //y! ,:1'tɯ8"v,lԈ3LRq$LS ;m;LH@n9__͇7guUJ[8,H:\i]6|Z̧YòMK<,Sh3 ןR6RK27) E׾YdMG f>\DڡMUpZhz&./\ ƻZ((c-픢@=x=8ش[ cvBzl7c FW,.\ \b mId* 11Ʋ /)Q'_@߇v2Uq^JjU5Hp=0>Vf.w-Q25%c7f~J 7_ٰaFKԦBV"of~]8lrwlfW"b2N')e;RAGҥvxoӇwˠ&j8*.<[#UB #t~L@eк:Aտq no$&kRڗp{;` )ea//=ϿW{-" iޢQLirݪ\U89WK+D*[[svl~Wxש,֔ \39Ct$كQcv7 ހS+e\;sYI|{0@rsoݳ>刜` vL[8GV:<-zg׿1fwy|L=:']ڱȥ]x隕cnuʕuh\*c喋$Q$ƕZ.. aG{t% q(6W|`DKun6h zsB[V#7{QV(];oE^$Ly/tPdK"T%#;-Z<lD Bx:خwVRuaE #;rU95c࿮6ͨZ'ovo`CY"-R绣l4E;#.X+^uJgAX| a>]h?jp#8 j?՞ ;#QCGN]5Nk n4,AG˰H@TQ=+SF}ldOfxgcSѣ/zLcşĐt׍{~I,7 }0ZKh"5;?2u@ҐLxDjmZPÝ'{A| LUY=靆{rKw7;ӏm`?ށ=88 a2NTH2zm8݋@ŋ#:}Ci8mv EFr~<>.%r?9T%,I'ĞFHg qM$lQQ7i ' vJX?~fwk%b Bh1?`PsłqvXGauVTC*9OLo(K9Jm IVJ0sUܨL]b}>zJ15kVjr(n3 G [,nVؽ)(=p}U eآ.1"XijnF47,.E(X&]71>J HB2x-Úh Hl*F4pQܰ}WBx"w|6׻R'#&ORdq$)R }xUJf,zI^pfl$lc3;;VSe+?a Q,=:3IC uވ)lde%Q~ 6 6Mp#(DTj`S  BjKK_E ٙDK*@Ĝ~Q:/s:oEDtQSyc}W]4(shl$H f 朡\"45},d];On٢-+[A 08HSirQF"R) 1^ZIlyZc@U( {e&k0cGGld8hd{N0o0M U2$KH<%\% ,siD@ t?Ӯ"ַDV_5*n4qAok-4^[#&V{̙eR+t{  Oլè˒> sCb#^ jF"kTsO*xj]݈-pҧJE3<;sI`qRSx6lB{gX :WwgWړhj ],r욅)+ss6LP4Rw$5J:n&k&RMPh~HIL؈cH˭I56Pf44T!o4tSM~Ў_HXD?UU<p"(Ky \`Wxbglnҫsv{Z)N &Q:$=Ś'5rlmuD'l~|Ԙ#u6~'QzN$3*2ݰHg#dJe^4nTʜlŦNs#Cf(b/JV7 w>lσuAX ['U͢X2,XdT2jQ oPiw5@T nkFHB[(r"}'u%ypk.}дmb]ۈk6śycЩ:$|[̌{Y22j<3r/m!Сkm)ְ{Q9LhtVƩU䴱ZP'Z´ԕ Y-fWo ׊=>ND!ZIM3? AG!]x 8ղ3/Ś.&k4oJldwe ˓=!7kxv 7QIٲu"ûcǝm Ļ*O+1tj ?/ ˗/D_m~yoїG_}6bMZ<7:COM3sN I*_c3P[\)DO]0afH)gx%-횯x⛴ ^;?::<ʋ)t؎}K!2٬ZaO]iRty,@L_*({ƪ<٨L\e H$Qy;H.%E]yf,62̽$w(qwIl5^O7c{%k/0W+kgPeܖ?'t,\᰸Q]E1|o{U7#F; Ĵ';.x/ ַ|D\w9BXAYA}AoIKtuY2Yg`j>!/Cxm xv$">}.t4Fb>Lft=h/XKr?=OAYODte4ВhGc6"s :'&h@/GʁQqF{lcIt yv(/4d20} dmo#SUWcLpyz+FRRT+4+MN/o3X1~KF>LtZū0Zfrh*F0Io'RZi Wу%߅`p00gM6Ϳ%[i69y?&IЕ>l:O"F3X!@c Ar\atvHuih{=TV&<ښ^9GK3B|/F($j(E~Q7h9n휿RZo-w{Ma =z{M&rW{Ar5xOޛ,| ^/W l}/dzjCvTgsQP,J_MMIqjܭĺxd_NĆ:d$qMRer x:CXMbz<ԭCs-&[V>4RTPNx# <.gOܺ1~K8u5G-h2%[o ‰q8^·3D1*mnͬ HM˲)٭Izz}s>A GVu׾P(,`wo>uzs/DO}ᅳOX[^rt&YE]zhbA9Nh] (f \ OM-k[a'@$#&% +oMR}>3$~HLF }`pl o:1LHAd'ڿ9.Ȥ؝%x]]zl;oQ2Ӎ^ɾL3=!̊x4bX9wAVVзFsiaUmy X|-2h0LlGktȚ@hi%ermv sE֤q|@0SoTf^>?< _Dܔo_|>`1t4ł^s[SWmK 8p^^5GE#9Oȇ6/75;@cjC$0&sa cQŲoKp̠p޻('uB4rH;~5"&L&yA& K+! ,;΁Ʋdz0L<іL &ұI1F8  | &|hoZ)wKP%X}ʒqi䈪DuK` I|2DqɎ_;{{#* @&=q {,wMD?Q[1ikl򒠄1'x-Kَp.Lwj}f{:6yvӡYЪv舛g(p*p=PDf@<##Xދʐc()2k ,o.hכ9M4l;4ˣ-NVMT7/4{g:KᓖB_ $43gw"AH51~b'-xa(DZ]SOVRIb/J&cJDS,\rfM܃cdKcy[8aQ9);x6fvz H](y}AhGHܗ@WZc]N$KSd>Ec@G-9$po$&?Q1Ũmτ9i]JY:9 0qBѐޛKC'քݓ7flTϟw}$%b$z6w]LR!IQlI4#q rfŷkd!Yᆩ_1 +'%դ^Nă,?8jY)DƇmpC3&$i߬Dļ./0iqHfG%V鶝Jaj #D(6bW-Q{X0c:0v13@f;[?QhCI#:xVbt 4NO6]3+D 0$Og%AC`O(OC.I%K>xOGJC m9GS+iQ$ sR MOR.a4XZq8ňͷ?d=o4t:G,@^c Ry>zh:KceE{sf;9-nja"@%Ĕ7wf>Tf>xe2MJf#g(.*%ɱK0!llLdq0,9)P&`%y83rL9Mjy,x6=Аt|z@+Sppmqb$9Z|8nEHަM4[>ڼQo&Xua`na[MX'eY5&<M հC-EX)D{"TvT8И՛w;Z]jy)4_6X\4,y7hqJrx̰ͨ_ pS+]%\Z0^7Q8{Mղk7cx߬@`@4F3IX"゚4e՝V_cna5IawFݻG{D &rݭtwp^Eܞ+n20za;38Ḳ$E!2_仰wi4ԣ18M iR/B(,Go1&L @L)ɉARFik7:K'NɌX *u&Sq/c?ZJ$Քfa7 slШo_R5u{#yv|.٭]"}c.w4M`54N@&I\B#ŹEuWqEzt|V)-՛!ӕnNZB 'rHtHN@|6nZ0x q`7dXag^wfa1Ő #pDi ",E r)Y&ϦemK%y]wy<ȅф|NA riVՀ);׵ZȲ ]k܋.mG1yru:K&MG-Ν$4t: O Spf&PR4S^@] s\Ц䒙-3Z'8F>g _-c:/RamOmDGHBs8;Yh`ZKJC NHɵBxݽxlm}RQ9Iv*U!!%XJX3K[xOeP%ph#5,Қp&Oe>_/* ^<[*w3H<1`Y);3Q-DIMo&10*33^v Q+d޹; V D-j/K$T;KHGe5M15aO4}O[ 5iM nf3NI1NwQ#K'шtD2+M#.IAY V#BH8ʡ#xCB ]Ӏ|NIVQ:b )ROZZ| P6P.&+ڧ$.L;ҠXA.qaAġN*18~UGeCӘu )>Ҋ1 +=t=t-Q4\}3Zgs?p[ 40ID4V3=oYǪg\NN#MȚzJPTjPbǖjg'zsQ?3fI:+ITԋ895)W(nn4nptAgV;y_Q)ZXGҬ5wڥm+J@K,UȜe.2{TmNwxZR38JMWI^q*cfug BnoX  ;C±4cZ'RB> X3)|睯F& E6UVx}t'(v(l-ElsRK, )q,"|Mj*]̕P>aAg؃ R"{il$El#/0X0Pk!EE$u|:QڢwvpKیJ6ĵΪ_)@UN U) K5*;1:b`@3Szsn "AՀ+:Lt0A%ZCa2EjL=S1 d464/ʰFD aRjR{OLPfVù#EZrFdJgͮK$: Lqr凹;)$ $f9˶q8Ak`K*>guk#oN2X=Q ^[|!~vؙw!l.ݑ|JE3LG°H@ qb)6©;|^DP\\bA:;vEH&],1Oն*A[sO`l\~tT"F" &Po4?;O2Fh_K'냹`a~[827| Fb=TN"Z9 m I$$[Ըe.x|#s-AxAծf93oV@;ݹF4 V=MzYp}õQi5([GJp3Yq ({XL<` f_m)P3 8Z 0#\.|:rdVae ѠX8'* .' x NYC. PcN<"wnk ͎De'))(cH} `gaan٠fAӘP"yz-acr#KuxԊ}aRZ, z:['}cP'o 3u#c+Auٱ "$k'ݒr4vXm VC_ޅEBn[kt2'Cb,Ge_FLv+|(Ls?nl% dE-7, J[Od~O!td,wq 5&[C|- 44v&s8@X&@glXAbIZzk6Vc@7ejg;H&:EĚ>n/\ehR#k )a:WJV8nzVC;X:@9a2" 0٩{z*O -y1γDShF1]e$쮾<#9#P!Ga ^p4sm[mPi`krKC7%8^(;dc] ~6A.A-tm1($eS{ şge͎x!4VG>g#ԮLIgiH}("_-!:^o(:/`&PW3/ln @A؏mXZEoQyOGguMQY)VY;բ Fd]& Nϔ 7D =폁O)cI‹DМ6ӳEox8 5 MCjW4F"1DkdHGF _Pܐg]LF[Oa7jSЂCDwȅIi+Hb)yqO'],pNOBd՞kA!rkx1H*4/RLY~$_Ge$.75Gzr8E"䍵?F}~~ɸwz_}y/G_}[5;IL,&El]O}{csHBM@}RY8Hwz?}vkkz8dlKewf|:Lmk1(@\;兄Дsr,IbU1^ᒓ\x3s# ŻI6:UaAp$^0v:L33,`"]jiNJֵjW!n7(:z6?}?]E¦X<{,4 /qVa{yl2BCJ.|V2fܫ`H,=9&M4jv"2rxz"o{R̜BhXKwj­T$J)M"jP^_QhuʆG95ZXX"1Xæ, @|g}NeYSumWWrVG-Լl; c5\C >A>p%%`Q~f+~zs_8v:Y?鲴jT+~"%}OR Zc5^jkZ[G)/ Z WTi+’KѮ@#^>?יɗ῎F/a- hT/ ~(l.jh#aKYm4Cn0: Q/0\C#_ zb-s >[c ao](n$NnV-^VBhf%KYs 笲7F1Œ'Lbw^ >F?h;\Ro|C_hsqtRSd5)@B{T D)sE*MLV 7(~Z(YJ54ʪu0DV,'ɵͰԣCn__ěF rt7}Տ"5S&y(WD!l0eZx%֘15imu"qQ0XىzaK%"}#܊} o4 hCT"(ULk+cXLb 86OY3\2'`CV` ;ecx=OBFd`ل&]P-UȘkD4]@*0bpLa >.8A! n%M ֍h9@BZyyjUFhL2lє/0 ]d!PM([ai54TVSFKs]jq}U'\3iC J)|1[0:_PznͩpF>gSmibXOm58@tSYM%Qۚt4;\|``صE@Q}39L҃©kSģV6wS}qx|o9*G|<",V͜:)4i&IɞOkte6U>J|O9bFQ;tD#+*!8ojn6iT)Y~X2Zɵ:dՁ\g)H)V2}6Qǫ/_eOlXbV2|"@ $Xt x\.H*vPBvL!|%RMAȸjOD~3 iv R&8 FEZ#Sψso]HTBԏ@sHk-s63JLx7xJIaU7UĆ;O$(~ZS@6࿱ad <\%5\ZdDz\$v۽ocfbt5z7zlzGRTg&ʼ3dY`sߐz5xbz^=Nĩ8FQBO <`;,قbSXU Ұu!8lII*~>Ǧxkb zEKɠ@Šo)£yk`EH(]p$SiTx 9e@P/CF#ƫcp`i!!(Q($Dn-J](r&6ɿy4V/=f\rus" :70wkFCD Qq}^F." ]W jNq-ep.ca ڧ4…ͅ;Y.S J,^1 nC_=œS,+7 ]*/ tQ#xUd _]fN_+t0N*~E΅S?c vhN#99.G kO d_) ]FL%O .IEE5E*\E@ħG ZVZkAemRNdDOd Z#H> Ea妧,j*!(.<~H #dE%V*tWdec9ˇ7I{XE& ŖS"@A/  I"4,Ԁ6CD2bӛޝZf硟s[/Nذ A,ۥ( m #io1fpS*b  CXoC랅6mt'I _)KQX:d[A[^fGJ>%!dKO%VFR^R i6JncI8GV\򧼍$m#%ke^擣z\f ż`$bٻ -n|>˳JN8o6.IwZ:KjiiP^~ N<'j{|eI 5 o *5cEteZ'Aٖh㖡Tsx]yi@Qqs{~a˂edAc*>ِb./T9f6јi3w&x|"%PD֫GT)q8ɱNz? &Q\֎c*D(J$N° /D{I=1D pBo+&]#Z xӮMbجކRG{Ȩ:/ PG2ՓcB;ע1LyPW8?n^bޭGĆXƇH`z{L[Lכ~eKL7IS(v%pSF5YÕa0_Xz]$1&t1]*(XP0khO9nYJ? Y%2cK͑Ta/(0fR!I'we{mN_ƅqǧl&k¤N.uPɄ\RA"g &!7O,Qb҂\E S "LAi!a 'ڜYN氂ᡞ@4S*EJ\ŐE΁8&d6,K*wA~v+AJ -|G*{Z+$ `u踧;0(ɲ.>k5i8#^10F @ٕGϋ)D3qX\W/%] 5_:Ъ Y+XsfH<+4ڨ/M۰F/noOo5rO:awc̦'*ʊj3n}9o8حdWVPߪZP@7{=[c`n lBACd$mƥÊ1qX{jG~ItHlxȘ[O"3ZX,?N6~`\5Oh*w<\wȵ\Y@R1 8$\]q%кQ+PPPKA8 9Ymuȿ x5c^|#*b/gF&~aAb \ :+N .ƒ!Jضlêa!qsu/fo5bq@j/ւt*{%2y,Yl}M;Uk?e$v^:Y0#CZ]r4БMV0on#WŔt@0u|ʗiA !y0σϟ*\ކ ۗ05p|c'vzs|LR>ϴt? sO1eї4` =M }\El$- z/Z?HGNtjCs55z'SDuD%O 'Z"p{#mpg@  P۔)(@MkN`t3>@S8$|`+<#=Hl{VŒ+r|_E2&晝sS%̰gT]Rid76):58jgm8i4l^vg{]i/6N]ъ嵩{%:u88 2n2$*3#'CE]QӲKE<)"yWp DѸd`[Ji@ϏL`7Td*$N+}1A՛hkH<Tw&ot-ٝ)͋nJPY 1%eCgV#@߸ 'Ba^࠵ke%~^٠@ޤ׻bpy-r\k$[2,+oϧG} M,#)E[tf2)9RG~os3ƜмO~qhssq#PV< >hHAHp:W2 /5f+-;YDS(Fp`8*0K4to4]&>i6:hKqkdDco Sc %#֋~~R,R\}\ P^K"OmmSF&lαA:NWR07*YH 1.1$}u`ћ{ɱ )}/|>!9PGܷW],.Ufd/ֻÿE[W dž9]s7ݑ]A(^9v&ܮ얘6Ng[MT}C7hi-Aza-l2I T8qͨZp/[-fz7ڸ!zJq*G2Y׽[\ lQY#z]PrG# ]LY" .Yza;1WdwWb՞=Zd0Jh-9ur#)AkmOdFN'ҎO߾݋𫭸 i_0F{P` bKu]G+@<" uRVɞ\N:8LLwu`mD-j-ܪ|LZk@^`rӿ -twO/% WW*n/>pL9]MO\Q)1G_:,K%qkв$.1f+>Sh=+w{a7Wt`6A6;Z,ZKV&oGH+\D1Yzݕgu~oHe d mQ0:?ȋ4ٸ;&E;p; 2?8Ũ /[#_͉Aw[9fzp w" sM`;%_Gfdp(:жx]pA!s5l0"pň cY˗k[sPoF\jk/U2;w ؋4G9+cm^›j 'B1ĿQ dU JQZB"G9kL?]A$WEF;qW\G#jfH0_kڣs5T7FbOB_5Y=7q1LM 2,v6\^'beP9 jpme[|sp#ŰR.XZZ (?'ԉ |tcT0*I"4/ +x4,=o!g68Ez/1h_j55j>n߲Ck= *gc { \dtvʆC xJ<4 !sO׆E>G|3L#@՗aH,'_*Y N0<ZV_Qnցv Nur?96녻n6y_̻V}6%a "fBP8fehZ/̀v2xݜ0.*N#q-:䩝F?Rx ѥSK'( `::C EͬHYExX7\G٥15^#쯀Y}oت| A4 z0M$:X7ꥂ4W>#s88Qr,o܅ }`B|.aFp2/yejas;->֮`4! xNbD$$8ܥ2]bRS}B+s6ħ.iIArȄd7wHU*qoI+`S0"H}X3Raa:mxO:엗"V/2_5=G)Z8üAӧԟ]zȳӃOՒn/n0a6WAgy?I曗0lt KFPk3CIё]1AS'Dul^mVZgZ&k8 W׾Ʈ/2Np{I2/36mQ=ItAYSP.DtR8p4rJ<'SY)9E^!uf/go`ۂzr$+v}OQ=.&Z2;ʋAPCU)me9Nmu E,C.mGͼ"gI&;:z5y K O6/B^~ 5,IpacjcʯRw/ϑ/n;k0\Vˍ5 Y Ȫ/{Ctg(88ÛݕD6Ԥ,Ae:M\3Z$-d^7h z^x}knm 'b8 z?ռfwM[^F(JG,4>(c[TY~0 [S\JEmЁymkLw4n'T뮐dQ6/bBӻ >`k* `'$SRY* |1fhS~j 4-Iư't3YDh^csz2ӫN> @"4*Uʷr֖3V? P1³6ŧEWp.1c{!ɤ M[0~+],Ǵ9Ūp1k МH'RՄ)q["kaD΂ v@f=0"Q#?v dVGcb/?Zyl\IF|kF9 LɛO|XEU-lBYZ J#ze}3t y&*gA ^|>c*M\u\Ֆ¸֭h$&41؍Qt A}@ Ph4 |q?R&8[4>ZY4 E}4ÖPlM T d^]1e.}*w*i@ut6(*[-{Ru0mF1|fl2CD 'n"eVE_-Pr2ԙ\byy&҈ ,LXV(fF=Yw2XOQ;jMal%$۟܄׽&Kgyn9<wuCDdBɪ+i q͑*iC; [L8|MPrN+"Uv5ѝpT:,<\FzYO!6|zcLFY=^hcĪ3 ބ>ى~J)`zIA݂a6 q6H(m“&;5 *ˤޑZ8k_h{ 0gyB9~5䅾6rn y:P}oh@c.T^&Ag*IBPVH-"!BSzAojX<[1»3(ak>*Z['?a>+uG!J1I"]g@ׁxz0rkJV晗owX{i Gg0„̔[E}ۓBc"m7f& X6TPW hY/Cٮ%z L #dH (Fo * J{40 9.P+uFKhL u(Jb| Y\G GQaxl,twn/;\&}\=23Gb R"aRT*WGlZn Wp;4㍘>| ˩b%fp- 1J1\#n7-$dԿl6Ҹƺʩ !!/^Ȇw|k>VN\Qnѫ x/3hX87?,}Z~ayreYo `/x'vht B}r֠F%" r-Л'J0F07TcV&?.e|ɡ P#_YX, O>\6Y=/!$o4/\ՓWQ5YdW2cGcD+_->6Lg m;_$}w^\stR^fۏ;<$Q[nC4 )%_5h#kјenm׊a/6 m 3ݘD`3Yj oΠA2Y"aL2mۜ TFIp{P,DK4qp z0.NF2!Q>F![f=$c#w6bddoLX]C;J;cRv;b8=v(y洚4Y6(Q:(~1H[*K:aY vK BؖuHB4AtYIWmWن~9(wƗ`γPk| F?'O~>77ԩߘ_^X,//痗OsG6 .O2ȻU[=$+#c ^⌀/[5LQM$`sm] _`aBJ *[[۝0JqbrDkB4%4Fi|{.,yT7I|  qآ؍|}, ;6n0VY_/ {vll̴.Cv'!@KX!)#6.)0Z$5,[Tׂ] Uc-@\sGA!@fsl$OpbU?L|IЏ?Pt$ 5`QX*/`6qS !sp/py#mR ߊZ\`ʓ:¥zVB#{rK?b#Ayp7HW`1w̅G2RG7A<˸gxRn:P _ K~;Ll"x ċ/<R+.xT(~OӇ>~çO7l$^_ ֊oM  {UoQ+N |I,خ]qA O b( T5L5_iW +SU&T-6*.?7`ͤ n2A+R[Pc:FCq7uFh޼laXϡ(m#/Q 7SJ$"hD ċO3OzAwCo"I @D/LfN>cbqw:xtDxZja AUL K4F-ܒ<'Ps:M[a@ZBmXn?hGEn6˅'&j!J,^vh;q+3+O,,-,/ g.,\f`DՄ 4؉ > U*Gs-cb^yH#APܻ-^%DIB3+'ajՓ̍'a8`"">kK9;?k~Y ֞B$8@kDT5k6A3L&) F. aڱ`07fX҈@{&DX=bwnC=9\q1mHm^atst2L\@OI5f]@53ac  [N{E(fZGl!kұSiOG mq*]<GegjMdybk4V3rm,P,Pטu'M8wuPV w]-J`^^&jjp@̳(,0SMA*ߣE@u@9Y"ł01`1,+FD? &zؘ0A.A%-لPj[9eprq߫j1^--N*Nv#.K`5Z#;C:}ĊyxvB8u/1 #H^V;0uuYN"]]`Qsȗm/ _1zIh_f5&rTPtj8M<1Qdh* >||6Pk.X)2୆⥨u4O:03'mf΄JhA(xY0dz xݲIP=\I7!DJ$J/F)m9,E,$sD̫*=qτ[}1/pyYl=' VBtx cm2s%yNW|}+I sA,&Āg8vƛ&Q!0dNI֛R*FJ6!0IA6Tyi9 X!veMP2zXhEϦ|*|$?jx'`01`Y!X8gWLgQ^AG:(yܖw!%q'xhDgU"Im~^5k>C1bF iMVzQhJi#v6!YM>D]_*u_Wl H^D&$!7N r$PfhtI LLp+lD8AmAzqO,AzGFR8Tc":ҹGIjFaω -;" ]ZHdt;h ?C 8`?Ǜ0N'*K60^C4 m2&[sdCb@rV`:gXwH/A2,g֖z2rX­K&xENKqؠߧM,XIPtx^B8AYcmOܻb GqŞ;n4Ӛ+{bzvщZ:X(  K#ݷVk.6Vw :y}ʈPJs6bX?)Vl`1U |S ɤLmEdK@Ѣtͩ!bOTB!ݢ0:3iFmCL[.)>,a~ !5vqC1)f_hL|s~tŮDjAk <: HD x$=RB`sX,69 vDh:XX~!m"KJ"qS$]A F-ݓ:1\@Ӡ6QH&$h7|ERP%كӅK+&!)5KB&CG+g҈q ̆|𧻓|c LZipRa(/ zrӊ^WӪ(-9n%C,O'J+ +U?_wS1@k#ʵh%1-C439l3")-ڟ vr~ ǂ@9w՝hY#A8ڊ~|X7Tm1o1(v*^ëh< Xb8 D`a-h,'-PKxS', -He,3`"Ӥ3 Z&H=!ܧRͬjXxnJᕕbPw *22~XȩoR4 }}&uE9H,T 7$Q5B[A~dSƭ5Wذ[.4 |'ʄmy@[pQ;Tފ@/L$e3UG-];i P\ؒC SsNpʣ:nm&DAPyE@3 0EmK\k0oz֢U=iuA[eޑA! ۬蓶.D %fS}T=í !YkGt |Th\hdԄ1z)X΍qJ` k6Ԇ$ lB<Yi6 #3P&='PtHO[J擛k ^0xS0t ԲZ~_1#ȩҷ:qM$+Y$n]-JAӯTQ{i:3Z[m;/G@Ȕogb5 Dp( n_ǨCH$xR觜ZG#X44K$@=e>Lꐋ:` qY;s#} ÏM#qR"yvE:BIV[&$7-mNsP!gYY7 ^Q\&Gr!S2@Fk8 #tU٪cܝ4N>m4 !&q؅sX>^֧dDgh?=+taX谒fo7,eƒd?l X%O3)5"?XlG~XAEAtYC{ =2,!Zb;WA,b3n<3 <3Y?䧛0Fpn$$mcO1F~( r|-+g@Z^e%)C 3hm2s'?%2ݓG=ŎشVZ\3|q0&ڹ'AjHÎDH9+<8-! H ;qf:/U֖luJyWܨFKnj+1T N@ >ślg fQӍJ途ipzM5`s7t3<@2/dfHn$lqε@@XJ2- =I \v=c~ 4&pAXv\Xe7u:-q}p<`3^XȌ(D@IcKYy`=I fsc؜  i?:ѓ3K#%&pD /BdTpPdžVq &s(AvTm'Y ˨2~ZtHoNᩝaQ` *vˣJ ͐D&&\L6kHqLruHFS+C-Z2Ҝȹz>xX+wHKQxi5Evߓ9堊^J{*ndF/6lXt`G)+>ë:\6sUG3A|j0D|Rύe[VkU2q^<v\ !D96 2 w*#G!HmM"tťÄ6K02#m3xFQLY=#' 0Bժbfů] ^u }E!JeX!8:h`%ȝP SSwA= l+kFH-K @e0:dRʸ6Q<ڱp&4l˶]HrpJnO\IJ_S¤Bl*fW7]:Y.W˶'4`<'i"V`y4g;q/k|!&6f*&YX,,^A>QFUP@4RAWb`< vi9%D!@̍LSf-ZPoН ne0 ??幀)fe~jxj}2qFb}ӉkPѢ&mfi+/[ft!N5?H X4Ts3{,J> M&$ '/<0rxHdaːg彨u+Ɵ'ǘ\$2y2|c6n7lic*֚?. gzL7Þ8Jv>{z%} [+#_35ʲDMZFS? ??ېfRr2Yeauy8B9)0~)|Tf ^ -#pwtR8ۋ8d㦻 m#s`4WSøL =&eycgref*H_:52uƼFHZ ¸KT=GhQѧT7L{؏I^Nx<W\d2L5g\qFa\<xOhg#˨H$0d`irm>; %6A+<1lMBd^*V3ۘp)f!3BHva޽-u^QB٨e#1iJΚY4@K_'s$hMNF zQS0L/X)KlPh6Ls*ؿ=:ٲ ' Qj!m'jzc)29xJb}R3Cyn^5RЎ/(poDa yd4pLZc4BZ.tH"mjCl >Z.g6E޹oU,G{ wԀJ}'Zz:l"`2[+ft𵧾7,U;̿mqOR5'R9FNjPHl|x-%~a ,&~ŒXs2 ͊$FA3 Zc2?@ -w{ĪfEa5 B0= y:ttPAMa[K=x+n8zE!׻!f/Τ1^Bla+6Nɑ=` YA)@P3)HܷQdN;O~lt~OMg 0UB+['"#;{V=&dUQ Q+GZpFYN[%=^Iѓ,(1 θ11 zxam"8msץ*el$V"ֺ# )lS_z D%$M& ,4Q^gi,v Z:ӎtn!2t(W;).YJ݈p $<+ؓ֯+)2`]b3#y?E25=nЮ8A'B*3B$6L |.Q[q!P"L77˒]\% :m:oy_7 u rfMR ;ydofj?LTԖ[XxLl芐1di RaM i1+t+D3mx7I ryZ(uK~- ADep%>naiiG Qx=n7F$hE(H$O 9IycM-35GC=;pc ٍRif3UktB1R%Ҫ ADbR=L<ÐE@TmWpKLC!7fY2yk١rc1yi0gTbf[eHF f߃'IOeNv9 Xu!]jً;! r-n+xU:'wWM B٠k.izS 3e)~.%!ƍQ=Q&m+EPCDzWx3pBI}Pva~ w$uϬ) C<:*eM[uͶ!FBV׶Մc $=Hıfs[ x5WE&ZܕPȩZ:94~9c|-o4X&{#.i;le "ٶ7XU "$jPQ+wI4HLfK;嘐dB![B%P;rY*&D4Zy ƷRVXr 0t2T"hk3}KEċ0J`iB.`| "tB)AY\n[QlŋɅf"N0’4(B=gaQC Qn'miDH/ \y3Y2tzPW |, k[ˢѲm9aOA>02v C{}Mk!mtyˠ1󘤡G@%=8R'4y 2~ q0 90Ye˂)D wG\hhb94'{Y$71~ mIZ-gq6򎥞 %0{6WN#X"M\A+80<D 7_7AZd׸5Q,Ȱ :h:tN 5'<R6f5U,gȭAw4ȉAUВ)@be ;4"]`|V_#"NR}!I\xfuA(  nYMD kl1ar=0+TqH]![vsAAhn ւ82BZetf!I.?#F&1dD0 k8aV%tpD ܾr:_ek9m([uzܦЬ̈ f,0'OK347iCp\ ^vL7^cTl c vjj 6xg#B̔dHc B%V'@4|BBcaZq{*Ft)<%Ɏ+A5` #б ^2z d7tn@5MxJdH&,Nq6SТ*5a*3ef}dwzf4iFY="xp,}d>)lP8[ ˜ĐP86 )nW1>P%'3^b #Gv,Cu+/fUdV:+F)ӒueryUSo*" 0ve.eĹB*9DK.WTTSv6J*%YGe}ce TŃ拕So@#ЦPfLt*cyH+_}$jkk3_z!-!`Ԑxf=3k,.q+N&o3UTh !  !L@0YhCP|z ƶ2 (-6sxNp8譴5 .Y($~#%G tDk5ҴpTY }գ@ õUq.*txf*f DXfϻNJ'?-kQvH=RcCmy #, LA.''pc_p-f/ʻD?,<햯35|6}iRt~sXZg {IC[CX!]7gULs@_x3h&a/#[W}XFZsĴ8pG c;qƱ*6H$h+%q@V[#G-] jcAC |ṲQ2^ 8ÀGJ5@rlX 8a5<`2%ǙqX I1I(2h&>XnФ8E P!$PY+U@*{&5p(IaYuu_ɫӱPb wb3yc( p{( b>oR=n gVe*p/˩$9`c31oy@34HKǸSqX 8>p D5fF24H ˌ !I yV&My|Ye_e.39gTbX|WOƮ˕|]=3kS{ ʇHV, ?|}ƝfwҮTFᯁkfekQ .J0{hoB1AP?= va%0mni ^,[?a֘&.#V8后vho=,%T5b^>cJ- l;p!@1j<#ih N=z8u9=ԄvйFb86̍(TI G`ze KDb6q\͞X . AFPEBv;*u:Ym5opg[揲J1MJ7`B V`4ˮi dYge^OyDQ5CL+#p=].e\bt3;p:iQP`%,!~.ޘA'ZGXזi |F}!T<)Ŏ2C2Qr "UEYF)+wb`wMM8U8 oEQ&>^KxP t9LPYyn=)Lo!0Qg ۟g"H5;۫>$Fټ.jƀgA֑U2;g|kd8ٻηXSJ* h{<1uP,X42Rq) <8@0 l]] :ced'7)nHՑ5 &͗ Ψu1 j..0UxЀFhl[=C-_QkK:j Gf_?1{tÐvM@Ң`$AJ1B_; wX~}hq9 (E]2ZBb3G=uJG$dfP{'쾍x龕Yi63"` 4S)4B#Ua1XUT U`Mχ(kӄJ:PVTg!ߑ|4IGƒ2.p̹N̶ֲvn ~=3jOSiCQ}VubIo ʠȻkT(QQ胇P̖Oq*V{@>P?˅'8V@jܴ-މ36w|cQo1j6ZG1pS S8ri D|2st؃:uE!$ Y]`]ac_;Tb^X6b H6J3 ңRG6?hߟzlF(HW,T 4s05͓'q璨'la#dXB@!Exb\9=Ǝk0$DYZӈwĠ9*1yB J %KDoR]$΃-i*4ʈJjcaЎ 6TR%aGߴE ~KTR =4G:sCr1S1Q7Y-aڙ9zMtT*64- i$U2"D;IڝhaJ VObNΓ{9Z 6)<6; ӈ{71sv$ b}N+@܏kx|rFh&ٰ?IV!F[R)D1Ugs d~acWo:| Wo6<GJZ2d 뀗+@ QapD9!&O 0PE( !հ/GeM2Sj&$qpoC) GC~ن;9 sL-Ny tKE0N&QRc"i#1YXk,%&|8`ͺ0:Dգ(_Yx^(S iS  8_+3rBa,m8-JIĜ#7E&!p"u]Jh 1"~g6ͫ1( 5RCRr{Y)z68mpMG-%v6ֿiA"|\{"-1b{W{ W{;z^̡ /خ\#߰([<%ٍ|y+ hlVlaư>>F^܍Ȭ VF 4JWiDBT$8xdWSYϸXuRjҔ,p3Y @d$F0Ol̽M 49}i[@ص$a!yr s$gH-˲!֪v?u ֍p~wq*kfKYQn7BK OC*e yUQKLd* @:*^t&*:x1~tU=%GpO"KZB_X3塔ƞ Q ̮FJ,Rg{`J?wa8#=!5lGQD5Ťu^T=EAw@y/q,(ߙO,GTL,sxG= xdQr/vPoG0V ,ύF T1bZz%r^Jhh{AŜU\X^g'}]tzD{&,_$hV}U$ө >#]Lq:Ek/_C CKJPbDT ńg UdƮ8HBuY=ڭ<8U&V l'*[i4PʭE_ţ'Huo!Y$ϢM1Xى;ƀ˙K0"O[ #^igK$Yf/"#`JaB< )+:Q;φh-0{A 0R$ g1 ?+ M^Z֝#ଣIEUllWDN82?%^,ՄkFM}v먋k C ҙʼnk!] \@1Y]:elICV&}I DM)Z;&@ yV(C'RaFd<2UL uf}c:/{oY}ءL ;A ݭUO \X TB霭5Aeu&I3dFtܷ1!i>~ A4w@βC^s#Iap\+X9\KlOР"3 -wp!x+33 .,̝Y[ffFuۊS*A5a) l"b^oDMfHkj$Rl -NA8,q$h'S'3gi",;82WkT-'K-QM4FeS7#za WR87H"3i98#"hr`~vNv4/[5-a$'?52 sbþ=>"-<5\ mIUGdq>"iɻ]ӺV E@IL#n&pPqKܭTnC2o2 s*[8gӞa4En: .U<֝h=MAyӂN!* @5k.Nff6#M6wr#|!JCkcXI~S( tu8ɂT!GQ1L1ԺaCgME?& ]Zxc,Τ"Vk`/Ü:K2L NF հPVnY.A`gV{2Jn>c!kqMw>%nF,a`İ?JIL,1E[EMhO.o`nU lɕ  &^{V&);KP"b2'/2Wuݓ3B_3m!5MDZY,l 0miO0$dQ=$Iu2mn) s)JS:1?F*12B8&FFTEl-bT&*nR#њ?6^Ks it)Cb BpKkYW7jXW2d.t|b5=VZK3ì{-ioE2CSĊ\=3ٗc"@az!tsBSήd]@Ŕ6S,aӵ2gdfcjX>{1uD:RR0YΕ&Mb{%÷q`qued> m= +N`Ĭ+cE@m>c,7>?Ȉ@YznFkGvw\sW V/WL1:&DBa1yhR@<;h?"5 .h`: R bçqcH:ӲY!1+REc˒I"PVR$K6ik A;Tldq܌:Vc^g y kF^,9{RrQOV%Fchk˜#/iw !M;q&5K`*wZf:ip2ǯL2%f"4ֳ>7Ĺ'~o=qy!hꃿ3(n1Ul9#/*\A\_6`Rj)k!mu bGLqClXCP8x,s- ~C`1թZQ],2r%e Ҧ**5;@E6(2Ͳ*0 0A2g0++ڥV72$ʛi(@h` aU63dX۵J n%F+USn=$‚7qћUT jRd{0LH 5x7jyM6!D͊ړ~2-Dx2`8Ie(eX3~ʸPAĮErKsU$ !i€u7P<-T4wFz⎞2ȺVibv!l+s'7(85b溡1miRgsiVxK!mg !Ըaqc홻eإ*i3 :fm뗾3.LKjVhł$B&HQ@ ܢY ~i)zxgZ<[Š:~ыM?з3X|`-!cS>h' {_l6N/6.AE 6leA-\a=83jpE5W&@d$v> _=LR"#8#LY!ֲY|Tch#_?5QeG ]n,ϪEYC"((#΀;08CZ/m3E=N9HH(HD[QGrA!9#jʀdK$Ҥmb*mˮ/_&@2C :8I!o̱xʕ;p$a j9ToB I_' 3+ # 6!@с. [,RY{/]]fC7j1[$ @۟+iljfCkb%4Sb/$K^VdnI3L\g56-m0s~߀ۜi)Zͣ&d\@Y\l " 1{<ŕn\hThM@7X%|iDFӊq,Q:hKq:^OX6RiOD7PvkdZ\kq8b3J6 ;ִv !l2G΀ޱEI@)'RC%Wiz:p2;ǯ,`e6^2K8W 'Lkv"* $=_, \9tzaܩeos:#iFY5 !hFN10h]S9x*9@&M,MB[xUHCfΒ;17{&|,D0 9hZCY =H"97;ÞYeڪJC5Vkʕw:zES3\39,TT$Y6sDb&/q,]"RAh'\)|*}L +q}UY \lf= q$ @:ʥ .bb}?v}cX|#*|`U% @VH0ʁtzs ?v'`snI{-l&c YՍ5XD}ad7``D2ѫ|rgiҥgQTG1.%i`֙,2 Va0V cLYL !@{'3!U $E߂b>N:!pcOWf@haq+Gf\ 6咥X[@8v>Ij؊SIv:xSCQf :92GLFnc& =Sf@P!Xc}~VHd=߲Ո{B[w-j 2׻*$}glHH9pЃbjS_7bJm͖4sm +6D9;71S4./ ^>~Q2jc\peĥ_U"I3$`KV!TAIHpULKeӍ(V8`dM<>6N4ǀJ9[z@]Fu1ǭ *霋DɢaSCxb;`1i=[j$-M͈K$1% =VaV%rd u]=x:o )r9AeoQƁ]ފyOT=T߁"w TJ>1X(( ajozlI^dgbM~.-Ȁla=*n^fO]6Da3{GJ Pj< 󘡴Ņt](-V@ft:ãr:C> #eEYrT.d2ƭ6|0`$ %|T4lI,CSW7\2CKi<(JY`C2Hg6Bmļ{R@ LIRclЏxIFㅫzxnqMO_*3\cyUŨVHZg+Ȫ/.?N$!"@YjNR|YEpt j^aA4:O'ʾ!]Y ג!5l# ⼥u!Ќd L3N`'L N4`]j^Ӭlw Գ{|lPhR$"RAJdo bTH mlS|pt^mA!*Ϗc}DžP+ ,f A7G=6= Lݰmc˚f-i?|eYhcٯ8-@YHD^h7mZ̉'Oz??KK'~c~yaԩSˋKܑgB8lFЃ zq\5poC(.5 ; 4V$VJo7C3&JsYrq \PC¾jJ,y3NX@.ֈN"i%`gU҃|9@m; =@̝; $@9h |]Jc@qOz􊠍"Y3 3S4(Wؘ $IRiapFVHH9ZW ~rI*Gjy) GL{SDL~gc0NC~HDHzřh>}&\t;\/`JK1I1E1&L{@-s.o?D"misB0= dj8ӓ 08S Y8`QrRA.B^<`ݵ=F Fs<:Rr4٬iTy|:erKWy7ׄvb铋KŇgN/)jd}ۍٌ?x[Rage$KWĢ EfQ67@ŏلZqpH?E?~O\>u _/Ï%q`\%? |@~CT"HxkRԤ;:!uu[b`V5U< %5wFw?$Nc'Hb oQ>H3N{C|$儴El!ġ+ <}L E6/$8U`}O$*lʞH$Y%ZvH^̓#7pm3HxKx7 'Vܜū|*70~1ZDjd;M}&N"]S$io*YE~1?e]D&OpL|xr E=Oxb_O gk}Tn6DmM7Z[Y굧Vµ587-U$I5˛Yd -v^Z(ݵ(98 G[RFM&~>~sڀXnt-Z_:gDeXPti> #X iJx-/~m"XZru7e<ۉ2;W gET ]<b@7=j+A쑣nqE'?t=a{ ᘸ%GnQXUk(b(e[!u@<˖ (Z]4w#F-5e#NF;^wXQ#0 OV@0#@'A6e \[X BX+yŋ ĸvN G桻vCMG=j4q E4]c{ȗX5&UZ҈q{pA :Z4`kN_@{: m3ID]FrʽY֬[+Q+΁^y \c;eCɛlN(:N逃qհo nWqd#d-!)+d ^yTNuo V'ہ_|ȱ{)_p/W#Pw~UYnJ/x49~{С~mue'饣5&*`r^nԴ]e'J m2#>z ?ӴKJ$wRD#g,cd45 9 NMtWWrQc QGMWI4:73ةLIq%K_m,kQ+GhWېEG(ȳ@2};f0 j. 6Y4SEgt@7@u%>./.Myh]8($fڽ9"IBRXT^QF+.!)tJpYڍ *Rv#!|,lHsR") jD7t5gis]4*ր66t dȃNdR`=OYf{Vy:~+Ds!Q QlOd?>tH%cWo- f0 NS[2 =- 6N@bMcLHrgSpGGe[hnO垦S_tPd IZ۱Nr GráeU]) ٟ.~\mر:wܛT'SP]JTP^Q?;Yd)|Rxu7$Z= (ݽ 9i$hFa;-j:7^*EzCr7ZQ \mnƆِvkί/w߲>x7Rb7UXUuS B1dtT a+QVu*rCv9+,8V`qWgCz#Ľ8_7qE0Z>d1 r8:xLd{؎}֥at?'Ho9#TڈmF&ZA2K>%ݴ8iDi-Qs'3E5>ԈcPGQ0E!@Ә.̏8~GZP6Ð .mTWz+ Pa[۾' SIXAF,Ho-Z=!fRLa)ь,:ye7Jzk¢/`X DaDcmYb?{a&NRipQ˾tG[pGήydva e^E#~7"Vd@Kδējb(JS(ߴTU&r>yWsl$G\8U<}F&ʿvg9]j]D7`wGh9{#i.]8ؗۼJNA KS ퟇oXߣw#dZt_ Dbudjbwo/ 1fq| 4hxԮ4A9(;<5 QH ARv̐# |cБ@t0fg| <(W_&suCWA,h#h}qOh%u@A u2e\'ihr7 A;mR1(rzh7{yv,@A L/**5b2dfE i/fCUJϣW뒪T 1!ϽߞqretC+6 =S#\7 : L}HN[Ur‘FʛBJAtγh ˷eVܬ HjeQh E #x(1"]޻QH H ݰ o%NY 4V԰yOSj 8luC֨(!k&X,nZqC:]"/h*'PCj2EtKܵfb8Go@yIw vl2dPܦ)A[4S4hT $ qŹ)5!@<+UqzFlCl7~3I税a. R!|#E?>ĵl\!nHCpom[ ٕ׼5'VЎº"hUn!K[7iwPeT1X]*"B[WT @G*\܋H(_Rx$rXz\[^dzlo\yۄω IBL1؝=[qSN?x!($)ݲQ$w(i(CIeqS[[B> I j!s#9'nvTҖ.#U AF+qQ;MJ{i} ZPi~ Ok"hr,U?E\ ݕePd@N44uݍFhQvۃ|,<\p)AKN5g4cIAS?GB0]Q20sNcce[I`2)֊T>ѕd!#t3 2(1P]d9*O(Wh"-E&`؅7 3T&wi$:@u6Ϛvq=166f ձ>3ě9fz D/I.py qr5@uBG@&47k;8ZJ=΢ױ}'6m3<¼FB݄6}eU̪\fԬ×ܛ*vgOA̛SZ[PN 5ոKg2/Lr*M}he8 I2RAhXYR& T]:݇:ɇNXx5,dfgH7i̦vg oـ4c·7P} -_EohFgsX"uzژ޺CNTeDx[O@{呙{ͭ-C4o8? ﬙` ZcSq3L ; s/e6>F 48TN; Ӛ"S6WVz{F;Lly޸,ėHv)Gp!dþxpn)B՞pAd: BIMzoҠ̹匾P 8rIJ~yE (H_Ʈ 7Y cf;e9YXY+}Ԅvh5N%k6מл>t8etM$n5j%׍76#؊ތFnjnh]e^IX ;]<r0e`d 3 N @`qYAP3k i¢`X!ʕ۫%ul|R퐅 t}Y|O| B>,p Ȇ2;=58Ї/%V *A}6,%TIC΃*A x݅J2EHD[}ЉwVK#F3;eu̡{g:onB}a:H#4Ir^x>2-)[*aa&F}96ffדxfNٸ ʪ~J'M?~0G|R* ?vhrVi)) oH^߇eÿ uѨ!x5#UqLF ٛТ4$Ҏ(LW2#^^p~Wox~"H>{yr`8W*կ8 a J=NFT)b7KV|ʈ14GL;;}Y6*^\UF<gd uKUPG$H3I O'b(?)Ye9;'1ܕ3)f%DQoʠ.5:-~.t}a'3ϔ*kZBue?i$4GD )L?&1͓kf\нrnUct]p }1A]U5m=Xi>(;'u8r/J`W=kHWHĐKK[~AĢu g񞨍AwGSgRdot8u^2Y\(msm.j,\+u4R{;5C>C ̧,U-q\H_o邒jUI>{:  cwKGpWE"+D ~EI@^;,uELc ymy`D'42'q"ef-N#X\C!Ȧ˃ڿ?&+`,X+1O ry*[5bˍeL)8v5נ*ذaYl@aܥA-fp-J P t-^[7'G F!wýYљ)aD<!S8) !_&גe[5G@ -\;~PN59*ƖN`LשQ~Þ%[3f]@T33{q2f}dJ~_O84 $+4h F)`tMiCSj_7nXUz1lC"{ڊl)/k-gwO& GCa,{%A4ڞ)K.72Rlu4$)]pE&+ĤϪm"HA+{qF5ʆCt#G+2 # H@mYƙ6'|Mfhau;Gt ?^$7 o\7\ۅAT:Z9nGgVJZul?R7;uC\PVL,֏ EĬ+Uj2*]e"A3Ww-eFw α"b>,Q$=b.ǔχz!E*5< n0pQ#'j=ȉwoF reIu"*qe(26Fe), 4]4#-qC3nU[3&J?O=)Y~R0 uF*a.cӊ{0PiOrĽBP}oJ@wВxXYg@CקQeT݈PrfMq"MF,Sa3B7ax1^^5ȱ` GYH4֋FY},bhDKG:f9osEk@!{OJ Z:o嬓YO/hj4Z_@suT jdKf芣(Qв_ `]]*J#uftZ͠";cKj}(Yx;^ 9^16?M+P^0w?Mt>v[]q%VK./鲊i9GlFڿ^')X[hHXf0#|aȍ}sf7;͝gQs",ڭNfƪANE-rb&0ޏŨ4 e햒ef܋.g_3b TzF,=;Q&ʙq"9T7ʼ6Ρr{>YV9ՃLu}[`.TjtxUXkd8 Sib8JysF["F07 kGf-E=A82X*u580HZ<6zQ>+X~aڎr~tuMMvJ6 NH_t ?/:k÷\k_{폫p)L8説y(]W-("v<p_RfxV! kC3u%V2'yNex!*rq,[ZEle+jH7ߜC*J X'gD8ؙq{?:@o}!\PwPM&&*lPS$Q|Za/lG=4a?~M4Mg*i1TdRhs hu,׺hF5zXRj #@gB,MЈ!ztn_Ls{)⒊vBep}YMVj]-Ie]/VO3*ޕ`ݩ@,KR Etv]֫% {ohŽW;IDG0`b32t B[f&b_C<#ki VhbU~r'$>:*C0dĥlK#Z._ܠh4lj NEun0&Iv\F=7p!C&Hu6ޱmr]sbOඪN ;w<Fo jyU!tøm:)6yʏ Qimӥ$5OZ 8;Rt [LTIc~Cyv=L&UIqՙnHnF̴ė領[ZvHaPp;$7KYD#~W-0rOxBľES=Lb(!aH|:MPv:Rj3ywr@f*6/š BXfǯg\zrL Iϗg)$aB`kŰRܑ;M;ŚÕ{9L{(΅]}kOE2ZQ6Ӟmg$A]9K_lQ1W+X/PxjyIJQw0xfWЎLUXIW\=6KR JQ6'\x7dd5X ӃL'0 4҂pw{C?*+&'ӏ'"ݦzD\m85]h`PziB%|3JSQ_ڕ]$GۨbYEia%M6i=l'}ETtg5xdHX lzkjjz ]?2B/%Rwqps8 lh[fsK7\ 0۩@z Qz⼼KπҾopjp[QהyYeftkj2&%'վ ?kJVQRwK[y,>.;I k6Qr>#%Ϧe˖L6Ϩta)[\v1߆aR mFiiPb;n!_.uq]MQj@d _G,/ !TI!R׸؈PO.Z=A}hIj bN rET-ZC|qZR:V<r'K1ncWc`p)d%Y*~7,ˡ`?2#@d,ZХd1xHyW[.g}H+:v/7Kzda#d}J[ղ" ʩTl4Sȫ2kǣI/Ľz:N^ aQL* k$[fK`CޕI[}{(ݱg׌\zP*ۙpÈ#~Sʴ4喉J3N.0(]1a|&seoxKnMvewkaypN4G_.!zUT@|rWvڛ:(cYjՐ%ALb(gUx덚%I7NuunzfՑ`MT!GIbhoU@̓F C(:7<\KoV;#)&ڌW}d7YO>7ɞ\;fB[UXˤj/}R*7-E/Zq~trTB|u_A cTI@O };GUmCr.$s vpp<ÙOIpܧ`3x;|0srg߬F?v)9HBӀ>\̑J^ˍXf$ڕ~}ɪa|RWg-,;E/us9XGqH(1xG'*:띸yTj"TWLCx cG?=4*T @_P@I1(zZoa'}>T( 4y^4[)"M; Ir^ؘiS.+C[CvH0  4U0ˍ%BSs smb^Y[2K.M-nm8)s%IkE/SPsfٌ3d`g0B8VY.`6l -X8dSzF!h)ӥEg;@Kxr{R @s>slN1qٓ,Y7~EQ/d@Z_6`Yd1t`-+?([LH؃%5Fݠo܂)")2-CHjVvlU 6bfcJWx cYѼgGZh3,OپpUh訠Z!t2t(WM #G6snp W \΀cAmYTC29:jѦ]hCζµ,ľC tFs}J!:a rZhY`!+7nte I`2u`/^[Vr~ l1]m:٥oaãbw=\0J d͑&a qٮ)dW~#\[>p`I玓reeCJ #A)3KV0 Yq,+;׈2Â=·*ɾ 5,):ű..kD4I`p>/زˊw0,qP|9lkX 'gLrx/Jj0.C>/*@:=*RS^ԱM40vG.C^8MSӜxmh( {B.uTýu5-Om8583FQy #c5Z :^V3h[7DFGNQOGD!y2ªRglu/Z݈&:*ɉ3Mܰx)Zp=GB ϣdOFlґCC [M}UƮE{mۥ gB;u)7ǿ 55'dk0Uqm)iDž{ W U| S_t|s(|']˷;8 9p ;GFX{ 7d4 _7Zhhe-rQEgn+Cqd~ o}' Zӎ+˴KxKX)Bp})o \s8mfDLt9oEywdtlC^KZ"fD{5mR3QsHw1mN~ G冊|\B05}s”PLGiWro4lh`P >\[fSW%{LD0xAzl9q*~G ]6!tr, -N3ݰIgp~3pBCN ;сT:4jDiV O^? 30Hc^M e#+>D`&_{ Afǔ*EkXe &pg j%KrڌM"{jW .nYF︃vw::Gso }7m`"W5d h' {_ Kl\_l\=l`e+sne9Pu 2ٞaB 7%nTfY4dgggK\<-Pτ4g GCܜb:KToq iAn,Ϫ=5JQAufH\;?$G%Oz3 E5 *%0e|w9"ZAvՠ:Ft`Zj湧,Z ~эi;/gsETaf`f+R(R Lq*xKƫ |.?4է=Vq 4͋w񄦄*2\jԋy|8"()(reϰ$65\^isx?39EZa,|17 Bt3Dp?\5x:4L_N6eDeQT3:j^47z^+?`Iw5M&cR:p"$cRϘ6ZI7T(^QQaͿL/2 R'gO{hrI F.e'C$Pad/N% \vSRE@󪙗̉C|,n"uc]_~+#Ƚq'umۿFqp*a%%F U*'}T㥱^hxe>.mJe[lſۍ M&iCj/<NYV?eo Yh퐕X7|rnlq<zCw\ukx΅*cb1@J=ofwF׸^"vpMpgωI:{2b5P4OR1S{n@FT>0*[t}yfЙYï88cHӁkpzdH=YXOV9ar=: 0d}?s_B]V*q{B!lGkՀ=u@*Kt4 !Vc)ӒX 7ݺ<&ܼ2C5巔g=tg}l/K'C,/E/s xH9ycP !ƊVkԄ= HpZhMlUsG΋Cuiyy흂ѐxhh,eOVLoŭ(F8~ۙn%AW{a tV.{Ty !5ICasKpg| lsc9T໣h-1o)>%27܃K{͆~'ʴڤ+.(,nyD@ !v Ơ ΁}}+NJ\շ LlZ\ҋ%;T)Y<'˕@UeX;@rkd3 UQ2")ud ^yT-k!VT".$J/J3[qp{i\4$GRrYFƫ68=ˆU-87v([C5+68.MYLiC3qݸ'_W4zEwP=;3`)!yȹ7?χd!M4cY5(c]ը:2bXveUU`[~Pj}YGAFu{Ďr0HE"n7'WŠ/15ªW `Q2!L4tuԲ @(BTȟBWpbn//) k$au+3P'⏋{N,ȧiys׾NKQ<)EK6yMEϵZ?,WZf8[ӓ]h4[P}]fd mpcM[Q9*|a1hA%N>ƭxcc=/dܓTY48zYY!W eTfe`׈^V:{ܾ|H\U Ŋ=C6)N¹Յc>Sy c1FvWjcA6oi(jQXb4G׮K `ޔm>LR(RSٹڜN-^e9q $ܷ4>f*˂. ,Q1V:O>~7_+ ^O#Onosy8o+/|ѡo;Ћeؕh`@r wE#Ph_Ur}ssha8Vl])'FAU]!}͂? K<ŕw 9VY؍"`E})>:ؼZ:eP@HJ Vɂjh9,7/ $Aq=#CN`wfژA~TZD(xݵ ~RÄ2](1$l] SV^v5O%'<% rJfyn<)t[g/y*;.hm $ꪁUA:/6~89E擏_uOJ0? ˵_NK\#))]{na>׃8ˢ<|v7sSW+V\2C[(G'J;_q^SkӁkYȋa!mXJc^(ղe5 ClgQYϤ[݄=ѕeaso,Q@>D2J r _SzlI䯜OT J&Tk3ކݡuG;>J^wu~ aL Yz0{E&+x&ˀdWõd0ÿU]!*,=Ս&7E t P\̩P<ΠlY^b6X {Wn<4yudͰ|r&%VnL&Bۉlg9id$\e ՋQ^| =q)kP6Bq<)-5qާ$ ;]}+4 |"Ҟ1ϔ1$3cΡ[}B0"Zڔ"q|PqՀ2I#2̉,UCw u΢ O3ZMGBrV]6{$L 4gdij;|dИ_:3xzn̩ =`\gaf*OW/|Ysɓg~7N:8,>_^:*~./ÿ+v A>l>1EO/,?CߛRfU$?gl9ɡZ!X ȋ ?v~b7 }AQ~DLV- |) m"VuB;kCGUW~[ w;-1J_b032J$HskZu2;9גQ M~$ݷys!S! P?]+:$ @teySN ]A=dM15j̈́{j vG{_1{Z^9 װI.jnL MTI|yR9apw>3"*CqPu!(ސ/Eqh=U-1sLf.VCK_=iJ\LxPfR< ?xX}Ԣa/Gvȇ'Lp[ hfױoM~h2*hT>Cv}&crVWFq! CrP~%x7#{Xo9>3+6ӥsn>Kv EwB/F)~M>ZHh>R 2 w|xL "uȘ?} q*1E$Nk nig#ذ),!|Ũ?Px|Ep[,ȴZC&[q@yaCbΏ0'R&4;A-ԋvTwwfj?*U4c -[\5M=,b _Xy $'V]<8m]<1}R}zOVA?ʃ5|ㅫM>gnlVx|7*smUQ+t}u+F Zz^7 s&~3f\ńX ޮJ@]4ihh>;gݨ<%](OAh4&҇y uWy;l##dR3#+hFr=͇v0x{z :PR.&q\㮐F5m6,k.VHe%MU] ;ΪF4r1*@Amb%)К;]N8"pnwfr׀Gv_#N/XY{J -nH,=Gx=~wmI:S<Ș p&('?P-te0>as~)yrRpvinwWk3(k -Aqݣj*Nپנb{b v\hhLI HߑTbQ5yR%D⤈ih Mn~I$\eTmG@t I? k="'5dksmIV'CRt1V C%qV/*yY8K F{a3wh~ZB0<{Y2+hरj;ʸf`=nlcQOiqd=Q3 `]/#ªo%FgUlzJ+"&tu8k !#T5|WG/^%c 9F~(/ޱ[@kVh4Պ)ܑqnk_J*Y QMM]׈e=)s7^SN8&<^c1^(IKw#\|AdylH=)2taT%D)jKbPR ^S%rӉ@b&F>$6 )j->tע8b+/ݿv5I'.Pe+ӕQFD;KDcy> ·G<j<\eABs@~7eBHqFyb p= |#F٢H;@EOTKrh־/PHҼ:)Rq’+Cr!@f}6) {O.PX}^;Vڍ(no(9YB#'u?׆bڔg|9n:8yؽ¼6iar.Gq ;hvSo ~]ŭCcΨN_8PO7TL/l6,یs=J4Pۍ%]?TݽùXBlK?9$Ա)\<X^IOԻAI6^{ qPf5 5hnl+̛~&,6޽M2rvɛ KڅY~Oi)e3-pkhw9iaz%<-t֎zg9fNym"+|#+6#b $[&|bW&EĦ* M3*n:-%L7rc r@pHEYE>/Fm],AutbVޤHʎYV`+5 t-;rVvC磛Rj*5˘!RZ sN\dM4{y/w_%K^OKb7𐦎s2Zu<%%i( r^G{2DPrۣ4n̆CB& G?'ْː-g  ߏ}WC "d֕ 6p5mȴ\=5]P$ 慮(!ʍ0"Qr dJb)wf6V;1:ԩFI_q ?VH'i1"r( q7 ZQ'ʣ@<D<,H:( zې߮El xXv JЭUkD:s1[go6ȓnG-xmu=;fyD~\?_?ggSw^^>{>GzhhoGG{Vy8mK !Fާ8gaHI5O$?,B#@6zC=O^O|}xp_f>[shy~Mɣ,7uh^gA哧O/./6Έ1t%uyApS3K SVS/2'if$qשfZ%NŅůsKKgNO.YXsa},~yĩVO!ǏGMqs0lI6B;8Ti[?7*/AXh2Xg3z0kB9|(:ly7R 48"HG`snP|/X\x|.'Iy5;yzaaq̲T gNΉO_O--,-./ӯ˧i,̏{3K'N_O6$[ Ed}OOBbnͮ?烧ŇyT1GhO9y5gΌb~l>~<>*/} ?cEP-mHʄ1(AhGi:0:} %?][/h ?MĽV B`$<É< Ud'Y ;f[z> !\6g}ރ#Չb2A;vP9aM3f=$ƺ ڰ2fy|3`&H߂O\R5r8hf}ֺa_-1!$g` ]|.,"?:`oBk#~q͟^)!//_O.KK~>K 2:LAa]~$mݘ}`/4V{8"_g AP񸗧a;6 o Il&N6(GzVGg'+*wC# v⎀KB| GqfNg,S,oGT<6C_5tԣXBG8h˺L!a]fOc7h1[,?QEds v}û,J`};lYJ$[I0nc|p#OK/9ufϼЗ$|sf;ƴ$&eVbm?/ߙ[

    p}N>=w\ٯ#ukǏ||$jQ~s p jl饨5t.)4`+ 2qᗨH0B8P*(n -/cÖ90<jCOFO{6,bu >nտ䀲{F7C8 YUlC/ڂJaWL0g7 Ŏ p^+S ey9[,Nϝ:I.\kpKg}˽KAT|3t;>_?{>3]1^ nW>q_ j~>?1?Bg>~w5?_ZR"x?EShtw .A/hFi<h @OyOq=A+ez_?oNj D1U!1 }1&z.^\6MK }ѶWx/jzͨ խ`qs#/jčϓLpNYwq%`Z }(%5IBnkI菢}yx7U)4=Z,﹪ҹb'A .4@H -7e}mF0"PC8sZt}>WgN./- 9uqnyn^h寧,)/^Zk͌nan~dnV犵݉T, o3OWBSGW}[?~x˩3fKq*ra+9Ɨ"׍1 >V◶TmE F⟄yGq4e)f$7*r)D_jK_0%`-MwBO l4J-]Ym4}a♹S{jnΜY_@/Ħ3űkOϝ>8#c?szS3j g[txrן;Vg>q/)KRzlkӚ1efVe\A{;I3)Q2V3KIc:L䔺v*bs=TZQ/((,=DZ,]#lR-eM>H'u%褼/.Qԩ3'PM?\}-YXZ:uz+O@gׅ9P_F5@O[E6,ħSs'kL!5t^{#Ƞh&DkF@48/Zˍ9}Zq8VY vAd;R[y|a 2/~-J7,Ըh9nHhaNA+4`݀5. n;>G=v+#B6_;3wra~XO͝>i ť[Ow 穓s5&t̟<=xjnN7qa?>>uXys?c?@ GBFADBl i=JkF-(-0Rd:FՒWG?~p;".F_@s;Wl'i/8 qNYw鯮WZSVv[>_WEWWWھOzoeo?/]O~ʵuսӌn?abFŻXs|fx'~oɏh|z :3scBGx'_ 8~Ɛ 3 gQ/z "z,D4im w14 ~T2#_ŧIqdAA4/>LNI}#t\?7 ~y5Hr@4Ϸ7Ŭ~(~-SOo辟~_':+dCh]8j6N/Z*]~ǰKuf~_:B 34 ma:"Bf6'GO~kek S?S߇&5yʗG3rSe~q_< 7NF#d86o%fK-#o2>R|UA:QNx)Rp9@$f4淨$(-*@kHiQlֻ8-v°]dDxv؃Rk &SDj|͍Dݰ_j"Lzh+G-͝<=hͧO/,ud$zNtzSK'OAhܢ^D_| wV=V?wg#{1U^4w1i'A04_Vr׃A*4/Fp,fe_~{/ CN%1W2Mӗ~\[/t75b-x37SeKK`Sők=ſM N|i- Z9%羨k>c@& Z,wC\"  ;n׫p bqnbͤdtKʶ—N u'FN 07gBdQD{X~k*(sHҖEGjAtfԙS'4_GډԓGc'?ufa<$͟9xja)NtNgO~X9sZ|v"<ߍff3ߩgvOo4 Ӥk;@Im(X`Rz\C փV]›%?yF̐tBq8lRB3AY:=r uJѯ O*c^'] 1wzqqN`!3V?>~X~CgO(P 6nzN-YdOoޞ'qgQow/ySgp~jzip[Ԣ|H&'=Ս]- MzGſ+d2|KzW}W_I`KQl42͸y-[dq\od*]F7'UpCs  Py[/n(g9tt ﹮¨Db+}9e\ X:X,LFqoQPҤ[qQDHߜu6~ud EWB4 $(+>?YVA縴L7@l^YEV(M nt+_~6K饣#iưZ|mx-Xb_+x Y31uкeG)Or 8K"PψՌv,WJ=f)RYU-߸BPFh>E ([1(20WFXmA!ƇZ5G`sNm|)žu'ͼ5DrĻaxp{B[rŌ.O#6\ 637 7p]g%c qKQ@ eo I D >Ҧ` HhM,/D^D[d:U'aL7$z!YO9VLfq6=^FuH"?  Gdܨ!Rp!B kȣ0-!o%"H Obz`/[^oI'{mdIH$h2#O,Zpd]'b($g9<3Q-kL@E'qʵ^<{wbW^8*O(;*$|4|FF]qTиvow_ޅ#oݛ(  Ѿ\4?$a2qow{~{zc|o͝rOuSF'|q5O.{_^uUakE{*9ɹD,QdC<Şw<3ZRetܞ I_PbcyS,c捍UUAsLI,Ιec h84ih-P_R 匔:R2F1sjgmbre&5ucؚ<>2P +A[i] ӌPfn^3Lb#&3Ȯ^LSl?gWxьb *H3 \NG(@ZU7 ud/oؿnOCZ;c[P8 2.@` GkV*VZ708VنCoZӿmشq.92RC#<&h@la i_Ze'VMr,i h(X?04SGnl)e`U `dW[(7$۠)IhAuweecʵutئ{[3#r"vQ(P, /+(-hXB3-0UxH1fY6G >Ǿ3W4L5b8QyICQY9&lB)\\*"íY?rgCYGݖEʮWtJP_jf[} Q6&'`\(fE0 w嚁_W R2GҐ7 {\Qu7yIcwĮ@#R:/I5)B4#׫liB\%_t,wO"?a-O8o7 !V똨~A}bx ? cP~=}|o* 5Y32^|s6d.Qc(y:GB@9hL`"OZWM75:\„chzGtb6I u Qa45iL?l`)$mcP3om8srЭWgrgu|*zDDvDÃ^ &c2ƬN@k;%>/cOv'9JCTF?KYHE(a.ϚtQ x(R Qҿ2o0MD=97M6aMPҸ?^#a{G+6o6oD-sb^x*' >d4t4Hک9U{sթS)*LDZԪr£H’U$ 5D{o^;=qr .7wp[X!m_嗋#UjiiiIYb bA_>1ў$Iٶ])^=Twр@ՈĽ~g653%'sj) ܩ!@%fuŬ~]VN^UlG!d6,>3!4 6_ m_qk>=}B?,h\mmndBCe+?V y0Wn_`嬥E%c]i'np7vш)w[*?ה\" *Hq@)cbZ{h VA7&dVWOK2YzD]V7ɦ^⸸e \F~JWkÁߴ?i`۾S8Qz59y|[Qv{zzj6o6I~M)Yôqds1mu.[ۀ.B'vs^`#ԏ`;-fk,؀OpT6e@!GS ?щ8*I)oޜ+##jNBB $oU7?9\3M;䥎T! ވ#8!!;P$Ik*N8 #Goaj-Zu740 qkbə_ZsHR͈ 5@?iZ]1W=_zCߢ6k^^^^ZXA *GO+`e9x4sE0GAȐGgZdxui#*V6za rӀ|UЫ^$tR͸Kq];M׋׭X`'@22uuLvsz:7]TKxL4<)۰PZ%-< S?j6o6o?¬UEŌF~Jܰ'`kz Y ~k' p];M{ &;D@:wŦF3]cۭ[~_M ^uWvV\mm4_ 9˔b){4#`glÀDNTF ɑO./crЩMG㠑 QL$+WSXU,AR;Mo?yl8^Yh(w 8z6=m6F& ;S&z!{y^ߎъ'5:qlF1SЯE}F, H-1Ku+" I2q|M*nAX΂ثxs '|z Y7RXZ^j\xh(,vvGqE5հk?h?rO0ckG{~k\?lDRtAnDAN*Ol. D;;!UJ(:BJXc& Hn;yN^BtIe:d+ bSINg1Cڧ{/*mxTzB?+6o6o甼sl!,f+m6SlIy1:&@ɽw1 Һ v bUy%HTň 7urx.\.EcowF42qXLr{*yb_wZYu`jh $𙎦Q? &^P:&ܮm{/6wTpP{A'%NinaǸH)〴rzO6n#`vGtpdɱ_jkn PÕ<%G"r?1 *("RS&_AW`]}%ſbW qAH9HzYk@ZLWiCmPF?L⿼6QEa?o\ +y?$yp' %8?h y? F* \ckMcLI$'tăZUy< Kŀ |҉nز,CaڐriZ"c#BV,,B:)N$UI[20[ C0$~umf&Yk "$47>}!+vvvvT87^pп4VAؾȕ<DSc{Rև"ɮF2D YXkO^zU-] RD/"S>Q4ÔvY{>r|^6o6ohF,[B]s)m:;FJx5ٍסMp{Ej%[2 U-A6[z |6k&zq_W| *bf{$!aǛ֏ Ϣrb8~hg<@Y3G7  UE ˼g Pyhu8Uom bZq{P5?4j}+kD.JKnX@7n i*/uU?Lvo@7pK߀D5Ű{ŸM,s0 slt+6o6of)/)Ἑ1Q?Rp1\-iokDǵӄ*q:>`C >Kooʷe 65@>y@~ vy0 # mӊǰSg͕ @hM?mLş*RlV(5"MiOJѣcB)'IAJ1H)ѼJ>往lab؉Zcb-/':ŧx6QϾEe=ߊ=ߞoRC?1ipct̖ `ZQTS򶜐'mI;(dZ6uSJ-iESAm N;PE;d/371ࠉv?w44|{@`\~5?';oAwzP.I{#@jO'ۓIMYSQqm4R)L]>e J%u-*h(UO3ohEhe?A-'+f\OGK"q:ͧCЪ^IpT|ԧ\?kƕ]JiHkԳZy˜D+ weN n'4 Q!9n7W3bs#Jjo 8aڌske =M8sj)6>*evίȘe&U&ET A%i,BΤ`::4t̓Oo9 H]R!ʆ>Q⏨lX TTy޼blgu\SKv'h_$$ XkX\xBA\ O$PIF{8!.lNA =1nzQ.ԉ[T+ UŵStG 1dM`'~M lq6j +blsY+O> hY9@`_*_^*OğpS&hA1Q3u_J $Od#"ML"|!b12h4 Kbx^ߺih)!Jf؜v$.ٞ-f>&9s/m/.A/݆i4g%?ꗘ0}:<֫y1/̓Ř֥W4#˪DGckŪrjrvhC~y J"1c`E` t;9=787z/nnc\Zy*LLb^>a4~aM;̐`+Uh O+x>gQ l)JɄL$rJ*NbQ : X`-7P'44\>q%Sl|@syQ2=W˻ʿjG]SOtWXнh~_ #Up,b5ܼ_v۝pO*} (^3qxMg5;€I=:G,fY(HW.6G‡]8sPI|,0uBi=Rgգ[ O)A*&rŌFCp7Uj #eeӊcp2`$ 3PK X0 / Hy)G j@%q!oBIh#@0(:pX97@h K4røm, R04  dÉE4oX#TLHWT@gX~rRR1 GkH b6N:~G2#M3XnrX-@pkvCwBp`Vx[eMR+llv0DcmVR)r6geOZ1gd%Da1IH$'Tqܰ+P4\Ѕ-j\ 5xîS6&L(uBҏzj_j%W3l<%̨n Ĉ–GO=ٷ4cW̱3٭m3٭Woml'pq6sֶ[;nc@ UPYc31xtvSVD#g!~N H3g'gNP:9s)I:s\?'rvޚ =+[˷& VЭ3gIvp "]%Jya #3Go K%ujWP; t+ *V w' $ASAHAAg [)~W|Mp :˕Uq?Cݶ6T4D9 !X3ǁ'C11lPTZۗ:79IESOnm-&. =:83)~!yUt3\U/DP|@lxBbUi"xo?]DصWPQH]*9;4= rj}_+  ˬZ*:T̬b%9٥w5 n|N>ó#فc\}7>|ܻ|?>'1!= '."JpTkHHv.>F%&g;3k*'}o5Ny" }EQ#~̷CP%ҿʤdLgqEszҪ$e69.__RE#,HտJ`+ļ*RBl;/1"STTgB1{QWwWϢ]_j;{??N{'o.E =p,yDW/4QwMv1KBo^ʤTw!cBxN8s GxD{HDGOtCT'$ wK\oVj?5Z\!m,Y.>q (oRȆ]#;tJ4Q;Cׯ(.L1Mu=`ag,D:">R3uP׏fN0m$؋sFVh#U[` C|{-|S 0)[(hhΈTgHWV2FK#FOdn?i_$“A++l1ꡚ們c|9ck`HUr(hq<<(\ *!Dh_'s+}eNg\:%+!L_P7=y@n 495XSJ'd/h>} &jP{L I0dUBEfBવ*T>%!)U,`p/G<@v4T|T!z *LB->[aAOo{W87:S)9U4EknV'gUSsn|䘖3kX&(T^^[GS(^3oބ1R[T2ҥsz h"q z1W7^4\ Rq(u㤙S:;gdZTJ TҢK)nj!@OtI VleK,oښb*^Cr}aabMYfPi)ڍwt+JWӥ+:Sx'}5\B͟Um%PME=淵ݭ3e$T=R^R]#G7N,b)(:B2A($jIDFb4q"7E9+U\Ju8F+ІBoS`Ԣ;̛-x6w5=!W9[fX @ V[hl TOYߜLY+?5:#dT)(̀B:G+;p&c  \4r͠B LLW-(Nۣ 7!rMe\cuL0U̩NWKUkGS'L6uy sz鷧L>uuzk<~ߎ  :uvX'@ߩ鷡] mÏbS_Fr!] N ,>JMb`PY(ʈ 2>(3@ 4nu6z DqmѶ@]²şT$PkD*.Qzp&v48t}x+ً qAi9 ;4I5.4%Vz*ӯu|8=!  gE u_uH*T{͙9qyG!ZRrokFA;:-՘ D4^&VgIjȢ(wRogAC@WoOk&s⡵~;4jE(zF(`;ߡ⋇˺E'X$ 84!S>V=Y8\ CwlU-6h|Ѱx-ɩVLg{i0Ygw-"um&3|Kc# bDhaάq\L213]2^p䊂ϐ:uc>*pHeB\`rU m.\C42 <9 ޻.AZ…3s)^z5 t*qٿoթjIDoH& 0Gx [p,u LAgXۅh.Jm'n|)v5QLjbr޿PfSxןbNQO 0nt#1׈xX:| & nYYYQ hGӦ|V`gGZ:/5 jMݩ{s>1@/`Xph*މ T#4) mW{~w\zoboG ٌv]^{bi离-Nnfe{Cs}MU9@[{]ۿe/w =>2Aux9>B6vcy=rIؽkUۻ(Yûs8q{Un){kCe!{/4NxGmE]O'olϋ^zzwRhu}閻hrܔw=BOŚM/Vp3Erا7.ni-ecZj14/>wv]Qkw\ήJH#z}-eQKow`GۆOcZڛ+}*DnsBn}pxlR{6 uRV߻RGӍ :yPDlG7o ؃}L犣 ahEoobo',}!}k<ja-8fѷĀQH>O ]ӊ|g98iZk.@yKx1qTTbkjgM\4`޼7vl(@^:72LJ+D9ĆԳill`IRJ B Duj7.<`tE ݌`<A |XAY8))%h=q2=4O/r9D4Hi;"hm 5د| ܲT#j "E,U0sGvh8f.]U@GC5\(ac/RZhDi3+ɬx&c\}GWck-ZqU?O}ɟ_/~ko~~?Ixxy>w?oĜ/}~@~DD")JϏCg1Ix (gWps.|~n&0/@!- m9 ,Ăk}TϯuL Nv Q *s H򗁹k y2A2ǀ5-gY(,>'r.:92,# q!XDq@#o#)c?])1- E9į #QbƲv!{S )VhPY؂_ҺF=58Mpݶ?ct w)߁<%K #Q{DIWTt]({=ˠW`9u :wϯ_q]sg Qx7-܂ W0j/y[i8$Y~aU}P!tU}QjPw D/z^J2u:FrU"A }¡iq?CEeAB5ʢ0/ י 2IQ&uS~ԮOj7^W?`9L4pQ 2)3Q6`,' X _HQk{g󬭤 oVZ<#QG1'gtĆ$GԳJtț•S وELGsr 9c Ѕ^M$_1 $ >~O)yIk1"hrwJH_9.ZEu]qg&EC*j6<"7pFU + pQX1 *TX <ݛy;  Ă5 Xٷ4BQxm$Pp4ceqb3F}}-IXYSM470J 5jdITсl_h 񁦃ax<2`zj~1 kqx-h&\ͼ!"M\Pᇷ6E1[ddh$ ֊R7d1h{#F{>a_85b&3j!rՍY?@¾z}QS?R*M<< ;"Ag䲨/Ju 'ح=^$$<:::#09tiDPO* >z$#*I|N72(M*:e:A!7M1nšZ G^Vcm@޺mYm-m ͈jD _^:#DOίisR16qT:̾]W-Ճ8p\Ȫ<55cow^גr6Zq06j+lIZR|#jMVha x)zQ=f) y+AA#7F=iYO-{^qL`$yi;g&vH 3E("Pxƺp\eV8)'V]n!d06"tP̒XyVuR*k9-T6n7/V*EP6M}Ve S 9F.RXW: **X>r6q5FjE!?zW9ۀ>o[ a}NWhw] Ok))@)ȚṈ3%=뙃3GgN¿حv~k94s͜iuk[;P#3gg 3'X9nY\4,8:~k޼<OˉƜ鱙3 n]C3 WgNGnE*N/ |VD2gq:9s<.` =uEbűUoM`@+(z-:gCb#/4I=A#Xo@@{.O؎C3a{T=b]AX(V{mdO ߺ(I];#FHg`_0qxRY% 0U$h\m}Z00ƝGTs3Br妵P|$G&Ǖ*ogPq23PȞnGh(bbԭ;DK:IzW_}=BW9_-Z4y*:כ TP -+vihi`=lr̗GDR@v1cVQep3Q$]L%f'4U1ŨY*2JUabS#@(y5.t Sz\<SQ 3[)h83,wC Rp-(l$ v-.Oge`ڊvmf 4ǀTU(5w7 .Tvx0YBeYgA(VFA,H䴧x!fȦ&++("$\;#a>ꄛ+ ] 7$rhh:i^ ⿇g׊)}oEiltjIƶcG+7]bDT۪ttDzSCfU,%ptB:֍?.ʠe<-Lj?`q&h"޸+%{x᠗ )b35kā#E- h4KVx !<^LJ0w97 7_:R @Ē܄DCK*i\\4b*UЙciX J+雁vqd^] ?a]oAZr$4r-. V)Ψ: 3ar%㱏s6ޕsY2}v:K)2x6:M",k)G R=79b vPXVP BSY fSKP,z|y ]w&z"{pu轃zPj8CH*uJް%)іRk u/;9xG&8w"o28pRTmQ X{phF t8: }A[ is W`;Lk +&Dؕ5V]Kwڥ##oB5ϔΔQdfFIz52v^ K_1؇wBWIs4 y'KpMA+i~BArGZd((ᢩD5mj{!v F+΁XD=! 7{ KU$-PYeaSϰGCGPr{Xq3__׊"?d%l3FIlI~~㰸go5`(-ÊT$*RTDo:> (D$R:ɛ %R"k!3 t)&@duKBuG~ ӎZdH@oWfd܊(PA$S)Hfl7jGPFg" 323(@Cv(zju3Ma/Pd 1!@K4"E?DdBnxlhxWc/P2ߎܒ mSUd8n%&Z1Q54<_f}_=_~| ~|/ߊK7y#_'o;_!qC2uLHX]W/B)D@uϗ`}~y0Fo<ѽ_ #Q&|Za塸3~C)śǐȗ!C5A3Р>fKD^Z1OTM( 쉋<5v=PAHHZ!Ruc(XDy|Ngf=ZC[7-N[DƠJQ[@}(1pcU ich7\΂FwQ;ף*🊫Z~ lIʊ3p]כ: 6fYE|N)`4K,5*?w?dow{n﻾] o&wzǡ.c5s2]_Ɍ^ D^2@^ |v{;f`=gw;%2=&NUŜ%AG@1烴<;<>&aan5yiwPƉSTn&Qq`@߁t+""0 h, EpD AyBp_1%;m\w݋,־?@Lhf{l}_]|ԜY&-'܏n x#"ɞde5쾤E{Xպ6=%AMiT? Eo>$uy*E(שe#tȠj} 9/HtYu{G>% D1ӄɢ.`"Cn:!>gW >هSi!ق_u9ai0ԺNqgkhoWy^Hvw}uj2p29шg>oD-E({ǽhҳ.ׄ͗FE8)/QܕIQ<ȏ~ i  T~暠caېv}C=e('>wP~=`|h <IuarћC ?"& V%Pc'"&Lx%*Vhyƶk}Tt\ 32372%%].]**pnS:$5z6+3G7?.W?sO___ovV\?MC[kY0F8[7=MoNflw(wWVIMmd9#a7FLWh7,͹yM~|k?+c)@X7LA=A%e޼F^NQ:q\ QTPؼ1+|Q!6S I!8o RXGr 4d\=.`#Z6V-k 3w#Zq@k˿ʢ@/R3y#kryű::t wvL_gJ9M/*ĩ'+~dhLe,.̜=ܢDddH@SFoFb#Mte9g 魶r6eP#'Bp>=v~\Y>~M6Rը-V: o?Ґ"n:zQ#^FHNgKu .+-Y:C6"e f\SN`tE|LLVz4"WaC?Ԋ@Pa"hb"xH,~C3YkоÃЮF4Sqj| +S:jF4gz=RD=.Yxwg JZEvnYB9F`4l=ثAW|*fUR4ٳ6̢҄j[]Js_|ʾ/&l1'8ŵ/Ņ'_3ŧ8=8Y{C%=G&&?drÓRnFB'feׁYj!CCpO:\Lf{ lj_|+T^g_0Ƥ/4Fes !:#]c|Ju|oXTMP?Nc* `P']l_Dj e=z6BBOT2b'4)zDU!TJ։bQՊJ$&"BMj2?ŷ1A.l ׀$":Y\xz|:{JvLLD',级T ?h;9Y3}5чʵ&9_`^ˈG_ xDYZ#i15`*!"OEqG ʟ-܍߿ /h$ϺLlcGw5Ü]=ۊSέ{9 XTT`K+/~FtTSMNb{(l f[ ɉͭ'x[d]dRSJ3Dzڐ "vjqfYN=8\Y q B :_maPKC, },cvT2e'ujq{E[Bu,eW",Mhܸܗ2_u+LԄ}P?v*!2fe5(@\^)Ed oi Oy<>5/*b;&9/SP]9k+ $Uf1t~_BmiUl0@-SLp咄T |D 6XG-|򾗍ʃ<@l4^IacUk, g`I EM aT4 CHV V: aP? Ĩ`B$qFRuquMlb2Z~pjpTn41 0EʛȧZj$[MP7q M2x Ks"GfUL4*(X Hb%&r+a(|_H&bajE [ Z~Q<ac7Jx'3c*EXSzͪt Z; HD!|ՈS>kHܵFM2EZR jӊl"{d,u\Ob4ߨ0Y0,s+r.z\ږ_Ve }3[5G f;.29ԩ×(Z(wwgU-4'D\oH!eH{m֫P##;uϝ-w Jr{(G9q}2A>oPHOB y{]D_RtT{#Zx мw.`mϷW?p7 OP{QڻdX6ͻo-ı/o{b)iר7[PǛ&{݌+3wCzG4<hp)u»'Dq9tg˖aq{B!^.R>Ķko^Vħ쇷ˋ}wj_n@E}%n w_w?>ٌtwޞw6 c|wg"kpH,ֻ^w~p(hq~bec_8f 6ͭլPS㜁c֬_ul =Sfo#l7[?fl}c1<~㛭{'z7[fݿe䛭~=}Oh@7$7K0Jw{]\5no {~} -z"J|WcFD}M`,nEMp?Ɉ*C??¿q>7eI}*EcR| F\'>#U[#ޥTR:D>Gh\9J%9F>*s@%ޠ~v=T b *3xJ:~,D{$ 5,!Z~H$sͨ>wƇDjѿő=n].&!+~\9RH)a))U /K3 # ԐhGȷ<r5vB"lE|"Hg+:ܑx|#?{++р{jkr%+*)y7DD6VG;@G\S~J׏?2+sŝs%ڇnb/&ݚ3_ C lWV\[?h ^س辽0|{>f?|?z/k\?޽ ?7|˩f?~x?_Nmþǃ=EE~m_PT<rW"_}/ofھxs;qص`k+i3. njݸd] ??˻@{~,N?n?Y:9ej Pmg߽o)i<։?|k7dђq̏{@5ʮxVWf- X_lJlbQ׏S'H:`G\[u$2uj[M_No&ܶǏv '@akhP{ij={-*c4ةs[FpY0civsH֎|u=_m1{f9s3'gqHv=ֵ33G3sp6s3'̑ !ƊC u "[.(J9 Ej$>) &N4uzl3*9|| ;vk̡[;:KbgN@n*iA!mC\GNO:Ŗزl3,@aAP&51s}P\xhOW{r4碚URqQ[&CADv 5:# w3akfN&A</N eŊL`gP3g7kB7zw9žz*,Eu[BVޅR!Kɂ }kNqadRCTzBX[׻f U, 88y^'hMv\&6k]-.B=Id2LTNlxݯH4T'&0eɮ^ZP_#LHg6bB-mx1~_+" Qnm?ڐ\i}dW9_VG\@zb+N^[.\f795a}y y^)"ԙviJ7t:i[{.| 6l߮3떑r `aa츇QԛYَ"۹9yuUu\k}!ٍ'Uae pRF0-ˊhDKYU ayb^7L-.@^mȥ`yGԒ=Q 2jT4 V@z;)59G1T1x'OYZ)׊i0P}KywsR9KBnG nWsWPr*41* KM>j) ٛM9dDt͋;]iAWx/__]h1H9./.,qh0)^1>zA}ϻDq0xzWS,0c9L1%P #͗y:4GpbTo)n,B9`ꛂ7>nh6q"+^^R@NgHG5BWѪ7` ' ¬PugbaIJlI椢~0\jA@Z~2g>Wc/~?mׂ'X~O #ZthFygYJIcQ!d\a5UGX?^Ŝ˫@5e*(꿞 y6kPV3@+bD e0$a] &DwH jl+NB%t2[ d!+Z]M&h ,gm0W1@~U@"Ri諦+*@¢x\ȒBemYqx_LIjmd66t##)`+7eG`8.E** 2Jk^lc>U5uBa[Ls[**uIPIm*Ƽ$*}(Q l `Fm ŤhTIq?!cZ ؆eWO*V^b7.O:1uBZSI46uMg'߫SScBTNo:No~}"^U:!^jL] ރ\W(3ӯMfӯOo: nU *.G9AZ"Tԉ($@2mMo^@UB`$ zH^e Uuz7yrz+4uFGٜP魐Ti9҅X+٘nj?L#ZŸ+צ.{v&* |@ oFߛb>@v8\^ !{1RU ^ Y;,^ PWJTs@ԻSH 4d]lv7[1WP% Elڜv"m3!/S'ҮFSAڧw}441~U)& :d!Mجh AEOH%BRj[u;d[qU[}:eLSsJNTDKM7B5쐓4n4@L/ $CNE g\qg}Uo3uX'x6*tAKs=JS餕XcҊY;RjH9Hdx'i3p=\tt*$lEotˎ%&VuK { ¢(>#H$"sd&ZLe.m5qf ϶c:d)M =x+ɨZv5 @47P!m `[)ȍ_YF&*_6(G"9^w q+6ijOwE$5y<ê$pFt%k hZ xTv[?A=L?тV\c'3 `~/E?;伄+6ҵ~uMDN-#Ri%m#3KRRo-qAa 4Ld.>3 @|0,n Qb/>58X@6/S9 ɫQ n\ (2e:TMav2_E65KsxbBV(:Yj637QEc">G凬 {/SL[t!]I l핬+t,nTvPjDS4~ #BuM/Tpˡ ۗH@;iu,jklRnTS F2Q+u>,mXF0P~Fh7gco>'EQ&nX% Y!' dqǺhhp<9ӥ0ʚ=OsF^z√g<ۻf T{_ Jϴ- 8&`7Eo!0O U𻖠 .5Aw T ŒJ MgWd5eU<ǜ} !+ b1Քbu *d`az ,Z+7P7I;9c9[}q"@,+@jy_w B$$9ޣ6%6'Zjl#Yz<:ݲUUֳNȉ~0XfLDT3,fyhMvI"]`D;a#gIY-O[rb-Z(Kf-/Ni)Wkps^M-Rol_/Wk㒖F8SUlttdb?5COBk5f.@?}ޅm߂/3?'BAq⺩"~V1a`eKx)ns4 \)7w%g8Ib:jN1KYᓥo+ b />Ga 7%FGF*A\>5ܝCz9rZ;6 \/rbs!#.iUW =yXtnOܜyb@IWeYOus0qzM\4PKv;roWq]6T́Zkb;9hW}||A}Mqjoc^0Id!ݘN5o,'%8Q^Gb\jJ/wt3X/&TEzVBjԙ"6:?+= HE@wl.q;~j7JnKG)U a?C$Ru:$_ Aٯ?ydnR]!'-V@Nc9p3<ڭ^V+L!vv1#ϔb&9Zcw:;釀8pE"Qg7D;iM$uZ|?>N;x̣DmjJףpxC B+ Xگ)'d[⥥It?O72%jϓR(ز c2+2hb?zZZl_Yb=SNN]C_:˦R oOS2uM 7gmrcht]~02>pr@z˿A9Pm#_:i>/ %xO 2 #m+.6u³ j2сKSQ B@r\ƒ hѻ|BSR2oTxa_ۤ$&Epse"w=()'BA#ûE K"\BY4p Z㐑&йW_C#GRWN_tM}}`l*M}.Lk:S]Vyj >>rdpb_%gD:Q>J@ҿ[̭@Pt3d4.ǓDp[)9`[ʔuMWY $-睈@F5<妃(mw\.R]/ǡH)VؾL N, jiHwp)k|tR>w cϽuܹ>}=?~7{o2e WP2) Ĝ-&?~F%s* "{Y,[w1J$"h̎  Y>/ ɣܥYdqW[6!'6"jZO'>~:sk&( /A[B*Td3ʇv%{"Ъ< ضuԶY /.ij+v. d{1'By[ݣn/x.ǽ="~o\mݎ%evA6^ +[ DhɂT'ҩ3:mFm*5ȋJ3CBÄw>* 7aRK&-RoX;@[Đ 6]s s5d[z @9*nmN\>7PhSX@ܙE4@m9t> iRY9 F=ț ;AzZF=hԼ}U%H_^ 7Y<\rη:+&Wr]wQx]Y9 iى7!<TMDP G%qPSˢCQG(9z!.goij[(˵S'%A!#ӣv\ هy낅a\fl+j2hlHճ~#bכ̖%$X>s?&ɐN s1[)&1#j4Tז$uA?p5jސ? W5zK_kȂ[]qTTbi4 pA_*ʍ mgRfuogH_xB#y0lFx-t9YqƵPnV5P4I&@!65EywK5#<"=*;_# y Kg@XT5%g˒ % #Ԋ%o\ >ՊM]0YIk@1oUx}7~txG i*fܝhLRsFԅ[d-eF$nrSo89'ԣGbuDh3 ]Cb ^*FɪrMyļL#e ZC)r"$U˷ -hj!MÿՏvvV\Soȕb# \a;Nbl29`,MFkܜ?` xfŒ\NHv,SiN%zK߻bޜ̸@jz7Tڙ΋]Tb%6\Ƶf6Έ2&hnN/֬$6)76= iGT]w 페 xg:-4J;(-&KzFs5wm:A }fdWQ; vxɂΈ.Ǘ^;E]q#uv@nFpTqq68<~ڶHV6dz!1Q-`ZKtn3' (겻/}ƶ)\ (C]E'ڴy $nklD).dЊ.I,Ž25S]L3xT-0r]v[c6LEA4Cj{1{m=+Ojӛt߻/Y-?O$ ܉Q^;Pѥ'@),|]PN I)t$.P31q2o^SF1ڻC*xqEo(A"b!LH;P̛8aRZF|TPXWOQV:6@O,?0>)q^E;Ԍ'-M2t /Y"j5T|_m7zG [bjP]ak~PUBhQ)9K(\Qs XY<]iܯ;چ8e/@/vPGpi;6vDO8~8Tn:PѿI_a YݞmUx Q] sFUKMd.'^Bo`= 1kVuY931ſTFW@XLqArŀdk30REFA>fwՈX, l\яF_4Yi ce C&nW5[\>ER]+KpR (4z[rbki8}ԉߢaVJF8LqXbC#rCm+i'ݻk%,t.+x\XJ귇[-Q{75#3"T9u3 SG4\ 0äOx`v'niq6~4^XڗN3>J2 F71g?}*C`I5#@e AR`tΞs(l 1 j{*UO,Cg_kFmse,`8׃|_OŔ"P)i%sEZ22;:<2pETKF%)3B7L8YKʨHf99rt#hI`DhC]IؓdԜI{aSbAwF.:.=U]%V~ m=}ZAId:dT "C|mV7ipV[#\=a$.DϿ3ISQ.:uFnP<ٔN&N-3t` &kw5 .?ZpU?̶xo@+TuVz{kI-}Xe\TG|E&ӥ+:T͏Y7N.fmtsR7cEoýnVYJWFƸup)3CaxgYB5YFu,<բave⚝* CXN?̲tE\gѾ>Π7?q%n:ϰ~xJɪMs;xQwÍVkpV,]Zt41 $%P8kv=/@sIt)U?͜`M @ =7?뗩> FW)a\h_ڡhز64' Br !@Hũ؟쉆Xg qM5bnz;#͏6I(mֳ̂X0U-vŮkZGXf@Vt$7Z*n&nw,R E/~)l](ξ9<Йq ` R }IoT=4 B]S'r8ueE[6ê݂r_hQ-RLWwḽD35QC ME1GYlhPtԶ ;%7N!jsf} V\ߦ-:s~jmtR"[R4ҼiurwD}XȖja$xkY-IEAW>/3<#v9\/{:zlߞ~'IoщBh[nקߞ:oVCB8#ȻBYߦ.;8-bIvbSl7NKcZ"s88$2m.f}zV j{83צatm"BV\-u! :UUűjĿ xyZ`osxa^TgwIq`ߚ h4i6x#*Dh[;៯aVIx~89U9gDŅZsm CJ -4NݚF9seQ]hOH`>ʪS.%6sֶXTZ]d~|d]2 ?ݺ68S<,)CZ-]j?v׻ة3_fʴ-ë3sY c`Uy$ m9Ĥg,Lu}B!h+E2u8N;gWjh3Z2@ v_Ha05Qe7 ٱw yovGuTnJRt]Oóo.>8_u+:\Ζ巕괧|sUΌ=)ٙo.oe/&t{2s&?dg3o,W,$<>H)cX ?h eEq7\$\ڟg:9~#K֓^ibOXtZq"x˯G}IL W*w*YlӁ T_U9/cHPv}s#txAƼ\>"WDn,lJ˴%S8' ۙ ؎7Ҥ*S_Kv@۶YLRm(H1? ,Nq7>Tq$6u66^\zP՗ujYA<.lv5V ˂D@`9X ݰZ=3*Q\:x%h`mod=-(yo^{x n~[o/]|GЭ3PIfD5!N\ӏ&7= tW.{b!ѻ޻v{4.&; r4Fp {{WE75~h/$X//TrtD]j{oq ;cM{[HH{e>CH{Wv;Gk>֫^y+8s{wCY^cw~9ßޅ,?w{ W!~l Eo/ެW~yDLbc&'^T;t31ܗ)j$4v~qGİAh&Gyω{>9>.r ½{{4(񕷿x"hDcc!{ѣwW.'}Ẕ렒XckV^+kSB%zs6O|b+tZpA[gdo9ݱ{ )hp ]@}`ۻ&ד+<p5l0A1"W'JP;.CDcW}wpsw?rQ߶=];x{c=B+%~X^ 401wW?& 'aI!tsۺ}߆_R-39o>SZ+gAJ߷%W9~'!;\+ir=%P>D,)%a< kAel;o-7/'|WJ eƳI0yȻKO{*fұ2Cm(t`QOfLc^0eK<^jwB3ԞSs9%rʪlΨU@CD5W* &/YsKx\\\X .p$(qwc%e&k jgcV60մ#w5R/‹z{zz{*dRBVO麟*%$H:66֕֝.<֚ghNk dƞ]MunB68 H erpa2Z68 bicpLFN|Ѡ"/Z~_Kbƍ~4;6x3!Ȏ)&]d[;q*H߿lCd+Wd+odlCơ76lڸa@p2i! 8w\cTd!a| P\Sj叿a ag@EY4{0 =Gdt'KV.2rV1(<ߟ֡@DŽE*Lu=@Ks/+¢g)KwdH\(}~ BSjt1FL6~ZYmԃ3b mX e 鎦ͥB6x?KD'B6_ihUE]2s>e Y2x2j6ZCR^WqX&cGV T_Mb5ײ(ؑh[)Jh`:,l̑SJ>`rrN}V_""-p!`isy*Bh%W=Mp|&S&E fIaŞ#Ofx|a/3 끝ɜk]Ihf/䪢:}2f0UI=u37Й4% rZuE6 Ӊ'Z N)ؑ:RwaQ>It&^f/.{Aut>ZkiUI0f!iq=ULoo\AaթaY[Jb `2GGU@t{$%^W }YXc`1mg!:,Cr,J5CSέzz&U֋aRP`@[lo"LG⤐7Sf=-Ol~Wxu7rZ3ڲUw5u]0pin@>@Sm S尋W ߴfhxp`o]9^ P:r\ڕp!<{$ۛ,r<(~&و 3T)O~e^p׊շ$q&MA#øȂøgucѾZ\Q3a{WF' ܾTGF*٢2FҺJHZWI]aMGAW#FyשIAhUR fZ)bxFʮ?00vT_՝zc&R#zxZkG#sf#]]=^[D5u.&2^tB\5I0 L<~M-Tj|ȈLŽRISpkq>s}`[r-F / dspjiTjW`xom 'E/JXB9nHVJLRw ۴q;|1u?.؄jv*'?X0YpZHq>?DDbxs'C\(84P18\>A@rB/ lDLz{lAn.$7,"fUNr B}X󗤱hi3Z["@"Sa)[\ @ho( I֝_|W} +.X݊++|n+e=%Bﹴ3e_{B۶:RdD w*%XQ4"'S $KͺjIUђŤ$86nhx?ӏUCk f-'-Il3gA@z_SlǫgQ߳p߂롯j60hh`<,M5\Lg_o#f,ןNA7ݟ(I}P#u?];@ An" .>&gj| ژg`$^S^ >P/6ADBrVF HAֈJpvSB<;+jLկK rB%P *1b*gy+@StL&\yb܇BTyHʬSy;੣hZߦcD3+8(eKP1P>UPPiUfX=;Bfu,Þdt%Oۅg=0 fz2HgxS55- !6`?f-f3;@M{߲ OhGxETg_v`]d x 4{u꟨;?1.PMkxثלϧrd ` c0-ZB~.NQ*T@̤ZW2U1(S7sgj (8Gphih+˜1oXoۃʒ9P˿nuQ=*̦O诇!ab;i-Ni zdk*̛DTCL)@=Y@R^5յrx@Bv>9Q4~h2 2BBJYWd(O3c_, gV "߬jmhOľ"NՋ[93oO ?֞i"("27s)>9 M4AjC˂HgLTC&ᚷZ ͕\O.lS, ؒonYddݨT%? anCy&5,X`QێЊ~K+34d7h768804?|jXTOZ='<Ճ U=I7 |#OdpA/7 oXӿ~&Kz9`L;Gnq=u(/vk7Z;ܿfh`/ `ޜj^1yF3+G#t֮rK@z*jrNF\ :Lb`9ʟ|&ysDž͑;iv0 ``}p=E` ^3}.5vKD^Ui'1k3wQW⌂ (,C~=*KZCŵŋ+-i8kW.r!H !%P+Ώ ZІ^EtGp|UgŭˀH9`,"ɓ8lʍeKycsn!%([jTX@ړ}*t։QEq5^6ݵ-:q m0m) q{yHİ`x5;\jDhOWhx`]498;T Α *72~}ofc8LrVfX:l=Jx9:# 5$y>ce@F݉hfH pc0ieRR5w Pt %P5$39Ƕـ2L+qy&J%ARu0,nBrrˁ+~RYkX }=VhkkqR,OJ~z?t0Mr6X Y||䇅, Nmdt ]5/V.FH졝bY9Rj F4J;3},o됥T)]R!F 6k%!Y+@Z]aʚD$<@^*-n0@BaƠkݐFS`+ͬC2b{}D鴺-@ )r͙ [lp &dwZ#,Lr;iϑg}Bn-.Rb.3ܤe q'{{q(Wh/Z1 5f`ݳC"pCC0\`uI@Ki7$TO;ȩ_ȈjCBTT_3X];ϱyy^0lE cxfHfV[kgc$`9TY^isdVd HuL Zǩ)4WAv`,'LJ8!]'FWoaIEC ejϕ:WpG3Zn!+ت5+^" ؟NUl\6 C!I;(4/ llwx]ȘƎ#L~ءs_ d\Z5MEw)#s?g)m7P4)Ӵ:J!rT3<[^9);X¡ipYKR!gf%֩ &. Ҿ] SjJ(2HTq~H%N"װ ^QC1gfǑ `o0[q!n]*2aZZ*YFY8@44ckjNMhU) Y;R)udSzq4RH]!+4TKjb+ŘӅlJw {<{gͭדfQFt-yqE W]'=mY|WV XДBSPmn7ETj|͍} -L ;HU`IsF݄bxXA{ {oTwɹ_ -QQ[ISM֤Q C(ٖ XoF7y6/ȖZcȒFd% "[Rd7&-kby$.hMRV23$6P*T}'Nsc 9&TSr\RWҁ/smXX!-cb) %$EGƴG%Zu\Э-z7VC3t U87 pLWoxe7r\/Os}pL}^iNSqpz\T\*J$#td˜++d)И2-4 C bBFFжTRnCa'OMr r.ZꭻgVS#tl_5^=_vW$˵]A8XNd"6 fv,n|vi [˓w,BjP0^"pg}f:A r꾻vQ`LA+`#toAiY*~0$SP]_Y5d4lXU"zsm!#:@vp ıZJ9,?flPݬ z7r5j:#4,hRŅ.ՎwAJ|O*G*\^:iVD9ҋߣ <3W^wv_n :NH/=Q9ύۻ_*{K1T[A}ӄn`°VdUñ7Jp>Ƌj6ei#C&k8M\|DԶ{UՆ)(àd3\u{8&(a)[GNm#miO V4cp/^l{x[lkwg{!&y˳BG&(8WPY54KJvűAz Ҡփ1C %QԷS..vUݖЗ)f -cvw'x.ӷ>ϵvf8c=Z㘠a-¼i/rU/,[+M% $MM}|6~֮ Nm P|MLDy T9瞢KHXxDPi{vr<,/ܥlKZ"jEH"\E&*K K96 +۷,ۂZbn2T[Z;;XnlңO ƌ%FN#$ fg @ ttS [lJtNqA0byx}w͒Q[T/}S8N)9 HR.F.8AxOdR*:r윳gRqD]WE;cvڐD ×7HU)th 3ݨv0< .p? %%@2IƏl F$@v , 0a"sɌlnPʠ6d=iN#ر3!Iq8Mcš y66" h4z$>h4W t$9MHKd$\F&VJڤU#mZR1gS:l!$s6K.+]l􊞣4xp6/Cʛ m\?&7wv!p{|#aS;}ShNĺ18r@ۋAA]Ee]ēzt9595]ޜNȄm:7Rf;[i ]0Tn%HIwѵ= ";؄ g<4tnK/i" si9mN+{ F2ּDo=x)\]lדHNz٢5-^1wH̻f]!VQ42FQi|ks2[޻" Sv-r4r9 \&j3a֒I Q݌3vG~#} G<&רS)eW9o+/x`22!xK/xkbz ^UʙY;2r&\zCoesK}w'M~ߣt RBF:T 0\ Ba= bEK^}Qrb6a !\b[J6;rVX5@E`o` 5y 4Eo`ϹsdEWrYh*gmDJQ@AHR UH^9Zҹ%oHHQ#=ų5dނ~\΀Oݝvẅ́+˘`mX~I zSp42TWT'Y5/bHVUkyngԘCMqfRW0=uQ) Fm_+9VtlI 8K*XARf۹}}+B_ƮoŅ:K:l׻٭5x6_h4n3m4zu|m'yh@G:qlSD;s/LFګf^OR^L=пn..1pߦTxHfKe^nd`h:EM0}6BtVףCozfւ {|Ϝc[dWc65b;Q"./`T$H̟p,RlR\VA:b#i8^Ф^AMd /ai@iIik[ 𵧇j՘+]LH1$?/ 80G6䄳xkbp> ط9f7 QjN] }ўot&[O2@Z䬻9Lc"Jk.70h`|t.RAxTh* ߋvY 6!K[m:d}lNJH?:`T vxA:ʙU/HkIVKsb]NG qI,0ޝƘ"[*󠹺\q)z#ZU; gdQgj㶛 xZS1,-,v^c7nƯ .C(7QN`ѿeXd`p߷o\Hg(uDz/n5,{771%~+pE: Y #W-![*Wo' Bޣ` p2HD=ŧ/p&i !H'x8roQr1@ՒtAɖ7d$93d0BWSt4#St ؿn$ź?10Z^1<١ uؓltyb Iˮv<|3&N4TQ3~+#q.+|jeHzẃGS'c4 d|6<+o ߠh^EX&笁v>?5wWYV8F+7¿\yqO>>R k;} U17 B˦UU$"ǤчYV*5+*|BHsLϣ$(%5nߪەĽD:J>xAG]mpy]ƍ K4t"W`SŃ9a`.EqE} au!ZI.e>9+ w-3^oOI}c] 0t|N&QB]?+]*d3cDtWcMGrY<+&.0Hw @ӈ;q(9QVg4.xqZiJ>UQ-ܓJ%#΋wȫKDvF+$BqQsffaRɸ5N/VR6ˍx#8t2YrA'.v'[Uxi @q -ܲvM/|`<3 Uk"Njkl>@Q6@@K q;47Q ,UXT|g$Gbat'Q<'#GXaLJ:z'rf8]f 7_LZrvP_1^F;qY!}^c_ʛgiؽ(۵`68 6"o}8nQ~k6R;]@]7eb$LcUk`[ZC5 nb|ԅ2VwA8UG؄]% ܁jQA=T{|x;!/v"AgzPkӱe:x:no&zgٗS6&A.{[U _>%‡ERxѹIt \#=:FH/kz EO^P uOeB[dDUagXe %{͘J!FŸGguLAw٦F(=ڂP?rD˅cPDZьOsy}0/J >h'TaeYڋ)b^5Um0uoW2)gtHC( l []4s 0 tÛCi^7]|r՞4)0=dla :4O rmDoYP[VUlkIZ s]ħH(y5!9wai+/+ٳ],jme-%sby%68a]ıAkl+x $tĉ FO;/7c:jnt |с; Z]9*o,l:Ѕ3vx@.2C]ҁ,>mI\v*ƦO{5)X4HqUt5i*+C/yFlb=Bi5}We,>U-}xG(0Jk_֛Pk5 pőVB>OIF7ƨob IFD&pqQvΐNE#RZ֓Wmd c;Ca͛cȓD˸a°` s5kƒ=5qG>᳔/X/V. Kw>Pk6KP'n$T K1C-:~629nqm}#`hxF3jysӯn2JxZlukk ίG?}*{bT,d0U#7E:lFɪ%lNz$}nqŋӖ 8[Q2EAP4UO@d,Ά|$@C!?)k =]r/ )C>AI Ț ߱c”w3ֳ#a1c^6)Ϙyl$|ڕo;%}Qwj)^Y/&0ӦL)8}ⱷ6R(œ"7J)#@E/[[kdAĉ9Ja*,l0t@?e,tpFa0uA.uG8coW\9#; VqbIu6Ta&:u]5{i3O[T‹1 !_㳬u(b"YfjALhfB(&dI6G%tY̎ ݄3y) 䆎H.pVG"QbE{Ey嫒0|y_}-*צ9j^> .Ug$ǨxWj^c315lrwhT GGQRuÁXOrڧ)P=B17`&]yCI%WV-4L<WXۜJ藽NaSixVgHx\,iQzwV@T`2rrAd;?"GW3 7)޵MK B΂. XECl)Ȩ@V8!ۮpV^=nj(f@ |`dϢOSU\f2P[ \7L(RYv*S8x sAc47^V81},%f<1`jo<~4F;[R|[brLL(7X7m(:dƄ@*HYm47|P ha&3#3NЉzam4(z4KBv]Y4!+䨧5w$ӒWpX!cR:H/S@Pş@1ԋhCZ&#8KdxWb.R8FWemC6 ,(&j#LwoBy~!G^ϳlnO+Zt2!(|9Ⲙ2]{ 0p~S9Sq' nOiIͨ5+K2qB3g9}1es塪Q~syuZ"?nU__bߋۀ)O_m˘ ҟv[:>]-=_NNN=xSjV}\E@j]lJ5o'Vÿv$8_үw ֪֞'ZI#; mIN<|q߯?Ok~>vͷXݓVͧjݏK[@/JFV[8iOQWk?$֎ƿW7Npn_bd;AR_]{qDW|ZO6?R[;㍓av^J !޸Q܀Mb5 6V4~\NQBT+F5NN˭8{swS0e>;@/ :VSXw`7&]]PʷQSP2Ulpok?0ao]y'?E`m~_ ڋn4gUeQܺBqUX;A4,}yl>=22Nbrzt9>QB>t-1) ]$yP$E za9)3{49B va(@z-GǍ,c$zsVc'4[JD>2cVn]2aZ9y>о'+A.UqO=ϫONF|Px@|z]{sNFbokMцo|*]b=lb C`lnHQ5{G" `}HDGL 4'$P 못|qs/"V"ǴM)F֪+潲Cd:U/ 6hCJv3q!._\8}W_p~s'C֊ gnAÝ;8%ﻼz(Sp4q͇5zy3<| NQh{y=|}z;Goy\oU|q;w.qN| Œ\[YY/h= {I: wPn0e%Bԉ[WȺkO}>" hG}v]sn+}g`9,X3c~W2$ t'!?KsK_J`ɗ@d:Xf+A`b J"f6<9BdԅD$.Rq $@G*k*7ЧCԙfTS@s[CE)JW~BQKpa2هHלj ~Ao2Nc1RPPT.9y-KzcXuaB!ɘvAm'Ma< [e#'(R`J6c]_l5H1@ˌY!hFE-G7q*;%PXV<%F-vf;+PdEػƔiCbYgp,Z* ]H"4ҭpq7MoU|.JxH+=Gm כUEpZy4tnBt?tbVV+w֫w;Q〫-MKMVzaMpogGcJK8^lQ?GI QP8f"qǤ=r!aǭcԏ?ϩ~1M֤*N g!l;hu1[e:>ўuL8DE nbim3"gyc`=.^LbZaS"|W6GzWw;;N{Oۥ6pa0(Y܁ȳBq;+r!{ ca,b gP:O6٦aIU#W "JL(=c>]ExBJ)U s?R!cxW c2q@ڈ,ŗi&9Hi­p̳IXɞe_쥑?p&0]{%qD2B0WrXvWT#1)2n#.ךF˶:42nA~ow:c-)ug`;a"`eh>Ǩ8W,d@MGnnC{4BZsר*旵ٍHRA\7H5GEd3j7ggEl[8ff}7y@l: =+Tzl^E]qk4¥4hrR{X"},wD^<;`I?' s[F!9cfk˼ʺw0gRH`SBEYZ< f\ws9 A*a*2nwh'K$23 .4Elu ˗vo2%e8uCq'|_q6ndԭ=.C~ Oo.?ӋˢlYH?$كRP=&oU%^/*&]‹ܣyR񳌔{ŗK&o<T|Km0^e)*9ߵ>l);?:ëZMݔyЕΫ?h`d&X4I*\s'Ea6~&uL<0ܜ{}%*~ELB)fR/3uϷ3{Rtlՙ^O"5J*1 !7e5]ΒeΥ[q )xI7rġ(y 5TOxųѠܢg+6Xk8k"[aɼm0:H$7 ?ibQ$,T+o-?M@<l@Yf>- ؂BKS~]6x ¥M|56ݠgjy9*սX6ǀˡQȵ% VW?=={v>pu2_k\q'ky ػޖ\P2P.>}0BmeÅ+V4VWV8P_8XJ EY/dleƭ^,qvt GyT(ʪ173&x8[V|iLUIrj a$<"8<TF@bg|\+\) 8O(Uhc1/Bg4ZkkFw č<RfHdo{I.wK7+g!pVlZJ6Uwg3_6lIX28P?-4َDr@j\2-$ܚbR~A|NAe F8vo0>D$쩙6W5&z˟_ 0:1V,sFo3=),wV## Fdx8> dt!LbyZt v;5-wUGrt[ՎUi=о% R\Wlsa9(}3;]P(!m#XdR1xTp*OV{mΖq.U9=4sX;{]=}kÔmYɳJ7Pad>o̵aC`j TPE|}6M24-L1/wXM:]7q4ŸQͽKS'~vviqů]*@Mp!<|6'UiFjnz2 WBDϲt m6`sWx%$i)tAA(t|kD!R {-]|\-7z"o Osҿlށ+ {J)|%nۆY 㦋ž=9Q]#NJo9`^&*Rm/XgZc9"XM[))ںHA$[ ŒHDpxI}32LLSn@W Yz=&š/[>C fkRZ{G6/H Q h]u"c^!9FV14ڲt Te)/Kϭ;soT%fʹZj@;5unj7?oQ)O">܀iR^Eї OpѫÏ\A6yBq) 6`ԋD#Cf.>ո3`8U:i3,'6A?>?vAP.7x%(`s,AB7lAz`:m/B n"sԟG>Q(5Cy%*^rOcrtߥ?u rrLR%ikNο[D2!@VA\D!R-0P:@j鬸k܀0b5V&4C_+ t[ok*~H+]Lj̀PgnuhfZOd(POžoyj,L)ZnTespYͩ/tTSQxBz׏WNU,k/"mޒ|,ǕI I ۭPz\aVP=Q8#jJ6l.2Z2>su0T Y-yj'29,2Y7gȵpMP@ HkZBy~ѷڟZg𫔾*yh<ӣ 34*)-.V^k2]CY^'8!?}B6f&VVqrw7zkKwRG+F5'q:i՞Vw֪V{`D1\_ϥtn4^ `^@0j BŎ9P>hT*F,A%,р!/rK^?3H4*at)$wpE~DJvv]T:g+l>EWcvMCVߘ@ A$Џ܅;.ɪN2ȍYKM[eF g,iq 2yDe2/{iv:GGUz"m=s>*ihoZ1H֦qh#MhVq0ڙC;SlNU_ n*D}u1 qgW1\9X?$$<U"=xq{v+foC e yP6j]F$k2 aV{lb|FbVK;s-i.YhљQA!v5e8z=oÙ κ"VβzTVgy<)f&PO+oW\1[T'AESUE3v^s%|T%xaS z&`4,#Uzxޕ7*gRM)Tz懽bJ?' {TⓌL*q&X=\ɠ$ki2_ ;c3'mOc:@4q:M *85pB.ʃ#M>wx->~'ΐ؈(P\H6^[H^}ujV!.iY%<纠e/\%eX/ʧ8%7cEo$tܫB%!m#kK #,l@m#CVfeOϒpqv+byKS{ޖXׅ',~;V4*Wއc ŸFHtL)`Ro=KJe[2"e3 D:GV8Mdr@k'$cl>V\F~ Di2ww]^_:tڇm/Xq2*SyrA1k֪Ff.k}G|*'ڧ~z˓.yS)~+5%@ dLk8=T K:G. vdUJ)PI %&>/x &dԀlPOA+\"(;~ONv;ƗYs`nEۢMHy}vjG(ƒ25q%joӱIr܏-_Xj4l |79^g ]l0Ք?jD 6Z G o['E@L۝&I|dr_;2w][PfM2 %Ɛ} ,J}}`Y$` :8>)jyA_w4fge W{Z<E3Ckx2BwmoXÁ4RkҋYIarNO*UFޭTNNO;ztlڼ[dT Ȍ"bBNiv. uU?6EjmdmbRdV (\q҆L>|U @Dnplĝ#HX[HN!bE_g_OiWSq bנ#J]PU.=WTh|ސQ,S0Iv }ٱl$TYkHu]QhjD(i6 X\a35I CFJ*]:wސZ#b(2lr cRQyb}E1'FY Ǖ_臈ܐ#N#chqv z=NKFM!,<*އH3g(jKUQXv!IC ȏ9R ~O-kM;|-+ +^UVekP ~>ou"|Nn-x( #QLXVNg Yv 8(i k]5[Xoqq5Gr 5%DZavXHTޥhNh Kr`]|X߂GH~t 8J"$Jet rh4 YdZS u'Oo/["ݒ‹Ci LOPYnוD]BjPe/9^sC,fE.ЕtrN]`:X';称! b PTlI0!>3]GD%L{@]4}j}z>mry@z:? D/ڼmr`mF36 )\D\Ƭq57e!va .seǜEY#ƴ&~R%#|kL9+?SxHP|0bT<soʾ==k?^c ܻҐ;ʤ=E]Cw0MT RgSьxfM+8C.9٣|s%DR$xkljFggSR&]d!IVUy[[)3MJQ*?ȣK=(( (Pl3~u_lꤩ2B]z8b1_wdiN㳞.۪ 6+3!,`tR]lV+IsiD-Cr* ;rFǵUQQרLD78{_F#gpע]<\&6:Lk^` ͕c|iL3%=tTQyR5//ρfPMmYX*S_ty~柠x$P?2%ꡋd'9kLJ݌&I*Ҥ~1>| Su<}Ymtn$Y*e9#9hp !-2GV'(Y+R$׊y| FxW"%3 8is4Ken0 /2 V`-45b?ZB0 {`U^CW8Y4bYR>@38BSxlsd"A"&sZz!J8T6w![= us67؆rB|y7lβhH#&B5AK_WT{"U+,PA3uSQ[څYVZ0N,e(f&ÁuR؆T6 nLNEZ b *z`*C\uIuT,5dmk;_h3K#سyT:iY8)2xs6/"jΟ џdy鎎/GI0ȩe$)Ll8@DDƠQkҳ-V/sTglvTϡ9?zX^U y#5u=*ol{KJ1{*gԘCx[Fyg{fF !4>N8B!qይZ r`M=B[Zv3X˴jU~~Rs_ݷw';5g|ae=[oX}qӏP`mwS_'' UBuڝZ#rV=0CrwƉclÿm19s=Yn=ũ0"&Uc/Y#Z߲=74Fq?O$R@i+MG"1 L\ ^ު5;an^jmJ'dګQVXRN״,}xG0U.b;ouy"Qީ:J54J28[3 KiXIjLqڵC(}%KҌ`{)ƔȏMXl}G]ߗ'E(epokXN[S z:p7ZF]rƌ(X" ,Zh"^nĸ HJQ+@@/X'ψ%,<^m},UշqFfFq%mZ84c H$iʘEc{r}zs>tw۝%,M%u6%"CKZaa OgEҾ/DE Mngpi?O9BCf)\dʻIQ>؊Gl7&zqx9z8ζm(sGas3 ev:mM42оJ#  &p kU >DJbg=J.l,z \j  !Av`!8A4QH"c܌RB7ge-鼡p |d UT^lx3/cx梅HK8.xv-$yw/SrE;}[8r3@ ,~:RyG6X']pLTh':ۣ1/ꝶoRi BwEFY41?$i@]Bb.~Rm ,ҝ7%](R+jo$L.Srkŝ辉"riPkqf ˵@uy0JA2!7`2˴njU+e 6+~Uy'D CAoD,`!&N!s dpa<I ^T=l:wˆ ƵwY&Rda v$8ǜWbF oHL=-W٩;}{'м#W~<ĥGfA!„C`>l@Opt&3¹Ʈu)jlp%QG;eQP{:=wa^e_2k N,Y/,S d}'K>qk;'ۛs*v*8e9$ޒ_v'`m`@ GZDyuoz{pi?canPڌ |lBCKl FtyLz):cd*(ZHr3 0Fq1--9,8 {[ƭY3xFTh#Ix[SlFVذUIl/Ϳ"g||qFm˝3lkl^R/\;]rxo\62g.׿~/j̶oL]ȹtvp-X. XZ^h;G۳VZosu]}l]EL}y?_ouV\6TWl#+-@4 \A2XAύ | hziUJ Môn=o(ӄoD<,x*e/JҔC8w!'^pXͮ..ctdy? UAiGIWP+8]­֛t.P"fYUE9I4?q?t΍2 llFD, A]DѢ3UK!j1[oI#cǹJg֢x YVΫc&!gZow[/P9{g0EY`*M( l$g VRvIF3LV>G1q `#~{r,yc41 Ɓ'p]unt7:$jf73?ˮS 1k䗳V,Vi,R T&߲rO&gaux *%#[s I `7ۣC-,ē9\\eWsd<* AyZfMG%,dU08A3%5ƞPx?ڃ~^"@"9Ὦ'[T caS;`ɏ",\;C {،:s<}xC~ ٦Qo(J8: &eӳf" B"+/ .ᮣ0*щ"k%*NHF#Y&6wA 2g?=||YP"d1#|h Q0. b9.=TײlQN) Z8ED׾1B#O ,11*}6hXq/wOA~w$ PF>܅_uI%243T9?sDꅠfտխzUN tVS{quV:NzV;I0MlEcMBO[x M>:O8,b1r|p'C^n84n\I,}Ee3ϳ#;*;Uʢ73+qܐ 3 ߑ>+K -Og:-a<]Gcc8)vd#F5- VvUVHNz{rj.fGqثb= IZ}P,DxY~Xq]ۡ9Uv9I4Gh-cr~'PXSh479:]վ=I,y_W#)H>-fB~nxCFjo$&;/eCAbbs`GN 1fn=Jޓ@O0{Cj50=I6/"ki:CSH78HHeDϮ<nz^30s >ɒg?jT)?nnhn ,[rAP g›a璨U_~RoQ?ڒիnfxˏ8]Cb=+Nd@]KXX.6mjjf@eM4ik=〺sL5."rGABR>`[#FQO0@2b&x??+ea(Y>;|g[MnQ[ĩ9^:*6mDK8ҥ*2q.cN+?ŶZ^P?7)Ȃ7y3uހHσ NRQ$Ptػ&L{G uwww{?v^v h D8;5QG''s)] 4>.dLR`c7JYw.e Tr~=h~QeC_Pn57)3汈\ޖ~d7GZ·3^g:|5gʩ닽h+bK%(,gѠ!|䎎q]&P3g=xVG{BSd&:O\9DGQan#0#rm/mMGjY]ւ{UatK8*:e`yz$}y*Ag|}NҞ§] WH+=t rQ~uIL^3RL)9wvB q`d&ͮOVV'Pɣz66Laa@il%q 1 /^$])\7\LJ ;?YtR-OݵxAw B,&PmQݝ1jv_օ?j K'Q4"J!"{t2,Ba'כ^:OIj G[Oq`xbKPW[Ȼi^.eg \f5]o<hlne u埳OgW ] s,=Uͥz.ͯfX@.j .]\j\t*dttT^lu5 d*{")VlT#=T6^z@;A[\myT\=i)65ܢj:3 Z3u玍+^kِe&g IMDCdw^_¡UvsC5Q:;)=-Gtnjg .|}kk`!RD0Vd5ᙐ\x˽>XYn}N|;: 9ÌrbtHMK\fL˾@ lImz&-c8~i~3Am^zb)5zg&"6g(6:P;)y<_,&py۪A/ʛ5 xh  kkh LO<ѵ W)_R{;;A}] ]NYy֌vū1}Z苻E{Nݳά?[׺ȫq$E nmxuY]Ɋ)ݻ>}B"q 1Ŋ7͐DS p28wXr!`]cԃXg;V~uڎ$fK V͇y켟S4n.lZ ]K<ΫOy +KErNYQڬ>^9uTr'?\iKU˺e|nSGXJYG4ҫQL%.0g GRyjDYo+k?WЧj5c]"=Cď$g k+5⦃f WfnE@btH9VKMIId%=+U(b)1|^k?K"R h3\Rqƒ('iNx^ToßFc&T2uKD栊$, :ct@asM/I@8Q6/ !".GtZ-,@e==NP_ϣg.D'zz+_?  e,Pe? Wy'# *CiW̅g)y\)p1ePz@@ V@Ԝq TSBQ{ \-HHp~AwW h-PQ&QL*~Cs }oE=6^ &;}9wcxd1ғ7Y nq#,(ufLjJ>e*˖/ѹ$\Gj4طl|;8ճkYEp-[eP哼ʅ X]Uj %׷91_UD=(Wa"o;ޚp`@*mź"T?@bapu"~1 TUW1y?3"DAE;+0Qp9뢇K}uHsU(%Um10k.`rfIkF!i3 3βfrΧ`.Eh"L?Q M򧳶g ޅ]D\+RZ7DV <ȚQB%x_8~>hbgJe32 y6KBb ~Qh'玸5IphqbJb(hOhoDt{ CgP丞b8G'ΩbWtMX2n[>QqZ2gL?Ơ6HhwZxԵ#?e9J]Phtw$hx.#nvޢ[vayr)l͉igro & `i4E~ÔgQJd"AeGG*oav۲*eD<¬7\}p9_1>KyZ1vDWH,䖄}j_ms6rTrZ)m;p{bNRtjҽbQ;'Z"[[io%K^o&-hdZ<[ƙ q6A|$A϶Ewx&b\>DY'U8D_i^jR% )WT|J bffSAw\T8Qa;m5$g,?Qv\!cavzd$a׸gryVZQ-xJ6ċV<-;q%[~d(jZtD%nRQI1m6C nZuǀ{z4{Ӈ}L>jPˆwnxŃ/T`YMg0 *(p[{?AL˔1"1y33r$N]S(Ǟ+̩c,ZW~$m -f/G_ Q7[f3A (\dwʉ"]´Hl89ʐІ&EiQ.JDDZQ9u_0hP԰.K7qv{zЏ&<!wC;Fcg^/M6׍>|fo'E$2Eq'9gH/pZ˄bg7C[>s?hCE†{3̋F@vfߍO#p9_Ya֒iUA/ YlqĊΏ&"B l%NbU+b;]<~p?-OEfUKr#Ȃ}=GA,/lͯPbp|ܤj9M5Yd\)1)([V`cb %mg$Kt>9Ua9Q*KEWO].0ޑ;\h_TKuW$Sz\I8[r]gt=TJ|WVv-/jy3u '&Ӛ*k2-j΁"}?MG3lo" hDCsm9XeLr5 -]'ژH%o⬛cO: hUƿO靏'Iim4,;#nCw޻>1!(eKBYq??v1]|u߇*VP/vv;g~jSe}%KnՂx>St+yR?JlN ׃b>IBNb3E}a[WqWc.Ӕi2\fT*Ϯq D'9qt< (eZ" 9ilJ J*&'=0ף1R!1ZE<5{鰥~ŭIJqG`gNArY~: l %|턂7r!@[.΄ $&i$g&ADK ͮR5ߜ,k<%^_/ ^ߪ҂<r+e{–̀;k9EkO{|&BiJFXW | vXoD`*8pu@'AS@tߦv+凘 1!> T2N$ x,ti@GLt$@U86ݘFI4G^F z0AO7Rfs<=%1AM,N0 jUV0Ͱro:(VH4+gcr28Rn8.peff헊r@*K+w]o*ꏨ\xytR92K5YVy 5%]4!|ŘJB'4iXu JP`XxYzEDye_UrvJV114=Lxҝ"w"1%|m.G P?\|pgY?[/?kon6%CqǷ>?1QWܗӍ_GӋЩ#qZ՞֫ͻoqU$OA3pA8L""(Z&uOX~!*ik^jVL6!ڋ$F9=Küx0Hw U]ۨe緭02(&\:[E[Ru!]؋[s9M܍}#w^\i( QqbLJpv[50 7W*xm(XspUlڥW5c_+nɾ!W =8WONIY0jv1_tq8=$waim,YW^@ ΉXGcXjM[ӱz`Z8rw|Yy9ݖ\:Y&S@FmOT]'f\lT2zVHh>ܜ.RhSҁsg{hgOq?)5Ҏ-!_xNU(UI$m;r%9'vn}/gm-հNjj4y`Xؒ 1Y4ѳ~VjVѾn7$)UCHEx- -ޏ&++"zM5(Y@I!+ ׬Xk$-uE5Ay6l 2xg D-f9c##DM1+^; ce ԉdX?۵5Ջm8Eol^o߾S9?冲`@w<0*h-oF}uE#Q\rlH\V,W/}WzlS%?qbS[G˴t9䚞Eab:<Vy`:kDZ 2'sϬAߡ>^hbGԻfVkq4 _89֪ܞXbyz`,`@sMMhBǣ.62?Gx}}&ԎΓ杧OZ''OZYbSBVcߛ Cգ!(&+Pȱbga>0.1`ؒkIuZbXB!Y03-ʯ]}T,}052poBo4qK#8 a _9H+Q,O{H$bQnβc~3Eɇ/вFz~'Dnf#(EܤvՓ[ \k7]QG7Kl9.+[glп!8V%(j/vnfMA8t70AA؄9N<5:Q-&oYpI4DH0\C p} ^ȢObv9P.RPޜV4r̩b/uws*Ю-J+a}ak4Y{Wɏ cYO7_А6xXX(h&\LBg}uWYtN7{`kj[p,:;Y;ʱ?4@轻 Gs`[c[)nBLc&&KWlw_Z\Ari?N[YeFkF0aYY^hgWrΪ%T|h^ޛu\# W*HQIh0-tx+a/~W qسXnYٙd鋔$/cnEf2J"gq"ǴOE3.wq7롿qdebF6$*ҽBa55F? uk|nUlU1:*AEfe^h%ȲjM1'hv2ꪉp`I4i dZQҒ+)[2߮<`teji-9k\V'rlEI`dTC`z#ɊϑUl -eNE1Ƌ1:2Q[.Jot^oWw֎O:S—Փ&Gw>Do]AƜ։ZJNTWgb{8CEhOQlpm`>foq}z1\/@eW1ef 'j>9D 9ܚ>Jvth(Aj*mi3^؋]h*j%Sv`:=>7dJr(_i]RS4 1D}4>K1]#¼u~J( ha-dIq Cl%!%&8U$…+rcu_:Ga{T{$lyؕ0*ԤGf1.Q^.:u2ĪI9 gbea`S: s~ d&iׄd#se=}8"!QVER #C9V=u2@+CN*M../xڥ#r9^:/!@t*sm'3 RB+{;?/꠵ChIYw_j"]zשQ%s ,QSt?~Q҉SQs3m%G>`JWfGF>f>EUg }0:s9É.Ki.<\u.m/W*fwE@ÈheV+qCޱwyB ?ZAW$F [ds^"Iy7GE}4/[0,E |G5߆9E,Hf/=eP-ykSZ=U؝L5j&-ӱ& E AbN=zϪhʊ`쉿4u3層dc8O91 AyU@/q t?Qi&C& G|Laґ:>qnקZ"ʇ&'H* ߬|Xoڤ |m}m<9os3*3|8&set^meg~ am~'$30-\$jPEbY 0h6lҕ# y?\27 ?v;?w*NS)+Jw{+GCl *֤ʛK|]FXf"]BitK & 4HΤRSpA`oq [!C6EUmu_\hfYay Њꁈ~O.Io|MĽN^t_aC4εAs-*ÇA5wl^9.SEvCDr ѺQ ?d)փ@75ؽ~n4 WuvBXGOf@Ф9*^fv{Oq3_ }+zנy7^JXҝIäUk%ѳʵoC~9MdFaln'g.JiH:x4he>q}mKDi 'ӷZs&֥fsA#0 MPI Ke|>H@u 5q&-R"P'aEPJP BӜ"6ټ @*Mܕb.JD>ks$872li݀x42 B2 : pK%ܠyb <#{b4 e4'*S֙N ֨>ex9"H rk33\EXHrE?UV:LX}6 XD^i={st@H,k-%]\E\<`A|q9,Q_Fz X= "au'JwsҵaLdFDQ fh"k,>$);t bQ /йYתLf<#`lX- k(ބU,Sb^I Lͥ7%{er2=~LUDպ*=~uܖ ,gJs$Ċ9 aԟS|Nc~C N,Up 6,٤@Csjݥ"[xM([SZS )\߯㩫R\*k8 ̊( 2gYR6Rl*C-ef,8=~'})5&e4r~Z"@g+JjgI ; wB/e rVIzdf'*\;&g__(_Ӎ 5zUN30uV (FN3N PG &≮KNLMÕ>]s9?Be&_N@`x'+#źsIZΕ+r5W,<1ͬD`^s2 0RҠߪj1eCFA)㣆Iλw^V|im1#FÆ_Ӱ'lz..5>?z9z(g d~9+rfHD)U&t23yGԚ8) y4=խ3Nni+&4SJxi_&~xͽƞp7xRJ:,PH*^Zf1cZLEHN(aɐ,0;% H,s8Ej@x 8)$ɱ^w܆TO _(xrd=Qzw1խ?og-q>4 g_\N+A,ϑ$?rko|g 4ϚPt71uib-,=(eWIh t*fxSo:R;<[ijdob󤄚(4#BkS.I7O}󼻻2hvcruى I7GB4U|uez.AB7ʣJ +%H36߬Xg~tgQܥs.:Ѝe6~:|Xb6ZaڙQc.dz=Xe܏9}.5ך?QR0w@/vCYtW+Kkw\FUgcHRx0wN%K>{esA)Xo`ܡ(녣œ y1` rM12z~S>=)n9Ų'?m,NONnT̝;E_>ADb:ܼC^mLEkg-ޫtΓKxYYՁ{F/Mj:/b?O +x5Kյ?V 4 PA(o *rʭ|o ɜnyL*fto?A*ǽ.J/c> NF D'<Ϧ| R{nI'gV|:j{oڇ/' LfCNvB2!EK(~%HXыQb0hap`h׿j]}~;bCġ,1}tP~ #DRO[<\nt± Lg-4N3Gp I @:o5wm9{'5KLX)z3Ϸ__vhkuu bq&Ӥonjhkєkà!Lf=Y3P%G$i +x/6T-v} r5bnØݝ4ip/Zi)u:OLMq롲%l 'qI C⭚@"N媶u@De֬[oԋ$p39Ĕ(j \7V_o"eqض quA6Lվح)=Jydߔូ-.j &3õFTzA)bk' ȝdWM8&/XM3TxQ:MC0tAF@DǫpD !&0jUl.5er\U_XcCKQ< YUyZV`0$-w\MLҸLKEWK-qcϷ3 >d]x H@)3jKq< IM_JQ69 28(,yLO}sk K=i6 테]zؾ)>JURD`h:~CL!dP6[ŏw)HBi|ui+DjZA3H/}GS6JPR jYʯKe2SfprF,7pxv.#4VV<=D?0Z2Ɓ٪ݬLx!<ω^DrӴ*⿫}m3v:RTF>(@T<8fXBdHVD mKNK7J%g&#"gEb6QO"^m^BYvX678hDh \^h?qz{邸%m$2xN *kst\{r+|өT65r`άDž:$Ě~z|^eΘ Q/`"akP<5# Cu) 4*88<Źcw F4=A(Lg!?t1Y8ڒp"Qq -T֥p~Cʋk, Sr-dM1z q~¶g̸`u;GS!n6>O])NfԻLʑ[ ¥( \>|.<;LB/nmkl sQZD#+}]PmJsӏC^%^V{_/PVٹ| >X؛+?_B} +h-##/22k7}G$Ee#I<@/ {q;Q.@0)d`6 LPĠμvJpqT M9'XpDC;bjh{.8Lp* {pxIn0z\Ѽ0e 60T|ww#`i^ ¸N6r1n?nw'_ñ\Ϡ1 'S]:̔%l7fw]dO ϺSU oW0@KiM?{bT߮«*OmbNo7ɑOO5oסvf.` ]"j=j7j𔑍]byI|KX (ɷh:{a4&sf .xìi/^ju#7o+=! GQF~yM__]G}Bm,+Uа8kle&ǵ,2OL:7:rݳl9_sd ,>1k\hҏ'S P7/VӥbS*aWa<D.f*?s3zrN)f1AVQ!ތ}cNˑqo8 t5.tG;U%m~.ϛTP7=iP׌8wD9<>5ɖj}QL,=_%'UZ'?mbګWAS rB鵓 ?xO?k6`X{4K']d+P}'WHF$*} wd5< eSu??)#0aڶ~죄Pd: `>C"(Wv翳+Og%Pn͈V):A$m7;(Y7Ӏ报̖ЏJuS^Nތ0P*1"Tc4HBR08"৥ l\C<IdEݦE-q #rF*: ʒ`s%xByOUհs_x%HRMɺk6B7@@H9#*;ibv{9;DÝ]"p:(rM9ew[D̅'Z,kAc3[El$-N7FbKq4V쁰>|cGCx%(LЭl:Mn⻉ndް1 `}Qۈ  bciNi?2 uХOѳoZBa`3Sև0}>J1t̨t> &h Ui(6{ :)3 SjnE7yӸOMLQM17^egM*P+\r M,-s5汹5Cc .:aO1xW xzU] EH)hR uNXl%:RղZtC RzOzgB"T9ܾmdyd0"hbrjư^nYVA(sD!* ObvLN,?_w+;/Ugе%:m5kTe's*! >) tHEJo]:,jǔ<2}/+bDaBh\4Zvt1.E=:=E̋zpAc3YޟG:NڹB| /ݨMm).N-07hY ٚÆn`3+as(^Yssʗ<k Z5VFPaV;hUD2i0n"(en_ةD ]Gd%ӷvgjoZ;'/W m& LXtb#vǚ:%0"Oji+J͎RidJĎ|u{Zw(i5YQRE4τXSnЈ\ q JsǬ0cе:+cN{5O S1k] }iuW=r/)Ш1VES`g ^hNH<{A(*9X~. ): }Ev_v!jacJDy/N=*XCh<^o4W3h͘Ʌ&h1 h8 D{flƎ0익]̓KZY"w螠&;v~($x ʵcX}.vQM/r."FCj)mv3laH‡]Cߣm~ QpJ8 Jfvl^f;#&ؼ.qFH 8c?arQ_P"`Fe{#OaMMgD_uzۨC%]Z!;s'Lrm 䋃k}g]ytT5Z,lJ cTUE,ꕭY;dCC&b Ksz,0@VKqȈ }8 :c%'U}PXAY؝ /G yaIZzS:p"JNBCbJL.iJl0+77OWb@&f0bU!\:}s]|C{'$ܥà{E_ 1ŌRCAV iBiv k6QG6Xx 'ݪY8chioYaJ~v.!vl1<~Aa;"ߗ`jsd3jRa 0F!Lt5,i uDDOw+WkMJ|Bx.PŪU1"4V҅E[/"Qȡ6a Zu@`:3K,A*o/jHoe7x 9^^F 6ĥ\˵}J;RpềeYzSXu~x~=8m?_w^ չ2w߳2ҁ+*/M ;Χ-g%l =JeȿR ok^֯Y;/["J cHD?/tw%JOӛl ǒ}2W-'Kٓ%á}{[;З0>"k!o4*N8=.\3y}wE/8s):*ɞt\㲻[Fڳv=X}vmxV wJ༃>0)d*5F 92td6:Wن^TA a53Xuե_ϵf R;9niix}&y]aؽ-TО9gy.?'*$_#n'YV3с.]'s7@ " ,Gp#q=ƃ6, ? ðW{q錼7`K&4ArZ1Rt-l,CaB?SqBp MʽZ,inIս׾PV8MtKB|(Ke|e ~]Ma>% '!x]+a,fLr#nPD[w EI\XvL8>g(ٗRz. ;!E-D V;!>hSZQҒ]mirkPՕ{b  XVBo鏷^0efb[D$ 1tO5h&K pQ(0s/==3% ^To26A^ォV^ށ遊-(Or4,+VVc(CA<7o߸3xPōSyJϋe6U&/'B yCw^n ([+.×\xA:HJ̣}j+Qz^9uƴP}`A'(fM(056o Ox#j1/<č^*ͥfEG#1 OᘆCHtг+X2rշ.;#mfob xl;!ШQ'6g6(.!W&owUנ+g\w gxA)!<3.6 ъVLc_^ 1(Ak 9k<<r V2b+Y(HL%%?y:id9]GdX*CGaUyqVNi:OEIqxl̿YGEǷkOKYLa !^սz.mN NAYk#$Z+ ,F0-C6|K՚Wa)=sT|,q_ o#Qvs=reܡqY, 6N,IaN<י0tJBMqM!E26i6hJ$i]^N:IAR~"tl]T qxĵw(ۖcG8ٞ!AA!fr*C~ /r2ot·f9fAN!O3;e^+3u[[׼.W|pDxpb* kZ£u~x-,WzDFTGibMI²\NRg`4^Nn[v-G S+m{YDCxJb&z3+ |#c݉xs/:e5]$v495yUI:e(b{!{#dq࢘b4qnf`>"2\ ҅=1,H(p@FgoDMRIG#6Ċ[JRwkt]/kb)%7lڱܥrDYghpS̯HFjV~04ZoL2]FS[Od c qfs2XA|v?,53ܾE3wp_MX;ViwnR&;MK™RWo=*9<ڶbkn҉$14P7NExι5B5oKH@)o!3[8‚J/2!&ߒ 7$ &p`rP'briI}M'M B䠙ZJ^e겧eho%-$)~,IYiPFk3:% EqZ/;6uET6dUr\ |"07}"BHjiQbpVB{<饾,]L#N 弡J_U(v4NO7Z_T jO[9d+rij,"bIA< +_]C/^X[Su"R ;R R.b* 0]jNd*OUJdZ7nd31U բQbAL匮JnHpd4e%9wڠ?9B魦0n.}a&yte&9a:q]GȾ`^msAƸVP=JDVlB;xEG"Ivcd?$$GaQFc 8QP ϡv;if\c/i7Ѵ+DWaV;"jXZ@/&tyO78-3vLa bQ[IrO l:]]!bd>*\Szc3`EC9 y}gX$ 5tVuI4fQuWp.d|8c4 '҆!'92"[8*ujBVk )~mҦqKKgґy:%{F 8t̴6U`چCo%BqMs-Y0 .=o9YQ.z3ppVf#rq*Zz=)NhYVhh>y5UQpqHwDt:{x4˃At>7௏ȑAWnZWA %fӾ<iQnMiP7H.Z ȱ G9ܖ;T5z7fc X! b#2gDK ^1v"`n+q 1xo0njf֔7Ap2` "AJ""0A QJdót@2Όe8`0 exj=ɋL3ݨr ? e2c [7 ItfLѹ Οӕ-hI3ї1R>qdK 2-!ޒ@7R(!)j8>%B؀uMىfṔLunNo%=.^%ofhHzZӑ g8Cj$oOZSN8j2z[= ( LkP,9?/@F3U>?׌Y)JCɞnG+U;Ls52~%UͰs<Ϣ.Ňڊ 5c+1QD'1'h9p`GSvd{zF H-UKDG{,v΍*4I%ѽFS# ).T@'j!%I! )4G*T}DIrAFXdo`? B` 8 0 3g?}\:r< v 24`A˨|,\m"nٛs,L<`x/p|;7K  Uor9l  p7K5-6e-E4Ăc=JJ cɪ~XMU{"4hN볔xq.::?E/&u-@,B*DsW!LOŕt>ƳpePOrx*@o]٧?/c/907^̿OP?SL] o[(7Y%}&Hy_}Z;6X+ ٤Y@pTWQ2O_1g$|q)׿|AS>CYdrb6Q [ JLIMYRQ6 yϱ}F&+ifST+b|}?Y2.Z_8]ܩgvKVY)`ST>75}($r&3˨>,OڑqSqH=p9@ᎲX:e8槭_9a;98'0AIk'iQ[^xN xe]8N?G[,e_r`F@ vIHZuG*MU&K]wT[iך¸̳ _S7yJ a7ƗU&eMLz?3^>r%jbirܧwwƄb_ hJl ^or*Ӵ9%nj0a08GtE&Z5ݸߕ5wA+$<=MpԿo~t^_7^G*]qƳ]EL2~íBN;m/vp>lm$m Ueq@^a,RF׳o9R J wjM`LXv^3`q=8+HXU;VVWW+Qsu']B9&fF/arK7(w …+ 'Qz+y_ǵ& !-SΦCx2?ó6Ƈ{]8k]q+Tip"JXYYxqU+U%zU%W%#jqjz|i"\*ȥլU3mc4ɹj<n֬|[i0jR"xj{8=+wܩԱ@YY /3R}VAyG\=z]=O1̨<euOJ6_/|<>^ ^ `)o bB@ApC٦NTv&e%Tkf fǭPz )oqexi`6ݣ"ԱFPr0:#>_JtQ{, !p~^Q[p'|_/ߜ߷✒5KWgoȮQ:aq/Fp(t|{h LޏA Zں}O>N :LߋaGot;I6Ѝ=I-חWq$H-$7[{BS?k^g L.nAqx[g|_/gt-$"䖓1kt~ٳX딽ѨCEIԛ"iD=+ ]P02?겗 U]VS+f2onRVYTZu^Bis^Wkz!xj< lKD+OƲh $>ب {nȔXx9E8T:]5"+K#Ոh?TNmʑ gr]y#7{}ĿMx9kB}gc"Uꪜ1~m`]Jb[yfzSO./tNwK`mc3..&]R \ݣ^\cJu۽όhuL&^ۓ};/M)?`%ٻhm啴H@?VX>}m?;ўvN髯r '6rʜS'<ϙg'_x= ,Op8:vꅃ*h%?X/&FOZ.(xc=t ~$Iā¬Ϯ6܂'PX^\{Gd"Es5Y?E>swKl|Q(Ya`Nn\w.l?ZjTRT$gAzk8nJ{A|h\ M fR^.%7i[ V lΦ,pp2S*F\wX" (ԧ/XЮq?X`m VK+pfY՗1N/S23jcTW/ϋ-Zh9 M¤8jaP患c='%,lw_u@{" DxQa9푘p$GYROiڡ噀82(HcWw8_z$.ܩ b|Emq+>}%sRJ-c4%VVLZlZ<܉뫜jtJ~=x VZĨ|Oz5&A0{uz] 2jP5wSwH's(*"9U-G,|}Q>1WB e SQu1۸_}+yn/2>r2̠~u?>__/#,oSZTep9y6BI2£AXFB?SQP^Z|evt__uf%#T] .= 1-kѮn M)6\g6L F6Pnsh9^䛼MVd ."t<|1aq;U\qZeFb7OHЭ0)\N̒_狸Eܻg]k\~uW'gRE;xn!2lcvZ:Pnq4<FFvb}i@WQ"Mpǘ^b2*;z(pOȺrO;y99{\% Ľfԗ  dY *ns\]~|KVAyrFnʊr6_ WM]}+rd_V5_v+qS(*=5@ &97E=}( }B>fCo0+ORMr,"Aqb8sE{Y6XA(.{ 4vi:U!NhANJ}$ޯli+a9Wr8:.HWGT;7Q/l:ʣ^嫂2y b"fk,{/F/((G:s:aQyB#ە퉎K!VMMq:%Xu!usK|qG?md oQg|_/2@uC-/ek^Z-ZDmm w+aU_An >3eL`/?@G B.O_epjg{(X/IE"pgNs)H@6.K# =T@<@xj&Me8A~iG};?{VO߿>_/V{cz{aLbfXV<@7*˘'Z-6 oSQ q³aZC.3r6PzPa:rf.wcm(Y*=CXLnw~H;㺢b*#^&IH~XUgU5?-? +u~+7&{Uɼh^>TDixK'ϯVL[dB\<4,Y3Pf|tY7S*MyG²<Ĭ:-zZHp!YT@wso''Z5w@FRm.\5h87(~ofZT4f0UT]WLJhY|}~Tۅ¼> ?q@?ֿ3>B^wwgk{hoV_L(ǢEgm1 Ub(qf{L 0;& ȕ |@Q)P *` RȢ8/})C}8)Bw/II@nfbkHu4'n∠J_0L0`9 }@w^0?YבT)(P֐a ]X(6 QS ZFHń:@j0LU,mZrS8= p<]]A$aPOV2ܘl&:t.s3eЬ[Pҭ+ךnMH>&o#']$SD;S4e[X̤\C̞pfZ 0I2 ._C.((Ԥ9YLAt>ɿPCij9I4G~܏_ (BV`D_TOl!HmX¶=rܸ pZSļ"J#}@]'"pA!WMFyQgd{_S7z80 WȲeI;Nӊ5%bG5$ۓx?gȾ|u@)J>tzF\k:  P(Ar:Tg$ŅǏ^3B0{B,!QL82QaF0ΏƯ}L>tׅSj3߬ruV=:&I%nK͊5@o(f:IQQіɺHHU (Ĵ",u[-ɬ̋92qWK\KWcN/Ɛ-y0{pb2#̸dˣ/q$7Fz^1Kv}Wq'@S%bc#tKDEM=uu7x[ Ew{"8?Q%nGaAG&@SPL Ӓi }F_׿z؃qxR <}9~폧 K LW5^j+d[G WM.Dv G4#j+ipL@`imXt\+Mk5E1b9No EP"2:”p[C'>0ǬDsura[@يGG\:I}>X '+0o;$q9"WVn35pNv6UKq%Lq .颾(#b9ۺ$*jE,vI y_“J6/flӹ^<RBTAL8<;pBaaFEB?/%ҖőM?x咳`S61N 6θ]R EPdHY6IָGG)j^'C8i#C>O +7+} I%K.CQb2JeDRa$ZYd{i;L(l Hʧ2HZ4I&,g -gF ` ;*hiB~ض{ 0IuMiDL}B܋/8Ov*`C&2и%X(UR/MO.M xbmky|cF7Fb(m1CԤP ދL^SiEu񹝦"ǁ$k4-aU@@RAA*=u3Lj͎bFWa ~!2AoL6"Rԥ"5 5ĂՓ 5:ZS j"m7c W E{sO'٢I  (XB 8` ;Ss%=Y&iP@vDpۂ'Cd@EjH&ZfZз lᬫuj6j.-<0%Ӡ ,7Q^ߐS'(hA}7!?imxC[63ĉaK5'6OFMGXnϦ֤C/*am:)mdݴa[Iz٢ӸmaR '!ӪǵtY93VQȺ<^v"6ѴpkIC9ٱHF*@hdJ"υ>8)׋>l$N(i\ft?v>>xzk/cEޔKi7}IDw|/cp3/ij'd"W l>d(I VFǽp|6Eu2 `0[zG懽uww!o=Q>6tɷB`bwM&~mn/FkT`ʰDL'4׏88SqG=zN1YR0Ƣ:JoS ?yٰUd#/ZsTۼ{7zDFbKULд)ƆG#opqtݖX)X5>wۼh<ӾL}cZKkf-oG7b9,3V#Lrt։ `WwU9l4VZv1xqq/k ĿϤ/h5u1Lq!Pknk.wtT#0 ܙ)*LI̩ЀǐN}V)a0Ljs9ci̅eSG?vp'm`9!^Dž@eDY#t"&B&v*.yG an)YG[NtQY@}4 ~ |Kk:z>em#2&{QnP>x|_ޅ;cu ȽT5û{(6AæF6{ǹ,G u17(UP8Amp\ l<|+)btFI~9:D|u :6g`~B[":Y$?6QC}W$Q =M*Ȉ36պY~lugmbV^Y9GS7\I*q)2uxߚPwiP{ ╩T -?}W %,թ4wF[/4]^1.hUgȳL0NBrYIB~! x-Q o֤|=DhCVYcشMw6*uhڟ6aO8i7$jvۘRԆ{RYM;X^B F6m!!?CEe|څ\LeϬf"O>|LYKϐHʪe\KfsKcIp' 5-'Gjtvn4- 3.˧:ghP{c8ay\},C8L;邢S& [ 5ǛJK[6pU4EH]VGg_aTL*Us)l\w+i fKKUX]`?I+9X½̲[ZX8+pl|T"YYPXa!22q ^mrdһaמ_Zۏq]¥ӸrKʰji!IxPyx <x:q~*+ ӮZˆVjjٲtyBtbb#9&t5}vЈ 2'N-(_=7@P<л-bh!팚k- 5W:%SgKϣxĩ҂7I5IڏcJU^Y, Ǐ"L 1:++R8U&YH4#H}DIsgz2} Vl~h7+[3˫??}w%p~lLjlLud[[ZPl 9MTw -)n>98O?=:8lDwh=fzWN <"sAè8$1:<\Z8Е jD~ 8V߅qGGw99А$+!ƯywzS841/ɵ.i".JrV#-yҳp8&u`m¸2WvbDDzÐxQdinK g٩c젰b8 hp٦RyXfu$Ѻ}/ R$V:êJ&F~X-V}jcC;e!IlL+"^ dp,nzH(!^`FPj릢Z[X&#O2ܡ9Lc~4%8y!Fi| QbkPۤL@K,o~+3JǎvD}%ɕX?Q8M ]`i{ݭǓm?>a<~^ ԝ WO=މ7t~8&r lxO)?z _tp|ʴf m wjt]:m91Η"@i?F*y mgP[̋k81jm9p8dx#v.M[KƷvJe4 [J?#lkQmRi?ď<Џrd/ dk9kmm !-qPJCT~EG"O1peFB8>< M,.vF\haQ)5gp;}G4x8/3mz1p2uY<ZjuN:miSlQ@5lP_L O8aqf՛LZ+ks=YwM`Crj> (j53s9e )=Vi\GV!cr;fK_5 @A9;<1f񵃓1o̡,k )P"bQY5"67; &;GW0:g:ptk+΃N͉I% k4bxmzaxΗ^Hڄ)%PEԄN8VΠ,Ut7u#I.`B֋|?ol<t2ߟ127Jr̂Tr()(E{;bQ|ۙvHE88ucBY)C@uXPޭa折Ǟ[H# 1op=Wg2M</+2у&u˷o}wkwޯυO  "[؟f_2T$ B+.ބЯӽ%e|&Uejoޭ ,* 8m-%D$nN{MVV`8V- (!LO*Nkr|_]oWGglq $iLpǡlu/᪘B. ]>SDF'+*KbHC3Q-_z@5ފ*|nWT/FXjHdwt776ey.8=S&Ê=+SQʕDl{ϳT!BsD8+7kDTLoQT9swM/Fb%GU}ɏaOB MC[{xeGe#n6w} ]'jÞ7q .EH6Y d7--3C⁖]Z(B $cx ;S5;E""OE> ?giy]F~c߃NsRg)-忥WU[]G>Po&#%l跱 !I }I\9r~o9+3=CT.b*#sUޮTvsԩJGe4727&SDN{aS);!/>5"YB.SE.S'f^e`UB}6{Kjt/ h ߇s.pg)-忥.8f=ጄTf<̬,̾kFb.ߥ=H+qHvD,ޠskvX]eȏ1bEV$Ci"&7[E3dMF%} Xa7p^' O#O':t4z9~ =}Fdv[.?G2 Ay-0qy6vp)N a&V" K鐻^+wH;n-7%YPaZGQpYH'#8hJJWg5]GZm2['7c$OTUbNK *ԪKʑMW1qFU.ٜ3-10QFIRӚ]Ղ?|cϚƍZaq/j7uh&:/϶UZK㸂ͶFy)vIYT;CX13JC]#hG9UvQ vŻĔ{M@EvQ"3ʖ殲U٠WNcPT#E U>{Fdg8:eEaFO-$}%PjD2RH`$N졋Y)jIג!e=KlL|!QsMdtOwD|7@^<^Ŭ| 6is Wro2$&x!M{__Opj:!nZH`$4|xj~c =4X)m$uu Si6 C;f[{rd~Ε-r-;!yج0Og#52&8d )`/fhf' AU])ܧã:z@tyq4=tԇɢ17hAump$ke빂f-<2; h9Wu<1@FΊ4[oÄWul0D#ef5P\ˍatTG nebzpr]G]Yئq"嫴½*0\W[(50uqfsY,.m#9Hy xk͌+YxPy%; NwcsccoY%_1/x'P}F^/%Rtz(j+AڼY@p9&IzdF_ ([‡190%~Lfďx=\?>}N/H}dЙXG($7V3.3J.~AJ@>=6mOSժc`pǰv5yniWU3ε5MwGW%C1éEow@fN/j`XAC}0J~_G7Y$ʕcmO#꼁W?7Y(Pf?>,H}x(zfs>xQ!ϲ[1 5Tzhn!gV@5.;E5l1裲6iz#'mqæI"Z!`{Xl[kU" reSXz @r>[Vɡ/~q{aM+U^ֆ򛶅T.& Kz)_&g~+A$D$QgEhVHhw(!R8J92vs["٬N6<ߴM#L0*lΚͫ-1+GZ#98 >mypXrfZ}|vhlAk;nb&UXlv[n;DŽso%\vޖS%`LɽIN5v Դ֔iߚxDq Ǫak%,F(cr{}RasNf{ y`hp xPI2hR}CAͅpj!=زDJ+SX0ItДQ0eTj5_&K}`px6Ot8PFRӑ=:55dڣ\-:CGG9>0,YGzd2/ zNc\UȸxsVZB7.>N<n"yK³+D~œGLF;˦\}^zE_ k\\:}cW}.]eC!`Rj8vIJ#|S{Gf%K(\U] #Ib:^\Wڅb ՌuNA1HQ]Sٻ&*F7inTŸͥ7W[g2*%lB$w1Mc7*pRS+w,L]76)>%WaS:yHe3r?q.Oy[J]/L =v%헶y@_66_nY.u?Kϥ?MY dDwԕ?E oD}Ԟ`Poy#?3KAH:7@;_YZg=_g/8flǏzӖ`tBN'BG8'kT!HA -InGUR7mtjJP=WT7Jr TnizNV}8T d2tj Sk.(m*Cx'c.c,)Y*WFZ1FJg*e"g+<PІum&SqU@*bWTӶ) JTd_M&5|DY}}"FF:m'_QoLwy|{ešfNsDZ"V\:_~PcR៥_ዓG'd * r$^?XFOO}`UPSd- QXAb k2f^˛` @pO)E|aS||UR"ӬG< p-w`Foy[.}rKyqV DfDgZ`y efxQ@WkAzzWAd5z;)Db( *QT.k|yL}n5Ttv'0S4=8ѝm}CV_8z=l a%+;j >F*\q EdlלZ>ЛGHYIuאI5|lqA?pE i_ Ti~sry69N15zA Xt -%aЎ-fCh+Fxki V*Rgl9 Z+)VӽU曃6C"./,%QL"V]9~gi{#R_K1 LJc7_\W׵ߕE`s*C^ʽsHŻuH+!_Ev| % !Pv|Ώ߾[womWP?jÞ7q [ĥs\ѧ%4 H.P-UXߤww֜tҿoqMNYIɘ'FjTƐyӡ>k,忥1YY Z 2pMeI}a2 bTZ_N0d1$Q<;'$PٗM[[y twvpͥUʦcMY6[^EAD{vn&e PDr.?9vc3o?ﮗ$э=ش-?7,/Qs:uy٥ s \N J-,VG*c{ٗIŤG@dP.*{pU&zI$[ÌqZzQVU8_D/J!Xb,Bo pP9H7o*1Ŀ{tM&j1"uI|v[xUR#鋏%( iL4Ơ@uB0"[[D܋(=ŦyZ.Cf4YZa2C{4Rt A.5lFnxtYrfR.᯴u?+HZ\*1;ȗ{vxgMEJ,b[BKgI8zQ0ɤ+iy=ЃЛVϰ%z-cbg[ͭU઱:"&8^ mv{)H4+̂m^uSz+|3^Itߖi Oyw>+TAf|\Y{7^,/ f> 7+[g#o}c&y__-ဂGiIBZJ"p(J(ڔCTKd#cUӌ4ԨV+L8Bx$A$tT=_*'h 3^C}VN *x'@cҁJYR䌷[<>؉y'9M: dڒ^hTf)o LHpҭĿ)lD+ld4?gs(8 4͕4 %e^hV K,dͱތɷ<<`Zi0D~ شmTINkgV|?h3Le.H{[VpflVdՑl>\7 XRH'Rhe;vk?IF/@ ]'1P ZV GKaח̏8DQzvwxoy/1l@d5{\4.(7`OnF:50~Ԕo91ظ(Tt!H.7\;@Ua:X AFj)$~Cc@Qlj8HdU:#k/9f?S;{ v¬O-D`Zm ԍA>3\x\ðC UL`9r8b^?vpڧG>}ٽ ȹxSk#x8:~i`~my:0r@oKyHFOᎃA) 4P/}|yy}A WjAƨ{с.Ji)$["0쎾LIW7gqۢ:>i45' UH[p1]a>@i)C{p Ҭ `Ҽ?F9нjJ!! iH+^{鱗9~}x >a{ڶxc鞁cFg^O.YfAQyiW4^Lk7,/?s|)߻kvN''?XȳKWcxlgȨI{~!O>{C7d} մ?8D+͒5e~[}WugFg}c}Si_Y_tBRX B`.@ /<4 x@F5Lj< JY<2¢Vv״4Ufˈ%wfj)]+/`Kjl G#ךdFMJ0+\ 4Vաnl5`kkVf#(B֎  >ѢPE /p8ڮCXڰLF'N.鳲<*_Pje,-vc'>'n/ʉk@;_9`"&`ljoN/y9}!f3 y4}!mhr.Li/]Ԇ޹O2L#/Jy}Uv c/STZjcz1Z^˪"7c?@t=I}.A,iS7zd r>kū.%\g.`^YYg]|67K~)IFTu)),D /ʖG#1I"`aL,Vij8щJjL#-BˋjoT;UG<GP [`'1F~aW= _ux9 ji\6G DUtzC Z` 9Gyx8OvarqIVb:J)S8_0Qȩrz2 ȑ+r 'SyM,L(6҅@Ӷ ߧQ8ϾW]r<-wYpUƥPD4v+;D YW4asv߾=.c0͈K&yRX.O9f@6eoַ =*ፂq0L|AjqqgپBWb4wz Tߐf^yoY_`WqPH$GvL2|#őE^68ʙ_gU&]jvm$MQR<{P^>\SG yi#.nECe>LKX1I4x x@Ku0MlD#ܮBk c^Y2 Q4[>Ǿc̹+s?:ڑrNPH(*FTތ?4ӳ29"~}zO~J%}h2ʧFұ/Qh2S!j^o;o>zߪLB)(+b%g=D&ȮZEZ23{9f8 {ȹ˝2 d+."y9|tU`f}(}~DeЭz2"Z?bq5 mrMu?qq B8#smjC9 /F9KBr[8+n:K}b%yC ijdc2k}//af9ȪQ4aW%1tB/H,VY[ۢ7 ip KsF4M X~u_ ,3YY@3ڪw_u{U= Ƹ~0Rs%H^]8] hNιp$k˭;9w&دJLjk(5 =.#^u#CkD>$I`zx&rGƽlr41(D#eC"*i%hBm*阚PIRڔ1JD if-Ur^Bߏ{j.g7Zo.xo+:'I <WH 'f:Y]"Q_xs]B+ӭ:ߊ-t0٢Oeϸxi4iׁ+{ rd?@ppGփx 'y-:Ky+x &+?dpϪL;*C{D dC ЊKgiȓxH-nzԃ8{@c>i7DdCo6AàCO焌tVw K'_ qh˓n]u[V+LK<3(t`c6̛;'otᡋEuTl99Mt;( 6hпѨmxBR _{ƥz g`hH0Z_TڑZFE Qn?|VOT91 }<= xaoJL8?Qa?8S0A3J<:W]P'4W{v7h9qr}jI8hm_0edW̻tCHm> en)>jqwB)c{"-/Yyy0?V0Iֿrzzwsmm&ygn5"R)nZBĊ\zz05V}*c~l]&kd0Pc/H"}.vvvf~mZLCe全ւ[t\ߨbn( zSv)X^0$6a@pDQ6 1lQ+ۀES~ςH+@c5_7~t K? Wz)=Jme`U ӒGXV^~pjЁ/$t/AŶe 9c6S l=$ע]Y}ϲFt"tEB:+>:;{X)A}~hiu:͠+Ñ9mmC(VV_u:kk%ml?ǕXXsP rVKPX HZ0 y:4Ϛ) 9U]e""w787'Umޖ1Z hy@=l:0*% 7-&l:$S9>byt{t} JL%߻1M䜄d1}ߥ(E+-H||@wZ2uaÆ1lq,A,x7..h'F;7jςd*Trp]d*ԧHh `c?Yىd_ӿ3]Dw 0 tAsDŽkfW^ꨫ8"ci{!ޛz,ö(6ңW(0Z㢍unc5i 'xXEϳN=|HM#3j6@Oqmm~:u:2A]kp?>12p2,rxܸ(47ʇLjdFGݴ5*ަ C{K-kPv=~c'z.3E1!mTd'qғuͫ>VGSd1XX>ӿalu! fP,bUvI ]'o.W}u~. K[."Zա=xoG@aEPX|0_c6{۵}V@|l`A8P=}6'ݽΖxY21YnMZ<ߤmH Wz-:>6a9O{Ap_zk;/XC*`:2 Vxg3<3/]j͔u.^*,7ǏJz|WG[eFMnD{vjʦY@ 3$LZЌx8bG/HZoZ57Zqg؏2^d}??]:k*vS"xG;t_I K'щ?4.w띄Y+3) d*t^~> ^ U9LN#=gAuz%Y*ҫfqe1 ȮM}zW7Ơv:4fm8ǵ 2m!c3grIm:-A"ߺW|ظy%CZ(lHa#(a> >P :B*D4udN?o9ͧ?+1gU+}_9VjzE+wWSktDv7anv vl2DSkaI7Nb]@%6)+;wЇP{d' oPQѧ||DuO )ܑ,!CQ- t zzX-[ЍaZJ,2DJХ6Q,ùaKGo?)q0L0;`㲺NN.fgc&_Uo9߯a7=_a L]*-+EwUEVvY0fnkl0b M$B]tub#N·>_pomJϸ㮌A#EG(Oـ5\Vg\Eȫkn\x23^t5)Q?~^!@albP'xM Y X/\E![ܣɗ#1{ /`ۭ[z2x !}3͆-UnZvk+O@#6$j( jZOGQVW 8Σ'u^FQv{м,K1!df106%L=AVҜmmOϸSS#R`C&½$DJ[#m8e8!% zP$, v3{1,I!iO)xhj }_(9@;696t N|o9dnίPa.鴒BYC5 ckI9Uo7Yi<@LC\XYLo$-Lje4c)o̯ݕp7N/0tvvt-憲&!fr$>΍W@R>aWOAUd<%@e14XXrEd<\XS☹4&gNtxKnZ-mw[:qܚ2 fnYRB;wgbiNPgu-GӲrh '̬ϕ_}0EXnSCe Tp)(* ijNYs> p\(dזA\fk6VV2*9[^HX1émo `qņ,RAaC V#)*1mL`)]/}/ȕQzY/gy8Bt#Cun&^~ŤxBN(oH5""ܺ~~\.e4X@[X_j7kݿSEoüqI?ν HjuUكdt1ʮXPb][pՠ+0aMBw}Tk*ʁ+ fi=h?ɔI@ z#`6??$_ fIbMp$d8k7# ( ^&K 7K7;!T|9#C[+0o&QdrMS%襏oFoˮGS f9w{Rx+RxHUC̜aJ\g2d59Jd@]-QǏ蓩r<x]2E{_e^\Tcyj iQ?@FXǰTCKՔz^ѩ')D"W٬&6Ӭ7f84@0E \\.0t.DH] `˺@DBu?{Qi+q.޼!н4%$j$d.6˱Rs,G( )J #~Y #s:`"AcM; !^ǓJ});cv1č ^t8|>z:ulB&47"%lZ0U\xR(=, 9Ct |L^ ێN&,<+J@QQg#GQų`DkCƅ%)F"mo.xrh*N=bE{!7ۛB}AґʉAL޾ۅWr[FԿf{}>|J_nA/Lxm;E}C<&[{_A}1t{׻gS34ɕ{:u,8ȓtӲb}po $bѫݧﻻXS.hBo_{jٯS#S>F7);T_ѦMG`%+to`2&YTʎrXېx>ɹ?RD>rrxVO߿|],%q~l_8oJJֈJYh[K=]za1"[o|,/lʫvZ;Y3N(x2 @= ١IM;U՝q_ pĕ gaYww4u Cò ZIIHSՠ/V~5K[}{F'K\gq_]Ϳt,Fl(W}}z="Jʑ}tOLt3XBiM(0R ~Lg.H^G|쇢{߀emOJ;M7AB*M,|ln5:A6,+!o hyE-l0rIe)kuc0L'i .x#=S0vt;yqIkYp~@9hO_Զau{DoQ E z syO9]nktJR\ e>J-GkET#ըsE< *%D73ls5-d6`5} Qgl](Z/۸3gWu\#Uۦj'\ ?:#\~Z}>K:2|%.*otLiH}A4졜 u%+I)m?8*0Vx x*,?JEX:ƃ߇S'gpP`-PS³]sKO>$}b"aA<)NQ* C.̉S/k&X#<@8F;2]D2)]k,ޚ_5pk3hyk|xk~2]=]Q&]b.m]:^ dD9Rs%e}7ѬFvz5Pd4,ٱ0 s*Ы7M"J~DrL*XX:2u&l4Qz(i͒}9Q"ؓVzv[xU=YDo{t?'}Ԭm#;j'q:|g.}{UiVmN8N8$QP5XuELMEKQ4x&o)w$-j|`"蓠[LRXQYhLhSE(D[4:fq[Z PWU³VDkIwVm zayOqFh p H7-@(b$e^DžID: B]MVx['|`1Vn0pB}q,`GS~ԉM_סb&Q JB׫:5;]I]d1mL-  wQ1 ~=Ee҇p/y7/mBr$:-j;rvɶ-0#s~!>Tۏk+2 e2*R2lkfU⪔=^0oBfW#K*|:Pck+ E 2Xh 놢1 7R<={ڷ qiLA7gzeqPMO^Y=⺎j]&S"E w#El$ңbà^Iq(,ȣNfP)kfh:?d>bR*3xhTN>;3vYqc|rxBX ?\l 5v>8|sbyě`+iZyFO\hh=CkN#+n{\$>1jxlZ0ˊ9"m ADtU]CLsm>JrFj>1ʷ_$XT cGbx4Z5(*'t3ޢ?^ʬSWC:*fPm=>)^xC zl v"=Ygxay.c[g+AVEu2fŨIeq*5>b`B o ?{_._t%bU qfgē<׵IU[Vcl]#Qm~~N"]Sy@<{mPQ.蜝>:!.j20%2ujn4tvtϏ^- -̼ױsomO< 4fVN(V8:{S㌣U0:)A=ꓥcS~X6c8& WCѯe aH-ʎ^`Њ Uo-q|dApуGY3l!-U,j Yg}*gա|f oE'|s~þ,1>U>j?;O8.^ͭM{`8رVr>^RU8|S.n-2GX0r&J6׵Td3:/)Bz Hbq!U=ek1[wVƤA3Ϙոng `VW2g&n.T1gqB9Irx;|lawI?+OrK3R 3oUԕ&ⴕKrfR"(S%dforR*Nc}(l0T|-v#LLiq] _L:bԃ(-JI˾9A Wp>'Chn.tE=]X{!6Rc*M5jЀ]7υ4ȡݲ:TSUyfsHRB;hb.TV*a o]G P˴kW32V=JTYW5𲯝4%˾u3`cAt@NC$Ge{ Be&?=Ւ'^{7gI<Ϣ{dY ʆ3gO!E*Ng|F-y`@_ꢖNiNO>BaS TmF~%WleG%y_`=e'-]!@0d??NL&EXir^zEm@nNR$.PPۨ-j~v>DbR3[uiD|*g0dbfd+hHF!(7iI9Q.B[@  2,ɹ'rOtl$&IW逭h+$qYnM7Z QߣU$n*rŒ@1F}TrAcOO݊<TU2*H";ɴ Jлےˑ2.RQe1 ?fHL]_1n;ͺroG, 1uyVI+gVt9:mȈ}ɝaZiÓQ u:Tiu Q*S+fB[.@[ib[_LPj~~d%<<1u6ZXU&!_yH-#1B_Tt 'QmWK~Զ¸z8( ދ[[0?s7 O%f+3Mk5`"4hi(j?Is6΍1(El&G[{VN֎*qV^%b^վ@2JzqG+.BC;GϬp*x8lQUFLU'(UCoMg(Qt(Խ%QnNR8oy KȇY'7+z1;o~Y> ?&Я~|Yo]lbQ `FnY3Ϝ~)IOB|hk6gWfX)ŻKټ.#hj'jV1jb} ޚjlޖ5u>够3)62bz-S'\_o'F܀: g*(z4uu-NuuP`^0*5=ȋ??DZ|wDl #sVw1dlX-g2=x9O+j"(Bz&Eˣib G^'WeO1.5*.>9^Pⴁ-E3-Np͸E|5-}"akK!nkd26`~v`o&qm'tEm$9X||g{)|LFCo|]5>Ndyfqǫ--'o|t3Q?o9oro7aqr썂!co~d*x#vgbf_Q$o9Yc-Lz|KG$</@>xC[ #'Vz-}KS̠K)ig)%ĺln!u?V?3(KKVpB3v(ZWom~7\gE"d }Z ,pͷȘ g4ꊾӠ `)?@~7эqgh^gK# 1N"׎`7FycY>=!qE_)6&£$*!Џ54kZeWr?ε V֣ɫLq^YmRp\ičeMo }Y 9W5Yj*S=F:R"3(}} SRWQ8d؍"?A¸p: @<8@@]|L:PNӈ0@dW*r E *C)Efшqܐ^Pchwbl"hy=v"CMBB {$fQ!\.wy1P wĿI S/A'(My;Qp!쇔c~hMǫ!RtkUKK0b lHHq9__Q#G ca~5> Ǟ}uGG0"rlh\%mXO5ujՙAl˫lGkbێ=qm5,x=M3Bn`΋[7&MDM:nYh}~W}~e3W] r#am1f4uP)Ĺ'8/BrJ#79C4j)RqPnɄ%'11:mF49kTOx,S aM_Ȁ[T>8V붛2fvn`q o4<>Ӹ`hpC4w@[ҁ-&W@@ *%m6J1;ϻ}߻h)_xk ͯ oY  tZ$3#}TeR1& fڸr>n?k b {Z4=Q_-W$-mi[̬FWՒepbۘ-c帷~{LbbX\]\*@#݂Դ_ٶJ0 ):R7h`cs3'w 8&zluS(uLOIs:AFH#c\DƑ>r<4O1YI2a .ݼjħA6N=ss_n1ZV|sXɫ&6VE:e[, jҖ[4ZJ+{ϔѬ|:U)(j+i ]?q27ZkD|/?Ġ!1wK+3jyBAٮ ױ5څVT~+9 [0|F2j]dR:cH>,9{ OT$"XO;7 oS.yQy|Ba|:NJ1ۅ^t 0F&ioQ8|UQX,38A .eK8J*.8 TM|*~6!2KEG]>dQ^Y8R*ʫS\a=|2q3hx}(js3r~ؚ#QUpP$'ײTK6>h"7ڜ^mϤw!ɀ⟉}il2wL.'Qta)LHzX! r^\+H.凳ZfkCG RZrzW=ٿa~';/7f~W(rN#qL8m=9@ J:]=a7 l()FDyr\04 M_%"za y.>#,(&TڑC z Λa48Ib0 {"N)K0q3Td^3L4ŧCJ"DESˏtDR0RT4qZkuEW:s{(Y1 Abta0]jY QU_(Ƶ Al\@dB'|m@hXo\| >g28j b7 !^md1:`X= [yrv$#o"_>Oqwx"()xhtH3OP sm@ᵼ U=Ưڠ1s}BI llj0'39Ml[u?j=u!qQc)cfH[#>"~NK*pM'ƥ#sY OeϿD< @ղ‡ى; "]ѡXLMH4sFE]0Z%;ǘ?Mk_NƟYu@1kOk#呇67W>rn$ؕPv0LH~pkŲvcTO!>u,<>V]jZn]Lc*7K5BgŘ瞉)Xnf̔YspeJw'I~yFӟe}Z Q:J q̸gemBYݜ#)wf)oa5rF@?yBQct<'Ħ9/Aoo}nMihŢD9؈P<#cbK6 ¡Yax:DH>L1)帿 2l;5wz,ȕs6CG}fgn~[Y%+nI N sz)b-RkRk aLj`~+Ii$MH(ԴnUpuޱrypBk)(x[O^>%z]!5jbRBBC[Tt7~xE qW6p_ՐЕ؄e߽V_Hn0#VJ,`8 )АQ;3?4(|o'5lN^!Cܓx#w&R;޿j9ʼnljw6cghQ'WVDѱhSDԶ)Q'J[FM^"9JvZіW:{TU[ #Dϴ(&/P2 Qu3s_f?23 J)Hd>$~?jmv&ڻSL0.f1ƭv@=HM6l✓ ޻$] ^rK& 0']8jZփSJpPF"ahq2װ׋n䊓7 TEx>LthPĉ5Bp#Zoc*[.YǕ\wċSG!hA7 @p <,l"H9Ěe]Qp_Y *pD Ykw?xwTEB]쒺цX٠Op!O%n4e.i5;%"SA&{ؽ[":UC]߶Ȧ_$'؝O7eaP"t3XBʫRXZ>@ʴ"7Bt|d ex1TvbşpW A/6BIM?nXN`y[0_xB>Z>y uG .^ ˴Tnќu+]S4Z9OWTvjش S2,D5Z- ( (0IeΡ:JMqBN~R(gu8<>YUB>t)2`OVhcPd/o[hP~9 UZd3jEUi1X"[-j˦JòU |x~'X-PDM;("14=}_rElTD]P)4,CԳI(5A'cJa8eH9uh@8va hg^Y!X1x7# B%ÂK Ž~=w$ڍ.j|Py /_z~qNiSlrv+5YFR͝[qt8 Q,0-;DNJPw;Jt*;KoJ*Squ-V,x $P gyt: "=S[椢]˶҃¥\sh mkgRܰ3 BJgwgU;>⩾aZe;deh:fBCCYw2i(SˍqfFIҘIgjkD ;KjؗDVNr+5%XnT{叧I%VW ]{ ڸx3NL#j\؉&+7;zE̎X9r{xPYiyf탿?.H[ 62Om1Q>SMΘ0;LyuUJSayw&Wn̆RN,v:43g|xjBZJT3U񞻦˴9LQ߬h Q+H&W"fqiR 2K v)wr Vw:o( S҄D.[7j,\6?m7ܠͤ@M+~BAg{_9w*AecGVk#^yqFc?F'N J O֜ E ϊiG o4QSaF}LX:%@@ ЋD6XatΞGq8Dv)6>AG>&8g^v_]3 ^M l XGᳩm6S|ј݆uf&+Ӿ<: Nڃ7gV5boT4K{ټ~ aebyjoq捾ג(i}W?k+oDA;Z,H6$Hd.hUf5ev/;UlzKy aBL/g} z{g>Uti>^l%IgWE٫ q|,L޿4'6&9DrXU3%In;ڼܔdkiE˘˘zLNm _25K"~U2dx߯wTyFMoOrxX :C4V/;lփ#Ik2>iypڏ|-C J)GOYYΠ~EpA-Ggrd)J]C\$}·Ii<~9(U,w@N?-0, *¶/L&NzI8X2${0 /p=_0,(D'Inӑ8pMOcN讈m -N'SAz@ N//]i$\4 :6tfy>r, %xZ[M( 󮂥tEY;WLQ!6 ID3Q5QBXXHH^*[> |Cwꟙ?@27@3?LJxnG̤oGk@Tjxw8 Go:qzFǡ xO'aP!_Y6%(r̍H z\,̃oh:BW8k+ĹL/{oxyw{` tGXƢ$Wvɭ<}-23F(CY$>Hd%@)K 2@X6K(qwt/eUғɿO=VҍKo󥷹x% 7,WOj\<ɺ*rA,M}8evWa'֜-;`T %6rv2fUe9MYwC\}. 8t@>CPnCk^WDlcIإihkxRt+ni 9V9UvxÀ?n6h zc~>[ԡ2xF G)6'L{x>{M\`8krw}X̮UW5Wvɚ(AT)rC[ˮ]^YLtYhtBt.72*bv\6.4m[3.3fC gz>^w&&0W+6%<4˞$=O5Lx_\ljD&sv E{6 M0^EorNy kMD98e%1 6@{5ZxnGuB"_iy L9<7h3i/3̈́f}j9_J6ˢAl|(F?K>&4Ix(,><*e]${̂{.n_=rճGdG䍟r"$֬La@2eeeeee3 _[ 6L[pr6?7ܠ6. - ӏI?<s,*p.cgo| OQ逅^[tPF$jƉljlj|7D>"avdдnihך5uP?@{Ɓٰ4!I4lM@15~sUࠠ+ݪ4U37Cplog]0OJ |4[Dϧȷ$j^qo8I i*MCd`l2 zA24B9 ?EOɸHLnfUp8 $cYEd(Ȭn׏xsI)Xc.Y]"^mXxD0Lg}Rá~s)0͙x=Et7{iq KŷVWU(9}jDZ)tFP@uӍvT4qҥ-B/_y \Ȕ3Phݿ\,U#} _YXÊ>ǐAPΦ]0X̰ۤ5@ޮ)2jun-oA SyJ~|CxOwnw~AO~#+z11:^V/Tu[8=klSڎ9ݕgE?ҌA'ձ]/&hkX0)&E0y0^$V/K jUTT4 0%k=`URv,w"wO'mܢ$A@fɵ J}֜w.|g?? {ɴTǁ?17︱>.cYY*UciM6MRi#-bkgZ=|5 a ct q>}.a.]e GcQ#ֲxaW23v57VDsFtɃ| X|q:P -U5gei˩I73SV.xVdON}? @ 5ZE_d!.wE 2ɲ*(l"lt}bQ5֭hlBl8̾2/g̚{fr338ЁjH^ R=iD&W>48'1:3S,R 3aE>l6+-W|Xצu?&ɚO>sN${8Uhv= gkqȷǘ}=޼(uP-%uvGɶ HBm2ZSV#hVhe*1K}g&FT@8|t`nʹzNMG+PPs=)T]/Ve37>>ʐJ-J[ʞEQJ31>4MB@**݈/ F'?U:09nLx|2&Rꗮ_+b ҴRpޛ:V0ĺI]]JMD:voqxJ0 ^~1Z&)&rH{Td1)ߔ .A"/2{:JE36.;Rb=^$[ ǯ**-kr:fΊ3|MTo&)3 "—Ч܎v/3e(5?6g86+{ V@#WV5o̍-oqC$?p:@CbFV lfR*r,կ̆-'NI(džMJ`Ov<S۵5`gC|R+ya8LkWX)xJOIPz.`j BvW>iuD%&,z$].JZY@;+QU.mfKY8j朰h!G橶XxesNerC[ O-r9{_8162elD$dԥQTrFyM6YBzvΘB4'"9Rz&gX$<㕦 2-Ҧw׸%[nCDn60UŒsP- Rs&X6.wҒ g}vZD%bI<$t~>O_G{>go*Bۭ .^#ґu>O9Q]A8ͺQ`L^[֏ ~ol~ŦN)`\?gt?'-{ri!Hcd-Eۖ/q[ٺ9pqע\idp} 3q'FKSŅij944Q4}96u*Sb%8G|.aThRC)V4/3 \*tJ9J[yFҥh`R[aap1p+xt9Ve햸*v2 g J@ h7+c֫3g؇KZY%V̓U>-%L2ғ$t* 7 A7r <_aFڒ,WtPjr 7[ Ȝ6-T0FC"IcTz-94w!Vw:r HNJ0f M^Z BKUm}>7lqu%X1D⬿dŹ\ ȝr痢}̹-4viId.\JiEt%OE7WI~;%EcZH 0y8S◩,6HX:<JM7mc_\ --[bHh5T.`( VS9'Os]L9u*MQd."e3_\j.Dٜqx5+rBNa\ C VB)ƅ ҲW׸9u.*iKG|^`"u70)uSşuYWT\3v?,q5`E|`ZgŒd .7\q]@\IYŶz/K8W>t6ʖoV˖*YLv5s꼾 )xo 25{ Ru/gK F6Ԥh R6zU 2-Dn]jzjn6k`\Z̵A) dnx ˕ܼd7Ȍff- UW Kɟk4:2)oXJΐ+R%9shr3{4*.eҍF"GL1m2 Ool5 *]?39&F.G3<əgv2GtT&$"KkV>tq<}]6m&JѬF?Ŋ$k5D]mE=y/AZNk->hb!;}Y"zQ7|go1JΚ"T!5|%1g žEtm ʱ9D,\W'JbBFbqjT0a{%oRUѵD5S*f4z h/ -q2HLmÆ>;QZ)٦WYoW1œ³值̸kLZQ\<;*yf&tk؆VWw\8\؉^L[KW$7 A(vć*#qUIhRd`H.o.fSR  GE Dcan20sa* # 2aR(쟧%,y $UID4 ԣ3, )&A^ˊ+kgȎzOeϊg#xl?S.=sI$U1mRQ0߉-dE db ^1_ZM&tϐL)ꪍiЯ8 8Y_NOL`>23I T$F pjfe>"G28q6IiKo!Ly)&k6Q(,s %0X! ,[imA}%e$Y~gRy&-窦wwHniȒ9^qN' lEY/Z܃3m7FcD~ ?lHjT4e3ML-f B=o p ;޲(v Pr DRoܜ]w` S E)D!R͑%fg0h 8+4齞!~`z^tNιQZ̴~>,z*__ QK$ 8[Z}ips0qFqp8 Ox_$tUtl/w"|gǴŷ]?aYv/.*]Kpz0U߮Q:vv JkZ@;4v{C>Ra@+&\90qz/~)sË)a^rdH$0HίR鑽q zN]7%鼤,DeXLRk=%ݪM$fٌvu{冹В"{#6Yx C37bw9N0v~~_8ɓ͆c7[EX)FnjY~s2E7 t]zVQZ=C 8-Ni[F> =q PY~l9OG42TRnyٴe9n8V'L3(9\ e.6mK 5OtUboyaDr-R 92NcAՐ6b("R-MxkY%HZp7bJ}*drfAF 7rH6"o~}yo]ׯud`zٯO붸nZͣ ㄼth!r9zrQ،y{UJ`u)*ޑis)!|䰎P=jN;H`-/wy-z*Q"M I;7Ei$~c:f?ơKcงnxk*{42n閯JF}flt].Q~ МL'yL"D1F7w'mZdhfHuYԃG%C?&4>Q2x4n;ѹƇeQϘ!rA8)[_x>LV5~B5aT*qF/FUYq`=~]u+#N;kyyܤe0mb7Γ`10\#WL䮺Ԫyr2xySwA,~:ωru8t_-A2X-{7}4!lުS"P7W%EZ,^RW 1YovR,E'j6+ڬR%4W.VNc-ʵ%NLSG(.Ona^XRJ -O#_\>C٤#YwXq#טּ(cxZFqp" \a_KBcONW1|-in*#߉zyN?Ȓ&ͲL}s2H3U+YC%{~jc؍ *HR%VQ PYJ#Ӿ7Agr(w 2[)lpC@o!bIa5|_>6x|K,|qpX;;VX[{ͯ ϧ+=<{xrxv|Q˻ͦR'>ֽ̃ջy웷WUk)Aaտ7n[~3ˆa|:i=l~U57(lynkg^>3'i0'ސn'$H f',v ]P%/$0n, 4ٝe:&wĴkO$(voș8J)I#$~8z'RsC<_5F"~#kєbdZ2_z1-5/{Z/9Ԣ^[)KwK3@S, [p[~7%CJxGR7'" | ~ı$)C޾Fp[2tn kH70t5e\ҏV)wDg\77b0թaTE«%) -v§ Jo`D#}x sѩguz2t7HC{1VصڣZS"t&g+)Ϧ2t[s-ٹ8낌YZ'r9='8_$場SlyAH+5NjRBVa w\D ^Gȓ=E] 箎Ytey" 0M9v>l< j6ˬjo^ W(<=bL_ 4?xp? sCRCSpB& /-{C/k8y{$1I4rSڦcFNd"\+3Uq8>XkE+ y;gglodaw|H܋Z݉&,i/e_ $z1|2Z(feς4<;4ɣxun]뚨_6`ׂ1 wzJx|FsfhVhULj,i`~:ϰ0S&dAV҂_ V +N+y1x ~-cud"73:R'P?nleb4f_0ջ,T} qEIJ^#5e=a}u8qH?p)G`VrNya;^NCtdjv:p8DЙq-_Sx 39R( )^DF=2vb@*y(r138l[kIo}Oe 0cXrFm"-"hMY@0 Cqp;g-)31-P;]@H%6(L)l{b-ԣ(*>*1?x}CG~WIrB Ax! xmpj |@^2ҕQ" _PG\+|, ^?}W~yf{tn-?WG-tNĬ! ;VݒojA7)hgSs^FŲ6%ibOӕo+hIQ;uvS^om/4wCcU{B˽3[Fַo},ybzz veW;[W;/޺ܙXA +_Zitt"{KA0FUR]2nS<_9od΍pQds n͕¥TLOxf !op:ۚh:f< N`M܈'RBj*8Ljs|O?ti6g?8ukMEI,+FQ@vma '[#kΩ#ڳUn-;!kC묙?1EN.fs4)z J4wKɕ|x@&YTeQȪ"k2FOs;k7?OE@\hBaWO~u#/wpG2mFȤhIHO0 ^g)jMGI~Y_~8~"(®ٗiH|8xxf-w~V%=RWd($ҋv|On:_`v-[5֦6)lz,#yMu\۝)d[u8[dD="~>ʅ)hr vo@E8GEt/Gr4FnfG1/lޙt﬿# =E2E:w;\ކNۇ4;HDE(`s:RCWLJE0ݢ 2oSNOat:`o. sLa1G LiαpW"YŅB{PVb&Fl_"/\c=ɌI}>Ge"]kP/`rzf_%LYZ#ՔstS֞s-U[,-*~ER "ڨj[RJSʌHd")p_{"a:vF#SNK vA Ze<2ORζYPFEBSlo糪Խ9L P Re7(+ڐa C-cK\L,ZraupKch?U$ϗ c]| ;)% PMz_-0 ] v]k\e2}J(/gw66swV+>^LZWd$ʎ9:m-T||9a0 Hq;h7҆DyBZTaUVs`Y8aL?;iܴ3fD@|}=2/2}_7_RuuB()f U oMt)Pxy e% &3fi[ߕ@Habl!#F:ܿ]ύYMBS *#9 @<21o6$c>I/4 ܓ7C@8I3nӠnP 9^Q N6?ɪlM.@ olf})È@r;LcuebMQ96hIBl;7[ΤlTHf|''͔ա<@V&VLE m:G`øy{- 0+'{~wsozZ-JT߫'E>@ӆ9a=1^nh3f|*4.\-! )ČVvĀڒipڕw1o7_HӦ3ͮU~!oثߩF6791nn?frv `l0Y{oϘ-B8q3wG`lM ]Bmb:$UK{V[-FMDe&:/Z."SRz}jo :}AWR5hD]0OrFadN~qK;`Ȟ}xY_O%kOς#ntr7܌טI 98) Nco܏MY`H( F y$r߻eQPa7A]h$EvM+aA˴j64wICUZ[VL427+3Lk6f<\_xnDcLEؿdi:"6}/ V Lu`}6;wmaŎ$r& T{#!l4j:rc%`Ȏ[>P M@"kdlTG' ޹Dq o+=~̀USVz"y?8?(tE0PWk`٥4}rvw,H%"/g#"Qǖ0*͸TQt~b9U: !(M7= Er~H]0r)+C!aromu )}+OwYɏYKxnHgbJt rsSOcWMK?Kfq ZTq!akUI#&C$Mz*efR?bͶVYۖԧ7lZ쿖ߛxnUMW:tX35{T7n4R&t ߐZ^6tqd]tvtu'6?> 61^S':?Sz+-Tcuu!Z`L0y?`0oc~/n/'"ki{Is}L&E-CiKO8A9;$" )*~sT5k!ʃ@qڇJu?I|(1bb7'}D>?lO"s7Z9 , 6߂j${.[CO [繭\c~u&*Kk2oՄmc2{%M-rRB 5Lvs4wؾ*h6xP5@LK(~-TN\- W{O{OꥢzA\LNc|ϱU7!LRL1Ɓgof骳,iƞy %G1,ȅ0].L/|ofi+OI/zM+iʦd`&4Si`1K L!6RgbXŌzlj?r﷜ \r֘ rFpd-{)·q../$;>EvѠqc7`HNW=46)H%6n@ V|Q~O%f]M8f0?dÇf6/PR\]g`e•N=m|HᠽMͦwHpj??q9t['Z5ڃ&9TE؆ H!%U=:GN"o2r?|qo:)_k( >o\Ϡ1q#8#Ap?R|^gy\:L&?7myj"-?m+l-(&~c}l g7W'nb94y8qc@22;FӃ}7/hAy`K7RTt%=Lexw ~>QW*0:g`MS-! W y͢i~e9 l2`/W<|_+h'_^]?w sxe}󗋏w+hY *Z"D+U"w`m}uύ5d/| ]J| )j- 9Vj,ϯsI q1˦7̚tuSsݚʨox-g7=iW蹍rJr3h0Z Y6noo_b9>jQ/lYb~*,n4?\y7(uA5M/ &<_ϭa/ng\7C8Ǻ!Hv%FL{>pC$|c^J;S2X{'N&ô,5'jO/VvQaek[$|s%Rtaр3Bbgꥎv0lM/3&ѹtJN));p,W&f}FL`#/}u-:Ks9|lF1Ll,$EbrVn ?cۢ:bUonAĴ/ar8W +j73|`GM; GHK_RP~ pُFS%_ς6M/*qɇ˭hک4ʖLNт(RHXOXF?OE8?4yFlůy./yɪZ%,F^T];EU'rѡJKLf.[O{:?6?&׷_RL 9_ %/}p:Z>΃%LPI Ċ?:u+C, g+C£u}kŐL3E[ !]%JI|ڰYr'0igm3ڃexnTi [mxE>&WhF&"{ca(k;_rsͤaEsE7}%1Sb4h} ȫ 9"ǝI ˊnPT~C"!T$*/~5#(5 SwO_~x+Ч Of7&LZ(mcf Fp^kK֏BtFk%%W|**0-fKߛxnoLw \"v>HxJ?u m ӓoB(Ufv}5oexnO=9)xG5TR%iO'!** :s VQݮQKz¹h}IB?*2&b_+Y?KM<7i"- Pms'`qM՝AJ>_i Oi х``4mdovT0O?>ǻOvnS7d.1]i;ĿS-sI 2i5[-<: >+_l7t+3I -8Uz<__od^wUwne\׋]]$LyF=i0mbe`=?i GBdx@vL} APg__[7(i/뚼_A$|LڣW d\s <_1i-l<?_s_NEY #c5Oaw} ܾ0)UL^fB<$I\VkǵK0vkcSUmQdDjY}Tqkk?-\AmiPT l' k捥gПE8&xA%q-77\&טB>J9qE ,UOI_ls8F'cq.- U*a ~gket31tz~IgQ]Y ht(8$p NIÆR <z]zM9xDZy@҇cܫkMWױNZy MXD9 s>A_zɱ((tpdDyiE@, D(@-rin?~c 8HZ-*Ȉ{tK` >}g #!8$v&4!^qσÇOe ~ {\Zz$S$8 (7K&v?{Ʒ;ҁy{*V[\}"ɊVp@؀Fx_e o&ޢ컡bbd-p`$$&t3nC[Cm[d3<x,i8>_`2Lh8B|O%!&;&|Oϗ+FA$ex w2Ȱ=y FݳwJ }1p/F 䧈RDXwWs]fA$L8 uDPXU x10pbuk@w-3`(_Xhk$') i:_ 8a^K2VQ:7#|ؖWI J_cz+\5U:h>\c1dG` IH.{,Jc?ZҟqXO q?f'^s <9 .Y2d>g 8u1F˚@e2 I/V EBF*C1snǘ;6 8i,?U[Ղf駢 u8>pv>YCM*Chd~ΩYiɇʿ>qFtcfX r,JWsCg?5:zyFj@BE5M|nuEgnBv7c~l>XnqTaeU B$t8cPz@ЀW hFꗔ#^_6GPn=?@tWlh*%qS!J<ͩr '2S:IJ=m;0x^Ӟ}هV`q^?Ps}??[u͎6gvq"bQP~y9qt?NQW'T'"dpYܒLi,̈>#:ƾ'f[BD'JVqjSL>Nѣz oCVQ+Kp-(k ͉}”$~_9$+(#\XK߮sW6ɘ83!g"%?&4-76E(*DH&ѵ᡽rpzqx :{ЎE1h,^ b<ͿEOGg Yz?n[܂gu:f6>YDJik^&=WeY?()P\G*h&pU3Tj4 ΀Z9,irs)ʱG–yj5hL8tcƚ0ؗE#GݸNqE]%R`wAA벂}Ƙ'}i5 i V~f]GiBz%Ǝf@7 .0ÜY;ċljSYbwt719C-/#NFXW=`.ğnSj`iDڦ wE}B> HBƌ0N: y'ܕXGXU킌 hȵ ePفJvwΣ|(14*N4)?: b;cB,8#.%WqgdOѮ+7ḑ6Rv+mt.")uAkoQI:#'`a<}=*'Ld/ѧ4鑝'i[}3Yl7H5b}t 4wŠz0ίل?x14H!Di|;Cci<g `I=æ܇jI1fB&RJl".FoޤȓݡdaOe Eʲ6#&R_4KhdLk gmN09ʖZũQ,8x$-kq3LSjd yo)~ f+ Gb%ؘ͖x+x׽ m'٘u:0Ezoc;Q[2.GzpLH-!+6 @% c!t.ǩڊ0.M8P .iւ!$2F[_y'Tz.תp2loNyM0m0R̡-ac%z36M<@<8 =3NҍZ8{2!_ɀO2us?81A'uee\TƼ8iRb>ہlΦ1x=A6ls&>_X-p}n,ex”AeTus`8J?%<| +fnMYqcƵuf{H:@JtHh0yKW`C:pl-0Y<8-"S89pc :$d!W\;ւyc \m:b'G}67|s؋_pDF UҙMiXܡcGO%@jC mX0D{.ÆyDI"JmU \㦇=q?:zy<P1ϲ0#.Dx# ?8d]0.YiU*.&Mvn-XsK+e% ~Q2/L^B<iCX5ѣ2nxE1ہw,f.Luu9)|N4Ϸ FfҜ1jg9vA07=bK Oq1bKSu t 4a`2zn'.Ww,j >IS6NHi\te-X1pxҏ/6=A0:'c~.VH|fSlEn3e_*a'Q/o⶞̓ k*o//>vfOSK`fX&+Od:1puH Dc"<&%QʪGRӇG1cX5f6-Y?v?ssL# I%+-1bXkxW.R$9 TĞLĦu=IF񌦐 4g.c:Sl7V{^A,b PN`4*ph/@B[y%0T{Cց+蔣.E$ YW`R>%Q#g]T[3s{v'$}~zC.]d!Df#(}ӴU(>au;RK#,bFث 4gqyg6C] #*Z\[KF֖UӢAhʱ@ tQ6DY7I8;)' L@P%N>G *C$/hɬE=^,wT$-u P1N q.Hc~Nq:MߵǪ:l?v#2mzUcl`q3u52x[t'(udB@":$h愿ϫS ^R>ĚLmmô{\;yZ6QWN~yv/:BNccF/ VO^M3h`,zہߞ{ٝ84wtDc … PcDWWH|m1=jKyk" Α((P侎sW;hc2ȗ_􋘶; RՅobas2i~hW5.M̿kV_]HJܥ/ੑ?.>NP^+Ŏvg9wwLdu70k,Lذdº_V j])o-; lT(3.Ga4%x/Z7ڃ_oU}چ}&bmqL\疍4*R܍f$B݇os _KSF!;c(p gY5w9y+@Vc?CWҎQen:`JہYcxؗL9I@[f6nkڦ:usM{똩1cCUJNA7uAka/$ bF[|ewSK$N8!u>_1yڶ薣©kbS8x\r( s04z by\cݹTտM;kq 3vkJA1Z_b!W\!ogj QoONlBմJ.kmt.UlN؜BKP鵷>}.&U1,]F0*uȸ$[\`r2l_UU:s0{mwW<34VqTNnl(3(q,un O{4UJkXd[Mۅ մԦ1ߨ}w>- ]u5lQi=B K 䗡;^|j=h:ŝQ8z+w~D'X|6"}_q[ؗzٙ5K'QZѦB)0һ{TLk-_hJI :7SSc|I+1Ns3bύa^?yEA[|Ac8M 60%&NiFwEEd (x@C &֮PU[l>MD'U~0[cgT,C) )W"ds=QzNhYʞ|Z Y``tG1;6 GB|AiS4<\ \_ڄi;?_Jw=p| kĠ/{erˏX~%Jbt㋢1cڏ!cg9uI=.\L&.+,yTٌ!'0 b%TA4w`Ϩ/=̻P<>癹,kY4!Vo k.Uμ0.atx+A2N7,BMQҤ9!c4{v*I"3Jbƽ6*6*h"=JTmIJ5ﴜf\a7ךkV -Dؾ900ѬMV_hVf|ʜYߦ" b9ZZ ߹9V%r]U3Rv8dBY R QĘ!=kӰ!\,؏E,eH|t7HAq~,k Gf:Yd+چD!$;,(CPnHԾڴV*)M$%'' Ew/*m^6*ov(1[(>K?lVv&dAۊa8Mzr˺.U/Kt*<=>dp62B9Ѻ,%5|fLc&CkۯN0{]=qrn٧Y A-I`^:p8\ZՀMSTnl]]wgəL' %7C|G=-E"i d^\.\ "#fn~bBB}qy_4("#)J!aS_K/*Fп}Su2mG-8?Ax9b{}CrM-]LGycSr8B{@_xW1tQu:T~]pT9.Pp\*@YLJÈLGI2466d !b TaW z&%h#\[?2/X,1S-ՑE); Vq}H9tS\cw}~[twW>h]m-ekL?0p-AESh:H ur3i+G,u#Xq1bqCf}ng+og+"<-VVNXyޟ)W{"XQVҷJROsSs:r~8+Ͷ9f qgsSv(_X}eE`3\}P}R"D%u?>{Jeޣ~_XpBjLM/~׀̈́w}!_hVYZ5_vJ46P2,c`tZV5·ѥ)) (Dj-v_\]S&s_ʌn'H"#4 r3TmR-NqȼCk>|.#&%_)>nStt4Td4#vD$HMl櫂^N>d64 z-QO羾w4j)Dymu\@l}L KqÂEv<ˍyb䫷Ʒa))t%sVTXl.CxOcI :+W y _Ru+!ez cd?E,+\VM܌''CPp&bO@UşkIA 4ޑ6q]'SJ`- -ڒÄi GI2+ϋ i[QMT]%/om6Q}Dnl5Pa`2h>V6VSzMS8ZC*wBKG>GQ'6򊗻U D 5ڑ_3nG]'No !'a;ЬMyTRխ-AE>U}`-tM ̶0&m`!…`Kk6ėU{~Rc'apz0L|op{~y2ށU<: 4*2n}#;[s}VbY;)Vw~7Y—ɟ<(I\2٫9Wv{O!'l;;H6 Q?}*3H:f -4I?C6, G[nvAuz U.l;k:etJ~?2miҷL6 ;VC5x #` JU.$Fc7QG~ *@򚨉!,3~'āґX)Dp& Zq&j %vcQOfVo;}&,  aLJ5y7{Wwli3/dOzgm^Hj#t9g.MfZ~^;"?2V*~@?b:t04tȅ!6!j2H`MСlwytǝh-S6m"l |#\<)x4JڰN@r*X1(f)g:.YmV{ '=]:N'SJRo//A?|Ol l*pZOu ??V?nd)2kCnF_+\Pdbe/+x^RYkŲ,9dឰ(gEnM:F' x!ek1 R͸H2#7!/8*2@-0 H5MoSqNKI)4[zȇ1Q#DO{6pe3`": ȰT\Qpbpб wj%WBmu>xXy='XAVLj7F52#NT/ r cecT} d׵COKpo;\L0[4ᓆh\ƛHFT1b4[mLVx) ,{kiȌYϘ{nWsZ|#}s_;`3,d :.RJ& Dss-}RJ"(QGknM S,ԓS^}dy^[x4?`r.Jkmtj{SK.OP[7%'c 8cΐoCK >%9{|4O#K2ΚD[^_h| ~c/'izҏϢ6 jh4\q(\ '_ 0DRc=.=*<\Reu2uυd<ڛ83ɸSxXmր#b 5!3L@V*$1;9aQ`ҚǛXZqe̱g5ŸWo}9bPNc``-ZZs닲W# O1oK pĘ9 vS` Ƶy~puڭyYebn>ٜ6/h+0FE{8KIW( f3I,Iu@>6oܫe{s IMkGuVdWJ+ U P54j]j1YѬW^RD,W|pގ^grCюT'Tg*;9i BgEAfbb>d$Eo-]Ueڮ)AV tj%[Apgr뤠~1v}Shi^ZaJQ;xnOkv?3G<԰)X}iW77>?0MZt20&$lgmb<'d۫{ms6G7Lx/wH/lp;j"m`_f¿Us _55Z`oBKU_ZZXF̥_K]ђL&&DʶyдUpUCsk9ի|n/|t-ܻ.6O҆c2e/VzNįMu W>@;? #2P\Tʫs&o,F0 @ex'6 !=k$)(ɨܣGd r]kNa}:Y`g^Z9(_Zx,aq. Ү9H,2 44ɣqߤ.TQt_o2y;z[?ZNfug&$v#W&CV.>p>|XJl:U\SUȇ`㮑5* )rDQRަ e^|YOVu?e͍Ggs\s OUI4e09* 'ex(><#͙pܶA\zëp/ lv!=]ܗE4dpEς€"Q?'xj5n7t 24 ؖDrLI3SٞU0Q7/,3̕X†̀"+<+' aCB߇w]DW~iWԺ^wG@;!A$m+e m|A¾klX仗g |ɸs*&U%;SődR G:f;$ZMm2/^fW6o<37g]xMpE"jX&!f%V.<I'[=27lr{F,wT#+6˝J~}CY@G 6『2VЌ-hr2ߵ|Sgշ7?"| vئeAA/]o9Nm,wB1#,y.~UxG&G8KrYuTdn.5VVl;+ bKOxig(kF<#<ɞ3a9w?-9&?="6o<BQC!FgDRMQU(MܩElxj yW_Za(m,?c秞΃?%{suӔۏ7Vo??C+/(د|wս1=4>K1U82MyKv1GlK_74*L@ "Ltg8efKWdiyPk$j}lTpsdy*2&-;gXӤc9_$F Ni8$[Jw"o/bJӻTr'e5JL;g !hYnƩ^14Oq`OFl&f_+Z VU!?y7)sFCK >8MP++ƫţoEj^V&z?֟Ͷ/_*}-Zݥ_:n:8G;{UXv{o 7|.i󆲇@8BS|?QC0^(e( Aӌ74ߤQ,_ f9_Bu`F=0\ i q͐k8Q($G -NS\F$ n(0BοOw"Έ+V{/T랪7%t>Ԫ>DT+Y=vRēa@ MQ%_f96,)z@PȈ=Gjb&1O`GEުYVټSi5%э܈y4_Q{ q7Eïno/q>1TvaJ=Q>H@*+Ʈ 3ːDi1Z(BgKV>>\$s.ăzAc@G n=eemA2(tӹA׃0ǃqGdؗоCE p򃾞8}{<@MHHR읯}oy& K@g/RM1Zymt.p!P8es 75 =?pgu|nZ3usՄp}pU'.oĻ WB^ bqTM! ȁa~yT{j M?ÑOr7 т#8ΗAp 8Zpx(ܐop;T DW3|c00HX/pA0F7W&) ꇻOW9Y#t46K0 sMãev+,=`x܆#g„Wg9͐~ۮB>׶3!QhCq.1ȩbn3<¾඼J! _x+D&0tӟ_NEZWW'D a/m! ӽnhkgA+hYCÜW= ?}:KO!y{&u!c{hef-+d}kjoLQ{64!P2r=FNzd_Kv2xŬn bBȺ O2FdI،~ Hƅk!y +|%/Pثkq~⧀|(~tvaQ7QuD(!X\cN#o-ʯ ;̾iLöͮ%E݌|we3ei٬&|yVBsɯW Ķo 䧆qqSʼn̲+v0hWaeHD 8FϖF{GGV\7kOQ1 梖 iUP 78Plh9>(I6UCF=a_lLTDkkAD7'ARNjΆXL0{)pX2ES/PJo\{j I/iU;Z?# Ϥ0!nLu 38ǩ{E@o ʄv1Nϟ=e_;o¯/v3{c<͹~o!X_~tFn pQ3V%YϺL<_V| $CI?h4[[{߾{~KSo~uSI?=\VzW}xЎ{,X=N#S\C0q6) V\D%T]QHZ^o8:}LD*g3ex"̋ҏ4"srcC'#olt? =5M6?Q[ͧ?ÇfMQyS./0.;'Cg yh&c6TQ dB: y-H;x%<|P5"2#tp(K>16(!Mwalz@-UZ xJ&d킮Py%6e9m9侄(o%o!aԔCƑKCƏS\eu~pJ(b84 b3"!Es'dN<()G%Z`dLE!̞uthUwpj*ٜ09fpAoJ-/_j QpyB_}̲A2@-gt9HO\7wZMr,GPFc0(Pa\٠ @R'3~'iO"Ah'Ұ9bp %LHŜt6ub[EݪCh0"Hpφ-b"2yI +r R~/~@[bp0h3ks#HņHGt(͎ 2L˝>F-ȊR1j {A?+Gă!WtsWGYD ;\Fta 4F7m;2ݗ;v_3B{͸h ='8xsHQ[vaNeœN*4"{՚}Q8:Bj_}VkCa›9=*9Oض?f"A Y?Ж˚2Ljʺ5^1= h2)d8tvzIF{F9)kMn \TE]5e!-Xe~ff΋c*3鵧TΗj_1+*:\b6j1C |ZЏ&rs ='jp7`@h8; ~p[A$-UaX1(9L'3'M%ړQA8Sx l`[@z'm1L9LuA+0s~Rqw\ "ˉ`HbDɑXPž%yȠoavQ⒱Ջ;lL%>N,'}E&lF:H/=ZrM--J+-g[.]y!͘bgQ2\!b/ Qfiߏ̮9wQ2od'\?J ,"I3GҧSFgp@+My֪A9&R7ӬQ9 XxURK@-H`1fH[,Zg^@eZ#"AmEԖF.sm)m)!V=A7PcrG @|r%1pP“&a&6:03i ,(9OdSF.Uw5 ;L 5Kɏ65i:"^c /[s}o{xETUnD`w ’ӕ)/$(Jۖ4qݑ_s^]߀Lޮ9;"q&FFճs K]@|2r'҇x~%9|Wd)!%;s-oMMݑS= xJׯa@oXT9Ǜ UMݵ]jX~: R.b–gyeUkWwuz-B2 OL| jV욝bӘywDj^> Hz Ҍ=\wgvSi 6~@!jFӣ=Memb2$wTpm*;8Ni'6ǯygn!?l4P]q"n1$)aP=U 2Z %`7-) yĕH/Y*e=qKUe~WQhμv(Mi_=l4nȿ=JvAKWe i6~ 5O.-aR(É'ׯ/Ia]ď@%GC=tezbXw {y#4g1I-ڗ,-u {~55˩`K:O],(nonZm,",`ITu ;$`SGH7556)k,:(p1É>^bDM4*CZ$\ڋN-eUФ_*¿IK]ծc8P^QoJ-~FWuo8L7뷵Y`WcޤJ\E>Xٍ-}k;9S۫sǓ ٿCFSot[M3/!^1jhٍ&s, w}foBГkRJCgRʃ;D`P<^_9Iӓ>B//9;O~>!WPo\63f4@5(]N4?'SOpѡAw1__SGCt );!EV߁2Hw|_`oW}/XӍyӸOq#%D`ƪ~_o\H55-^jYܔhZFd*AwVTlS H8iT'BPYRFV6+c \h%*.ڴ "7\pj QHТ9E0L- oGw3OK $,۩LKPY/_d6_dWFl;<(4>4Br"^51yůZFH[A ԽA3OţWuu8v1ݏ!pD#PB^U8o`&hnF԰90nOS.8bsxZ[V΢\YzwI"缾pD(yP1n9Ԏԝ oiA 7s(c V\bvQ#(Vvh8Gԟ/41ٕrL4<-PA"kPF79-4y! Đ#+oUO(bB*.+~C}ac?Yc&Fx7_0fi5XMp.⋊W@5/b 5۽qZ|qeʑ! <qNr١ $ !=%ǚtr6)dku"kGvܺW5gl'唍xMsOb,Iz7g1Q.n>n͹mK ?q6 (>al4bܐAp*NZ2&rcc4 cg: xWDFD#)ta]PJ7{h4@&[(_³z>m:Q62:ce' kTibl( PjҶ{( 6W3<>$;e -uJwԐNsxI"#Gui* zm&z s%ͼӴ̸BTZ_PT*j/m=0ⴺ Z^swԨE4˵'aTh,|(VcbJskR#~`r` ~C*.4(!05Cz7 *{fY_8076TNќq u9 kY܃VYc=Ã[sADbL=00m,)\5 i&"o88y5:qz}QcƘ=Z}pGAeԉn@{k}](Pm60ʙpfd$Qe>/=E{|lZOp#:'W//m:퍝S$fOԶQ|P)aDC|N,H8(rFPn<".dNqMEk?$ ?Rfn`껊rd/" $*Co$%ܘxݔOV;0n9A (.nPe 7(TUp>,ʷj)0{{øD}66ǁ.>+.dhuH>H@iw{v-gq0'F=㓨'k0C;틕oH`ps|ƿ:3^//@/-lf2g:jgŽL?ho͒eLYğhc3w>{.{k/q;Β=}wawOmX56OΊLKklom0="Tޞ1M$#:lN)c ɓԕrԅF~6cRK̀ƇфmTmXJ(O UiWxh%Ws6*J;4{>90iE$GvPz.G"~$)>qr67VFQ<h 5(<$W AW@ haU'YЋAhm0'> Kk?'#ѽ_XE%׎ӀIlqB.[L"2؝ί{;;/v޽y΋ R1GD%%zTHzq4!x=ɋkS gя2]`*O}d^ҳ.7:x+&݌5֡V5BF6Uu!x\ʊ.k mF\ZzGUMѬAaVg22බf 5Nj*m^W,s]@BHQWx\x7eet ҏDeRx%BU9P`S>(xԠ׽*w T N.PrLgC')mӎ:?oqyJReQDR̥ù̃cy[!ݖr-M)29 nJ0Cz̙4}%)"h!;|}L>՛Hb 6h!@ͅW{s䧧N_=x4'}8ozW3=r3u(=f"a~[,KND:1TDT逕b֙7MY0 2<5oa,\z6&8]Mv1♂7wTA[/ȦKԆj͆ (IQ;pac$p ojO+j[nȡş3t(;4X2oñb)4(*%N: Őb߆V $ŶSղk5TL)R'WT^Kc=BeVeF²+p{o<݂? ?6W*8AV&UjSbkc1^hw;po#O Xx)ê&FS!E}}wXL*q(J_aGaöٟKnhQ#O}{홆e2N t|wRa1| cTIɕuP,pS`6Ě5F~7:׷v vD^8S_)CqsyկRT7KXۇטip5]&x%)Ncr-FWVCg8P\zO4mIEmR@w'zMcjվc-?NuetZ]9"p͐J$QX(+%o^9KSbC-< O62\(}S5:/%3TCd C8<jpTT1maZ5Sa[[RZM0!$qn01WkawAk( A]BnB ?Zr(9`uxH |,C÷\ Y"8_[\Ȕ66?nR+.w{7 !F7>u_<͍v'Lencܴk-Argp\rd/w u_}: 2+.'^ɘLzٻCiQ͠VS-XTF.baU+F͝B4?DXV\mw}{OV]-w%<8vFҀh*~>]L1V|s\Y4_otQ^2+q2n,0f#SCo-f?(oRTL XV L{e$ik_jy>C ,HL n4@Q(} +a2or8SG$؊Z.fӮ\ +nLI|` Wrq862QGAX8'l,PP΁L-_|Ρiu4q6mKs/B{1لOhɜ ' ь ~)DmlmyfOLn|l:Ѥ sτ ;g5M?&qV0-A"Yy:dȈI?=bt܍"7c2Ak]C>Kƌdxs3-v}OOjHa?ƃO{IHRήcY`r!'5sN+D41"|$ѳt2KO 0ɐY:fD3][\]1Ld4N/q[9VZ (g+,%g?ݷoS+D- L!#@ȥ6t\ .v*K {`PBi 'mgյڼֱ[-"89)g1ɾ{&kd`q|6d$sCPғcߒ5ժJMI ;/g:7 ׮ߋY y 3 &'x]0rZv^NB[V9.`!\{>H o6PX<ZeZ3C۳;ir, G&M ^A~|^h W-jksOR%^hղ\]}6'u*@oB_ >kT)`KYqQ(Ǒe5|4 &Ih4/o_;t>ԣPL7[߫kԺm$e-/R_+#jwsaAtPե%b.2xA;c27vŽ& }+Ll߳3yÿ< -9lK y'4 Dc{]Ɯcq5f5㷨|\ПAg#et8m&1iĚEY1<\Yq:q-əOm$;`DC$~t,25F QkyQ<]V!E>U"@x:<|Jʎrț-90k#v@5#\FWPB"-y\rtKVE^]2zQ܍&xaqmH _"}'+J1f=>yqͰE+jBOM(J޴[FM^ yy`#kde6´ұ#p>1"iY79͏\zu5cxόӇu 0;{wId/ h,_ V!p齢\ G<8/O4_vnCR8&Y<6. l0mmvl#\z31h E1v] K+|9W?\ՈBw:!-D#aR-+lBd<Xy6Uy}vS ՝-,9Um6텘U0cb7QEۧ% zmWF6ht֠`hxԊ_c*Y?p  -̙(%w.+Rɓ=qmC5zUXfGjjI:Ny@RE=!Y^ޛÇ: Z+M k%:b0g'm8_yWOfsp; oo.X`9X*\mܑndn3V eʘsi^aT/Zzu e5,?Q}AاQah&eufz60=lw!~.AH+Dle kdY [_ `A+ؤbKA484qH.$2ưڅsWi6 UIV&ֲcDf ,iWkuU)̔Z_i2h@eRQe9"[ U7ftv(;^jg :0뵽 4=ݶJm>&k׺E'Ċ.wfOڏs= +HGGX S}[tg>2YJ{A9zػݯI6:pn-/(G)zYx+|\.{XZ;X{V{mJ~<+fTZ+}e>@ ` *7K kRacHVUp* R٦PK.x>9i>ٸ/>)$8/7y(Uк[n+At9)8 gYӼ+BT8IARub@s9EzqvFB [2B"J Ž'qي#-.Q8"&9Md9UK//ǚOX0KnDbHUr6u;Űӎ aX{KouZ;)Tln/O4H~QjdK1(6.~'ώyb>UܴYe&zLx_bU1a.s{Nefj1j ( 0%Qo<"yW&|@.a'߹".uv &41ƞX _ bPGOEaxuPAo#_]YTr  uyAb`z]pN 2E\+@*PN˻l|jUޫF}#MXXt(n $Φ"8j <-F^T.~!~dV睊! Ӂ$u-J|g:NRHpyL)CpT@RUQ ,j&P,:LXHNRS7|D!<ܴ=v2zߏ_-ި'|i,r@Ч/oO4\7!Y *甹 xdaCHrC;{iGuMqVkƿ}۹qR}`?^r8|&Z3U=Ɯ1^!OOD*hz껳>K丳@V+9MI ~^ *2 CԾÃV 0(iOS(8f jFmhrvHp=?M=HI#d`uLTUȩ!RmpD=?Nsț=]vȜ,p]2ʲ̪,[އܝ0x(Ƞ(ȯ&+0&XA7ӭw_5I4؅927{ 6ؓq@֮32<螈Aqmnvb$+#.,qq#a9m Zv ЩԈp)Q*~Aj6xsw ?6@""5߉Ԛɠ&9x['3,ivF}>?f@oaXa<^G;Q'hGDeT4rvm.9u~*˝*:.f}5ՅSs &7޹ʨ0Q#˅:l _*}uZR>bc ,j5mZyj ZmOXm?P޺ 5hi@I@Ay1Qt,:bD8ꎃs}X=CKvdc2:(1?TWGxlE] -DR khp6I1%KCe":38*à\ƒē~,.4ฏg5̀wx<h2jCabZȼE [Q=@K'C,0u0؛2[[##\CBvѿ#Vwb[j!|@{=Ȇq,GAN;OePD]PrQ͛1ꌫ)4zᰟ@^TͰg2SՋ Gi7FMc!]Zm{C9vfE"!5e =׻B(gTD@{c(B&%lD&D )hj&{t 5Z-N>Zra \`gXR[$OmK>=.66 ٧pa+Tg dF27D|)e?TNWkl`J>9kw~N++E"b˚Ó[}*, ]q0H+QnKCi,h[^yWBMH EFjy%N)F/ڐ) lfsmRtuQ"ilфXs5Y2/QxtS2p,~&OVzEu<[NEIDq*[ڛ],0tFsQ&Flð6a7=xѤ?7l !wvhMUh9"ߏoja)KV>OgEn`U4/Q{I=c|/GA7E7PW&XIF*@Y5$Qd8x rH逍ln0g&T3EI7=FkDZ60 #>^}s%P/Y;qIw%2O[% ZKhCX8X7n'G_|j6n&pu]p*.{w+2_Ӧ+2u`L8վSNۏf?N%ʂs>OO:C7MmBI!Kk}}4WTY7g/@ߟ4lu%gQʆ1[g׍Mޢybυ8KOӋK"'Uuq[h!UP(B|zeW''.FߍGZ{ms~{O_X%+xdU3jdzShkzF5nyJͯdPn.VRi`:rڬkW8Ԃšɣ.ȈApы8n_qZ!_ ־XP{AqLoU2S7mku&;*P8sA~2ݫޱrΙt5k?rPQ<@9%q[Y:ucO>^4Mq p<ѸjA6v7̾&c6lCwh$4{J|KI6dEѡ۞3ˢ8C-:\X1XHz k8L/ˆtԍxZ'sh 'Q܃``"eF0.&n6b<%ބZU$l '[pULp}Oȏ+M\ = NŠ]_ȈcǕ6)ktq ;'wɸr0XYOQ6/B37=CG~)W!й>vtıZ>MR>dy|SC PPF.&5Ӝ!g V:qRgѿQ SbP9ʸXބˊвdDjuv_o߈PpsY_>bp!Im%/\`ZKZ̵fpN7%׌S o$LvC[pv ەdjq'烴S-PGMֹJ8XFx~w O?L#ё7GT.y)M\칕E`0bC]dDw.$@](qKv1QiY>0qE"6٫_wkj7vvx766{;?0yI/`Ϳ{jG/qنd%חdnd|j1根WXKjm̶.0dbV4b7Q9h\bǭd4cd;GןbTQZjf {9Q3Ku? 6A걕*!nH܅V &n׺^hFG!"xUD.%Y2 ފd (] xrFi+~s"clGI2{C[h 7Dn;ng8>% fN0G +m%`{n!}лե?~-wο{as%&$r.7.'*3UmAG7+A&$#覗:ݻ2&׏BUCu)+#3NÃA|Ҳ0ںs(n9&C|$J\/Fl}].cӆVPh;UL[Ox>ŷOB'**CEĸwVPoi"0 gA+1k p'L N>:>Q] v.r.ؔcbJ7m|ks,8F{=Pd]1@nTS j=$ eͥ>4D/U&n8e{@ *6hP?}.5lm}xG6;J'[[xfw;o~ة۽+1vǯ^U PM3IpnJ>@ >M/*Ì/; U* xw{xp 4nO #D ߧ?3<`[cYh~z`To,x*rYkdp򕉪Bdˣ%\ڜˣ_.0B8Hæ_4ZM3"l#LvPڇ;4+۷|cp bqFjuƮ | 5 g1c ʊ=N\PX6ꀯFp"纁n`gȟguW=+[UnT*7|\z6xgZNscijm9ͯ>ɿ;rc^9{ Ϝ̟뱗׽zژՓָؘ͟եf=RA/u*0țM|p,Bù%ޜZsaEXK9g,%gXYi\_P mT}T}cdr0wv>3ZsahE\Ch9C Ϝ͟1fv7/*G<竌%e$1yJT<[;}roCw~}cqLy?Jn?R^͵U+ڣy[x(1b4 ƣ TB?Hni,kFYKoUINմ=7K|=g18V"QX~)[$0Cd8'x7@^ 8DCݲsx|ׂe(EnXC,X$ ov&;l“)]ۜnJ tDĭ1WHhrkf96cn{HB6r/g&OQgrrwi{l f9r5AU{bl'>(h#ʞ֒GbZ뤂֢j֪`{vֲpk.j (0G3cB=Ya؟;߿}o5 ]7gu//?t~xC^p]ǜ;/~}c6Z'2/ii"?/ukFlE_L W&Y&.}qig}/ b/̭^W~fcʮOpSΙND,idY_km>fB?^m=56{*P^Aۏ;uhufeڬkהҬ+M3.V Z-6c2ٺW Vhകkm>09uzgDbW&|sܬ,0;MǝakK?z/VqIz) gO2pFqoҍ<68zp8iJv:eD VZƋM`3D$AVa_#)^ |]z^՚AW'p5\/>&1d jm0`Cu[Zyyy h8CMh)Y (Z2ȗQgO2S'YO1dMJ qͯ:d1YߡX$ZI}}},}}==}^o~f7 HLhHmXH2+b|Ye|6`P/{_l/ E(z/Q|pF* 4x I۪IIW\lm6#Uc|@A}x(8KVS>n4ܰXÃӦ2{7(΀&dvPq)0yls q>K>$F㬦(\ۅj`!Up.I̚]?1>zPoFᢜzF݁]49ᙡ+8 Jg T11a92bR8vON' ?'Co)itNɿ'H 8}DO I%^2ݜ6K JۦOx [ЖqZ^zg)κ>t '"6M!ʹgDY"v]o HJۨVV'rl[܋w*A?<ʂM؟ 3,Fp̃5utA@D%l*ft}8/Y$*d=.3̖([׆Gy8b 1fɄMkl~#Ec|Ɏɘ+t8KsLj%rD~^s}uqJ=ԍQ>5`όpVuά|]SToQ.q.S\V۩.S3@Fb=D*v33Sxx2tJDZj FҊŻ zNyC(O J2mIQSOz7-x߄T ߡφ_uɫ4 B)X2 +[|H@@ORJ(bI9p6Pl +2wIyRVmuſCO-ZjF=u Rؓ q?d(w`lpy h./0P0x>lA7QU@X6% jAHGteŻ}iƋ>p(p|Bf?^3N|i. u\ͪm9д' M`MK3'ՒYDkn -%W3:'*uUp)UbJOwŔ҈!5'H|ܷ|Ah:wnyrnɏSbkgZ-!X;Ÿ2]p-:sBe)LHQ(}Ѝ>vhuT|*Af+aBms)FuW•JXCiLAbu1GS?# pIЎRiߌ5"@gHO {aѦv2@t~\1]~ݨk~b$`Ԍy+WkfIJ꘧@?qjyiț )XLKKif%'%golꗰp-`F)?6bwFc< &;AciB! )p_i֊X+=?ٲMxi 7JmH evgًr6u]j<4$clc2Uv7k r)`ຶO$BY:E9r8LOqb,0x?iֹ.$8lEv5Mm5lvI X7qUbY)sk8"{\nh^e_|ns%d@N f`'XtGX'ƳꁓH&b,\ɰcڛ7lmI8jz}fm|.SlZЬQ3 d N.u@A)$9%Y/zğ<-&X=|~zʖH˾繵[+x`?GDQ%ݠۏao iЬc @]a6bnju?F'c[dAdoɑ7 kz}dQ爝PpO=0p(*nKe/O|FyFDF>cQ:O- ]4=Ii>F  :v~#1"Že[5vrXa:AfH3{h( B@Jņ8ش8`ȝN4Mk-3[W,Fwl ZQEӜޘakLBd5 gY xlXպ>^M\Q&E^,d`E)`l?ln (h':CE-`V)lkN5kirhmj9N;qJl93<$cV3+LP{lYD)a7(u ԡdc-svKh:y|v &HHc65ᲁ[`PwD/Z%ִw(Th M-@KOM%T$B q $/z/،窵Kp7D,(0:i1l~3y`2 0=E8r`K<DZ=sl\Fc#6j]dD D;9d§{B5˥U:2r r%&OF˦E bA.v ,0B+1 u054`Tr7On$&Su^pw鄧|g~u:$Y*=RB^4ƃ^F4!P~ GD[[@#>d182˃xKJZX./})E0n FWS2Q޳x UV*bOW&nBN2'{DeDm/ܘob}eiQ%z8#_Cyj|fQR7"qw,<\<ʵ\8^ cUˌ-d56 ̐z -xa2EWCãh9*SVdK2=aﲝ2<_Ŋ xZbyJ4ClK. x{/KLM Q|,0ׄymzvZS#5nkvr˾$BϷAŷ:'!@RbEah@<BzYaeZAoFrԘ3QO+ۢ8 S`_'K'.9 Ĉq0k8"`m6!٨>! 3>__ AvxlsĨem_g/o[" *ԸOk3#̾M O oЕ ͬʈ>]03J׮%>zװ+0F3+&QKJ+ PH˫5Qf1xvȪQz;!FGݝ!ncܢnL` ͣNˢOqoZT 2S /=1T yz(N;NFy|P *=;O)cQety׈imܫQ u€M!ay:Q-sbi^$Fn}%d$À:^|G'yr[ɠ$a4:;P ,/{< 'aG% YQSgE#c VaU=<[G)kBoYTu;bh^/w*(Cd0%ZI,G@7o츺E'Yј<{*.;7o?>Kbd1@-[;[2.Y!%u8zB=3Bk >H PX<@Zas㤬tua98_Ak'_v;;(Fb ]vFf2U Bv HH@aGq#TP;7K~6ZKArc-{Ncxr6ti^߈'P@CyTWڙxUuFgfVo 0Ei:YLTzȅSGoK8GJ3"0/.)^yiMJYEx<94+#.M,z!Q lix:jfi\\bq!<-,KRSP( nք YkEmOF(vBip6[(;H_J?cDvCp~Q<h<%Gq̣dH"z[娲YvQrmϓAx " 4ڃ@Lc@hk,ަUlI]7ގxUf:a\jyɽM{.St':/SOkwcZZ2!Dθ,(UP1.VN13̤K_G}X ]#ڬ\羽H KTu8? x#␯WO; ಢ+=ՠɍ(E<$Țlu,ȓ 5[c^<袦X\?ߙ*%N_e]tLQ&-ն3S%H5 :f}-9fc;SؙŖhAcX `gkz-57{.E^2r vhQu3R˞t >i=Xs:7:Mg?~yއog$]pr[hI%DÔe<u>Iks;$1hW,~,8xdqVaMӏI^?{;?װer;V5 ;^~dSq܆@>4N⩧:ۿ S/?))s[x"ݎhc@'!_(~CvS軡+zhg&8 !Mء Նq:roq/2B`Qp|NID Q2n >`2a2[кBK4c3 dfȘ߄(R?%UMEdø 6}~G&~QutO/Yύ3o{i]0aMI^6Z)=g4zM`"l E^2iƝ7VDlG"Ex/7aia~6yL("ǣNuϿdP^ P&ٰ51'{QRzww{jCw\NSΫם}ND dQIbsfC Uv|246ܨvVd^0r2P'<:xĭJ KU,fxȹh[,=sRd?΃U9;A ).Ї\Sܡov][ipK`1{!횄`ϸPfr6 1,0 Gݿ_8KO[y|kZE[ZK^7b"k8esuA* [ed9$uME n'6,>./Y-Kqh96(qðUF]*.w+H4bL)zb-\W4.\>U U.ds~Mn{HR啙[f҇T4\CWTtk 1,Eꂿ뢰A9yn9j>,-EŅ>753kKkw,'{>_,~|L7%Fݔ1N5N<>j%;M3r&K PpToP,nF*瀗P{qJ+blb QTb]\^ETZ٬NYj]9G0”uBT 7SLyPE(ўM-%Vߢ~B|\Ѯ0z.D(Cl NsGvzJkir%LjYe'Ǔe _o+x+,ҩO;~hI_;PH=as߭<Ў||yU .d? X)XNd3r3a^ GSs ó棎bw&.V7 M9{IkF^| obVVrf Z<+­tAQK(RY#"-TYP@h\LE>.N50`:9TGsS]WE:,67F#ëfӰpPB}i#nEZ8Zʫڎ_&}0+ [S.Fq!D[hw O'|m!ܹ$HY` b U]C|V;Xs+ܴZ ܌ =U+êIB|M%e|Iu&y?Rs{eat*`8JW Fϛsu_S5=z4n)XEKO5'QG~lewegr+z8)q N_oW_o)?eCOwpo"Q@A̝81;@ĄCNpoB㹨y`1+1b.%9A 9X1x$~/ö4N`!TtZeE3 㯕uw&1ZJW(9uߘItwP. !G"9T f9oe2ߛ7zt'1%3βW5&wLEȮ.6g'S.'˽v_!e$|ҮAiyc|}vxza2GД O!&?A7ϡza&dq7xSL;^ cR~lP4 p aJӑEkieY%vh.+'Æ=𪁃*>rx鿟ݱ?K>Ńƿ5oڡ/14rsBF\59d$nH+̧0Wu%rS"'ݹ>smu~Sz{{!s$ sN9Tv\*$$B߾Vyld>^e%R|ꊥԺ)-xCr^cp<@M,ts],>=RlQHLzl,ɬkݐ&%h"c>Ȋa3b=idOl#6^=Д|V]"#FĜmuF`RxNݼy~''Ya$>ewxw?c?Y;?C3-EXh+ad|lg}ۗ/:zS[5)vTh t,qR)ъ'UY؜$MRX- Ns/v ǸO/nDKO~ i ӏ'SHc8 DN鍯Q /ͱ,6h$A9Uʨ -}{*mn,{?a`?e:[rLQ3t28.|H.(K>;vx]H]~4hc١퇝;Xj32sӻ_OuE܅hA#KU| ѶeՋ{Jy%:–wC3 e֐JQ|l [xI'3S7A,5Bi'դ_I $Eӱ(G~Q1LL9 0Eܜsl|qikKM2[F{1l0Y &HۼJbKOUI~AlM՜yd$ /yXw4uT>7ju[L!mN$Qժ+v7b#VeƬcnjU=¿InQ4~9 +:BF3X# RK0&,<c OҀ~OE1K\*&!CHE<ytuOcRgxXM$CY~%\4'_fX 'ƒ9)Z\X`(蜁h[MlVWe:D(rK_Ξi ?ۏkk[x*ro} |wdL.vFŀN}[6>A;a-z.4Tmƞ:%-V5#KgFym? !PJW_Ǜs O!/!`|˓,o^^PGB-vENeI!eI3dc{AI|dyyȎC& }7Ei ܌puAĄH8>w0˻/k-}~WLkba)C>'"D=7\( 9䚿e@R{niuE)XlW7,yxJY^T-CC'pՎ e'vrqN| LyrT]QZƃ:i+H-!dIr69c݉f}AzvIƙSvc%h=U**l{1ZsvB {';q]y)'o WV<&PHe`+ɁU 4,p@A>5L.%l[A kLHA }{VuOG.9 B~~30~Ɂw? Zm]YiP0fi]p{I2ZmfzgHx9pYfGwO``B \ZZBLw3IvœEYet.=0J1ȆХQ k nutK|CՕ972.*3ryE P|ad2f,[_NMӍ΂B&4yZD^6H8N='{-jxwͣbW \0e`E1,$G vnncXJ12![w4EG[MQC"oM/ȕY7rqh<~~?8 Y\@*儀/NpB4Pc_k`YA{ !dUr!^4u0;Wb6\ZrA@Y^2oeĹOtg,%% ;`F\z [dƨ92W9PSG-#1;aUZ;SRs,=.pܽ`y0W:įJY#V^MX_.?GY\_l*p mY={|'Z btzrfh|3DL7> xp#/-/hg'݈݋)< aJ!݆sM騴\E%E yrL]@ Ag:¡!*Fq#\ 3 T6o|PtA MX4 (鸋Sj>%amm_Sr[>pܖS1=tSz4*s^ ;Fpv.VMΘm ƿ.w+SS&3^ώhS 'n@;,u>09XR:dS |z}x9K{p1QM PJ7ǨxkCPfb( whQ dθ N_ʁmrS cs17 IoUb iT Ow[yb,ߚ%l4>U&W331Źs'2֯05l}k~.ܙ{V2x\j %Ƕm<%W|mݏrz ܝ;4m^Unʧ׀׫#߸ ȯg׫4Qwe}^)(&*M~>  ώ0hUl\vXȅyCD9y01w"n^|3˦{'ա[=yI7]A5k@MLj\#?euOL}Q["`eu:Prq/8OƧAcbL=Aki[ILkW vT•Q Yz FX`,=1I _K(Ⱦ4Ӌ|="MW S'j9_-^ʍא%†faodMn|L[-g /@>?dC܃C PBNnf#Y̻Q zL3ǖ꣹+3zhoI/Ae8z2EY5pO fbׁת7Gfa P G\Q8+Xbir"2hnol!wn6n]0˜AJ@z'JWʹ\N-M053x tK}ΊDҹprv41')p`op,}BZ(*QKi.Q8$+)RK=;NÆ}/t?pǓkK;dg$5fS i^6 rz{bؿ֖TI"S%fyȍ%͓Y 4rXRwcs,:9TB_u/T4twK@-$$2K62 i*bj5 pU!I9螥iآc UO(!Jx[bh:kxj%glZ$Co@w9w*N6` +C{y1| P,`]Bj.]CK0 ;Q( zS@L@>@Wsj2fm\3fhrxz>>1zͼf8*tΊϐћ?{?\ZE]/UomTYum><F(0,bO[Alo HO;ʕqaPNyHR fzHsWy a^Q잹ǀixHU.g|SgW eЬN][BS56VzJd1r|$8N{`j,Φ@_Q`4M#|2qco.ҞZ#FEA@vТf2&8׉PW 7U5TD[c `>ragқ= .O 8PSy} 3ld(M ?ܿ 3T`c-ߧqg~zVGt^;m3d69;Vx 6`Ld+wǓo6YѪ]Lw<|kǂ.52ر +A҉Hpex 3_(l<ǓoFX{( .v"A#J?DgO`JG@L'P gPm<'6>& ݻH`_;X$/|ޗ0p"Lycea'y]!/gsJ,ڪ _gK%tx{T~ؗz>o07dc*{w׃N7@'/Ƕ8xKU1([Fe Xyd$i M G9S4(ۆ{|SEW1ߞi`9*s_%X);ѨCkFbT·+F/0 H){l:Y&:1b^iF8>1.> e5SyEҤhAs kR2CBŃeޛ?TwޝEz/UX/0#2 V27L9 f&> DrBB1w(jS2tO~)%䓚/Iy.Yh!Ӄ%><s=7pz~7ʀktk TJig3X'5;Ѡ[V6%rK{8ApKg Z/?x@ȗSԟ{Qg8LF|1,-UWxbG*&Ux K)F};tD ^z\i5tgj&9m \bcB댉q +GG&yrqvge{^jڭqX`rգG zJGTUK S]!g?C 8̋96+֙1ĶN71 QJ`ZN'Ї:) Q,!QMmoM g|;gZ"h Ͱu yia[x4_ my;!@ TC`pF;G'~e.c8ZqV7*eD$A bLNXXrhTݝZ?2Z=c h9ӶX=:;ǮXΜ}qp.үW B.%}|z%;cR^ 8Em3iGKGaEP.>\=&37XIOE_MFeM֥%mR\C1zV\N7-+ۦsƢyŤjQQV, ?M/h}j}HMt&8FD1CD[[%`}~]R$)ú@nWW) a?wH#tΏӹbH_5`}eKɄ~Лt$u/Sv;y*[љ񄻕k/֫ArC17-k}^*nfD^r4*MaY)2 ۤ9&M ܏fɐq5=wDi,>(?sn3յZ]}rI{кIίZ[޳}(!8;.ϘZX+? )Mo*PCݵ}umqx ] k*A3WTi'm} BQ kÍhR؂2͹[f\|VEdWg)U"|'t66]555W3@55wE(TIO-msOH; ֝-Zn:clkYϥS[;0%hpV|2mY/]h^܊e+VMu1R)-?sO' $ߓry.,,*s |,y7=aY{ԇz d.\e1XJ|N7x!_)_~pr!<>;ڀCȻ1 |4NAd(oh\GlWNH)H+7>KOX~wB(R{2s6ymƴj}-7we-c%DBKK["B꒭JG<0< $q^1:Eٸˋ8#p)8oƚcRmTx/ ~E18ZBOۄKFW CYA'ao8hBay+xQp eCk.Zl ^X 1 ՑP~of1ܜ֋11 =hfvN5|[jMV4*4$/B7fU=K?s/`'0@{Q4Q{ۜv|ҫ<_m=+j9o 4ʈOLz{QyQЦж "bLrXZ!߾;J.hNF?'h~/_ǐ!4!?b?~H\hPp}7a:QI|̞w*o]r6A3w=>;k*]I^ Jm,>tP6?!0ŶV,?`gnq:eGVwe#9ݮ_CP]fi$'t^y Kq@ L`5Jx9vThHP|R$ )XARa74Eۦy#x:. bHd4H;-0h>P/k!$L1OyίZ%\yBTRM;pP5n(G9AӧNY@Lj֌j(\&fOFW Ĝ`FkRe-~9tb{a[瀘ب;#/:|I_t[<$ȩ-,:7%v=LqGqQWѠ (9\dvtc?~a|qK~@ۍ/fzϼttontۧDbGzfj+_;G@ } ™\: RbOD_ mU[__P-psogm!b m&-4e [ɊÝWt/F:(ꆋBaa[|DfEWC44akǎ$s`+d_VT__#s\ooIm9f3Mq"q$.8EQwgv}d83;cJ(C84G9Rl c ;Y ɦ*O~LF2Em۬j~mXhWD580b x1c0zKd-}R {I~)y#ǏaQW5O:bym;y1#vm[wW6v#.;߂ 2vFD_GH[XՎ@q|'$֩"قҶ)[p mk]e$LAYsOA[S]_?SHH6{Wpܓ>̯XN;%PJ.x.δut[qvs@  3jV{йfxa3tǣ)V=F\hNH.il/!@˧V0.Fkx2B/Є'5f N۪x69J-.ɝPD1$c a~ɀ CGVr)nDtR㗑_à׭U/~Vj_ONNO78Œ|ᨴBMq )ـ󃙛8KꞆ8)MS 3WJN-yU]Ʋa4_J^OZ-#6ɄJ?f_'ֳ _:0e893F4dl{wsm'\"%qrzd䴼da^7P %,rMШͅ4*F㪏ҏ0*^K`̎? nC "bkŎyުHa+'hF %#b7}kqs ~`Q0P^'SĽ#ؼR#ۤ/n.L L5ơŭ'E7EN `ğAni лi{OQ^z7 |PkU7m? .࿍@sޝI 6Q囄N.é`6NQ}VuItj5ۊY<~'O`Wj5wu}\_oXY]Nuwq#,Xk[zxabθ6^2Iuh {k5ݩvL4F.Uk$\,AH=7y#)[RPO0ME.dlRG8ovSB ef ^ftKVnAu`-.j%qӚ>\|+:3Μug#}7-SgLX%,PHBt*+n72Otqm (M|k=nZmej[[7>{sW1=p82S%)U/ Gvh=~~3Vz;ZZn)èvv.(n3 gQ~-y :_y;Ș>IDs򣋴AgKd C?GJQc&o>8s_ ? /Q>vqKT_[YYwCxxKLc[@&L;OTa!9QͲ%LN\";В͇ "wNM&Px]F#7j><72i7M|$6 /Bznm8)zt{|ޫݗý;䴒T"W/oJ ɓnecnS?GqBx F71x<Ι/;M,OR=\x©|+RbpmUaoxO%xc56J#y'KԳaz~wj0ˏ0ؘ?ɋp s}fM5_nz݃CQzyvNáT'6[rp#.vzњtXw4yܤ{Ӽ|> Sz题Muy l\zYIɛɯX:8O _٨9/sgg^_u?kCx|8E)wP:gQ` MPZRKXgt/>:C Q/˽+7)Uڣ UQ;V@+W9N1W; &lNEzE=J|BhX1"ހvqrs#0lnS|ո|hh\+6 n lMPPI(j/.Pէ^nG 9*cY K$Cv/ ZzP%ir Sϊ-wޥwIui@SOM?|wk!pXր]Yʎ*bz{j(^E+S(ȃ!j[X@eguAq q8vzv~sR4S27nu^x"pH, i'w᜵` ېɼ:II4N2OpRldSZ OxV3yR^$''IxԷۤow0He,_.al*-NxgK"-t.LJ5OJtўOJn"FNJI~dPf[6k*,k)[Tk3x [x\5zѼ`i3Z? EL)6Y/Գs">X$ژL3,eC4ig?|`S>p̆K;% z39 .>到;~V]Kt:JϽgG{Q5/4-چc׈vr6G>+:A"ug-ȇhJ2DсҾhvRVEX'>QЂ#Pq}'|^;{'s .rЯG\NOtr,;=9 C .ɑ:MLV=v( Q3[ꗼHbГSC$ȗ3=i4)Z ƥ"P?.2v NY9=2vg622)y4f_g..\CLk %lu)?,&폣@+ *ZRhK~tqIy$ ,`˧e׷%t6cn\_h8뒁Y?MާoyK:G,,5ETbfhucy@ A$rڠw–>CX%Ήb$ФUD[hz['Q/v?Oz ~d3xwқD`V"x?6y-h_ {`Yzv$Ǖ:U|K[rVdši-s9sWm_l$sl5^A 7|႓B:] , ־9d۟ɒ K>;x>؂.>guwײ]X2,(/{BK0'ѺѧD3Bv(84^l,<$t䁚.Y]z] _<B.|9K"zi #1mTrd̴nܷ|2z|IO'[GxgC &;v5cSMl.S_{V;|`dep`AQQ.$cwSԣV\P|$Y0X:'ǙIB/t~fT#PL˧ [o`wOp \+H  |]3 JP< _ bQuK3vD:&&ҵ[וm_J#L&"4/6p@Vע+ʺ;d)]?{\/*R5UB)uS_5A}g7WsH$$}I=%%gzcl T9ɫbϛzׯ F7)NzD eĹ Xd"{!Ǥ8ᕟXho &ኅR&"BPvKjDDWs5jԽ)7om3蛴 AW`RAP܄9͒cz>\śA"^cS!FM *8h|M9C V?GfhsP̴Nn=DlрǓ /$4؛ Ͱ=k-.&?H 1\k%߈< ɨ|*Z+֞}4`^5Uk=iA9è+1uuztaH &(pJGE|FYL{9W-C]'p­MEMyCCmKk =mk5GA(b9tםiĂƓ2ծ#D;agI<\AQE[%Dh ᶐH x G$IAMDϟ4c8;%xMEiB>aj?aj"3_ze-W+~E3ZѸrᬵ[.Xk G:OǼiz#&s><&)eD9x,'эsy*!y jp8A!t%# !` h"YI67HǪ[O»]f pN9`ÊI +t;z+r|32=b`58 ִjrnmqUۤ|l-=PBrXݠa"\a]шx;jyۻ۬=Y&e J.s#h;;4_Ma+2ٲ5볍E3[NV#GFj%=3ꮃa",K4@?덗d=-Vjtտ/a8w{x[ܥ/H): nUZɆЎ'NWVaJE$ gSD/-0D_$::p(te HAZQHMeJR*},f7`++a76-|Ċn/dB_v,%$s#OCfnu܀Pl⏰w}yH2De ,ћ(/flR4Mv*"E+P,F*O;oEb#@"!Pd8"2DW8^v>=ѥv2E@Ö;Uq&gmq1ow;xyV<[o'{ZculKw:6+Le|&טW*inqL %W*#W5ogyǤ{7-2ue&טB,TT^^] ?0MxZx;NH iA+",3riWϷE2샟 }V!E (Lh>v1p?4\k{,F{P[Q,{]9+nϛX#^j.W^Fҝ<NƻBH0:n_>Q\ M~]M!d9#?$/7ZpX:$LYѝľOgaL&%llN *Ym tiH5c1iꘄ0S£+2|riA:<`lrUVSCA[mӋ=y1!@(}XJK9+f@GIyOlbuzoRgE;cA6f%{^j0V[j.5Ɂ^4`/Z-]C~g%zYal0)Ew2d3:Y+l>NX#^jѷap@ O: FL!=/e ׮l^CpL)yL&&]ɟbq1 Y0ݜ1PL]_.qFG-/ΨQ^хnPA2.P'6vɃ]5]xNn'5WAll$s:C#iŸHˀ+UM +CF1ZPoP6ZN?9&y,0"6Q X>0;shH/'%KZj\)6ra42R09|\wh1gqo,|&txeii,ô2ssx-)%֮Ϻr!<`K,BW Y(ʹGSeD" 98{|VL" :\7DZ`ܺA 3@<(Y_D|{D$Hv&L:nzBdG_mvZ/?xRyӢ[WOæ Թik%B9к@V?KAi7sи\|LN5M pEtf:<ԿtHXq+ 73j!Z ;QLr$VI/cB$7^zC|1ĬU51xf|QxS})Г?HB||-j@)"*4Ro=3Z}Mk$V{xL_KAƀgxEoavN"?Ver m^ FIM@'9"YZ׳8:"s 4QUA/8ƭe^^eT--@"dЌvŒMBȁxÀ?2m6xwG^Y@Nǖ4L{b'\?نZoɁ`˄GkUbțx*j*J& SdѰ(G $Ǿw#+E.j߲;[_8vccQ+AECsޖ'sE%'rkDkG9bqm|ϼJQG+7-%*O_[M{GiywD5ySD'쑙J"&䍂„ɊIFm[ V-jN9!CQ̮ìicT6[^LDm_SB5;ibS3BamVeNdkD}YpyeA\uY:0pN ɜu6J8=ȶe1.tJ@>YD?Eٞ g\˂I$VaFvlndœ#@gvq)6r~rz)Sb:>G xXJ .銻YӬ*`\/6mw´G ~0Cflm'@‹-Ai7ǝ]7:m<ٗrdt|?YvK,U=J7)!zSфq I]:RҠ\8U=g ~U<_X`0nNC[+G9* /8m ϯt` ?rv{?h75j/hKz-ܯV?nEo}^\Tt֪rX- vf.AH7)S̅`wXeVDI`-!bZCLvs2-;u|R^NN¼zrE Txt"eJ҄p3p3XxE>6@dl5<L;F:l skW{,wP\ ҙ7J dhVI(o嶗f ΛHF\sYfFd6hH4!րVBU(ᵽq^ywѹԾ T~fo־}LEMQP!;,نhrܬ@ʶ>hA9dpO} p[?g덺s_aX *v|['C[D,n(&1v0IQGn]G3+*L7=;Mݹm̰Q፹H5QMcN&lYRd'Jxd `?G`|2zm.'L9=b?>;)`C|adpbvyК5bqKUx؃C;pS{`vDǣ-[Q, gp*oRU1 /0̓?mG,:I^;$CYL8^a=Z>8X^"x5+q1qJ/?ytMȟg!* lcqHe1v2V.x)T2AcC A0dJUFnD6xQiD o>SLMQ/p[.Gsovq (-" ݣoT PGҜa$n`6LN"4@4 HcelЋIoj,9?T$B&1;P R8Ǐۯ6Y}g[`j)Fk=G 5Ļ5 zBg?'ᦄyUo,dS+KOLC٤ ߔE[Lɦ ˑxC% ߺqs@242Z^K6f{ _M}-bB/^ḭQʽ)2)$}_|;,IĝX!129S>iFVWתzO\B8v{ԽsG"Q4 ^04Izq6RV)y[fZoVlWkhm@<(|hq ڛ `$ѽph<¸c+YJ@ olv[NH9y|ng+pZBC)}ڜGO L Od/=<:A3[ednvLᏓ2o#@3;i-RA뽃EL Uu(I4+sB-X4 [A:7WO3RvٴYgk(=U"l/7 F_q/Ap6NSo|t@VQ}$G*L'+lqGLo|L2›~{+  \KxJ*f|}g27Guכ,IXpp3Bp&\ݹ EF|X%g1@l.6-"ENq.䂣+HRiVe7ZKČ w2DɨK<8VS(rw oEre z˒S fK>"xV C exPRPO8(,|ឧ:B[ypM6͇>j˖(3ڔ&|ɓoc])A) dVלo+k=<Z/ fypnE-~ /aWГ]◐ƙ[ɨu/1߯O4EwSQx!=w,5K$Fx~<'mx|lw8[l=q'7M !䌕b#[DPRPqC45J~c^4k`|9՝B0]'sȯiir5Fgߥ^:N{Z|& ܠFJ˜sK`8d+iq WJ &s.n7|CBBp_y6O /nDc^xoXH.Zf]<ˢhdtWk&{/ɌE^ҫ-u{_^v֢!\w.yk6t4#ڀPFQp>MIRok/DJ.F&>/ 5ͽ}G۪fXM1py9w~ɬ[A2 Ӊy$*Tt-\Xv1 wD/{82TW&cBϯmC34ֈq"RkڤCh n3{=<ҷLLA@r=m6)hI?ԁ6ס f,oK=dzi5Z{ oxr);fce"$ yKE8_<݂'C`VAwHB q:!Y/xjwҳr<06gxW.[iY>SǗǖ0jn-Y34O{!IMuPu}aachkEeJۇ;{{,=ٛinٵ< "%F7Ș}h%mȭlJdOZ n_W?JC b铯;gְWG|%R\yG`?dW>RxfG.W)uMq/\ Jbs(Ey^>Af?? n6>aBAxa..0yv.A ZG58%k&'|'ŸN) ޜ]}i> Hp^" 8Wb2O\V[m,um!wҭron)YܢD%-FWC6y0qwC =Db7kd s H;:>ن$eʺ\(]zSSp+dx@QGktF"\i37N~#18'Z=Ʋ ^;h9,lntC_>?T>4U 1 ;6M%`AJF4P ŸA,,ف*F #ij=Oc8&T 1RB7Xl&5LLBVoC{CK0 娙6erq@T8_X4@9bD̒tfۤxD1{Ԛ|ƔG!O&Q#:T+\}ٴbjD#3ɽ6Mn&%ˌ*;Z;@C '6u+1τsg{׽w|UoE}I=]{{f`"2{ȨV*,YْJTWbހ|ktxj(&ySMI Kҋ6^i5AdZnsТA^7 SuS͑`(Pԉ̜uN+dJBd E[Dځ' m@0SeA޶9mfr#.jx 1)n Kxi"ͥ w:MZ?2C1U9'&kxs|31~s)OUc%5v3ow&zلwx:v@U*lM/󖆖ڿVނ  v Ǫ-<2H=FWƐNE[*A OywN$fǶ|L8'`@W~| rtO:JbM˚.&j yV+tkTA+IjV966'Pm̈~SRwbE&z_׀\YaZqG.^䗲¬Q 1:ڨ쭒ᠬGOTРl*D4[X#QSCpz5`^%(^lnM&6Ġ~nXjnjwNӖ֨! Z}f\=fU/! rF'nR(/=F%~a%m'"){863%952|)qy=$ݜDR#cI>XϞu$0"Z>cبH+ يQӍ]cg'oݗ%C0%P9.鯽]{\|{w@5yeT̙b2sS;'f>l; [:|JyFT\P@׸4+fz)n+-Fzj&enW9X h=xœ'[H4h)s&vNH-Ek+,}[3ě5=q^~ z6xO"w7EU=,1rYyK$cJdCcLh pMz<ʬWp& əz'XT~I)%ͱX͖#ބe }ѭ?5 hfOZd Cme8Ϸ2dErgh>_ҪFQ"^xH_\%t(3ܚ# Oi͓)Uί~(@Xo~NԸ-APꟑcy7L$6Oݓ+< ɑjGJ 9coF*7 %"L ͎mK[t3Sr6ΣNC#B(S1jx$#f!(` HQG'h )io{[aK&e5H%]sҌO6H >Ⳏz[~{oZv{zwݝ6߽U8_M~R+qR^v\ XF[&0]q™I yIFZf|XI:.q/Jjn.X7 K%s\eLWo!7qhlEޖAc6R|f6ыp9w5O4VGy5 ȎBi֙ſm؂t6^o+AdBW&RXK;t|}A8'dx jWz ERPQ2 xfj@}Ϊ8IwM(aXis}G1'PKʱ,:nY|k+[E!|ENĖ]e@lD bvƱ-%fxh*At\Y׭1mbM1mFTeou>f$}ú>_Ҭ> >5$qk0_?~.Й('7tE!M"!5$ω"O!_} FcMA ,9[!4.+ҕ!N3Ht "m8YX1_dfY(ԧ͍Y1+Q,ܥv &;XiRĝC<Jc%L>'ݳ#cM^&ݱۇN 599fN^HC?YcAWD8oC)iS~,ǐ=VY.+2KfOR{dLqSpIhK#䕹͙! л!7NQ1RBiah0r.~>Lǚ\3`!|O?g s ;CxN0ILĨrl\Ed[Wpek$Q8e3 2};sN S m%<7Sb̘I0:/ R.sLN0am6͞)tlDf!g5ѹKGy[(%|Ժ8}DwN#]Nܫl[& eрQD]5O$TYQ[u>=Dz*/nXWhX|eӁ7TE6Sn5lm-H#gޅ񍴕=5 d" fiZђm:ybLu pdoAhb;l0687!D]@7ċ?InZlc4zFȈoB;I}W`)қtVVdҢRKP\~ .,݅\0NOh@c4ыB}[YR?\Jb#Vi_\_]Tk3Y`Ll8Ǽ֠ȝQ%ו߻j<6onnH3Kh9-6:%R)/)O>kڵT<}w^ө"xf2+T$gd߯[ީk-\;lI"TelaJ*IRe4X5t[;SANdgAL!xh8T![k膶{N޸ Ц4p;}T^|`OJ^ܫ؅@{OF˧e :>? G&72`ˆvDë> ̿)&y':ONZ^p*u:LUBCJ}cc<d+C:ʍ8*#ũ;~لummkssA{ދv7˻?4|orS d_K6ԇHt =ܱ]K\Q1.WP"D,a[5Ԥ`<+w*%J1=J6xoF S.*(p 90ab)iEV#2#V8[)qtqHb&lY.dK@͸H/T9o ~=y ࠄQ+VMPYQndtމ{IFFi?E|~SGΠDKSQ f+_=AyHSGf86=z##dLg߿3:` &ݳT(L\/ Ij2JvQ< SuAK =?Yq+z1#O; 1HBH拻뜷!|##*=b[@4D[Dj?n:[#=vUQܷfJMv)R|DE0 xS, g2c+c}*Їi}0!)5:6C[XK\P1tӛoQSB`;FHRPh}+p/,7*x3ޑKuť(8Oc}Dۀ~$s b@6>Hi$hZiC.| y(pL(tT, *k5վSZ* Jn,RjZu Q]7LH_ZЭ*QJ g䐠g(՘zgLv! OgZ/ƽEk%!m#F9@\hhr~=@k!ZDsǬc5%SEb*fhC2㐀k.}CnzhT_sF^A mR ^fbh< | ns8_Hʥ Z 3FM朄x);׺±x8)3L,tL&y-ve,|D.ےXJl}p|<%. g^zq;[HXn`- ߆U7zySP7Nqy||,Zvz`G|9S}eGGol6]|O)S]a.w gQ ^`eHŧqputz| դ-@T)PYh)i2f1eՎ(SCo{*pEǡ8 &z_8PO w Y>EୖIUxE!!#?xq~A.W.% lݬϬZ 1w~b|x'sC{BlVB(=7wXӉgB6Fmr"[XC'L0K'k*xO]L3!\f*;J;_>.ɻR'Op]hhÌV=T+⁰Pޣd'vc@GxWKZzڑqx9F HlnK%3z# En/ލ諐g{ P0F &[?"hS0h쉆[Q35݈iG#Tx t/9?sAÝƠCA ׺D>UWoh[khFdUQ,ATu;m=Ǭ ij*On( ؠqb|A\ Dq@Ow ZV2ǧ WA8 nV{O'"S¿h  +/|)-c!2D% lYsQc̕*(DF Gc1Of,ovh/U7F~@]#&8AB=Dph+FT6EE0׿˽W{LO&'q "0NR+TK1u%^Ez!(Q(WԞuFp;>L):XsL@gbgb2lôB76!`` ~03ʰFӭkƽprw`wgh傼 2(KJɐB$3z(D8c#D U:DU&O8 tJiؒ2A$m1p ]~MM~:n?f[=*y&h^dp5X]ZyKuCpDjNg"|#cS3^⿶oNjSfeq|!o'KO.<_vO5Ud`r߼naJ W7 qyP nW9s~ XdYC 4`MZTlunkvC!=&k~)kMq:!(O@{_#K[kpCTu6ŧMPdGY˸NzTA 5"Їȫ '@c?/~Z_,|.c" ^Ÿ:mq 7_]52掙w;G&-zwr@V_YSPBG ,bnͮa$.u|TP_7q6Mz;{v&D!99e9Nբ9*%T$>1=RC\C{+dGK-5v~ds=;p#F㛔ݶP#E^F >YiTO/|iOR%09&'ȹ r^zA3L q^ "ІЮZ/ 7/x6G9ZJO8`,s;}b?NJIiaOd V\~~L#cƑa ަǷ+"D :,cFJ#2O)om*#xWy 7&BPveřT-s$JbXiLsp͌]8-b[PS&3У߈߀g@5>gsT)n3Ia$#QǮeҦFAgCw]W$YƳi3%3z=^в@ܤz D8+N E]jry%vgHEj^JB#mK3I{i 'ӯ.@v£,<]ؔ3TV 2XK}JY3` d\}+Sh}vjeq1 ZvOD.0BW'<܁C9Z]'G#~οK^ /iܯKcG(/)s۩q}2jblTK19";6[JVk_şU!7k/kwx g;|N>]%Ia? Ė|0FҬ7KkY o HqPd#A\SeѾr13y4`LF/[frllh [aR-fa?glY7zF-L95J{Kvs|H6SzfΚiβ 0 E7`,HÉf^&/'`do=nSǟQ"W,yhIϯIi?ɓs'f|IerZgʅQu=#cfͅ5'o2Gq$䫨I'ms (-B+ӛ>N]93ENNҊ%|jՈ`pЎK:N9y2\,]ZǦIim>~4'7N86% *5Ȁ!mz@n1u'3h^ϟzHn}/'"xNt,-YW~d aP4#Bc1YzFNc2%$L">0.&Ct9LIQb, iу d`ޤFڴ97"uSpk%]"4l^`'<:PBUXi>~p] ЊnobXX׀6v^<%%[2p#CN'Ma缬5kVŀzacy io&8F>>"Јpb"d?#Aaux֊:<6-b.d[?S m^Hy[ otiDϳcA7VaS9on!VsnlA:Sy0Sɰgb/yrg1pn宙iV蚴o5 pD2YL-N~ԼR1Ȝ Jfzl&#nvLlMio-< JswzΆƸ(-8c|'l= $x[@^`ESbVq@! 0&PN}IL3v7%NM-z~+*=+G-h#sҶel4am,9/8$+woyl2P¯1sR7W+̿ȉ?25Ty)Px#Uu y($}񈸭x?xrn90|`'"<.[ZQ,Q̃Tx[B@r<.4ʔ7JE&?CZ?XEw2_G #CܮWI={0=,[FŠJTva%a[4>/m[h ՊaC!sxLDX'v'<gC֢ۙJ _{&>C *jTFt \{"n MwuDc@.(vXpں4n 0fQHW;3FXb[Z} \Kqmsܝ˟>sʞ}03Fm2xO}SHxw A>؆9`Q.@k@k-RY /\ Cϖ+c?sc,Uk="j'|u{Cod3cE.KD?*!AG?u' D^h7E n9Z6T&XxGϗO/FMT3H h^\k scJ@!CN(:2Ǡ9W֨(j@y s;q>)Q`Sғ'<(o>٣Pkn664+솗16UvBK ٜ`u"Of`}oX"T*czzyLv 5#yMf_wI!#u5<9͏뱦ӑܡ Okd: i?_;8)$i{-[KX:[5%N5'Cp,ՠQA* h<B4TV8}`&RU&?qK;#v>-^% c8 z!!2 PH`;4s:ܡ9zTߙtL8*ONo{3wKjyٶ<]-/OW6ޞlFΊҗk*ɫZARN~=zHHAܘ#^/3x|lgȻV ^8x$ nCJ"@ss {!P"``yNsvs9ͥBӈgQ3> +O9US2aSVY2w7f+J gQ([QcuWe!f&&@vIw,AVm6MAnz0ج A*|C&H~۽xCW#7b0` x!D::BN%ѥ,\=%xQkN<ã|75gS5*U Mus ܨ2=9O#^(hWv %F.^fZi_?!Y<3㍡Z+xh<s9M.럒5=!-r/Mwvߠ& x):+=bDŚt0g$Z?$RH\*-M?N>^/ؔ UJၻ`.~ʴT̅~~Xynjȣ +" cr^('<)<0s2e̜v*SBo᫝aPk #tkco? Laj1DJ¯~{sm?~W! #% +8#5[P,GITw HM opc3KoXaZsl2:T8 XA}E<۱n=(Z"ŅivC,x8?d @4͘WӌTI^ $|̒q+Bakm_ՄB{ 2bt\Z u5DM^d kWPw21dXɌ9m{obң~﨎nFaQw*te-bfdXds;Z(d"XNLuxGG<]Xmy8'l ⷚhW[ziʚ5lgxm3[&=HFt^_~?t;g˴RG#uRS^KA>Vس}R]Y]jZo*k=YZC}>v?T.8 ;cBR[&ݤQz3_w=-tzvvBS%c0vg=pܡa [~ 1vFfhha:&͹}g, MN&loJl%?Mnҥ1/e7nuKlx/c rd0s]7cZ od$[r >b5ͫ |z\ bPsu:n" >OGɇcUə!O1{0fP)m%U]27ۤfn,.qw=ϭ7ټl;9f,m}{{_Pc["SǺn5e`"7W8*뮯??8Xeawi ų]xr~qhJF?a?{w_lfWwz?{w`-JS@dl'Y^fG2Ĩ)}wT`GvRXi7nh wE+ȴCr<-$?kNсS7lM #]Fz+S47?hX!6?EK{}kId.$sS4M=ƦhpmO8p@w=/w_ox7{;^{[̋i{iM] {PۂdZSۇiyi~>epQn6a*w)}NۦYw޽}i [H{=3;BqH)c$M'41" yMHNpCD?c}__umsu[w1]< բp1mX|LۥXaJ|OgyPg.wͦ;l?`[B>}v2Onw%'e'w_|gW˝REOd ]|ggY^)dHlNUxv;?Y>-V?N;9"VB#kqyi1e!9Z"G GقQ1OnX>#9`(}QYMA;wUdȲddyNgUJ3Z'N7(hGUCֺfVY˖v}[pԠ'Yzޚ pMj CZY!G$ 5?f2ؔ9d.U)KK? w  ̩&~QuOoF\ ,>ĩ(Іfv71T,p>z @?£`jڎ'5rD+^('9"$F`-UwmC*/w^5w~;حXByPdV$yh-eQPu"9Ho oUD3Mͳ[{7CbQJi3e͢?~wxĎRQrb^|!'3qX] B}K!%*ګ[=}g<8iмWS x>x~;~}݆^ޝ$~~sxϧj_P)*Kr2e]7|onڟ r ۝X6_R?:>|Z0~^Åzϋn53J?E3io>uzgM}0 f bl~USIږ]>~rU[I/jeidfE~zn_=?) ^6O7OPzEKONڼ@ǟO/%  oϴlc?͢/ˮxTۃT:Ū>C5W[z5>zk4zkúltW!>_=_>7aF kz|' o&C@LTle>gggc8Y}(n&hw?oaSdm}*oQA=Άr&H> Qv&]>kjl̷}әp: Ǚ:Lq&,Br&Lo(Y.LFL+L+ϙ6f:LV߁u&ѳ@0Mڨ%IwjyU8'HŁI92%"-md7(W,&Պ{h"O{cVMNFOKw½Η9My!eKiF3acoZ:3T^i1&hݼ;L yՙpVÙ֗ՙpU;Ǚ2z^gfpy~P3x0xg™~̈́5kQ8ބ#q7榑QppbUۿ=Howx_@^O]{F_K~kp]8J.I4Ԁr-xgWe|b\ڛ?&S(YQ[TKn΅w#- (MygH!BƷ}VsVр'!Kl99|C8# ee^[ގ?dxŪ>'QypT~8*pT>*1y#_%/|7kՈ!1>=6(;At 3!GD1Ln׃&S4m+Ū/]6Y|3/I:~V0#sּ)q}lu.3iWjnlGAwrfG fl fip5( {ּWFʌ}&`ɺyFoo!Tno<ᓾ)%X!" d׭\YFv>dTKj?*Lfe?|QGL( d0v<#abs--%F ]3V9OI+I)LP@G̛̒a2Aw6ЋafA@if'iMW =#Qz3J~ܤKc_.nzt`c':BFV;T؁iSM+a*%NeS"R:EiߤmVV־5Z(]K;tǸL&|ۡT9/&pC8 l1m{g5> @kک[~zAְ:gA-5@/ xgs }$KՑG;IzDi˛vK@obXϏiEM +趜%!rPl)v?_ZuPSlOG^Uzx\tG3guȾoZnN$t'e:em7y&^N6v\ǧQT6yvR{?g@{pr>;2GI` 9+K-#8)ٔP]Bmވ3Z/[qjQV SI.|ŭHL]wF z^ 3>hcSҮ& -gV*vsar8up!vZNFRLG$-QWV`xyk0H{hr=!5֥(H]M{pkoz KVޱ z?֣-vI;G)O'ԗnl%\0}x*@H7:L| dJJT#K֢s ya5/O{ AnҀG< -s\ڒ}m[.6ύ9/[|K O ]Ղ. ?[)kSFͪi'5V j45^ Xj55v߾ dž=-jSO ꣺b;ks:AP {2ks.tch[59?:Ȩ̹SÞsʚÞs!\̹ ְ;D9]4x {εga{ηavLX ߜ>@~tu{ιKy=Þsa9ωհ{($CĴxoFÞb[-԰\T װYPs“j8԰\aϹ=сC {1&Jƪ=)ZÑ0R=;js1ТP92\ aQf {UP 8>9Gܞsafys{hQ.Lo[%vj~0K_|3 OZ t'lLrZi*[F]Ò:7/bUT[߀Xxױ o`S5,jP^b/TO X 6T]I/k/Bjߕ :[=/4R_7Ujj 6d@`VU췊Ē+|UDWYB`U"0A0 i6H&e:b7{ 'Xc*b;Z3H\٬ 6VD %kOeG@{cC`u'Aq`ujG`A%VqD@>﵊@`hAV8iq  b yo6*вEV7xu*E`?7@^`]R`mu#%V2G8 5Zu&/k@jР@@Ƌ`+kH@>E K< "S(ɦA̧&(ZLj)rfUEUEUuh!lӿ5{I@W%9bS.kk:KS96:xUmꪆ@{`x*x ߠm6H{(߈7L $ԭk|*NHHArNAZk"I0&5iJBM DK SGV UIdUοT _uj]P 'ךU D>>8F@ "*1IZU,. H $DUc jbC1z";2}A ^]κ=(:pdp\ԩtG!ZS~ZRC"]f-ƩΞ,w#6XJmiϋXVDÍ6jM+)!M`ZmxG S׻MS;tF"(Zs)sMX!f>͔9c/6JRk)[4.VSPlY{)Jc)mc%4S}]va0*ӗt2^ })c_ -C>:0F+j sYS8o|oT\!%o968m"|#P 5,1l*ֶu 4 ]hk=)p]f c^ 5PB _}|E(R2ps 4lP pC2 u.SrrYQňֈ5aIѼWIŵ(ȥ@l@Tb ӿuSs _>4g Kukk OU_g8Wq ;ɣ$yjI8}j6u)5M$S58{꒪14MLw\bfſspeU6 aNmڼۄ9M oSӶ uIϥ|6'_k mZr;k-:}q6ĆkO.2}hiڐ ]v~W_eY*L]V]xǞwʜ2C])snpʚNO?`vǞsBD)ӫ2B_&Yc7I!C6Ucس]̙bS#9,:_iދOYpy6+>e3أdS|ʜ;Q+LY]L1e>[4`{E)s^lybʾcSaE`%{9c/;B`'ma)Ktma)KtmƞcڱCP7\Vk2C͙皲8jcMmQgMY|.]WYjU8V _8gSǝȼ]e؋c'|cٜD fw/6egN|)=v~o PY` :Z* XxWκꫡUwFG}K`ViMҹPQKκlaQ2EݗF&sPZx8*":w19HH=ch8v]jQUe zY/psJ/@p,ϫk3NGŁσy?لCE>\%BiNO3DY6fs :jv|Q, d7VB.Ÿٿ` E^EAB|;@X|)*M>'8#8byqn$%mj T7Y_ኍu0( љ :էpQ_i6VBM-o`U,IučF}eMUP]Y@UݐTy 7p j`hSG7VŒ!b)MŰqbhJ91r/`o;_vFhy"(*ZY .8nd]l":Z1yVLX$4JTP@dUrb*F~b*xbT*ި"s֑TEFo[i࿸=Eh)q@ *ƽk@ UI"b7[8kh[ulwb r ."uU -aր U`AYl'%`aLC?t:}k::::s,?wKpZhͷ=8J>\F8K9O4;3 2܈Wƿ.ҵ\5 jEwU ;MU:@V3kC(s5pV_ۢ?qv62Vo CT FҚDv/[ G 9$ ?ڌ4" ߺ8kh(F 1?E"݄D&H~ըx2!~w=y-rOӴK5)\A!pRWj)?L֦3/Ӱَtf64U&y9XPS|?YeR`Ypbiá_9[KQ'%~*U_Uؿdo<)mĆ"zUBG!^ שwT`XSh! ׉+޲9S?i@[^慡 L7 .}xÛ7o7~5^ҳʝտ_g[1￿utR7F@A]<܅=ȩܺ Χo}V*ҳnr7i667.u6P\tm <]p]54 ',L>ZǠ;uʥIxlc-u8Wl;s|ɛQKk/9Eρ,0c}􂧌u*'ae@0A}5ЉW8)SEwHыe(򆦩Y[ӀD1Ac0Dk`<*!V@4v[{(%BKo+w` 95ab5ш`C6Dj<}_A.kA nCLDBʁ5"]F}*[G̋ 4㸬=?ŗ܉ #Ύ /tJgM#%O*U `Z}Hk(y @X#E@"VW"EγXC"b8e!sPRUKP])__m~3} EyvZMǔ.&qK{)ߴ?:0`7o8ί46nO]݁67{:bK{ow^KG˻xc|_:էjnd6r{C?ݡe^!Y=eWλ7ouP7h#*>h{ƻF2wG }wgP-Z:{1}g_^3xw ]17,0LYί6b~vTwithF2|;r.mlz H`<ۑ.!W;ff8_A5N4aLkc_Y#֥yo?sl ROUC@Ymb"@d8$PuM?Iqc )]۝N:vF6dD Ho6Ze,k+ː}굆 n`ff0Ym}.qUF}iy_5q^hl#?tN/dMύ8gOCCxJ FίZ;3AĐxok!fG&qe?:7 Hvdy?D@&٥q%[Z^?h."{zyojZo\ t+ƏBEg *\n|0fI؆fB_M/;h.x]Jr(B]韉':U|YvD zK̘Cca}WYyV rt$nZ&%ڥ^?D`e=*5 =UQ"eZ@ԈG{Nꋢ#5B%G1v z'(QÄ6+^X)seSqy:08©Ob2 xSJOM}'d0 hBprQctB׬,=mCaq<;ǘ8Df@goSxV8 r;)ro%xem.}+|T5qZ|.mQXh{0>}w /cQQ`2ys)VF#j|BsїGHS5mK=c5-!^or7 h{|AA}oGjx>*G(o]qv> 1(@Y*ޤY0f”UJVSK?-GD H9r> N>ON98_ _ B{*p #3[/W$eQHp3H5?8vKH6ߺhФbBf_~[3  das9+1P'4xV7bg tL*&A0WĕD} (j?|`Xa,W:t?j_)#J?'ڛ7.+BSjԶ [}s`⻛Cx89\wz[OW,jo&0mc!04HzDphöd+a] CtAh+gt׃, /x@v[,p,BNcC78Ԯ"RR#*sdiB X TQڽ܌UB1,.efD5k> 0eMY1m;s EIu8BgdxAn-_:_f4]8cr,g5s;[4R#Қɍz GQGYl9>L._ŷOWU=8"\{c!1ٛ4l IbztȤV7>IdY7~oc5$y#}˻ә;I;#]X"][Ut[1))( ٹd' ͌|[#t0uvKx[ KRƢ{L2EZQ7n}$G]s{ho<7Cw32f+\NZM*e팵/l=tNt1?*Fpį}TJ$A6q+]T8y$ hb_M*A92^NζpuiL<Ys׃,2§Dv53-SY:dR0ARA69~ш퍲|㳐 q@à,4Fq>2Xz \3%A*DXd7QCr OU{IE8a9FF^KqMCGq?f)%[?,Vj_[HʔpE`zH9yA`zZe#Fķȷ)}v zo1\>%hK{Z3xmuU}fWw*mwU}҆Wm{08<^U,Å}UJ_UUJ[ܒ}'VRw*?;‹UTid-W@T J{`ѷ*#U}#@ゞ![N1u& >}SҮR]7xnH\4~m6+T7jw߆w ϴT}JMU4&h Z W dgmZy60t}c%4b.:Mw G#i9Lt\3^1[]UL?][n ;3r1ݐ ̾ʣ1x,R)`x>ӞlUb(7WQ̢ݔU ƺeH2F.Ž,l&Fb>I˂d[B$|Zk H\3.xҙ4y}d/]t! FgLo m誅6C98XT@+Aڕa5t 2]ۧ%L M3A2~lIܓ>TJuWYu iу-RC*viۺݽ) wl`vafNzZ詡fWbןRԌtԔvO;] b2AjzrAWwD35Y ܧr)]kiwBۆ  L%~`mvCYiʮ6rwCVly bj8I.eZ F0Lr`^1c+Wׄ:M-N'f#[Aj1n4>'Dv(I t:Umrj"H{Tt;C$s uWgXd ً;[oGzjcbnMl;Q.|t1 6#PBjs{]I$Y7OlkvkmHvdf:jm6M[ܚlw`bni3Ab-Q?rlW[j}M8.ځ 0CC!V#X/ͷl{eWU [mȑmiˑ\{իQ>vʔ#9VjNGs1񺭻2,DZvpmK+f'CݵUgpg7ܱV}RV!;uet2U=ۺ{t3uۖs0f tG=M,[dje .B]罫fwmH5]r3Y/f;:흧Q.;]NR տz 5|® Va+LT?ۻqs*Ϡڟ8]UvՐ$l_CSo3!;^Eu>U:s혆bpW'mox!frap0a\ӡTkl.'g+l}Sse6jEَnjjY2+lfظ+~v=<[+4&dneξ"ypTe?Ӆ1kJnM;/5ΧMFhl[7 LsfE|F Ru?mAof3ޞJgs##e쑁ދ#b3|[w Jǫuu8;3%܅@BV]>ei( bti؄ۦ#~tUE^62<ãʞ]{Rw9慪yajsPGd_'b]:%"h.tQw)=FemKs}3fZ}SowÜA4fE#Yq;;i̚h V:G$9b~ҦtF%)M&ѭWnp ;KPakRkݳ.sG4t^Ʉ]m t+uWieXnQ-ny+Ԥu^NN\6O@cT/Ȭ1cpw5{!pUpЅYq­=<_bAC\h64tJ_̀arnqF$*#3fiXzRbu\Fw v7"5gbtJhqg*=n`jU_=Kw!flwfawE4c`DlL Dk`vk-eL{2t]26M⚥X!Tyw3nm)ۿ4CSݑ%{[hz C31S7gm<"i⸽3YEE R ww/'5']sd4Xwy8nSu?x!g^2\)oZaw_K8>T93G+HH5^KC "jVxO}/L,h[NdɊ.^]'Y)Ehh 1Ȥ~烗_l`g0.1э#A0t92=?hq`dv߼Dhhv*.=ڵ WP7_(b⍯rˮk]^5IJ.Ϫi,{eRdReN)շs|ۧqkyhQQ*.a I@Ih]YE6YҸ=0WwFPoH#eϵ5Qv:զ |,,h;hLU2 Bۺ̮iǓZI=͞ G4+M0p{ͪi;T00CA 04r :B7 N:74$?hXfY@f5-ئ,˿ˎ=V V5`SgSm }{# nVQeK$oT6ǻ(Ѱuw"{ 1`9}򱃒\,5jbcOeEN +)BBO"U}RshƲJeImEX}qYu Wtfi18بױթ_KB8=!5R^Z5Ղh" 1!`:dUJ fZ?y[6-)ILj}5S.ثe%0E&vI2E NgRՋ؄P z)}5f47aZvX#һjEJd&h^_;V qL1#{X8^lSkUEB ̽^= l}ɊpVw٪̒bYTM2"g?z֌nڜlW q= ͪVzm m6[n;kpЖ۷o2oٶ t&ME[Om? <#aÎOYFp7u49)/Eopسg.}0<|/} o(ӿ}㲏zH)5xJ@B"86̺xYhJ0m(WS8Mԅb`bGB"_z+d>zoht1_zgިĬmg&e3Sͦ[ 48sl,@ ڠT~s)"@}C>ܹ;Wv;cLMI^YS8&,;lΉɱݰڡO bPc\pGjh;,G(A0S]4A斫͊ 7bAyr=H,St?!vov!Ú~Y)P iQq2yyKvKGx;=D`!HALlj}]oQd#h <2hQx]{;9c#M/nKAk,&B]J60Ә' <L>{h>u^nk7:m)Gp(Ќ.Hm|I'"%pn 5KSkMZ/.'mԣRi#ѩ^qL~#@ӬV윇pit}QhR*t<~lS ڷ!pnmw2@gҵ;2mJkx4#< es\X.6QZmV CCv%㘤3]GcTy֎(&Y9t&2K+F4EdKZ~WkޞRI-)`_ݡT lHP:6&ةtu30pg\4Ż5DnP+DiE@d ӊdK [C枎$ gy:u!|mDI@e\@ݲ%b͒гBpCڣ+ EJ{'K%L<_,RQUWFxTҙ(WdP=?N2>tՋpBN$_>Yo{T^FL{nf~u93LH>2mʴݝ"ic9dֈOIgL0Ec&XQZ'-ҎIU+9TG'(6&ߕ^:""r.slVf\iBub$3S%7RuEVm/qO)r+= ړX±瓩+ޖLO5jH0Kuab=5ykn-ΜL҉ǁo|coLibZ{}vե仺BMwu)xwt f]] gե44vu)qut%SH1GW ݙc&, ʎ죐ϵF|JVG{3pbVt3!*nkJ'OLp&ŦNN_UjjbKNno؏ 4_SA@ #Msj` t\wK3ڡg&S^>;0pt(mm-cYp; ˹> !Ryު&ҠSu}8v 4ǎUGoSu":u1R,NA}s92Aw}H)54/O'˘C]}k(&t`֙nKjŬZO@kƂY2&uTdÖH 5\ $p΁֜ ^ ΁:3ǡ炴ṻj:Q9Pʼ#9`!fuhuaht]ؼ*LgBPz4\9yDzadyYrtBA e[4@Eh2!gV'm,ڄl(Y{(JzVt=!S'%u͉n  T."fj12P9B`;ƫMP6:6PLhL(>L(ZuHYdlW4W4W4^nm(['\ݵ8hŹ[hZb)?Zi'@[nv45Sk|X*PN66mϪ2 *~6gA9gO"i ?vNO6OaXw,;+0:E\-fn?ynt(szb]P@sp4G0ݦcLޙPԌGV}m7~+5s) 4dWz|`ޫUK`֔fx\{0 0*sešah`#mulg$3#L,i!HG-d]TD~Ffp"̬0]D @m4*K CaΙ'۸ajfn('{^3v9A)w یQzw 5m#ST\DA> Vu͵6T%nP霈|$*)(Eþ9Al @ֱR; ^4'wa_mi( l4@O $jY&@[hJQMV_bi[ɛEZJ!B\&Voﺳeb<-Y&>`Sܻ.#`2'\&?v7qИY /qjé Xm>0_00ML(̸9?ݘ>w!%Zo{:grA{άCy</qZ};6DLĎi4Q$&f=_^*CxǮ[-o,J ~j<]g0I6Rm[$u7j>ܙG5jHx˗\:c{?Ě}G=u)X&Lo=J*8Y6'tKkVgGFI܋%]r1?,u.Z +nٲmvt>ꉢ-`z舑ү FbŊDl1й(wJrc8h'!bP>G!XDBr utx!|Y٤{Ɯ2*W  zoB*տ"_|r{)R1*\6H nB_7$]9 #2t{xD\4kJ [N'D_HNQZ)u{2+QlDFh\D|Q)/'Y1XJqL.ВR7*,~"^!<- E)'&۴gqVĖ We CfyV*m`qY՛ڗvXiY ea cXYrЂx*!tY>%;tyEY< yda:]йF܍;9wah߱k zЩR A"m94Eur¤8kpEK3 8Џ{e%xofW4='-YS!:zZY"s'ri࿕oZeZ)]{T<@#qSKyz]ѼqbFW^hM3<v:Ta-)g>P!PlGRjw9f VKpƒ;v NRDY7Ԭ&+T^"nG]s+c u-NU.peV)V5/CWr^^ˢose0mU ~}Րƨnn.sq% $#] ئB:_F 2{U<)b{F_acYbJ3ی>t2I+WB=jFNg=xP<Jv'!H8liN5$ZoqRv̗f.,`&KVyR82X.R$&Fy۔R^y H0 w҄{Z O`HRep%\[I&ǚ8 m<ʣK߈GlJM Z$eM#7]J(ٓ)OI,I-l۶exx=o xWꝤ'/ܞaa˵mެ;ބTe Ӊ {iGBiIbo2l&y` ~44F7H!+AE߰@1]5ps~(::|ucUb+(>$ܼG+4^KaiawBh+Cki~JoĕoI75U8#ds)cVzU nGr`>r.OvɦPVƄ>͵<OIq:%hR]T_]@`#sJxh5a(:Ư,\Hƍ{R)9e㊀R#oJkpkB3⨈䬯+l7fYTN9zCnV Lx]ڮTI@I118=#f#+7ӈqDLع~ND:9_{6P^;Vd[sFCC[k$F~,CvB2z_v ^b]^IjK vq0~MmaEY ӟj[fupF~ʨ9yƤG--|ݴ,QC Q(F, zb2Df5mS<}>L[PN0t'?Mm-a)( h `o&LNtdI =[e2N(/P}D@ZAsE5 @*j%֋\#L+B"atKK"+1iW,UmFo7#Cz,Fzm?-ck0"w]p&A,-BY&K_GF?uP>~Ul$)w]U1Ak51܍VW,xCVDMϱ}E-d:v qq\-N=!S&YWo[EжX׭ţԴ}/?06"ŜF'7c}?1B7Y)nKNZaF Krn6vp܎' rm-̈ \6@c?H}~'S0A~x+U5=ЙJ<`QP㈧\rȦ,Jޒx8prX&9~8*3w}4N>ZUftXŮ ƅnʰѦ3aȼlFTJugd墐8yF nH!+Ao9;n>rtfmԬrOX8jr<_JC$յknINAza]B3xv?(Lwk`Mlyض]j* T~I1~舊^D₹U05W-{A4 D;PEvU ]Dݎ' PnjoV/Fa΁UX3=cƆÓϭnfAH6$4is% ?>ˀ1a7:T\FJLLfE l6s `I6I]UB!{::죛FS>9xi n8PxW`P.\ш. 3@RBuÁP\ {Lq^b%*B`X#pү*ͮn`Š*`N\6/u 壑vcCX8:[mv; B=Ep7:i:K櫢nm\rB.Y8TPcJ Y C3̤3nAQ81,˗;VmVRVv6)gv >:E?ce< ;EI^T'(i ©}e>܉`s2)đ/A(IbH  ́-M5a|Nx*NaI,ǜEH"\ 8;XZcxb&?| D*U}"ٙ{':v5^6V TӰCF 95Ծprap7-w}e+z)z,>JCa4ޑ/sGؐbY\aJIo ngXBF)̈gܟ ꒱a W7ؼd N'ٴNɵL)/S?TRx3(ISaOUY䦔Ԝ J:g_Rʒֆaa Bߝt%4V ĒEfҡ}*b|ՕnOG'2Z+j: M+ L9>닢 5@я֖ zMn_5e[v5;L0<8\̦Ԉ0fS^lnc]5>YX4:^}sd{MMT&7lm fqML7#wE*{f^$llJ[+MOb"]kg5>O[\OikCӦi- ;0Ŵ9:8KTH0ܮلxOlgB (…`0dpW,]+9了@u&'+ϊ()Pxx֦qmH5U(=O'nruq~kfE.jH#֒_1!d~輸p H i6/![g%۝)$0Od`v^Ijn5+G +GN((yrpI  +b@brYE#Xp̲utP`(1ny7bPFQP^6OfUĔHWDЬW$D8޺vEii+j=<96EqȮlէprͼW1gըitP/iGE!XVvSceכtl5=9H5=>8z`&d:|G״ ]rM0,Z)' <_ts# \0:5G"X& -JS\.J q-0X,VFYVjaB6TLTQ!nox1SLl+cʜsWoa `X|82]Ǜw òGX΅W3sƁyrX%P ]aϳE`MZ(7tr3r7,Z ji>$g `#gEBy` fEjseY?*SBPk`+cJk *1zhlYWTe ) E69 O#E\A(\>3] Mdo($ZZϭfϘq[D 85=^{ٔ2z&ODf!c?k3tJh*kWXZ6+cHxMD~f5]!j3ӜfaP Xeծ5Njl N4ωcS/W$#Kݣ9, l%x}"gm:@m =TjZBt]`,bbK5 "Kb 1XOגFpY0;a~(WIĤkݏILc?J$8DS 60n#&;0V2~z q vKbd%C/aP#z9/.H,9&i Ho@q>P~Ҏr㓞wpwZO(Xy81_FfcDB688TBYX62pAjvx!$E=4",;@q@p47b$:ղsLCJT8N$:֣P#tO`r w%/^P ~EaF¢n# (a7:?w"&D$hBqڧvJNӫ7=q@7ILeP| 񦅄NYH Q8],š9Ӝ8,|;=%u\%!G_k6ŢD`j5DdD81k jn-\4ŗ,\0AJwjtPm1_a͍3f R2RvgovLO^ش >%>cشR+ZZ t/_ =:3,^D8@ Wg^ոL_* _ZeB 1O]OOCE ol^Xd 8`ŸOZ@ݙ-ĻY[ˎ* Z\~_ 9cHfBv~˺j,p>C[l v4DLF\tHal$5V% p&MCJ%н>#˺FInR;McM ;" $SZ WW"D;G)Fm<ʣK߈iJ֕u1!= y[{eNmIDAFs< Ez$lZOd ;]O%񖈖 W |YL= I rQ(4@蝇QKd,@iުTL/"&!v~KqRƖlKd)1o8nj&Ȉze&DX^%$3Der)F0YSUC\12(0l"=12]2UB2 &*^c2p2b[ @tܕeecdV[A05&Mq4DxO4r+; c2t;|');/{i44?>"wP=ʂ ZD2B]C,Vۈϝr谝MÑ iI&I)(Kܑئ&L|_0`\N!TQ3#‘qدiPQ]-5r~%Fex "NO%yj5)ޡ@:UVq\p8c ̢<=]m-5a$1uk` ,Cwg{l 6*ౘXp!D~yOV4$G4I_W⁌X )MڷOwl^?P"41~"8%$\,{0[:? 5Z&hK|ŠgO2Ŭxj)c!EHmagbq#:xȤӐ%u5y+%y҂6niboq@fO4I{ E] Qvb>=1H\iMe*gQFRBjv< M]"E=I܈X`m&5?5^fbJr+*{$=C4󑧇'SŽD²Pll'lEHՄ$- w4ܧcTA\!KI* #ͭjtU`Zg2ERdP1Iɉʡ+<6IQ0JJw^Ygebjjy_.P_r `8M;^t0EVhix֌UmL;jESy~>t^frIa|Ż&@*{%nm &G$.07hN~F,$ ֢%29%2si+&7Eq[jOl+Г5CLmO[ bL ^PF*#JT? LH'9BԬkr-Z-0L:Q<0B_b!X%B P MNTv"giނe,&5y\{Ϙs'E%-"m}~>/C6X.vRKyb܃3vġtWke "I+QBtxT?k.jpLKȵ2±ˈ,M}_5OFdž fřn83L<,0X$b0McAG%1G>1?4M=k%eVH2a)X]]'9Gn|)xӞuZCܧ!XUFdOuGËbwEMw v\5r=`U jf? BV`9d&G'D69;V}OZX6=8%e6W/ M'rm{-u<'Y2En]Wq5co(hH/2Wl2a/{ Ʈl9Ot Dhg#"*~DBQJK9$pׇ+)X3"5h`7iZArNRB9#`T:TJrn/%{-$7MwjR+su}Qd[2wvZo;}-?,P"fo%30Sv*t˃Em.%? ye\Gڌ&.PCDļ~Kc̔ԿIAr::[e@+N޽gMhKMۺY'k}9R&[8+JiXkr|D#^ot+u5ZJ 0י>Uy*I#neyLȊy)9E l@y:} 1Iiu?t€ʴ(IWS*RhH'"\~e+YSǍh3/MnS<#h6) >czP,Y< :qXN+\$*;uh+TC\JЯp\Zs)U`t+45񸼰-:P =1\M7CEe\U҂Kx6w~DDbUSiOe:@>fDm@6<0ܞ~ E)I釰gtwD:Ƅ4J#x˥ۃi-o_"n(dxq]4: aᬑk&?栓6Z44%e`p}(O|az.ew-mA1\ow*D|Ps!n "ŀ;S>FOEp|4 Mw%q 2)x [,_kFuDŽs9h%ǥ\mv4'mյfBڥ]%zh7麲rvBkJ^)OO%FM#@ GdM FP5<44cV{&3N }iZl,'R,>~s:i-|A,fa/M|:zQ\YBE; /7KMcǂ(<^6["8x: !/db.2^@ 8I$$LAJx=.&:.m= deϨ|#}0N]X:w욡©##GGӟK"kBgJ)wD!| Pv).A܈`F fLt*EQnF+NUe4V u<isn # C m.BmLEr>r?qnQՊexgܷ1t3p('xc}]e)v>d0:7 D(*i[?-rZ lX>+j;>4.5yY^N*ԦJ2݁ϖWHw}|S`DK.H4Vj?AR&Wx\|V@$I꒱슒_&E|'9ST,I:_x:;®p#끱xka/3~9%' mPF'nI/{u:z /D9 (kّ*U9DB ^gYNGV3IY3lOIhR3_Jڝ3qp3C=BmlZkh|sar5 灿 &y .@ 0{j뒦Ap5cS k_ VU$W^Kp\FS a7k30HmAƷ(vMa.ZN% J%  Ve/J.iS9c# ({Oخ$>VT2mod$ABB Eg .G&vLrL=ɝwUL4%;]]Qē6w`dS.BA&%q`QA]VA .:FÑR;X.Iq+zkz ޤ%(NT׶u:o)'PU mVC$ r4ƤъӛoƏOm D#;]gIVkɧ7up[:e싛{QC/bK^ܞ15õK5##^ b v71utQ4JiqU󤧥opKty߼c@6˽C0}CI< ˛:/Yx-EzEA,c)\Fm+,`Nͬ<1{^}iiXnE1aq792\(uf%0we `W,3M[aWr*Iyd5j4.=x]jfl .\[eF{Ɲ6c}hJwaĆd \ $! P%O<~ŢA*xeǼ=|lV@1fbWNNj:M.N]C6Fn|`lrePaWqo|wh=NÓƊMݰ94,  BAkyc˲i-J z6l60XVh@xJ|iq` UX`[/Nîj`T%a lg(]xg :JSe a60|Ykփlо 3TyqO4tZcݺ_nc? COI=5wҜkV~9H?:5==JScc. >,MrӿGS3粱^ԇFss}`戺2|+UeW#L2 K=TZRa`UÞ+,Z>G*WQx(כڬgb.BKÌ2 . L\ *֬7Ywd 'ua 9XScaWaK"gD/!OUU\ wNj5"٨$eu pr޶^{W!->xJ(sl?nbH^T5fճPym &ag̠E'6wPN靤>Eb*MOS|Q&ۖ*):!C,)=s m;ZӀ3`݊=`R t쒸~~Ql ,qXԬFYNcN m &msJF0k΢ 4q4 Zud'f)փn"۲=~Ö-[kw TL'D[Qrza%|MNz52219~hr|e^Y^I,m&5L{v:da\E!xn) uF&rqDzKx$,#W_-4wKq xQDrޱ}OR\6ѥUNytx 6И^x Nn FzڅHmfıw&yzA&'U] 0O!M`=>p@O\/v?2R7ã,d ]k48SxnҶ!y$ђԯ\|S2C;`3,7J"Z%7rqr I4!JѬX`o =NPeG-(?Guk'jO4Iu)?=axT?4  L?olz@$įfX$DyȮ.CDe}?bBH)_ 3 tH6 F}޴v1@bv6MM:t\YoHm/9Č2H;y 3FOetݗKBcsM{M}MEZ\RV_^$'1槤y&J}w] c֠.շ{LRBOIpcnWpK|fY'?³ s@ẁ0LDt^4)ÑcOamߠt_緥T>e6fUCjM/^LF v~a? # 'FǪ+ExVe<h(h%dk3H֜-Z.nʳn"'n=ɸKGEPcov ɫ #Jc@#̉Ej,_ ֡&ҌA#)~,M[5i4h*~%vZ'J%1AP#{[7*Aϐuf SWSȔnEy P *Ng&n, 0@oP5G۶NGr#G#Yd.hۛobYFR~ۻУiW]{GᩱRel0D4@b|K =qtP| )kj;\^2*t_!WGAȣM +e+owX! A;~;&]Il'NvPVIa䒀7S¬(;;6u?`E=I\g(fY,znC#䒼]SФ3X[<:9&9tj+pN sa bi jk՚i Yt$8 6Ag9,\mV̒NRid)-#'ıR,HLJ~=0SѼȿ,hnۢBY2#La#̣"Q`*~*Cw7E ,9™?]^lg*ec/ o7'61:E5 L23`{/5} JTR`cDn"osܬ(%.\z8K,v l֬F:ܚ681*9kբ J NѾ6a5Ԃ%G~1<-zƺ7i !/8$?qYC#>qgs3Ĵx9bI+1E\J\bp*h:ԍjl_rQ{|ƇgC(y Sjo M ZnCF'&@1YBi>x CxDdyyhN 68^g]Y*MkUv}.Xp<{JZoցxj4U%jDiR=5wfyaܶą6dǍEݴb\sGs;y9+([] S3iBa/ ~44U780@RyNWD)(G}L-箁O _h@7Q\J$p+G̛DJyk@CJzwlڑ@Z^%V~PH*s{HN\{-"[/',0zU^GeezRzpOBÿs||vlh3ۜYg~1*REXEqM1V+`)j4à{Z j=kjMw:wUj@ tPMnq<[%ɫi; )YLB/t$Gcz u*,> eyM%J<ܜYm50߀HHAo o7%+_I * qGs^y3CpqhsDosU^jᣫ逷e_sk#+LsV6p<tcj]yCwbQ<,}Ĕ@BQ:"\.$6̱^=E+m|OQ p`Q >2҆x+:+{D'ɩɠ6,U 刢Ti{͸]`F,^k>1ԝ% Yҳr*Q瀖aٮ)đ`ZIgzx?uϺ=^݄+uQx oeK`[ԽtU^=PԺfP3Plzrj1n Ýr -Z}/0'Bjw#R`, bx* IjRh :Cbx]C5;gٰ [Z'@^26m2C@{vjRo.|de\4l<ek֨4q8Au^OS+;\.?H˘=NW%-u/ }`wѿקo{5 ]V׼ SLbtcŵ㣳1,0ŋsh?t|/8gYg}|_?_꛾oi7%7?4>>~Ե|?{ӟ;Oο܏͛{?;[~/x//VV_+w7'__M}uzPWXmOzooC?7~3_ooNMMU^O]w6W|W~?5ϽG^Ϳ7ÿ{}߾?y[uDՏ_^yxo~_\7=ou=z_7ܫm#=߾?9տ1[_p'N}o}X yo[y|ӛtOo {g=93zY?{:9߿npɗ_{Ӎs=Gz~icc7`q׶.veno^87_zWl[^xij?/i{s/ /|/g/k-ܗ;%{y˟or9ycU7>7_gO;p񝛞^_heo8=/ޙw_t΅lozyGPg_c?W '/~ o۝_#7#?;}{^]я릳m7`b_7{ڿ^w>/rw7_o}\g|P㧟;_];N~[^ _/CK?>s_鳗O}SWחw_s9/l'߾#8]_N/c=o~wռv/xgz v_zě^ޘ3'~o?R_|_ݻ?3'_Noޯ~;?Xw<۳~Vߋ[W}*m>/Ћg/u?r{1O?ϻyu2ug|iz[o7}K{ k_\߽y^5+9Ƨϟz׾s}[{w|Go~'Џ_sΙ+~CWK)|W՛>?K|~W~g7پ}/+?5c;U_>xYl~w|^Ԯ>P|Ws啃y>}g~m/9k^Y?џovxo{_g{~uo= ga??8ثƟK?w}.?\u+~9Zī2kw=gN_-x?m˿xb?s ?}K2s{w=|j77Wħ=;g+{o|_~ٳ}wɿ?=o`nw^#|D[*o8Ͻ'o|ٟi|n靟Wy{;_~_w~O~]~߿>|ʅO~'_~ÿyv^ן[s8;n;G:?|w}E???z vז7##<[e+oy;]9|wlѷ~s=#}8?qgϧo<~}g'/:<~n:o_}ݷ_pꏼulO~ }~lOӯ<[GTz_m~/^sM?xN?>4S2o|~w7~%1~oGn>?7ᓗEos#_1|}C_8 _?ס7O'x/?um_?s~͞|C_>_4~[O? x_x9#[_g6+?sKW\@o~W=%koGݻ}|ŏ£___<7W}tony?W}_>׿wo }џɏom:OϾ7.t?/Ĺ==Ǐ^]sw;xk~_׿O~m~cwq-?qd3n.ꮽzfӞsϝV叽?W~~//ٳw|aemw_}/>'~aOW] O\qk%ٕ:-ws}Wm8x-=?cnwΫ>}?_|^|F+f|_DCiߴKmDǶOk~6Hs7 (^{79Ͽ$Qf,饲J2"Ӄq[71G o!3$;fg6J~劣ISS[:)>"s K9c+lژs8IЎ\~ &][kvJ\t Vogjb)e!7sq5Z5fYW'fx ᾙ)"ED_Ix|Q+&%⌯Z-]&KSB,sαCvw]+P+E;ݴq+xDt(xiМ &h3<& H!<@ȡ zN[d%fx7lJ[~&(*.n6f,/>1B3&]~Ld% ŝ h KwL:LC *|,0O<OۜH^(AZO ^Aew82gu8>@Wko"V5pK d޶7@v7Re Eb#9y9ǣ_q J#찢citϼ.P I.<,b*AwؒPXm׺fȐ$N)oXD5Ӝg{ƧEA(îئ뙕f)F1(8+д+a7Sy8TNqx I&heЮ!Y()1:n p` EXs/R0a2 >,g"x O_U":h4 CDU3 "JC;CP̘&FP[%^gMmEPlڍ""SەF'R9 *{2nW<\-v՚@̙q7ڏVP v`JKrκ&J3IDB8;ɥxM*'mzGR-|ّJ4IqкcޒDgɪ%xoFDͧϙODtqr9(=G9IqHL857O'X!ϟ!eT˃`{#9#_Nm6ml: 79<#sIe#P;BI[-КGZNjJb-T磵mZ5acD9fLwa- 9_ۆkX曨u4d$!sFЊi,x+gU l!(\U0Xl ̈́G5iE6zќ.aY:˨)<;ivI$]] |7f6M,q~J6iۨtxQdnP`$ (0>>h\Ve.ÁQ@ e z0AIq4- wBuއDX$VnQϣGCE` xtm6LԚ ꐠv^W1$M?wL4 oZ}-,Pϸ=oTVΡ&F}Mf5k%v)K &Gon." Ti U^UJ6KhA&O|&C՘Btnh-4t]E@nor脼8Œ.9 E-kC nٺBU7gl Bg3,iªB ?Ƹ 9Υ[j ]b"2h\zaAr(XU^ L(*;f01yM-hsdۨU=㈞4-Y~ 8MӞ1`ܫS{0PgᬼRyjPfcDW /է,BCF?'6..5aٕ،]iE3z 1!viҬ@m"7[E6HTf$ SZE>"2]s] y3R?7qhj&m'n&g,>] x[s@123р;UI pX x ̙Yr櫄M`ΗQ: EYDrRO#2)0Qz֬V 4_ !qf~\ {sI rը0F^r/`r&L@H sy^/1@ؒఛ| :L=҄:~j>݀ #)f+ͪjиծ̘!Ы ~ċTw]sB+Yc=\*WƬ0F6wCK!WnHɉ[B02RH YuN]3Dnn.p+ Ώ}MuBxVgRR0Jro )MպĴ#', ux Wq yL[0mIEU@<!1kTh4`mMFE{R%1ÝQ]$1[Ⱥ@mt7jS| @!AiEM fHԝ2&nY-Mz^@Th$L0KV~>lDQǨ5VbjօiWAV3pրIipU0վl^@&e.M4aLW5qǏDfRrmgMNI1$&p7tWl O,tFu=bGgfФ})c =bVNZ@lxLJ-kۼUy>Τ6g.lmЖozZrI- ڵvpb9/XވP_eβ9^ުD|x F?|4O!`ɃbI1|F T-Mm0M C1 :6@iaVr{fX̬<^4+F0Ruqz=:Iv= ux>K$QYhxnQJ<~ae%a X9&.Kx kRx{ +dVm ϰ((B|h+_FAV7 F,@M81X;loœbpikbա81g2m1zR6K T"kL! y0H>{Uk`[0\PDU;ሠ1_ vy˻c1Oqɏa\ĄQ;8;֪1a` l`7Dӵ.Y'8,Fvh/T#6cnK8NOnJ,nh#!#f eBH,F[ jY<@IS8i"Db}.1;#8yx/-Q j%-lUpy?8HM8ʇ 3^gHhnh0-)GT3 e-n*+86B XF|#A^TPl_rAl2w@Y4xmX=ÕXAj*t'uN Qg@D$s~LQgSybfXͰΏJ? _HmYevH˔E4Q;3{җ v[ֈ'GUۗ]+m6,j11jx ju$!N{ ū+g02gFU>GAoBcw s$dL#Ӡb f J]6J&xxm[k$dipL D4X۹leM4 6џΈ"'\be ?:Iֆ!ؠ9ch!?2 ,2 "p o`{(55hc5dSd0<2y|h3,v~\C'N2w*W6y uwk3n}G+dWi܂Gs("tʒe8.JƞTRʣeeibd~èqI7V>lri91 M r; ]^XȽr K=Gs8Sb|!0%ۦ՜F4'8J@&$e\&zy<% v}AҜ "P#갂zJeyy*698|܎ݡqN&}49<*k;Oݹ,6*# O ;QM2ǐש6kd0w%کN3J6yPF⼳f#G4YmbԖ2h!8T-} @H7BYBLs b8D!13 b1I:@Eb ]C kB~ӳ^+iިՕQ[ypM,'2dqװ0$ȯ}.V5ǣC3Ҭ7f/13; Vn3/%7_I*H?'ESs+h ;UMD;ID zMvđ?S ӳI208B_7Xz ylp•} K/EcW Ǔ""K p0x4S!%w JR%(#@Қ\q~ƪتwHWP>HI C;]ut3~PKn L~Kw)cQ( f"2HvPnkb`vEqI1&>FàB fg1uD eίXZu*.06Odv0jSX$rO -5()L$i;( BS+@ ȮpcHpEn>|ȩ_R{kn]N[uy2 R69PegSUf,_LZMɲ Jasx~ @P{пA-fMIS,.0c,􊢑"\h=ȪaY CF)rǔ9vl,VoPa%t Ŧ;Q_2rsO %yѢ،09kV׌x1͓O6Z ^z]J]Hj_R͈}-{;LzCaْ? Y(?E#ȗEw4È@-~Y j Q*7;qvf&~I4) CMbaaYt|!%ffF](-Y2١M5D[t~4$ ֆUȔ|F:YA~0gXLKx\IPVYxa,И~d Ɠm(@ Ny'7s^054f5Ȱllb]#pZlt#ܜ4hW]5jJKF;ј͑ް6EsgB1`֨(0 b3ϾĈeִ) ^ V7l$Z3U~Q) ,_t9q-A(jΘ@Щ(Ɓ\ cY}8d@${̰ S ;r 6=>7G=r$[})2Dj-9R$ md]I^!E+K)`<"fg r9if iiditygEv),\`2蘁 &h#/" vs8s`4ݧ)ګ86w`F,' 21RnrA cxIjkm48 rT bIHj ,H:Mf8k_S!{V@rI6LC Yg 2fF8^*VFGs#lYƫ2q*lx MO% ffRw'A5Q"2n"[lsqd2[\ Kqgj[0t 49[ H́%ֆFeA %>[#MU;BՐ8O(>J%\[nˉii+ RY񏓲t&'nO dݕ]) ܌2 :㍔';D[NֈѴNx0P 2-q/q(*9s[GgT唒Nt2*5kHQW-ZwpSY(,pA,5WŚoʵ Q lZl)jk:PQsk޵ ;E?{tЙ h Boj T4,'vWśt e76USFElS'%caAP阿s0Д /b='voSwi4tl GhӨDk܆]g )3^@Hj){sI 6w|~Jf!νA GY V[/'0o]3+JҽO,o 1^;Sm \xeV=9 τy~ "Y dFيG߲ s"[nE{oV}2m(yuB 5Pћ7d >˸ՖZ 7Hh#_6azr7Y^ѬB*<q Qݜ1MV' H%LFMqBv%B'nqI_|CjlR^t#M +5z%|Q](bPn[ nBwKE3cc; 53v洁o9μD<2*1a Mf=nҺgI4gf(v/ěo>}'Q_7 ;GBWS=Ro $BĂ?F=̑RASI.+vD!{N?qtz oA|viJ!%ڽuѣ0.=#9'Ը:NcBN{#?C*>]`n|y{xQ8EA @Ȳ3?8nfͻQ8[~b3iu|F4R|?NAb;hU?ye`{H~8.7y0nPG};U^"K<;,X'J"] $<~#Xk҈"c$&#y=W𝆗 ZBֺ&9%;;>{nAy`A>-ι-0ǁڹ'. }0چ\cg?"(2F8 /!z4OȠɻ51U~`**!0|"S74ΈB2Y8n v0̷ S1b _* _7rqB&{ԡsQ2s HGo+0!_.>Ep(!򡿸2YԡAK+9hH\[#i}N\!)~C\ Ԍz⣖c;I^%=>J ?[>@ua|ab]a ]fw;<**#y/R[qܪ"N*\ E3%oWA&DHkPށA4ٰÁM7>, |/"Bz47Rt:8[Na7D{SA.\d:[ k ȕPVUCG1txr0D =dW7oG}nۑP`ۑq IѼVj9n@v]RVƭa˚G8k?uC|  YHļ&[ pQ9UwtJ|5\~z|=1ڣ ۔Η@Z5N Dԃ6ڐPa_nP;B Gb ?nqIkp#V`1oáUdɜ!FC۷_m[.>4<ø..?b?۶ţ[LoU+{ԨN:q|#HpV)ϳoV:uu~y•[̙qyXvha&l Z8+CnjGe2d1N+` ZI< ]P=q#lq呆q΁&"eu7&zuN(C;o|dҾ^glqI rˢa[q[Vbf\x4O⧃N[XE@@b %tZi`1l͢ԁ(hyUs06 [N 5Wn4XM@77аmI\d+~,`@TQ(=4O`^ᜄ =„hE_@=vfЇoS@dq;BWⓋ(9Xߪ@ }' z"N ,Zn5}xlBb0kPćJ 9aN~tx_,JOMx5|8).``UoS1 Û@WEa- 8MSqѤ.0d:G'W١兪e ˘(נ`Diļˀ^@5>ܘ@=PRUdAǣir`40``a.978~mxph_=EnG z_f5lb$ʇ,fݐbAd[s>98c3 F:nh0 y.D˪ G k'-\/ z:u2߃a[!;-EJN3  4y~X  xœ*qhAoY '4c xؔCBkjhyRNa'iªC표MtIYǴIh nZp05f(BWL7mDX=4+ "]7oW3 >IꜴX@v $zZ`+)Ҫrl5yYVS-Zqks&PFWIzP?NJsrѩ߃!v*kfAJeW`50)'¬rhʳlx9U#jsf̓3co-fӨ=N?& 2 ay,%~nb7Hi 9"s F:"y:?n%*}t%y;x^<\4szyL=:M ~1;jh+Se< Ue*6eɛ' #Y-;M\s;`bށi&/pSsZ}GV0_#@f%P2L!5j30/tJ`&,b|5$5L_uLKJHw9?i(l3@UI BbVd2 5vB0UBY3aZ OEZ,c0J̢t͖έDNoge%:@@M(8yb<)nЕor+d--'qw!asUMlYh}wX¶]J\PsTA>ɜM[\&^aт>iulICDBEv!P'cJCP\wA}̨^oƮX,,xjXv 8 0P-}KB 0A!}3sxVo`=ZH?jD#GJbϕ[>m9q+VaQoę7VgBL"U/#w (%@a~46Py!ꃀhY ڀ{HN qWWn69Oze[pp ",slv3J~GЭ(K}l Ň5oyX4xAC=Ѽf]l"#-6&&Hϒ$7!SS1dspuͣd@[BOʘ+pC7Ƅ \i\Ӕ!|lv oAcx4'@j4#C|[]-W;eEӪmv@-^!rf= 3zt[8gF4"^ǝjy`i]?̬Vn& CХ+,.7V ־.V't!N9vswA=vgh]6dv{cwLNBڶeXsk_'!߯>q7X'č<ͧkDᤀOMI 6eJr3`8u^zH+1CfkLWwPu'NG f3slot:x̖'D'nN&t~a [/dO*ec͌~tASa^"SPĜAw;w~4MqqQ9INp`q<+% pHI*{ݧ?+“ z<'D"&(+^9~Sa*:<~&`|b<MY~Y:|tz=yk]%2 gFlB~Ti_؉> $w"vT]A@zmU0jOC.iy'n,0AΟwP"IPڿx0ͽP'n. R2ҸRƿ') Ļ-ȹSH4xD%LI8v"%#< Џ%%uPfJ7@Lâ%BQXE / Eo9ðpa>񺟤<N!} r`ܬ 1],\/D0]' 1pѐ)]}JwDSaom'ߘq 7HFHLF51pj>J~!ѩ(d ኍr[TVM^-*x,|bwbP̛z^@TLy;)e7J%HC q%-"aE3^L~hҼD ua$ekĞ"ji7D|b .: PUN<Vɬ uQO|"PS( V;N(e,8d}VEpْ 9v2dKѬxкvM<ϠKa7%H < 7P?@+,*mLvwL;,ˤu PQe\'(6H_:Piao>y]D+2!ޝ/^/3[3AK"cx۶mo^a&~&0݆٦xMD<^vF t-/]›vXY@XwdžSj\˦Ɯe:iFW6 iztyg)>c̡VRuo#LlC;QON^l*G)wU9?]zεgN ߈iqvݽD{>4TcjaB·k84l6wlft3K.@0#=xk<7o|DR;@eow7}D?_ѐڼh]Ci`hMnNsc'y1GLJ00)wET#G=zrGYϹfKr~*X}RFGo~j_hpc#T 㧷hTy9XYhJ|n-/\6`9gzVaz pka#,gznxyJ,/hPnf*yj@R2iRwm YtUMzފfO1zbW4<9W!3/?:N@4 / >,j?IAEI~.O ;ޟ(a[6,A`[&^b>$ugF:Z~)@P ۬nOtEYS&TRjh;UDU0 `Z8*رbȾEy|HgyjCO┛4ъxx9R2әNEa]r $FAFu\8n@c` bBAKAx"Dd9UMIߜT\Hɞڠh+"|i|񄰢ywQk a|#Z%'?1uEd? X=YsQ=N!*6ٗy݃S1UiԖS&PgE!̬{Q;'U1IɨX{ $鎱:m۲e@d?9k *k,q(Beu_%gEہL*Rӳ弘)U{J,Ұn=ms:#e! `LnjdRn6jjQkfB%G^"=pt1g6;ǰ`#J[SK!Vڬ4G]Dlݱ+tC2J?R .)])Zf֜h''Q۵a9v2wBG\CuL*&:K Fϑc0 `4^Er4Y-w 02JWoEG 3jEVO (-ўf^)LcQjQG ݜhX2N'@ǀ{oҥO|ָ|P5(}/53!)G)J(rlc"vh5hh*ޛg,\5vne:6l4;>5=~~Hp@}\:T{Iibrlˋrf+/c9V ]dYei((N"3Mk[HS:~%ëG_+ڷVEx 8MV4Օr 5ƮE='JJGs#x?55~,sxjltUBjUMJj/ GtѺĽyNfmq(΋IuG5?P% H^,pO`AGO\m~ IК-63ib#U؎X gc "Ӗi#Ӫ8kvl`XlTH0|A MoiVoGj3aFGO%YaQ[ KXvӌԆd;3#L۩Qxծ$CP^m;઩P5V0 (M\Rd@8FoAZ _ ѷ Nj%!hK0Qznvi b5L6琴pA\sƩ[vhT]O6J#&*H/=d^OYwrG"րf&B% n{I=AfmlْS.7a`TӫaZ|qt7ۛ29yռD$utIBUQ9$T$&3 thI͞y tMZjϡy= *cQ7늱1y.w T8 7¥dK(^p7({8S OԹcqV:->S&e EF{-DAmnXiS`іCBYf|SAu[1Y?>mZmi7-!liMq d)z<΍bZ o 0y#;M* gᑥoc||F׬5'℡ttG,@m#M*E L`wi, o>OMnGr X\oN56|-qAJXT9۬: ZP1!& -RYl|@KT(߰0ő=zu;tm EX^ܣibܢ`ttx6zZPuOOVJA*UQMECܽ#?ݡjmYCp|, eHQQa nժ Y`%^]U6"4iddzc|g;6.CNQ7 OETش'1p}rVtki/K_052;^T=LɃ.{%JcTJ3*4J`4>M ZMGq ]4gI1A [# >&JG㮓T ѹ]ì'{$??$]A-?[YG7-\AɎ tG[?9M.Q7P0JtD w$W$4)#c} dH,*ڠD  +rn%F r3[BHc#L3+ѐɁgt ߑR:waChӦWIKv]#O%jG@R6^ ѢV o8t}ӼM\`7…DLSiIh}>~ii֨?mxZ<7f.Y6yKOn4Z܋5zNBIo'`E`on^/gx ]JXqLif|-ER[dRr~Fݐ%h`\c)w~ĝTp$N+ڞT5z> ҡ3W3@H0\Ŝ5@Ayh`Dz*7n&^/4WT8'z£jtڝȨȨsJ3zw3ʹԋ|3NV#a[3{BHpNMCr7ja<Ř;HEބU6|Kc+mBdw N|T{{1a֨֍V鮢!9ڪW ꊬu `P_ee< 5D~EX:Dx㚗hJ֠:kpny@Z`߱:@ WvL_9E3X"(!^u]DG*eGcn?ց~DRTPщ+%:>󨄿M.NhO hֿ)#>$L΀ ZDC&c$..OjBՅU/ϩ:KfCSX#1Z=W7ՎVH%L`p+?]i$UjnlAN5cd)_X4W"SЧ+ڿtz5 J3`UT%l+֎a85}aל?~Nv*{h(yh`hZ<-{{mOHP[pp^a`p^S ƨWǙy}<C.@ɩ@tv>Q¿#,Ozÿ!;p~ 8t=C x@vu/9.@֍Ďn>c"E+%r?jBʥ{RU$"L&MGz(yĈq寎?Eӆ 31eXǖuZUh2hM}O+-o~Q7f-')pe-EOAKZP:; OKRk25ӛw*~F(W!drHKD8.D7}|U@%J$y,# Qg9I*(#_r33)b.ٜLŠz9&iỎ1et ƹZӽ*DJ0\UbgT]އ`F"GV\ZHmfR=+cJܭJ!QH@@;YxJPL̲)eWD+DjŵQ%ῡZE~6m&g:psypQK S5qhVEh t5(U3AAm:#9DīxEG:yG-h{~J!sC{|8ؐ6=˼^LH&x3"*HpUwTFf.Wb"0+sE=߾X XBHAѪO-h;9 ݝ -͋rT%5a} S3ojt! ST5iK&zJdI`%h+w$K]}ۢq'fN(/Ʒ2\YƖ9vx/zDxI* GM,R`Y;ïn{eH:@-8KQn{-^/M[}&}uL[S!yc*2u3Lؚ;9uͯ>?ɿSvzZ G l^_6uٰ=G(3*Pb_sP,Z!\)Np:gX[ܰO}$P~amPؙ-;McTX-bW6 kbh.=x]J&Joaj!%Rz`}-^! |oE+s6$ i! \F&5=:X#xީ/B,М3&0۬eWO_v4=xrtrrU;,vj.^h%T_ 㨎M j^2|*>+ $ /6?:&ON+26evFzx,*LbaMkq˭G `UǞlw5f;^-5,~Hl,v06nB9m <,S`SM?<Tv6xuM۳$@ifpW` !#vwt;{G}RJW6[ZK@竂v3:' jg+{*r* F8AE9y@-q3T f7n6f㺢fmm-DE 9~1viV6?H#oNG!`?D?k(+8*˺7J/Ko\jpIm3.Ϥ0; H/g (ZO^s `>en0[L2pU{r}F0@NF/pT/^uwrO S&#F55vd8(´%`d7Y 1tEs9$f3\7uOwBZSb7̘A(q[וGiimEf_mWЏWolrH4?YL?w‰~uյͭw2Yd_Ă+ʗ@`lU_aɚAV0hu 8; x=G r0<{iݺQ<3+ۨ'+;r 88*I?!& m\_eGZϕ.h!k8<Y=1эNY\Ō @z0MNUvK3ص3A>l1? bx彃4K L1-Ўd2r%-d{5(G"vx:q<=a&yMONZCNIj :O~))nt^ˉ˒j7sOP.; "ԙ?p6nӷpB gd2 k[5o`C{0d#ߵF۶@ʅAZPjť3};wҬzy^xg8/r\o.IQ~!%&3Zח}lʧ2Z I$VqFc7,#8[^GO^|vt НZ127]S4kS:ibcE2"񚢶|l00n{ IOitGxt>҇ρbYD{y4'atq&+gkД0M CX>>xf \ nf;>b-hوwIS6i?P->pW[t @kB| Rꠣ 1-hz{r:.7|TmO/K}9G+?X*4.4?;w=w;O4x;QW*LAtaV YORt!5%43C#;i1ZRm_3̴7pr^)*Jh$}m?57(R qJ0Wo[5ʭjbUc(GSpgTqhn&.ffTxT^Wr.Jka=X4._NQxR˽t 7DxpM/>%[_ViéEGu5Gֽg< z`@kq!\06<Y<2Alg=L=Z3\kYBb؋ å1F(K?P<ߎ|')+5R $ ʡp!.*g)Ǽ*W_\zV3)dm2A-iUW{v}^nVz_XwiF0U*)FI#'W͕ΐ=j FCcV:*AU:|]W/76^=??w^~nSyON?N'ֿwbed$_6><ꆀ4Z4<2n9uŎdW @KϹ)p X0^yQ u7Dys>iP[Y^wSlaxuhF{:Y|\ Zt}aX*(zVfz<{4~SЉ=:>q\@v)ZkIeݨUU$~\_!_ S~U1U)@kϞO=h'{B;QN~=wUyJ 4>SڪJgV-~ :PEEAPn$*mdRx! SR8"rxGkg,7K LG(.GI=@x,hy/TG+K-j _nޤ ̒rݨ$^}59 fO7gOvj3QO21Sr6-ȈŊMN֖9\fk6D'o'R4S!Fсޯ+  iy"dE)@EF;K7o-_Dv:Yׂ| v3Pռ?%w5hbvm/\Y @`0&f4v L\ ~00c\]5H54J^jܓcmq']] avXK1sh?cZ }Mϳϝ??$pxxNN\+Iq㿴<):^,UwB749|=ѠV˹c*~an!h;ۅ #~B OW`Y1@/,.*%nfw苋3ί O_W^똸^ϵ?z_s矲 Ldނi'緷1ަOΣ:=$7_6%?e|1}EU ޲ZkJ]cDI*FpaTq}Ў]jARf-xg={?'v'4~e2Px2!0Y=Z_*9Ƚ좍I% pHsAn<-E}y!ډJ`Nh2? &=&nRXY u.LïeQƠL[JYlGB/? $Y{yhޏ;lUʹ///g62g#Y';|Zs|;K H1SsVb#q߇r'aetצ:y#lw.]@#̃ChN!Zf-/d!wC!F͆#rM&\ErvҫŽ$ m6e;BF-uxRm5ú;,AqYn&N_O'iUgݣ2*$fdٜ0 XZE8xz'4c5n7}*TA\VL厾͹tI G fV휜Z0ZV*ļ# ,Cpt7 kEX6H%L*#gBł':7խ'\{_/O2s\&0Xn|3= k@gOkRqZT_'YE]8yL8I^x1- t-t~rKMϊ*ܖAT@eAiK6a5Pvìv_TG%4  @Θl@h^[mL5EJWb6$nb'-Jp(@od9Ղ\0r2Ux=/aZ D6{e=RQ0iNAbrtFkS}"uXL~A"rwdxNv|W<;F~ $Am֖>s^]|ל|/!Oש^J]*bdXat>Q JV av^;!,>LrܾΤvI0GΤia֫w7Ew^^oXyU1tжp +:DAv`3SXc$T?@ }>:CO8G~_ +%<8sW>A1V'"PSWsL Q:x5( >̩tՕf exzNa~Y:`hY|3(W Iˢtu5To &gLPi6m@+]IJw|͸١Ǵ%WmWN%Ү҇{`/<&K)u.4"+SoIA:攽h 0(In[_{eKkRi!N;O#HqZ5kT7'$Q{e?P$U]dZfʪ.1/pQ^%Q0Hvη!Y?-h;(`j5җb3In.j` Z!; C)0N^.:h ] Se/'LMQ2dm|.+ʦ8,7@ݛԈ*lq6K2[wonn[Fe;,Zb0h׳ 5 kysN]+5۪:t>Ê;1dxcB @+]]o}ؙGbU9BeDcH֭07 "6dKsG*>x1'?w9U ypE+9>w4~N9T, [8}mq.낭i"0kwg[Smqfů/\[]RծW4 QJlxlwB[i N;t6P@go|ۯɨDO/{l^\&^$҈z1Y $Ѳ8J|pHh*6ޅwjXgt-t-"c+o.f{NEk**{!~Mye+naL:wV#8>CEȫ.IfZ%+VLW>6N\DŽ|KLj-v3Th`+-%ږ_dlϚ1.xJ{)~lnh_4 KسVzK2ThSm"T}NqQF:(ə;Uf:˳zm;l:*͙g,f1ͦ9<էj}>[SiAJMƙ0vcgf>'eS1f}a8O4,8D}bi|~f./k?{~NǜΉwb;S0޸N#94 o&a.b`M[DGH C}lr0…SpJA/uDl EnbpMmcA| m'GIr4]*S9# ˺a-BJs:)z:<={.X Ār8yG=c״ӹ 淟i}Y3g^yy' ( ylnW6ₒR7N/7l"AtwNQZi  /ww"`EcXZ:!dgP ΜP,jG*c^3]> ЊY?l2O 2?NcZkj`4r )`$;8,׽sڢ~ Ar| K6Bޖ]w㴠lojY>ſy:a lu#ZVy;Q"bxPPA' >1?Ӹ,$}dq3GLn-a~)OO>T&29Ldbݗ[1rkY(ؗ裁.>5SitK`  f<"49Tψ y[VEKr*\_%舶VndW^^|8b\ȧBנwIx^6vȦ D~9WB{/MP[y6*0 @{eȃ,6HhZ.,r%3TDЀZ8VZ±`K_~fO)<_Οω9O';S?'iQg# -8V~*Ep= {Q *+XyGG%:(ZKwftJWsX$iX}7AUp!O{8 <OE7 |?՝NcǻX=l&1W[;} ~kamo%9~m&$s Lgg]>w=wqh D|_UyѶ>mra?BYu_bXI:^>O/G7,jgyR3 v Ig ⅲ<4-ߛiZI G$D6U]/K 'gMR;Fk-$im%d'N)}F}I}TZ+m9pˁ%e(kIYjY$r[ $%M^q?G bc_lKJXdl.~ 2DAK|`Ŷ~?\qwDi:1?:r<+Ψ_$ `lJW"9ɥ;KI'cmS_Te[7E@Kkw/=Y/zd܆o@쬟LZ;T_K1ehժ5 ,Җ*] ^E1&Mh 4c#ӱTaezʸT#LnY' (ج=|a=`' i?iP\G%)cQZ[P qZ%̨$n22_Dy@S=jsS@`ޝ6cqI\`_(~N8T@IX2S!nTFwlϾpel]>Kg8nnkmzrFˠuO‡iSZohiʕbJ ;!CdM/-ArQ5.j6:<\$0_պ(I^bWOrqA#tmiШ ܴcn1`_ٰM?<{l0M{ Mfa_@ΟϴtW>dӥ67m<4t3QܿSxs'O{ O'}`'QĽa|-xYp[Ҽj԰{q؄D9qdl<2*{{YXZ|փda{3Jv4<ڄ>ug[{%{sBLǯo[VG^ҷ*~SI߉"'D? gEc-QU2T9AAz?>gpO5ߞ~; " ߰}I6 @eL޼rXURXkߏ9lyky +%]\$/.65}ϐx %ajѼfa]+0MϬd jЇ41d9-Rd ?njX<-l!X(r|J+n~D>an +F KE I@Q"F3~Z,Mp,w ׂ6!+fCj{V:K: &`a6'߮w$=\4s!Z t 82x{>aH9r6xOh &p>/ml6tR\#/C8揶mK KkY09 H:fHS'_$Cve=EUn[߷e&GJ3)y߮deW:~\86Cāl Rk5~v#~LOڽm 8~D!L9P/JHcQY<J]AҫwAqYpwTa/'ؚ?qJQ\} xs|X{UJϵ:o=/ƝrW:HyFwrUI}|Ķl){⨌zta&\g[LП"DG a;R0Ȋ.xTz4utd)DP<ȋrIu'Pw\ׇqP(&_5 >ɠx?9N6G'O3 [eL =&ާ:FEK.܂}Qde:4nH@ Cݣ"8w@|CPtӕ9qN;'Ch S%t &"Jgf^@#|j-ù k(U$!Ty1AW,aA::51:^ MP`p2?`"ɏ:UWhzsY냄; V")bH"%B9/5Ta]f(.`hYtU*,  ~?H=$+80(nTVRĦvj]M3vŻJVn=2:HṢIp_#۪B'  F"ɏX QÎrd$Μ' ǰ(Y'KK3 t4SgDZpa5 hX:t'[ =+UpI$p ;]+nQ)Rܭ%<;cњ;$qO"?@RD&GH0+I2Н7kkwonnaKpYZi6wǺcXէ)l0~ |Ejխ:t &#tѤr_A#ia/:@GħeG>bLf8tDspA9s%sF^8 fJFxlPJs&A<"AqQ}:3vr/LδP҅°\'$u@T"FzH!EM؜A*鷹WX;KbDsHqlNBr J>eQ^d<.:LHK1e dثx 1э (1b9LPwJ܍X">0{+ Oү+y(&i!EA<=YB=%DBDRGhМ׷ (xBAi,w(!*^y Rh(82PA;S<"%)o`74Av%*@YKUA2ƆK`M5f!P [ZM WG+ 4 01/U$o(rsщH:t…޼{Ru"M[` <@0slsL+vf1(IHEƈ%/a,/@*Ο9Qmvb#sKQtysP;a[( ZWf[ rJ߁z.0@Š8.x "UT|p֋ZJ …^wTxG}6eWǻh xx YGc4\6qVa/ G[Aߎ•!gT_rvJ(y^>LERmo_>8߇EXvg,%JF$x*Ng7Tq4cYf$R6ţS>_gq$0HIeB >%ƄΜ79!c 0`[%p&@j$FyxEDVBio)?كQ Y䬴(Y Ce⣤R&I?AV@5d&3 Ń6\-MOSPZ@~]][$UA`-usӪHfciUW"@9F@YGv@9O٧&xsiwꄴ*-}Dq\XueyP@E_" ZLpQNs,{|4h.hv^ 9 a4e|i ʲQ 뒍r8gT>g-ȢTs;BǃBf=2 pnKRHK1RXAz֑kLJ %{p+>b]Gl8.dF-RF=gi$3q@X2K|AMUnb~~ZnJXËch QE" N$ WoݴG}hsj-ܢsgk T_G%,/TdU$HULdItA|=jxF\ ~B,aHp8k"dBSu@^xf FXrz$"֞Q 1 gBA4*5.c, Y& +)QE\MB.bj66^Mڽ KֹV٠f@^#Qf: d8,i= NY3k);A{ęM4v]'w 1ɇ,F ЄOvA Of {Ņ=gLJ {%>zżP.0vfOm`.Pk = !]!>GfYMAA SKde(4&&p&Jhζ7U6|ØֹSJb{QF1j5ZRGjk/(V\IeEv=t" l˾ vhD|`8O:SXv7H}렸:'þf?Ps64jhYNaE9-wk( =K̸[/Bˡ7;9P 8#zsUݟgL'mHV#aI2yQ# >mb8ReWb.6G`j 8W>Yњp@X3WWu13nD\=AtWI\*7eRoCye,! KlSq;%Sruax2) 7BlkFh j|'B >;=t$w  [gpp'ROCcb1Q$VQ&Q?ܱ`$QG b$8gڥuamX%B@V2\ipEZ*~?.I2PNGr%؊+!#y&\g{F.j9=8gD-1,Z +7\4*\8B.Ӈ9QSldjJI8)Н[!xtYi٠n+)?>b])_`wƚsHmP[ \ۺY!G)eu_@aͲUF.eav d{`ʉջr6pʸBFdPQK׆2ߺDJfoshd'IqOC S;8r-#0^' bB-*;ta6ZHS#ѵ-61U5],5@Ia=R$|p8w#{zS CBcQB+[g4 ' iil6K$Q(sHuay8ƒ#fE`Z"m:&~rˌ/5m+;RȈBI miPxuF} -%Z:e͈J<#1('Q\Rs]Tfl*yqh6{ ?)a.D6*/vn=;*Gyh }L;1:UWI:j~HpvZ$ںh'U㤪P˥֠)Te!htGX$PN ymdJ%a]?j;c_ɶhkKt:/uؒvE`Ba>[MJ5KΊS7;i7o,%{6f^PnN(;R8AaSYRtfͱPXS]tR4GSs:Q(wN !ȃ=y9P򲄃"vo\}TG04'.\==ݸ#E^vC1,0Whg% A{g&QemaY΁#D^p{pݕzWcf`"1  n3:C9@)ij=̝DTOg HBo%^aTigH7흌\{ {%&6>1 1njpI7i`uېb\pv8QmtwZtϢR'DyO(6JvQ$N#<RϠ5 U,NadJR͑lrK,P,]dP8`ず齴h db 0Ů.Br}0IVH(*M|l WIƱHԻHY"8Ȍ 5ʄ'2 7L2ΏkDڤ~d`ɤJ6)ά 5~C-_$f?(c*'mnJjKq/c^5˥wBVjD<'K9y`4e9a'-0%%O_nkVQ,.=$kq0V׷#0VyPl3m1אzTC_A@i}ZSoh8i^R.LmEN=ЋjV[iH/5B>eefp>Dֿ1.!¨_6/]BN.s% $oʭR!d'YrqTxkPfXyK!;95H78tp̹H&6k c}hzMp1v8`ڕy׬A3ܐn>)"P4DTZ^vU|ܦ~$vgz>˚]$9 A'XdҞ8/3Uپ,Z1Vhx<KGH㘪ɀW6$`Q22ƂGQR2x_ڎkG01YEmeQsvNA.;\ [[l4\]v~ yBdP%a Z0+G8#niL-q3o&BWgͧɮ":1=8ӌbkhD=,D\4c8*]"lA.: iAqYr9ڝN9q¨D]&FlRٟLbuE֧9w$Ce@DS~O+I~䢾tYEIH%邆T YXPU bNjs {ramh4҅uUomc^4dvj7䉯!Ycj $ #&@GcL0MԔHŶ`ueW.X#C8y5+@Ws?Rt!eƆ O`0;+z#ûKeX20䆣k!K_Tb!ըx1N@+R|5P RHv2Є58GR4 H! [0Y6*Hsͪ95N2v)-&:i+xKAs)AyE< GGҴK;8H%d#0akXɃXk]cu?F\ni*h/UвOgj\QkV)M:h3+.)۴v6۞N5QZ>V[#b9O/s ˕B5B'=Nh|]acb^?T3'U}lcR)nؗT5d|X6zuP몆kd6T[zb3%Dv+~(˝K,y …$ZiI.6H/Q2CÙ^pfq/^ַ͛++oly5~6~ݺ}+7ѝ7YۼZ}cΝkW;+nm\X6V^yu֝蕗6+[k֝r{K >\}{t^qm6Puzѭw׶p֯cV`s+w^y|uh׺:5ͷnmm05r}su5K7 -l޼m̠؝&eU8h՗ϕ^; |έoZ[x X[`twE7 mX\]þ9w`pѫ7޸, .Ztm{k], lݽ&ullDk0ޕۯF[kﭯ:^~WiM&g8\;<6T2sM{Hw77p%n}]+RIR 5Zh&:p4aDL]_xHft-B877ﭽձWِ՛0Wa 4۵+/mY}vnukmu6x6`4c Hp7@=w([Hk+wV"1{u K^ۄ3z67,5`4[won|鈯߾Q>a7a I"@k'b_V_mj2l5(r:G.kd[EI M[$8LOg`C&^|pyяa`,\t)H<`h.*-DgG80LPLlyH(;h 8Ӄth=`3d0Hw!L3{@g=Z }ny:q8Z*^y J˃$.Ji=Q~O}WKJ7VQXc1UNi_wpj8b]{ DDd{-"f/fZ.(1DM${+7RL3ʲEqNJzN])[M ͚|IDtHH KWHIY Nwz&rw#ﵪ g/ƝMN+ˁʼnRr\:$]4L &ӏtŦf^3OvTi,v2*-J\Dlu^-"hP[i],nk+aM[+ 5 6]f7aZ:ĎI^U/9ݬ^ʋ3* aҍ m ";O=f]jEiJX|9"G?f"zJR^'QZ fY#AC6qUTȒƕ=@ n a`Eux e`0caMp+{)x̃Ӱ̧^5||^άZ帶q&Vqo Vv{q~}s¹Xxs=w.b[ƽd8gp]%!I\Ă+Ӯ@hdg$}gt4lѠC^y!p`{KK| r>.EiT{“AL?.Ϩ tI-$\~!1'̤6)Y>b©Q-‰M)\WVytaoo,FX;SkD}`a~i6ߕ_J*Ӏ[dqr :IʽIm"FT@c p8g P`>FP_b1 n),_rIlZWP˷ [ m߱ Qo[Pyo, wTpeyGb6dj_?ߴ~???[ÿgz}>{^_O /Of^{oΙ,|͗~cwbo\m,*ͯϿqg {Ϳ7O?~/ſ?G׾{7/Wݿ?[??;|c?cɟ__g}w7p_K{{_?oOam/^]oſ_|pʝ/_/m}oow?[^/}ރ_OŵG?rU}ۢwٿ17Oo~ oc??3>wڿ߶{wuWϽv~v;n7^:_O?v7}?ooZ5/L;oo;??o>o8o~|?߲?U? +_x;3W+?G핿Gs?3auɟX?gglq;{;ϬtN1QFљ2 uF b:_Qmv qVN~C0SlU}Vr9qUNtIeŮnTRj.2\GĜ[Ҳ~[V[~eRI؟.>Ɨ#)0ج&0gj]:Ϭ}4G e7wW}r逿]8_RNu~N&)eށNR~ ۷w̧b.<=WoNgjna^Ը{[}.y?42fׅwoo_[7 wA ov#bnF#qWPL) ZahZ ua QmRD7= F ^%EQ%N# F+kEeD+pgIk#\Rp@|3I.BQt3^%G0Hu ]62:DʍVIzg=v3NI0`Hkvm֧cU\+Pұ >۷oގ>aRpqxFmt0">LrȪ6LHKkMEm,e}+~sRXf1h F͓"7ݦ!^G{7EO&,ߑadA~w@p"qA ST.S\E"FR#mM7OѐB-۞Yuifn8[wv>=I9O7${w&Sc.\'j#11ooJK$=d=LWqJU  jcAZ%azDxH1b5Ydl+Eq"褞f/$[I^Ae k-^Ocu(&JTT0Zp6Vt i"4>A¥ ywc 3^أ8W_Y>Iīf:7"ub-,,^3Bܛ}|lEq$| '? _H%v՟/=3Utx^uLS\줙.a&8uɋw|Iߕ#RN>Kcȷ'pryfRx*aIZD+3b9WL/߹+bi\)bylI 񂔏1%rAId7+CƬHo/QB[,#<(-tee1$Z)-s}`^q%+^\zm` kK2Se1֣3Wp GiꑌM_-;i3Y^S?IP0&"WϏ:gŪP" [EaD SPF u,|<q+o's֜k퉦}Ϋh,ߔzn_mu\XU~ \[d4ɻYMO&nIz4 B[G]cK|uc. ѪT͕fOjs]y;Tۺ펔U>ERMiz#M!5oDH &cyn<&/ƆT Oe窵x>~hdBaȧ_z31pX3t,`}%46ɭX2~Icrh̛{wI/"#vRmqȹm+(c2z>]Y˚Jgsk@ffoyW n Eff.IaH=t_&h>#G̱WKW4xd"슥YCLtR\~!Ko}őc J!%E |Ussfz8e{=J}q3uEQO/P Y}D_~sfaRYD4⋽;oSyb :\)UP檔$Ad%-~׼`ev>dVN%䎵VʉzkOy4ߧ}_Y{ϱM4Ky<~[^]˟W 81 ־ʺ;jJ.9`7/} q߆v\m$p}oW CJDh~m@}nm87#T*<=崩{2Ą̄nTkX"]E㸪kV1 Eqw[æYcstuQ`%Wl?\Cn?M@DXl@$~QX\ 2UZfe(︐4Q)۝`oc2_+<⏑$6ULL;YX+ T5pY%xh?!Y2f%Fh 3-ԖH$mx*nBDV_HHƛҧhaZ([weEcq"t)U/pFMI[MlfoQ8=P2UeK}(dZ-T&M3k#L~!ׯɒb ՆHd|aQlqfnLOj-˰ن]廻&kq*΋}!lW.Tnf꟪Ԯ+&L$>T^v GP,{J#}dLu2iJv$(xBM߇d@v5{y9&tZĩ E/Wskl{g ДzzQUl\ Wky>^ZU&LY'4h,Uh7jWG@ 5,N7S_vQ[Q`I-aqiJVfEgµ@}0;z+t7dW }T:@Ct{5l(~rj3y!": q%|=,ie+ߕd޳EY'U@0t] |PΛ0(, ZĴUEf9[- O3H} & }廎.ih n7FN6~c#RR,fW;?;?A9VCraKiuC7&Jʞ& pnI.ErGoFC1s /z`ۅ{R9w'<1tQw~K;ggGCw^0Ⴊ8(?(q ԧד!")5u3SJZm"譝 (u;XPb{z-~p=WJi*&3J a P7)T_äop4~a!LSsƣ7*ħL;p(AO-BO)QqCT„[ɇ@ɾ4 H9Q*+tGuRL1#) s 0qҀΛ_HJdG?& ƇkY=A}ExC}DU+ۍȎya#[vt"=%: wLLFGo9WqK?DnA 4AWQW~"C'gŐ2WߛQ<(2vTuѵHpj탲,kc|C@;1%i M7#~\qVD a> OkzxˆR¤Lq_ģ6 q jUD fQ0 fQpy-;mkP7IԕMXd N|'p'5j?Ta2V\R|].^sF 2uTrɈ.#LppNv3%S-%Nla,{`tԲC٬{J۩>0գ0tG~P[|~>LK7x>T*.{Gw~bpǻ`/Yˀq><ѝu(k-BLyU*aFx崥}^peh L!Dc^ɛQ~CF,##*5=O ,W=db1Tg*F@%1n)ϱ;dY3ކhT!f2D- _~ BA+]—DQb(mja{WYu䀞J KHV0ïb;!jm  UqA*.n ’<5|`oB ]hRJRtY:ܩqΛxBk_Ũ\ Qd RKo#'-Zan0z |u|)yD q#mCI_87 GG9?pC2Y7$hO5R Su&Ol"_D yp0D|1\* *HVUE~m,!n$aYқ~,BzS OsndƼШ$Mg3Jݚ^$bçyFho p ;UlTJچdg4oI&^IJζsutP4vH"̩m;EڡFoIχw%%8.@kԡWH|ҙCb8pd#BO+?$} T.RP{_ЯȈغb^ӌu?-\2G{`OM.µO3Y)djqHypXNL[54b|ebomXW]ݸbfĊHl`U[0ms= Utt=:֨# +Z[0СO wET'U9 IZdeJw cܺa<e ^p(4P&BO6@hbk79h/<$ѲL*tM,=ǜDl(o r; P"()}iISFVrrH2JW܇\J-xͦ2 ݋\{3F@Ŋ/-*ЗET`{Bȍ&h5Rʏ]>L JBU+2IbzH:=CV=G;`:mF=m@e [*ޮ68q(&hTH.hH@9z+U QJl>KBcbX̑RG;yWbڀ]OA[ucܭj#K2̃Jպx_13a',G?^w`st ci -߆fR[ % 9ۘZJbtXmT?;W3yَD&pwnÉh~/E1u"c];b9rrh{*qC( &gQ3Η+¨Z`!{){X( g&'Ѐ ԗr+Z& ޸tA1|M-CIg|I*u*wΒ-rJh2`k֣s'iA=Qo: I}:֡lAeN@2lxVlNQ,gn ?Ni׺#2nXaˊ޺-8[Pc3UcJwAJF~d&k`8)ۚ9h&rkKfnSQ]ޒ2ښQm4Ly^ҁsVϤ!w(jYiGx2A6 prnA›-%йypm\_qIɆƢt9m\˸Gv)h ˍ|8J&ZOIe~}X,%^"A& A*5Vfo'ӂF`K{a[E…ma:ћ %*~(&tKkD۶Me2f,f|-s{ڈzJ#췁tk o2}!;_bQlчASgދk#~Nd6-d.fp#4FlhM67 ټ6XCdXvj 2*fu]c̠9`lp~>$Do=NNtH!f[߄.ے/[~ldnc7-$ ?Ϻ !-f,it#܎]v//x}*ǎ imKvf1u׃|ʼ쭘abEX)Z -a3LŶjLXNwJ+VC1%̿Pk1X;dpfZiд|ƘNeh3u2`bƀ7y'w`'ǿ])8ƔBa0QygvC MuzvWJi?61$Vn';4ي8ҹg?}乥g?r#Ϟ;*dq.я|G}叜,~/rmo_||m Sv'}~d|hR2~0i@6@ඎ~PBcX ?JNbkk?ݩ~gG&ӡ޶㫽1hQ`&.tݸmкQ VVA{>meWkmvai\6v-HKX_B,!4k4݀c 4(Ю苻I1H[<Dۺ=q­:EMHPd`,)蝧t2ǞUᢲR,Ty _}G_,0y>.q "V",GmF{8Ȋ+}2{[q&ΰ 6^Tmb⬪rR:}My%" Ty C%:Ʈj~ꯙ5wC6K1׮vT}ӊ/vW(F>N~Zۥc^wlɏR~@x4Ld)NOZB֝g!e]s&Ц|+ٔ!" cKC0d0|WU[ }%tAGfiZ@}S'QmH O,p d6wMxpx #^K2gV 0C9m/[Y4Zd U;ژyi"*NVe s7e"(A68 Q϶4Lո٠-\A 4gX}+|0l+ftDj4Gm)^$"gu{| "G@!n7nd!+,BF;1*C]$?Gvn(}@ ;J~?6R#? cCU _ ^bQB\#q #H%2K=X2p`ж!bӆjj9Sasڧ,PnfqkE+֎<8b$֕;^h -Ѣ9h Kt|-JfuRR}aco|| :Jx/`an>/| ͭ0zu@,;J eÁ9t{#M!tTf@>kf_0GzD61_xĎ5$->7liƕcmu̺ݦṵUephHh q O-I>o/K@(HD[`H]"eHdwDzV n5WwNoD=⃻fL+5B).60k|tXVqFPv/# .S KpX-c/h%Zc@pW5Z=L@Va-M5M0dHƯ{e M\u:8TwһUoqK`Kl"54({83 w]@fרP$ .qy[,׬pwypA2>NyKeN*V *M`5a~h3LrdP A{H7 I|@3<95☎uQ\Wmt"^\*iT $b dD%`훕QXX bK?$ D{hq-~fgXQ_#$i+peRkA)aB(P*Z.wMw@-sŠ|܀t_ [D8i*j2/ Rzr>!_GɴD9JiMDT W)kH; =Tj"F<6hxlUtJVU-gYOH k .PdvipN9"MVhۤ.bytTt9xm- =Hjʃذ>!ӡh+v&%Bo" &}ye#˟.|D;4YYHlU Z̡V֠m(ᡉGz 놪P2'Bam%{J~d(UH;J6FS[Ef0]锱O\n'dtB*_5mg뙰(1vWnca9MZ_*yhsCm<^&w(Q؆fJ|ǼHHYxŽʜx'fea_f maNOEf5N6}9Ǧo> ʭ{ z#qSʒ:SI1viX-H{g &f% D1)JLT*Hd\U7`wm(6pIiXPtJh+[)ٱnB(hzAމƉ>MC$/vcd] ~5dhۂ -HZ_QHZW 6RƩqW*n0#%Vy85@q[vm)zssW7M}{Yݬqiݿv=/ȮbKkZ_5N^sT=z~J&|z3s: s{1`Ձa9̪ȡPe(ri9-mqގWWnEitN/y58(. eOcƲx)g:f*S2'IJB L:674HS767۰qQ F(*R56!"ɮ F93"mQٲ)]zLmJJ8t64 |:p8Nm0qes7ȡ*A(9 e6jV'a86$r qY^2nYS~y X[{׹9GlRLqtmȽ9igSQslT)eřHШD/dلr((_=rq)VdwA2b5x:3gvvgC⮹)7hY.^gvKpWa+ v`!)h8Lܪ,_ ҸpC=3 [}m;_ ]8{ ?6ЂJC4{X}i׾kx%{qJ*HH]ifrx]̀wxPNokG?F{Ehpt"(mKp4%: /G7%=yQJ<$P?>ݵVa'nF%J`KAúxw #+Iܻ& bM;mn2vC tZ _7й)6k V7TjdT5rx}Z\"7MUIL(a>qwǁx),! >|hBK3.ށIݨ 蜲Pp̉g@;mv7^-Lh@{8R^e"mdD6bR3':@j5N-(F/1J=Lp.j - R^^P RgjэۅF/ q P+GU({Rۨ|7^ްQcڞ]Hf](RRI `v žxўOSBa`, F73+!Ҍ*`crkpy(0. 6G}K%;|jȿ%;24~ +_/yHFNW<Wݜt6dlS 7ݍ7>< >5n'y'`XLy *9Z!x$t)aIJ$kLu)B04!\g4Y{4:1}40dV w=홛]vg:T_"ʬ{&"4-riaOXH%~Rx)R#P=\:rP'H~#5NR}Y*5ɬx/6;K;T mz:iI}k#Q JC4Z5({~]P.BVVjuc;;ոh) 4 A"֥;'c ;hFg7&3~$L]FW*\0+KN>8029t+ZiьVZ-AiUl,D 0O<IFV`gLY_Bm9&u\'ِ?Xeof #t\"#*W %AdC Ad`BR+y&x#E ښ6SMJ̑>OB tU(їq@A.Xkg@%_p=468B5^}7P=m[U[1 $qCb- U}BmY;B=_n"d r9WK^iفG5:*8xqZMZ[Fى*Ra1}!ōiX\3K= N2MVr CsB0Ӗ(=Y+t C\$0Kр%jEWc^I,Q<+j[HFp8ד V,9P[Jh$c8q.WLe r=H&pz5G݋ّiqEBԜԙpCAB--Py ag1jQo`SxMs2@SM_P6.So9|w;^U'ؖrUQCoԔdT>j'i2}POk{JpS; X#FI;zhƣOĒz6istv;kd wQZ Gez1/P |=a@3:E6>h{"< {FRmػuLF(Z /CDDp9dG?FCM֣ԒoEtUKd{&M\(kf(/W   [Ah‚k~oPApCͱ=K$mR2kg B{k_=}+K yWolJVjz"dT wIsdn" O]9?Xd/52zc#m"^@6Ľ,܀P%q+>!K CW162Vgˤ8^DhR0wD{Zͨ _/Qq@M %3 1hŝi@,^MIqt-( J0ckmH ͙@ LXkZP 饙k2}lP:lKQ;lRAt /%xО0΀ŠnJ $jcp6rMڒp BXn:e2m@+!$_ذ`t@\DK-*UuvP۝IlǹCA(QP8*7ij9by Z"dZ"lhj( RkbT#m"+aDD+)*`AՂ:l=D8#96H0p?<$[ oon؋'A48bLn\TbOy)5Ϸ<^3F!Fs{wIqw^dvu)@Z&65|4xp4HLrp<qkضp3vrk#P0nVwєvՀT-M15o/PV%_*8I NXrXKkϭՈj, /JđKOI zQSwp \j$1HՍz,Mm?Z6F*bPtX iueHCYvB΃ * -w:kҮM ~ l&{`GqMȅRpK]vB l J5_VL@:ȩʓ\I&x;a@:ZT{Wh8JKݯ9{Bqߑ5C:{wvbEY,ubLk/RH|iMI( Xk~2iI8W!`AFbdF˓|ά]tRMa3,El-~ŎGeZPh6Q Vyp mIK1$@jGgnz~fOw/³ϝ;x$)L_9xfG: uao$;XhG#h˽ [Jx}jW*ݺۀgK6׭dt_29) Lo+2; )abljaJ/画U$ɬ&?un 10E1ؿUdjqIާŢeYhm:oA@~:m} gʌsgeʷZlr͐}bw<ҙb@+94K:/xenK?037aTOK@@CяNؿáAoNMVYRGҒŠpeTZC"R״V}M1CsKm&h: Y8zE*t*-q-(oԨHWcSg rQ]ZQ|T(.~d;7ah5)rW/ sO WLqO/i˾oRU?XjvA w ' a~t@}].Nz4y pOIYKO$ tiV;TI8`E`(\ fo=1=>< 1 ȹo_27h-Z(`J\.E(-Nl\7D u_"`Hm =+Ekvь= aufIoQ\]Qy|N_|-[8patŕicQ4wD`^>=0|8KJivPFsES1s)XZA2< |1z)Ɠ#sDdqz8Tdp%-YZZoʷ68 f0Yl{&ǯL;H8/~ :nZ}26ILXЈ\fJjteO8XYBQ! ĥ(Ih?z8 knHuJá񞢳Pĥ;e|6<G,8d?&{+5e%ka?>3'q3øeK:5BF5؋!G#`<5=e6^VyMf{"Hza-Su))ݞkXe-H_-{-72# "^zN> Zı ʎakǥ}AQNc{ZH16!` u&_Y),">v:- -X߼{tJ.ϬlDٝZHj|v%^Rz:u0'~~#mX*n&MtbyJJ4Ův$F,HH_,tN?bW,i-Eos|we ~p 8 D*h/&{V-#OQ0'%.Մd:S}䅵a8\xHBkW*"1t%S7pdL:Ȳa"ҽeŝeJwfkuʚ僘'Ԅ3T˥К!VIMn?~8DVCYXrOrNyaV|nr̉p9 ͣ-ЊC4# ΙYѩ=zH|iHR* 2+UH)68TKrTFzL2՗ZB@N `ȅ3W6v3d|@n֊=9Z-~(.E6lDlQl+~q+x,?cW4@f4q!AlCςtIP-5"3? eVXc˷8-@b]Lw/M 0WǒP4`NcӮ?TW5UUy3^V`< =AAo^WԦo~1gFk YƃIvkzʡA(C<3d[Ux9lq`#Q!s[J@(3CMv#}eb3[r@tRT$.ˏV,h?i[V ,Hel_BHĴ4'خbdA4Q8o$vj(V"$$iEKG?+i*.n(SR+-1ɇdɊ5jژV)IR]Ew0YYS;i=?&oW}h5+& 8$"S)N@T%܄še^>v-h3>f7DR'mȘ-WqNSRTiEf K3t<`cm-S֐$)DЍ -Z6"9m>OFWrQA.V3XTX-gr'Bo " JǼQQml $q`@Tr"3Mnku4AVf#0d DY$Նy}zA~\SAE<RϓO qh|~)9v|4kM9d؍Q߃11rޡ\{&߅gOdy]q[I\ @#'-HwbD fH"=z¯`cn w#.q^g%0r 'xR4C|Ϫ۲P^饕7*=_| "es$,6Fd߇^9p16^WOqUH3kn41|@Ǎ2楂h1 | 7H]`c:G͖x~ۨf - @{g*|T/EG߹s Hh0r%AP!S?S; Ff?T*h>\pBUt5X F!ҵ)k8.өãcqa y2 Z0&2сlcWcprC)t tAڳ +|"KmX۷~A-@UX#cD9:iP1fU_2|JtbIE:&P;M.RyY*T:4I`pF@MVPώGhqHn_dґ Tpځ܇c%Q ,⤝jg G}n=@pʱN8n0CMЁVYkI Q4AVJuec{%,[Zo4 F/BىAi+tb5AW>93PoW晋M١DK h%P+џ56H`{mҀ̎o5&}OA6,67sj,+j@n:`j ٪^[&̺m8ĴO(Hi3d.;}x놻CRg#&Pz쭕Kf|B!<:6ZJ@KI^hEĚlKimz \lSRUZ [(Cę !Kts %`b򷥮<8NCm8Ьf| cDGu5XdhiiƐ(fLiG1Y- 0*``LNȚ^vz'Ŝ93&.mn2n'(|;M>%(ڦk,g@klKP!?'g̪vy/_gx[) 4:rwgֈqA)_GP;&)ƨ Fɐ̉:{{\ҼX}Hr2EIҥpuرS,I^zW\Q`!ԅAذOZMk[NT6"K| -RACm܈(1 lTǪ1I@veuJyDֲx$nh)FNcݾx@B՛e,7&N"=\:.|ua\UQ<ؘDF-?Fvmb83C?Q/jq a%xF(C+3jdƚ6T2ʌ+iaӤ53ىTC/nqp=&ke\!ͤkOfbzA 6Cd%+4ЍHb# pS W!LJ=$rcV?_6 ӎd +3n c_ u[Ō*/ϣ0 Qseb7*$KdȤQ{Wb͔9P8CXP34 dFGgl?"҂?+HF 2 .[+ӖB6t켈ҴU& j RZ"|%[ˉDcE)dDÚd li= RDuGv6t-EWBQ} /y:pHH!uv=T}^ i)} ? ?AZ)GY[S{&bk4VD wX&ZDƍL7*""WK ) YEbҚi_"앤,ܗ(&@p.b9uVȆFtNlz,Df 9jQon5F%v O,YYwzX!Q֟g+ Y̻~M3Aj1[I{5)B貭(% N&R版[I[ _}|Z1XF2~A|A/zO~DQG#0bX Pd.:DaC9(Xi~ba O~y #!ZE+X yHd0xs+ADR"Y2ji; R2Uy Aì#ٯT ߯e'>wf/$HCTba+aTVڕ;#~Xm"T!cwP;UߝXǸt-);~*vu>0T[} ˞(H*vdE+v j=(;#6@Km2 tȥ>:o̩Cᄢ#tGX5?!Z#mR$F3$ }s2gQBGoM(hG6m̵{"(ȫ)i ~ۿj;R;sN^GBl$Dm6VkI0Į Ic)wۀ6-NH$ P|2"ژX*79bb @SxHF3"Y`D+7x>Z%ޡkyp;@4arNJ0_O֥clTp'DRg61U&lƛl6u[nghZkJj۠x&ъnVRIF_8XPHe ]8Z`R& H_S$`^|C/† GũJi8!6=z+1Fs4L[9 >e&Q0ZϤCw$YfiیVOBK$IUۗT\˼W[a/~|ˊ6.,}i'Vr~l_yN}܆T. 閃HI?mk\%F㜌"wZWl r!K-v}ր`hMP4 5L(obJ^8.؎l;]؊зD[4`B.]ͣ2$`4wnAx73)[=S$?Tk])5 L^zeG5i Ӥ?ڊ6A51Sm6dVk u3TWjiڊy2T*$s-4<9N\&;ݕ}2*= wsNkW^&$^avOOkSm@!9fkifz=-E'd~3%O@TX>m@'N6R3^@z:(B)^\jO͔޶ Hi7m}ͧ 3 TJ[$9ZUu@aFAs}:B@ #"X׀}e&!ϵl؉h1u/]T?7Ȫ m x$R y<kYȟJє}l'z{ ^ar<ٌ4K(3k[C!5xn0h47OxI*+kzhZfn6;be4ϻCbiO`-u O mȅJՂ;6wu"D24*U! ܖV:λtl$Xh^h$mELлźbgqEUsA.xQJ: F. L ? \~hVqQש*˾F6Z`%Kj} Y? g״^"rק3uw74ڬ\k%oA:_hr߽ `H@N>u|$hx -W%2W NSOM~b:+, NE~ OefC~.2IBveu6 VUwv<RB?+ E~~~]KMl@:_@_5)>@ ہi-WIPfSu0+q'Cw)ܿdH 9>lç1aè"؅EoA| zaaxc1t;AaEb*4=g(6bI0cpDw4Um K^B յ N:(07\t]z1":ʖeשDM.'vFhBx|oW5qa^U~pZ)Ȯ0>y50Srɟ '3alW\Pa8U9x^}_& A|Y2ǝh\VMymk*mH2-(6Y>{u$<_6k+) 68~ňnOFIY&jU嚩ڹã(eT,F/~ޙޡ t 80߹"[_10D˧K + C}q m)8`d`P Qn;b{tW9/ l]X grb(EVz[-:=p@Dҏ? #%t 4%>ĕ @&\9Aإv}_iY~0" K(͂6e]!ܘS  *J'He kXY=J-ۑclVzy0کiW-ج!@._R? {5R Cң5%vG;cQQsS8đh Lz Ed U ʸ 8dHV=I B޼vLnDI <`YbJR0Nb .¯աcb/Fѝ{]+eҀkG`&y"<3\L޿u {{nuUwub H )ڤHDm%"Dft>@2c,lI˖_*ˬVUɦ(R(mJuEllLj4ӵ{73IvUaS@y|;;C@D?3{foVt,)i hʀƥZ5M%VLZ6) 02YOZr%_6ʬLd,6b-.\`˪ *.0S38?Tv<9zEYCTh-ɺF6LΠȦv(fĚp ΄=uQQ 4<**ij%eg 蘚@R}G5:d(Z >.@,ȕ QV4] z~MR%Y(qp2Mfӵz-VizUO5}T&4@"۩Pj& RP< BYؠjũ_E%LM/UUTV=m+{f~>Ag}lvų{x,BZm:,`%:"Ta~ uAJJF\n|v^Ĥ2 H 䘆ZoVjƵRM,;FG"T!5QD'!Kk zQ5K-C2fV"K`7!FS/ǣaYU2YUH!.*W4dIe/~ZX*uI$\4wtNxf`+ÒN,pB@\ sp\REEtL)D*2 1ɣ_~®}2Xt^45jQIc`0`fQ~'`GdR5N-ZcJfWX9bhD*UIU(ڕ(Ē_ëՄ-xr-GkڬK%rr 9I$ULטfe"`rY(*78fHmC!9s%VJM Rnzj$oXش E0Rs\V.JT-_*1؇Pv\9%ɡM! ;% G,D }J"e4BwUTc JYJ$6G2o2bK]Wkt ppu+JBCm_7@a g"(ꔞ9`# baA\YKޤlHT`=U By(\0*f2{rZY0{0Ab=Q9`c`EQdMT\j_ ǫa:͍f[2"]P$oIԂ=3䂃 N)}|pMnn&= U̬)U >_s>%}@Dn%rUUi,/bDf^LO[Sԗs-eM6P[iz4(pg'(Fp`)+ψ7D`Z@LҶ#*+6.7X:9%3Z)3n 9Zq&˔mWT#]AsCi8fZFjrR)Bҟ8NjM=%f*FyҼ;S 8EHeV MbO.> R{T^-L]|4l,<*L G06k87!kn{(ҎSvԺ;: RTĕVٸh+ WeSt8;ZȨr<ld igUÿ)y`\t;jzRWjA~ɉ$w:Uc;N,Cخې^uBKt z(;Nn/ zqCl)!\A]P]('TTs#y]=J/1d hE{tXych\L;twqj_g$t("c#E$EWB)ՉnS/iͭY7z1i ?Y׳-R>ǪfO#?W WpW9&l,. #$NW.vu>eab㮅)1Y0#|!' *ר9%$υsD24frY- ]2o#J:n9й)Q2q]YV"O1ЭayQFOь243Bd4z47ލ =hho׼R\>V fySyp=B{%4XO->Ntʠ0zU= ]Ү AV^IFѫ{ Nc>JِFEzS&ߣ%n97 u܋yXυg 8I/Zg2mr@pӇ˵{"Q=׮fRTnrddm&&G-A b%+C붕gUy{8JL(ɴ/fh/Jo ^>T&38A#ΔϕNZ>JW քEe=8KAplOnoica 1_m-k(8..j_XEw_Ew%ZJm5bʊ63Q%FlCwX'&Kg)= 4|iPz6ŊyBс`z< S#A&q|07ٳrC -S!HcR0kt0U!#1}#ҍ ܍zc;m{+4\.`IzU3y/6=m }Y,>;mSmp{ R_kj_S=EoN6E".߿2Y3K.'̖7lȣdX/c=O9âk6]0?f5QٸUBnRZl&cg&Z|mw1VLQ!]p^].>$؀ ȘśϪzPI9B>Q N,%j:׭VYT1,l2k rf";{ tbY+b8)q@_0=go4`Ow@^z\0i1sNJB 밚|UP^2'#cxM` Co'nvdxPI`%^jpZ<'6[/Bc pgyWaU@ZF|#)M7^ɢR!b90Hkm\taw|OAb<*z$7_Ag=8f`Hgtv դ['y,`]q5>siL}s-f?Qxb#/Ln!g[Eқ]|Z[3a>5IjK(W M%8":A@ƠPGl"PTv90,aCV Чj%E^j,1i_dT4P̀To@\RS8WV؃1c.GtEXCGs N&:ИEbؕ{?6slֻl _ \LYf~\e5n?-!6 j"h THp&>Dd4ZKJM+wiҐLG2 H ?Pw˕G`vQ Щ`1 0i;_9κx峹-B-X~i$S!Art{+wc5^8lxA  ZDhŹ+]O Uc925u]$5"c㋹D`$Ch6|TE3a5Ѽp(^;*DGH"K/UJZ4zdVqtvGC#%RY"v:BdP6V¯ ^nd`-nމ ZяRsmQw7~NgJ$fN|&,p/mOt ZȪغT]_YIא&%哗 _ZٖA .И FD%E m0ރ{ܖϥC_qky"]nIc.Q%N.ApoDhMd)dYȉݜR?JO JGK{q@8:o\mʺ܁#!+(!;@@Bxb_kjnqGg@ d s"Ljh\ 㡸~ב,Slm~sn/ԓ$SE/pVqV6Ub[\$CveėO⒒4f@gŵRMͶȈ,)HҫL2A1KmYҁ3քٻ.,u5*V#D@2AiBhQcjm qEnd5qv(VOe5`v_oL~iK^uERCjZ(H j,%4-ٿe|a7ba%|')!btP E%]t̹ZWPs X[RD[a\X?xdQf F$r HmQz=f0?E7~ԴnF!DK2#԰ewZ$'ɹ[_l3֪Ϧ+栒1/3/QQҟsG`v{~(tY4fmvr_P(Z.*)xצ%vW ,՟%"?X9Ďa| ?Kxi?2uy´;Ne?;LNI[or_ IQx(Yaao} l`(J2lI_LԥWdv)?=c[L_n8~a+n !_zӡ.ʒ%8#wn TO(gkIU?рsQR;n.*P,= U,IJe0:fFEfT7J 7ҡrQ_\gbٶ\y) E$L})Q&+ɮNfu亼/CFsSsGPc( -Bu-#T&6fG5%tHrVӄ@[S D['``Cq]gјGLߊYgLP ޾2ܰd|Y4.LDW+1ٳ+mbRc 'a XP_5>e 62w# 8ɮ(f'!zbp7rJbK %t)Hx eŴ(\pmvcw~W[쀰\ ־Y^%/ȿgi1݀ wsg_UrK8n0rҧNcpXRs7)fE c6+8Z@G0] SYC KqZaHQ)M`F:Dsr Kn[#LLR_]0akQbjݢ*Q4*ha-_8. $ɎMl8 ѺݥڒhbSZSײ%Ĝ& 2N==i-BE6v &)ǡW6wF~]o<& 3[@AWq28oa ;6 U+P ƤUrk  K}w/bai[GG9]NhHJ1 EX}z޹+5ee_/64C%ʂSxB |P3hAl hY5:$2_xY˝ 2W JP*zͫݖ im26[A)PI<:Pdi+w5Yyx+RcW`UZ Nne}@|:o)jzMiH-VF$PWoS觐Z IuF%[(kYzpEc2ܒ;;%N0%=Q߆u-XDk0Vp},P]hoMU,q 67"Ñ΄m5'bNΎP=*M { N]lI/e+](,F_T/¶9%/穋 >ӳL=g'<)Hm oȼQ΋XYB5'*'iU5՟j?sfO-nOai=R?d)Kأ&r2o*`Sbp ChIV),N|6=r, BEeOZG#*P Z&y|hC3C9 u~Ђ(~G4ug:i(OsckE>`T"zMպ.N?&G^t!gWq=zYh׹T".iH%-BEռy(25pzPSBmqJ; Mĉ[ ;q#|j59 JNiѰq8] 'v)ȮY̬J Gh)qdw;2f 8zl҃g ^';_f]+: %[}^nu6Y0d ɇ%y :pg1Yi{`Ʀ0_vcvٍUJfM[k5&D4Fy"L{4Q5{x hS6NP<Ϛ@h6k <}QG* MimƉi7z[4L6џ-AS$? Qg͎cW75C`@<-u ݠ/S:n;nc /(УPT LK|UK9@LApLF]LӐmk!꥗{Hup{d{x̧bsUtQ%Brm0x,ɲ1{@MHk Ypȟ@%?ͤ՝whlML:`[Fz+5pTI+$^+=po| X<`AJLuVuaC3&uLJ<.~dj<=)٥K$6>+Y,jbIwT*Զ C/̐BUOTNHf~5,I=uyH.RnҽN>?뚴5h{x'ARsu g<%k3`;E! CN{F$tL #=K5if7o[>qKylcwn~jOnfr_?aOnj9C}j|˦-?<^vk{5Y*Wz卵濈_Vۇv;}RnpxoMs_՝9tl86nU&+ZɕS+g/?~k寮_/\~| W^ٕ؄(0 WrF; s] m•_~0棗X9#?v^&wWa``m᣷.WN+ OB:\#q_EO}feL<~ 'ME)5N3g_/?*a@J8B)| `ubAhq3 { gノ'9Z9S`|YW҃nXxH"XyZS۳inOAIDɕ7=W7ƽ+?8-yeӭ5A.t-.bA:x\cdYl-Nz7?NOWEyv) j0@p?^k|B% %:OHi@=G€E 1,.,\RdHs\13>Ѡ'LN /Pțϳ+$Q4Rx>E*!_U?3FĶNCc&cT4br0 duc\ xbDd<"O\SHO^|FQG5i]F3(ᥐUlD2 C_V  PКPŤ@QbU9\d<>AP\qM'$>qVptb(OJ,;k 5+kRy㇯3QBx_CN[r!.t{ZoC$!!_^`XzP[{=vGW\ik`$uITBrYATgHb+&d.;C8gZ5 RsέX D0%p(sJ!qQPN? ciI,cA&OW _Q3 n?tdA`Q1 ahm/zUԆ\(WfOÝ!ʤ.Ojz45@'T)q*?`#7p0Xj"a0y \dwV^X.zVim $'uǍ{,e@jG5Vά:oK?/FCCImCBܔD:] ?э%*OlZl2Cd '6Ti.^ G r%>@fZ u'JK)bcN G~E5,H˼/١248,+G?Ni>'Q_5g: t|[6.z䘳v4`({2Bk/M^lWckB #kلȗmݡ|%9n.*f.^*6S1vj'3+[?'v^Unq6Is2Zـz\^#rc qf}ontł,TMp'zL$s9$^D9˸ɏ_N~r2/8yqrMw ؗ' L]%%}Rm r $'=Z\u @߯(> EA5IoN370ϏGVu(T5;MpyBﳶ/$~:6Ev}{JH.4LdA~ӏUeaDXB#& e؞r7_t@AT<^p9$/J?#R0P6d .O~՞H;x[(uU%xi7ZMR2ο "ߒ;Hmiz=&"J̅`*XFtYgwO*ۄ&F8#: {Z?XW|ƙ>gsysJ%[s&yXh8NP3R[$(|[.E%+/[ngWUR\F1\w2e[c!1D m L+?Y}Ћ=# 2GQD5Wkqd-N6t ..d1|EͿŽz-ZB,8 ٴs1J7GۣH'핖x-zӪӤ0Ѧq7]Ҝ]tx"@<3`LG  hq#u@n"rIʮ$E] )iZƧ.HA~LشvE/ ucLh{e1 );#\p45n5m3L7)TQ dV##?!B!. m|#IaPMGgAo_nV-&Qp9&XlueWDf}e!@T\x\"IqB/iMf/Q{S'}b&I֫P?z7~`oHu a㜖@%MI RZ:7Kݏ]=O'zNVHKx,dhC5F~b($'5]K9+֯#yKAdЂ1n r5"E$ B$H,şIn{p틕קJ8+}'bW`ĩUi+EW2)hTK I&ER ϹF:Ij@ ƾVk[f-,d]$aZ&x\ژfKqJVn^CE5ɫmA %ު{7g)dW)2Vei YlWzT ߿AA]ї}4aPV"׍HC#.jr3]K&C,WOIH>Q JXJ&\tN|%' RY$Z>PG+Ϲa6'c :~2>q\v0lDq^ߧt4".!}_?+\D8zV 4D|IgM{Sh$7+{ϳgly/#B208ۓ%%& .TwhgKuHqe.%qS5?y_Esm&kqos"7Ilu*pYkxP ϡ?Cf+0g^%IxSnPy/F0lW3|?+^t!B{S- mCv%#O]?q2|JQϩO]AF5J1x"KWӊE~`sJ%9oh@a6%XN=Fp+Rܳ(J8+ͥ^X#q^~Ac6t-i(#N{VKj0,o` \dV.Oᬕ(!5辨Psk+g ]bygOu)>Dhj5-vJҒEAZiYBnF1=뜆.Ci&Dڕp:-Rj݌ vݻࠊe₀QFr4 sE83 zNbזeFoQxnEy寎lo&i=[l|x yJt!VpyH4A© Zaw x9AsS+Ȍ$?"IL2}C^Hk~Pϒ[CN*+{3WW77^ rvE^xӇa܇,ZqgIJiYf8h0Im0=UvVgP|g#)hn$v, ybc8S_TjS}Dmp6WxH'?ءZMW>d^ |fr@LE@:5ӓ?rjy~pYIrR+#ŢJ6f~-?5  >PdDF/D r9Ѭ->ϙܐЄ^-^d8Ȇ)pI,+z`C5kuכWz5pyAm^d&_~?Uzk)#V[_[V/^_~o"WZ|f1g97n⌞߫`p+Sv(xxD4 gkKg.lО^jVS6k?Zɽ } QU}Z%i>'Y}U}y8@vkՖ.+G5UI"/7\ 6n>Fjsr#V{,Yq#fhT M <$db !wi\ޜ898AQn-FB;Ċߟr sHjcj% -}Ć9qhj)r8Q=\Xў=H\ &:+qm~%P‡ԆX[յNGԝt:@ٰu=v}0 δJ+C:_ՏѸ@OUV딱bU $DRp=sKDO7딽,IH\`eש/wKJܙ–ZLͪ85튨c3@%ҝ,cE+ԂɚN65މxyl-s6o,96S[7nZ}!Zx83M7mqܴ-ބ?jKQ#[t!fB~.5`}bKc ߹R#:q K䝋K/G,ZZneK/d }9j qK,V#ur=>;qZl-à"lmzB4=NX3yq1 ^TcFGH/ ϶?Ͷcu-' :Ԟ|YZ+{v_|nNt;\z̻ F'oVl%|J"P*Ʋ3Nx_<-̬ω'V/XKR5T~+N{ -t;u2҉bN{8~)`y{vEݗcIN\J6``>~FVΥS܍yF!=Y#:Yιf%u@Ow$Ѣ dg~zT@jyL^R{1SSo@ ;$uD%M<`( =DHp*Q-:9F=gtHLDefsEq-.%ZZѸt.·&1ʙEgbr3]k5vr} DwC/`Şyf9g L6j([OiSS/Æ/u JE<Ȳ}l1o; +v e$FWlRW 8 ݺtPq ;&HuVn\y2F8 }Oe/j{^THowD73ѧ"^d EXkXkdK]Ex~MlB{Խ !G0,[=c$/U X JO@O+|~y@u?>/idצ;fKFY%ŭMD,eʼn*PV"zfUGí@BxtjB-^©Q"[\meV4bm{@{6ouNu/ƭNy6 3DB>V)NR4i))@^dƖz,u6X\i8@ :*R}zG`wZyτmU5f֊^11a[5sNsJ$i*dV~s{& eEiXuQ). F2ۭxXb?XhX=0PpX\_ItD9GS‚`O+05c cX "v\0dN8;!@^$hWJfP ,6"DlG( tdº"gQf:&4gU Mn0'K67%_.!գ+mS DYwѵi_9o98BѰm#FsKSII'ף.+CUriƂ6qy癤,MlVS $Ӭy"eER5fz%X^Qi ʙ1v[<6*w0/Db4!A2v_VX3"aJvPͥ*\cxz.-w.hCSz+Z2`i^?y@0Íҥ̻'.2vvWZIW?&a.R$}:h!-GH] KlZgdѶcXy`/} e]+̤h *^(J#"ke_H @v2kq7Gl`xFR #(ܑJA$j@16H\Zn6Ȳxy =YlB@BU(tWFhGa&5bF @BXWhXAy2+`B|.b{ķ^)^W~PAPyXDɆ _\e"/lF']َ}-[a}Z\.޹+Mt:2)"Yy F(8ebWSA.:.7J~2p}87l U῟"(]_} KAn-PgOU2 Dn'? kj5ue>PDyٿՓH;2H+9XovheƢV>¥e.pX2vaw.ĕrQW~=q#mG0DpB䡗NwDZNk$ʼELD,$"YKa:jT`E "̜g]:n&0b $0bbj_s8;Q=qڛ?.Iēh'#(G11P,AZ|%P7db6oA$x BY- $9(Gqer9~0x٧;\'s[: SBw6k_jp8)*4pUXxZWQ1 Zs)=j '-6 TP|J(1| ;Zˠo;IY&'Q2<6G/[ PbKH\ L(j^`~R\ qnnsX}mԵKDRF^'Eȃ5f Q~Յ/;Ԝ&ںaQDϢѕUTsU^hFy[dlRmAj@ N*wLyR*f,x$FXx`zi k'Fu(T~Loq{MF'Q|~eQ鶛YK[b*; cP @]f{}d~iTE3XO7S{A}lɳEk1t:%_+y*&nAaL'9Ńo=_?/ݔwNؠuB~K٪~ GA7nFSJ'@kEG`=7{n t딎^:Wh ]I  u [F>YTy̺=H5OJ'+>ZνJҒUS8p-o7ӯu4e`INyt\.e⾺y|y659]׆,Y8Vӗ_:M鯦Y8i~2T{9Ǘm0e +Kd Լ:iQfD~#OsO~)J1-zm~wZ>. cPT*t{*L¾ [iC6l0J[{SS%!{z"mW|ƌW;P]FSuĎ6.xX^dǵVpFZ,ΣJ/=q1=]YE~s`@dzyDLhLuwGlS Ta})%Ʈ5kNҩ&CL)D#zy,M¤vd)")E{B`/I`G&(K1)3a#iN?N3;iTq: 7Oɏۆ wzmXv~ jQcH.TKXh,]qCS~"px)i٥ל=˝(]L791 2liuڑ(E>ܰZ:FVOAl8#pbi"浯(D+DF fڞ]n]zƄ3{Mj6l ^cձ#l A9DN.t״s_oq):G~ kŤ5/D@KHVUA}ruR3ꢏۿXKAp_˸_w* BX>%]/;NS:]}rKҗL3}˕ҿ?}NkfG'793|*oO(;'/$ib- ݚ-/m3}.nڂ߈~Lfրٴ|mEa*^HghW΋/vV0zpKItozfp0n{dpZ֚ ~`URY|xxݓ~:~K;Fa8Mɹ?>6\WL܌;a%Z(;F饟yXj"Oՙs[:4p4/hΫN[C.ǵiax[xWk) 5F;ـaXg5;:w]: H-G.aHetZ+QW|EtV'rWխ;#-nh ] cÃV;1~E_>`T|bW4q Z{w|#[EJ۾s֝-)HU^ϪgVsO]G뾤N[qM_}f.&xH0NgZ)|)bbM[Dhв%r70^m@䎺{atbfz#mQ] z}π܄qjl$QݨfG+Zn;'@bd5=U["ltbu!7؟<}|='FtGZ2g}E^V~1qr~eKk_覉EOah3KTH*'HVevj1\KA\8=ɥS&X㢇eMMZY^Fޤ]˜vߔS%c>O.?4p]EPs[|?}3'>:[6yۼ)|^ŗ-GW3ݧV_~|gDcj1;o|gD=ÕRxʙO3l0s k%2%ܷīg҂7 >X9AOpxָ'"q-H4.+'B"}kzCt!RFwDѽwFL3Us`I$+`7U`o/F!LĘS^V!+Q소V^7aq=E2T<7O[V7h3{Ez [#Ըbߡ|HcW/О\g@~ _S+'.7fr}0{ #O<û5fy@gq%s{jdH> އէ̙@tnƮH<+]qm~՜.zn.q9Rh+z!'Mh.nxٕ=Pz1#,9Ϯ|9\ZwM(}?'&*|fInXj!RI3_݅f+GZRizy6&ƏسtZy_Iw;s'izIJ gz8xJS=RXF].5l=[tvB+R]ms[_mo=*P%z@ט#!^g\_!:i +/p@H8ܨ`-_~ CtאcҢym>`?XD)By(눣|OGiJkHkN<m](sUof+uL>TNzpi\3a۳pz(-b lsѰ H iπZ]ώC), u(aLo ;aɮuml*"EB'yE!hT"`@4IσZ0C ?$\2U('i JWzdE]Q=cRxt02*۴?/}(a3SN}=:k?~ط) QξgŽ2bkڔwGx@T> wzM=Go]u 6c#얔mLܕ}7ԸUZ'Fu tt{zXeR aP_C6hn({1D<=![ X;PlEdu,bN hLKU!(MxCɿsD_l } d-&_QMO9-߂hxQ!0ᗡӚz<@W~*.zmzsKAp兕`+_VҶ=>MM\5}=[r.;P0Bز?|o+9ܽ^y_=f{~y_G)H|Fi]jJ.7霟"RboRߔ(O"r~NyzߵezJc^K꫊ PZϓװ?Y\M~rUkDsd}i2 '|(A!=sċ|yc[wђNX?o\:ZN6T|[r꫹}az< VZ"q c?8R05K@՝IȨYZqJzO #eBA2A`0NH`\VDC±sm%C scO°p<"Fa swr@ӵĉ"_!;wo(m]"U,'QLÝyͫሣ<S |ػ볘nϣRdRQ22\8 B|ŎXoP6Z'["tϛ&|,_/{InJwNN\. Y ']Ґz¡zeګ,1N$KeΥUGS7-V~=M$rE^/PN NFԠS^L!2^1TJ{ە|9d/0|+fzsGقyf v&1-G_YmaHcEa7a0:t"[hcN=OB;)1kСceb֠8^ d[;q gF3n<-=ټEw8'/e7V^Gi/o|Å\p+5ȳM!ImWT5V"B߱lxqQqئsDu!o {:}ȓt֖HM ȤF) ٯI˼q"IO!=}31ic8=V *lH?;" X]cEc4^嬅tnҜ&LQB"#sXs]C( }"@s-,4:E eEzWA y{~!W'9 񍂀PE%HUW{=Y͙jJH'uS5Mra##]$l[,tz"rΝt"tΰO<TyG )Mt)Ni㓤Bo6QJXQѝ¹=\? V /u@9?DAKL뷼-c΅1[NᦧT\]1sę=|E NKvRY$N*'%! )[ĝ_@ȡ`ӛҴ+2Y^E xAz;n !~0a)++ o6C贆GE(gu tb"?6(VnCy4 z 6!.H& aF .!ܩƚ~lZ'{ڢ\@"r&P~e2)eqfUfX|Ckqh(=Ƕx}< Ə؍7XU!5 Axv%V7ϫBޫG>D>Vķ ip8/P`ۋŷECoQ󎭖#^ m=qwl%*+r8oL!v h^7dʐV;^}w%<-*vLh>7gek3(Z/":0~d܏KfOcY( ռA/?*T\˖·Is̑x)3 Crq%E8[ Yk1݇Lq]Z,WAUԉ"B{ѧaAST̋!.HdC;x,OQ[~ܿy=^O1S5km-PN"ղZ5H,-iw(M][VOrTqJeq"+ѐ?+SVJ;Zpsz%j\3D.Nh< ;g6r8Iߌt'==*[u[npzVP&m2pnZIg.mt;mSUyLC,^n,ĥDza@s0X\m `m1 Hj\ʕIY 4@\س3mcHMzs'yt󼚞.Q+3-V.3aVKgpt4uKHz#:{幌$  {]BIjN83o ,Z2/dRV\ǶN9ia] =I2p݁O'vg8COtkɸg8$+ZQkVF?)+'Ee3ɭlQz  q7>K{~[]eNEΘȵ2RkxG~y$%b.+"Քw2,HUXJG5fJPww񠟑Ǖ^B%S% DJ8z[(o},h4@;9]!))oYlBgaRDq!6.RFah1 bQܖOЅu =΢S `Y %8 VNNCN\z M&oqLpo_Y[04rG3ռc$RPhGڎYQH+4w/^Xn7'lLapEWo_&mV?|Z>ӌ𴓲( طvC>o۰$LN#}CP0E榧 Q)dtV{"V כ3If_GV0VWRqXIQ*|~E˕|e8H[y}K,pYU4_͋|kOLQ>=Y/ks (cJAy[2GJU0cUBenzaCsߘc 3ӟ11|q W ??^}?'rgZpPSs޻i?}Ͼ[Wts+7^wv??8}W>xI޹|[ G\ᇏ;ʇN~7`g+W_M8%"φ}q'2fNc N/h瞿wӄ~$a|ʷ~G~W>c~oPmF+Ot8-rկ?5yW`$ؓ~tAA<}63y?S`ξzfӽU9jgo?̔7zΣo&է{}Ca^ʫ?g'??o:\߇'~x凾I=MNl:<9jlw{a+~W]" K-W{>zɯiޒwמ?#  w>_zJ< ,矂z@1) ?r4W^.֕~m`+@SΣ~_'o_> W>ys?w3ЖG b+{_|: L'՟ow9_ӻO?%Y+?o?P_dU{=bisWX{oޅo3}v/kZURi2:@| TK<=s6%3lկSȤ>-""8p>ЦxtZ,aI(jX[^9cأh-=_BԾu޺S\ U}dWGckP#po?mh&=~kW~#Er9 &X&}n!P:y/B~+po}n›^,{\|J-@?3xA7dIzi86Wp-K VKixΦLy YeY7ù68<}@5OY_Qvo>( tܤw~x0.+wK=NT,xHw>.,?@9w,Ai*܃XyM0.?sژV֕O.xb ÍT*n")lN^}`i "=t >=ps!fN΅\t2+]oA_N`Y?5 `K㺠}ʓWVEnBK[8AS߳fqAwؒ‡'ٱ8F 2V+77ݼOuIT˳7*3}_Xz`S[݃q#aR$ t ބKe]ȯeLC4:\]Yov=6nd7lML޻g=;'OM}F=G5r(,D6Fѡl6iuq9jO W|wy Hw*v=Ff9)gl81GsY+S/9WLYs] 0EST܉׵ak:F֚Ѵ_&tۊzB-l:=ZvX[|+*Z ls4n%ۢU@WhwZlDGj GĖ;Iގ9{Yvgki%ڛVFV 3'@,v#Shw-JR-%-t^Er 1^)Z0pA[#rb@$ˎbt v3bp%~Q'c-XA4بP8B# sz52@  `00Z(,SŴKVxv0`%m3mT `"b3x1fҬۆ`@u`gD $: N6`e/Qiؒ{c9őjh6Auk%F3}߁E8thbѬ| {#``V," v=&ٳw_Lv8ġ=;8<|Iؠ­( [7A4+w4n-K Jzy( }RQ-FXhs{h 7@ХqLw~PJўF\6 QZ\b7{v[6mܰ%:<5#hq7&kFbF9( w[R^k`&5QkkGӌ+0⣏W_Lv]PVR Ѕj6 h57@yNY;Pͧ3&UմZhm6P=91Ң_.rd$~4Jc%GtW,AKB]5dc`0j0'1D_ATĴuG-?:76iZVL ZWgH]*Nit֝Mn%6kp݁aoF vY?ћTc]X`>$EWC2ZMp+A`x{$.ϡR~}B1Me LCp_O.Ew(j5hZG%Lp׍;JE=7!;6P,y(2wGYR A]4 H`w02` ,VF1$A`3(["I8rlԛxҡ{A8 k;o swAhCvSoBѥt+$ ͪ)(}\ :Î׬׾-6Ţfsީ^+/a0emzq`l ӸuFʄXeLmhX R`ᒘE. t˪knk]g@"abZ0z1HЂcͅlwX*/&m<0vZ};6mw[6nZ݄U5/l[V PU5Ez֩l"Men}DTt n9I-mp帴TO{}7B xm Ftr 㗇|p QkTL0 S9-xhD3FnYŪoG4i]l(; YheG ڝr Mgj sH<5;,+E 7WX Wpz6n͛67WT> ZBYV-& Nvr#Q; UC,;jAoizAX }MVOZD$]}0~ᣇ2bN%.w59қ׮1ld& ss0{ c6or睫W+*G/>[ Ud.mSW ~{q\͍XA4_<4s'a 2sx.ܵg5';1=3&ܻo܈ZLf}"4h~ݾ^[X T&i(wJ)_ԇiw}d,=nZVLQ0)X8;Ҝ/F븯}$F[$9݂fssx/ІœNLg_C c%Ѷ ϿW Ju IԢa{LN9q[mp0hjrhwػsf 0Tv:/Bb:Ky#e4vipl:UſAO_.SE py,j(ry-PHp_* E{=}# ŝk~s'GwXd0Bp ~wCx^lA{+W(Xvd[wjo &h*4=oX}&A{:Tm\8 {aiuFJ ,: ?h9#.?o!;^b8]%IV83G!Xrhta ぺuZ/| cEܛt4Lwxd߁])0}1 v.ZV@U#r-i/$+W:HgЈu 5莹4U GgHVAz0c&'js=s?y8PF,kC0&:1?qsk$$/m+e~DϨ>$ܒ:yI3J= nfN5#ݯ1?m'">C*f~$n̈RK\SY>ƕMF!i32rzOЍMryՇr{yÇjz&ZRV`j֌<+ܓCf|u$|M̽o4<$kj-1M"ƂB7ykgU2*?jdY< j6E"T ;S0+m>s(ieɔip&D%r\܌txȍi+3\Xþh6"?Nډw_V{v;m f-Z*)eh|d}qkpYmgL'bK)h` u=l:D?i IEJ\ʃ3»m;,&7r= S:`kG A_ZY Я+"Þ;gxh!4h#!:(BG@8A4@E^H*E}XF7pxkO?M҇y61;爁zҚC/:}Qhm5s?b u5>Xuu9r,1a?gk%XU'([J hzd-:Pi/t"-c\Ч޾ŭJBցn!`R%_cLٳpLm}f75D.`$"(uUP~'chs„…7S!DB6wgeeǬNjJ6eq2wTB{&w846  LQ.O`մ1M4)c% >>"Y ٶFu 6ll? L8 3Augw,h7&h 9fH9ocKޮ%5l><'f=nJWG*? 35=}Y\k \<9Jch}DhaY<t˜&mM+VWV.C8ȅxZ IyM#d [+^x$D4&FWFIA< =gڲӓ&0`y `æ62ŷbɁqA%æ>a(E~CI_13ft' ;Y3M)+p= ۍخKWl}moW[Y}?T]HY {cCZ %`N.I'{USߔl7TX+dieAQIɸh#:fa&dhTM[l߰cECa mvęT ,sKyf5!~WS_#1:xKҚ_{!m=ә~[x|fBYw;Ũ=~105Չ ZMPbL/q=+e5]svDE&il{2Qpu+xOn[8oXy[sXtm" x=GFeA2 yMfImi)¨k!p8уXK8_Ԑ"|F̄?PJp3k%C!nV5ؚ6ìg;IPQ\7G_#Jy)=?n;(w>mUweV:$m+?0ϴ+6CJ|FH0nbAV&`2ٵD8"@9aWRqm|Ӌ'rȣ$F3Dܷ̈*.szgq LZM^+7{wnjJpc%LK,Q^,djID%Ly.+k%*RO۔6ť}a/̖`-\뉸-o8kM'ϝ&XzYj6i mlX"G@g ;͐Ɵ w>F$s,$k>}t-c寮g2Ф5~r-#IʶS_˘λW2v&d>(vMt8 *D^O/xb<Þ_~ʞ>Ӧ`_  uhp\^2}ǒ'UeWݔA@Da->|,x\OXe}keMW y #G1],'C!JrC_E|?A+{XW=$Əӄb$ag7jʚ]h GDP#sN6o6fO8P 2٭̌Zӛx1zҩ:谡[L3 "tVD)_b @J#rmZ6UEHtt!,`SˢфXؖ(Daq jz][מ.KnhanPXQl\Q$Vd)378 Mώ4W4X&d?bPl&WM<["R$KX\fپ=lBbyQ 6`tl)U4&ڟ!f1k h郬Y2,bJq>5|gb9Gt]lT-U Fj'MT%hף u\098CjPHiݷb]0I8`KR]i碊F#{؁3k!X7qBnM׽N4n$e E5$_3i:7 `\Lr /C&$4 kYA ~?r%7ӖZЁ~Ap;%6F/^qNQb%Hu–gS֏2".N4Kʰ{R|eGP/E0Ojkڃ0rQp ($wјTLdlVſ=!*nA Ta Ahmks9-V`j܉!#CAurXzkyJ#$njsJ0B.L=]ifjZQ( ^W61ɵ_R@t@|킟>t~-;Dˤz՞j!,ŵn687Ȉ6)mxT9֭0ۭ-js7 ܦ!<飷E7, Y.h ZAm#! ۇ黽]ktUy:֓Fͮ~+p:; 5Ա)nfNч~T@;i }u;7:=*g%w<{/\E \fhZhm14BP U?|`Kpק.Vnw#jTs0hUR=T5j`uNs{cP O8{62h׹)6 ]oxfl ˍAup]<5t6PjWnHa5yk_E$M@ U@VCC5֧lUP= HnK%TXVK˓R"L W[/H ed\oQrW!P-o_"[^;3rˇ-nB04+jlfYQpXGd;ƩWk[a~!Vy5Gv? ^5W E\K}p{9\Ԫm}hBIlY~KWId+"󘠓W;Z4Cu jMjO?^oMZWUU_W>fYN/UJ Cqlx԰_OXSWT;3z-˝f9z[\ MkaG8]˩7;nzzhf#3\"9BھNעneGXs]{#""H˻)òWۇwÏ`@VD[#TGw%u-ek=|t0&eFk=|z RbSqW-=J֋@ k i: Jq[pXV#\I;q#mgXi ]2z9(.m SZ[om{^{ר܄5R0|6{x-@66׎yp`w4fmCr`6v]6>YB,h׺ XAK? ''iTY_?o/駇۲yWM)s p¦~;^f+sUbJJ?荜o "zl6mX7.#C_ƀ WJÞ#et -# \7f8uT 捨G:FZIznˢzں,}Ɂ.{:#6TL"7aQC"#҇ k`L hXbҮ@C9;:5)R}jYrtx`@3Md&h(!B2o$쪹or T1!  g>bE݇G6<KV*@:Fcv,>?kuf֦}f;Pۗ:v,8pSD)oqǰ=ʯSf DXgnOqD@6%cnUJC'R}ZXC o^ PmL1Y f3AA/'Hy;tXVAc"]v&,o%s2Ԭ`tGCx؋O I=3?^:Fnۚ"IrY~hSL.ӣJxq s0qN8}*U:#Sݮ՟$`UxπX(׸[@Ęo~gFA)f/+f E6!ϑHO"=ȲX4hecbHdi,5Ӊga$`)9?z<ʏEߪbi@Y\7(K8UNJFIJ|=Poȷ-7~Pġ44%D6˶/t.WoJx^`4>!S&n(Ռb;Yq-T++-pʋFk8If'U񰎼ԝG?=K-2(@(=UqIjC\} >A%]}6§K~H2 LVzNhQ5aZl'70}6Rz^/IOAs$gm0Rm9FP`|2^D$`<}}l5lALB)w(^`9䐙b:^ճQ wڮUOPx`/7$V Oy$KbJ :Jxq3ʓP"Z8//IhFdf+FO ~#o(4QEypͪ&IZ^*b&7jN.֗hThv4$u dnD]nNUw =_5p(QNdI)A  y-iBXky9њP!͐  7 J' ikMGl!#s\e Qsc ,8ƽFdc~Y0Lq\ꖫ/UbB״ 2G EG|QAmVS"#NK6*7 Nyav2j!%9!@E`>jtܳ{瑜FGz7ǦFQf,27 Ckw }z" ZXhT:fyE/͙9bXhuƽB:.z)ߌ l.a>R#(P_JۅM{ CҲ<.2WE×3_G\r0Lj5O7|.Y QCoNW9(*f#ZE<_gfJ4k(;Jf X+י1P}H9"rS#*Ѧ  HT Kē>lo)"*Jڪcʜ*Ztn_ 4o3N`ZE`G8##g;.ϧsCQ\fk0DGt\ t3sx(gh#3v,ۤ-Spy#KG?xm$;Qi"j}Ja`;a]rlyzsLqCyQN2S9 u7UaB67n)sIC# }u\?X9O1;iIZ.[W5fhlxHB )ƌ~zK~1]UB'hWS7n4`I&[(D[Ʒ?7_V}|H+Zz(`3z\o&) 0`֌jVR];ȓER<7lذM8t %`A;y]w-5 ]`m?5hۈ)s9`_3V?sX?7m\uS~tC~ޕ&IqhJXh;?vP4F}PZIRm ye\x4ofPkى^/ZvǮ83֚czࡵ|nT*6nIh^TK(оYi8LZ#g[@g; ME2b"_/dYK^ t#v>=u`sZ+(`C=ofJ#tvL N-4awSU:|<&)Tqd?lP#*UJB@;WRVP+o;K 3Ưd͸oZlw495N5&%-zDRvgD>fb 8ʁ|py3imB"j,lKԣkZ2X7$ ,hB(eh+8?F( !Y*1uٸiT/Jg!MWI_5Q"~$FMf.` ݗ[ecЄ1^"y>}raڝ6bY|h`h}I; ŜphݬQ֊B߳ǩdδokq<-dY1qaUlfC CIם򼦠m4@ XlPbpwŽFY7 T 7j- ~\\ԭ.bCX~t)Bp m嫊QKjH?hwB'ǮZjC!7;ql&s˪fx#cyK&)nRHLﱔZj˶,]þL:+x +-.PCIu]Z|$d^cW4Ȟ}>u4a 2"m]P M6BV3]CNv+-#mdSI'*=vD6t;T>B`#1r6_m `% \ ˲n޵^sÐ]AQ,ȾE`eAo4˻C-I%Ѡ8@"1bAI~$W:,&_l`!|  eZcâWU]wM ^FWڨ'n/Πp}D5lȾj7Fx?/@/ AkBƾq`o f!5]U+ 6XZڞٸi1+OBnOZѨ23*s|6BUoՙO56F;Yske7Pߓc+e.flQAfz_Fry.cԙNY [eG/x7fܨƵgC"DG+Tc&?dE-PD}G݃-k|V` XJr`E Բ ٔ)`HqSLT Qap! A|ǭG"D^oqB0-TTj`.}!"onVT'ASҖ>gbeɫtWBGبjjF:CƵtm00$,܇,XVF$\&QJv&AI *Д/tQqaN4) a[r\;scjnk0>aC T ,*Q5DF;P5$(WT"T'x|weNoK<\/op`;c#zkjz'\)d0P*E\MoHZXuQ((f+i٬DF̘wXtG+i 8(=1=gtZOZQIUڞ{Ot#uAV2A_o0MnlRy(=u6+pj0@I< 0cErk<~fpv'kS[=`EC.~:YMڨxY=B/T5p2֡~8ok:LAN]Ѻ6r#+%tA?@+'iJj1i.)@˒ &u. 5#"ܣk|MjIg!Ndc&i#w7Dp򚾐f^#Z5FVl>5G 5f+tLhF'aFjhȻk2Ve G:A3iZg%H>.7x琇|ePH3 ozIjXn4f4tP&D)]D>Y'^Ӛ -GrḧWU&V4eR탢Y4HvaXg.PBPD kE3{"i:^עafG AymbQm_$z7'G{ x= .HW d !OιC:ydaXːbw׉0^d f\e>P `34[9،.(E69ON^\U ]h[G>Vʀ5vī75t!fN4=el:|ʌZ ΅׌|ثߕ2]lY{}c6X٬C d{9{6~X3$1sW ^jSg~괴ȜLڮw·d=y, 6P-Ғkd@|\]CY s.۷Sqo;mt4R>hT(k9aJJ!vCCև" CR<< =fu͏GLxnm)^1 T/ j@.,T[3H}!<{f"q=w Ўl.h!$dLYk&KзrB F) z&΂+pj(xvQlV]TnKT+5 0+?kyd_>qy?}B:;r\&]2$k+u++D?Cwt.QT&]C-U=G^+Ҥ߯RY)!R~j[[i#bZO5.z-QׯI~irKΫ+dyoyz#nZLj[Hnfҿ ?|M|oϋ=0>nۼaߛ'+|ZA^Y,qv_}w'*l AOC7㇔%"=_Zعkbz5@dWVm6KIOۄj|9W~P- v;E|B m[c :=2⹅-wO ?%q75F).%pǸxZ;r Y-)W.*sX3@·k}7k+hgsudge.O#_O՟ MEI 3#J%>;/fE\ϛ[IM',KPxm tElSmP 6翆.cLo!~M%Ȱ~o4ܗgG\u65v 8­6sϋ0m/[t9zd]l~c"0Tн,[YUIp"Ơ{Ymy{8w-i/8})[ԗFk^:Ys-ux6:k[D}X۪sid1D_gI;+0!].#:EJ)&J *v=4ʼ5'HWCU)!x‰l'rJDݶ%(CAzUwSZ1RQauWKy߸dn&sJ=[q:PvZg)hG9߳ @2 6 _pŏIZVoZhKGbbNwE#UIm.7$aC:sȒAPؾ(HEx჈@/s"%'[lFvܕ!z}ݲU+ݮ¶pf.t@iB+ mKш|Cyi9@0rY?]F]D*DKHTR0r#-dICy?&>tARŕ ͻ=*===zBKA%0KQVwZ=?ᘷ:]oZblЈ4#'q4MKMǶ%NKG_wQt.u~)K E~PuI=/**@l5R; 鑷CJ:y-d.saM&w>C Nj} .,:ЊYH VC#T`Xc]`"! = !p"<%ڶ|\h $X4>>ϧP{]ukpi^8.'u~ ;8h ~FMZ'7Mż"/&fٔȋU4¥b'C~ C%WP :I.cGZ*0,LIb຅ Ov\xfF.*4c-p* J=0,;A;҅*3.BXlЩk $n"YPk0>rhy޳ 86ɫ}q r[Ce v[V?o]w}F=Gd5RFqNm&|(ݟڔ4V޲<fbv&ZtW+NRYdruQmYk~ǚo rWhAOpe$߰as4Mmn M ˿l`vډn+Z 1jin]ѣe ^ 1MV6ߊ븊VDlsh9b"dM1sہł!٨ZUg[a#`xҪ ?ݛ*עZZy%03~^t0a7B0% v#)l[^bZbR! %D"TTϲwQڠ&fMf̈%#@{;px:M>Y[;H) kjō2a={Fw?95>p(N޳މCÇ,GT@%пs;EҁCԆ5Gl\*J`S+IPaDsq-kD, SCvg%wiTʥh:X+S]q#{v[6mܰ%:<5#l縊5ji#1|e}n_ʨt~7$T#YoD#Qpٶf )^Kʟ3\.f+]Zk3"U WpA9gڭtѻ^u#`=C$Gɿ ;5ӪM:AELR0m#_x(iw W# Y/mgܗ6z?Ѹ\7x@/5 Ӱ>&p[&:|wy $~ltNu2';)7׻yjBl޳wrff<#Fl6*bֺiMhj}_ܞ@`vdl7Z3Q8! {+nwDVY\d: =p`Z 0}V mRnL7>7['U}CYes`0v`?b{&&wN9ajxVaQC3 O>m G< 4D킣VOMLԢvE0M^`fEF}g4-# Tl[ fjϽU WgE0NQ(U|M-#1u^.nͷqQof@ jrT:E882fpԘ0/u5PlJy ԴҪ4*C1T&ڛ;2Y5+Y9=W&4F:fݿN5c7d6:oڸis~vܺZChRT:~)ã UIZ<Ԓ{s =yufeQ`:jƍ4|RmeMzhFC}aYvJO"Z-Df~?VspM`sVqN$AhMhԵvósiR Wގ^0`][BXB qJhG)kF-qBmvaʳhP<,kEу J*T"#fi@2:2Jx0=5"H=N\YmnW"IR gAOǍnZ&D%δuP#B}CD(falڑ^a -OקIĎ&*L3MqqrxveX #Y6<.Y'px}&Pf1c l; )4[)ݣ@N$>`G\FsoxžVھcѨ>}.<C)v4H̍~7ft $FBఇ<:jl Ew%#t/cou @n;)bm7Xeiܵd¯²sC\/;1݀9zsGj p=?}}~c?o[o_k˷펿|e?|W}o~ ;S_ޝx?_zowwl[~ﱿw_[sw\}Su߼x5>s/߅}wsq?s=>~ן>|6/}qO;&?xǏ_p'_ޭoǷ~{koĭ\<'oO ={C6`l_wݾ~^__[~ooݏ~=ض-OOc[6ߝ&pnf03К5GɦT&w-lYºqݕ}zx]Mӓ_ӹBYTIgqX[LZ#Kgm t&ͣD 4^2 txbOdE& 5o8$t͇u44b΃C`0P/ʩ0rhb2fҼ>46URJ!G%V+Euecy`)e0PQpP3+"2i`x-vB7 :j֭ (HqׄyiMESQ{R|Q~0yF{p$ =YuzQl[t|gm M1q_ ႘=8<j2.Fc̚5 \h nxL˘Ǎ։ Ē=hgh r6pN0;n@'?ScH3F+h !*^Ij`wš| Yf K,(^=SN,YfCY}D'z^I`b re'@kYyrGalT2\bpѠ"5JN9Zs8'gQngyo{Rn"{G{>͚HXUFؖ$o잝;Y24p:NV:w|V|O84 J)jgQ\#JuCJe-):2(Qa%N'YC&٩rTZQڡ6SZ 4ɛǁgM#9vC`0"N/B&՟*\=(>ӠT/RX(i0RocցۧZ9EGԣ<\Tuh㼞 ٯGPmAؓw]ݾ`/ IM?4(9@bU!gW90^2#@(U)ɞLyzgM B}WR1XcL?Ag ֺڇ>ʕܶ.Muh{,<U6+GeG%fVmFHz%) GctR^VNFvg|ŘꨫٜVvOn30"0lW{2z=@&*j6NDdL۝O9A4)xmX 8Y;ଈg+nݽnlg.5p0A:(Zv6U2^ndդH:o`{tU p:J_ZU,,Efh31xЏ"It ۘɗ- >(mc oY(aqִܭZ ND;2?wgNuV{ޒF)̞ N5=ށ_ &G7Dpv4Klk`i\۰ 48E9oZ߷JnfyEr7iXQ`{6t%Wg("rD띔- *o׾q(MB։yyRwLjOb&Gk.0q\%-G1j&8$sO06T~?H\Z˲ 'F%,y}?;ġ#k||q|㝫_7⤮E)]*Z2n Zku/Vζt;n߰S?Gλ&Iߕ&e: ¦4,X֦A,, T0XuHȺȺuM~NsBZ9Y^sRVl&eݺF;by[ ;3R /0~t[ r% VN24dj9dgVBHRK7[<*s̄-{vUs AwӶlL 3 3wxun`Vf\ pآ4~A5E\Ah %s`ZyX~\\@]09]6}%uPE X g1ȼe0ˁu9]~`GUd%$z {spH*ܓeB\U吆'EPҗI"!I*$;^R__k ~tzmFu|` [=@f91='fh`6Ƚr03 o an sAoi\EfϘ0P'0~,JsX7Ђ,A1p0Q*3+vM&* L'2q3"-H*S]t:[Aʙ6zqΙ~n$ _Bs~!vkAZpƚ5˗fef2֬1ĵ(E=?{M_ $i#INۭ$@!g<[7- >ײI^l~cBtl^fJۭ}5> rnᖏlVۭ,[Ms@j[D%!yzE)v ̘3 $ z%zsDMshF9v/·A'3 '0?Ҙɗb/~  z _Iv_v؟J<3yCjۼy'o)}hR h$K >||ZVWW1/////////X||||||||||||AЬ RDLHJlCVyQ9F@@'[E:t)D+G;2Ѣ)2}'#QJDv"'-`pb&s@I٬mEuoR$B,񕁍lᡉQ V AQ֎\.1G5w["TpUr,k۲qۼy5&Y5);jw┣q=04j*^\t$ѻej8J />^> 3gj]"8qG}RY9(DzwF@6 ITR}BU@`,MnXNsօbKB%`abvQOL_Fs'gi)C̪@0CGq %y#eBE'(Pi `5<(U*`;;hdͶ'ZN:PP8N% AS #yO|~Z> PQXUc1 EQVE$btVh 6PzdJ'.V6>r3I23M@U1ƕbÛMM_q ьBXC/a1b3QM7]Afc.ER*˹ǘ_+( TmY,d ks? f~S@#߶!#FGUPԹIJ:!ʐhV/gJ[YuJP L9ly\Д|\>2枯}0&_hRoeʘu4V~Zt+-'D3X}RU1|%|a|IRO Nɩѝ}2~i̕ZRQ(9ÿ%L|y"$SQ\3Y )U*U M ,O4[-ND3YU6&ȴhZjV9X 5.» ׼+" }r'aw{xh覆nj覆n-f969v@9M`N5'5EiVhN-ghW9dl`8'Z2acLhc``KtI+k IմTCPie%(H49/37Ž=`3Co?bNS S,B'|u6:tɋ1wv:찇+LT#)D;`W(BGC'AZo8?,qε00h+ySlԿv[@ >T聡= ?&8|,Ph$?t|ki\[o&HX[wN?mZ>`SèKۡwlQ0== ] $j9ݓYBC =/d5,I+|tDwEA LZvPOΐΉ^OB13 :G~rUm3`PY&NTe!kcCXJ%EQ=EIwyՕBA&Boy VR-MPWpU4 1Os-.B3𡽝 s\l+Mc K`pt''D&f$d@T a٢ zń71d1YIR*3[Q23,7 ER7rk+o ԅM1. 9ќdcSxlTƳ\" &&H{C^sg&iofLGxʤnc/OsO?G󻠠j̙:7$1?&2)g^G3''p4]x9g&!@!,;h̥?~tFF1VjF5k_n^ uh&rFSgY)DZu*s(l uo bZ==e6\L$lO U᧽L. YtQg5c3FBĥqlUf#z4GC2fi&?2+U\2Қ:^@FPPMu__JC\ ڕrjtڰO2e%lFFC er|ʘdRH{7`ZA涂\#3F~sՒG9  _ߐ=Ѫdc[TTaFپZHoUoTiqMUZ"|s^%JVaHےf=.LNg $ScW !>sVS.}ɵ,଴ˑ oV_|lW%*#_VVXoˌNZ鰨ƻ519ʘ"e'h K9 6*q ή5mqONN{ kd4$-fi{H[УqXAºcK3h12* ^J6z~ˮlPr _ 9yi#Ir!YTB\H !*$1η(<%{bբ@ }&3wN!:@BDdʲj_54n\9262|k(ag9LFi5NS u:.wYlԜj|Ev`Z0FK%NI4vҏ~ hviEVU }Q20oz--nbḻҫ,6 ̘C(Nl96fm\4@,&c~sHh -{7AQQN/[5o64LECaݗn)qS_0@>Ec"#yL@8gB}J6]=蔀}eg h;d%~ྑ#T0?,*L""ļX-fu ޙpj`!j^rvH%Py4ڇSZ݅]r:rH옄!5uf|`e1ЋpIlx1futN7B3f С0ddxHpd`x1.,jP>cXxNp͌aP  nr:\.@_-7ya9ťcQ~^0QS-4FqD.0Q-ؐ@ru˺8.| 9""a% B 3Pk&uw˜(piy۴:z##mUg߿W-V碁߿߿{NPx_}{/ϩGߟ"!{襫@P&iIB'޿<;_z߿{k IГwsPxz؛ߟ|2|*<\xMDXݷ`=+/%u`˯ »{dcmMԟ)Fz-'ag{ۃǑ,'ʼnO<7ljl2fl?p'j9f%NQ"wW.9 eiqslHÄ/a|X)Fkw xэG'r18ʳtU&na|X8Axr><(0g.㣫mOI3:UbighSӶF3(k $8Crӳ;l{EQ2:.>^C5ŽNJ<״h;sfu݌ΎSuF3#bUsbP (0:(}C2ECTHox]<}9cvyHxEh]ff-(]$5flᦽBzʹͱIht9vDQʼnm.+7M ee(?X\[EsKR1]~U9/r)])[^M!Ɋ#zrAjU(\9ֹ3XֹXWsq\P0pzsp [ܥ-}{{}Envŝ̺}7θ3n:v.rëmy悯U˻&-Xy5l{ pk.B̵*N(a5 `tr4I6%Z.sYTu"\?ߡ4B&kA5]4gLä9o[A`Xk~_Dzviwi"f \ ,| %Hda)i40s}I U@! "`k(ͻʁS-fAY]xi=YK])SV7qh/o§}poq*`ph~N w*vpJP?$ 6  M၁k0c@\4` " !|@W$\?YEdMeu,N, v\M&WrЉ )C`߰q*xF&jByT(bdTSE=N1KfufL']}8gx !BOj״s_ =~Lj}< W _lX>6rNw0KIz i `F9jF9jF9jF9jF9jF9jF9QQQQQQhF9j ]?e:3*AԐ4u^˭Ywo>C)wMoZ|::N16^@fxlp xT7z$C'0pCDiѐ.zPyuD%}kRN#94{.-1-eli.dlW3i>nvH"j"}+0mw U peӮv;5#4z2X|7ũm D e;6.Gq= G q-VxQp88/Q7x,J@N8cg0؇zM0P'bREPLߔ_o DA"* p2HO;z]j ngX1F͛7F4o>_< =ه/}}m{OF>||?-+KxW>|_ƞ=Űx7e'ԇ1Wޫ//(:\N_w^% O"=x%?A6GJ(D0#KP'x?}0s*&x C]gH?B Ezd >Q(iӂ &Y=}:$H÷Q}|{:C_(=*o>|'j+B]7*E? I%/kFO?bL8x741DcLA('+`('@a=Q(M.H[EU$d/ ,e 2=+r J J J LnhxWjxWjxWjxe^ᕟix:M2YUU6&Ӹ`Y˅YV9H 5.» +" }r'Aw{xh^j^-ez9Y\eedN/'K*'Dd]`&S2~@E D\RP(* 5=&1T ?a;bb B%/!pě x: ,[*F`bt#ϐʫ82_&0Qȳ_Ë8KTMXYO lE>ai1sѻ۪OOOOOOOϞ&hjjjjjgO̢y/|ݚUT{$lA+Xo{;?;OLSmTom;Yζ fZCڰo0m^p>?( Wטf(ِ c L`dhv>̧ 'tSyipPߊpX lĨZ_ot1R{dt mBʳ1O0&7֮ uF.ݓ"8x&ߧ> EDHUQ="%,иl"7w5nڴyK/sƧ ^q<;~w{EpZhOHl;/`>w:-Za1şl|ww/C=NxV40a)) (dX5=%z`>f۰-lڻ@37.  3'eyx5RP8CPgQ \F p-8KZqZΡZ]>ʢeܬalX5m6MB*24kL˱@E-OP,NWp]p֌u)>>i!  ) D 0PIìI t10ʐ au _FՂ~*(EqyQ4 ɕއ/9&8j@h[XcX-Ȉ0"`+kNUبl¤`i]N`Oa4+%ѹʱ=;J H X=L)o'y*S\J<[ګ` Z~ <*쭡ٸH/ϥRECKyƗF|`pKa8!sהCz@S<p >$Ԃ1UF.3h?4gy-tKv7_64"!^0-'LBR*p] CMRk,F-[Tµb.3R3Z!p%uQmUjӖ[g!5jaLE?|W1>YThMUiRXDJ9+2 ߅ʗ|REd+tB[Mm}TЭ@N?KEɚ%(Dv{YҬdUuӪR.GFz&֎rF ~IɦY\UtpjM*!HŒSmZ?Tf#w-6-UT`bI3ޖ kU [\Lm2`mhIWצo5*MRf2mwzKnpڒvs$[ٴ6YKCNB#ʔB **k 5Dƚ1O5ksAz7.3t R` d@4oO_ݮWW ȍf:C?ᦉ|FV5qo%+ ҟ˯e JW[ 33F#d,S"V~&l.^V n/Q9\x-f6lWOK< &vK#^eD&snTK`Lvܗ|@oR2bk,k&k- ͥ'_E${1%%-(⤬*O{-X\q^#R2ł oi:2A3t6 ] mGӔ"Mˇk^?yNVSzG(2)QvS(2801I زL&hµD)a-梂qs4F{:ƦY%`!-(up ZsۍqIËJΡ1Yo/k z).*j'2CpbЊbeJ |r.#T`7 O!(ROjށiabD5ȹ{>ssfR $\I"b}Sf@c G`!FI3 m0o\x40d,0r\Aœnu3vR q~N4mɁ&cDd"Uk^l [7.B~D^ẜOw֛ڷߍ#c WMȬ=]L ŴIä0qa`j9`NJRn)<\:!(1 -島vWUqE:; vRAvsOl?;Vtd-EG(<:?ӱ9 lhͣvq^Q*ޙXTS%,s,29&`^XXq%ò1YR7ʾ~iFKpN:ANÙNZNPtT 5L U'H RD'H-N:AN:ANޛ ReǗʗW;~/9^_q|Dw /7i%箈WI$=i:W,p$4a놋=`n6N[|Ծ۲e$#[On;w @A @A @h j`5PP5PP5PP5PP5PX((((((ʠ@A @A  j>qy?mz{ vs;S/gm~ArOpY֜|{=-<"8eVjimծiCIpv!)ꉶkf41쮷8@Oq}^ڦH@Q%;ȩqґ!fE؝w&ajN߳#{߫)\=5<|ϫۆ x.F'wfkFiFiFe1~~~~~j~꽊˺vE}wFA6OV[RjH;ԋ+D⭦kFiF-]Ոq]3 ."eid]'Ⱥ$`~?}.ĺhVna /$3sB-bPeMPwߜ`t¶" 60 ]gt x橸liVm ~VG7ann.>Yxyn6&/y@j2-L64 >-K"_0*6mܜ:/;nB#>6B\nQ] a^03-+X`a2B\lBl9pփ^ Ĵ,^Ed=znk(efšE%ឦUڴ4<ܨn &^!? ڹ S`*@_a;$o?g;wm@95p,,-5D,,˦=pYwLKS5Z a  Zj FA.Ixτ"7y<!7:niYe"@چ U fe649HAr*m+HW7>u)pz[G7,RoeB8me{x)36uwgNOц7]Y j+A%ўTn5KV$doE}|;syԢ#n,;t@c @_07 ^0;k!8o[RzP( 'C$5q0"ƃ A"C d`hImXW9UaƣαPDH_D 3V< 8`D"ɐ=v LPsu2lVP`J` ]wt ̀Vz]L/B c*T'40ѡAeضږ,0Ė.A#zSpE0zK|aUdqpGOb7L約|.6󻞇t`h59p bq2DI<6|^$S 9hEr1 cPgFycAUDΚhaԴ!`FLTqe7B'B5MBnbu 77AZDc 4E%(hOM??G7ey§"_}\\VXŃe9?3S'܈ ?W }~ꄟ:NY~ꄟ:g4~ ?u%EuOmS' ?)kw6g-&RIT$'I3>s W&g%)>WV$gtdjRYSi=uZ|ߝMcZuR;g~NKY',y.)gq6UO_.;ʳB^O'\o;!,_}~o?7я?x%dkTRTR ^FF|A)'PK@ȏ?k$0 B /nL8ĜABC+a?DC ٻ>WolHol§ woozw7]y]ͳ<ͳ߻yٛg_r7>u 2I7_y_y;7?{¯?9 =wwo~oOʋY^n-t?)C r\o]bFƾ /~ۯYF=sn?M</V"?p~ē84ng.qOaOP|7Ab[8>'/'0uC ,0 ϽGw2d:O.6 [e([ϟɗ^rVGQ<<H@XzyUq'/#yElWy}o?S#us땟N?{М\Fn.d'*ynۿ/^'\XH@;J/1yϭZ#1h+p|_:?ULLg_Zo'繂Tjg fQ$m,.L<dž@O##~Gں@4`/_U3 ls~6}Ա (Wȣp!UXrdQ *]pB޾yW I\҈9߼VB\_ &^[50 )C6[?^4j,f`" ڭgJT &VRS&eb#F_ș|szi?a. RL(ldS{蕁,k"}%+VII|9RbUF8vZ}?l4Dg_؈4%J O^JI>~gDD[Ͽ]\He *,g*{'n=̭wX|e IpO٭˗9k/ULeΤ+1\ri]P̯g"4#%g1D3lCҔkߠzܻhV3x56U}8>͢ *H:)}WX,o %߾ѕoI\WC>[_tp7(R\ *}wf b!uoU.iN .Y޿>;o=2mj8_-{Fo=H5B%@ЈjXD @D+ƍ捃2(0wߺYDsW`֮ۯ|4ڠ}7}[fp˾z*E&^kA) 9ˀ[~ѵ$pg <vW˜tbNu ЋAET)g`R|?~>٣/4_mĭ^ g?y/pE;PԃPaۿxiH;@{ǿFЪf_n=. QDl}y߿%qI) ? d׵eWЂO!<G{|7`480LV`rk'WADn9@!ޗ#<) ~LjA ae>zCoFcur}r?zOC>~'0O5'ڗqx}|][]\l=T'w?ci-] M@3Lp;ߣܦzϷ~x {O~dzɮ="t}GRll(BxzPρI7$v+kzs!IiAo4 ~/Da`(%>K *8^e!uQK\h%yך v0u`5߸yӘ$?O7 ]m׏:NT `&l)m ާĒ}8ub@:R@:d/::N,KĒ:d&:N,KĒyĒ:g:dѵ+br_^GYZRk)WW$yeiW4ws0Ԗ:NmS[ljë\I.WIw7Y/= ]\OWjSHߡ+K2e[4 v;׮F"AFm6VٞU{_$l'}$ayh>ch Eol'-(PpQu IզeU2r]Crhظ)0 ԡë4i§dH~rsq)upWO=XL\^0hnG Qc3'MCf1g#cN(& ,ܣooMo&t> Mpڎ#Ȏ'){Pb&ZI{{*}xr&x#vlaX\@N۴A2L̃$U"a ]MPfRHQ YʱҲ0x }L^y7;]JV]C0C)4`:fӶՂ!*$!D[v 犐&6!jR=^2hcNrAܬ;/e/"ߖ$MGWIQ8\{H&裋0b@ Xr([ ~4.VixM`ÜwЀ2„@@] _קp˨JORU;I4c'b*Y B(P2 4cNQfADv1tY , I`U@/,wP\X ٩aCw|XИ+՞ -!9t|5ɹLkh@W *[) UB K#R,Ȍ'@~ j0Lju) Ott8 %]@.,`#_HVhWevpNL€ez׆V7`n6K,CUN"T-+t),R-DƽU*30[-r` 029iQr퇷&{aI-2Jlᙱ c3\|ki.ƅ|ɦ-Q?gx2_D}y!p/]`ki)PqA`%iJږT!ѴA P!B0 4 P 59\mTF]1l< Jʺ7P#ܠoR+10v xڄ섶e4\y]D +f&xn3,' Z1,$`%A3,E.Xcoa`x&2D.,oݜ;FOa"w ِrq~ 0j&m 7[HF[VcPA<ɍotq-٠?Z_΃oӂZg0]Y~?*}`hq:T+M\}zϵLu%8qUlEuMڈkb[~&t8@B&za?7s5$1)n`< @|_5= an&U ٬"|a vx4hN9&H_;0}٬I9CGp<J-@`CHnӶ|ni}qx>|M5_Ϡ'}Yc(tѤ>.7Y|dkq՚5iRhcÈrdfO/ HXʗb<J.x+!Lg͝|&@IJ"nj`cMںI=@ Iq)Ƿ>4ʧuf4pӰqx$'Gnrz$(ęxOϞ:t`5#[lU,p˪tZpP Ц4[&X0 *5۟iNp&y-ƫgz0y]b3# qс:ٞE8Qc֘sɄD&̀V`}Lo:sns^sy?珌Lgw5_O#\K箔aA+mXebh08[HaǙql) YSi*yԈj]<@oE6I 1.`~wr4}:M_߈<"O+VitCKp4}:M_uNӧ4}:M_[yʤmxS{U,n⊤LJy:}NWc2 Nw͋D&k./Ol ɫymw(H;~h [+k9#R@IǠpG|cP5$eL= Q !dJt2eaސp̛5ܐԧ׵ o ߘg?}ݯ$oWc5VPc5VPc5VPcKxXAfXcSk j j jW_{` }b4&Qc5&3IW~fJ_}_黲&:]vtGme4 6)l:V;0' zn Y1NKhhX lggo?0;Dvs4aitnȹM1v_Y )$9e7{F3\:ԴvaD6lo#TgBe1qZ,+.; !m9vրŽ@0ֻF# v\P{h 4] p]oÎAЂ3L*&%m*zD#W5 cV8 ܼzwldq- 8POi1 Ϯb6ZCIN?Oϝ:zx5ݺecsldgYi8 VA6T(: >/8L&PjXM@@N`C;['ÌMƘ%yƊv!,lB(YТ+5hg `&R\Zc1Lvw$0#~#qe.)p1|YXƂg%p V۩bCm-B{ f :=JI_y?M ӄoV E ΕP F5jbW8>TBRf zR7+][h ȴI?V0ADi |'0R&0BZ~^S%)1֜%*PiW@D99B dJlfEL9:TJOt(#1@ ~p၎z)nKQ*#ZdQ9͸sT{`uE) KqEѾ(VDM bb :~4I:zRXa :N $6Ճx<)Ҋ*2QXC NI B"l~<HA\)TTaIsI̥ƊIB$b/׾x3wZc~f+OJ, ɛlf F Lk2VI!$jl\$UMMʂ e*8PފK*0~/Jӡe kq GVA|k֦ѐٴr&kЭ=cCh i%%t͂ڏc'˺iZ \}w:o㿋O/ ?//ހ//ep]P-$o0\]^<"Zp4wq̹&~ jvaBd.hp2Z!Xp=NQ 嚬\;rU8dMM͆NSE ԩ"?3"~|^96=FS.Οb-olN ?Z|v5@bȾs|B T k)'`/gIi@o7ϲJM@j ߁o_-\]|>?W',nSL%Xrm.\󴎹8W}23%mf@H O(%|4m]^6t"bKZYqu+B>1n\Eӊ/̟@L Oi+b ;5.bdO:҄jwxE85>ӺJʗF9@;.->Ko2 t%vл -C$A͋LeZ^|LFXp-]({ |ŶGmdhH-u(Ki*JB~L!*[T3/n=`9MY HgZӜ(3ՀCyVjJ">ZR:@E;=4WHM%ޕ$xG0+P -Bt5DT4D.Uq=pD:tiYE9OKW9MVJܿk˃N&kj_@@]ɉ7c#qXq7Ya ^@&kr1•!Fqx2[D?MVKU,H"9_:"T7QFҮuY\BELZV UC z:(s#Tx~-QxH׏ %|ݳb!N%OCn] |LiWʈL!J x Ii0^~poS|M({Y,I,_9FdW߽E:u~hN(n"𠓵\xd4\=u-푖cJ>F߈ւB$z ,-| bByXmc=砩Ր ?WI,5j6Iu5< rb ւp/r񩺌FL7(7nZkdQq H)F.׹ N͠aǕh&`RLƢpYMFr"ަ5b3":18qxVoq@qx.NVQiXs>Y+D2;0Ր`'B=[h:z|h9 .c<;%{ԑuF.AҹKuV"a‡2:1qOsV (s>3a sE"X6} .@K~;$/&L2G'FA-KB4x<~Wɠ;4@'\dX_({bxy[|S _CxCPk6p3)c_]7ݸuDWSOl#F=4q7>p h`~.0a:bv!/m L_տ*}5_#5A0nNaرu9}Ηk(QW$Y5"bTzU,Lܛt@J+l"jܽ9V$)>ḣM|c5\;W*fPjPwh{3땰zUC ID&TH?$"nWK #e&(nLU2Y|ywHR]1=s՚USrTd7[s%V4ZM!Ɋu#zrVX)nb.y@+P:j uduAzRW8n%Mh Vq)uzTY!.O paW!neƃw[h5(F*3:eda_@{$enub/Xxi-H=qټx{}Eȥ]!SK^HB`dzH,QH}"rq Sq"Rˆ+5HeZb\FsJ6{limË^"]nn J\:*bzyNL?e^pi|zKB[ Z_x[JucmS`pfȘpmA +knT`mb?0&$$R&s{Mv(no2a=ea{!%ЁA^s eapƍvJzZA:U9t?9tq}eMBb!n1pI]  vM?0 Mpx&ކsH@)yS_?-76)ǸVdsf'D|;uK3Nɀ`Bў1'avX,70cg0z Wl]4q[_X [VWau |&a 9w%hct%`$ U L214J@̈_b="?3ΚŅ ,Z83B>iᷱ9;`vîx`Q2g&o,V6AvIy9l1m: /tܿ]GK@`n $Q`{GU$1„!0_gɀf);!8m8Ì =U"#I{9Bϓ_Oh4S]" @h6k<`lkZ{h! @ć=OFКsPa ]/#l\NUD\j#`iuM010ΑxEWxi+j+j+jbYj+j+j+j+j+j+j+xE$m^G?9^̃1JTƼ/hO?c p [viƯ :P77ulbUg=1[ϲ:Gxտ:xxxxxxxjxŪio ?=0ivf׻}d3ȼ v .q x>FSњf AzGw,:zYow Q%Mk"tm0+ qQ8Ī(`zFWE/Ks10&bb-:]OT*" ZV[.e=&`>z.a4I泜h:g&-ESgOZxBSc]VJX]|&:_ET]ћ,,t  F6db7]e!Zebul@ -D[gRYf1K[ MusG\cIpd{*JXDfo>0Y+8gWo-KJ/RgSS= 8/ljvcWYaH+'K))JKXKI2A:8 AP&\p ]r/0p ^4|xʽ@qF,O 2pymDQ-L`=$.{x p-ަo4TwI"k7/tPY؋@ȥEhz.kD)cpPH_EmGV#ȦM \)>=GW޺[ ?:ۿGWݫc'.~~?ݧ>>~~^[]{~g߾_r'z''/哗ܻ?3?[OѕUʭsS||^|]}'o<ܭ/A>I!?ڏ9Pw]~rsO~_4;_=+YWo]fAO_|d ?짿5~tYh%}/0oz'Oُ?}O^yBOx{|oˏ&t=j\Z,LNqG8uVUjUQUKjթZ թZu%աSXJ w7I+;Ru5XP)Tu UB5NP0:u:u9F-w}+ ﻯRedߎog 1,j&8Ѓrf:Jnڃ۲U]N8 6Lqk;$Yk 7X3g6Oˌ-_l8|$=3.\s3a!kTtPq˴@}1[ُ"/^׽wဴ_"v䓀%lo۪CMؿ{б52R5ɰm,Sl16nA(u*| πٕĂ㬁^zzum)CUw'? iz>;NH  ^/P>u&@YdGu۶ئo›j׳)?u|RxI#Xљ)d38:՜`0aXj贼vvIA<%gyH'MannT L.}rN؁zik[xzwGJtV4ÖpuS ?zb>çIJ "XpOq> b8#\ 0mhbS}oc\7zژ]a Mq#Z89SE8Rdr12T3n)A`ybCz{.Xm6cQAn#x8j`5=C\Épڎ{9b|r9LJdZ/9LjNJT].Tߜ<73h p)1P*뮍/WAQ5!QMԝж?B;j|Nq|r[t4-ؐ)Vg=KJwrɗ`ӕ~ QA~=?\S2*Wq+<łlpYy"4A=D #JY+Q$j>ZNh 5zFϤFtuԒ4h6Auku<C=^~D>02O\pC(ܹm5<8}7F9\CЇ )6:|yu F!2D=W&R 䐒Êڅ[4l ߐ 8_sfzt+ꍩmg\7檹ʓ)5.*Zg뙼_څeėSn捫5>/_({6R-wG(j* Fᥤr(Dg@470㻎Pcp<Xf3bEz HhL\ԓS*(90ENb?J G/_Gc?Ǝ?w/;{ؑCCq)0"zhoh+ZGzSS&3aM#ODlO]7+= c&vޣ-!{d FMrMaȵ[gߐ&KyqpvַJawysd*swY^ YͪuA RMmN{R&=@&ا n?GB_Bu.кi=h8;Q3{ҖVQ*"Ց?T2HuXIM\ Ĉڮ2g؛@iC9Vy1)O*{_$jÉ?\\?Eh =3)?@"Dd 槚fM'MM5Kz\FD  ]YW |+ p6fM+mBr.j)>&Mdz&b,}1ӼsƇ7?gxG{.ϺN%HI2xՙ~uR(`X Rtr-&xkn@*)a\ʾJL]JYY2H'kLo S %62/t|޶aFr|b;YR 5T:|-Z kPgrm?Q FДȿ<;EkvpDmx-w ãޤ6օdw1\漴vwMdD#X+ܴ0oQun @F)unvMg ٙYgq}~lV V+uHTk`<+2HMKL I g85QS='@||=M>44r^k},DR!M%J߉I,2Údjz"WuDE]~w܌ˠpA^Ue^HCN@HYǻǂn5pܹd*Kh5ٗK- !"V *JоY/fQO7I2qP,:hkp;5~ZM޶G>4QoK*&NujUl#"ё< #UI21Z\.ƪrCehbs6dce|)ȗٲ/O([*1m3?WMê*G&&Ki:x}:rRk$6Onk  shXf.Z+J^-CW/ a9.!?VZ՞ ?!Y6w[O%$Ƌ%)|jֲp-Pmsδ1Bo4iesS4)|qhXSٯmHbg6f]Vc5 vEC+12)@π5K:Z>#nu@&Ù@MiFAw1xMPu3Ns&kPX݄2={ԁûǏ?|fd<q`E* ~(D'鍘ؿxD$*qN;Twi+US>&##:E8HT&y]jgx  Φ%񴲣i/ kfEթQ;֑g/~"4Qqta}U\ouqbIw,.=g2OY6~&վ)Fe@epj )6 )gJS LM`eNހp$EW0rcoxScG;2V~Gi [qX9KLJ y:ƃY)21d)NxAt݂L~B6a6.FEeDڐt*yLV*e~ 61H40ΰU|>DTWjۘFB 7ӤB!jjtᰄUs Hh/%?o*j$g9ZZxl:BKJFA:CH]y +r1WAχE~ 7ÝBfsʠ(-9v1뢛:(lMwÛ1JxpPBÒ0UhF4Tێ{2cu7)ez["8-cلmz 70YY+"^R$v:L6$1hVwJ) ]>Mzc{R"sch&QiKV:<?gFޖ0~=b/.ףӔ:VlSۑYϬ))FTK⨓Q'#t:ht{Y[>4$u99 sQIDu#n֧0F-7;uӨg9a9|k#xkbܖ5(xF&) qlQqmݖgS:7cz玎`dL u0EJA3l5>|geRo(7%@/ygM{zN;'{MrLgı릭=߱1}Ϫ|W )e8XǼ {Lj,HeK -y3$~(e3Nπ#)'eY;f7x߶cM®a /] eClEa[ړy䛓,F_O- =h4-.KeX*z. o݆c̦8X+1H/ϖSP?qU$Lvn(ٴ|;8llflbQp砣E4sV%pt1˺L.f9s[Z-ą]SjU(̯-Lq "p\:ٜ/9Q,1fh\OC[(wgjVrgDc0Y*F&QD"|4sxl .!t͉b!Y)7:[0Ip4XX>ōɒ>7z})E0b[mMU:S+GR=k김US}T zH_*=*!VVY?Ǒ(ү:_q=Qd|cǎ2GpD| M~Iyy0022h -a@y@آ 6~uʜX1㑄8t21Z&t2 RJ5=<%^d%!Wx3s4n6 IvvD˘zr$l"8x[;,>9+ "g|@n)Z0$* 4."R꠻s U)90+ۥƭS335W]=ӟw>eܫH9 qVYM!FStLl탧 ;4P"QHaPE&| q[t [<@#cbUâVmRi<%'Fd>y)2ED]l,0."UNIS#AҰ@ D]w6mz3wY6ρk3Yi(;lGk!70/EH)Ex׼hLt}4rA[3JUQLg /N%_<';(pBtؕbvx{jiv( v6K`D++@JSW8NNW)7u+5L7ve$SLfQ"8zĐ4$=b󀩓_4 4vA熷* c 1tmhspn^+ybA*'kH-noe {+11!Q\)HkɋiM4,uc /2d|5&W<` ;L@O"3^r= Gоnjͪѷо+/ 0f`m={I6jI'8 7aaQh j~ .|$n!rn\nɆϿq%f0< Ya 05iE|HͳL}hbMj:m0ڄfzEPӜSjjweiCRa%]Dlc4PWȍ an_~(eSK593\"DӲVO}jf!=h,iޡ&W#7JMpG|8jyl;@#9@N`,xsdG=*!7Aє8afM{eڨ)!T&!sr kj`ڎl/t4.l69zkc9cAD10n؜AbF0 GGtHr-Ϛ6j 1!mcV %?tcvR21x),M"DdQ6Tv߆xl5dg'32l& C<.)ioW8_D3EbvfR-Ta&LIMnMhYJ!48KYH}8ё\w'a c*Ѐ&b%5L r^/Rj0^:-<&nDav %%0N5slL < <L@?+61kӨŇE8BS8;|nLH: @į`bO'M)C!jȈ ԩH/JL 4Cڦh\!)HSkx^*, 3qO.Icț1 bx l,exA",f]cTpN6 i8Zx !QM3 pF!VY{!Ufn\8Qs*LNa`O$j8fYّX2N ᬰAJI 6F A&A5J=Pl8уqKne*Bܗ$^>ɱDSN#16toQ PJ%bdR#nz* L |$c 8aiϋ|G5fNxAnqk) H[4BtmB&D[7Rp؃&(idځ na(k!CRP͠w=C1g;=O=f S;<p8i9nL\0 ʄ:&iI| [* %YΧ).N2rfN?!-BF Ms7~mCF)rH#;[4-?Q\w)#hhq ˷'5|x*L!Pfr2 `#l,FŤZ}&?NQ4>1N<( &D{YGavx;k6) S90B'1a'r8"p hMm؋!DqaDmPQ4<$} *`.NA1GOY>iIotDv`8n\m!cكr +-,Rzm~4ak4qDϑn/lқK1 lz`n-b5[tLzQ2:A@V H¹.`z)1yW!?Y\EIQcZ3GO]j5MO[Ax&لmbI{u]TB.Jðwфlҋfqֲ[`N=\|7ͭ]S̻0fx\iDE4# g1@^Sh"GLA|zI) |Ýf'G<d LAӹq2ڨPdx61D:NjrGW&؇AAiڇΦƉ6L^oVC3= s4XL|EfEn\q!.ׄ3߸weDnO‚dߡ6؍ '5xwڜp<ŀaXBiB*LCo\9P P(cÍN0u5C m9 lbqƜyf8E?H97D(lr@dmqSP8w‘ EIBy䞎3il3wgNI/iǃI4|Z;F6 /8U?X鱬#y q/,}2` T(gFt;SR *d2Fb 3C{n\}%ѶM^k0f0Ce#:󥸴Lg@Ž UMy7Or=op¸೮K`ht ǺX`.p0Gb( rH mAW ^zCJ D7f`# CQ5̌6X΃x&3* њ1= ɚۂ$ B0 񤼏\;f ,[ 'E6r%-)KT%$5aX1i#6j3 #6ĵYi.Ӥu?' U RŢ(7 ƛg1΁Aݜ_9ӂCO=ՋU; 62pnЏprcYƒEFrH)ѽภ@ф&gv2߲3i1=߄uESgqћX03f̼hn %T p. 5崄x+xbdX6 FR'5S/z]X)V~Ḟ3(E+gJOe5iFL>ڼ&\ ā-6>5ʪĻ&y6%, 3!s!H8]A|{eMIZQ 66: <0c{%+!E;1;L*n(G@ T&%uH%jp3GsL\9 'S5 "fZ_A51w(#%6,8L %j Va4FĆ{e֤~]X3rhz)Y720͡!Å*K|ٴ̆xda[ G> y,zE0s4tg2/0 .Z ^4=P\ۢ7Y0 2Ts< LDecS&B8)j#a(t&iE wΰ]ODyI.]0:Wh4Cn`(1CmA 0N^ >' *-%^cRvdyZmg8`Id8͂-tZF[ D;ܰ}uPdGN}xDzṔNt(1҆ kg$Kpm,bDfBX:6$ݗA|T `LXI@t&F4!{Łf ˽rY{XE\(yۊ̛v\`(WFd 0ݕ-4b s!ZG VvjiridE0| 0&v\XS؅QjxJllXKEL\$>:bc-l MwTB}`[ày<ʹT`Ҥ̟i qNbã_<:ё-[Gl޺yӿn:swSs$&EL%' nPj?ڮqRw#.d"%_*~(7D`D`>,ˏb*CWB}mD;LNꋧBtT*q~j'O'z\^/ ,ե\()^Ե ۘJI'Rw]/uMvo)K)F6wV44ӥDdgCIIm(d210X1%rTHKҏ6XHc9(GoD0JcED*󣈠ř3ûʼnX$9L [ Xf ~ULi3$4-`UDx 1e9kb"e⃲%S%kASp u ,pUAŸDfL֟XL%FX M~R[' 7aqEGPx;LȘ-@n.րy\8Ñ#^hV$sQQ3YIJYM($nBtq i\w} D/n2"/F~S&Iܔa2p)uʘLEI=OWڼ$)ab]2'/̌ۨ Tz0iEv0x6[->oAEf)! eJ$hЬka3 s3S5 41UJEĭL(CqOƅ:bR_s&T ^xcµ)`W,\^xm݅Gs ->/-\Y|~sgg -\_$ *s @֫(H]x1i{z|`7,zڠ86;Xxj(4dWϯH F}~E=>B/# Py|"WVɯ- /D׉9(u~ ?QGYq<llYh"[1LԺ'/! Є\5fhW.ڳD*6qEl% wY6# ȝo~ucgmu-\G]v1]~_18z4v'VJ 4Z|hm4h/y'V֕{,U 9ͼ?X+\D#F>+fioc:\D,c$L> aP0į#k4SwqF*9i|zzSQ=c"K>/[tǹ'$Qhׯӓ$kإ.&]*N\ҭ&M|%5W"#" +$m+e;XJE5~];QhFZ>!P0AA$x^jE-H} kTaJ7],th. w#R-jԹW25-)<jkh0NAdѭ"n^…F嬜l❺B+}9ἁLޔK('Ie98 W0<"ِS5Ż,}Hu)7:3 #xd!gF)d.IBZ|}HFl$|^K?ڀ)J}u59cSzRG4< >U{6πۧy'D@2@ )wzV^})]̑v0~DȉՔd $5:r4%dOV#<*UCće9+^z:zנ7hCYdF0vC7Iָ#5si5'dĄd-Fհӫ{{!,uτl޺K[6-Gu1}&d?%Ա;|-##-zo5>k.h>7.QѲM#tƻGyQޘ5o@)[Zc)@zx jlrRx m/wC2V)(=QthxvNӐ&V\|?> z ~@* f)oy$yfLۻ:&_Q t:ɏiHXxm0,xce: ]8PEPWk.J;P4l9ω7a( .>t><&=UuaC,w ^blt6f]9>RIg9ЋRwR8LJID ]zlD^<Ս6^*S2w3y㖌WS!g_n^0J+KDhEX$iKE\k ~yI# J#L㱒+_M/·^Qe"%KD}eP@ ʡ)w%n5\-@hdQ C˘~\V:|bz"j H(\$:]}AS buK(Nj7ո݋=zPi H`Gi5QE"ql)PPV[|JIow89HWK9ݝWK{R<ȭ!Q* c' yy= \Ҝ99w 3<}Z&p 8Z&$" 1s)g6_D;b\5iH T遤+<-^UP^G$"*-vwIΗ)Elr(P2ӜhSdh.Rk闳6**j &,˱8^51:21ְ2%mo rS4\ 8T@$R!ZNQ~ hy&k)@#NJLH*4QgP1qNIPg5Ԍ-au%ߚg "l$fX :64¹E&׼ɕYbVWxu&U'v B/Hfri#R.#c_gLOo )/(˥" $"$%mՌ!\ 8Qyo%,Helr$ײݲX_ʞ¿\^_r/qRX2RE/VF*i*H>2f()TWjCBXIT#uΣLV]~%|.G(*zDB1QFT_}z>:@ڃJeй(8" 0TXׅ?*%,jE=ScMoh؆×_ \P cў#u5oFLZkXf0Fe`RvaB 7Y710<|JvMw!݁L?j^āa{AVLmAxp=o[yl;qhOpG_3q=/- 1˸T࿒X3?=Ao&tΝ o|3:zcPϨZ Nx{REuV9Sx3ՀuH#5'E$Bۣ⽥j#ekS@Z '>>u&|u ۹_tD_n5Cl67gBZO0.'~"=`c4}&JXwkCA)g  mKQkv wcһ)AX,}Ծ'zOqAa \rj_eMc]Zd n >ZaAFu`,ȬbE0?*}cNNl3%JianXL0ĆѹCmbejsy g֜YsUT৒'w06غIXOh#{f~Ue㟂 <V27mܸgoڤGʰ"G08MF_8b:xZ~?^ $[-Ɇ7:ccuE6Um`Hf!Ba4# 3Ll.dIUOiô4)0DO;s3Q|/@)v勞}6*`lʁɇnib?"ȦҸ(I!!ոEqH?)+^J(jimKD`2i7v0hl]4x )n^ёB#KYR+sl)|%g!-#}ܸFc4ǖDsK!-K9Zѥ~N7GNX"YW :V8b@M=UaCC<Q4ڴ Uf-c'SΰUd3u-kcj>[ k*c>f\#i|0.T?41<C81qZxIod"3amͯ;5:9c vo:6Վ΃U@z<=7?9Mg& .١8p[[\U7ox*23(Hb;z;~q6H,ܱeޯ|7_4IX3V屯`{uFjHG۔@&ި2PnާΊeͣj|5$ `9JƠ⸗q*BsQ^*l~\'{fQCӜ1B;0R(nJ-#[`k\`ηƜ]kͺ;0 aoě"Z7P2ZnV0E̜z&=\[:S0+`\-pEg_oӮ5kv49޹VIwvttpZىoǭyiG&~0o Y r deb^x8GMu=08}! fA껄#vE5+y^9ۉq8;gء3 0j3qGJo7MgsO៍3k65w 2ZcnQL0֜IqjG [Xwa uΙ~phjmGsEcK)q:{dCǿK:R) 8<0qt>xc:?~h1QЈ#G}Qv#M 3vDLx@3;9z 1jPЙ-f0Isnwǀa`9@! ) g=} oǽYgpmWh;b c!?66Rg~%Cc#[ىc@p:¼<"-O Q7؜o?ex6Б+7 *@,9䣓0i Xy xѮ0ɵ~!0W^14R۞.~rN28<hc$ n (S^ଠJ_ÖpA9*!AO-ZDoLt`$^+~/43kĂL0R 0aA/qvO~\-Tϴj9OT]B6Ls 13 u1$峎7EO= TnKlƲ)&6`jjSSõ zv[ÖȦI'VI'@*gu/1!#`SmɥՅ2"xA( lW%mqbIj[.oz=hOMa\(x'Fkx?}y KzԀ52f f'2~K8<5EقL/d{90=8Аy__ljRVAP@ ۉڎ/2d/g髡]<2KM1ن<珩BJm#k"376VRi Ǣ$g1LOIv-a*XJ|2e:)+M 釖NlǥӅs41/Kc|+v2ݑj,FTm8~T'FI<)Y#36| k`_[( 'z7:1'yu&w8i<&BK~]TKw^;|cah,3qLD`k_)純w@13oda=UgtE߳IܱG2.IaFڦׅ4Uf*ㅏ_>_K`X$$\,< _m3r`Ú2E@Q >ǡˀpߧM}x7j?2SG'vb=S5s0)xb`+s' :6.P(5ePf9i Oɯ.ATu mvF`utg/~]^fMYg. 6 +I{Iy a03%/.J$?caLq1.sAʿ&Ͽ:8o;+XKM1.#%Ӹ[ <༴~[Cq{wx?';˭0[C=~ ,u7VaU>::%:?ˏLQrjDQ3l~j EP.:2+u&Mӆon$"Z<*P`wa81N­`).a:")o}+oڰ1J2˼r2\sR&j.jZ9MQo8-"V#kӂQD1 <7l'%[F K5_"l9iAvw)2<ضm͒z'GRtp7O9Ǭw 5)^]Z2֔Nw +Wh4|1/(_ޚuOYN1. QI׵r~ĉ*y幎d%vxz#EM# w!lozeT>pP:nweJlX4@6^PAy~K )%"pD/^'SI-5q ͤHF`(xG)1οLwnQa4.rN9ΡG}]PQߤ@c uCeLW /0X}LE{Gβ}1<^\*lirl@_4i6yh뜝[βUFRРhX4 ZELFk1PqͤlQqE[J$;621a5>::%Z7D%ýNWsWn/ߑpvp8v!kY1xbdeAD?}mYB9<542\ѳWcZ UCɭ{ L?ku7Ӊ݈Y~( $)Dܳ%ՈDiɣ`` ȩXdJө{%N0Lypщ}`p#@~۶wu lЁt!/KqG5$=\!%$FPCQaPϳDӕ\s7x/_{5>N&P^5 _&x sÝ",G,uDDMQɣYy&*NCFC>&'{g)gCF kX'Tݮm|s|)N=EP]oh(ie7/~Q* o}A9z}ZI=;@P]/2:ڳ*|OOJFR0qt\1Cʙ3@LM>~jcuy)-lP!(`">jl'^$L~ުQARGѦ91b*Z9E  9_jIDAH&}If/*^ Ѣ ~m<ڴvʳ0s Z5$BN8s~Op'M~]H>ոD7+΍-%:8(PE" QT`߼W YdWVV8+W!ଽA ̳]ῖ'bF~htO,76\EcQO߉$ zFzbQAՙ;J6U+H1͹A9 @,YUߚ'aiZBX%#J+(V'>. +Ks'8&ɡCh,' *ui#P>q|<.=q99iGEgVO{SU#fe@BO3v` ּ7oUꕌ?W26dCR1G­ y߱PJ+?N.KHexDN7Lj!htiN2SUx*GyVx~#[7mn*|?idT/Sa=%_Sq Y+YL)v$ E|-QD%:y _?ZjV*x:U~N'w #>v5:~ o,&Q!܃(>0/!uL86g\}iV(0PKóRघF~xqLCT"Qh>©S'7`vz(Q] eNlmYVۄ%o`=U1`lO1(()c9Ku/y ]dڸ^wpfaYyqkf6/g!{Dlz4[ŃA_(I92Um_4RV@NXC\(h'@Z׼Xg(?*%9<<=Ԡ &l0m6 p{)MNd;}Lqڜ>'sX D2tQEKBU\o}Y)cdth^Nޭp^B2Zhb|~$e֞?[7nϊF,fA*CWvQLDTrrzJ(E8ra1c9|u&պP_!dx"kMQ2ut&C=6q`bqt5T?< *L@0M%ueQ+2>+c[@I_q:U~&nrf[ϽOVW?V[ *m;ӫu*iP[ܼ֊)>[ nɧ:֋^^v./_iJ;{# bQ!|W|_ʒi|@cAs5&]%4_ݩhJ^TN{04% qd<ϣʲDעGr`yOڠB vg՟>;vM#j>_2 l;)R&XPU?WX2kD)vSw:kitO5):&Mg] ^6нݮpk͗(FDi3}QYIm"sX5W$+ ,qN^BX +,~KbEHt1w߁gЗ+cIIcK{h-I' na/q d>ߓx cJ\9(|G..ӞXziü7z+z& vN7^JD;NԐ$rӚ*/9qq^*_ELIa>u)T6YBY:&PT8T20NA1#SiӶɿY <:1 65sL_rNsѓQ?7n[橃,EdGsrQozKZ>X9AcU[LBWG%mm<̞T܂@\XMP⁨>Æ ,..`H-J(F9nJrlv/5ږӚ́FMQX,= ^Ksm;3& 3U(qd  R-&' 2SY35HfzҺo%c!W^ֹ5gn< 2=|cN:mgR0Xx8q۝aixJW9&7ʲF|h | $ 1^}ĿOeP̀[/.ijR!(K$Ć#TӴ)b RʱÇ"!YkJXk< e3ZGBr6fZ>r֛JNIA7mn1x2 [ eW] T4a t5- v^&ݝ%z]fMD\E@2СuDIP\:8?uޫN't{g?R[Ooܶ}۞45y~ou ­lĉ|kN_+iEbhdyF5Rb8J=ߖwZm5Y~& f&) g«<~<,eN >%|<Ჯ[`|4#Fg9,B]jo6Wv:=U3:][:7!$PU.c;f:Jk$ 1wvSnj!:o5(\tQip},'qd=*5狰n; .Urτ-() ׌< "Zcee; K1X, "`Mm9qzB:֢ M>[/;%8G?=E>y-?+5#WwyJ!c K4T dSlA!JШ]S{N[!צuMФ flZ#2osؚ|i?gg{/}~.C..>CBy8M]2^KS&K2N'6LzxZ"tv"M;B*(Oa,'(%9W{tK(t:isU60߶:L?Ҝ30MF⟊<(tO֩r.57;YGYۡ@FrEXZm]$٘NV7MGƶ[`</oD$W0;DoOkM590rmY=$~vHZqkjNɭgגψ޲_/&0|ŵӸ;B[ erq'Efk9qTIh4YKd}խuN:)QѣR߶&쾨{#_oF9t.]xGm7̒[<³qMp 3L1S?lB)I!\+!M9M@^Vb", 2rؤQFQF{z(Œ6`q&h wy;~89u[|$OFv%b&Q3"'hGH DW=01A!3F{0k8deӆY %K/T`Km77`=EG۶Mβ~E aT(%w=1דͥ^wے|}(E,< '9{v ӵ; y͡x3Ҭwa}v1qBb2CrnFUz61\ojw0Az1caJYtwlUMy[5/\4i1?7h8z'$Zq5&Ec]ݢ7 31&ajAG-udv_5?(62[PC~"`mH9^Uހ!KT[z]ҭ“l972MqS3^\ýܫ;^1+:rcAX;@wfS3cOxxch?.z@7W;p\y1Cy x$ApX%{<*‘0$/EhKOvqц\ͷ*RkOL]1'*r[w6m@­0C^5F6a )gD v]}s_/^"ODMrEuW'E`M3WtYo۶o@-N*5j^֓HX ;M^*݂BIy ̬iõ-.mmtµo/\d;頻O|QV]/@$>md\3ZpѺt}(I5!, W,ܱ.KX' 6݆ϖTW2+ie9 \Cqjq]&UҥFW׮[n/f_s[ou8?iNn}vXR]p($IVEn1*\.=~˴s6Ae뼚iwy[#qMsw&wsǝw]n3o}{8-ǷCAC _m,%M'LP¥t19o}ֺSnCHIa4W=t0ű}Nmσ86|}m)W Ȣo Wh `~~DKh^Jn M9FNj)b}3-ڇKA# [_n 'L|>Fy?+SXFi3w##q睻F'DkLWv!cm]Nq]I9XnS%;ã萀zV攢Z;ܠW&Pu*bƚኳ6=giֹҊ4!иQa>K`'j*ȏdQ}D*,`1?sYٝѽ7W^ ׇXY p>k遦[._fI܎r/98adAI 0k\vt3musMu_&*i 5[gd+6'M0Is e>c[ba-܆01şg dx{ꚈsQQQQ?U+Mր]ђXvZrԜi]qS$3fWN̶N12"; /yL@\̩lY1)fcǏ,܁],chӌb\xQj^8ݼ;:ޕ\@dF[?xMoF4'aȿ+_+ffZ -8z 09K*Lv%&0$v0̩,:x#o>tԱOn l @C=z‘Mݱ`I@^qC3Y{OW9Tke0e& D^}sA43W`t6{cQ^+e,?Elu>\do]몝-bm.LktE)k}1~-ec]3o;p"O챖8nbꨵ ?]b'[.;l=umGT6^A W4+CgCwM$ׯE/.{e 1xNme؜A";Nc^5@";;> QSJ%~-L" F.0j2/{C7JEs(߃l`eXQeX:h`mzb>'BE,zc·Ӟ 保\???.\1U?4I2r$$H\No8r SǐɓR7;^jRpZ (g9K),.Y$Ϙtj*v1~XB|]Nq*һtaO=M͖X2j/4rn^"]eA55mhymͪY\gYGDU=r֛o5b8>g,|Vi4R$^zmMݣ/ttos4w&.ݔޥr׻E$w'K?XOn4T!I˹(3Ennq;f-9Y,ʂk6~zƸ1Mб5Sew޼GCMv=ɦ";] 2tCnϬ^eo({%iL^'K(Õt)kek{=5+Q :F)eZMy,[ԎAg}d>ӵ̚˃Z;Ϊɤy;vE X{mۗ ziy,S~O5 v?`oޅ4G;9C]pmhS[P:Z.z|Z031< ;8Qn+~ms6`#cSbb-:m8Tssl7urc/s4{Ƿ +sL7+Uk/;7*ݍnhĶJGX4SmbwFjQ vp!8f|gyųAt0 NӲ ӀoQS bY n&A҈$AEucqkPj:F5M-q@-ltL#hlnK8$? h pl|C9.dG0AGJZQޠ:My0|vWܨz-+h'r R-@86i+8  WB? /e<"Hy,2lu&q~t3?j\/>9&]; Uv]| ǎ>_Ky%G\r#.Ku/{/79'w|M\şYyXf04o.y_<u/o _3|72_K.??i&.C_u_}>Eg /5W]|Ïz=.|~BKv__u7~%K{K ?|oxՖ̭W|{7~-^Dzo׮]A=Ws? ?/~W=5-?z֞Ş'Oޛ>?:w_~Ս@>荧>?6իWOOzkㇻ{_x__'z7֓8{7>7{pIǕO+޻񢛟ݯkgh޿{S_sve~~Gw=o}ϯ??o޷GKwmO_'Ͽm?Տ}ۡwߺW>s|]OC__]e bw<W\r=E/~ɋwշ}Ƿ:|/Wo׾_/z:e_{_-__w\r#_<eˣoKW;|ѧagM\?t٭=#+~O/y/#g쏯O^Kx<<d?,zrIv^sMXy-'olנc7݉Gz%}u|>SnckoOtϗ˗}ίgߴ?#쯿{?~%<zv ^?~}%{7<_mnqeǶw{M_/͏oҗ\zrGSy=x9z?=S_xW. ~U/ͳgooOW_|+{_OƗܱc<7z~QOڧ=Y{=s;g]IW?+g^kM/+ǜ~/G7=~~coҫ>;sS~ޛ˷|S>^[~K^'uϕދ-~y^Ss՟K۽?z=_'?;߹|›}AWxϖ7x˟~Ƨoz÷o~ww?lw~=WG[{?o|_'u?_'nvΧ}Sǿ?~ꙿw?!gg=xɧm~ͻ_K.첕/o^v^7?_{}='okyK>_o'[=׼~_ϟ_zwreI7|y_go=]ܿ_y_o?s}ӗ?ᒻǼӗ%u%~Ok_ygdk?w;O??oow?G-o}';.o쫞C|һ]7e-%?ȅ߻ϾU_oz~G~G۾_n7z xz'ȓrTl9o?eO[>/y _o~~Gnx3ǽoO_wOse?WW ?z7\/~W7~`=>vɿ};o'iؑ!s!~-gm "ڽ=wEG<+ݴwڧ ENϓ#p_f^EP} GӤ+Yqf03>n/ly"Zf=t?{-O^,_q]'Zް#[غ-ό ~Q1_5F mkf=EGV`XL=;i=1h%j-Ou, M7zrefj4l0^eDoQB=$(L.Hdׄq3ڶ;`Ƹ}gPyW]`nhU7B&9ꠖ^]fCY"۶.wUeӡ`[oſə\K%f$"u&Q*YHװd3þ;; auE=I 0]?8̦cQ>{~'KXL#69m vDP ;e'YI)GEDqnoapP'x,Ӣ68L { 9'%>@yB!pS\e/FDFjmg3!2JͨPE yé$?Xr㔔G19=B:,0)~>5zsp1AlSeS!e^pb[LZ_i{j/kՆ~5HZE_vo=í`㔄J}ߘ#@k>8Olw:vS!h]j~crRp;? i 3qP Ƃ?b?'č0"p-HK~uf< 7~+jQ'C nbQrRv|*Ȍ!x>9of!P' nE Iw:S;ԩ2vn:T6[˪t <,~Z*tJEu]{똠9:bhA"Sr7`cN_Nb!fUOhU1Yrۭ5ny0),D-Nd.5Ql1./>BZ+( !ZJyX" yvpBml\笥7@Q)̀Zlr q?(Ud(3!Mzj+ %}~$W^5Jg|j=gNLhǜA!͵?R' %ra0 5i##+3 ,sQn xH̝ɖD=֨"H!|J#E,8d& |S991ڴ}4NءhrHO29 ʥnT'82_jaUiLYE4P ZRn r&a)J2NB5g?~]5ڟ 'zhw<|l6,v#aU~!*CiU^6Bvz) ZZkX@}XlWJ[̩' ,W; .kA1vݘerɘ&`V1$R*Lb4*|\4* =hEhSϢ#]{e#\$u+.3}G$PQUjHbP&%dS,U!3XA ćü%pȴh|$̙LCaO0&|U)PZR рʟI"@^o 9O•k4UVU>G*q8q#E}_^nL:IQT!IZ{kXkmPbр1>1LzSv)Z^^)PQ9QUX Dwq.&XMa9o+jquJm?rzmV~s642kzIcQCލh"Ks!@T3z}JGmS 8 4j{&R#x>F:$,IKYDsuO2 LΒ } &e.!/݂ҒLa0ʨ{b& VXr>B(YlH8m[.aG jY8Ԅק<ܦP/}DO2ɲ rA4'pGcD"-Uٔ~.ʗQNWͩ{f)¥]C鈳BoavD<Ɯ1hoTfݝI=+S ,`X,U 4$v}*].kGa<UAɈ&P]Cĭªr3HXZ7sեqd5[VlǯnpyԋஒC@(zy{df${G6I ,Yزr&TH6Hze,Ys!Amr 099)V`7'B=F r(2C +{qvRXP\]>HTY&;H -bjp!R 8EЂ!o,0prf'{/S o_G fHk ,.R Eg4,4 DEA|\EG<E3[A)mIy-Ct#.ryE| =+.iIg5"=M_<".KZ@8Dm3+ \eR|[μĮY|H Yȧœӵt[.so0='X_sQJa"b[U[22#=/zZ( LHhT=IR QjôD=b _ 9SR*6co3̵~ vN alb8T'i _Rڜ>)tzZ,o/*BZ`NۡZ)H+bFrѧzF7>,_H}RplyR:6W-^P]m't!0Ҷ[:@ҥ{ߑB+Il@ݒϋUbi0V%fqv:~Z~Nfd< BeJ=WhcMtͱBP:'U^yBR;|u  JJACd k`N6yi^E,e=2kMŖ)ҭY$Qv9ˢ6(7|gT93. aCDf-Ҩ19)+9v1.χ5Dbl}.kU9+^ F-smaipP\h 'k%w Yx˺чZ$2gcA]ןɂe% iB\Ie}xbqoqBA eMO4xwF&ЩbYeOذjEs{QkVD ai=Gx.Hqo ו"˙DŤ9%i*KX] m& vyH'S+Rg!0Fg+PpI ²S*fuP ۷+M\l-xRѭ p%{s%o5Sl q\jdN$k\vq^ϵĎfOaI靉㩰gg3 "x̑QNjc^as5' p l'2Țw|оJi5a QDtǍcbi݀TS M]ɔ[I9*Hvagc~XqgDh{ж̝apb)";- bWQ r ։W҇#9aBF!ew`P }27nS|Ktr# lHG&U=cp?nEѱI3'2^x [918f*$Q:UYxWGSmlebg%~ ̕1YS1oq56sL#NO2`g^J*HwD^hu,Q6 ^%|7@V {DC TZgȕLׅufS8_TBmO_`l(2E+RrSn.SnnV bgÞv˂ȱ>R!X#jz@tgatȬ*cdM݁=9%U^WdbMue7F<~~Z#EAY[t_IFt3b-# ,Lo{*/᠖Ja";: iEL0=b9 ?o\޲ @,md˔>^LhsEP)VUA8,ej0 X-@<U"ܭ دSe/;IvAr.i 3KG$4cLr Z"fDB]z'f $1Qip+m;Wqbms*/Iaˉ܋'G.,ƻػ=΅\:a$ X^\RQs} FNø<7< /+tAvgcgй؃|uϦId=plk&7`0)x+T `R{ȎZfrtfk^O%ڔ.sȻAǰ?ֆ:0Ldz\'H1-#]pEqy:^M dM"0qjR$pPI۪Rn~wl|͉eJגTU\,ZW)s|Wiۈ8 Y)Z"D5'&.S&/b, Q-A}EgmF0oCIzT!Wdٱ,&&wwnB 3Q9ʆyL,,MeV-6볥zA wE' Ek\ݭv[݊nH),+_)+ *H7NwܒɢlY'#۳S~ԍ]g]4]8(&pD"B|K$m}w* "fΛUhuh~rXĂ]'U3v}Efg#C+Joa9OOz, klcxu T`u5PnސT)H6F+Z!ӵs[5B`aW==+ SǽG( bcuER*v%1ss=,́XTCHfV0|Ћhw44y|Ӫj*%Yzsr mMu:N=!A6VӛT& #hԜEgbIƖ0'T)bԵdf^zpgW=RPqa4jU͕:IuPHt7| UZPdnikniOmÉ2!T *%Ms㧴ԖT:iQۏ1][ֲCNxw+96 Iɘ,bj_rhS zn5}ɭI+)wqѩyM_rJ%)H6IDۨ/% d󚲻^q)SMsTç R&Fz>&m+ؖ'>c &qDWtIN!aF|Sz q.JcxkIfzɳ*`"&ԑk;r;YDn]\D3c:L635D'b [V)JU5XlHfKUGa6X*M}#X@f }J_C`QU$ N4{!A:VuxXQSω7Xo.; 9t'쨟 K\։@0{DGÎѯ 3R pQEaԗ^WWެs!谹lxEk)JHc{U`U8>u`"%YT)gu%$VؗO}5SR*\-+\WeEt"I^AF٨~͞dDq`3qi2rdj=3"LgA_[296rf:vK~ANXga;E\o_FڟN`wߕtD|[D! ),Λ?vnߊG Y=kΪyG{ج fY;fʋ'[b[dh!NrE} R#|pfQ©9ˎ{jϸaMB:/Pj! UXT5K7zPQ@&CziSȦ, z~U[,n^\섍ˡZ&%s\&MGֵ0y[3MZaӡבFa i1jZ;6SﭛnPC-9,=eg9SAG?;VX;=P+̴ڮ}I'*gO+s9oTu3Ԗߣn[`7VEU0Jm( t,DD^\mT1jxvv-װat\4djK}}]~6#[G{n^4idd ZaRd=Rݟ@ԮmId*sU͊T  +}ݘPy(ȫoc[vE_Ea# ,nqZl/,!40qK*,_(ie}45k)hTMKS{dǔH[뽡 hilC՝6nS6f?!$9fn#w3eiܾn;4CJhH:O{L7LӚȋƵ1Z1iRm" 2mWc?FƩ:ќ>oѶV.{L-O|&uDou GSv/Gmє&]Pum`ɦOEȚ̖҇yGAL͒ɖ'R@D׼)\ٷr! ꘔ"[یy[M:'¿I+)9 i"9Ƽ=Od}_d9ȪaqV^ldWN/޷*pj0fNZ0WYEYe9FƅNFww4$(c) R58̒I X h;!lIǢ+&I:%RS8 |Lv9' ʎ,+:Gx:]03C07Ld6`XhY r#G{Hp+_#ͣJWM- ֽn,-fQ$3[ɉaUMW=MT2%QZ'Y,*:Y؎3dF^R_; u[IaVPsɼMYz@UQ!eDz|,y&`ٖAچH- .c!(hA8ʰ(G(>1W=TZ\WjPTp ~tRpTK5븳U^y$050Mbz eG R);US2z:$"bKR1DS5V3_w-ۖ'j.`9_n֎p9Gzd ;Y $&sT(A?l<Wg52q*cr̓_ll}֋E j2( Q-'3@rz,)54i' 6Hkm7^<_8JOc8B9 %]5r洏':MLqgYfi2!Nmuͪw˖\H݅v%y\<,la-= @3Rh5f **W3EȮk@%;m5 Dz:jfAr=[6#[۷?;k0ڧk@`4/knNR6kչ _<`m׾ Á؍Ĩ^o^*ʵ)͇WsrNA"*WJׇ#Yu.GTSK#YfvL-l-mi2Zʟk| s(Bkf 84ױW2|Co0Oca0Fx6Ik W?97KnQ8S̍5&|6NS=;C 4Q@羓u S;1ǪFn>w` !\ ..x-ŤT!S{ ]]Z͸<7B1P#V*lnKN+{%A O88 c ?cMw(r8 غ\xOQcCE)n |ok(G ?UKUԇwwgVGtkYÓN &^p=𙼩nc j|ltz#Hz |5 q(ny ;393sܖT*SVuyj)5nPPx:% 9\F?:,\\Tz궔#mt mnaʑ5VǪW^V<31-}?`5mPUd4 '`c?zukiȁa옚:Dt~f~ס0zӀ#4 t5N-ZYk bY{qeǜrrV{@DhWM(hutœQZ,|D cZBǛXjlMim@ DVq9 j lH `ĵ9. &&ocﵴ~zc5"=B QmR (nu Oc 8&Dn,sݠ].Xzϒ{.`wL]-aƅVZիX``vE$F}uz:&CUֲNYDMiVBQ5S2 )%aƐ3QJm*#| 8!M|F@yoS /d;֟Cđ B<.bc.!xK5 pli t9/+to^pύ'BBO]1 :+-wV= "#.ANT*Ia8R8'' foD#R3QBw6 b+)6ڋ#"ziD;tЂR5rӬ#jP[1 n;W=' XOf*l4IWk|t-$#ѳdfş|-pLMci-o&!$–gTpȨ֩U_7BOet|)!?<iT7|H ɋU G쎗B2j%kߍ{/P)ֿdLwIIY;9SSOdRIUҐ jp,P KWiu9,+;6gO"vU4R~d(UpUdT&CI5+z?W =-,= e a5RV_k7ZA+Ke[IV9 gE( guFeFĄCнV"~O*>mJ }DȺ s(KKϊN\FOTyVo=p%cObm@Uq q}dk?@-G k3p`䊭LZ[ v19# D<\0EPDKUwC,#+p4>2"k:Yr{?a*B u]ad0bnfϐ1#+I]P!W=4fܣ(խHG6e=t<6%UR#t,`C|1!q()7. S`."[G0q~A/> ?=7F!R9uy?ofYpaGE;](qyqSzZa 5R<Х@ryrx#:`.׌%碹9F,AE;Jo)h>LIE6r'd6*9Z};`ŎNvb|NVϺrGZ:@MՔ+ԗhi$I7rFC-6LoQmdw} ҢTs)-#&TdR *ST`GL2‡ht:n4"ٵsVQɎ0Vb2EWLiRy"-:J!t[g#GdQǞ9ߕSe*tp ?&5 VXWK,Nbi2 HedDJ獑R%y MLdݱu ʀ>,u\7㌥Vk!Yw#F%Oo_eT;\UyRbCg*>T>zM>z.VeR>6AlKmqa 44;̗72Om}jR Gʢbzֺ6u[؟b}iYQ*dG" 5:Yz"GLO\ӄ5GUCNim2B(D]cX{\L1ۊ /Q[m h'ND뼕Q Sn'nV[:3$&EQ׌{?&,;V)@.WfЩ[ p(q&q }9,ǎSYZ;]knqIb幰4Ozp$A*"doقZαqR5Eܺ6vِ (u,e>/ YԊIYShYf'mL8jw,L؝UQhozeY5;U[ M5[^DflDc-Cj k?˳Y/cţ^6`m>f JH`GZot('bo6 lC+䃇PHl hK.ZB^ v1%U軲-™f%5YD;EUA[Ha:2^!Z3~t/IF䅳XLZGB_CAMl-7Ri. (6홈1̣专+~x"1;Mb>])KLE-O8 ˫Uپ a+m܈Fsk cVgGC_.CU:ul r1HR0U(W'cDbV"+, j@FZܦsi YӏfSԗx81>ob(Spɮq]wZtt鰕\y %PWEƍ7wPX "D\9aٙNC"=|֭=8]wP %pTTp\w 8 ՚C})OmU'2ÜMo{rvF^2e8U7HPr,ןCZ)lL\FLqL(@:7WSuOK< kf%8k8xʹ#R`gwJ!Yʺ)=B_JFEYbq`%u>N8zY#|;_6M5qEC䂎\9"U.fPxawce]BR²HUCU*ASzfHsS 9jţABk 3Rm'6ΣD|K1v\E-V& GD-vdx!赦uqCSMkha:̫( +pwpe[ jmD*!6}kBdI| GMVn *T0[hrP w?)@ZP7[qȔMccãK&- do_89p?nkH2]e24ځaȕhH4 L5ht3шClcO=<}J&6^v-]ٙxJ?Cm.љT.,!Q($[A̹%E+ ]gy1B^73 5ugNSҞZިR8I_qmNB MdF8\qnT2tZfOSbXNK[T_z;!;fٲe*E՜X d|`4!Zͺ1 e +t/Wx>+BE]x_-әUÍؗLEg/W ͚F֧2<5;K,F?]m3ؼ9ԽEUyD_w ? :h_9(jw(];t>rʾ 7h$N t\/B: +̢,t"ZaJ/JKz+ǃucKph&4%)O:z'/_U$t l̅]䓱l\N KtMvb ckblà=FAWqarV9-g/sk5FAo=[Y;UHj׵'-,<ҨuӑrQK)\xָczFU KQR3"2SjJ2HY_Un$̠A*U8 h\1gï,i,݋(eb*S8xr|z0&# )ҺaQҬ΁fM`\KbLnpBN45R6} HF7-̠ڊ?SCc^9iq_R_We98a=%"Yyrvb6D"+cVAy:̛UF&AO ĉi0)hI!s+ϟ:Wݴ4/6"`~ {dQ1]n( nCd./lATm\ؽeƵ3Gň=8'9Q?䖒t`QV mo)[ $F1 i2h,0-nhwףb巭IT'f@\ <|gfeMyBHpLA`inh`W0zL#F3YO|#bQ|Ɯ(; 1Hf4Ix\BjU]cd*ѷ ¡k rEfLfq{Ʀw - f r(Lq`yx@h jd!.;ϢЍ6L1Z/ T0!hqf9PNl#xp_e&Uۓƒ4>XnСn:dTZoMY0!x1%G)GN b$x&89SVWHL|1vÞ%#sX'+*H%,\ $@ MĂo?%=E[Ň#g#_>ɟ] 􇍰r{%ayѹtRQڬv]4($|-3+%y44Z-ad{&Y#T'qSYrXm,1 C@ v1p Ov(@avPkn)Z;vi9qy^xjY3^d։Bj놭Qao 3veI$Hf[Ҟi xMaҬS%aʹbFύD0Ɖ@Nᗎr1ְLâJQ]͝ȅ\U8VpDBN\+t"'%MH.:e3lk+pfGճtJ8֯7]%JPE-t?Hݍiɿf%& ,klv`Hʤɩ1mEvcDZЩ&,*RXtrVǍV܄rs|Vo{c/CΣ29.׻wOt%DfU"Riy g%a(,Vqb-"&V uHb`CGd*I_<2l`V_rDQH Cr\MG z$􌁃s([G pm&'x7<(zsm<ٲQxhGH޶ikm}T"iC:k1]ZzXdUE'҂&t`i؈ AXfE( Po#{r}M$(s+ˉy|_PnP۞-\IQZZ&Q{VN"mlԖ2E٘>,#1@-`Ք0wpa´`S$ *K 5 WR W\uҴӕ꼭m>A?z՜'X%:1m;#sÕკc'\}w{={.u\sU{ڻk53?#n+gup `o _tRp>wTo9ϗW2xy;vԒ+Y,;UeQP#oo^+Z-6>d`}hb 鐽HE v7>Uf})upJYX0No^^n$Yag"6Bt Rp R99 D#Z//z@n?f@bLyeK0+*`sn0z3TqwZ#v)*4 mIqJ=9M`5ərs?"g@TwoO{kp4׳Y.Fc~^p"or5ߔ\NYUwύV%Tl `dIGϧ97"n6K Z.{{i-R5Eل;n NH^4U*W9r5Ҙaoz ܠu&=|xҴ87STx)0 r\srjY$l3 DI. ;ގE< Vr{qQYx=\PHc`A87;l,{~']JfG{W/%։\WeLqUwKt@eoB(QDdQѡ'P2Mxކ?Wmpk8ǚkq)Ȳp<0F5JoZ;dz&v3Lsmੋd[x"'vɴL{scKOͩB`L@lO-$QӄJ8E%IUv6-`>ػIuB_\wbPUZ-oszo[:9^s2| BY!l׈PZJ?OMq,EoV@p`KϜ'Ino35IIj,`#T xܓ*B/UX dR.vK t7Q?p8LT!-c+}ϕdmP"T]jZr=@ch!Edh "⍪`>*QBg@gF,Z1?RL^qگqĸU^j+jRNQ)s1~LjC4NZuNjeE$h%Ԕt"#TQΒans ޸n2?G=?ke̊g@cC- C˙wx=5n˜()6 Ja>opCt If_ XYѤ W%Uv*$,7aL*R(kwm;~n| i*`\ dfoXynǂ+ahY<Cu|Hb 3Y֥NbMs]Ajjg4~e:j= >]{uIԻ|CѼc`%K#.b#e So~qc)"䠼F,;JՔ3x'8Q#B ճ$LѠ@k\s;;f 𫓅TI' a%Os; `8^%37}GOZ8 LjDc75$}cgP9et),gNz{>[-Z-cÀ:Hng}9N㖋дq<{!<xǴy̋fcَ q)XH=i.tə2l6)i{ALt/ꈧݳL{ع *# .̱ĪOY4CwFt6ڰ&U'r]"Ig$U 4={؋z/D1f3GKTMs DZWf2Y~J;N+fsSS]&-ӥbiHbZ8&_~R?sv }WpSU70޴29v[kv:_n |M@͉i @cda47Ź:DR︩&y1B@_ܹZCu|I עmk& ~K?EsY9OeŹhש-Ftq6 l4rx`Q$V<ߑ&dg1О|f2 ?r!ކ]v2fG+/bfShqzxr?Pf󃦮Q>0h2n8Kwd ud:J !xFAziĞhvU!cݒه Vv>M'/x;Mh:hWĞ[%Uܴ|62k EYXrE&HZBNKJ2t$O:*V낤;fQ&PFG- 8 2I\*0"}-UNƷw(73@ұ^νgq+l{ԫUyX[PyC{ȄMzJW1i 1`[[y+h'")T({zɉ7?5EǶLz7Aổ4Ko;BX;>9X#+X #ێ$׳ ZOН6"  3B΍(97 &ޑP Tp:5poAiQ|{I1%mO0Z"sYQ0]qSŎ0 j/6XVXY.;]fG1mEC7IM~ )ac$#/`u,X=Lә5t&vG{~dC4zI)`p3Hf.AN-[]NNwoӘxӐ!poy9CkH`0]ٲ3\mfE^lɞg oO[Pr,D(9 1ɥn^d8%2`{y%e/" l]VPDȣ@ϊfH2NǍl9Ԩl?sr2 b"LS=K0.; SdȈJAEx[ũ G7Sȇy,yHm\l`.9bIQ>F-7lI=REY'DELtRe*Z݀8X-\L+8_3 0J(:O ѴyS,\@'!& yq%3Ks ' f{˲s%é*zŧ *eSԏu 413u -f2̍ P~eD_vÖ [0>a\T%m 6/Ub9}4a$VMY˄nܛjɒqC Tukس=`N^sci[˜mFC @C516fIOF7i1>1C1l !J8LIqve~@0v'iF8#sb[>'`Q`t0Pl+ZK<SK^Glrzbꍟf>+ivm˔ӷh] KV9PeQӵlt6I{W;ٿisnnu%d%G;`aedG],TawX*?FX^*]dPrsuFydQ T#CPuK.xGn7E(4҃{E7^3!,,5U I_@TF㉙5m6K_+YmD>Mjӟ(F{A^:ז}^u ;^ŽJs8 U9XQ ƽ>oU:x+~D('C >-=qD4QK]ı9N1" B7^j/>[BMˌ 'tܡ֤-e ;PˠidE!c.`gu(k̳= k%xJ߹-]^FTݚUIhSq5lR?K%t.>Q)XT%A 0%. 8YDb0;|^.`ד$)3zP4mYBG]/YU}wNaAn260c'I u'6jYsL'.>cpXUv <Ql͵霴6t$=RU^bɠYoJZԍs4oWo3ٌzZBG*hBK NѰyi3AQ6rTtI2ଐW6dÅro+,PfMy#5Npp,w6i4 #P/ϰ/%hKv][=mlPQ]EY֜q]b&uFoȢu6 ޢ{ .[r MI } @KhL(¡agJKkD|v7ঠ _Ca^\|g2~x5EE8 vX=OROid?=0U%Ȗ9#"aW,;?VK>S& n#MC/ s^i`0ﴌ& CA 6})E_[~̗# jmw8J`b zies,E"0IDNяJ\4+tLbpdeN1j԰̟HDO e,^@=8:6Ki} 4C.HO]`FTav *=5Y(Sc 4\tB ':XP_mX"l8UQvUj.nA]2G.?&6b g9>i k4眰%Ė*[d@J [<N&: Q]R` ce˨+̧tlq,: 19|b6ic˹HvBkß$tLTSClU\eF-sV3jG&`lC1dh((w3urz0#Pt^^"9F#{Pg߰,+g-ȷv/h=YF5\ʥ0EKιCLKCrduI 󓈽hs4smXAǣnS9K'4 kbAXC4R**=)#ש8D-@] *:F٘^;k:lh\[Lᄘ'v-6}׎̍&Yh@SP``SO0M ǟe텎'$$tKf{)i|oWSF I~$X4 QԺQ;<<=T[աv\+/qMܪߊ$u_2)D\'#L ֐rDpdѨmZ)'=1|\HKp=ݑ*`ybYQDnK}~xSAEG7"B!.j hknXqqco Aiذq+~6+Yؙ .rj=gFWhZD*OAdHi8 :עKߪg!By*9ΰ U5Ex#M|6sҶg0z%S%Ģ4۫voh0,P2a;j^ĸ yCIJ uT6EBec [JE&}ɖTq,'qҍ3+}uś[9nډ 7*DV9vyԠ @y|ֹˤk[a쀃vrG?, !%ُyhqKa bokaAnXLQԽ<ٕn\_hVJ9HYP&έ%Fj 4F7FgUb`Ɣ}|: 48B57i8u_O}׊iRPjI HD3g+9[jLToeX,*rDX?$ i\]iFggEg6[9%`8ohiSڿMA'=lGXS69v'ܜ8M.X:2Dfg+E'f-ݸXo@t].r.p6#Ut }@Oٶ𣭱|k[i#|z*r,26nMhHh#4&їN}kI"&h `SV4tT74OX_# Px]tO)̈v?>`wDo\XLkQfOЀ~j:Y ,qӨ3ٚ=hTv0+:Nfhm>5 dH{,h1S~F,Z=B>l#H9\Ā/n3wXq)LWi#^؆T+ [:n&,vPE?*m&}@ 7v'!%U=o :9}Xu~285;E 10"5Ҝ$%+v $CVAuG ES===caھ.Y;"4)~7ī2) |<Īd0?Gu[*mλ ,^_ܠeUy#rt)AJ$9Z:8{T=Z:Yp8j=O[xP-l7d*cId9>cN8!Yr9)נs@u?ٖ(U49 Mj4 18ʨ8ma)vTf! D[O;Ca+(AX]'nz4i0@oE"|d$A윰<*i+ԹmQ7`ˁ9bcWu3Ծ'Tـ= NXiiuդr4Xgݲ<@NR8C [zqW5s-x= ~-K1֎cA/W[cJ}S^8j~ǵxO?6ؼ[3v#31َol'+#eKfϤ, hjZsUxWKBJJ?B4mm;ZK'fUQm0,6˧_;(D":m˙GKEmkN$9mז52#Ky0:y`122Xh-:w"}<0ͭY~QbxNam GžX}oYQU5e`8g̲Ĵpû2elvs641p'{%(׸`8PwQ -Y5^(c+¶4^.yۚz2E;ˬ: ~4Øm.SjهoSfRwzz]BuCsN*JRdD0!@H3]jO')E̛~ij viG3; kezvѨX-t I|62$ I+c ZaF!ɛE7SN&A{Lz$(^>ZZDʡ-i^<#/1IȚ Fj1H>[89 ذ fs(kVF٤!=aqSqfj/eUp.ۃ+ۅ͘Ѩ_ ]8 Txvad,0ͪkZǾk%B%% 󰞭5BA5,P &Pasи#fnDuG9s,^E|"QCSBwVWlSJ1Py8x=Sk('PqPw3:[~¸|`!ѧKfwP5k@Wˆ' ^˔O0üN9eϋN8Vyr:o+S=Y dF6|<=VV )P g\0Utsr!7L,!=\ aj#-\$Q*fKF2k5ezJ'|:4q~[`#1 'hlԣлl _PT-=-EXz~\«EE㐎3<.S4dru"YG\ND5'}ᦸ o'WI&HT*Tx^=TtRE(#qcO+6astю"M&(% ƏSN`c䋒;JʑlBs[utZ>&gĢ؅HgKՓ$9jķ'$ċ˹Z=,hi!7s"!'$6*H3 \. c.\[K|&ӎ:ԒR0Z-4v$cj.H|ReDJ6$x[;!n( ~h(u*͡ڜR]f:ꨛA,o1`Z\rS9anۋR2 ϚsA6ŷ,XcļxHzx 5YN 2uc7qߘtI|V֤`ƃyiMc%ya9nrNB2V(J+ΘɸUQ/91Zܟ8;.XM165SL}j9Yd=kз!BI-_#mT('9ǀѰ8SbNdr.ͨ6­Wr3G*Ѭj7r\Yz͐o=01x>o ;ꫯ~s=Kv]{5\s՞w޹;`&gT7iS>s}.W!rP_t(?Gr7Pe,ʃNUr 9E>뢈9ֽeh/R*0v EGP%^1$.7n>LR|4GjF)Weqn`u19uTeUr0Z`` k)ѕ2I|3f$w)EO"];5_RB`1Ȁk d8c5î5uJU1idXx09R41LHKZ0ludd˶\XӰ1ȫ49}wW㨚m!5U.#0_sIVSxuugx;e#uϴ,x+fwI +:%Qh49nSe@#ĚYq_AswY>*Sl3~Mʊv⌝skͨaaors:r9'!58}k_Կ/ռTp"UNo+uZw+50,2@J z ſG^5oF7Z[ usEw .kVD7$&C+1 T썹xcC; @Xxb΄CCZ.P ׸,EBq1᭔KK>`j5fwwNptEӏ2(a֥{`=h<fmU%h92V8aQ'sq uC?~*w'ݞ:IRzXX --~_i X/p[aąwYlWMKG +]#E f};XC?qܵLߒiru)CS wDcwʚdBQv00q.#,rKə ¾@9t#3nA]bu;W@]WY_q$D #RMD]8b\~_윿cŦZVp+R(P/jK;qH@ZgruYP2%66<(.:xs'6WgiE'hbVB2R iK\7 98%䇄V3HG PTҳƹM`gOJJ$cq&#9Jɢ`A H\"s7@ `, C'Nr GX(sAwXq ; 1`KȰerV"!CiReݧm]iao~qm94'5`>+;r=2Bgʳz,4gju|z`kBcJÈ& nQ<-}<}8 20|frX' %*euB1;դN;,W= qa"lV2aI<ʸ>[P=Sg4Pj5 C+bi5{uUT?/uf>'ɤx}5k  ZVwV1qXCL{f<@dR߅.|7\ۍ[|鬗`\.@me=pu0 }ϚM55_}E'j)ߕBnmZpa0\ԝ>v=ShmuRjJ@ rQu9@ ȧŠM-Ρ ͢&% ȚɎc!ex<5n$V;iJ%Κ1{Pdo ">b9.lSUD9<;'k>Ȫ|@SU4(]Uc!Vmb(1 $7YEuU)2d< 3!q eڥ"Y\n`e%yfd&%UҀ i`9s#4TV1UX#;G{{+pdxDp' *~(Qb[QvX"\7pN D.6 YMIaTIP:cϦRl p ٜjCHcKBٸ{M2˜^$NQw U-5Qe7W5@Hְ HsmXO GHMk^ OVVɷYGE-뚶P:RGm,k?=>%2^~/ $*OZJ첔YB6|Sߤ}6CĪūczj&=p~`cjiTtwӰh퀓n绷χCtM?OV#xt )x jwUO5;⡧:9Ym|m&ɧi4}dhQR$W%Ea\2㣖9YL # 0)*_axfiRms;/2o,kbb^ /?E[%\%¸=J!Zwʤf30ixRg"-Zl?&B1׻1&cr<~Bv;4h)or7o̓Md mnwG1]P<6@9!0kCWpӸ1%mwpbt}n4J>&-uBA>j*oh8gZadCG4Tֻ7$Y%ͪaOg;hH+ZEO`2l xcDf|/IkaՈ|JRIxZfU^7g HgO*8u֮Y,ڥ"Q&K;پl=nШB[qKӸM0hEF[=)~pZGS+i?*,+؂AՌbŚ\^72LvrO#!Dg\ Ct(0o))Y[֤=n|dH><<ʎЪ…\gyӷDea\bNGMS2zV]5t5DM@T1ŽkPݘ1 }lUrMK&7J; #z&(C3R8|E%,Yb t UXJV1loP+G\0|^_ZuwXĻE^7/l(>U@|K>ra[PU Cg$ā5I}%yJ)\xFҦgJ\"j P9cᰗ9F"A[eyAkOoVD9ĵ͓:l>2.mWJn7|rQ\<#U6[PL!%g4RxHn 1,ee*]FrN D șzTN*^k#" f8ɫgKpXfYtFV8 q` ^ Ќوç xVeNQ&a4oei5,5Np[HhE(^ŕr8 MA óAd:$,ʜ}wX@2F=p=~)Re[#d_e3UoψҨӧ 3VsxGB ꆖ80/g~ ]ifE>#pÅ߄zHINNN9],X~Efd?zO_k\ 2\Wɉ#z3*F8֞>g^XAӜـG?G _q;FM>G>6bhC\Uęѭ{[9V[G V(2X~U,OKƛ;nAi V3qq (Z8ѧT͚asTd;Sïi|HV5ǬQeRqmEbWE%HaH'bnE xL %4W}+:.}dzL'_Ǣ`Dvפm Ӈ`C.'++SuJqh44"!bmXmiYJR ^RqZlҰ( KhBम޻I22ʶGK;iyk&*S Z_]Eٚ $BHX$PB´hnI<RTQN܎Q0b74NG6^qTBaJI*{퉜!M-k(^B&-&Vv@I52V}<>7 WbD1Wi̓&(؄F  NZI꿍wl*򎻙6%&j$]BTҠ[#`c>5,CcfIC{E!17ܐ\Fۊ4K>HED&Y Z50'6r5R)ݦLEߗL%;-{r}rO^ KE_T"ճ Ir$mV[jYaˬlCL5be4g΋ ߍL!dδCQ#ʉe"sڪ5[G?b͈Z 򵂂TN޵p f>ɮ}n'^<T$8y%\o0V GDqj{x̘#LjJ:5V*헎kGxS?Fs  (d.9f\8-lgccZ|a _e=3 EYfh6.BqG[ ΠအN!mHtVf]ě ޙOe,KTlFuh[Dl)ҥ̬C;wpB 5 PA<,MM 8)58 qQ5CFD<Y|ãXpDm:Bl}'ZCkNh- 3ȉEi,}V]^3߂+PR905ER+ukڗH[ ,c'-$gjTL(dtrM}'EI[u3R0; Бt6803G֓f%ǘ|÷JQKʞ)YO8'}#al@X0mOCn2큩AzɮqwXtti'\9)o4 l&"1jwP$|A4eNAK̷̖@fJ_{uJzly*Iv0 )8ZZVyg[RxbŏL$㣠/Uec1VqclbA͒닍z'9;Qa::_LwH˃ c$-am#Zږue5;#AL6ٷe(K 8*m T'e!eMoS:F{^Z&fsvUmi;"nU0S֩0B3Dzƛ1tE]N8IMdu`syvL}l/dkQN uRJYLBIfh*[`9(%<`Vm 櫥^W6JrZ;\`a9dI2r/dKFiYeWN"ҕguVp #!} 4 i'n0ڽT!iv@QHC"M3-/Q/H<3E4~x%IzBP$9O乀?XT`s'Icxe AQ%+[혂p648T@_,igvork':h#cɎH&\ ac_0hmAF; EE|D1zHf'v:(L>)(`3Cjuft6 t_k Rd8Į1ѐk] pt`n1Ris#V ěϐ-J[\R `H>:&:,&6,ײxK40D1q5Uy:[Ң߫ `Ti 5k:x5v #([H?]D#`P(|:@a$wtCQ(9y(:*VKcWΈ7=5ZGD~,6W ;._(aL/S}ރ/2VǶ/䱰d9oшV\B6Ga;h8M*P =N1gt*cKG g*yzX#y@Pݎ1&0y$H 3-1{0ׇ_VN źrmk5|-[ "rMZpSk`q L7T]%ecF\ODE{Kӎ * b6a : -"mӑmLd\ lžeKzEdQjUފ UJwK?DlFIMAN#wj8*>$I2Qш-K`f;;y&tafCN}eR00I!ڐ新_@׍d " 8n $ZX<xy^dM{1dM*֞ئ62n3M6ȔOQn Qhh+ qlObQQqƸ]+@,<<ɛE7`8дZ"`RN ЊM*vW0 Gyx[#-➇hI~hE/N0 `ղ_MeM `f`4͈ j{+Fedsvܔ"yQ FgE u+a;*#fb Ae#n~N8}݌ uKZ\ߵ\ y3wYv*< nҀfv9y_(xlZdf$~/ПdI'/(Z,E/(6Qu{Ir#iMTfUu0&?;v0STUtX|$?T7 u0>6P;I.ҳû0-Jt mu(H;Y!Dn&}CnؒwaBM%'9xqN;MfEe$1ND^mW`jv+&Gh%u)@SL;D޷C#g15+ؚU>Ll:n#~ÄZvuV-+Jn:2 wB9dĢwg3G&vT],J _4/<ی;%}6!V86wf6 'ɘfRbTbW,ŏiFXpMCd7'PlshxTtJ;lG{9ы3ק3@.Kl|v.̨i 璄Ohu&]&)H˘C82_9)˦'}&AZGV8.u| E{Tb],LcL=UI2l0ytxGmJHBPhP$ǫ͸Gh9Ui1FrQf.P;EJ;\u@2BW15Z[l*J.?3pK0L. #q$\y܀5,dY? X̺&>콘qnK4v~L]Y\]a?^qa7gZՄ31 Ām54gi +<)u+{Sx,TlAC lD*)a [ fS?T623 *ݶ$ėۃ[aq~8a]h$[Hф5 ҊEd:$3S*y N8OpFsK ] }˘fEEq_C Mޙ!\j: \\>xdŧRD2jIXͯi#cqVrh-MUd]m œ߻fwX{΋9-G|ߧʌT"v-oU}fXg1*!a}Z*lC #==n; ? YRb|ƶ:NpqL~Z ֐Af$xdjEXR5TH1#Lqs'\js^튙ܬ<6pX2_Md([;w2+*Pm3s:D<09]ܴe`GeG#p]=hNHWHsu\:d~‰zB@bR tD"% S`GONZ߸ޙ48(mc;Txuv5Z0Ift7W0=1+DPAIryOw)jzٙ ]{F"XE$JEXAXѣVA"g4 b0 8`,%Xjt%p9MR);#A֤b-yb",nĜJhae*Bҳz: rޱvO. Nʖc nIIL D'@Z}z݆"~L~TZ(~-Qk.ZXjvZp &2a<Lw8:1aَɩe17PaY[&8Ń,DV$<ؐf0OMH_C orbnR3ֵ CѠC!oj-7~"s2\ w#m:>Eeqbcfb6›3 #5bEZUp\Nlrl7@fԢ l (C 穷Fiv/:Qt|i؊(Tfa1qBnqbjZa_#!in1$Km-x3; 1-ke9 ꆶ*hF(," c!7r{cr;`!lx_q;Ǎ¸:'^"F+M*p~N%"S~-r˺]<$عv?zʹ6vEx|5́mu#/ku8d>ё=:^&7Kj ]"MԭHgp'YG񰿑zZ j#TvGƈ*A_;>B)S>t 6lT(nl}qpWoh|x)^/7ykZ/m>}s۳RQȟ_ƶß jxmo]W\s0Le{??t}=ߓp{߼ O Ĺ1kUx2Еyza`3}.†OX5~_;Í"@SlVBmNUHy4LJ/ (g0$&5x/50*=2iNU&dr1 91WZwOg g9!4݈ ~}bd=a^>C\ʃ|իگa)>;P a!s>G4 Vueh 8˻e$4ha$&I} ؙLH`i~bas m>{'0AqO0%wY]? .nڟѯ*olBK;#I,Nr/eA> g+8X>|lg#N{.Lo6G_O"?Kd?l~H1O GhwI)J?D w"3ٌ0 Ck%d`!,~)2x)bc,D0+ۡ8"r," H؇5$>XZ~؀%zJlj4 Kg)O5C96:Qg_:A28 !\I&mMZ-Y*ɕL̄P8,*ײnynG.UzzZ}%(Cg_{c$2Iɉ*H8;vD͈ׅ(<r玃}a I/6nשׂ1}O ]Ny$ŮID}$0O򺐸YQ<, [jW]ݎ[cY"[%=u@+@&{a7ys[?T*n8ߜ 3أ@(:} / 1E1tD-Mp\TB n`BN/6V R!s"Az(`bF:D<+~g$ H?~z t]~(9('b4QCAW 6}`?hm&*ͺG~E.#(>ɭ &O>FL+{N6,J [{)`.q 0PT3PH(>+gr DAgXm@\xjk]%)r9|3 G>qJw} Sd "dB¶GׇxbIH%d8|%ӻ"=Tꤾ~՛pjJ'@$B#!5?ֈG[qgRx zۃְk{r?&ٹI}x e `FAj%;a$%E/| A+УNJ*"T< @WC@I%Fys|lLGy~US {nFFq "nؿ yUO4qSZ[w &nMr s ½4PP`!d(QahWRÙ|,5B##- =<)f݅N.hSWs> $9P<>^\bT`{ "D{)6p2ݿ7V!}SbZJ(V" ǛLÄ[l^ vfn)q..ͨ ^ؕrceh&o^{Uf@6r@&B7fT;sp#0ͳ ,>Lnz†ľQSa|-b4lZ}1WLl`A"E'f4?*WV, ;$'{!9QL32J*Ch.l\\jwq˗)tj @ڄL}5H=? Mvv$deC(2yy2PO{{tczǖdS'M ? RkJ9ݔMm| \E!i5Z,6V~,(^^\NЗTiԂ4&WǩB'!M+QWglkbExA`=ʹ@z􌹢PbAz)݌im 3ڪw!hDXPҳ 0Pְʷ2! }xD>\-Dpl 7&R%uNܮ?6[J>8)({PW%z}sOS({3ߨ-}tY(2o; /?3Iz3n`v.p"4~@lG/a=I!H˦+1kUK#\לN͐CaʮlܤiQ9Aӏ`$>ty;\BŘ9xtaDϒRbŠ$Zx7+p?xll0\DVs(bmHIwR$6!D"Ji@nqV&,}"K@n~$EZsTnjF:i_S\GtU&^Bkr2(h<jV_pM~h/F #. )|{>V $ :}XwG=7Y؅DƉp\UL)b_M\qQA1ޟAA2Kdq}0JvciUR?aܚh콤zy&KD @RyuwtO#u`9VD?w0x("T Kh ԜZ^"Ux^ >T?ru, Eݙ@;Cd!"I͈RBV^`IymLl@s 1tOC8 -HÍ4lOƻK@[C*vYQNW< !ƽ pZg8Hplee)/j7WwZr%!j_?98.umOOv{;ȋP.gսzQ|_#b}X_ fkձ9w='2MZ4\NECQGh(ҪR;8`ue>K<˨'wyVu6ӒGX}+1(?T45qjx꾇wleP%~ }?F w0u푝(엚02PڋHR1H1l4!yxN*?z` 'k$q0 Q\)]#w:@4LI"U*~a4WԑGL⾽,0.3 ;j-~p!-AOOGكG! sR'Ugk`)"QNsc(\emﶆ=G#@=M2|A>OQqTm&EuZ)jꕍ%_DU5(_#Fi":JbK E{H6ͨt?U I6[0vwHAʔ]`J9JEM\\í)M7Jf$tDHluQ"b*V椒%hj=bGF,Zs(a`9,yDWֽ]qU{,YH7R:bL}m&jPd.A_'ͧ75[N\qEJvIhW|rVruFv:A5ךX/OȷZuT'| ,]Z!f]LFEKG.-maMCuS &m[< LI^yYGSu/afQqn[ OߕÏşw`q}(8Yk.LT0G{$&s9Q>jcg dD/[.{R3QCna!0O#ǖ}g6Gd"IXpcKɷGv?D9\QĜE :z}W5bK@ؕ6o)ÎEߗC[P>QX\9l;,TKSOGJ1 f*#A, A믟++6sj-I|iNB%\)#3w e}dC.#M8";?qvf~H w g𸡃\86+o-Cd+v:+"Kz9W% ~a7R(b{Ie[x!zrqQ4e Ѕ)U<'ϵY{r?CD42y8i4NķfQAOX]FEssNm:b%u;zk?k{rN͉2]` 9i?:R<Wo|A aMNA1HW|~c M8&~ڨLba=`'/ɬIT@Jy"9xrẐ;{g7b*N|7\718)qsv/?9d :i;XH ιs)&S-|JD@Gq7O6ܚ)Z4~ CdЏ]v P)KwMQ%LDd\[QP]Y]g^#=;+O8Z)LC hr0}SKGopuMh'5/bbzQYS sD{}i9l/S#MeqT~DVR#"W$q+ 9o>7'f,`^žx .sP KHFunIsIx(R.9.Y6^z]Wq㓦A7Jg;ى8k JK2Oɺ*zs *9X)/w?C\p3 u 6qs;UɞT!&WyCƸ2|O7TǙ}8&+OyOLorB r(KzU ј#X#H kE 8|;NE4.c6aK _AC$u&z@PLs$ҕUH3# ,N)ٰFd*U1FUUӌ!#Rђ]ϸ[ NIo˿U$dR(,UHq% 9 7vT50IJé&2hq5bt\yo46?û 989|H+ܸ]x&6Cy&|&J!~G^ t^ ˟1PHyEx৽808ZxG/1z7:3hmxfho<%KٽCL q?PIM*l[i]qP9-k鋖C7H-Kċi|5DN/Zf2(|z6b) r}]D;A^<%}7 qY) q6+`Jqkչ%r%e({ladW!\hzR-,^>Tb ~>ttWEl c&מ& AAs*y"zCI)*.3GgiP2&b 9G8!8"}X:ah3k;ߘe. {.%p-X/΄4kx#{be<Ձ{䶻7`?zꠄmI=TuÏg@\x^ʺZ ]~]IɼsVjܛ`#txZL5wxU1^x#62 P܀ 9xQTtg,7 5u| q='TQ̤<`sL=lLH,U(У@e !t&:P>RlNZcu>ZD kM]ЩNwM4xZ?b)r.*mNHG9ٳ ޚ Shd?0v(Z3U&f(sO̩b";jyorkst`#͂=0 L¯3CFq2[YXZ-HU].NfþN+!H7GTQ쐃t[7ũ>qrV Au;h[=X! ]́N87{l~`Y/fxл?ޠ*K'XJ

    ީ/+Gr|i?9* eLe^赨BIL@P 6ohJ}})"n2F(XT[*{oqlԦ7lKfTISǗV N`GVD<@Bזo` yZl]of6ב KPQ eeڲrY0XW+ C1b-ӿNWZ3n/*_YyMݙ Y9poԂm}-/:7Uo+Vm0~zM lXĂwV`HqVήh/|=\M)v   ? 襏Ψ3ꦚ) wkR2>$j2L^qlJA>EqOo#{N'k XP|;CTJ_kg9TGF[͑QLgHlZ"<_cӴΏLwg #y>nV^s;K͖y4s~*#=xT" {?#Ԉ|'1QgA>W 8\?_*KOov Iҭw [ @~_2d*gY$J9K@v (1q![^aKOdNdUM(ﱏV&Mb`a| a餐%0Ld:w߾U)4(r.CS@9- +WpS EpcGTٔ6CW]VIm5tϬ<@"#]h,Ud^J#requBY$8xE ̕IOr:?X/t Vn>\ Gh$~?rO8TdF,2Ȭh~eq7Q-4ȯrgj:=D3NR*&kh n2Djirϫgi[wZ.s~Ys47))9KL.E7uM &rx^F+r#c*(Llo4LΖdUd qwݽԼ[+?9{|nyeOί^~_Ν .>KgN+gΟ?e򙕕a-gP yc=_j-nN[e/NUݰh=أl\=PL]ɟj;V Mek\ں{?ף}ڶ nڃ~\>Lg$^|Z;i35/&Ͽ륣f'cݖ&qv[d!t(8>/çnjd;'|YJ߇o0A8pm(uA<6 >~YoV& ݫ+Fr). .7ld鵵,m[mYRQ|?LC۶D.CR3a22>#iL7v_d80fXzvβRG9L Ls}>e$瀏IXVgKUpU!Q3*RJGtRBx6'dT!-(]i8?#5@f/{ڜ?22Ѽ(B̞x1 ~p_z6j0>FYҎ_!&`Mt\Z|x!n*5pVucU(! 9ꛡlydȷ>>JG)4GC6>Ƒ:BFĹn~_Y\/Y rt$kf`>앰] DV ,8c5x|8éh?:E2Oߠ`l>MԲc$)6{w~#|s$yg '`Ucћ}fϬX%eN_n9 ʷc R`S~x#2 DYhB ]+}r%a͋A xVm-+,X&QRT@5p; ?p\L;^Ҵ3~ UߺC:>ͽ,=m@ˢJppH;7C=ve*G<I\"Ejӳj|͓ܲƛzې+8JÎ0 #t?>Pdz! P󄆏g kB:SX{~ ܎!.x?Mgl2Z\1[%`'͜A۫"<+>;B]H!*n͋.y]gIی_eZe3L1L/S A)\1]K-GsيC?E.foU/ 3NRD@ '2qzW)nO \;1V]wZT>0<=l09C#>A4@[ZpkOj.{&v3z#097TH#Tcl:kKI]]!؇=7mpomEi&*[pSݡX,96ȞPЫ1'x y,C*| AD5t#A#nKh ddW6)3"gn32GqO Һ<,ԁNp`Es'0ճ Ti?䠃a35e1j(}ם,0Np%&Dz'r?҇Y1vVj݇TUJ̤% !1BiFv[NEpXp<v+檛\bސKG<ã~By +vP@x'ƒ$Yrh$d}EoL1-U3cO cɵµϛYQ||iaZA˃O!kOd\V1?b^ӭުfsOXҡ*[I ށPE N쁎. K s?Wq0L.lOYC>.>uT!qḬNj;Ys?ۚ/s'L59@k@ RU\/o`:PQK1;fi|Lr)bUZ$ýw d@ҷDD&C!Y\*B3!?̳2)&Б>L\~A Pda4gQg]a)pw!d"ފPEc36Z?}{k+kK~J@ /cϩ8\Hc%V7trn{<_l%;tk3 vz'鰹NjۋioŲ,_uҬr5j^:}quō׮'J?a. -|ą@gIM$WJ.n饚MLckv ,oxW/\Q0ب<'7JFmq:&|$u!gHVz?03Y,Pj(pPWW~ !NI=fk}Դ_M$Hc(ݪĬhA dK S&C5b/M)@l|#)I+ UΘ$}X6c~Ʌ|Es'9XK8A_-c;4B?u[rPMHsI8J>6[?E%Uwt 8DEtJXSvӍ"a E&>R{FW"q:`]4V2dԈL,F 4AZwEU8RQ|.Vƙ]]KD~zY!{"~ܰyhے Ջ* džp`>ci4\iW(rW/ k~ ䷴]0vmv Iq?ýLɂ .&|>V -J S>T,?I4F~@ONH_G$Y^i';V;5+#$hΡqT[CD ,h.'JtPlmZvƽ;dDJ,S"Cwӭg`aSUBN63԰3:D>4" O1XNSN4ⶮes*JGaXt^TvA0Grla>'adBtXE1;).ދ2g]VBK8L#53C+:,;LBGc*7nTڀ7sy.HcQW9|2kNS65P}FrA%K8G65b JCi(Hl#sD?Rg<u=ʑ\^gNКtJ)ɹ3oo6O^s行laC댦zuZE*A1g 6wT3V$E;5|>vY@c̤4K^>! U)sS|nIնGg$xoGvtL$ۂb)/eŗO1$^"G{'+LQt;jnrf$85-$i_THR}'G,:|wwoh/-/뻭hIsDIE 18rt k^Pu|D;0j|*y;\FH8cI:sUoK :_Z-a2*~cR =yb#9 Dܼ!Zn'yQR/ǭސ(Vk 0>Wgf9#"aB|1#VͰN3pQp~?lEF#1c[@@U^ ;ȣKFe;#Ok[E)B e5X0aB*}3C<9^(]cn<n:BvȮ1z>$au"u9-\2GMO*& KaO#%:XZk!6t[\w3ףJ7QWGe&KifC~cM1rXMs8S~ 횴foOmSN_x7 yѮts>ܘr, }D"_h&vvtI{n n]VeYGLI"/Z31+}y rJ*ks8R 4Z5mu@#iOjTh$RQ *c{YxhЕ餣gň v9H'e{Z:2(qB3,l O8׌9X~Q/Y>,,3yԤ5,ZuWaJ'Ft't)lu]x`qv613+s;nH2F򰉳k,z(0?b},tBkN9ji.߻5HC=05`OigO$Ľ:EEQ,Hr*4ljMn,CdѝF$Ey0M`ϔ?3 F~ZSueJL3Ƌnb{,PEsfA^B ӿ TvY\p|y{Krɇb+|"Cr^Wpu꯷6c[c J_ʢ q lorC.C,N税Sz°qjwLr|7E!V <䇝N?b'hIUToHHZ1L]S4,:#'̿`܅]1MtbŲL2VbNn<&Zތ*e}V* f3џ!+v uӷ=py7wL\lW^\_hit,N!mP TtcUަ_ɘ{i,n|p9\!큻9Cdyz=}^C*Z"S@`n2 VVa$Q6va S?$=vy mq>(^B$Lbٻh t[iZ3`(iCa@#b 3DYb'ancS[Z!'|_`?u/X,44ְga►fjg8>Ǣ)]0˨HJG/Hd6aKW @ۄ){#馉-*ul1luk{FƆL@qxvZNU/`S90uΜ`ag|(Df}7Btsij~"d "$anӔh`HJ߸p;E7ľ172\c7ۆ7hmxf[܇>NW;IPn~t"ZL%j,=3}@gߎtWg~=\i ve]-h$6'p#лA[~ZX(Tw xY:U<}e%{5 +)7B?OU& S4,}͓θK΋u?f\m`Zs,BP+GYvʁ[S_pE2{gc'o:e2[@ EJqߺBRx(CcAB%L:EUhg t-Sρ&HEt8P7%zĻ[r=#Ψ2Xk&!׽^B쩕zW,:eT9F'AS:+[ [w%l?n`!z@@;_)q' z*vPRۨl xr 9"+nfk(ZxOi9% 1MK2uJ:Wgԡ~G+W2/V)=lz-˘ZL%r{;jul/sYLq,ؕdxK9x:j4''mQ|ޡ^#Nt ҏJ>:AwP[ Ԛ 6JB qgx% UJw%R{`QYl40ҿWcoI'??*|{Lv-?.o6CUGRW?➔! xyF:e $g8v۲mvv t%VSƞ9Υz%Cnso2&U{s"cɷ;GMl)d,&Vjmp"otk9BL*7z{-jˁgy2j$_m!ylg?b$?(mʡӹ&7Loz HK-]'Q<=W8?{d7TL@u٩WKωy=R7 =(/@I M` fvF. :{ CTv31 J*h)#N&LMޓ*?|?4"7YPT7ֈ)ڙYH3xPZk_LRoݕL"M B`;Xw^϶QiǿDW;qA\yf َ6io|\w1?7 > l6ޛ6Ue)9 :sqŋ1@%eE7wXĔuS;(/ t6wH6Tn# 3ehRR=j&Yxl0jxtһ\<0j κSgn\2.HM&~^d}92 B)$$S+yo[-q[/:ol"`60q啒υ[zm (7yE;=5fz÷2?[)=Clv _fRCAp"qN@.t!|.#G2\#f9&'϶;ydWpN9B.cL*#@'#%ZLbaMdth7nPնuYTџ.BK -y`>lG'n4GbarFoIAn9!~_@v[=q  ٯzQ2NJ37ԃpuIVJoG 7߾!HO߲)؉$7)7?r&95F& GYa;cgrƙFnx{'/~%0uxZޜ)%֧\]%]/Enp(Z<-c?uNuX'B4] ,+;'O3z D%aO(Vzx |~NJXOcFiL1! oHXv9\2j'Rrs8o1ykNVlON u`rޞJ:Ss3\$qJa@~$dz`?7?RDLjjto6sJ*)9be_"aF*>׺t?LU+хO>R9h:3ctJy'q;#Zc`l%9%#ڲҴS.ϐ~dcthU=u?;-H NJ&{)-/~vؕDZPahvoys38Ksܹ9/Ϯ9gVV'KgZC1q ~.~],o:~})9 =o c&t:H ߾_{q'_ѧ7̓{I4?Ϳw^@b/^}}jBInW.>ի] c ( 6vK@&nK '__ o\glX=z*BFo{ĥM֨9UJt&o8\".] f bCd &LOtmyhA0ڤغ4,g^;KzsLvukCdba1ծfѕ~K a|$|HV-y#U$AYZ]5%3khnsuCQ v" ͶA.#A&N\zZI;j6T !sT4%@j 5 #h'^ͻM[U$ԗ5aX\r_@.{F#jKJGTXAEe5& Iĉ*q7 Rj]G{Xmw-غ܅K7x-@hJ:`7Ԇ5jGLby^tƀoM K[H*]ae$DI+ Uh%-DrM[7@D8:l*pvf?7R)n FU<68Pg ӑn2ۣ EMb3F7MUokD$R0ˋ2,'Rv_WN6*^(տ1ˌѡ+Ń =pѴ 'h0Z@`Ս7( PEP>^eEgYIߋ.ҡsE :`FWE $J,3vȏ`/cw_$@PĻ:*\ :bBjQm*A&!#RL ZfL5(S)8U̎F\*tnU[i 6Det_\%  !p9(r0GF *\(gl2o[ץnHCR<"S@UFI@-k ɗ&p窻JtfռJ4p!ߨ#FQҕDN*Ŋu0nvTMK`*^P艡01oqڣޠJk8odt"{"%ā{=14R|IӚkÁ="MDmߩ%ðN(y!m6o6NCs6[IwV)6, b戆3$loy$Zm1^N &=xn1ڡl#QL4CŨe+za]2t  /),mOYe(jP"NIo1*F%rDŃs^{9ybpq4媕a| \ڄ*ďȾ0)X\g j--¶\-SJ= >AqZžwh;נW{A^qJAoEijOGyk?ZQ)8c 28wnURUw6h!6totׇ ݑZxs`yxrkL 퉟 s74-7`d܌ɒL77 r2ěDg6 *S&(kxnκÝ6n^wOLkpr"QdՃZf+z"& Gw7q51KKg|V`O*5h6Aba7s8y7_b@A丷b %=ǟܫў_\꾞'"Ct8ۿdbW[\#q$I zheYZ@LYkM? eHMs$u:ɦrR2ósu]G|Mw;e,5U[Jx>.Q`Kxo$~ZTUJ LXb*!71jsάMHh-ho_bW *55 %Mc)t^{)5)d 1pJ{)k.RwKeb*CdoC3_m??~_ڌ.HEiroWZ`!ܡ΋aԐ9kh&uJF% :QPve7`\YNjMo,szEY^MޘSS{3,SN}eNT!1OZmFdz Lw?O Bi ı*?bΙtV$+vƔk~ש I'Lt4 QE&`i6V,*s`-:^*w٤)BB ϓ֝ {BSL-dTHzG"s:e{Q'Ϝ#@kȭLAs UaOJr㌝ m/0ljC@OfDvHr.9WM& s1%3%Qے$M3^bo{.7}R9p\B&4sAt< 7Pxpdg w}K+jɽ1D> VzbDX,7* JU^׾vO+_b/rl"TT~4ky-qujcԙ(Sڸ?z+']RK3c`}R ~VpF$ !NegV"]{1h|bwҞ`\<4Y0CtAe>ͽ0Brſ_4 ֜|f)_ xi?:tyӹsN?Ç?0 ZM-,$qvn+C":N-;uf=YYZ^I6kt8Jvi\lu{b}]`Bf} !]ȴ5Lk )F2L1tF[. W@݈ƽ6Er)䷾fBϻįL{wrp.k E7u A򲸓w!I;vGU_ZQCBF0˚ Plgn&N:=xGp_t#w#0*qn x+77n痯]߽WwR ,ܽўkW-޸ʍ2Wn|˯_;nrW/_Kx_L)spC[n[b1 CځĻ-qWL{̼,xA 57dp2fx۬f#yl$g$A]z ?}zi?A.'K+ ˧'o^,zz}9,LWȡxvo [\j;_; zU;^8 Tm~YUS6Np@2qziqغ:Iy1 BsT%p*ו Μέk?'0 aIg97.$C𨨹>0ES<* юzk2l"{1,Nφi1T wIr[ -!!D(VO胂 "|,w0pr(Qf.:ݍK-h*S%B}n@ݜNgI+od}JpGaC۴6ϥSnOXQނ3`ZkI:O쨊;@lИ ]FKP5$J v ;IK쓂j63RG(vtx G5jɴ}r3!Z#\FKɽQfVIhypJpL?~w'#[mN[˂^6ЩLZ AoĻ?oo۷%$VA`zVǎ(~jug48G}yp9\>6Ygz_Wǜ!7W92r[(ʑmr,>'aK#5+ߗ OGqsX_"dIˆ2լqUDjT#_${&] xkR#pD=f_=wEobwzC>PGI`)Cqzzדݢ hJI=W1opR.guIC(8H7vGñ=N5+_(7\<Ԧ;|%C~)^G\r/ZB*`͇`N_X"vM`/(led[Xl)CfYn*^5ድln?kzװїeҰ?J7sU0T P(@}f@=R,dI[y,eeU8]xo8.#l~kţxU$-!ԧ3<{S.˸\Vkm`۶85 e<uy.l6:K.&n&K/]_֬bnސ4k) KiΚAfS$ɸI7zɝΈgb6H ̭n>ڽAPf޾r{[ۑ)>{;AK;Cmy—2EqoNѰ^+4MW[}v TUbI1-@Aݷa"kc vTu ՀB=9E (Q,Jh6Qkݽr>9+٥D/ V>A㔫J^`&e'#/)>nc#)q;0u%Y;T[т AV qJ7\wt%bd|ڶbbRKҬ۱nr4cּn\K*ze]u.-#6-T[ Wʽ+!N+i܂nכ.tOFH7U8? +H2 >K rk&/K}'v``3՘7hv?W[&b 6[nwz]isBg$#,$e"yZ2H60px;HNú_O,LLP|Oe`ޮW_%  ''tO7on.W&{"$P HςZiX[&b><_;Hn l!m,~j@ޭʻpEp6LsdFop{CP^ R2z #\;'9?څH 9ae4ܐ{QK/\h.]lusc知Z ţIӐ tE/ blC7Yde3X`.aqQpY'H=:҄@`E=k?4Y_9]%I(vXv SUcFRQĥ7䉞%oBo3l#Z7I>lV9!ڱµ\J1-{[SepE|[!pR2Q&I˖ʎXY#Ϯ~*Ev qIka(;>孂ͯ7:n꧜[? G&#k8xҵ}񲧔QcٳK^O$I'? N\ rڶ6GN_=#6WqC[ 88>3"4VT7([~ұx#9 Haq_<߳٫P]ɵTHA7œ,-FM7$8-ApZH+06j5PgSb#gzq7P<,4KA6W-f&M$nI:TCOBKL|0$!IBvܴ=3qXѸ_ %loz/ `L\DxrU a#J톜X^53X9 %yC 9C+{o#رR5edlM`L줛oSt<1j*4ĝl `,cgBV` v.IfnuMMi|դĠe1 ;f]l]h3/u)n{}g&?#ͻ5L2#W,\ X8qh [RouiF64FԠcF*+.TG{v:'D]q2wFUA`Ő$-%Ǜ޺u_UN ZUl9sn7d27}ӣxlNf=o\7kĘ%<] 8Y3BNU\_ń0@اgy P̙s+LKK'cN?'OCS;U5fjAsGW*:25Ѐc,yL 7I۪W^{Ta[mgi$!Q6Rm`񴅡עʒJG62%RW=8[',mT/>ׯWufT#(>z[[`Y2#.Q݉CbU4s4 Jq/2bzjR-4r=rmFYLV/-wRHIYwx̫签 ;N'KpԱLOeO=tϝ9|?OT6ec(0Lt~jr=5o EhW_WMx*QȅO̓o"~|LA?;~,|'J b|PHfH(z(vr:L{ww#٧&ɎɄLx*8f*4fj\Fbs e4'Y>u_#ΜIr,`#Sh/4O[ Д\ ᲅec<,ڔLrJr;5)YMPP#>9WPBsEӜjw8A)查g!';'|\d;ь<%w.,L9YdcbKng|KBx{˟`e4gu-z*ys<},qNZ$pVYeVSDyR1 RPһ$}bg@}|_5ws>.Ij4UsP v?ܪTxfqfǖ^'(?9뻻i"<6W>I&vcs 6SWlƬNkN;AC1i0UvIJWI%n?b+g4nbr78<ĿL;P[AjWo,6nun1D;MAZ){oVn-#H5P^s|Zu}sm-VřWy.{-o/V G /7L`~@lxɐ`Q3YGb.3geSLrF?Y7V0ɖ mv(Ž>-d#l'&&p5i$0(D7z L>EϞq.={} S;aj)| @M5e8uj _5.:ELohg.TKKUJУ&#dlH S0;r~Nu_)yc=#Nyb@-\3u|N+ XVQS{LB;L% Ө7ի7~],۟)y^ a:p]/h?O ߤR(ϊ?->s?OSm?ID?^~0t8\Ca'v61-+{NTɔj,}RQ\!%\yo?S>-îԣ2U=jL:;ZڰE U5:X&<`Wy2PōjӅƓ~j6Ҟ׮ЪL`NGLB*FsU˭l5Z#piάdlR.mi~BXvYmKضl6yN`+deG;d^mKy L6,R}5aW;낿F4zxP|,3w^ěHbK3',Aa~n0++gg,9s"'߉Wpy¶`s@댄t&99f9PP=LjcyZh{{3 38>tϿ_lw;qm6GcgN9rsqLU1K/.Gss wI .b&U a P4$gj7ux$Gk`vN cЉTK/[/ a8}i'k,=`vJJ3-ѽӮhsakߡpT z֫2&&tQO9//v"B?,AK/k>.ZyMNEDv_wB+ *.R`9Ɂ{ʥNo0U4nϤ^`eJF^^*ij *˕K_md -!l{a!J/K;R2`h@J,H|9ixc3 S=fBInKzI(_ť`4Zl5nfM` m ^j73xfpD8TQ]~r&g+q=tӭu` t p$UUM'q'6U#H0$YKduG;=늯-Rua9F(6)j%<vX³DAƣ 䨵:0m4MnDu.} m&;xw5nߟ5}bw{ɋ|Tp2gz\#ekXMc.t\לŵV9c0x25 J@V)`Rl{ܔb#[<̋a_T&R8SBg@UMwVk Kk1 ~ li;\dV"Q.-{.- &8w?d:DXe? DWw?!nPJ^LikAy!X \VWK!㾁f@'y{?0sDZ3fHw:lNv7' 榹YDa4*ƿXȘ  gT_ذF  93dDN$䙖 9H;wε,]:w"Ç'R!a֝*|CVj:Vk3 #$P71g NULZsaw5ܭٜZVz,"MVlWm⵭V7K&ʤjOCTXϝrf>T.N;]$oWࢩUw, q d <&$Jz!hwv!-k|@P Z=֫Vg& ]#;oeO>f '3򅘷='+5z3M!4 da_NݿgQr۸đ ^tϓy5rɝ5zl]8pֻͷ 靺Yv|A. !pM@H*QnZ&~'6[tjhXu_'ĄcV.#[h4U!7 ..҇Nmslr)Y\Rbs bl@܅GdQR{{ncPVL|5FA6]z,:Z3q1Rl 5 %>s.PW5$k`n!~%uF]Fi@dh&>ۄx+5;[-*_v *!SA)t;$W`Pr ˀ̛RߕsJ;.[m†)OiOSQ'`VzK%̃76w?+_l>VִN(t\SX<5jD4 jOt_k_^r5JdQBݥ`ǰuskٍTxDg&A]_\T6>B˝F ϊǃΚF˲QuV.܇}E*1q?#ޠ3.![6pkmyIAD/_3+EGP"3/r˻^qWOp~ka^8Vn)eK|;r֋/J|^6^MI顧Bm7 ςڄྍ f1 &-iG!r]D 68!"4$Yf`P4R65b^Qhk,Z^c)%{ <$n_HEV5s|UrZT/ƣU2 ?RdpZ\'sccRnHBչSR.88Lre k }@zJ\ t[un6~>&ӑHEIXl&(\3oCKiKw+'3g{5f6[d%[xԿFY>tG7r*wout/{YFWec6,[g)#'mNu 6ƣĴOVm˸x1Knє߅"V:^m&E𦀜)$Dee$\!m7i"arZTrW]rea=<+w!ƒ]Gi ƱxWK,vM)B\)`p#2Հ\UԬEwӪ3^2!D@Ls\,)^Uϊ A pF@NAOEvw7:ny*EV-{nڽj\Fɯxɸ.Y@KC6(D^tJG]'()Zua^͇E%C96;DBD$Εh')^>v￈Z w:v#/onVYgqkdP1` co; |Qcm)&ꑍ`A',DB*I!gPK(BzuGf%Hhri 2&0R 5ʍ)4-7[F4M|i (k&uPCo^Q*(ٳDaUU Xvpc@,1e@ B.3ޑTlN֓mF9@~>+(`GPwB }Ič톿o\ Y )L?"6hR?32bZ]&p(N@Dnf8Y/d3.aVz? Uf#YG8ܮUMlDB9!m'~iEz7n1gưcVRWJg:=zN5-9 }GoɁ#7,,; 4)<1<T†4CQ܂,l-H96Ϛ i}0)ȌTvQ; dV8kH vrv`g-g`! S[yXrE0vZ^Ǎ426>7Er;NAh(k1}aG%rʀ2U/yuZ?ƏӔpbj8*hYq &!3<Ʋl8A g_8k4Aw?N/gϝ<V=< d_=Ird@N3 jG>)HXCe#+~$/ɗ35JE.Ӝ+Ϝ?'q3L zy\3频&I4}DM*! 1RYlu[:OC~"a$JbƧaK$v*ѻr)m@͒q4f H]B t'ev~4%._Ii.z:X%r^&m٣O0I?%U&է?}||rM ptT^Pbͭ S+[)|q*~Fl GZ~ҕ<6ZLYxqe]wœ:x*Ϧ ?urU U Q]F {*CA[) J VA[AlfYq'( Ƭ뿟9}Ƶ.?s$q|8˶*rK4b`zQ`+y.mE#&cukJtm?ըc4!D*$0/TR ^jA ӈi+p$^ !gsɚ]o9TU >I.eeeuu؅ji!EҲxqye LVNy6{07)48 H[44fb)Ζʷl]㷻Xu$vƌA>̫@0e|HդF0 m+9;S┶(=Sn2jh4p9&#\YjeT91k%gOcׇ\Y I#}wJ [[GYq"e-%ҳ>)X-zn>pdA[Id)o+ hRhH".䓬Q裟#FQ]Ptm[s:E`"Q̎<)"R$qX׃2g] 0ז`Jٱ9p9<G>y+ggΜ9|o0Դɇ״#<),^A5d 4_&b o^cHu0p`HA1fҒ^FBLLkzgLԪe&0) Y1v/9L1N %{QW ;W <N@-33p3iU|[kl{M|W_UD@ )Y~A|Rz.7 CwyXL/o{7n?ÜF\&(yvda /:J֝4i0oW r*:I'enlcqI#>E&\k#fN_jFLQG/ҫw`Fy[=15ZAwO|-Ru/xIgIY @,3GQ[Df/j$}n >sFbŷS2nbGʈa7Aq%6fsMȲٶŹݐѲK8*&7 mtN!npNj0pǀyXSm.!D9r_j7svĝ Do`BuL؏2X7-{_:RY"$/^rH v< |?"lw ˦~믉_Z64oД [T :\mX9akg9T6%uLx/ 3/⁸YRNa%v[@yJKمXejX FBVK[b$̮VBYx 5/p֝ʂ&Y#1ٜ/ļ97!Z] :+W[d#yntZnHo\oH7}~rc.-O#0jcrX,F!%me x(B5z $&7Nr"l9N{PK8  2=S Ht E(%T\*cl)knr=$M5 ӽ*l3|&Sy̍|8HE5td럻?¥ UprޥV -knI TtoKL $1XaҖ!$Ѧ&U[W E_+s{Kp"ڼt@87[>}&b\ *d1r^(J^8ĹK/c վj;R` ˦R`SP#!yp˷ã+"R-Ah9kZhNF8 vX뒾2;wණd0L:I˧{CS|mԎ➩cvw ;u%6Fr/(܂օJ0ݱ,v -s ┃uNA s;4\FClnXhyW_Ntf!zS=W:.ӻ 7 Knҧ]yqw.y˸*Q/zab3a7m U66źv&Xc]v}RC)baXJƝpNVdw;v Onv %mu}_W3'uu5ʀGW\i97cggϜ;sEf%HD {TVb^it;M}l6ǽ,N[ NVzpJZӼj  _^Ĺ2[=AE=(67WVg7bvFJ_O2g:ޟ[e]?۷^׉2E-·5t-7i[۸q4Wn-X{vzS.;}!qWA/7Ϲƒ| 䡰 Fz.AxVt$\ ~;jޔd10tHt]+@K:vzo5!ީ8}λn*bhkyr% 3k(S~|Ǝӄ븹h yR?I &(8H!zsTS*Qw0{1dZgۛ9@uAqËCۧ6 nlOu#y*^:W}KV!T$rÅ MRtc]:5%u 0c2di )c[0`GXfiMxd$pׁgMal=emUkJm:Lky{swey{ v]ZuS\ujt3[ݬ>ijk^{9f977lemP nfkϮT%/gg26oP@ƒȳZ,V7 n.&7--yZ1#oO4;yĬKI b۬{ggJSWZ^=²XSNYSu3|@fb1y]ȸ8ZGZ`}j‰|-L<5}8[pp7e@7M, r Vgx{%-iKd 3iq{}q8:(tBi20 4 =- S^]d#.Mm0V.s~GD zѣ)_JGQК!PϚ-ECY3jNZ>)k^haPk* `}An-l]U!Qƣ~Ղ)|^uuo^@ҹjlv аtEH 9HűVehթ]|DSrK-r8)rRlÆ2ra$֖}%C()Wsp!P[K]60SrY>)+g|oE}#JTP;L<'Afk OO+C?e`1ѥÒQPM](XO,IO9ӄհH +5&-02ب1(V}`558)<É+;լT._;DGQz oUl{T\G ``D*^crY5hHGNZ&QO_` dTsF̬`$)]95{Hf,ȫ82IP/bR5 3$KR⪪1iٗ: u\k'(w2!|ɽ)g9lµ|Ael?\ۂ9RV:;& ~xonZ|k&"P]v!{?y&X!CIϭEȫw-T\N4ZzO)R'hj_|.^I%[VΝλ.Z(2˛UXqͫ\g0٥'c6b IЪ/.`{^.MBKtX$ԕL:XFN7tpS yvYw$1b4|I9EXv f̘0Mt0Z4C _/y֡eUޗ!W;Lnnwr.Uj ~8)HʷS\k]v㒓b{#xȍUa ?H?69;L_(^>Ο)g+1%F ]%^zp2 睑 U+A4;.&`>ل6|\L; hi<0ZJ/}ki/BW9 UO5)C*eҺ*:L(:QrTrrE@j56 N2|v3nuH [).Y+fznbPpz16IY,9Q`K|W-8$!Eb0 pۈ+:AJXZq{F y}k< y@QטV`c(Ҡ.ku6]iloǓpYj㌆8vPăx#yӁUy"+k!A08\tUBՎYʒ~OE2) RǦ&\UbZ[ホvZG7X7 *$ȮaX 5{b/Ce`CW:#Hܰ@j}7()i ɠ-vI4l(b,)6NNWO"t V{eomwnk(կZ?3D49tVv].yot.$}g}LQ<$;I0(rYqȎMxJ2TBZ Щ" nS!EeIf29kWmSyB֔Z KZTDg9Y5d3I望yF6p.D'QG(~GT ȑ!Š7zwnsj0#cIXW[[uId")9kwbtL:\Jd˚M|,ˉ"-$:ѝf<~/gChIz, s'&gS_nwB6kgΞS[K])+E6ޕ}$KL^X tu%5&_mYx/'i 3=$O94%d^&'o?B'f4vl<|Efv3`rgk%0ŻJLoT#7eg&NDILF fsTy<)&x,:u *V7/\pvՒST2DX^%(qB3^+AIIiIo N<9H+AV t4g{>-ʉ"ˇiܧ7uӤ(wڕΝ]:{\gTX8p-,9 jɮ6e4*2M```QmoáGeV́I#Q?~N`/׶+}=J%-5fI3%2sLة*x5_O-TRtfƼ[a;M@\I* :]XMhؐCSʪIJ_'dNcsHh؊+B$;&T%[ D8َ͆}U=`A>ࣕ,0w%{ XثnTWڭf#sfW Ϫ<>O]3:)ḥy ;3 qU/$re[̱7[`.kUH-~;00R!c^:ݦ;3VLG?qmb]}Mpe*i'3_c[V*rEKתJ0u8VeL̎cMc vt3`3ʚ%N2/c<[Jd*9xjmgfN lAlk*&.K t3f7Oԓ1G^ؗHl@*r3 8U !ō!͂]*mg mٛFp;'gnaڎO@'֧fR R AOPo~= L‘w! J2Ϋ 6Zw4t!TQwR|1ݶoUb߃{+93PLNL- !V1 2Q&٠*j+Ky\i6UFP:S*z#]QDn*MDA#8920%#OhxL qrQ-ͻK.\L5VQj eh8Vf.r:RClT_NpflG R!29s)ϽpUݞlg~J*@.4&κU)e_X10oh="s:XDUTԂ_][G$_\CBTv/U벚kr_wDi)]%J2KƟcUcG6hW[3P {~84i+jH/؞xq'Tbs8}n[>{W{~eyٳ>}R8> Lo2,7"|ohj)u MɥzMO ^]IfT,l 41N&oUӚo)IDL4iAW4 t0iT)+/2躕Q}{/@]6cRs=&mВp~zAlF@W xW\QO)(D}@-Tj6U"[4-a^sܠac,\)va*9Cφ|Jk_"X>˱ADFSdc}朝 "76Rxzs=/=Jfe=2FêZI1;AA3N4#͠Ҷ.—-brCS07'p8d+:hA%߱YAC)5@^j^ydկjFnZ`1SOq'o6kvi@C(n 6x^Ev^A[lvʧ8jdL=l$U1zA(ԩJ6r=r" 0ldϣՒw96$K1U"Y{ԢPLǮ֓leЫ7@Wfh~, 7 TVh?.&B1+hfsgRb;|>N@gsT$ ~78rsi*ߕ`r$qp V n0t UOJK:yh9H - #vpPum]2T@T*y??x|m3~RKK;CdEJC$|oeP}8Rfd֝V g as^.JsT"9.Ka+K~啕c̠kgw ~8lD ؞_G1P>8FQ}X/XՆ #a@ @#I4뛴k I R#R= Swώ*GF@9\iw[{Y"5)v ٠ɜ73Ve{PO[GjB}s"P ,;F 5+Hv7FV6RfJrWM2!ѧ`쏪"Z>CHkdieyyya$yet.^6Z3D[˯zu}ެ,½I Jk( kH֓;+DdHUQB|_o_oAwpڛWc8}><`~>`T@!nac!$"{QȔk]v0I}i._|Ms1$;زpQ sQ,㴺$}y,ҡٵ.TvAB}]'^^ۆ$߱.Y+^wBs/]O&jM]1qXb}uvǻMe)/4EoZ8LG6j^|c=ӢhWIcaKFF,zI /Ocq}FfySp<\Fnf^7W"6T*!swFVw۾ۓv_#QE)xMX7u'w_1ڈ۹&#otz=1$kIuaaAE ۛ}}B;)nZݚ>n.SlYqzp.׍nՄۢ-J^]EK*lcystihlZVJrzepz)pka:ΣVMJC!|qfB_T.sGtsD[/vvVtoVn)F(nե p.nV@E>rۂ ɦ1xĢFw=޶Ҵ ObnUDAýh+UT4ZĐ K8DIzO0Y͞5ڙь+M֣>IK-a5UU~U\ѭ^\5tfe.mj~6/2oMH?BCů ad  o} Wc6+^#Mnϯmݡ|nMq &oZ%nѰK؜bYlT^z{lr ĴAM!7 Dyt73C[yu:PZo+u ]{Xn oP]q@8_/5կfV޾Y!.`/tg2 ǣNwu2zb8Aʟ Ai%~uu1i]ܜ?RMϜ9| :m13i^|pkU]jÒ*7AafOs&ozhr*tvV Bo3$Z\jP:FRCyו†@!nVЬ.V֩xmMlم:\H?yrBׅݬ`E@Oۦ_A%0;RU#Tvj~YB`9T`i Piul@i<nht[2Yf k7۷*nbʾ\#FV ]qԅPWp˫Y.b.W$9TZkvFhB)apr];ΝY7jNkYԕ.n$T94M;UglԆFn@y7 ֒8X1nCO5V,T-f`+(Wdc+x9C$Me~1f~jVhYîB2u25J':{mCͺ%Ȣ7}v&@ 9ӡxR󞦐bq;B4vG7!s-`AǺ/K%ّ$Òa] ?[9{>{csś"Jp ^ݮeog؋xC• xJ]Z@UwI4pH d<u[(/7݃`n=S}+Hu ^vxpPW(ɰ@:$ )I )5M)=}6宨VEO\i;E(x*U͖z14"v[g} q{}D!a#2qB7iwpxxS5EbpQ%JV+U0~x4UAnne`qqXW BuԂV"V{ Fػze({E%jY>ңbvg2_Տ\HAXcl/v^RZx]-g`ɰ/ť.X}ss[감~nX@E>reZRRqnuLehT9-v;!xW Ç<.AnYȝkU/:FA?YP4m.|W„Hq~'Ym:B)z%iBNdޕ7kukzF$yZT4艠bWCvM`qryJݠ )^A<l gبzA߳f#4-"zaawwl21%f`c37= K ~JauFт{⫠F"É\C@48?D[דKn+ P(A cC,x1MW\*F,K|!=ib_fR%ԁ!(xLhؙ @NꍂF(K7DRm6{:4OKƺaz[VJo뭊L݇3̲.b.f4: > .3ioX ̽Chyauڎ{~1SWA#5VT[ycI:*WE46W 0|3>kL^뒖'uo;=t4n 9 i9#4'!n)[fOVCj7@-.707(_il 'N˿IKjߺ[ Sm>B 0 iX6rOvi*JgroN4xʀ9 Z⢜87;l_zbt>zqd^߳gϞCKY}/'qM*D]2} [wR6USo8LKNJrfL ו@z(G!\ǰ*"./ ;+86+P:_%nNdެB^ ?UURVЛb .{Z_z<+A$J͓]y␆w]=Fu'WΟ=k53H6a}klW I2֑!^?sk=Ჿϝ>}wN0YӅiׯ^nV]޼zkWo|oVQmYURbtLRz=`FʓX8'"sNpMҨC]`6 pp-%ˏLvQ#:N!4q{!(l!_\LDQNjlJKebdrvVCP0=Q6=BlvQ̂ttXQ ˛3-*?V1buG= YLNlo%)mT| H7[#P^i۝QMVFs ߆=@DwUzb5l9U^5]Cn#Lc1'U9:Wyp/ig{C^_EKtr癸Uf:O)Frr~UC;Q֑"ѕ) +^bqGL[)п9eGCd`}B_@;qFsw T[B\K7Lp*Au<Z9'+0A`!ܴk Ԑ:(*<_[4+XR kuzTF;9O*8"5NIh d9lgqNrS)xϯUUfU R1IgF;J/_'JpUjSw =z#kLh1YߺeM ~z<7 !D&j$#Nwu+Z.ehRѻiiNlm ;!\g_;oS1!q:,z@C(0k6~rD̥,jA١@S|e k&’z HO2kŠjus6']q }BO yajHa^ <0Ge!zv"=+B fD+z{WI Ү}UPx}r&)V %ãJ8iჴfi^]bM߫&ڡ)7a*>st O7NBSU 3,jvޢÙ;u|$N{wzR/m']$W!4reȴ_TgϜ=+ 'ˮX/%cJ_͗ :,'!$K*@T +wzJtb02cIu4k;̬X,j|:a *9(sʟ%t7 {Ol?he8"s)a'"? qJ& @,/{p'5 } k L  N(S-?ٳѡfNjhKgϜe *+icg 冚'a+C6' *[\MU,?gl(ͅ43[MQ]9?tYb|_q=7-s9+7lq+q(uyb8D;dTJ y/$D,gR0!1P]ww11-g WSԪX&xxoհ!ʠЗ1bCÕ0>)ŷP)m$D #妪O3*?9~N{3>S~ (x5Ç RR;FDH ɰu$ )"mΫx`ǦSAvm%Gsרe ͳAי:Ԍʟ'#bhm"HReGrve0k uҍ"cWpZ'&CzRz3H$Ov%^Er\*TYI( 1ͨ.r+\3MnZ˻ =ʲ;.Ry]ݹ`>Ik0ut7X%ڷC՘J=z1Y bWـ 5 YY4,麪Ov@S6<7d >Ty_~=Dح7Zln$~a3f{ȅn;Sj6n$]IR(.v1No;%Çj\-T&}*v fGdV0\4+4릣CBOp~'9}SZ|7Od(hnNbgeNC "h7do{ 6L$2l+2sۏo%#d}EiqSI 4SUkl!^Ԗ_ zj,e02 p nm4%B>_um]ws =6Zj[4$wnp15SR!Xrz C4e +;3ucROXE6yɓ_ ?]Y?ψNc̸;uo߸ߺQJ *WHLN/`R#huFʂM=6 P\s EԥRr}uo=^lJ g}_m@Zz'G;'1zxZbsg{BP=奕3ĊUw׫ lL8l0m #ȖS, DVt a(<>hzEs?h q\CݻR7WN9{S+h2Y;i"5U1 2#(*F}1hW"SjJ̴[,iJEe9Z~V@ v&n9x:PSyֈT" eܩ۹"ʦPu-sP5UZ4z.dZ.) BrsBNR~[(c]oBυD`ݔ[IQ={h1[jo4a/AP~1g'X[_ͮ0h0YEF|fm:áG SOy;qG'>8ZS-dͨT:&`RiTU1&lfd?Wӯ/<0ؚ37r:2BX !lCgiٗ5opg,5+{% )*Ur?:ZN. TSSrYOK5uաW޼63>J =LTgWCKU@WXBȚz"6)dɖJw`<,zAbJh2Lҫ7eʵUrNXJD!b+p@'"eP{\qoxHeD`Iv4i!O&`A?}ZKԟ^ey-.^7QV\C'^W-dz '5zAc_&K -4+tu7۾0`͏fkPygj|1%ԍd.7Pc4_z!b3*j

    2X 'G-lFaT>MI(>dOvNPPEz Lُ^jbf~+LYé\vrqd2HF*7wܱW$'U~by_Yw tZ幮$evCdgBeyjOOXa9FQ~Ο?PW/eҜ|-R Bdژ{*n.sa 9y08҉wg]{Q|`\{"Wo[nEJp*%q,nY!lro]:>Ewm@Wyr7]j<4SbD;J`u3N&l(ÜC߷^JY՛樋0?pxLb=yn쥝KKxNo7)lL˖^S'ήf냴FWzb r twH@f} K{s*$3c1Qf#] +) qjOe|X .=Mg3txj yL2sv4͐"䐘|W_m$7yv^zJݏR(S ~g qEY v hUjXԢ+Z< _*Ή47}b?B<_tNˎ'`CQyV~҉q|H{!aL.'x49W^,_k:\o$ɕ`o 飞E^XZF,hX/c@7K⤓ʦiZ#+F*xosRJ%w"JEqmW.Y^i%B$B)vdwT}N=99:y-``_|(hb\sV@F\^`4 "%'9bX//o3 /'oG Y|ގHu 1@{3({q5@==bjQx >!(0X9~d TMs#P@ Aa YJ dp!xRb$Ԃ9$Csh爀1wu"&+,mՈjUj,Bvp ckX^d`h`Yb`akn,11Xlmfaxb\WA\s~0N贀sp j0Ic3@pttQy h7`cx O 5 D9Y28A#b j#澰806HHI+! sm0uFl 緌?xO @!c돭?î Rv8!#Am=tIƆEIDe^<0a‚a~^iac*7Lm @ETIk^K^Ȭ%_ai V08Dic$Ɂlh:1鯀+ݧ0lHm.Tdh #FUBSg<](!uCWo@bR5Gv:tvw2Sj)y<2U /FLl 9+H4 ΘJ @a`{,wr ${[S偁5G oJK/PV f,&@KFVX + {qJU?Ώ{AD(Ҁ΁KP'"==L D9"rI(@J">dѺi4_d  @&rx:QO<.<hO<:rlC/MF[T + %%*d %Ip ;( LA ѝ\=D #N}J|(8kw%9 |kםIwt8MM+V'Q`l*mh rF]7Aq'G[;xKC5 . 9tGYox}*!Qʣ4)'wI9Va kbE.ZGiE.[4hbXnDg<Jv3{?0xg =; g9glFˀ}:9c]?Lo e f2?ܡL2lᚃ,GvB $x?hCddFB?=(/^EoRY߭EoƠ{zHtL{8Cݢć54!W{'d4VG?(F G p/=ZA34a- ɀADM>x;ZF, r*@PtW\ So ux#?uuuuQ9FOhEox?crr~ d6 <>x70}%%%ѥFb\ȯY@ʑahsa. 5ԿJ$y9ڋP䠘GkF]"CxM#2C߉7:B/+0a# ?ErQHoH#Ʉ\V[rVQ%66b"Rxb(D)]E"i[ cOgB|&A `tw APD u,G)=>x8`EїxCF ur!BႴoP9.3ա \CtB9JɟxyWa>KXWOgqQq&xz)HPS#`ըidV"ox!v}*Z $T u 09|ybl3-+yЋ-C)raazcAsD-w9a**-TҡM2 {:Hҍ" "tHMKhN퀈 1DE舄øbCn$c%gу\r "b#s#sk}^ .wCE~]Aq !x#pTiza(1#ԾA'bfAa*(>.1p~2J 74ȆHI B'9/( BA{#"9" *Vedt]=qFcOjWs0j̄DP,k W3!#/$+cԕ 7x$.Ŕw xUUq'>|^켗+ы@t ^FU#Q D}U0 N*}VLJF$L]]AGiimbja`bl.j#z∩95Ե>[%]έ8 ۉu##6f+uͬDt51ҵ7с(+COҲ.0R?MИ~X> @88;8~q[XJH 61!ˤ"N6K@'F) G~IQ Ǯ $D 'YE$4Rd9 2D4?ġ)BS("tŖ$P˰IUZj_n}!>D4%p1}0٨mJ7;x)# f0`PVEOjt%8R ao,@$ww{@" !]/[g"YP VP=# !2}$P3@\5gc($Y諸@$x= q HID7$xZ%4d'8l@"D;dN):XcK'W ԙl~*h1 |=]iwc/eF_H(G U|&8 ]F='@N $G"#:D{oW/B "5xRD$:aGwQ##Yej*GYXZDOtD*H">njv xxy  9# ;&GT1lz͊՚UD`\ LSt2"X g׍?FȐ\QQww@\=;4UDDW~ 0x2atՁO@8m"}ee:@"x@@SB[[>) Z*"CBCWT5otuƳ\pӉ Nj)⃠8&SQۭ6fgddi"Wvt>P 3aP”xu\ d,w0q򧻴OW ˗˰x#@*" N2h(A/zt6j/woltv`i"b0z<%7&rWw0>p|znjH!X-&  ɉmRLu{C25t?=@imx! CePQ \;$4YĊcD @7u "x4%ZfV9#0c,Nn ֢}P䇖K70w95[0hFj )CDh*Lo\QBaq=pqn{cuA *;c CPpx@;s ũtZ|1^4rKl# rI@EP_@JA5$Si"8a"֓.ŞV8ˀ!k L2A88:BNY)#B F6_A__Zȣ*'$Q!DJ!J߃#~d18t@"qb*QK(6mgdC:Q21NEO- X? 0QNfS\r50FDgQ@ 'BBl_`` 50r ,Dg 1ȞN.48EX}0< !a7{# /}C?`/z5BS5$h%h}ݺ , CxDtttXCEUUFBZ JHy?j߀q`ot Rk=:N'l8PN'd <"=IZDY4Hd'аsA> $Q@. ȰFOb P'lqC&>rȰ#Α[:@[C9ѐuXM40TIP_;xX E^ROV"dOGGLZ0w@QІEY1 $V V1Cz& Q#&B|G@iLYˆnYͤ X m|8U ,It@̡@PHyo{ 9Y*8 PȴJi5Jh1Nzuak -'N> f¥C.:34JEa17: ar}7ݠ:vn ^n18D1C+b`-$1hB%aAX߇5g(~⇥rCy70|$= R`X8hP #?a ТuT W N ׇ,A./ϑb@ۢ(t j2AuPQWlU+ȱU--?T-T hd@O~Z[ O A zX㟪(aW?Pj~0d>~&M>k2(}U>u0Пj$MX(:D7O4 vONЁtvnl?Sa qO/ue _莇623@)F xflt 4Dy P;+2+2Kt!+c<\L6FQߥoc5dMQ3Ii@Vx80iF5b vJ)cuC)7DWn8aRrXAQ_*P /J2,jP A( %0*zOך?fHebCVd =֑0d!{/ =CuDkr|LGL/ |B,DJF-EryJRz%mn3Ӫkf2V{FAsa&SghH5,z|(hvh"Sz-aV]|~@*z䎒0Ȱ*H^ap9$ YN|wO͇/{A+4ܪ^c(AHLw0 JR'Vj3RX2 >1Y4Wx:{aQ 0mS%PO] 1[][-"))iIRZ(| {2zx!Ѕ,]ʋ!tRC lKX5 h\0}ɋ_H}: }o\Shϑ;uz GݪB$-Q@] U(^JGo'^ <wWd ݈3]06pϻ8zѡl &PЉDoJsFU9:ڔ*ɕa\F;t dAˣ&R`D#o qs/YLmϴGlÀu> i8g@^"_I섛x XݒB;u`A1 @!:Ay 1g!8;m!?mϣft>nGnmv z 8yFBK~mQ Hrz4x>hh>xPp BxzfdtN}5tgOp'z=EdE40dD :l#4h-1HwT4B0RitkޒŀcvmS=q04 ({zn D^+OWA90C;׸zat{A_%[c a#9ziAQޠItmv"_9:c3LUɲo:[ #DvԷѦKJ"䇮>dٖ 9FCTFdi>'f1L9xF;lCJ:cln"%d W~-QGh Y5~j=|I`[M,9Ř ($N!!&@V}(~7!Nncz5Yqd4P0v>DP І3uraw!(x]#FTu5E)4X A dh`(+PS fC|+7HH98Bv#_c#Dk(Yڦ[p W!UWBQ@s!eqdh(>حGxuG𓄆QTDRJ^ E~+ ($Ъ7mOW be`0",C!H֊QAR.+dpPPeu2sLCfȡZ,>.ԋ84Uqrku@WG9{RPQQ y{>L>CjcxdGydGh0aT! NPF!_*Zm8,58p<=JrwA!aMi!:9zK!*!Bهf> + w/V4#j4Ys<e FddCL|̨R; HC#)d-D`ACSь2EZء>dQ vh+4J}Dqf V0SB 0Fz'4ձyLC`Fj[/1]ekln`bL$MvE_Pzm%{D8 ,zb4:\m}>A7Q"bR!!Ic?g 5ЂEƘs ylZ`adjX{bmމ# J$F5Tb ༨ė!/a0>ׁƢcbKx?!e//=@ÇS̼ F#S'>1qS.ȽbiWX_"4gz(q"CE?3EaaaS:Mߙ;BwΖ^ y{aPp` :I\S%l= dpLSDx9N ""nuʦ?9t#D |=0gB!GI Oh1N.B~ˬeA+:?"0f1 h5ԱATp1 ddDjRAnt+Aqt$1uM5F獶űuNt%?Y8~n*C{d '*)(z(B4Ń-ΐ B4BnUB1n`d&#PpFhN?p~r(+H[30˂5A$br*$wPD1 ,sD н!`qe#ч/@n`-2p5Q( Z>+(堧7v*S0dekQx0s!Qn"7_&:Wz%HDL50qF Ä{7 EW'9EHn?!_De?jϲsуI?_!\A`7$":֌>7cApF9VN;pa`P9h&t8s+" dE{?Qr !\Aԇ o@=\ hV1I1C~EB;љD1TFcGk09E  26hV"5n0~4o#wvg0y{S"p8St~*h v)>\{Jˍ> g[y4|:$w !CD2QpDkp >M" " @&~CcSV)XX)\1 "ǘv"H> T]J4vJrViGO $ah5SR;{{ѽ;5ϓ.3 BFpo;F֢PKo.Wj Pn0$bTG++ݠvx;Q/ɕ@A DB%$P!jӂֳ4ہ2XaWhY;N-M.%,(>ZBßߔ-[`S?a١[X2i4ŻŃxe,x9?NAbGRJːlHW?E 'Q22!ZT! +N?"Au`%uMQy* fE}Pco $!oH?/sOjP #fR|MG 3 8C )(+d FVʫ&"vKx8U탥MT8gq4"pB'jr e 躥EOat& Vi0h%hʀ.b\謄\PXQ?A1Qqg2Xq=)-&JyhA#$Ki<Bx@ ‘S$1$hD>F)nr,)Olɘ_. eZyX3mwR9b PPlD4&dęJK/ 9W[VY6ZFQᔥ2@EN9YF|`RrCI4c dbS4~=-PrJ]=S7eaYy#[ȉeSHd\ 凡ߥA-*=$$д4 ՓDxd>,715 IC(u*C>58 60CAGк>zLߥ25QVۃRıJ)) JJ@!PM*@Uj()aF(*8/?0D@f|)Tȗyƈ0~æiΈ-qvfl k % DcPS]dђau[+ t&b4F׎Ae@xO[T¬-DW'̓A$H8|1bfAiwrkVk5ܒ ]>3P /|a فӀDy Rq-\h 4qL I YQjS+xuz)X^j/%S) Kbdɵ88nDY#dSRP Rrp ZM,{Zu.K<΃`3ҷR1!}>ʐ J{Y&E[LoQ2wN;M_P]}BJD52́ >lb} '14B(}N e< +8l:5u\CO ~7Q_= "blmא4D:P ;jU%"2׃, x#׿{z4KOG#*(+ 7?XGG??`5]Ωwx9FrXoXlm[~>y+wrwbdNK/B hnl,NF`;;v ;Z yAdQV!Ld[D]4n(C Hq.I0c_ Ƚ!)g0̠s#e.`p0Ul"py!,ƣtQƇ=?ub fG35ȡM tH:4՛AL]lhQ!hUQ(+Zxj)#L4~ɿ3c b3]m ]1 ~ nqRCV@= ]Tbƒнep ͝.o*(d!P/F.?DZ? 1aN:K,tz H--:FkIߙFI 3!QHA`C27o?sȪOFJr?F?(VZnA—j@*aqB,Gw$@xDTH[O@BJ~>..ʠkos8B]p,Mua8| /" sՇ8k@Y]`mz_$9P12pm$0 BIT%`!3$QPDixrl~FtFF#xJ 5ӺS/8:PXqD/$:p9Md#SHAs8oiG;D/tQIef'N8T3B7dO:ސ3 3l Ybae(#v堃kTX䆀dZ( Eѯb┷`^ciᰡo, ^cx  8pJ 3V3b2Դ'ZjG{$>25{$>2+2ס=RD-22=RBY,Y" ;߆r)ry|w[HFL *g.'G=<-tϰZ2tMEFtϰ,6{Rw]aY+v@nS9ّK}NQ>0WgxM5x6$9ZJ a܋뎆Z ; DnCU R?YdMO4t)x" k( ; 6X1Q!0Tt"&x u@z:0fCo! 3h#np72-VuY E7?$h1RJ!/ F٥G!Mbxah&z|8DLARTU~ͥf=5*oFxOvL{E=4}0,EgQ#zyt:v >ѫ҄<GήNk3F(ݬ z81T,Sa'a|(]BYZI!!ISy )`';n+ 3X>3 Q==#-/?$/$uFn4@ߣCUVJ"K HvEwUqlL!]kQ%JY `I{xK<@ʞ:mɡfRf%Jux+@Iݿ{i R`^< 2£l(ʔ|a( *)*Lx^/j7K7[[zdkas D~鳙$7 +Q_=[j)Nm%Nyfˆn ^]~qP>_̜cBE;'xO:'^ >s,V O;@i9b6Z@Y[5֪3iI]m|U[ [ o$l#8I^9$RD"ɁUrH9N9R!EEHQr(Cr"99HN8XT.$Es"ɑrH(Ή,Pz`qɑj(((lx$㄃yrrrph.*甃`a@A+Ap&qC;HNQQrQQ8?P-$儃/圢pQ o) 'J]@A+qp`6 `;HrNN88ZMNIttɁJ G], '0 B9툂!h"; H?P-&ȁCN0B:I8tp@СġCvv 66 VCA85|yIiMfq38b#KaϥMMZsˍWe6<;ŝ.?KþM][ Kr3}+~pjىāд]7ޑT ?EkA AI8c eel?0 >~9 UޗsxQ*.xϣT >ۮ:mCw/rjj-Ml:oo̩6'Odۀ!msvEneHrnVm+η\}n^T"^qy!_#cVv#zՃ7`ݕ{RT6D{{bJ;z2nZ/7N!/+_*0"g[ްa+8-4]Ӵw!\LhiMUIN;vyͳZd'x<=~%OУ1 LU ɱx%kڰ޷|=n|̳c>$j}>G9%8ޝ{ DV5>'N>u`Yn5Rx:3|[gC15։_do'or迴$-3JBo&'VQh$f;MX"bXmWy<\Wi7?Req[)?\yu b ~'w'$z/VTQ֎o\Vd noIj1'>aq{ӮwDSN^:=?j=̚#Hēl-]*{ɒUq6\+0̼")l=t)p*;?djȱi¼Zf12l 㝿7q\1Fc#X7V8Sݩ|/n=.PP-&m9Jve.5cu pF:aANMwń9RVkKfؕVi .~,np:;t ~&O&S'_6(KO]ZSJg;w|")'7o-\_Uyy{YEϟaTޗ6|hZIUV.j̎1w`rl_Igy =M>(ȉpD״a\S5KVhsDR7Lۇ<j嬗|seVU c릻)6o3m.7< ۬Xw{S7Ic[p1k}:j=pu -nP?#ˉOYޜ:w|mጳc6BVV^-o՜\" ٫U#sKS'|b޼7 Iki35-rx}J ԩ͕V6Eb%[]H:Īu;u`:b963tX֥;!&5fqh׉_EhѻV])e3t.&ܜc]uh) ^x*]R:=I/ʌ0W7̳΅{x}ǻ͠;ĚVL'xmEEyWo:C8̕J룿d'hlu8KK!惷6Xn\82x`f&#Y(g82?~\11e#prÇ[\ި(U~k֛9Er}{6CM=$'J˪>7 ksiUKYuKEM+5 ͝-]M]mݭ=흽]=}tuFvL/,lŔaZ[/&>AI9f暏I67ϧvzƳRy@MGN-H#Ӈx̰xޘq|>c<ǩԔo|Wgܼj可Ka׽oI~ۭĊ]&χ0-^}R l?)?߷0'pfrl%-;222]91fX+luw3"N9viwM֗xCF=+e䄵:RbcN{zݩ.[jDSv&m1xfϋ ]γ=9ϋ dX{4Y \oUtk|>rIm B4_!ϟVF( cW?ϟ>}ʕ+utt\]] ڽ{wD֣Gvpҥ7J{^X*#)\Wk?|.ʦO_~֎ή^w5tpsskK?>zI⥽"j??&qb}u6 {zd,Lk;,7k]ͼfLu*0YgV]wrnNn`P2Ӷ½b}ҝJر>Ӈȶ MIjerEж}sK&.}9s~+T}z.jǖ:y,T{ahF[vn=?~T/%ץN=HR/s݊#Rt61ڱ9Rlqd8ߧ?&KUK#%;@i+/b<<K֮缤<㎪$eɝs[KtK4: C_+I/}2>@N3u΁/>op&'fs7קw'!Z b+͂pAIR)FX?WMNi34|ªIgKV4VO~r!ӾML_lxi\XB[}3T3a_Jpr /_S']7w7Œg3WO"%;ܜ;~,re҂IMLs4Wڞ/~?+Ca'-1%Lo#K:0>hֶ/QĵQv/>?22o_sMv[5_WK0g'w{5ʒ'Knx/BP^^qsyeܺ,WA{0fk({ԍ]4Vܹv,7' q#/ 6<ϣ^/Xuܹg 'jA٥:m6{jzI{wu{qMO6d3ⱝƻ{*;*C&SAnIE֥Ĭ=yeYGWRkZx̡ׅ294ӇϕD69YeºGawg8h}xUb4Tw3E\oVg6{o-|}WؔɡWz7Ư];o3gw霐>yۥ=g\fղ?.A ~C&9D\1Ԧ|qWIt|6&뒞q yO|MWi]qQWS3t8q:H4Jco;FO>}:״yf K/@nBIy-KU 8D x,[inq<uNҕk/gI,r/􃲻O&l?~ BNaUǯY]5ԣn?dm _XXN$Fn!|/gF~bOeO~pz4 IZBj6yzuqs,`Mѕ7<^ܴ9ύ4Rg+}Eܷ&()g!V>-W:.p_|5cE}2L:Xji>`횁0]iCmƖ fE]{JI#umݟ.>ܺ1}CBwʄ׾oy4YhY咒>3&<8V.qC!-{Z/ ZJJ,cfnRi{em1U#4>9vxѫ9=BW3-m5ʜKlXKnKg^HXզFϟzSIfTW进F@5T$8JzGU_oxw+Ěgfo^h<[ܟQ,L}ik?v~"囯v_Uxpw_$| uA}ջA\C\^b*!)E;pߊ_u#+ih=E6ox5BuYYy-}`ޭU$dMb ǙH ڟi"|;q7LV)>"뛟ŵS5 c=Vgx5X*kQ{Tx`pf+gkN QR{+E'k& O|lkk_w4QӢR3NnE{;w&e_v]dؚZ~$حfbO:`_nyR@-nHΗ|^zYֹX%)2JW?)+3 =7ү@\=1W N>ԼX7늊 Կ+i|Y#Ó޽omQ<ojnnniy{vvQ>H}U>q#d`goī$;D}qwjRH})x&rfmRU˿ļžEIs/ߏҩ\sAh!jYiޓSFsz/f5ڄĕlڢgn%7?o咑 Q\3mO9>*岸t?<;)t'f gVgb|f !ȼˍPQgNn?=RF| U[V  z*\/@BтMU5Ղڽβοlb}>Jnݫ)k{ZnE%;ytx~Y;*38 `o-{'nvfe(ޔo]wKێհoA"DQoIO=_LBEDHIYZkiiXwd,J s_@Olx"w+`kSٱc7>w1%%;O<x/P[[ ]d;_LJi,?x0i>W׽ &eh![9H^-u|0)VーG7GFq#V2<$>˱u{_G:B8vUuJ⥚VBMlM9ؼlž_Q%v6~Q!L[f_tV5cުv&\!YyW}*Qz%ﹽtt}o-Kmak=2>Pb@8wmQCߙy+V\dM}2j3~N6ͥ+>FqTOɹ$ 7 n|ŭ F6dIι'aR"i)Q7T5 N?$_F_e /BlWhh;r40`ۗOž*+0[eջsaqq4>@ꁄ/5^d|8n Lk!|[]؃?륒8vGѤ%g_a2Φ7^񚳃XM^yI^R+a6w+nryXdžEă?PBmZo> â綅05׹5?8fz*C3ކ=ل&]AM1Odg!aϔ.q3_1I-mZqoP(l*$@;5qNo?1-9dv!$~7/BnѩGV߱㥹sCяctr^fړWHbv/Mao[_։?`hvM\}_JߦxI7 oFߧ_q߿~40yhp]T~~cU5eN~}ies)8Y}ۯE>{ wo/]'_/T]X=9ok*ٻc¸q{?S@7P!g WW23/$Π v<ΧZ_:N6ѲMC|kGNTIcM_w^]О;c弆qBG ]o0)NiKm\ve[ޫ_9ӽEj0q=Ig<>S;{sdmwucbz%]IReͨNZ;+m>&RͲqlA%3?_?WӨng@ʀ/_'pA)50돵Xg󿴪kԨΝQA{sy~Lq$=&=vI.ȓ.ֲ>ܼ@6MΩCig-/_3\~b9˞Y]loujIa=q H^q)\RD5:MЛXֹYM[vߣu d.+?sE;ۉs%Or^kgɓز;ṷ+n_N4*}β$'^.ޱ(0ovu9EF.7u$49hȊ1s+׿<9ܨo_YVT`ӦMnnnFFGs<;!9%0X :57\|^Ӏ#:g@5w潧g.3OP"!`*aH=޼}7cV@FԟRՒ*: $E<ء{`aHټ%ޫg֗:l~$~-/سb><؉A;">B:&tv쏿=}sߝ~lRac݂㻶']/ϻxujI#[9o] Ӹght֡׈ژ7d}ٹ0rI~ߩWw1 &Z>WE%Ÿ&`b3fo~-^lk:T^6ٙch uB؀hU6weg^ȳ7О=W$eaB;rJ}??Qo_pQrg5DP b|1*b>k;1{X/G_7GΆ!5(y:*#'[f4{g3tM~IKJN7Ҿf-M|%Zm(4jVoR?fՔp"r}N`~1U{_%_ӔYk$U Z{,J~sK-А `wRc7zڒ<,)ZwQzmZ^oHY>Lc=]zu~ʺ2'>=~v?I}0`2Iw4~F_M?0znm?I+ɏw_߻woD3ݛj\FonN GxǼrO8/g[ؒ${.7ۊӸu_a q\;eL.NZ[5DWˌDzha4b,U۴e-tfYb=ϼkE%>}U9*C- ? ǟSl*7uGfҼcUag I+rINJ%lyp7GZ)Mk䐘K7ʛ-h]3ts{I..Mb5Iӱ3gya|ϞT8/-zgCׯ8qXAQul݉ajSD82*Tv;[)yR7 O[V b2R ǧ癥y_5pGe21b\ +#qh)cHѧHyHSC +sJTִ6H4远QsV&%;ߌeۗ_7QV\xRgbc'JYNuuHZ{G(hZ~]}6Rt5h!{ĦG"^m{YK8 }+5}D^#)l<%¢p 84,[fmOՂuUR[d'L?l2k//K Qf~oC迢h翑~o \m=%dU5 psoکg⁞Ck{d8Ԯ__I?תoN"E1hb2RWCi×򯵀ãpwD!g3nFk)e3՚Y6gewj! TU,_ծVQY$@a"akϭ݁U^cڈMFMjW1靆eg<7;Z:&LSS$!S<λOM,˜g]=%#'-x$=7MޙI$[bڦ Ε³3|^ubd披n\& &1Tq&PɄ,>[ŏvDs$ml/L2qUG)jc*U1*Ζ>~q7j~4TA=tCmǭW/zW9{ԩMO{ڗkn/ 1m3L)/$;zo&sMq8&&>OJʾyij꫌799jkۋ >nl𡢥ckM:ϋRrr^͔WW:Y\hRܵ ֹ *ZU*rawe}mGTkZvIoy+s7/m;7.s4Ny1,y E˜^N.cƩ]lR8Y/Y[*NqU[w|d\[Uw2k{I=- mXz֛ovYs[!U=IuC2Ib/tuj7>mv{ɦOczZ&p#DCKK K%n Q;-5)#Aaf'J7mzз911hϻc^~$~&=-#.8sR{wkgos{wCKG]S۽iw=HsFk7\O|F qW e>5 ?|\ZTBSFJJ"i%CIw"Ǝ{4)9R8j ۢB@ȡC@'dg楇y )^vU c9/;9@"{^+ڑ=5-ɯYaYi^<$3N66'6ْsNny/`wkŚ-Wi\ٮkei"AZyƏԌ]tˬ򎨗!a#ҪnBX$ mi>&_Flⴴ"8m~ t-Wv5닷UX[۹&y;4[*:%b)AƐ$gًպSDO Tşxyܾ;_(|81NXNpǟFjɾtCrKY欘bӫ"xOʂs P˯59DPRb:W{#⑴ϣZƉl ڒpo9[ &tMH\>^z0ExV˧Eިt?x~~ъ"8 .vαWOI *QQ\Qֈ{^mqRg v]p9qѭ~+5 L h󿃻te}B3[|LJ={E#Dk61qg:\,6uxfILa#[o g&ǁR-  < ʗO8m S[7?]jCB4ƟkjZٛ&ԍ;^%4ks [o[S`lu} K7ү3 %zVVn]D{{MBo߽w9r2**鳀9s+/_xfҝ;RSjge|2|W_]zj jZ/YWFu+0: _MOO[h*//MJ=~5ϻWlai7"N\s-bEٸxqrq}ta{Hve7+/6~~7@͘Mw|ۘ:] 2kґQL9ׁ3ުm96)!4cSIsaFOU^fe2ՠMVRlnsjC|G)tubo6F W[=5EdOCFױVLX 2O+ Qʉ9wwVf5LcA;Ÿ`K#v7i,/' +qܒ a~T;3d\~?_;KeDzҪJ:N4mѾٸ{ԝt'aSY*&zlv%ۯV|=SIu7c"o.2"{@=+Λ=(< ]wivT2e "woδRkRt@ z5coxן_``4HlKE( }U7)wr\5TY)Y>c[.ɫ5eLrZuq m[ptVba͛r)}J:: әzVK.Q/}2[獀tV8/iJBZ|ݩa=eµΧ4nٲ290y$i|rLOГJ>V4aF?9~{ix@E4?5?iQ7(7>s商$ß?>(<N h`eM+9aXYYo~6) o3 zΔ{4X ;ߜ7CTiM>{ewu.]G63yLj8-x8ؕ6RR$)MWv写*vϹıhǕKu?w~u'<֧"}ɴiz' (;\8k\}Z=f&^r*? Z>׼U|FU[Jx6}Fҩdm&]"; 3r8|&+cc]wܮ;?hF(KΉ}ƴ9u1s,z [#.GoRbYDQ_~;_V!E#g . *b&s"$#g<-> 'W"7%Isd)*96&޽wo>ONx,2씤Wo._H-t&)FWSs=Odf4o߬،kw?47)=JjV{beoM:qi b5wN8>Ӽԇ/vr-\47tǻ*$M#V5[4jzVom#se׽WJ?5ڝ8{vy՚) ,H@l2_/440_?O-*k&,R2£ fv󒄰O"VdOyyX&-Yr=::#ɮ, 3Zv֡CK`7˿ytteMyߩZ6XtvXo$ RI1kͻV/LJ:W;5Qbߕ"~ tc {:\2K|}7 X$՜yi=}CŎ37ݹGu,a횹iQVk2x iKzQү@rtQ6(~bRf ۖj,I͞0.DУH߻&!4 L-OFn0i> UFng68!D*NRn_0}ǤuRZfVTk} w߾բ!.󍊢CJ;Kc-.u[uYN[C~ &ܵٝ*?hÔ3lT lkV52mԫp]ܲbu#^ 2!WY"ۯ]DHט؅I_fk3 I)2ZlBq7㾲ڗm!z$PK\6'di0Qc27dWݴR翁#qOWnx1S*'%J 08/ז] j- A6l\J%fƇYއ37ߧ^*0JE_PPqSwٳ'"b': Ξv[߿~#9枤w>M(h1`/^<~^͛O>_ YCiCֻO__T˿ִttAϯ2ss{F')Yi%[_.^t2IL,c;f<1o9ώ'ߏw=q?~E@FYM0޽my)K} 05*ҹ9W3u\sc=iǜ77/謝s,&!,-2?Z&v)|mZ+\| ˭!s#g Iޒ{{0[OKys_tCx'nw .X1ٺ&sYջ83w2ʖdws #7zo_WSQbƷu\npYka {дql'(,iwnx#KN_s;(O+| ox̦;Q oilh,8<0,}{aq#P5!69.{pD\3_4ǚU+ɹ(qa]ɤM[W{UN|ww2ggԽ"&L%%U~rOw}λР\U0Ǘ2Sc<Aknpj;SL{u Ki;wLB .X.[:qGk={ҿ ]Z͖}ˢ׶[ݢlܪMr_@k`*}}S>\0" 8㏹Olb_N:GijAAkkC{}bm)(ʒG+OBj="̥H8+ $ WE풑:.09'ٓ&|o"c:簵&(41qqj>)'UyA%zȃz'F^d0OK׀oԧ./bZ[dxlƻq$U tI\+R_̧:>US7V'w;ۣ/8rCmgnbS /3#>6Gm/scE1]:K$qL zͫ]RD?W5Weވܜ>3.y=jVS.HDS8ކ=M2w͖.x;n^[RO.W?6nƋ!gwnuдb5m%Fl}Os0T+W?BdH{t}bG89J)NxO2蜽~uWK <~;'*t6V@k`<,7jR҇^sm?tѪ].]T;pëUT іtgWi߾n9曷xݻ{gbU-3ľ|| y. bxgxBlL[|ٱ7oy|hvmk\ŧ=^z,eב]+vԴ0ODʻksO;XUb\{k'>Z׾Q?DeѶ|W\}j`bj# Ӻi :8.|VR 0iIMXGoiδ.oQ~T}i&/0N۽=6M ]R>OW4M@TyxuN?zrYF]m?GJrCh翑~p%&­ޗlW:YpQȴm3f`{&jxGe?{ xQE=B L>ރQ޾ή毀4IX!am$sEēאHSǰ komO9,3}^<kl5&)<6Nu_P˗7]YpA'?j2 ƥ/ ώdZ;~kC'1P7 :JTQ~d38٧c·pnI;Ϭ^ֱ,R!LҩY,gZt?4Ԉ4a`òغϦ1)(԰[$m]tHu9jg{ }[x *)(~e+Hx9ZfCF[Y#w߾|P씘WYU7/e7? [:P,CsscYuK]Sgk{7_REJȇFX;7|C◻jmʼn6K%-8%/q3h#קIeKxeY͝Mo,&5gh5)84ڥV"Öm4W+2]O7(Õ 7I-۴w+޲PTHzvk݉ob[2sx^C'%?2Hz#o_ʣS%-5c7KslYѣwl̴'}/ h'&<<_ޛtSfOeE/:4i .Fˆ={H1~|Se$Z)J1_o_'m]冃Faw_; 'Ŝ:p`O)W2h pҪ V|my7wP~#z;8E}3zh/B*UYbN=qΪfmg5ݛ4 aٳξtK/D6X~VaOҺJLQ*+6=Uع-o7V䪮kl{){5#Q'/wG hTydAqn5beN1d~_Y;hO5űax鮆,>f8mYc(ע"^Sc3&n+=4vAւE33dS{Ę ?ЩZg7N2~iKq%OY΅ޝu|3˙{%2J?G+erFeW^ۘdaKҙVQ/.^y#yPKB_]/z=ً(?_p̽{U5tnV/o. _uC[Z+O8"|-Yʥ&Qvy+4#GCy*NL6I;i:%Ϝ+YqwsOz=`XR,3+Ǖ{J_};KD3k_#V%x\k/f]D}ҹהud]%}ci[ɮKpI54+gƦݐ3e˟Зrm܊̏-m%M%_XN|:[VKſ16ͯTm;C>4hk},k=iŘ.jZ[ıH *:NV;ۇS&qn 5,MyTkex",vfHH~5Elñrƒp-N\[[’ThZAYJe~0[LGWTN?~2/d 2>7okS:umz}6]RHMZO}ϝ 1FID}?CG?+ ^ oN.j K}Qq=v \[YV;O ) 7w0⿝^Sv^4E3NHrev"ƨI,) M]asQmeKݾTO GZTМJϴU.wf;$U% x`0üٝǽ VĈULZ*GqnXsKFr^䩨] L6f'>ΚbU1C/}ʜkuϳdo4e۸*"I/?Z^kzp,Ǔ jG/5]ܖt"[y).bōg\J9۟W8˘3m%xĔ Y"ﲸQn2?S{['ɓm߲ݎUqs͌`mﰇm%FtGF`&jK9cZ!Z.C ؗDHRx~bdk[6dzzy9U?5vWp;?Zw|LjMhP G.7Qν=&~ P+8)KEo@+(waƱG>DRY2KvOR۔+n-gK_Vgq3c ǀSfU]uF1˿q;\;傒O#RD|>?vnw<*ʯ]>]1܇ǜĥ.8ji{&s+EDzD,{g2-+fݶ]֐kc<ӌcc!S; ?xeB=mZد<\qH|?2>'102/_)׋]edyyks5>_ͮJkE]nD^,:Ȯg];j_}HjKJ")nV'v}뫗P[+f렞 kx}_a[PwäyŸ#eNsaCMw"rb϶~ 7\6.W&qyAN׮aW9xU,>=.7;}çOn]/B"'pO|YԤֆEj]z9/FnK6;,95j[Vi2Gn](sCẒi l=j \~TwL5]Q6mlYrWxzY9f="C<e^0?H+Wk&z_eqsnsGǾ`Lo+OL_A^ ~n8xZKx ̹S1Qw:xsitޡܾk@*(?ͭ-EHY@T {Eobs6pˆwn,$3?vIwvT̖>;ܚKKڰU$qm6:^;LƥEZ{"_xȍFM;ZT)?=aY>5N:Ďy}eo@o 7ի_%HSRԥYxy-VY8GIlU%bs ud.&;}Mb[4_Ybt{jՋW _LJ-vUQZ- L6ұxΣ'\")j`лՅ58U1gefkڮQ"|!ΊhnedQϲNoLFf2 4JG(MO:OaFHBٹ'E?Z;d$_==OofA0NYͣ`@?Y㖤BnXwap-Ђv:Zǥ<N-~o'!E)l6ᄂ2\QcU'27)F39-5hi5ArL&:H>yѮ7L :!XYj츥FBqA@òTʹ Ƽjj+\UP_.VB]1?O~*8rm(sNkāW&1zKԻ"Vw9cȼj:=mpA?%p8!_"%-<:9+y"xYvsn BWF?n##Lw3-WƾAt[/SXo!_먇ʵ_ßgo|N毭O]./o\τӓÃ-NI+mgvӣ96z^.:G4-Igy.4ضjJê(~5Or7V l>"SOSU' 3LOX<,0#.XlмieJ%zr2Q4 zNIDhSOt^֥ t=tʶ|E aK >Kd QkT-nj RF BHj q: i%\F7Iʤ99QMӗ5ͨiG HQSž\Yy^4Rii0@ǹZ/T{X}7 -~?3-G@BO&Nvm:ڢ"F8!Lpۡ.;c=km)񷆟/wzG6?2'{;EMf_ .w |(>2O] >n֊"E#4զ0"^{s~LzO1s?~TSiMHJIOY,]+Q:DDFGp 09+翮23Ig[+`Z;Vn>Iob…2å_eٔh2]EgEχ z[S{>Hocߚ{~:?>>yֵ;,2xme/|:87U4QhW+ף\i4ٴFSM].9i0oǚDAoy]2{yr"h-ʣ1e1CdB1Q}&€a=@XQ὇7eZc: "6`:oL.ާH| ;렾Ңk5 "L7*.n2mS.h.9p;6k#q߂ڇ4sLz rL&jTKEd ]ޘm\ ;V6bafD=T> ´FHq[pb}!9$:P!:j ؙ 6nACהCZN4ش; j|MLw>iaW&ƭ, p u%pugwW/}i̷~n[od?I6?O>[DPI|W$bH/Lh)l60>fii9nz9kf$ka`aP1dSħu}v$6CWRk*Pc.&>f*AWhlxym>`1 6wln}B4 Xqg׫>r. ##}džk淴,j_U/70edx?w. fE&!;7dTl nݓF1mjy~ l[;ƛ6#OVrk(q 8WpFCh*p棈U=zsv'Rdqs<2#G1:lɪz~ س]abX9qEŅ>pM@Q$ w˾;eE}?2R>dϦ}[z@]O 2)8!b̬ҷj` f\ġ䚠>}|oP&՜"]P]#mP\>1][sb< YidF^Y!$fy2W|)(vYjWޮ*[1e3,pߪm٪cZ$!^R.b +Ssywk'/o o?I-{7aqo?Sk2{KȚ)1w2 ˼&{dۤ9eaEӚVʆJzVo헩nMcs[#s 'c;Gk7.n_n_A7)_K^g*jibhϺͿo,e= z,9welb<|{]']^U.+$"M7(E)Tw[d%T&XM߱&Y7XCYb䁐V谽^,f>ZyL6Bx o\hģ;h y:yG@:D[ :"vrG ycNΫ:P@J5\ܺ"0aJYzRn{g@Sr$0+NƑ?1<@Uz#vp &D]GXsld@H !f"s c-ska$n8^IK7Fzz1ieF?Og_>B??x c1Jx@/ |m\^[ *yPbiAqBrxSk-_e# mbzzffEe’Ā֛JAs˵e|XoӡONOfЩX;ף2C\L1žtd'c~zM5XG sΚؔ8g5mI s|;)DYZ&6lhl R2S_z ӊDVKa׭=~/ʘ$Om3e`wda7}{w*4}*0%Pi9p+ z lXNkd]7!h"C]#\a7p׻|)@r+yc16ޙ{ +Apphץˑ UZ+Lr鱮`a0izXZ{(#h yݽW*!ԇ{$])Fd5ڞ!𩅍X ⶻR/ɿt3`^|fNc# |99GK"Ǯ0hߊżyMqsR1l7Li?l ßзl6`@T]^bRۅreg[@-|YD/__vhPX: >+ht>Nmñ nDѨD9"{; KjH7Nޣyřdpo`e)m4=BL9zLxwsXd1-y "t2FRҁGDң.mp&&Hm}8O>5\w+K~#Y[CZ_&Z3T~+yaQ-"2^Hj'SK gW<Ւ*e`ҥt-pԁCXtބ&F&0Q]PaS+SGD =AC[ﶃ#AC<>uؚt}# '1mDi8;g{V) M;7>OA€ceQOi…5$UP=ѷr-H!%^4۾LͶ31ӫ:5T)|H~ƽ)f:;!Dev5q ܑQYmuሡsGͫ )RΛw-1y CxȐX:M^HIn4C{FO֩r'2%I=֩ᄒt de}6+Qvbio%Qh0[P=u-bR,y\\[v-^Qz‰"&hvfF8,ݨJ9CQ'Sa=62 ϯ4*Es@ɧ/pd%  m a40sc> F x0gH<.n: vUH߮3<a_c53_P"QWߡ_cb& f_KWP`H{xoZgLln;M?=:Zxc[c/I@Iϐq `2x%VeR3T =G32 hK]Ѐ~֧ dpX]wdt=O &Uso4ԫM򜥅ۋՓfuӺ=%xcЭ( LlXd7G'׬Rt}Ryi;f ffGXȮNfÀDgkcB[#G;-T .TcP{9-2gߑ-oxWDZ klǐc\ITu81Q>Ј'p$ h<t,MPֲ9o":%:d H6kƞL`Cٿ"Yk4}f$>4'C̚Gv\RN1/Xe < .͹63ccLfUNt/mDvMrܿjn7(3[uזd9 5j_1J>  x%R)BDƙsGB~~%5;7X{|M("u'܋Kv83wIxA:Pr>II-wö>r]5dOV07`"]6|؂ɛeSV!xcU&{ o(0y?_gяh&8/4s e]4 G6׼Mw蓛B%gfZQU7ƭ1AYq|+:k]Y-2{:cT4*Ta^I8b}*oUa7HfGwuU?Pnz,)_n|4O+jt dshp &*x.r,.smg`O)v(Tkv;nr>(UC/"RWK.Cئ.{\0sXTdz\ݲGoޜ[?=?A?:LȼԑtWqr |egXbRߦf_?1IEuMY=coj}Z,?Ǭo+_i DVd$H*G(ҫF9r9>!-$Cv|@AZ+!E'лN g*y%zOL+#T1!{V}沭v?DuI7?򍅳4Eb)G 2˰u\Ya`&ڱ&7/L'RY s-C.z;jGio1aeS ,nxv )!@y2:7Ӌn"G҃FuaW-C9@[|4ORX91?J)wyW+ ΓJ]gV:A v֟_<,}׻ P=&}3];.<3A2yz>{U,thE nqi$sS-?a`h`("%(όz|ibQ/$*"no푲WQb`R׀&`a prJ7sm vaEW]{K?_abE>|o3r!xJFxh1_]9=ﶭ lYM1zTHP%j\ Ee(>o+V?\э[2 KH̨SyOa BN'EBRb>7O)_c/\ :!.I[JU B&T{f0!ȼ=TQ@ ЉF4U;N0`7lM8Upu]]u#b7JNLx㮲9#uUΝ 5SWI451"u54ӡ^>7oOOG3'[|:^)ϔ4%lo$"=?E 8G4/,,,]ãcQSPXZ^}vTRzoH{R`on9Yo͝,&w_r2/dfdj^/,3}oPB]0,SC!{ *njK1UJyJ!⾗We*]$(үP0yl\%42rBRwej^JA-LX"Z~chG.Pzb/F!pJG Ўm=$[ZX2yfӫ4Ɉ0{ah:żGcj]BLy ƪq#oҁ `?ݗ]15CIy/WGFLsM_Ao.HjdX;lQtwS%;}aR$* =GOHꮧoȇFōvBxMJp9^Ѡó]R*3&q%b ExY[]96}o mw fܡ#O"|so]o_$g?m[-2o9 pπаwiQK 3*K|74uCwѩXВU[@](y /(%TQa@]s$W`(tb ׄ Lh;BkvR T&keez")a)GBصzFuN^j8:l,l2ګC_wa~`Pl.Q\ߞ4E;l36?>ve_QxT:tO5 Q-{ر+'M83rxBmҊ]qgc6;Щ r 2zl9Khs2a-(BS1x>`+%}_ɓ{Սy4ڠO7?zhR?r튆R@yQJVGCםx77t1f(ffo&p(-'1`9knB*ke.0A:}MB'!VChz +2ERylT8RIՕItQ5WQ nkaٍozY)qp L|k^*oqMb52дi8ƛ^KnP#`|ubeF}|d$e6Ƿ=tyY~F>/?*)s[7oMnc<骺'% .zYSeo_U׵g $%q3}{׋? Yb?+0=H!)0BÉ.zV+|O%ª5#l@,nRY;}gu eW{ujt3gWs nN U :?d_7 9 p+[xFsDF}xt\ػ?1+@X_[Ӫ˻'35O^pi+o/"aAG1Ң5sC_sFW$mF} p)@ ?S!(B[u~qn+&wIT{d@G "꾖+O}1ɨJΗvldlJ3AjZ(qN3j}6j8`j[J>AqtnB[ K /RI|(&NNi]v&1. =vn$o@r$\B7D gyXXdxNuGaMKyVDg;b؉7F+DG8e,ԧ 9³jEtR_Qu|~0kQŸ`޺swvVa32Uoi@ Z6Th<š_ev+yqÜx:F#ʻc4rǂ\NjKNP7'n COKw[nҺxZAsVqҶύ:M=-}Km+ëw]{`rcxzspjsdfk|n{tvkb~gjqwn͆ݣO7OώNONO.//.-w*#_?UK 2jCLyp^>n"OHx u]`CD1w&uow[Uf¾Ϸ :)Ϲ/<NE| z\[ Ɠ} {U{Z'onCr4{00h#HuR6ĕZNj\ Jr =lchd4L)l 5Ƞ+@@ '1p@NvtȌ+l `mm;0Ex*[8rZ:m>rx{AT9;CczD\bp6}?7Z-Ϧ;9ꥣ?ء_/U:\SӿYW1WP]Z}]Ս=#-;7a:guvz r~~qmGccR/|t@ dF!d'#Dz)?)Z2UtlN`g\i.Yf;hu|ƣ/ Px{*bXT韑~ȅ|_/S8$&6R ΍N, eLnQ!t&?tIIn×u @`+"IU0򇰶>sv@6Z< u3Pji #*0rZp癛ր ii|,{."*߽a/Ewa"/ApYG8tV{zg$n.6}1}9u.\Xr]{TƈF`!^ ߜ[G[V=oD}zIS"viEk2({ѩir1De=z]aUȫ**P2s_mo^t#d4dV~~e]Z\G)]Wo<ʅBBuEUo1Y tJہ+,&8Z v1UމmM\%Xdy)>Tbj2Tb@EsY?!9G_]Uiߺ.EyiSzޗ|[涮?t2{խ_^]^_O/on?c(2HT jʭ.UyiyvQ8<DmZOi~&^4d!`өi {k9)*֟1ዙ\Un2:>T%g}|L>c?tZp1KIJ,TEhxgO,4`ا &h\M( !7lf θ%/I ˥D Lׄ/fipe0V/^ JyK&8@q0YϜ xQPRst|>*R <jp@9\7֙.O1px T!irvW&@ j!= bs?A98࿹3t1x } q؟IKK][+xR6n%e}ms: Ӳ*ܲ]ik۟-}f/{'wV]`+/C |O_]M{@1}+Xm#m+aPmyu ?SE4 S m{2E"=Nb3!;2,M˺V~ \`}Sd@j;0t^o25C^R'C6hyk Vn԰ &ht IOf+22BbWEjA~̊2.#mYU9Q9%;ǗQi^ EI"gƬ?>7xOh0zJn_zA5V"<.A0?WJ8$1̹>Nl(ZfkeSb[@~Iյet?q =L<_/i8ko6gmk =z;oc 6*OJԓʨ#dž 8vdD[8走k.^pm'gg. + g.)S-ؚ'yzڒȻ#)IlfeLA<0՗ ^)e3q"EL i'{ VO֒G&FO*y 1P0@nb~ʻT1I9tRAZ2~|8=Fzj]֩yWӠ /`T+3:Q4WpZţEñy$PO! pˆZtrD\߼47rK}>AtqCc󞪁M¹r2t>=jmbQd f#SݴKž!/QKZیX37]7a ߟoM @ypsk9Ku?6{:13p:;inѧOGg'?/nlA&+;Zp>O 7׻ R~MPn캼%Ti۲R&|ܠi{dWѾY;MB" TP]Ĥy5빽}32D_R'Njx-m /Q:|p1,hA|wcM 'w͛ "hnR'uzS#:l4O~Xb(s  4je9M a4,2Z.9p+~%Q";3sK _@?o}KojpmCHk  3Psh%,%641?ӊ4 Y?dklݞS룿9|znb o4 ~%|f !; 2wFs8G6{|8ocE{ڒnVWsa55zUG.+,qS΀0aΩZɲ;O|,tz]B@M#/>}&k;MufjL e"W˲lyԯsqvwרr2]!.-{Tww6eGg p#Uy5A=m@:Rgw6* LN> qvw(jfdR a|XV| o/] 18>A=~W z€nra&@@}$դAC5`$3NC@MQii{ÕQsOCEF0GJWwgdp?LuPMލ9ϱ~#?lvq-chA?eg ~3;^ta5 ɐ9xKv1>Sw}dFfb.3RY˟)d?PÿVo۾ݍb#Yi֟'z%H3rUiiI+epppTt523 +**SRJ{Cη}6{r\A[[[_tR/hqiavgCCA0(M_a5p@W8HߑV^ٓhZcvnmos<:|jW#d,\SjgmlQmj=ɩZF5}|ԞK !!0AF8ONo^\\UIzrWW(EIpUw{OšJj]{x(bb\9AhzqxLG>!s (>+3%Wق =nx֖,?"zd%vP]; :z{hcګŚĸDXZJEr =&-#(a56 j-;&E3 _35H\$`C( Wu)kCxo?_igdз>hn%A&^!0Cy !gy=&e+mgt]gzLp /uhd#th9emI-n5yM_!¿y &<1[ gFsbIaĦ} }z S)+irX݂s,H,"1%t:֋(ctɦ0ӉO$H mn 䯤T\5M|TV"|)X]' cXlZ!O<ܨQh*,PAW }\qy&x k"YZA#;h!a ;re"I~5҄G {`2VG {[Gr8?YsO H9"TA,Ԝ<дk<)~X Xs]hnܖ/53UG 5q3MvS30B &Z7gn0_p@A@į!S",'s3k~ evoswyRͽK;V'g?-\" otWOޖ$/şh՟\l%9]$PxOoXOQu9Bǻ#a^;B+Ņ.4E5B0 ©gvG)F9gz ?DC&6c ,oz*~ qʩ~NLIF9pB ֙+рLf is V3R:"2.ݦYx8[y Tf:ti硖ԫxOYl،z hko^}ռ_k Q1>qӿ% ~XOLw3t[W?L0!Q=E`ВƁemMiyR'/)L"TU1+dQ? 76̬h߼ݐ9˒ɟ̓w-Lwވ_?!릮`־QRE"MǗb#fQZ;Vw`lAZ2jgld2#՗1(TC Ee>N|?<iH:? 41 -sv-0 k'dƝ.Ȕa~Ґdإ Za+GܭS**mEDI֓1T&dt2uBm MWlh"|.v(uJ{`szCCUJ/ΒS/4|GfB!ĸkLej+*"pPk KlBWS`?9v8ٜzUpq c}5! ܺ??t/*3ݻP°RRІtd2Ol/aicݍm(z;ڼ\/_s?B,-bKVWW޾7uAϫݘϾ#Ok>R|VE*_fяBFD.$ӓڝ*;Sccqp-~a}l#H-ΐ+-E.{۵vbSI> 2BC s °mNqUGA]=!{k[_KF 4@lw9TV¦~oG IE06 &ŒthlTr d$j̠m\֓lB>[/_P @ .KMM%kcț؇1)ċ@Oܨ`u~Qo"6OI@?+Ԕ[12v t.22<:_ZAyfKzspnqdmg[M"w/~{n.ެz_{ k7|׶W6O7;_nS?"@?0`ٝWW }oKM4+Jc ?~ g t7WPLv@_2;bCY5t=8eȪYP&yos }q y,TnȠ2`r^k%j)b,AjZjesqi6荦7~& 1shRMT|d|xc%g?;Bΐ(,rՖ? ҟM7wn(,UF!rCM隔BՕB˴O2BQs)8O̝p?Dm>';ـɬhLfQ? 5Qd>դ`~8wf:+BM~-Q[DjiBՓ:w cpMFKx B݃^q/6b 'eRU)BĸwK}PXd޼!Ѯ4f%U\ Y !qMKUݛsjnNhMBn2x20Gcx혞Щywx*]^D/ nky]Qs#TSnꢁ8_Di99\]ˬ*+aAo5 @uEˉylT}?uZzc``ܻwNOKK&yfeUVV~##bb޽˻F& &76#Ŏ`qjq:^}k  x,/YԇPYa;lTp)};k{ i[]Sm*>EXui=1=-W [[&w-f0 zvk[Wp$ЪZ {kHgM;S0>_t{Β`x%;ά`#uԱT!E>;hmB jp㣷yՃTB(bc]b^GԒ:_epD}ӛd_Sq%(jIQ4fBcz\14f#ft`>*47P}gcRd)]&??퟼\K򂼱ކRɊ;@g`/tW%L 잂⬉ؘҏYKUZ>uahd,/*_l/?0x?$f]RvYF,nU vP=<';M厷MiM仼Y0TP}u ~T -h?}rȵs ,ҝ"@@[9Ch+U }[sQ*0ejΝ+c~ab; `ef-fyυ7 A7cW4S^#/Z4 B?Q*ًWW2qsU&~ݥB›PޔeZʜ+<%UŧWDOX?@Kl 8|86S7\D`u91 }M$RFp9́5+}?-XOn??C Auu+Z'WrMo^3c[[]4[vH[wh-H¿aΑF[u O0\Ҋg]&N!DAcpM;{.?-W]4V4QQdޣwdTBȳ%TtY7sؐ@$i 1(^ubxͶ! Kh?ˤqBotuHsdt $DWYY8N/%ﳜ4Ļ 5a8r[bBaTpVK͕xw2)*aiUVYK=|҄JwAȑ00+ UP ]A!bF&(4XA-_-*/NY^ǰcxI%=1jS+ҤPhָCA n^DMk-%ix/@\Mdb\D}_p ;>D(JLjWtt{|HG$"%*3ejlAW#nؑN%0֮*9FFvcx՚GTh9V_m3v]I+hX!:D눳seUE3y=*ZWuGK;Ž "̶<p!dڃa9Qc'KOt5gAN8KP'79\ܰ) e7HA&o\o 7V=\G`(.S07v *,$-F))Ip2GPɶGiVX{w?;/q%bMh ay `zU6"gQNvPX ْ%~[з! `aPPP011޽Kt>9V6vO?nddtm K['u.'oDD5SߗVWW22:~m5m-}KÿE8i-ֈ/yUj 7I Pch2L .K0NEZލ80.[] 6wz*^9.ᙀ"acz%128/κ>єZcOL'+UU$POZۮ " >c_KU Lu:s:27!a?0з W /ϵx2@v(3ZZ7w NZͅ7>4 ]mwm`󌘡/5W?m2#ǧ/0|/l1+&J~bsyl;9˕оm;S|h" _|X&i ZjW4pw-yuN jmA wv5+陃fPqcC`-fO:a9|i񍠖A>b|7>Պp7r EL{("SxJd񬖆P((X@{Z3gO5YfqlpNCh \M0CA%|,ZJ֌G $я3R ^*a9i -3 |$B#P'5t4S)}eۢo4}f&qtn R "W I#XFgm?[7Opo? -=e}U+Wv"۸"T%cpoѻkȷW~,X<xhsyV߿}oif0"|dBtw5 ]nwݓWbA56٨E] (]@bB?o{w3 kƅo.xe亢N] ArGBZE7{S$z ` '2 ij"vxP;5RT턀`)O==8:9_:] Uq M𪢡OH})}E;g=񈳛?f.<ˣWjȎuCHs/3Q&r넼66X`;!pX/y_mITHZ6iBg(90D }>7M>7~N~kܘ-r'W/@t5ZT΢7IWjH,dFx,{ ",U.}RY4bI9@`TJ gwFbO>R:ظaPCCd`"Cn dUZ9W͌azKSdHrI[K8OFvE7fNIΕմyR%ל,@ץ oS~׿aD/haqGi/m3%j3s@׆<֠Ѡn4޵zP'7 nQR8b?!95F9k:~n i A_OsT"U$OU`D[VxkJ<vN]3W2PEMpڴ@ዢo [ț{`,"dz)/ׄ>_td=cj mbƍ '>mH˥j%j )<6ٛ0(ЦCp?0I9{ } ̮i,#ğ-#L$ &,}2:~-3v=c;kwyۜ]yywmkNq v/}m.y_y DvRK{~kGsi'+o4ߣ)?}$E| jJr,"1]>1d!(i\pҀk^B:Cc!9z{B~!8{C. tqȇvit>^km&̰ywIP'L$— rpaqxYGܯEZ1NuB:񖘸 `}&X*V!s;˕Wrb*3ܦ|ob8uO, 3PTM; SܵBCw|MN &U TֱoCN3ry xL3)?l/g7uŐ_'| _ןkQ yL vUBJ-T$/\uD (8q[LPWͩ NT?m{M2@L;Y'Ct;>xt)?B8u쑻">χ,HaJ*k(9E#l &vG9P7-M䬷K$@UkyYJ7>,MMI2ΗHC8/ڸyo! yX&㩯cEíW/ +10֭v?o#b6Z /qu6rqߓ$uF9pGv&˘id1xAP ʃNys*nAߢ濕?-?C3ϓ߯ٹ)ŝ]GEE׎pq?{o6G<)Oί'kw_1 fad !P#\jཹzSYށdRwV>XT?Xê5G̃2AZ A/̳5fpP e ";R+ʶw B,_8t<߅ZT;TB?G5ҀxQ:OvvJA--iH)a j<&Lb@dߝAO0;o̘lfi7\]XDg00Eh( Kwʣb%}d6hJ9'~h >/wǙLAR]_̛)zk$ڕmHXy ŋ\u4kdujF:FJmJH9+ߟ[~IvѷY()!QY5XŤPa ={zm abb) !FE]_Tppp Y󾺦ا ZZ榾8F0KK k{ = :|Կz /7C-]tKT->MV1{JY"GOֆ@w;jQuLUICHApojp_*;:!`c[”=Y CD1" |f7XT3]Y6K#͹|UBi:Bk7piywt͝bp1:f22E*>iW,AiD6BKflZNQw]D۩;`~5ǖ9hi.H\l{P] )A&J Yđ#v]&*־TѤR9Z7e9UN7n?}KbÂAGU@F!&%=>w+"ž=f8[!t[A_ǯ%d1@tˋTVfA5"Cԯ, c65!G83fSy.rp&y /[FF yt?C;2X$!+n\;tU-3{Dw>+z΋H9 ,.@ޓK@4{a?--O?ߟo? =CR;$\<% @\K'!B1DԈ%x`-^X "29=7}Dn]s㓅?Z@!7NW_2;[((2Me!<T汍}h/[xwG\{Dψgd+'Z: X'Cʩ/Id)I$urI{loKnfipK[x .6ߍیBǶ =U`aqx1+=pOA}hޱrl&WYտn/aP5(FkxAʭ{brIw7vsv-HZ[`ٶE,{dH4`sǘ|pil1ip:b&/ 1 l{Lr]iO[[KZ3foVh_Tp?;j9E1>uFrYF7[d@?9;v?=59vOѷ K`od1G+ţ TCtKzӅ^ٹOd۬܏.~K{+ׯ%y6?^%/@l5 prQ9٭+Xf{&;^UuTm2]9';+3\K;}_|xj1jHN`|%ՇS,(dE?jZ[(̒Wuuc^mcz1$aD* $߸y#qjɏ&Nu7J+p#3#ׄOFB1hs`n"3.1+[t@bշGF7O8<Kd=_w}m)R$!ʘnAŝt+] 镪9fg1 tpWT;*P{7WS2!Q=E`ВƁe6mMiyR'/)L"TU1+dQ? 73r"}J:tC>[@wt;<]<xBt\/CM] !10}PE/F)w:5Z#| lقrelt<dF/ωcPpUq}~x 0tXUic h[Z#]ahnOnx;=\)B3U4!ƷK4sѥŠW[%TTZ` l'c0M"{d A D\P C&19هJ _7%q^VGi!]ͨB>qꯇ* ՔW5UjE@FA 0~Xrvp9N}g+6 DkB YyWc63B\!5 ^xIe)yh۩ۛWT7yjGYw%G^30'/&:%֧?/,]B{~f[EvSd]NGл͡Ŋָ첏í0)K7^d>x$ChIYP\M=T`JU*+EpSi'n=vșcIv1ض]wEU.rkfd(F|AW eSnK9D~J$5 O#niuO#IhRv}gu{96J8˸=/^n։ +6O)%C("ϐ/w - -և6Co(ΑGT@W棳 /UI&kAc-s~+DҸo=c7".pr։+`䚠*Znu~Ɠ0mUnٙ{}'g }VO"͚JDȄέ@k'K-ۺQVVrQ4% Ķ],d᳥*kgZ92WOƒ4y  I)T͞޿9#pc` }ID_^c_BRKM8t E'q+U7 `6OpY/C0Id}3/( =?c7ʾ{_gL{to'_.܌2vN&I+*_PH(Vmw|}"6vx 6|'r9$Ћ]dc 00yՃX ְ]%-CWjpl1, KCK6z$W* B~ݓ mRt;QӞ&h.٨i !^gŅGj]X).!,٬yn+Cۧ0 "!Z6[$Av Sa"3P i;@g`):=Ad1Mqm'̭r>i<&ȍ[riE]Auq%>sF C)69dvз🊊 MT J_1d5fX|tOY "=r+)5ͽ{n^ rss߽N.mظ6mC7v7@AA#Rc_0BtHU V .XuX^Q3o%<}ta&} q֠N'j([l@lCm߭vߠiD{)D2ZmOV HNLv2²-3HD,bz*Ώbliڟ @;i@f6s\0'K 5&_6>x(/ lR+rogc&-k=9МD_ 5xMQ -?I,Px%3CLl Λ'lXaxMs=Л .BoS',t•=L+gAG۱P-sZp*§ A'*O:oڭIO{o?Cjr4w0(^+uu.z@ g27X7NVAr%3>Z:p緀/_^(~/$;41]j`k^ E*ͥ[>;|b9mewTup:aB4cpw5V6pd;uEeNIŏeS]\o.tr12ϰ-JJ^E6O(Cԑz%em6OAEʫY%):044dIc^j+N‣@-d8 N ߡөMB6Oxv崫ȑc/+C-']Fp$"8G'7nTq{wޅC w=+CnYYW]@FfF2jO_{*{g\3?mdQqIes:CSxWOm˟{~Ɨ>_[/m?B]Dl5_+%;s;0xʀ򣞂+ljИRX;ph)>9r5e=޺ >%QΌG%@xG)5A5>%]eZ"OGܩވCRVUxkx+qAϑqE8xaψXDe6c4]]" fDySmL@mLmZjUٮ3`Qg1z:33܀qY4˻7uD8(i&]!κ~{.Iخj>ff qJNcYD%(UAJ9(KV`f3\; ,ӵmtK (H(K %HHHw7 -ݝ=mG{s.Y3pZq^u_e8QYN5@DIr˭6ZcD֭um 73I:_򝝍al ڔw/%3 [d7{>С)f<{X2I6ԤSòRrz=F|S {ӊZ /o}q\ߎ|qGvUD|/J@ڨՅxpWȎF ;r:J1a!ͦ_Ž%e!z|b7"Y&?430:dV͓i©/l I~0EP_t(S= `uq ,zMcU*&% 4v/L.ZV-2ѡ>ElC hei0#[B X$fmT ナ5~)Scp9P4ĸG ChG {؁ax !)WpuRY翖?A?io0+W[`.?64>8>j;Oeʿ lyĉSAFq,ZR3`υkee-~"1=6o*L,ͬ?d5,xpN":֞-,Ѿ牢-I}݅(+d$\Њ jlπy%8 dM.R(bbT^dh2-96rWް/9: _8RV\l f\W122eU3 8+,,2ƸQU j%~ԏo/:.j?;ue &b~=kZweHB$)t[woI7kǼݷZ^ t-2um逜:̫UFGݷU|)t#geeMNNȾL@Ifd ȳLNJ/xr&qy8^`uuSKq?8.tb|*;1x{ 3R k8 \a@FPjUV͢%]et£ {Ȣ~ѡMFnړ,#M,S2y5N{CCv  Y1̄ ΟwqӯDOĶoýD2Tan B~F,t~1-{*kh7ߋ}0A -K(l*wX4U`bƼvpѯ(IBRM2MM98/iRV*CݻLRI+{]8vHO0而VCiz'Ioن/ǷU9~'BOV[ kۛxObmPr1JIh6͛ (N*IϪo5 C )WN޼rhX3bЋ߱@z< Zy T",-V w! ÅV*{)!x"F7*zDO?jpbFyTϞV"l坏-oV7АM(R8Ϝ7\sk'kr\k#?wG3^5߫濪o?C߮]m'/?~xDА_ݼ!Nt*ᯧ%RIQ/J0bV$rq!K{.h{+%sx )Żp jWZȧί{[]mo=鑐}Y_ѯWRvfMNIب<A} ׉ۡv nc{S}g'Gu#"ad\S>)XQs'h ]RQlz}5獪̌ C޷ӡ!P6D Af`mڃJ!D,pt&ѫ F46CSKȣLDqVaUܰR,;p;(}>)afНe@ :@mbL L;b>* %hV; /U9"PpW$96@WdM nM2Z[n@DvGPxS,Jбj a u3>QճPa St ~k9Krp_u}*$ꩦadmgjvIxt_P{sagگ/+˻ۇ;s>>1/(laas~DBHH6^ Ybq󐝯8}Ooϒ-]EtpX!U%7h?_ swfXJF;64 '|kJh& cW2"ٙϘ핝o54d5Adͨ?#eU\؅ d[\5N԰Lwk,H#l<\>֊L̊ogfcR tJ;6(M !yh4+Ajk3>%X5yzn];(4 8R,{Yk\~ CfdW?1Q"W41<Wo!???:3-/TUU/)`kk#,4H1}$§aͷ'4$޼5iz}I䄜↘髞/>Dp0Տ,.Uejhyj/\-]5y弳O+04!sH'KvѼ)0kmjONBI1N'OKz=X vCƂ 7e7:$Li; _cY܎^ebҽc%{@t҃WCvSTFM(l)u¡>|9 CB\ۚ*|j/=B-5,G/:2_?CBi/?!~z~~~n\ۜ%"022k8Kx9C6# v֡o@۲!wQFoEROC))Iմ*LQtAڮۀ+Q>9QgyJS8GŰ ;P%T)5jbH0͉paZrEA8Rz zg|SϿgzna󟀌to%ދz)we=d'䝲L,޹x8{;^yF婥!7LLl7#}1XaXs8Y5x8u 'Ɍp|4T;4t ref+ ΍~II{> 㺑sK{ $N7z#Hy~ ث_?5?S-_/Aۘ^+zzz> I{W@軱 ./^d>(L?'z^aTV7XؕGu%eunW\?B߉\ԷO+Yjn#4V\VO}ŋu+ef6?,#b$} Mu1zQd\L1ћьDhTϽ*^ sb ;z+yNrLĽT>pEi[K kh-ģ.أ>U[ǁ(C S;P~'MLu+=TCc*e|UJj^ijkZ.[Z_T|RV~3&, BBrxLܡ[KY%nFo!r䐽~EDtʶ6VZ w8w!j5,&jpo9d +ߞl6C5#wD/PM#ր4 kKfhȉ격j=L&|6 WaD9H/ZSO39(a=r C QŪ?ExAdE  gzu-K?@?C_ 8OK@[%_ W6?O=)ĪK؉RL&}b=G ߶5N pRk^.H'͝ >f? MYl^5K=n }d]'rh%lT`ڋQrE\ƒmmθswC@uIً 9ؾZ8k,d.SVlVɾ{_IvQZ oOug_6T\ͅm99 =55cGKKCC}}kkGK'?monnm̬MO.-m\]mnϯR:MC{gtk7i /{%zWW!I0˩1=/mY[XCfbK'yO%ħ/kkd&&O}񖙥 pVXBi)%3!eЌHl)7 %TQfx7><9:1oznLcritrzxU5!+х㻲*9l5=90r/$j9 <:~b!~uڸY3uN&}vQHx4H*$zz~6c 2=Ӎw- m8iY; MJ̊@E }]ּW^r/(wT6 *] 6\-;{]rp5GugFA㠆PyAL|^qYeAqYnAqVnAzVnjFvJzVrZfBrZw`cK{Ye sO*w,R  SfЛ}gJpAl(atT=j-:@=ˠ٣UT%-PXn  ~YM f@ #P.htp>`>V*oW""  [6)#W+WUUĴD"{6ۑے2>4EMR}x!򡽶^N`Uhw[!=)I>V`{HƩ\x@Qq`nF]=)7>,Bw;5O :A ˨= ~cr#ųǺPRF ^/w+gS1^_啴,M ,`UP7!=ã˻;K$IKg"mh5~&Fh6ܬֵ6SH4H}90;"53Y]WSb?}^ >111# ffLDwN|r!02'/eM-9l5G:A8iv QniVL(}Ӳ/5Ўqlygrsb&ir"M/h( 9Vo`"UmwhDiac;O1dMN#yvjb<4"k6uS]SWJc.PM|V, ޢS0}֣SjvϷG +bSq⛔+Y+Zآ3PZcBӍX@ M5+ۚqt7c$M馫vvsV;U( 蒻dJgb Zyow~ )di¡s&Mѫvm#ahzOѷ_>99e55-]]&ʶ^o{}xhhlIOMI),((-)}MMcCC%[Z:::.`c§[_]je?X\|w=(j:S1X-n=z!|7W'66 ޯ|z~q~nɦ_4o-,^@tcKX2t)D7e)B>yBjV9i[a"&-2.l"P7(=38t'.fjbzenOO`6gX(AZTN' C*nz"9)$e0{v )y)f)/tlcѵIib)6KaG\{4%7sE#Y7%% `GOB;f27яK;>Z|~QsK`Q)gڜJ+355̑L!'z\O}? ~\~uз@`(pPH/]| l~ ~r&|^۝#+`<fb~ktfszqg7e;Wu~CWyod{)Dl_~Gh:W-h/!9Å]Mp+ͻP,̑9+% =--BC)fs[Go6mx+c >!֔_T%q A`r.-%QwO \(vs<j:`w_~4%_?g$@ !޻YB NMۉSEOqjxrZBFև7Iܬ`l&O*~G 1C;M?=4a 2~ꂧLMYWi%YF9هyhҤ֘96=~!dwӸ*@ܖM~YgŧV|,"Tt_XwZJOYPOkO\-Zzag=U)ʍR[Q>TPfdr ӛ5K~?og21oY۟̚@Vq +gvI11 [!?}'ײkO]w ' 7^Y)){^ 7٩{Ao N@~+!5ɫŹaA!aزPPhvtTeqqCQyTtsInMYLv (6p3#u17|^S1]ZJefeU76\~&7TP_V**jkfk;ۏ*@򺝺nPui]XO;qxjjutv;:W{AݳC[CsA=sàQ8hhdufzczx|tun466?87?9[Z^]_[[[X;mmoooollmvOwwwΎ.NON.N@'Ǡ3)SE* 3/ΐ_@@E`_>*_* ?+7f;;eFPrzU%l:0Yw|{ƽjV#Ф`Đp}_zqj+)c*GxEצ}l&7Mc+M7D|M+D_ٶ֑w7rrJ_H6eX9j%rュ Bh'! Rm3ze({9-}!Z9B `\O vIKźg*Xǰ9=Jʿxwhʧf#[on{X3DM psfel/ʫcv 9x;Ńԏjqn8I|ZٹmXdLzuPO :u#&4SW#Zΐ)1u-1ɽp#9=jEbraFPx"}1&e=*Hȍ2GcmM?Jav Joqw̵Iж"<2>lCip #ޝ/UؖZQU0X< 6Ht%vb yN\{\>e"ٓ']EC< wDG06'v1r  Wbynyfެ7*(6 VW4TMϥ q}/_ }ӧO/_Ciu dpg>@nbnЊ4h[j.[}1)Z0AW6~N :ACL: ?_!918kXo Q@&ʸgKV8wF +w-pU9?8뺻> `Y-<l?}x<-} l\gi+sQ;"%VA 8J\P0M0sM;(F0V֪EC8옭 !I0]Q^t!SsBI!ZtEZiSr!{XrS'v"@dðz*,b]tW`iwFRH|&w@4ym݊2Ry/l@Z[%5ZNvXcHziVXiAtFw3܌-%~h2z$fUTx'/~!3Fw ;KqP,'pnpTEkMu~KtUrhG{ - D\ۓ&RyG5dtVd-,] Z0з=Y`@/"ř'55zA/zpP(j`rr@:R!qnZ̤ 7L}{SҎ Ht :Mw#DlE]YBQ+J=:|P$|w:$煬 ~~q)qQnf d mH([һհX'،tUPY;ˠ+s!x][]U\?Lu]WK30^?C J*mBbx4gc-@M#IMB 3r u r!2)]]lFZg)zz2"WPtiU]=5OM]=ר|ʀ9bp `jJ!s)ُ;WӴ#`XUZ4*)Ӈ&&3'1dO!k3H_`efe]Jyоf8ᓐTwrk3KVxpBS c$#=?+Ų_6ghM3Kz B{z*4sK`ms$,%r4|<~=Nی3v?bSl,LQlHsE/nf:`#iQNr=uljhJ2l\2f Nr4 @9Qݢ(|0Dֱ"SQLrɘJQMklJ'CWWJGIOѵ+o:B\b_K69{zP:طT 7tԊiԥM4ڴel4/!1#=4z{ ɕϩO__?mLL}w:- .QWKzO/&^2ܥX0~k;ۭ&3yIxlLr<&U&&eIL~}U<2<(Q4tN dap}$kpM}OIV1,{؋c00b~\%+֫\4dMPfiGDR!nQ0x;SXp+!f,Gx 0m:ˁzcT ݤ0T;5,IѰE7aFY%>x dq%|gZ[T壳լ\ݶxf.Bf^kW~@F:?xo;0vuu8, r'#Oy Tq93oкk ȗ!ϿwOo})?LӳãKٸ ޭzJ0`fR˂@X0Ĝ#<ԷIT7OU3WL +obKLcKt!}l::s 68Ճf0Ft0[hUv~z&ղ)VIs:őHնQp\ [ -10+VUO٣m TYoE V 3D@[iT\Ǯ hmgS>poǷgwD %Zo?Q1~g4|EpGQGYBG pK}cYg`畟~I򨞖-`-uTo ΖP L"GYnTod@9=w:ldLT FOoV}i lNrr lOėFĢw^쾐[a:%Sfh% Y]x.RAXK y?g(7wH.TYC BxQ(0ˠ*~f+|lyzlBy O[;a_p]Nj4Ow]3-7n'~E#LWg&xM<ms3M6v*|/ri^QB%^A\t|LT?S\xӋ;q6ћ"W܁vOۡ)rW9qMYdAjo4,Ffm'6%!UWY2JzG.z"3 d Whl3xuM 8Z+shu޿ ~irXQ:{0_nĮ(Sr.{$ ;7arIqBBˠGCMZ.@x1RD# "1 phy_E#KFjy]mڲBa fՃf?JJ`D!llPOi&AG $}ߤnq5TDC^kӇqWq~}^%-?TysUO:,>CƘ"L:e d-h%u6_?06][FPf|̬fάrGf7J@>-m\z W ocܙXJ5!Og%)OJD%CyGɳJIu [է Oˠ$]KfǪe&(7Y5!8GfSB} ZK#bWVR/7?ٳYSApb؄~%[:NջPY0nԳtO4]*Y*edT+ZGnnTZ0mcJp;*pVdXdݶac+pÒ` +[r>0_̾B} jNW:x :+t g}HU^nv\qY^ʡ ӹZgN q\4]Ŀjw'?A5{7O?d(Pp5(yd%dd]"Z]S[^AQ!C]С=*R Bp uK;7o/ 4*1'@m}?~,Z{pr"+ 'BlWa B^xM{{ʸAߋrO C]iQU&<'U6+S&UC6E`]VmB!DeͯEd2E3nYOs["٭#b.LS7T}~AwHO߼1%6D|S8꩕0Yݚ-8$*m d88ߴPR7a%;vBRﭘMAZ5c؍qfڈM/*vGWb*3uBn]3]&L=#@wk#X9Վ-0qQE- ӑ]gݳ/!ܹsI/%wv/H%' M~%|g*ML<𵫆8Q#%fWz86J d\J N(˔F˷]BvX =f!UFZ3`Cp⻽a+m>.ةXqC0\ Ђܛqj5] zr\!\D '$\ke5P`+Z S}9LFrBb.)59gr)/mPwS=Rc9%ZJn"VL)GUcRː]wU^Y=}BG&`k3<.3H3U%*62yo3h}=&8"ttt{6)29?u'y_cg[45554Q(C[b+;S 'gv1޼6AK@UI|m}BLnAK}q%Oκ.Zzg 8;8<88nKT~ ]~[ G HM0!gmdi">В%(wC|7|2<+u1S6cw/˪.N`4Aqn=Z ΨOx[3kp[X~tƶ#RvIYJ?+=0쳝hg_Sds49!6cB~a*umn%]3-QsmMkw=i?xJ|Ef@g/z[Vjzzf~u }9<{:q~rt8}DŽ fa7 +ug'.?˃;|]a3p1o:. >wa,`Jm7.XgzTK7mp-?s(U@pua݀TqWrvh4Żw>f^td^Ei uai50{y.+fBw5ЧXJVn#~׹73INܹ6@|YC0h|Pda j͚rrb5TC99X1E"k2@5{fcb6 !jMTv@)&iT4BP䒦Tʶo;O:#o;C_~$i5cף5qhߟo?2"< XJ2\ځH8NQQH ă6Ќ̥G{z,ZeV?Fn7@BB_'<:\4y[h'@p̀UwF| F%jU򝕋Ҙ:G]Óe Q@vXn\ɽR`"_>M3aTXX $R~{o㿖m(іzߋ', k%K̕Й -8A{H|8[&8f8qEhn& ;"9հE =9*Qtj,"qSY;*3tVWIt4Sl;1[Rh-`R"wmJXơK"f/B񏨑/.=O@ WGuOѷ\q_newS4BXW܁w/c' (* L3WN/*Vщ1R!YMX=X849o|ql[x!ꍅjsY]ǝjj~")#hrZ& 8yJ09;RE6mFTn41hxv#.gZFD0+OY۟'VV -KA$U*Q^>/$>V b2`~][-bfPJ`J}ع6 q< n0tPuX$0ͦL(9+K\;n騟p5}\Z~/#O}]3-Fm;- @QKmv Yط<Ӭ ճ?_E{ig}zQKoh[nOsBgnu[cAë˟Mo\+K}agPQuF`_/[ s"GRaQV裘M/8O1W|0 sC۲Tj9|t|g-Մ❷#%CYޅl 2CziH4ċfot]*=1v#ߍZ+L?Ǎу9Tb{JO۫5[?!SZ=T"H`.P3v[h'CQLDSL JT=&rXS Yx! mM\ZЗU EMHs+O1&lmv}2aOEw0+wRL<5[wfՉYzu*i^l-:9OB##6>Joq^a;_sT9J<]];;k_~%O陃R(.(*W#F@\ x |&0g,~n%ѤeSSSK#Ml^ ܻtw.OW~m>[ty#WoG.1B=1ҟ# Y 7Vcf,v:r0A4.]^M=m[O"z痤_-|c!D}2zOYU%LPxG`7Fw+ps[=-7 (əs#n[LX=\}sXb+])vl0ca_X|1_L vjr)Lns?oaIqCbhl!l ,\:\\YrO՞Nηva\Q/ w {Gh\iL%q&PWlz]tDzR% ǡejZJyH)ڊ-!ZI q7YOi+ib3ȳ\:ْ:C_q`\.S( N57qt0ڸRQ?b}EǍO\P(𹚠5ZH+|f@N xJ)Iˎ,V3VRX7}LRRjjiYYJ^ak@arFqMAcӥe/~ju:DM>ӃbvpOf& DLl卉q2$$w٢Wv&6 w  OJ9ȈqN+[Xbf`yňԃDXcXew;$S&tHt34-j $ewi 3qدW}90Tpߕ! $}ȅ/MR52L" oE1ԁA#j6ZC(2(;=+&dcJM絜6F@gry;2u|| N{f*<%au'GZ|EC]MoSْ$le-夎gնwu.(vS=~oģ4l{a[,,byRI; tBf@2/y_oLG>MDЕ #ͺUsOP~0˓9@CGj4ɦvth5K ܚ]ݶ Jf՞ʜ98%G^=!ٞ7Yu3--9=1@ 3n q Ms[POo\__є>[ h͘/055}lV?Awm!kHF cg'O0 ^킕W+'쐘xWg.DKҡ+4)VC]aI7_-?+Zz3f3,8%${чJLFb5=^,y\ 9EK˕&?ea_OndDJ8BJ_ā/"DЛp+s|mh \awFHÉ؇澆fYw!MXKiEBԱɂ %񐷉vNO%+es~[l40t1qڷglk==(VVL&NU; zD`P|wvׁD/3 )To܅m1cjDh~χ#~=+gZo(r (H4@ER(n<kck#vO-]ؖ G.$ୀX2!\`nC E t4֘'+3z SB`%KPD'5U`62دQw:M ұa!J$v"&3 g5uA'S+swyVva=bbaC)ZUŠ,nj\NC]Fbs"|X2Xc*{,W(L"fTnGF$L M=x>ʅ8JhF"*wgTCeFy[ @*#}*r~~#X6)p&)JG%CP¯^(v{9z*3Y>Bci,ڲj {2 ɹ+:: ገ3" =Hdv\M7'4o73kV]_@X}{|Lkk!i3吟cY#x!/v?zO%UtdԴ/\Xz^?($?S&.;5--.),>$s72veBN հ.piId rӀh̦,7@ #i5[Q@ª? B[ J9Y?Z eo,Kt< }NLh$0lGl74k @ɴtvrX2J| (8O6o-J2;pjFu*,1SJytArHR/;q@l?^lfQ"|0 PduD} -1qÂb GKwMQ"|GUӃ9Pu6e [k6 oц4@' ݺt:~$܄$~g\I&KG/zb}ݐjEE}t¾lӎ ǎ%/ ,2yi HnK TfwJ#4>9 O mshdw=6ICL-)v:A V*AڲBrX9}eNMJsO NFVܰ7U_敺78B)%MDO\=uN7oI}3 RZxEq 7a]ӡ0> 7=R{KoI~fxf?]$wF.NxWkDo'+azZʽ+7Ь?`vO(<&g]8};*F#lm+vpK{w]] oocר8;s\a0wfǞ|0_6C#&cN Cs\|j'׬OAeE4e8O*pqM-Δ{x`='wϋxv7; ; ~X6cc /b<~l8 AfϴA(cOea;飉318?^]e։ i$j}:~TT| -ELV46[s9G1UJ1;C%TTwH#"]ߠj}{҃6K``T3ZS5Q Lpu^E츏y$ϒ&δzn/mX@ 'z+uݛy2̃r!(˅(,CC=Ni7 3XGӯk8߼}_;MigG4>KMsW%u'?k:if1b;"}B%cK._PҐVږ[R5Z5 rA-%t@yz"H|H`b}4Ώ&,IG-jOppf2hޘqΓڼdӆ[|R;hrXM5S& bԍs&2t>S\ R0db;dG w{6nIyy5J9+d@?ұATugAQh:m"PW>pU -$PDy9 qMu?E)|Ä< 7)E/*I/xntXlAS5ZZ$BFw8u O]whTAK\qj4 ڋ)ͅB 9]_E͖s.x#vEաn+6)*/{<;$)vPR9O-<ֆ9RA]s$Q+z3"[1D*m@x賹(mt3doiP5A',]/$3-?i)h)%Y@># 4//@KE;LHYA>|oD9 n3??@Aq-04 [Ќg^MpO_~Ub%/!0B¬_/azN7jm8&mYؑE˺r"xi9IdP9SX![ dWL0HZR ALbS*ù(o4\"v|r&+$˰Yhy:q"cF]I1n.S̻C+O`:y1 HE1zDjBm)ym?ZҊ\,#KUE%#EA{G-6Jw+DŘ»y.j:qʯ|Hhp?tx)v a@R:MtMeG.*`QʐZNJY4 *d83< uU.rRV@F WTP+Oyx^kH񟖖Oз4l8)eetu,M.J@XRw5?#8eTCf-f6o?xx\>374%=#,6u-= W[t}kwaIJR?+%5">qwv75m{)HM^ce<> x݄vrc|>a&W>xbo#SrȕevK7bfПÅ?e'3d5mBfwyrf \n C< +,<[[0|5 rnN^ժGaD`"QE4cV"7V0ivv!J;_Q7$ɖtZ/Y}:M#*ucE^.gU Z$5`U x$8j_6VN4V7QUISp- ș>zwQ!N 3* D;\}3`M2襧WU5XO[ _ ޸51"70(6/%1a^ryYaJ^cSǏýkn~ =N opȦ p\ [f>i }S++1fCg4(B*l>]5\G\V|R(xS9Wi韬>mx\I”ȣ`m"9- HvkE},XAO[,xOi7~/bzƬA%QHvg] B^az ѓ)ٱIӧCCecPe妖w[Rg›+2L0CPD%й<`)yEhSK?p. (۲lzPքJ& 6`>$g1p,RJCI٨u YG!mdF1nAwG ez,at;g &Aw,aRG{ A5/[VLnLQ!h)x,B^='7hgRAyz?}hyA:x@ažվ >/?G.?S!ʟToWOg|nk~דּ2?OJ?% "4?I\߻Wm|yr+̓zy̳!-.*"g^oϛeBIK\m|]POI=0q 2l*8SUǒMa X ;gŽh yBCQDP` ヲѢ"+:Z@AbHff A9&!i-">+x_S.F3 ޻PR.`xL/nSUh\ s#,y5 +%zjLF=8sb8fPc%za>Wb.e%U}<@RC FlA Ԡ;iv!;>%#4x؛@0w׶;NxɃ'Q !\ဉE37DxW?ka?^'LpqmHr |gH@3.`#! F9Z |@ L|4 >EAak§q2ľXpJ uM,JFd(cЮgڪe3Rn`y;ųz룥d(V/٫Lf%ژ\ka?4 dOԷ2ؾ*q?^.#|E`K'eP-w\Na) Jɿ cK>RSМXU5v ?yf-#z%:RLOҗ viɝ h갛ewL0OÖSl|-PQ{}GZ 8)uӆ9)R9UaENU/%1AOWLR"-A i@^zjXj53Gt/'mִ'](fȡYl4TT"&EdVgz [^k#iHijeYr["Z uE ؼiC.&&)8BH.e_V"5RRGR/"T'$uhs} ق*h$;}@,mrH9^텼f[8AElVX=qǧu^Jyw`E"/EV,2 z #F qU!nV;Hu  ԂIf*kn'S^ }KiAOmL+hJ/j)k\=Իܷڿ6>yj%׆&&և6Fg6G7f&gvV77׶6onm_͂;8?<=8:=<>;>9;9=?=;?; Х?N@(‡O0e y8ySw.8?5<dž cp&K(첰Kqb]Yy',uCwqIy&,kM=3;e;j7z^P 83źYcV 8쌻TOzEiw5'ˇV qؤ#S,+~ʆk0~oT:`'UA N͓w^ r|Q+gE9p6}?7jzo?EGppGX=4[+ ||K/dE}T5ֹZ]ҟ[Q\uuCCM[]Wa:1adbv2_\9YZZ}xi?;;4Ó/8 ~'bbq`q~5'VUiL.3h\8 A̞d=pHtJ3B(Y31~+ux鍻MKrSwrT9 PNt*Pyɸ CrbP7>1D!Ls bdo4RL=~r%E.(,/_EڳdƦ (Po]=3BX 6B,uNq&2~ZN>}f]3(զ>%+ᮝ( P^{OVN:<,Ulnm;dDl[az*c^('sUP7  RlU׵_R e 1yK)zШEk1ijۖYq=1Ow,Q.otϯ h?kc'c- mWo4̉JLyIM{>D4Ժ I7]@Ѷ{l]`(p~a/&FVDS>P"˚t ?+hn/Ex٣xGN'*2~2Ah7aDn%B.t"du!9iu@(e 0A@vC>>i?!2;4E,˕eCVxqQ4)K77G)Ex"6D),g=E80 p-KMUa+ݐ^[P 2:+M 07i #[񟛋>Rl[QīiZP% jI)6ܙstO_? g£XwO(N/lƾ[?l\txr~GW\_[go{W?e ȓMK] MLYQiѩF~(,Xk4ҽTFI輛' ''%'&_kF4rSY&5ː]tHA!P4N]4(j 7O8{y_{0driQ)6ŎXT~.& ܻ)H\V8Of`S+)4G`*XN F<S7S v3 FIK 9Cp#pKfDi:xkQ`&/d2q؇8ٕD2@_`FqWi3a 'N#sJd@ӪES$~fIf!'sm#Sdn ըջpQV)~\XnCaTF6jЭQ'DKgp;ɌљXpVdEyM2)BխGazlt"Br>ZH[߸#}b5Xm7Nr~#JD·#>qc}TkLG/iss }?j?i } wK aJ)6KI܍T)6ЗQ ɒo O6+94דa͞܁Rݶ頫\~V6v! Xç/_?bC)s&yΟ+Zv5p<դWbzgV{Bx37=:MJñ°uzb_e|œ K87Cwk,YF/ŐQr4QRi.ɼK`c|.DPu$?9s߈ j#( RKҔM܇6- T aQ{tDÅS^j{UR'<8F򻫜V)adoT)bkPt&-4cp@ > "hdvz^; c(j]U mL#gJ싡0 }{(5EP Jڶ/{^SDٞ=&{FWG~ s_a«Bx0'BWcD\Ӫh(gvȴajÒf.vժ TlGMU#*m^C2\b)^G2;kY%d׊d2_{uH\ o}j `LsR1&&FSف,pA;/1_qm =Ġ; rr?T$ J!L4L=h͎Q%Ԫv:#Up0¾jhX=B ) *( $PD&""{]Wl+VTTP,X̖lM?ߝ{$3o̼ym޼RoC6:c ctS~igJf.9ierWWڿ}YgSvDS>G^.=>h~2WzX~]w৑9jI-)::لާ@Na{,*zZԙGZ84|k7kwtΦdv2?Ҳu(_ ^ۧGO~C^Z2ub"`@/-0-*q+pݖVb?nhG#!] :VE޽u6۾y6Qm]Fef[Cuԟ2ΥcYKcNߨk hKڅN7\Px_uj=fFvٖz֯ՂVf\R=ϿYh?AI7k w1_fg}2=?%Z1>Գ_}%brq}z>3nկ-3ƙNntލ-Vd~:̜X|Ajz~+.U^[ظg6΀>tVgv6JCk[ls^0k0'8cY67e2 ޣ[{CSI7C'<㪼\iNSOl :m:p|i~6|5 C+V0pZ Nƌm6lܹsZuwόWg(ɪx-v~_+(Wю{/翰M_Q : zD:A ykMOZwXo}bJӽ_$v/490owt-gl`Vx3Г.gJ_~sm?qYN0Km<7ofAVO>]P66%"y{vCwK&yLt;{~6ZWlq߫Z9ڱҌF>jUo{]1٠%#C7o|KVt|v n.sg$GojǙb{~t;W;_Eг,Ţ^g_z ^O sܒ,;/bظ}ˌ/?'^[$:k?|0mQਃןGBKq]-hk.΋}׽)Bs m5kQZA"'/۞c\wj;tS>k{=ftg^5Y{Sw7m%߰V g]xە1^}e~}~s3v^9qmٛnu#[O@]?rKŀz>Q >pfwG[wK_`Һh$|Ɯ6铤V%ziΣG7>{FFvH\9N(nf60}+:믃OeUxPZ >ݺ9ϊ/Ygo9>IΛc3tjKm@z~IS`__]r?4Bk{e؜4^ %㖳FWc2s[3 n>e;:=*u@}O/{qSKs L 8HX>f{<$uof {/;$CvFc҇N{r!?j[rμvgFޏ=9X3~.aBKZ8wSL|uQ/ ojdY:>9`'4!^bk8).ɩp]|-m#y{ႇK'{cx16'N뽞:5U~q#XD>?K;?wK/o<q:Z[ݻN>75%h ALdpk^9ms\ ix!kv߹S\Ba-Nٶ`qL:\.y,Ɯ?ezޓϴdJP3XƬoؠ^=Um 5nR=Vu^:s}C'c,i?a K N|ӭַnD26qdKNW"]"3N˓<.5>*#ռ9o6WbwYK^~쀇g7YsW-W?HYԀ}yLOynW(۟`PX_Fuy? *K˝'ǻ{PA'Bߤ l0ޔ;j(2hbx1uLQ3rS7l/ α/g%:>?M"/e_kihNS?i}s翨 :u;ui4 Xc3dh$quFQ?63;w^j7.i-3otcQѽ7>raw-;ُ?ͩ1F/!Ѭ<`i)6=.u[?񹉬 ÓM1,d^4~aoEdޚ=iΌ'c׊ޟVr|7^g?(#Fz{Y1zA)qy e W "yӅ=6us\3^淿uŸjDzݐFoi/bT;S;S?| V%7EC[G/|K0?hy[ C;g:xdN%]UlyZ_$mfrlP;)V/_o8'f(]~IW4gti8્[L_:h1RFNSڂj{lxH#?zw}e#Fq)v!F4eR^0!Y?k.5]X{ o;cNRAM?v4b ?5;pB/F'kpmB]n.묾KOu,oȬ1#;g_,?wЍ;t1zُfnՑ+a6iݹLڻl2g>R#=ٳmȫ°3nF{=UZgbY ny<@]X}(_ߧj']TtggZku`ʳ#gM}egߚ􌬱/fMj9]xw>n~r6Yu0EU tC<t)93 ^ v?K;>?&c}V`$ܮ/0Hkr^{rdE )}/c_9:AVVV۷wv#<</Ο?j7޽{mĴ+-Xbm*K77ŋ@Y|ށ's  "=x+c}z5d^Ežw=;ΌѿUb|o୷sK=!l֮Oެ=׬o5 F]iqt=LūeΞy^^ 1W=Jz>ڑruሖ:&Fhǹj8vrsC'?m/.ڲsAo35s|?Z6)zb-DA7.[N[a~ۅzu3Fqvƶ]vu|3ͦw8Tҫٶ/-v^?jY:˖w}Ӵ`e˫^fm^mzgrֵ~>BuX"/Q(v#IHm [;W[,]/'9ŸZcݎ8}2t1{NwNHvߟFuXgO-[|pZH~!=-d0oܥ`Uu-۷I'#YFkv8yv-,}m1hPo?{:*敼[]\;^گ9mڝr33rBHPkHsuڭpʎ5Wep}}%bUዶw.j .Cx GGwOf\5C[z?O8vӱ7?s tf wq>^t3=-ֺfo߬u wsr@ Ѻver)rqE&E?|=}҉7z;U?Yl3Rm]_ڻYT_6u 0=)̇U=+7z f79F2Yp4z/9uᱝu t/ֻfۼ|igݥ/^1L؟ 5&{jNR[CƆr$0a‹-/jOa Zc=zN1&<5w, 07G0zjZ+ZFn3ouh]>c-̘T݇[O>}O'-SD6?ry0}WwY'dz3}S6WǝwOPpR /㩎?]>?dC=zH'!]%<"4smk[[tmݫ+Ը}\kW\&U>|vgLlfN]lDWȬ=`ηSRR=XQq|JSj_t,Ryk(\Ex,hݤ瞟5K2$5OXPΥM646_^2nMVLl[5J5;æg Eck=|ozB!;,Mg,-6l[og_|rK0ň?e87oceXcQd־?%o2w(dܫy[nɈw'N5Ȝreq 6n{S%c\뛗m?kwGfn>4A^z pfޙf0!yNu%V0=7jT2نK;/8 s= tڋ[x,g/i ~,AW髎N]JCL:,.'Iu47 e,Y{W^u>2ƫvrD΅o8`㮭</}!5HݷnOlhk;c)of:Jwtѣ:4r鵽[sVB^\Uŷj-y4|O`c/t]<QKD j󖱕1ne[Ͳgc,J$z\YrW}|=7Ίa_F=ZGLiZe!wW&ly&yT+7\e2uQ־o#˧ĆtpX]y<rYl%LwH:f͚ukƺkӦ3ѻwl/x b;x;4v\xE'N? ,\ ;nMO<<}ͻ=篿r$Pju'fT0tͭ6~ݯWBŤ@>,0جkE;K%--]~2z,<$]oC c)WGF ܠkZEo]X|yGMCalrߞ\pXձGO`$f~ hɐ&=v[XV/ŗme#5x>P7;IOnt 3~2bYG|h>z:O^d\ =\1cq[N](^k׿}{?ydvr޾.o/t.F7zHo- ~PƵK[ůz0"c@}/QOWjvt8zVWyeƼ.7Rmaqނ}}oR??}ЁS#NmMZsVg0fL֭ wv~K]4 wgbOϙ}63}/=ʰP꿾wH4%J8?HݓM-fQ~Fbym/Q%v4GI:%2Ƒk7ܐ-aM?[9ۜ[Nf }Mipo3{tX6_4w_öf63}:0}ix1c&'ig^:4}YzKv~k44jVF.VYu-}8 LU.3t߯{o9F`QYJSf$9aõtFtWTz֝-|{Y~F۽ 4EIj_{tBw/tLu VtjOT8ًy6AVBEEq03%'/ ~jܜ)/L¡W(K|z~s]Ӓ )RkPۦЮ}IjcW2OxNd%z0 E%`7q5 K*Ө75;__Cu][$_fi*^Fi̻*uFmeƷb{2L6U-1GX ٭3*EԤtN}FEE:(wa͋7H=9]}_?2[_ tG_Ƨ~9i wn ݵ.k|涁 #ԎȪ(eVY~}b\(UmSvG\`_7_3wNjOo7dN#![Ym?Oo~_KmƧ n .9rՖ\b)~?bfTr]}:z8_:û^)a?x>O'_SMO𵜨-o38g9Ms-fӍϣuI ľG'-_vo<6B5'xϳ/ǯXo?~~ŷWMR1;oH:CZ\7tHIEӭ¢]<.{/zջO]Dgp'<ʻid| P-K|3{t{Bf.-lMIC;o30 8M.h~3wӴ>v僝N^U;tIۓ:spmv:||Ii=&g fyrWYC-aԪiX.Sob;VQgSuol}jfΤVԿ\peOɎ~'l/qoq]pɪ><ٱfw1dYRg+KN8kYA &>8kzMy!o N:WjGA1.g/a˕/n;^mߣs_ܸ'aT*ޞwo<| >SXX0O٧o_ʿAEXɌJWLXw\'M=vMݻc \.6 &x?־[>x5PFqj/ѓQlW;bN=kBFvn-O|%Ku ׅOߓnpzܼөC%>Onj0?e祭9l]Ћ5p{l q{~{5%nƓW:5(4xfY JeoS|mڙtF1tݷtoF4)nʜЩV`c|pH|̆e 5 Y˜rN/c_iS7_cFݹZR~jWQ^@.L{'8?WzÏ 'N.Is4QǸY 'o0)˵` eMӄn)bQ{۰L73^3qɐ㻄勛;65﫳ox :j|vÑQ--qnۑ׎GZv-{(DM]Ne |m̻?mױ(o$10hǖrL'yrxlxԧ^9uae}x䒐'ܲ z4fw5nAFZ;ʐ&4;Uc1G.Iy&Ɠ\7_>US[ SPp-z]׸eO^~bZ'cvXɇu?ױ߿T]秽GK/ַZ֯_ܻ{N#pk+ vxU/iQMG}95}Fp'.k|q-ۙ>5g`!Sd3u6eA7_޲;a˙9WN)~cYS 7 }m龋wo۴SoMYˠݝGeTA$i1ap suZ0'Aٗ$WcbMd?ʶ5{ùCgFSr^Op<& ^ή򠡫/m(IXS:sGalWvIO}׋6le+ c1o{`WdZm|##Ni'<ݹ7񎧻;[޼䗻hL|`8yVoQg67qnkKեNz=feunQ1mZԾRf;C[i:ٍw- N^;a%m/&Y{/,֬KVy4pD)ݕw^ul-R?I?m)㩎БndP^lf#V+O u3֞Zvga [/>+S0ajܔʼnٓg,aIϿ __|B:~@6?bf2gp4B⊊S zzu`/m|\teFޛu~o?hF{]\s4gާ/o`{QC5I}9P<;֭ڱt.ekn/{f[W.lѲά'wj9}uO)齊4.nq2a~nFcl"_޿+ea;]~yFfJeY{8z{vƤ̰2Yj]Xms2~r|7-d#'zo?ۻOOm֟r7S۲wgbW?|pw9@b= ''GϿϿT4`[[5Zpnk]Җ1 Ω+6Xnt;V?g:cZe[ ._a㘬ؔ+] #{!2#}F-.İGn||;w5}CwlxQ hezJaXMOHݚQľ~gaͣҒǎ;qŬ5s-n9gWv,]Öݺ%u5pZƑƝv9> }ͫhO/71t%'zV<;7ď-Nl\; 'V֎ͯ:70Ѱ.e .;6bvv>>'w/{eۖչ=?s<}k]2|SFȋY;r-A:fokHZv|EF]Z;g|5wب˻or[w]KRR~1.3i8ԁȂ|a !6*T7>.f 3 >YQQǯ_*~}_-O>U}>~(yYa۷*J}{뇿=ͫ/?xQ:˷O>xޙ￾իݸqW+W^r"?N=;mvwo恃ikέז+YڲKZoY1mςE,7RvSR$_v|4ޜDЫqcU_Ljы^i32j7fLJoqtNң{lF}k7sdy$=fn\֝-sMX]Zejo_˼VXlZjjM?-JMaw-ǟ?UN; ;%5m.ȰZr"iIi;fc9Tsd[e߽~YRRpÅk.o; T/_|>v?x?/{+?{ԩSʂ?'N:rhSd3.NYZcjݐ GO^ȳDž^2Omy)&7Y{zu/tEZ Ws6͛mk۹9cmj͹E^ 6tvsֶfչqu?4lx]gӡk>ioW8T}zmG4[ע^۟l۾&#C:7տI:Vg:϶MOaH__?ظy]Nrv/Xۯ'J^Zza;Gv'S2ߡǩ]8:}+w.Soř?xi'`.[1yiHWoƀr#}OO=Y+6f%J=ou>tYG\O({eoZa}P,[l/e/{q.|(Qpt L] 2'oܴ{5ЉX#N&7SǎҌc}#G{εkŒk2z,\`֭=>z  ٻOc/ d7۴iS׬][p~РRvv꛾}uVW^[/=s~\m߰Ɔi?>{lvsӏ6mtFw 6zƕ+<x;|KO>>wwfFF`z (XGԃ ~<838_bja!sz]ޱѭ!sJb/#/uh{n[>48ވ- LYϘpÒ6ޝgz?ι9O쑻U ;x:f4pG Uu#[׏_Xo]ZfI]k^-uI|/aO[}yKËXV7]hςgԞz÷ˍV_=1#邡KE [^5ymWg */o66~mw[ /wS"Y%7W&?\rSp'O7SRf^Lg=!J.zw]ٷa.K/oou,d& ]_<zcу3G 2fg7k7s.t(=/9|RE#7>qZ+#_66(b3Ϙ{♋}^69/T}۷V<{sz ~8-|F߇53'ל79p7p^.qy+|጖V ߩCG:7̶2!0eG#BfN;'NGX&R&K]"Hy('L- bXu{X*:E "Rtvtrd3CR+dH"B*\Gȗa|cʅ<)30׮DeP7..#"$I"RRPt05uh;Z-ʘBQ _ʔI|6-J1O ?/~Zm#Eh&.q!OfDarFfF¸2HFfv"ILf˅a  $ DS&xlR>S*d6n ɒ%pMӆ`ô?p1<| W 1"շ[dy +|ֹ -G. x| 9$u ɏR«D'ha)UWea(dDCf@>/S S-c&c3C2fH%c> &|N9ΕRX,Ȥa2!dbLPʌpi& `c2 6 l8ZsF8|%z0--ׯ |0R^Y1*1TMſ*p600ɒ4@᧰H0 .VO UU śD,G,D9RTl8JTCAx)կ1蓭2q(#aHpOǞ+3`IKb0~4hlpa!_TFʗp<8>IDbd8>Lk JPI|C1cHOFEԺD,Lx*d[!|!SBEY %K RZ@*'Q@kQʏW6>JLklD.#+!(\?:[\⠧RA(htG˗H<>m `ܰ(HL 2XBr:$ &ˆI۰"%u: N<,-@=Ai~@j# G ,GGy):BsUJP+5n˦Cb|Fh1EDh"2D0زU[j#-m6NRR yMSRCJP q΂#bLF "UÅCD*ɀ\)PN]t}]0>d$H& f *8>7,R:u9`8"@pR80Z".*T2P8vC !¾&€"*cʃLpk4" ` @G+'>@>G #JZ㋆a$ tհJ_cIJl2Q@YA43 S,+ĴRY8T0."uU0sjGS4PJU<~/= U4čHrƁ! w87P)ՈK=4DUhBj!X1 1@wqL-T oT d ;@-=Xॣ2PwU\| &2:UPU0pG!d2WC4}U00L.%Xv'C (ª,Vٸ T Jj*mይEɔK%ԄDe!0Ƅo֪MAޡʨ:|& $@>,2VHHf7dUnXWo6J6*lTb/ ui:J\ƅ ɕˀЖ k5`qF,DEXSvTm,0\Č*[&ު8\B6(c*x F2\Atي ӂ0UE@IL(HdHTݙ e;T*@5Ez^胍(J FKt+mHI1PB{2fb /Z*EEpL Pf}G(tsb&m Lh|0\bs͍'TR5_jC~KX۶y9 ɡDsU'X,N`\eれ0l&X҃CtKhd$U Gb 2{uF !(h/ٖVO̪dtDe1p 2P::j,=MC8-Br!W-+ 6~P#=";ȉU}ҰYD:VZSU"Fƪضpk!z$kT"$zt3zqF{r*sC "j;J& )Qʑ(>5',?Š+<\BY@O" CA~|P%”he;JCDaj@G!k*QP %ؓ{~ lT?m=SÈLƊZ[SSդJR<9>hRJ(#Fsbqt -qp7 Qfݪe1b/(l]ߠ+%ǡ7,[[N_?~o#G+ۍ,[1l LI8?=ǴW%R 90/D3h]NI>ԡee$h΅UT-% i**J &5XQWTo̡[t ؏kPC-5rx* D״Aи|5t_8NB9TA=|B'Y&Bե|k@yUr4Yy+M`D+m R'Z|G.unLTCTHVPbкhQ< ^5UB ɸJј Tgjԁ?  *A9Fˀu51[+-t]#4bϕ[Lv ti &)00 !O$DZu D"ꠧğHmXJVKpX%JӂDr&y E+ h0ѿ> D ޒ4"Vg(9|a,;02 Iu(aDMc Ut+h'`a;=[mPV&` L^(34(@.՗+GDm$zPsC afWbM};іiWVi hȗ%Äb"4:Pd|:0~BtHUQuYZzT@)bC(Ls!T +Պ/}QJ4}Jm(P!~Aqar P8-lߛؼVA!R9AՃ/TǶn X4hIyt&jX6- W2}@@ O}P N(E߄JFGZ:m*EՠQ#6h! L1ᯮ_H栍 "$V `z!#reX` JNU[ _vJp/*ReL\]p,EK7bBrFK %TDiB K'࣮ySK _#EߚJS+P41~DX5ӍJtZ\dă;8 -" xp2IC7;:GaH~X9D\%28@x .`p#:{fǴ bȁT 'UO_aF>:D0}#" \%X|:U+(S@ %udCP;2u%"Q)4j /o {tԪ.Ц;Vհ HUcRit'F +TgA´eR .+@\DE: ʦԆ/e{Mdx_Ku`MZH F&AQ , C1DpEFR !lTČ3Gb|X;#>D ʑ rbPOa5( TΌ3=?jv&#Q7,mTgζ6ORc9`Kă{4xh,O'"{MQVH}3C&*|R;bh(mhq*ɩe`(7T2`iFe0dc _<&&: SIA8CE+)Z谲ہ&< UpP^@ fٸs;pBK̲S\M~ul]()a`!f? UwgXju D{<$O45M8Fo(T\)q?)hbTMN/!A$9 fTEoQUԒ19 3:/|u(]COb] ǘ4fqdaM n'+i\Uҫ6֍cUT;Up꠪oiZ6q<4ͯA/{s 1Ш(Wj] )%Irc_S%fU_G?cI~e*0+ZjN m.; hB;긽ɤy! 3 BY Xѫ2Lv~S|<18Qb;WWPU TRm (%7ͧV ދ62SXzҩBVCHDʯTV*:\Lʨj#u^j6\q案'P+6H@P(LU5Vʥg耮c(N$w SpP,}$Z.vd$ dT ߸*/q,~|(obZB JUJJ+2QXmh؍E[b)s@j'BC5IS#Pf/~3;u+ծ9/,'hˢsa}I2ٳ0vԋviE4^w/՘&ߞFRtЍ$DRkԥXK0z"*> /Xt +XR]8D*(/X~'^mtJPiVD/?/KwD@4U-aF0du x0;H֡8 r"CL8E$.]Q/V ɕFg@$"Re$4=63Dh_QS(!/)pߚ9Ed#UtM)qSSѲU 2)G8i4TZec¨}fFq452('heӭE;?KDvhapݵ{R$qB y4\*wHӝAX0/F"6^@;44IGŰ/6L.V^Ey2`斲?WN\I]XB&w:\ژUd hȃjgLD`)Dm$H<迒!ѕM|޷LS!K). ˣdR~t8 <,v"nED]! qQZlvM,7 P#pBC@; }bitB!vOrb?DdĹ2"Vy<\*F$պ0ͨG_дGX,UK c#"1TatF׈錗i0U3h "@jl % P{+ T#-wt` ZvQ4tWՀōF#:EܣAM^2h%E8Q盕5kA'Niգrt:s^yW!Šn̰-fZ yf"^ VTj!hBptlOGU&sU^5rJ>`h%cv2ge'|-BdOR* ]@t-Ү;R@W]>զ$ LMqW(cڀH(NmL$(HcƊ_գpd2p* 1ZtNlVei%׮|i]G47-j(۔cNt+K'Χ&F]Ut@wBI6A!0 FRUR*#U/"@M\$AJjZ 'PwS vk=UjU㫲QoI MA z6}$5&uUF!qkiXXoQ⤧hj4MR) *E] "53z+Fef|LbSRKڋYi<^e瑠lО`E.vomhWVEsN)#(Ϋ,5EZ*b\\H9 TTT̈́QOG*VTu)Z7ϸׄ$ҲU BeƼ.O)אM2дnrd^<@gS$ꡘrpW~ Q$$(j 0UU}ӽ2'|Qռ;D%Z Y5z9Cꄌ&/AD@+47tS}T'70kP=4t199'&8"`r걦Tu'\S\)sDiRl PgtD,TSQX]9pB(} `6Sx *u+v 8#0 Z2Jiho:܉:0($K*s;e`h 򐔤媔`(Na jSbRn_KcG ]f@O%Sutt"6UeH{j8khjʆ9ѴUEncIõ_Ed/!vR˸*̵E#,S!rcٸ`.["Mmcm\уӉ6"^;D0 -z'L&-IEa} SFt7[Ċ<<%3XREV "tUYakc-˅XzL?HFnS"J^ݫ@)] 5Xh_hahn;_-{99Ž(ImǏFno@NULZh3TlԾsvh+R`nG hSuUU5)TT[ h"TJZ2u{̹"I*9UK:YA%S9w;1=@?q1j{7*uYe*ilƴΩFT8 @ƈ.K+Fq0Bk<6tJLGz4$^D 3]9Gc2D^Wթ5ғvUnfHn%qMC;綘J(*ޫ00 9B"ג:N鄛u#3Z5 H^P7J(d4AV)A/V%"<^@s)%˼h4y dQm0Y5F|%gx'ѢFQB 5relU4;$'FWCX-Rg%CHs*\. tǒ/+-!L2J8 lM6Bԗ<Βq5u/F²V'*лi4 ֠א!fjV5Z&|ԙTKi*K;LY;'|FvT쾡ʃxt*"WTq-~a ybeP+ C/c1}1BPa/牰~)e@x339 My*B˛Ugn,&bh `ri;r&TNҼYB$ta L!ɒlhX oȣqù=*BԻBqW~&")=$3QihXQV5Svrjk[DlY UP 5tZ#0Qm#C Gd(g鰽!ͫehs;|4A )PJqu6I{ͨj4yW4ɀ5i]ҪVE(b(Q< AB[BP\rz" #˲n-ڂ2fqip\Kk %.8ԍ"Lpho MBju )f6^"hT6{8T#hRIP{hhNݦ "!thV>GRk[Rƨ/40 *AHPo8-InLu(U>VƍNCZAU"|*_&Z?/˴Ӑ[s#&?[sB̔D׏qJd *<^NQzMH`C?UYUlAs) @7oۗGMïYf86IԹVM-(@<#lȦ=`A W"vP \8dI/%EUEwK6RnXUoAmxYI^PUmoF({w & g" UuhQQXM)]'Hujă^eB0u"DG &GäKˡ\JUr>iJ6SÒUYbSH2I-+چ @zb@`^bT;AS Y.i{xyxkIAt S&x`5 ʘ0m SǑ0^{y?&B͍J$ qW6RIx \ ڲr1ܦW@ `׻L h5-o\ {TE&`d2<.tF x^Jr{f} {xؘhmLw>/;Y7xwT'|%\1\\.&8qeaFް(x(!RUL0$v@aH*!FP5~1M|sr q1mT."zСF4Ln$G C Ri@% e  Gc 3I^vh7IN'J@DWL<ؐ $Qy$X5CR}(4BR"]7٥zm Caqs 1ˤYUU+wѱr6|lrmVUt(6ٖ@gTqH(W* a 0@W{F X <,@EX*W(zq>LƝ2M dh˩@Y@IMEM2`< Uçjͤ͸Mͭh =rnVU9(]+"АT_HkOőhPː*%ŦhmR[8XZ&NuZڀA_5`g`0$ A[~Vރf8Ҷj#B0<9)ϔòB$JODhqCR[N3Jo(д MqTŻ A%$q8$DL쒟R͌D1$HX \)L%c{ZPA{P~$bRK slA $mk\Lh#̃U"G 0qƓFf$6|fJ#@h-P4n G= SQŦFA 'xED'@MS#C"wbiQAĭpڱꂽ! GYe WaCP薍=?4Ⅱ{btf6mpatH,MHT HZ_vvJ}>h[x 6/5|AE^8^i&QGjÆKߦ,:,J8t\CTj?ܰ(l |StخϿ` VL+\Q' [Vx4,iq&hTC+UW !3TqQ(g57F!@l=6vФ8 y&EH100EԍE`4aJЛB)+ZJ\q ^~$C,|OK,fz #PH/Y$@90ohjoGƱŔ32 sq%<,WB(~BH“$9<KA4 6?7,QߑsE} gMHLML;4kW9Q/Ȕ0AsF}&NHWH 4%Jo"dR݋;;Pg/Y6uy׬YrM.ھy;u?p~=y{8yؙ-'8}Ʌ\z:d(]-=k'4lKT撴,;F8>Hqv?i%tm6SotM}:'~!f1.OW԰xc#3IML;/'{rs5Q_D%=vj֔3'fO#E%* ~dL>%s$_igeͭqX)\ʒf6-}wL_OdBJRɾ33fOk2-*Iߟ%mŒa;ow.;^O֨Ϭ\K 3MV[nЧ{-HmֻA!-4w,?_jZ/RM蕙=mYY4 -FsFz`q/q`pB չ)a0dzx z+"X}祬Eމ63j{g El騿cKژ1n2>9. }B$i33sͲԄȫ \T/H܊q& ʳ[ Y&73=:ojcAp0D_~JhB2DZLn;cYlDWYZrGi঺im>Gǰ@$W^J8""-;K-5DBD%1k7nm6N:Y7:bNF9ީ.UA $M6NwD(L1uf'Z<$W6pإSo-c\3_Ex3OnY4tG垵g_ 4Yme~= v;4퇯n1=iXsɸ~I~:}&ededzҢ1F|w/ԫVՒ4&\Ab0͙Z6Ii{:6L[X0Q-M85eKNwμ>SrjY0IL<%-9uӧ b? `&7Ej_e,\ ,m$&I91sRiMrΰȝ.yV9Yjor[:6Y^pleQRYdq:ze7N5}ę޳g̟:+gK$/=IX7tds4lxOdF>+޻k;j,Ov=6[￲edqz/Xݪ( OP8<>ӻș>^ėޱXRRLNOrpjߗ\&3M:m3i;4`1[)AMa\. ٦&R8o{=8 LvAMk͔L!KQ[&pCܘ, ;0S`gU5C@2m9$x^k1^V0)Nd(@.:ra:djD%i)$sI!|MfD&ҮLIOrIEؾ@F AP1xv"TdrqPQDi\\D9o<;ӊ&# cgߢHS 0! /cZ[ ѕ&pq2-UDLA !$/"R55AHQ lR2~0(呩Ik?^, dZZ1ɹD~8;dQ8ubiKOI02!Sy_=mBC2jhêPL w$*Rf ,q*8x?"e%Ղs| n0q|0D%&% p4.QuWs< GD& q,lVC!)CT‘@VTBЈhZ-  9L 2Qʐ;:b7– QijDr^"[O @BXąRhpm*a)#DSDr` q:-avgk— `Y/$U0) ,_Mڪ(<ح?T·$yB!b)[6*1WFِ JG#{G$X7JMEm6 JW$fQPҵXYd*$[VrHUoP[!U#OH1$YR"y<) Xf4,-FB+U`,=V!>ܣ_{6jIfWV銐VEQ8 ]MbC 4W\IT^XUrdxT% c%nr VrŐ3$4REbaTf+2Oxw4 pHspn.1@phuAGe3)J?Brէ*10e!d~)JIdq80})$W4GlCzY*Xs 'T (Q"z.6G8D `κp>O$Ut@bZWʍ)2Q敪M6䁄Kh a +DP }UR-e*E,ŃBW!'&Ӡhl`""q_+ *$nL w& u*E}R,L DՃ,B hth L`K}F%rv nsZ Hh pbJ5 b TXu=iHƲJg(vECc8t7r $[y| 3MdO}KD$4GTH[4 ܄Rsų,ᏹ:@Ålv|2EK`#aKRŇKḽ‡ʖC5IG4GY:dAt2!QT} FHv(84tC9Ѯtd[IR>1a5t0 VɧC,K&NU*mRBv*oV\,M wZ_ar /BȨKBHsccUDj6u3qANao)`D&4&H=)W@A) 8\0W]`v2I$vK)}DOBVbJƃ`2s7rL'j\ @d ZPE]Cy-EH̢jKDm]cQ2th(9駠,|Q2I R;Q)@(y63:bL vP ?)|&UDpdhV*[E iic 3eaF%65 >6AH+JrFǢPXۦ2cM`tcgr7WD Pcc1s>g; <{M0a5ܥ 3]j V $X˒q[eS1UrǍK+n#*UT r3u8ZA@|ӅAu*E$dYt IEx,n@iuHMM;K҄J$儿bh*z=5 VhMtنBFFَeqڶv7MLHa@ iV6i:d$*Qř]H~$T9oEQ6lSbF*C̮J*^ \Hq++[R}g-?;T #:BX,8P $F ʥBγ 5EUJ2UsJ %lwTh擪 R=*zP8/=8ONք  fn+6Ǩ6",RYd.c-hj,>zH.sc܈.SjcXl D'c c0q吇eiv(CXy$*xXDu4npQ+4q)_pI=RA/(A6idt+yZb4qlqՍxA j%1+`8 cm)vx =,8o $R!2¹<w_.(B腇q)ꛚh[ߎq"7)bEGq1W|U(^V",^+ՁC՟icB!?Ƿꕇߌ'rqIDWp7mCB4M3$<B}PGRwX_yd2p̓/b$,R/|P~]l2)V Iq*0K hGJV\XU*q|J!?^I<[dߨVC(X<-+4&PZ~D6~hv aqU8M>;؞ֱÿoB~A220 ve:88;:9:es~)k G]Us#Gőb/[0Xs zL;g6 !b3JDa86_ 6 `I>NJ6ZD'kvm"PBXȥɎ z%le/&!(́h{ y]+@*J 7?b_}Ec?n^[- kkeL@X+Vn1p!Suܕ16Qβd91tqȍ Y\[DBT)^\!cW.:z<Tnana an>q?9@!,V1葥#;1͵e=XPTy`H$4g&!>N'3Æ*8(c u\')  P0PѰAs`h7N0Cn[*69G/{+L-+//! tE82UbI6PyP0{몠]vm"H Or#hb"aDj5KLxmrc D$*8V0.8Va4Xgi+;A'@7mu峔 Tl~"x :(3 W^s+,K5eF(PܲliPaNx$(^]GP֠ ,IC嗇]Y,*E Liȃ ڕ+:@/ƍ:nv SFA] ِ݆+Ȟߖ s;ٶ  ORoІAğ4M*>9ySB' ' A"gmkFgu77.HYXy$ʚ!8ΔJm*XiRɖ$Tr<ɂ(PT\WBoiP`!$l8&c&B|εV:`8:t A',M$fRz*[}0(9 Cj,+,9IXIZ qu 0;+q]PQv|謸RQ\Ƨ-pWZ %nD$R,D5|JI O0B0ow* r(u; U/G $ҦV~4`|Uq. QYB [VS  ITWI!JN5JF4Y.3|XK_,#3s[S/; ඔmxxJPcvRr!Y:+l ]+)PIhKk3/ Qi`#4*gB?UaHҌUxbҔC\^}ڨ[4SHSʹAʨ ])R"|Jaf5JtBtb<)g9K< l%5`bdR$MyAw@2=Եt LT0ә Lh=}]4 ԤWz m5kJ3O,(Lj'tJ\C?Vrdk [544T!0zkk%ۍbR̃la00yu0LMCULFͽgk4 WZdPDLEpWg|)zp۴hgGX%*C@^`X?Pl(D2PPPX-W 3+ef\_0[{ lb: Mãm+** a e ^,)0ͦE-̓p|!/PHa#q$7 cmneSŃ  hSH2PPHbcʏ DW$ %mBq I=K(E@X[}11Vx 4,Õ=pp}(~eSj&!HW@v6XhH0hX:P30c&-c|&*hpȉj^Dy9wprlסӿϨ`TTTWGYf͢E۷cǎg޾}ɓׯ_~aag϶mvС/_y>|K>|+W{͛Ǐ߰aCyye̙CsO&U<&]'PxH(Y.vI%OFK?aljz|FTf\V|Bt)L) 7eītݦ4mܔ'سdC扏>zىΟ9r@/_>vĽl;nXohbZf-F?mdǏO_J_ߚ6Y[WλijWHm`ŕ'>%Wfz#'$3;{dzgξ<%ś]Y^5=Ko!]N(pu݈f:θ0W:+8pO-s>:-.BNiҺmAw/hЋ7vO3.eJT{ۦ_^ܙtO_ݡS ߷4Yٶ'&[L ٧}(`魜7?_:}c>a_?~> *__|:^6'ݚDu1,r|y(bQf.+&YhRŘ)apƲyܩwlgI~E:i@=ro7ԛyc3-Νb]ӿ~G: ]˽9z|Ho5 B7 jP44۬K!6yMzJ3ddz7re\onz]ՅO6\\5gtAްin[iśmϜyϪxۃ4ݱK^z1XeE$5t|fJ^Ƥɣ3NLZ4E>'3)%~jbirc6O2j-J8ݤnD& E^உ4݂K\qIZY[!ɳe_\W*h$NSQhNfpfnmF6^ }ͮ 헆Z5߶ls޺ٯfY.fח{tϲ<¼Fyr6!:uP8v5?ʷ>܄3{`㈡m75lX+մa(jQv9O,V- IVVdڥ%y >?7GҗO'<8?OY2;zlopkt+t946diaygBɟxoeh˴j! Ͳ1tCƾdžMXdv3N#ZIk6 :{Y[jFh{S.?rWE&q5yjU:nzwߊ|n]L2wTlqeཱུ,,:>PϬi Y,JH25;qf"4 MM\<_7`+/l]jiԬf-jlS2t#dfׯ_/q#iĽkoF^?^(KzV̦ʌ_,,2mLWh4uY/Oc47tax3L=7nq5m?x,8WuQ0Mݱ5/-\V=oQ'Gڸt";3cHvKz=3o˃l,z#zs}ⷽ(blgn?oTڀP4}vz_2 h#?_kyɑ3?ǩ[J˗N^ؼbgpgzjxHAtuJ/lcu9ux~aSl>7XȭoZ庬p~_d! WNcwkC!Lt,TvxIr;N5KѯplG׎=hNEum^_N7bb%0l)N5]2ݴ˴z5w{jYn> 3^dՔw.70y;~ŖV#7oF \k);ڥ9#^u_7DF khOr뵉y[YZhqf԰6yƼ&}~;\ ]2llVDǘa+^Ps#u B&dW镵IVfe]+ '4n5mn?xİ9G>~n'vU͌=Ec3?^rܹB7N z̹N}ʝNxb{t}u>x6KaB&R?\PiKL;?%򸔓 ~l$rȏ;(CE??QEdRci}ogX4;`݌ClҬYĄ$ĉ̚?Fg6#vJaR8%)Ģ,]hμ9cݜk,'20= ,c)06-ȟ#zA~2lzygs]~wޛ;ڰY7 ~R^\Y疑^]x:& 2sL4Uרuf^iZԨcSsmtV<.XYpwI6i b\kiy&~}mJO >y]wSdrrwm d?=ut0M EiNSX(/mv. O6$}gAƑm5q0{E5S fƢ4Rr_syz,nM5٨0&O̸58Gk66[掖jgfx'F^2.^Z 42v}k{FKn{$fM QQ#s{, ]щsf _ʭ= u~ +989qH@ATD@pd7G @ d%9ͅ;;;3Cr% ʩr" K/H@APzvJ~'U^;sZrݑ%|j%O;7]sa|0e{V<^}?m5㒕#?ڵ'qO]ó}߫x}GK/n|)Ouԇ.u7>'oxc󁿭k߾/mh1[nu_w[o-7.,=lvoٷ[/t^&cU]O+>|6⪛Oeǽ>=Go^{1:KVc>nuŹ|>x#{>5տbOۏl=cs?hyZھ׾ٴٴº篟9W-pץؼmV1{锥6Ѝ[LWgd|ҧ[s+׶=_?V|,>O?Ӯ;ڧ|ͷخ_ytU7N~챿:u{7~o/^P֑ )^b#*cO RFY֕NJ-ǝ0{qn:;o'nYY_?u]sF✶K۞R>{W+ϼOYJ܁re_9m蝞{;Q@[n8Ͻ47ݗ[wןy'/ZٻϽY|Kyk?_9ϟg•6m٪eG6%oWW粟E7o:c]\ޞbG VֻosozbfQۿ]<⿿6}7_s9amqF7OД}v=?h=Q+loFWsVֶ޲~qGu=_\IX|-͟sg6u/sˏOdߎEKR5v={n^셑;ř}M/\g8w.|[Ї\ܶ숑_>uYMNyݦ~> lq+GߛN5tmו|qf^y܂vy@t?o[w'';~k/]^sݾɚͷ}ت}ʝӿ/z?y?wQS߳~#i4L=eY]O=4b>?_37㪻|O8G^<'o}?j] hG{U_~7Gc^:pvMauX9^r~fǞW\F{e^KϞ^-?.A]_ȔפֿN+O#Ȣ賏 :r~nĿ>qA˽_y]]1%k6xbSG'|x)~Ԟ_pv98)ϹqgnkpKnv>>vͮ+Gnv{;?yP8y~V~'ׯ{q*#{egW毞<߾?W}G-~cmϼ8z'n˳MGt4|+F|'?_9w.i>V{Lx3_w~Q>p#8p49|Q=Gn]wGmv}O 6y׎૎AoTFa۾oֿs厓^:qpɱw\q+xC/ƕG?v}0XE>;{v=q##{v{׫+?`n'l]j.m]{񳝧ӧ~xQ}?<}v̚}k:f#Ǎث_=u^IG-]w3OܸqL6nsXӲE][4M8d&l1_s]x_WZ=+֞kv~}.W_/k~0GW-yK_>8,gƮis-M~cW6ȱWnm/rv7g~{c7]vWnz{Ԗ9f&o^he.8vlz~ښ1~G3|5su|uo?|8腧n/=?|̻j;/?[b/C3Mnxdfco[}ϓK |qo-kz}myG^~׎_Szkןy~ݎ}/ϙV^š->[R{S__'Vǧ.:ێzeZvڽvǍzn#?߽>jw]:~8y&_e}-ʭka=~ݯ?uّ3*x_|[wWo.ʶzzǃM|렠rø{mg=|zk:W~?UK2:/}'k_S-?S&/'xd'ӄUvxܩ>bq7MzoχWS>갏_;לzx=g=SyxK.w/KKMү~u^S[q[lQG|S. vA7xW(]SY#6Һ7}t~v̛}oܫW.m}h\u7.菝on[7tg~Ǘ^p۝Wrxѷ|gh^vN:Wcvo7_MG={*s9t9 n9ݹF~ᯎzGr*j|⹭s3.vn^j;Fm6zxӏoղ勗|dw׺^\W<՟߼sf_v[Kg.=gKv꽪؛;=|{zzrՂuWn7*r>߽p\SR_mJW;v;ow\|;}yu[r}VgŅtGW=F|&߹o2Ib:IĒ3=6U^~wwϯ>WU+v>aI:u5\/?gԚN^uhvz晝G^sO#ts/}GGb/__w͈OvϿrЩ[I'ڣ?WqQtغ'\]wLy?9u=O]wWzdg/b߰z梃ܥGc{7x硫Ձ7f?%fsë;WmͥG_;vWĻ_n7|O?]>_ZӴo6`ߜ:?׌uëX[om{wn۷;g+^Տo=LoOwgO>foۼt?;;ߥukĈ?4_=kӑ#M߻_ڡNGNOGޙ?߷czfv;nsB'JFN~%#gtpgOi_z;w'OYu 1g?z~ǖ\ֳ˗? oJS~``_1V^b {yg`+.8,O~o/~>ӵߵ|%u8oo;z㿹cҟZ|{.i﷼/N9o{]^y&nܳ8sή_|i:x艖c=3❋G '?̷ۛ:}ےV~K_wFqp c}vF!e/vm_}=IOmzֹa[?rs,GO&|vvnޢVゕoW?iqNn=}7G-^k)wO_Yy?Ja9FE}E_:^5p͗8pY+[psFS[m?\g~.s|皋9g/<핟b4ꉷ-}kOGb;;>u[ll~\~ݽ~7ܻosXޞO}i=-7l?mgIٱ#^W.ž?K;?ߪl~=x¯OֺFyW3cƇy[~W:goL;wWO[~ G=eGkG[6' \jğ<[7bw[R~)__~w[rפ?k߹q/7C1e>r]/{>,z~ {O_}x'?1v=1][w_Myۥ=yǝpI;v'yG?[~//4s[~Ǎ[Gκvw9~]ɒ{>r~*9#ΚعQwuc/i~Yn|n+>kd5zE%g~wܑ4SWmŗlj E|7_;Fw}M/|ࡧG𑣯wyji6zofޝg_<~n3-cմY!O\=wc7￾μh]O2w.ſnc|x[ܰ.أxW<|m>N8=Wm9풳rԣfrWMٛ-'zzGO=y#.Vo~OݸW^m=g^Y/O3'+_jU/O|bT7cܛa?6~cݤ^+BMNĴ;$egԘM69?0뮳+tm27,q3>i~?,{Md&+>HlL27j[|gfݩ2 -dɦ^oH̿&okb&_:5ӧ6㾏j>mM ߋ]xrV\;bbis-m_|S,isNKjuU)BǪ^} }XSb#*ZBLQ7)5ѣ- IKyRG̱M, ieoXTѢMXvciLq|܃7o][=>)R\B:n5 hk9T^[]tՑLЀg^%jWmD`08 ֫Iį_ȓ<-+b11^7~E!k ì:2Zl{9JP78͚jTL)ġ* [s),>aQ,0m3 dZD~MnwWup4I\`Ibav J  LTv;u׏C,{DlхUL(plX¤YhDB#ɝƎ #[L>:a99X_"h]*a8ݒI%ԃ))u!6 :{ +.0aa9C S&`^8YH9q.[X-IvOm5R[{]8hv%SAp*`-%g:!.p ~P`)kbb} /eaf|1\w?k%"" H4|#Bqj-y{ Lgoy>M4U;8n*u`~N+8@R:: bs<54_MXZvgA`nd DWXoqaJ"1 8v)S=:,7Kt} :E`mC,׫ő_'R]v7]ttqy3e((H)ư~k8aH>=*PlnIeI -N.s(P)0 m+s#UK8nFtVX.YZ  ,bt sbtYB|$$ bl$ &-d<.iyRޖKK ljڌ) W06I'F^dY꘩X13uq=_,tvl&VKbI'%4r\hr27* ;ɱn!9;ejbRr~3x|@@Kq~'elVEԴSو2sJCk6La,C[4@mC)mfySzK˪bd]vWd+6!K/$GZ 2Dm%=C.3;I}pU*2Z*43|dq^GY햹ҁ|`*ᲭA PsAMXy 3X9:I$zReR s첣-vQېZ9k|7Xᑥb@a[qX]4DiQ\ɦh[PMWZW }.*|Ӂ{/ă; WpbnJo V(ԴYɛ4?99gШxVeT:K0ߙ924KD!6bhI7 brRJsڔBU2Bmb! I*0\Iƫd5eq8ߢ"Vw p0ɲ/b"#)nƺJۜ)3}b:A.fȥeh&sWYM#;{Xm9RJou;սD N3w=vd[HpQLm[F<&s]y9Gy.LV0٠UI b 3QgiSh. Dm;"Y&AAIfZnTCxdT-!0VRg.Y&?no<~h<*8ca2󈴫Tt4)Drt+p&%1󚔙i A3˺ U^U~?&kib6Xt*,^~ l+jSdY ج>&GJsPqa#LJ  H:9W"{ [{Y1߯tܦC!adv} 霻ĚySP6k'c=n^Bfd흐p`Of N9Es/27ADTv`;g_f2.x!|z/; ER6D P+N`emDP,>cQ%(oE~~& `rZz;. (^{zzhkvEm-kpB)RYVk5lq+dͮzf޽cv3J;X:5<}洉8Xj83j6'0J׵xa[ј~3'# M>xG7MMÿ,'u,,NbM2~5='S6;en{Tj l' ~?J6V/0l=~űY8g! CUjkHvotX؍ЭT])Ad`(ZźDsj^Բ[-{,[2eqmWi* k3pݒ2*ޖ} PoO!ۯWd$;\g?V޸}hLaKr?(+xM5WeWRO CJK ~CM,Ԟn\ȝzn%^`L@ž}6F}* qJ>ws>@ɫsΤOKw=PiT'a";f4ud0nׅY͙,:vm=2Ka{ LN1tQs_ses1jPa!vEƻHUcVt1ia#C[$J邔ʍacXBO~g'm5ܚ.S5awpW/ Do޸6(]&;C}WZOROKו clF~M4_8Kh5; Lt{he)$A*bEtj(H4G]RiitTAfɰ]@L+@> ƕm$ص`"]&]&׍vkP%ǥ6dWdA)kH2|u¨!umZo:2$ b[ȝ88Zɻz˚";H ~ .}a<$SS9}# z(02@e1yiܻ!Ak:LW*!!ݬVJ;c|tFՋES`GO̡@f YGe7]|8b Ej"Nw=~P#֢^l?ʚ1:)j( Ř"lNLʓGYԎ5XQkXܿM0H s%Qwqp~eV Py%T4&4$bT6@Qp6Ş-'Ij+C>(m"6+40* e8€6naLSQpfA4VaVL~$1V"s| X0]`)4Hq)]fySy&%KTY ܓ)8v;ʑ]>  bďP06fb_;RZnvްSA:g@yM׌\F_;\!R5WwdgĪ|m\;S n Obɴ\@hMϛ)PJeJ3d:]uU $.qY F?nBGIz5OaX ωi+Qm"AS8f#56`JY/ Ӂ+p ,D{T[ eMUrHg=~H]%ܔF0 I F==@3HYhJIyl7P~#Gī$9.Q^Z g!;0yBA ps0GH;#bap<Pq[yh.yY73A#*Ĉ\6Z-OXH*DEnl\&qO[p.I/]P,&.ΔguީQexG3fϸ]a>!U\e_\G 1-LR F<850O1Q#U/qvv!U"̓%;ڌ%)F<@I&L[eg5-k$xd#_'sB:S MS0feNl8q3=7# ZYNgRS_"3mFk6cxTYr8#_ryA ,nz;y~"P2jdJlm(bϹ+=5 5o4"PBl.!,*Ā, 1.Cl5[ FX3@+v\=H,+Gß5ie#!`Z/{S'S$yZdp:Mݼ80a1zBrI Nhc014σn07ȚmHYg IÉ[#?ܰ craxq!'m/"cx+=G~NL5V^sut|["` f5:0Pinm8Aߓmƒ)MZ*Pf 0Tډe6'@IֽϐñLUvKH5 PF(\j@4rD.Ntu"g#J? _ȍB?۟Vr+~763ɮ4~{Tni"b2G9̣֔E f*immP fr5`f+K|kt)RU\ AqlX<(PsD?<󓿭NT>]X,뺚p;a+$278NR&Utǔ^]x|Yc5}̘3oLĉN D'{d"~ tD^J(-L3Q+0 =kMr^qzT Y>iNFd˄@j9 XP2U K f}2r*DFJ w)!dHNC4;,`w54 _xNi  .Q70aÄu8Hࠆ|@xDsnsb2I|*4O2ih)ÁZB /B -]ܫn˺)>WCe}r^jHhDq݉2ZJwQA0!Qfe{{%a {##]X;=_#:"3JMM.Ʌ_oUc}zʼn ˼N&w*=iIaI(I #^j$rR[{V@~mC>al0tpIj. 횪IRCY[nvJM6?Y5Іio#X3EmȤՠ;ffķ37 " җUɠJ~ւz@LߐX_"B"4QJ;AjBD EcFɌ^P/)m5Z: (%dJ?I~xW=0Tn ;9yȳ\膋@jA+&c( *fyv겥N$&o}@8Hl-ޮ*'ɭO 5bO"`عu*Eʺ !Zi7b֪h:A]<#>Y0\]<8)]Rs# \8! fQ9^;:C9>N]J:RP^eqr}jxCM!(|嫏 GiuKI2ߞ!#,w߰'+6l'^JK]`$q~BVy:lى,袜{kq_Jh/| G$p/b?w2J ^t F+{@jž?H:ds՝df쳈#o` _ePBxP^J,xfSp?GW0:S;ǥN~Y%hfU[{ 8Xٕ^2|XsHk35[厗Iz{}e?6D%Jd#[Յqd꾐;5 ǒoHv*y =w󿬈sf_0Lx1Oa" KVߙ'Cٰ ,cw?᠃[, fbX<*Re8㺸z-{3bY]Nou#({~쵟{g<(LGӺsݍ^wן ܒv:jT9a۹A\M ߚIQn@1Pf ۋSu6KM3dcTa1`r:H6-66_IB 5t^2q*@N$Ln6]t1ݟEZb{ЦJ1L.-/Ð' R逿O !**6tҐip>gbFфM H\;Y(4JH;ZM=(*V;XƔ̀(CUǂ(C!J$Vر`cmЮ:P4fLKckoUUȗn C,Y3kܱ>?b2 W}w.h ZNX?(Vn- @ū*Trws HLtgZ eמP;O*,[L=Qs N)* zh7Kcĥ'`Hk]3sI( m:~2_2 YLV3/)P7;,yLh "_hX<2jLaLdp@COLYȔ%i):WѴ0YhC܀;Lȭa>˳~#@z & 6pyB(MQt8;5=Q%nkd,B ,L4ҁ$j&[yaĨ|+T'uMr4LDkM(Ө0XqKfIdfg7pPՏcn-̏7hˢu&R$ h qEXyҋRʡ 2[ĎTMz>!9>y #^vˢ`K $e A@KV+Z " v,d&yUdĞ ϳUx))x߬[jaV^`r"p%yaf`>4eR ~"PdAHj$V%^ dș{5@_MEHL`N "rІ\ ʽp%bPJaj G.YUS,ZBT|`ښojAJcvZgU'tZ^ bGSj%yC"'iy؟$ʢ 3Ã=LYKuMlW8\~ eJO&(Gn ($# )ƼTA}L[D '΄7-C?`3;o=)#Sp}8՝bOV24PIKaCTĎkvMYw헍a@KU 6>ŖtV}>})}E|0[o욪U[{a0T{$ZāXHA{=2zEAh,( mzKKy-nM@_<f*Td@l P,L. 8졸u8d@z,G5BCW*"Tt\Gi~ 2mxͩ2#@@td`CU42Bd+idcWŒ7f6@ik䬡 > )59P=dXW:iUd 0 &G@Z7So#Qm#zŋ^_tǮ鑅ŬBØ1kq|UV0@>yPC b:D`k& r׊ 5Ur s9fs탃)8\#jnQJAESU;F I(58OEh>(eBF8]bJ}ԠٗT:`)Y;+.!Lr`O{PD$c4D^^+_Q ;a57 Ԯ869S;x?+[1r1ɮUc%k*ˁynEG /@y%7+3e,7K[C-3y-{IVfz^ yTka9=XU| \>UN Kcd׸=Wơi8e5KJ,X6yI-_Ybp|&Ĥ;J-.?jT/az6kENO OzNXEBx#˾ϳiqfM ˜/VN3&C2s%T2}~44sQi(Ρ AJ:\(_`Ȁ[r%F&kjs#qQȚU *c?~P~g,ICa69 Ss- Ȧoٹ1 T'V3@55lF&nD:6cC$&HPD|Ѩj@vRq/A`|!̱N;;i z,NJLi1/AUnOzQ0,iS&%fUvCF_S֐ٗKH2YR,E&bT_jmJ*x/sI$'9=S^Uut;8!zPt߮@S$3]VL"yVDrNqʑKO0X% QNdfJ p酥kNaB~H]Hn PRKF?t61,oX뜲',8aSh$2cP`Y4<ܼ"p3n'RS16 Ѹ$H>v&AJTq5@ãUwr{jŪA,l\-i6wNد?Ektτ'3qcoqf_;\qx@ď(4Ȅ%K6fju+0'K9rٱty[ynbc./WatAӰWųXR+094<9'-;QpiHբ,l"L~I~,qr^OePJ93_x gan"QM.(fVZ+MM\pfȝE (ܟCO[bRW,uΏWDy6lQF{AG9T l8=Cy^ 72(xS%xSL_cH,DZWz)%m jF({;d#Ĕ$&=9VCvCzՊ%6,/0/ ?Izt5@p@Fifr"Mzu)0[5H}[%fVe;9X^^ 5Vdf̘f % dzPq,84ݸ3x?]MDWgLwZ9Sj.L:5 0 ]eQTq*AhqO$ c [UX2N\$=.Egš [c5O%.Qo@U>%tЭw^1"yZ#gN(rKNQo&$N0j(J(9<zӎyg7^FXSCFpR:S 7Be0 3\SJ\ֆ9͚dM#0e X`۩S% KVx Xq `v$s@FaA UǵY8g̉zJl\8Oƪ^ Zlr;ۢ_xq-E8Io(tyTewu;mEkD@ݍGv3ҍHꙅetUS'u L/eM)kӦFM%J"2CK20 {˜n:N0#_ACA`s2 E8,ui:5EBT[ !I`jo 7e\ns^5GbJ&*_@bzt!/fjዾŞd4p+*n XMhA8>+9"ꕋ! ~0E?Rq$ˋ4>. -8]u|#/;! R (w 檥*`0VUB_,qg DLޣ%HKR Z*LJ*ΑZ"p9%b#R?ţXP{ YCfUs F6ujbVr tۡ]aD;J^GeDsPV z,BO]H<ϰ;z{1vu ՞B;N+(V UKFd*Zz7 %Ê {+ uXPCڼj^ 4(,v F\|Iw;T"t$Y9Mr,J8d(Peΐt@bٌ *՛ê&Tssenc$լ ^95T5ؐĞfN]U %B%2 O&^MXZR#[)[*!&JO[=WYӑ*D8|72 ! ^x(Qb@@];7脤khJ49aY&ܡʏz.ɐ%+%4J+jOfI2ٚi؞0]rqYąj=ˈ3rr;ڬÁ&ZUWWk h-dH 2 f^`-pj 65kYQg %M|jfLՉ*Fn%-!'ՌZUb5 ]Fu!w0_",z:%EQ8uoL@T,1j3P%ޢj\d 2RWdGUL ciJ;ŕg*~W铹Gt/:vJv8ծd&j~CjӬ]4vuqpT&[DI2 m耉^󍩠sGv+| CNk c}!$2>7T$(;Q0qkPdQ3=oHVCHr$ `ڦWVd%8kZԕMadz!F3^ IE&vgtF t$:y?v:Q_n1.1)F_道c ":8 W-߭bX#.=kaE=bxIdO̜2eT2!eRGi<{Ryޠ=CaKXY7ZҗZGN2DZٸ n8>gMEםAX!8R N8}?|aaO6%Ck'a& ZAk6joڣl{gW̽}̝hx-,oMntw 331hAmpflKЇ;)0-2.;hܲK@ }q%^^EzUXq֬yұk8We.ʈ*}?z+ 8;3 ul<)jdžh\XƃLM}e=Hv o)K|$;v3y!R f2,b5nɗS>Ңr<7+u E.]R2#͘+]Z$5A!8S(uz8ř c?9.o)p0DNR=E#䁐(379Qrt 3mMe\MAH 1Sc2sGG*Nӱ'7BY ة_ ӋֺR?Zt N(s bq7ۃBn.l5܎a-"rEX0 @nG 8ͬAe$atu Q9r=2lnSC!ȷL(]${h q&OZTS[ܳ +ndg1ƜxaQ Cc>ve9]6 D2*lbj*0 x ...}CTŶEA喙SaB,r'(Ip!wC9w#~=d@ERy>qTQWqJ1D{1ZlvwD;ht͙HG48F|tΗ)8 ;b#Ra-'#'cT yY $ dN/՞56X%Eʗj-t^6 I)Mag-9z^;G:"Wz`ej§1? M'NFvT/>KLnč b8Q_ςE$C,dr.9n[fweOL1h_6deJqɛFA\Ҷ2φ_醤?$*UۆeR9ěS ֎ޔtE']PkL:cg'æ`St82rss]ee) {Wz5 ;b)K&N'[bH'ǡєe)l MB"O;lbt .81*(2Xl".{U h}J5IVبD~z6?hۙ<ުh6e̻l`5y3j7}r\#@cf$fQVsN*NQ2ìrwpD0x`:%wKHuO8,B8N/qrħrD!UIhʔdExcЏ1*2"2)WBb. h9`"a=!`25_^[y%ެk'_)đ/c=0~~mmkc3}kф3C}Mnl:a@((܆!j[| O`#5 P5 J qrlL' ̯Ell0X)jCo5H #/"h96?{/y^T+%Rt'x$B,.hY?HWWkFə@tp=I, iц:zoGP4a&Î6>-fP?{8nBW pJ<BFp?c\FBvx l$%pCQYLF1Sת c1JH8lfJkN{-{$6E |bt})( w$%/vgR5%Zsrk7FFSƟLNT,tHyH#4PP,460 V?C!!J g_Z$#xB$4 ~ vcuAi\Ѱ:1Jjcd{Cn.n,p0Ly8ihJr28`:Ú>o Ӕd$}YLӭA}Ҵv/";l< 522J7PAeH{Vv37Hj$~jR/{&e+Az+&uvöq)ɀCd['9-'u8Ot^\64KFᝥQIa83Ǻ/pN$ѳd2 2$F30"af0!&It+%ݷD!~4u3wF0 a4k&Crlʍ%K peg0x}d. ~Wub8A ͓Vƈ%iYe SX8K1cC/ ތ1X%@㒰nfIU4Bۥ4pNEE셉ώle/9 4!'&"Dhdg`xmM˾`*Cy4Nz$EHAXb Ofm Sjyh>'G#䢙J3WJ_ 4Gꢥ9gZސfIz cy(bI4gќm_[[ԓmYydKL nNXcRBRp7[( l$IlGxl:|2mw)&7$7Mi2m7IzuRp qt'",=#16Tv=`q20I/fVԫ$ʪu:s(39rr͠ 7<6rJsA z$|\:δ$NyheBR& iY1ά9 5\sIŐߘk"-AuNTb懑SKcrjsL%Hp%h %/وӇu' FU`7Jt B̈Ƅ=jT` ̬_y$͡J5OGl' ~?J6ZcbU>H*ۂ%>XPv N+8t;Me&TLXʈp*>~A=>YLcWkS'XCsnMS0) OM.ϊR$ ݈#i+uP} $(~\5LG>ai,0(*ir~RdE K,ȖwQ^xyIR>IRsf‰Y-aH&ek:7[k~5#y/ ﵁^}%P$j)J.ʗ L9#KzOLYJR9fZ *PB&|}hө`){ f"i&ÚEj4_m7OcSjC<e-z 2U 6P v&z_s1+'4fg OPpp:A$!:66_KI.:1|1C|kTBJes:2W|JO V8gss1 :#WY ۯvS \KDa%Sds.h"bx]VO؏6kሯ*):zI<_ai/xs @(asXbN6?lZv1\%/mΤ?ԚHn펦  9 G4vK N԰@S$pGӴd Q b'@cE>*,tMcc8O 6)} h0w]+llz;=U9Fà4􁑹6#J h K;4flhB vcA~!|e Xk29[IƖ"=+GTb(k*P̾ h]SIw#ϯ >Ҹf2-y>=ʼP66;\ In7;`YG:Vz{ɴ,fQlccLB%ho#-ѐmiWͰ67՞ZFÿ IǣnMȨM1.XAE&C߂/`+%Gs% 0b 0mD#87JsG|!/IG>6MfnHvnCnM&^Zr`-n&Q2)4]f +l& @싽D?ew1]A;Q 0mȁ,r3#5=Wf_ƠEuP6qg9nʎ1+!mC&ЎP'vRc - rҥzV܈T*XjI[bK=FRn%=3/P*Zu5bQׁC%DW`i gZՑkbNTPb(VD?Yjg9MaB|(RdJٜ9V$Gm$ӹvilBܱ~P7҆xd='(h\-A\`i706Az|a#H]a1lx +[ZМ~ Eppz*30LPX^#D-qV"U^F͵9s /#s.F u4-vZ%kiy t(UD˺XfIN*Y$"R9JHLi0MEunXתcI8!!Ksd,[Zi1uځT\A+$ar"fT-C;}0p>卍IzB"8$hs4 @^)`T_P&Y:Ũ"}Er _lZ lGhI/ڱK # ]RZW";@g=>R*GgD|Aɢz$l|kڴ}&8!{g~|ro8. JQNɳ)98tU%c}&c߬nX;VfV/*M8[0o^Kp"_,.(Uޠl._z8sg:|,߭n -qf]DZbE+bыb|]6OD<s~FV:mY$'ϻ3'Ae;+=m%@ScMчǑiM44>l/}* n"{e ʑ6ҶC #_Ӈ]MNoqXf}H^g0yY0X(|`(pIXWnXvq@*Sͻk'fcC$1[+p>UiM"B< TN=" 0V&DkH{Ȧ*eDd@ eesm'@^K=9nؽ?\6g-DV|"i(4j^8'- V3~"FbA^6j{nYmj˲c(_̅ NN ] S. HtP|^h7J0T(RL8Ki<VdRB[F?%ؑ-V {:AIYЧTj(wa %0ͷW֐n Йh_"Ĭ4:':ݠwіjØEX JhBiD3JJ]sS)b{#d(*!*rek; !ja=E|0/AQbrbUEve:S7Y2v إ,TR{50`.]DuaR7,fj*ï! y$#za'H [&fdpYqY3tDhDYa,x㳌P5Rr5{BFPe! XEGI[.p- r$$G|Y 7R-ME35P2%LJǒ4H3%d+48g1xɘjvD-D#ӆ$Fyëvn6щE6jd.3"\s-pKUF!lJAm)8$ nߝĉ9hau|\rP(SI((*"J+A`=}W?xXr(`|7Տ-m }˛ C)# n6!cZ_(ub{@\58&!4PaLk+ݹ,6d|SwM ĺ;̒_LəMYk* ?x/>Ιa~ 6.H=;Z𗚃U&v-Ow"$uv.ZgD7"򛺫0_C_/k ag*=!xxB6ǺXQ !7AV N )D! 8L m`RkqR|ef9R5%泇u1V}B-"v&`|5h;r:i<u`##N f}؝JَJC;m8 toy`~$Qr`R卒T: + IX:4ńFZ|= ppEP=8}a 712,|f&(ap)oaUcH!? xkڇHmZwםˉ*8K$dKs K%SCe"i P5fQjz*(UuwXZƥ_5A$ |7#q5L ?FeF?c5  IZWx"A}҉PUyukݵW\l` n5U^ {HIlHQAAq_C?1h+#"q2exF4e\j#T6eDk>3lo6 kӗ3d,u00FZAQVh:7at`u$Ipjr7rr3] r8)cA#_tn-@&f0\ "ff u1ZVFF4hU" `N!HT15R6 1) ӍO$q_'[݉kߋ>h7Pc 4i 3c ~ѥQ)Wv%5V ~0 N$p#L!զ" Ⱦ¬,w ɋFM60;K!WuS0$d,)x0CԍP²X͂*e Ku¯Zwb#HP >h~čFFFFFFFFFFFFFFFFFFFFFFFFFFFFFݮ3'FQ֨"?X4|7BX9goQMl{ PӂYphY6Aw"e'.b9Y 0 Dv=֟3{l3r5 qW5f/Jˡ7|c += ;6,8kmz^a6#^/pY$^F <ρ:|d_ҹ"| ѐf220 | 6k Pղf el,YD|ӠH6Lp?O^WjFۖrDj-S}݀0orZ쐶@EX: KkUOpCʆYayc cRIH=EL'˾M?e Ȁ}Vݷ -2^qJ{pf!AL\>-9SqOAiƁ;"$mq;Mg}а*ɍLuƬ0[TM*qYj:QQK4xM"5jqP(m5cVJZF0 0@B#T35#s5|]ʋ;+O"PF12dpK`Q?N6MJ|΅EFuvwKy)ZjN3Iee@2yrrun3h_xHs瓟{4 SE.!P36'Y-nzH#>h R;3*Jó3t$+$i2NӜf_bDQ~H%e_(c |ɰ1xM/d&rDsE I/>74P,x/;^Jd1`ȶ t T-$"%O:auZ#\bOaRx4L r4y9 d .Τ_Z`N9AiJ*|0$Ǽ %iXXFUv#׌)IkAi VXY31]fX Elr|/EejG75s .l@wB2 SCR/˜=KN@V_o: ae\[3[A OZ qF!`0Z mZ鐉 s5}EZ4`H̑r3"(bSoؕ27CjyqAF:lgDb $ ֻN4[_%<9 lda s*! 9[ ]NtAӱՔ* . '23A8|.a-$r `\ǎڸ˚l a 6 D?yheamM~?1^%]FH MhP'6ܻ!24|h丂[q InV+/z 1va2!UWXG-*t &Cd1!1F;L7'!׏O_?1!o-洙W7%W}UL©K?EZ}#֮^m?ʚ1:I3`hdΐ)i 3.2yrxXHlzPHNA(&jw0fcd4ؒB?ӚSLJ,Af;4.X= Ƭ&ܰG2Ha P'|xsMA5Dz[^m8N^^,Ze;L n9>Pyx/ZqYci+6s:s%q#LЦ1~ڨIı'{=R\5Ue! 97PdUVA04>5jo$N%LT ɛ0 &G۱Im->A%16j1Xq!5yq;^aő[sC"\2PKP/mPL,V*ا GC`zCW^NLp&'Zܯđj@$DCS$l"W(HրGx@?-ڕV3'9,fZ! `S!\P1bVNQ+ä.h3Lrz} "Z'H2sA{=yզUF5@AmRoShz.>\,8!C5 P3v`U _Ղ (  k2qYdB嫡&+L~"6T^Dwg{ ,;RBǐDٮ*\~ 94 tDK`XHXE!;{ یj"8kNWW[4q'QCFR`-pva%H|Ai/"h>bͿoQ6:F PԣK ta'P¡[DV>Z(X+prЄ9&&MN?M8ȬPT9,:q/Y捳$Ee[Dq˚Dv#O*p7Ū )۬XI!SδHr:+dt7P"6X lh6YR87I#58H@E-,L8 "Y/N0F4;Aky a085if[GTA"*2 }&}*dxB1,T äg \[C?E)WPfsΪpDi&*,:̵):Pr1ՉM @Xv HG5) /M b#9k\A+1ll5L˶i HB<9 K!=sA%9a#6h-2G';%A@ s{\cc4QeI.ZN;]U!aLKxS._SN)b5|#'3)&i+FVB -H\d!a l $ B 7p9^G"B?fցA5MR# \OE2 &hA * SeSH=lQ3u*+O:x.ȽETjg ItA !_GǛ#Di6hgeІDCR2T wD32W]^"u3&rhAN B)AE W̳ +n5OSeՕ8K? 'YBBtZ̕s]P܂,F {LeMiOĕ G zj6#3뮾ICc"Jm$gAѠPE~a#D LWBF=@/) +ʋ䆵 Њ̡^:=7ZܜhUtd/C3ra פ* M3O'ĥMT_ eja\1t=4#W(HR57ơ:z丣^2+Gh]|@DcK;V-f G`qa,e$:p@% 2w#[p]S"(=Ff?@Qݤn7wn;XگH#M  rGԧAqW\hׁơ̻I.x6. dE{7Z3&=qR7=TVrM%ĭ ߮j30csOR)7HÅF|%&$jڛrP,m0N:m y1qY!U'GD1'~ nw3ȵtD<Τ"E6ACs)ĒF1ȶ c/DfNP831ʹsrГk+۞;A!~x|' Hz0$TTHٺ߯$ag|W cxBCU2ã\ZAhl(DZX\Ku\%LWҥ^E`nTxN$BrS1yЕkw RǐbsD-b7%YT`Wty5E D_ɳ8X(0_a(2K^&+3!/ G>ZTY? S8 ylB+5 e*Sw:dBȸ?h3W |S`/:vxKE2@*܀,uX1.#E-ɀ $I.} !>.%굊J u}bx 0'%t*emn#n BB;>#͖BD H=GGZMH* "]]d/XZ߆Ud%byR$_vX+\lOVJn1_?T~;$ol?;^6u:کEqLQ.Rwd8Pf(h)0cڸYvqp""FsR SIyj!%cb4yT^+ !}2ɋ,~8+[3͙m5k-K9Kg$);KH0\t ؼBIl;/V.msj9n0"z{ւy ]3wd1Q7p$ʿu nzyU?vVݮZxO/kvjP qq BU_g}Z<6, 9|M3ڇ\Vb Za5 -c`Sa"zJ7hvL֏:=NƏ$_2IrV%EȯoXi_<ʴI̓`W*l tVO/f9PNv,=/>*`X8re؞[KoWÓ7<w=DFKW3U(\6p!@4J t{b)r7.Lް{ȥ9G} -`r^Ȍ;_Bپl8Nk5q^I#Z Wm,7E@s-(W9&ߛ`Dl8\c]G389p$Zi݇ٳ>TA19L@_xԸOK%{SNa9󠹀7t-r}Nɯ'gvB})) U;@ax YozTٺGTzTkr}q\;ϭcbVžӎw>cב@U ]EXu$o>CBˆn.̷Dv[ $ PɏI\%>)-v.NFD@Mb{i4@`rr0 K)/u?MlcƀiߖZe@pn␹\6j@  ğJcE*vo[&]|fFdu\)㷤b[ƤTDB RÓEV{DD7Rd!df(ֆ7"(`H!жk%07/0zCA @A!2PNb` U6I#X.ɠig&1+rsX{秊fOV NLÖTPDDU;UL$ɫU i(DlQ*6+xat f(E8g ] $ YB:tTUmPQܧToފs❩vH$mXVB-kk.D벍LPXs]$g)&)<* onL2^os>M]|Üޜ%-'5ȶٖ)9Jd|< VXzz`Eݺ3PrC<RЄZȾ%~L*uzm[Cʶbe.V ]#Z,)hڻ:%vzhe}zu_db8Z*O ~GBUReӚ\aPP%Ch# =^?4[HuhIb:wRª R?HVSXioX ةngÄ.4\(Gehtw;r4jhʁ"t3~<VsJ" #g0PxGgZoNbܨPMsATzlb)(V$L[$ $*$y 򓜂A}_)W3PNgtwIDb[¥!*}ZVTtI=Rږv8 3WLIR$PRA@%UjF&nknWJ؞lg'#rBhDY {Ø#+=큎n>:W-z4(a# a ĚPdzh[l#_{N!VS@ H,ہ]F v,Fq58q.*Е(3&8G J Ka\cXc%s#i8Hg/je(f6ɨ10_I?E 8Ĝ%^-hB[D`5v8EoIaHǴF:̈G /+ԉW)(C!uVjk;V3nIH0ωm&_]_(BU4zȏ3A *z6b#SQz*q Ȗ8iH9O4ri+SSjH"7Vf Nw#CkBhtlFR )v2(]d;4i⒪bGCFe@aL{FBݗf@MdEƟXua)(,Z741;!j E(~Y,BprX#1 l.w #ړc )6|~>O9{M2WEδv8ŹSVfpN>9RKoRuI>LPe`"G V4=?ףO7qSŞt$@Tnc5nM& K5A 뱫FrZZlh SS$FF&FqC|p# Z6Nvӧ88/3;#" 7= lߵnbRوLrtSL}?`A"k/||J"U.eˢ,~f ]%Y9Tȭ %gE'<@L8px"j"1Q4 &qHXtËޗ[bu|S3蘕A;!Uwgu$~7H^|zR$lUKp!7%ySN6$k|UjZho/GjTm&D A s@\S @k+ Q m(r! 9Sqf d-,}{lZE_SVva qeiyJkFGI ] U3T ^OWCERmvI5 ?f݀ +ya&HNHxb+(xF Lasj!QĘRj6Pci_0v&#!O5"4QE!nS³Բo9C4.<9b,tn_*BPlE῞Chȷ p!&1T+vPj);)F"I(\[c-fgqL5Ƃ)J!nG C l@g[%*fM`*Id%#)q=)x7+FI/Dr?(`WSj+QŮ.$5Z0 F+ FqݤZ_'` [2j<0vYglmG䕼t>_#>ase>S͊8x-/9$3:1ev2r̅=T\ۧAՙj`b*iՇڜ\VkU8.':O+d#,g+8A$+2hlK`1[&0dq (X?G ' rl(oXDTQ;%HԢyŠ^^r:vB^I-pKZnC%O%hF-tVS7!>`#67ļRSV`'X4٥"; NGpwR^ЦTQMgL^߆}/U"A# gh~@NŌ Ck hPe'VhvwyQ$٘{AaNu97j{WͅįIxm5LT X[(n_Ta0|*e w|eóp<}e`v=ƌd 9Ejf%wj [ AHzD=#Z#zÎI@B*COHr-L'qye*<8b^ t qR NR(e G5 E@(4 f8xdwTJiSI6^hEmpRAYX 1$ Iv"m Q.xP,Xg? ; >SѤq̡IʓP$IxtFQ$u@k"H4Fvb!X<$lv i0G{ôqq#1:題#x U`"r?RL-oJGk˥CSVJi3TZEhTwJE~P$]пn!8M4RLy?V;1 Êi2d`cQ-F)nu 4k;[#Q. G{|+%)Ib\&c?O"j_֠5%ڋNߴ?F  GٶR| ddmc]+ `TQ\WO{b3rS%`ռji;/״ O8IV9?#9n$:s„1 /zY NT*1d-Ґs0^Q&1֑z!bUoiN q<{-,FpR]+Vfv`ևR,n^lIaFiZ&IgX!MB¡׊#Pt.)  2q!jv"=fLC`VC /^8=5?Rh %$cu3Q9DYm.i.ېi #9V`6jQRA'@jj0H9$(U%/ Ʌ-wWzY}dqXپ%r>UscĎЦM ˱JJMrJjS\qYصPCc`|fLaε0d!+R|7 1I2>Ild&0-@ J4͊S*14+r xF1ւe!yH=M WC 12 D66Z +#-Hc'M@o5S]HWYHX?vB p8ZHC*+l 0,tB[x!FZ2 . } !|"Ҟ{01!JZF*R"14I)ipD$rbDA amO!@=QPFBJ|4 u W&D]U 6 dy=aj`׸BZ5xL8d &뱕ˁ1XHi-[BK<Isš nYC<{^lMILLvDr L;Zyјf8, djG >`T\ClٔLIro6m/ܕt.pf@fNqJ)FSU)N\}L_Kt\'5tJ$`i/ AnOJF]+*{k,| ) ;`_AZwbn8bUm",EΖIIlm`ضVrTfI9]LB}!Ѷv (Xњ HЂ|Art-VI5 ǘ(캨YV@ ڬ69ݩDt 3z/Lfd㯀9M M[jX\%윹(.; tIhYTiG9FQkb9Oȱ$D>%.Tq"_(ghZ6~#I04a.2$8#)8!ڬr[TC:b lߔwi,DOql4 1 B̧Y>]5hmG*2P !0lK'HHYv7vX@w%"ѯ % KV@WUvP$ -Ҩ=X@ =9٦`ɍ6]M87[ Ӎ&,&Jy w@ړ+N:.#>ՌIDVN!Xx +m ) (= 0/\W HL 3| tϓV@K=+T}Vg^ "b,ep@5CFY `HBxb-$|PT9>}G +~8ܩYvJs\7~M(Yʗ1,l(=2Y@/kRL()WEK?ȩdqd2Ny(-?CRSj*59yKZl֕ˈlaV@F" t(XAz\it CΆ>L Nm--MuG8:D΅C Qt8Hov 2TqlH$^5pI1HatbRWU8P^k|8;JШɷ$[Vi` Py^@??׍%X.pPuSaNָ7Mq]+i[+ m66˵61OC^ͦr;حrCϒ][$kS-Ҷ6ie' y{)oƒsz ۅ~43U|v&Nғj @G"p uJRz豫L5K.}=BQ|̴FF'!#OS dsSJB.lJQwD}$-e4 LR2PlHpv-/ YPG@3[@h5]ƒ6xj{mZLqK%JkRx#7VG()C8/QǠY/wZ\{e/n#/KJ?SvJB\lAHt_ScU媪UyY+W7d n0-$1Ax@/|keݧ7ڻqefČیy3qIt]n!cV3a6 2,z&X"͇Rދ#'a#T[zom3NK.ou> !糖 4>4li@okͿ-@C-&]hr8nQ@_yC#[R8e$;C1: eآΤ8ͳ8 "@NbR;2+㏯ M"yB]ۥ\!3 &Y^%_߈.0 F໪LdCOW4׵*P]aζm]a2'VgTIXAZ pweS7`~k )P| jhIФ Ԃ<7"F.]T* gF\Omp8ohkP Gh F6f៫W&FteVv@- Xaz/CىT-6Pг@c7̹:~{/==hFDž.>#uЯLHFhQ33mߤp@f\b5qX]aZtuR4`XI95z6PUQ{YM pT4CR $FӒ\#hѭ5k5; VB5C <ګZ$G"0V{R\д7uA-I-M:JgrU7 #+T*fk@[F, 12B]a|lˇK6͌F;yqHrPLJZ a1/^}E9}a?};i7Abك=5*xY:s QZvl`< Ev`SNS% *ú !0^ȆHiO;9, )2gX{ESY)yF*>4Jo.IWt 2g)3a6sӇ,eVP̪Y҂3)D7,k%K.JfI,ؘ;Y(zܙFW?QlG%ɂs ]|9YVbһ`Wt$+_+ZJO_;[onaz xu߾m_ בw߸maw|U?|ç>|AԪ?/&x@?UMyß}O7W?FG(S fh8&a(3ŏ T}caҾ=y>ݢM. y G%k{7){m~}K>WQ %Vm7ه@w{79c? OṄ6ս( =aF':𷘣/¾'W_2Mo  O'a0 VBbdAՓSpq0{lQ#hQ6w,_NKta^ #}5_4@xg5y,6N%9q^]ƃc5\W{ "$V)6x XS|TYMHC^ pW<{H9OK854M[,}^nKt|Z"F|ߌ0.|/vA}\q@OID!$ӶwmO߫Wm3-SDy}&z /IzM\ X=qk+<_r``"RȃKv[o>Wtk_sH+_j_۪+A(k U?%)|/V2Ets{tV4/!<#⟧ZA_pM5jSXx(EXs{ y?~$S>!]|尕U.gq=߱Ip@#&Qyje svTGwaT'[)z=9Ƥsvnq:&4|QN `I<%/N+G< $F:ɗ6|ٙ="fAjQM¨ n/:83˓sÉSv]pJJae#c.\$ˌH?2Yr zȷӒ| oi/(ڤ?0QK0|V)yIg>'%}y /5\<$ɨ=T#[>#W/^~qH)71~ ˯Ye[8KCW0{>-2&>^cu*<ĩP`RiEQz_|0؏y }! %#bDG76 Zb\ᨡ v#i)_'kmac@2j]0*FYL֥tЌ= 6GFൾqD7!!%|߫Rymi'2>1c:g:ӭesxX(8Uh,W9:f3wtl?n ^Io wdm~oTPy;3h Zx/;})?*A'K?04f'?e8ߐ1峴yҜ#.d{nUc;B)2юt7j_Ck~$kl&=Y FMncu:*8Qa:)w_uSRLDkOާ#ǍњstЙE_6>j"9jtYa` I"%J@u9@aӗdsAL4ɤLBɡw?JZzAjɚB&!TAL5%uF? i܄QD(kp(}Cȅx & ت_&.C}/MY=0 6<ƊXsAbs(Y:Ï{?裣AgnUK?Ϟ}%3>ѱ>:Gѱs<qlcyѿP }Fy~5bOPֱG?:pG_ؤ^.9>GG8bѿXzv>: lsGO'@?-~^: ޽X {:s2|0x}t я;s?m{ 3~ky4 {"@{vzq1*Cĩgx;"Dd2"HM-"0$׽uWJ|۱@qC!Jx!ac<'O`a0wty&PT7d1$Q8xO}0p&FzČ M;{y#剿+#!rkx~ ֬~%axLH/F9>FC:Ktc䕊*ƙ1c!OړO_*N"tI"'/k;2J}o 7ڵ?Ջ?,He4{іO ˏz)@H%5gxjoK`6` :LBK[`N)5:݇tu7l>ݸ+_cʆ™# YةHKh مgVOz>7tjZ^.<4ƔY[h0&WLuҬ,&a^W& )X|rn"2Z*,$E޻)MbׁfX'uք)]wSX]{aJ!du{ ΰ|p~{@&YP[:@X WX]\s:_gJ=(Ӱ0p oLraNT fT $\mBu3.id\ݥ[=Khz酿v1eF&Jmvnd>)J|HA,D91tǖ{' jGِ_u X델NԪ۰QW*r9*SjE|}ێo40誛櫩Z]?G$)KYS-枍T JiwayK VuQ TL:cE2 ۔ޅg cY2ƻpV" ˆEB[Za]$k%=ݐ4bZݚ<L'c2Hmai֝Lo+ YQa v:]ZM &9z=?jQ-#V`m7K\J_[͍\$I+#5++&;οUk0l|)XRdˍu~Z+~2ZЭD.>3|g\M:-A6jm>zAĖ}yBSʼ$aSzVi0_f@z>/18~wZJ6SX;C|ȣ3;G7HόCN;f[ŀ`gZ㪑v( .7 ʴt}Kaڗ0DX,WF&VrR_8yT£e~2=+!xO[g7 Q3ԒQ]3LWb AQzƛ0"AFT$-ZҞt@_Mžk\=$p:?!&X$f} WMlL)Y qۆDR#$lCR,Yn\g}3"1ec]NzKFH|ʓX+5,au%EɄi25I[5W耜I>3%φ^0z L0CDVL"gn>*)'NJiAwEL$4y5NPmh`mo'{)4n3V$%Ti{hZ+#Ds@wa ?VKʭO#ô}<5H(9"w⁤\P)Ӥw7xեK7o a51{Ɇ\&aT90(/ZY%s[y P(vaނVb],U%EMi qjF7V9^zI]_ԹFiѲz~dy`AFAB^[Ա4qD2Bi|M9Rcކ{7tX?QxH#n[a뼒r5 3#yцI-f`VR pFu~?=1rU5yGdAuՆ}0ὅOT Gm[[sʵUk<.ZS9:Vo'56V}ܪc\usn' K͓Z\I Dӏ"dX EU+EPEJYr"Qk\6d!ML&޺w^ȫi訞}KiV=Y s^~ Z l^!/vJnѫJMYn DL-Lg[n/kk|8翺e@:R%yt^yJ[Z;҈rl'rb8U뫷5T1ϑ\d,4so,@|J^ .\D 0X}W$ :kmgtΖT/Oq0 %y7VSPZNP!s7Wz: BJع¬`.rx@=' f10{.jlg}5״Maa޽_VO &̻~ Dl'tJ3W&{ΰt}01\0pH@lxf]ANoȪDQ^뉍0(fC qWv0Pݔ|Ę ݂7X(cb"^\;3a! d]-eK F5a.kT{(iZpʒU -`*quH `x9v<7;NvUH!R[`oTx1dGTy7 v aݹ|c@HY"5O2"(#t֌6[ÝGAy&RȋJlٔen[߷E)V:D#lњ隢^CR!-+av@yLHb*ؖyf.>>̀.vμ[>.!)=\|La!t#8{t*`H+rV #܊[UJ&Żʥ=E:x; .!F@"ӆA2(eBH j~d3aݐH޻ڣ2ig97B#B4]&w=De]B/qwi>$آj`ۑQD9fxm(5?dZl1^;:T*ȲtԙG {ۇ>p =ӌC|1EVX飫(bҲukrC4Ttij@Lށ4$NeD(./J|.G2X jR1l㝁] ŔXJYH,a(Ss<9d%5w ӾyP3 nyoAE kmzH!1fiHP#P;拫@޴;ujuW%0UbHnQxaArA#%3+!YF8F#G^1Kǚ: >1X :%Pb<4uPM{1E",ɒ C"]UgD, 7l,C#hS:KTō_[h=谚}(ܙ#eJ" q0<&4ϣZCsI[҆_lvlj׊6_K 1v^ DI UGQ?]lBV0do0J]ۥ̽SFFȢL 8oj6jVnpF{,Q X0IFpG0^"aP "ce s4Uv R2%[+te:h_"Zҳ=lwvF}SM7B}>)z?O; *DA=ۖ+T)3Osh]j1h%d:"#[Qh"ˀYw ?j4`<0 E,k"cN|xq{JV.2d3V"D˂"E^["Fn0eENVjj=om9d g[H)pi4^(Ɓ`J1bY~eޠͳ"Q`yGyP^#W;|7\\2ns NP4#}DeMY1 ʷt?)Ӭ50~ D:nBur6t!Dʙar>>2:բ,N j AtS.@e \2p}=K+yђ8>)/>4[B: $Z]s"ؤFܪ F@"xJۥmN6zTpJ9}xbzՠ}&ކHQۑ4thkbZ-uԇlȰʺw|"h M@"E&6=mAN8H5ŽDps0L敬SKAݤ@~ (9-Gq6A{7 moڤ&2dčmJCIGG/Pcjԣ?q xp֚do1.}nk! Zb˙"WiU_,n3}7/v{POoYJ%xS3rJ#!8Q~x~0+$`樣Ӿ"{j*rf>5YoX{>iKxݛ;? #;Ӵ.m6-`Kh*|(-Jw\q}Co:uMwweZf&uL}vm=_;#>MMy;HowE N'H()SVgtйQ AԱͪ! m [Ӊ~TU 6IA>M{}*~J4f1l#] nfoƑ]v]jRH1Ha΍QaxhqjČǭY:1tiz#ńަ!J38$.h8u猄$,1+# E ȐBQ p8אً~a5j1nO7 kwv"J+[Ue@%Q<> Фud$mi]r:j_mU`&[i2hsaR?iՔ^0 6c%#Qa3zW4B6n,@Y­gA=+GsԟܠbF$K =E'J ˨Bwi|O|rn=2?H݈hM{`qXf;5 LJe|E\eMD2!ʍN 3QZVqg4dtlBg+[${pc֚O`Ն$K|=*R RZbKE9V;frZC)6s3ZUzLVqqut=۾ZԞ37p\d+veM՞!'i=!dj+ 7VLC*%8yX颗 ¦fSp9JmtU 05z![(h^>1ѩd޼B*{8 0֔~e$XCYiUR{TSve9Lk}˩ '#)̛HcF5,κ5U*ʇ ܵH]e%U' jNA] 5U Ye˫dfXToѩrkT\Vlz+ƕYz+ۅ<&ETؐ^cX=jEw0dՔVa)W.*jӤjXfz9H5U̞ȷe}\hqx2m%̐hoCQ`TZ8Z+өVbjY7h?*k4@EQ{fQ0- %ڹXA%WZ:X V5ˏ p}uSK4yȌZ/n3 bXYb?mIvfWߑ,%*@bJ5\"{lF؅e0ky,uJQPǟLR Ƹ^Ig`Ӽa! 9޻"q#I< G5%tq=a(0+wA TE Wfk)a']$F&!h,A6BAuwv\´;+aݨ7}%ayRSrO2X 1{qC}Bި۝BB(xzTn0FWUe {GQ8%?횴l_ke8ۥRbW/ 7:AiLrRjPN<.:9CT[*L=Cg|LI‘{Ǧ|^G&cN [MBMI%UH a艆~6ILYbSKeBpsID2 9#Ulh3nH$G$lӏ7gAAsI<8BzيD%hLo_x6IcG3wK~k ?ÿYBO1 r|Z$ +ZV׏ kvragj!XCdkdaX7P0|5=+z9v#zPìf'擕rK5q pE ~HzHb:în$;oXoܣ~~$[b]xVy+[l|ֺt9;/?:=װc3p-Nܶ,u5u'dsi6YSz֨Ą1[W) nUm7n_9 \x\N PcE,vfÕ` d>;'<8ka]ȔN2]l^9N=Fbg' ?\)5h,6Л/ # .F#²K@0:v#iJ+}RBO[ܸPYW^ ڵ &k`ɩuOT ^~]"0׻(=af+ZAI2Gthz?!u"vF g;8|LfmZ9WSS""YWd.<$'t1 E]Zӝى?P?[z2!0?p"ҘC[& tsud\l#gѻA$>X5O1'c=cXu~O⾲(=;#dg1>6 1ᱳȷg'4:UˀC+c 'G΂I3Eq&KcdHm@`pT zC8@Qdvo5,ijy,~ J ze Z7YJ&>!po)tb !!r[ xQq@HQV`GB.u`4:kHo$8KϵAk_@֑a ?8f[֐n%^(oF) wxnII]k=KW@RBF :2?lv]ήC<J,*8qęw泴 JޗKaZfvFj' *.Q)+Mxd0,R?zu,ta³L'a:ukxhg';ĝg5Zf'jPEaZ1[ wD0!pNM4O5^<7?QĠ#yy JjR!"W iЯRF2;q*b>sK+XIk`dJV@wzY  vCI~XpI5Xh 24i@p P;+ \^G`^@^'%{D.h/(>HtA *GJ=bV?"FA4衺&o Rc V$>OM`Av=@]ۊϋ2h1LTCy1~]WojV+\LcJ+dl*7oulh[<^&m;_5d%c Kn=w[QP~]X\*p|H6 h(c Ȓ`Xz>6nڒ/:/8 +kS6[sXT{0~Ĕ~tVƍ(G`z{7#S7[g;t>I@N ]ˁP|U=t#ڂ(SMsAyAy螻$:`nfkxv5dcEtY+LB+#Zy6giV1> I!,`ɛ+[Ovץ/Z{[;|ֱ /Aտ/_/m7H_w]$un&/M2ߍykP-"Vh=c8I%9?=x@"FQG}/?+K5BV,ܤа/6'#UMw_z5uTRҽ dZE]aD ²%˲'Ma!vʍkmǷo(,_ɚZH-ayO NJ>\Z8!}_x3H`G@J"Cc;wM((]&նO _v/]4u3q 1_6~{K$%ݤ,gy>\PGZv\w\e 2]~A6XZ)_pխ*x3'^Pj0ցZ,0 >m%}1bZy^k)_a#*b\0j?iDi2V?KWDfuRZyXtkoZ 41ϼczVyһU^t5>f"!2ia'5EGUa={>aY0z^NVoQ_4܇e0nu:$?덫I8$_lJwnROLo P:E! ,L30Gߒ&i34+Aza zȘ@TQ.ia)䛆5:2R,\3-X9i(Cs.FǙbZԲ+P epm{ +#6|)V4@?O[Z6Ur]WI\GF2) 0W,TvbCښF[;䭢kzX|k0?<_BqVSzF5 }]ǛAqxzY.Rn/cNE2OO%HfGa~EsÂA XCR-*)/eBXgnf☘6$:= 1zm=u*Ih:LzRF/>-zFFM%H, 󋭩Eg'vp3FfZ3:cDyt-S_; _;:aO҉reb 5ҾkսI/~;S =E+4I].CFa2t)M1rW50-(0%Js/暻Z@`X}@~S d6XwECeۭzM.MPFSo>d@9T\pb&E]i훜7)zi/ƭj '& ٠=4n{L mIJTYXWbL 85nH\s Ɔ~AmK9f\=葘6"hdӜe(GiAWjv{S'jUgz]zHr%auy=nk*3tf c6{M߽jL“ftn@>$a8As mrb_ɰx͉@0Пq  :E)vM m`Rw40O~d@Mϋ*ѮipQBtH;TZ LQŽ1oW&ei`IUCiZ8r,T+QĔK|eטWs~7F}wW Z,O'PO/zF| 4׆; R9VB6J:~R!% "@gkX)b}R׼dV[֓o&8/>$2M03qw#C;uT u룽x þ'2G6~h#:KRtl g@0t/w+I::(+&#"DfP)aȳHoz'NsA`txeS:R)В6%wev Qx}4ijzq_LNt< XXDw@%3mԐcW886EmW\ >HYSL Q|Aփ K?UȖ ( h>Rm pP,8ȷ1ĉPfB0u59y$;]Qd0 j"U`$Sc J_Z zٗ56CNB3+}(a>EP+ y2)k.˯T">ܺ th\J,1<_zp-+&~=ޫ>ׯUj1%c䅭N?"xN*kZlKsZmRcfbGjؑQ'>`09)>VaV+Xh<7|H-= 6ơh3(9:M&|}'h}މ F4zc ;c۵cQZjpgYRi$aka|ֻlAI > >j}D&g[ɯ_ܽ}.R;լOы6l{1lSlS'68syxfžgͻ7N.8@=q2[&pOB۷i:73}`Olx Ơ/>lsjz![v cۓjSRڍg{ F—hޥe/ZKK-a#4Y /hip/>(=a/:86Hod+,@gyG3=UMi'`s.> D\< hy+.͹9~H#v@h91>H\|.p6 VR:"c8W$:suPz`VtQ^V o B>IP/5ksN>A⣸쓄ϧqrS :;̚hԛ \%tf TSD%6ۭ܋1A[C4Q$up 1~#u lwd[3N|8JB#Moq)N{0d4fd=y\:D 4_ q,I$u"!|\t ،4n8zԿV=a{Qb^xxXv8i,0fLґq:hKd:`O{t1b}( 0%4ԭ%# ON}?*[`al1Mϙm `hm83tT3SED1b%F#F_LPçT>&? CH F4/ќ4 e6N7ŠmJtjэORQ-`mG F! 4፫r1s:gH=MOdk)X$8x"͇"y7(їӬ×:#x|@Mg2"a?gS >BzʧiS4-1;0O@LufX8 lt}]|zqfݧH8͆lqvy^HleJC`T38?20("8ǫq!Ei;H< N%eHKzʘANH8Rp&UH[EȈǪXpg5䒍Sz~ň^\vU&2܋"5_+X8gi/>:V%k2K0 qG0Ne$Y0-9S96J'6)eYv(m>/]__82SU;NfIT?6wCwb阒:9H5{~U)O2 7؊xo9<҃ ƭrIĀDn$rAȢ27c*9áaXa\M8 6-A=mB* EIkywi4dzjvAu 7}{ 䌑h Mms>YD zqX: OQ${\@ (VY?h /FL190!T u4_BH*&z] pt-`Sl#N"gաM:q![n~r4ԖhB4 df^[F2^_}oOat/V S}SKky<qCB@ח"EV;9XC:UzD=T HZ02:G׿Q2g)}H#وZi,5n&oNPIV ֜v_IU63Is'i0=,+7x2ǘsBVX [O&F0}XUe&#lQ1>-+yS7^fCDxDm4SeN V:l0] #ھu?aa '316(IrfM[mhZ!g"U:OP(S̱*]{@jA< Q/L5䤄QY8e 5gȗӺ5{8uyOxeTs7 b/'1?Eg (LY gÁ9yjqjMړm7MG1iӁh,#+7]3;6ﰈKy?aIt԰H2Ee7,恘H6F]-s=8y m鼝d]!d6ebDX^&'g0UhV QDb9d4Ϫ3zEF hOjNJdDkgdۀ~x)bȄ=L4m`{UĐ#:#FKyͯyKeaFl@BR{djss\/^ 57y,âA5BW58wꟷ-VXʱ%Z6bؐC=(#6ˆ?$^Zƿƻ:Gs@of Ȟ 1(a7ٵUZQD h &}迵.搄JgzLgNX>M[ 4X|=eNW{̊{LQةR_L&rل4TǷ~r΄ HұA.xWϰL=qoYseDgҽīug=,k,>*HՑ͙lԧ@8C6G#yUyGe$![qFqLNmj4V`eŬWIګlsxEΘmh j4)#*'HO͵~ull҄] !c?C k[2*$?:jf%+_"d]M͜8͙'+kr;-b5D e3#87)hQbMިfvV3Ruх{[Vl6MwJ!^5Q'޿Nn`~7lZL}ZyCU/HJ跑\GH^KkL':`-›=;EG;1?;ko|{_9x9gc߭۸/l) Y79q s&'O };[_GYI  \Zx}&haVr8u%4Լ3ew]@}S$EٔvrX Jc_X=s(=cMPdݪFGūFiAFH |ErdX8A+^Dr5솛=2i"Lv3 ]-%ǎ t9N8A .U fȲ ):['6P 7 <%G^+ XG9‡T̮<+`70  E1KU)1n(m!-;Ќp ЕN딞7r9"pz'UCH71&ӌj~[!Kf#rn@m+gԤc>wG*+y|pguTC-CInj_N8%U;b qtS\[R&H<6)2I8>?P9Yb hj7>87sy**^+L_0^|5|7ap9RQoYj5T{д)rىv7[ ro6f'n xEO՛X}(f2Qh^NHVgm9䪗4<\YJ#xp[sXZ{Mޘ ˿ގFtD/^/dMxk0ZFa뇽a_\ 5=F6K/OZDza4!hHT񟜑I5Sߘ9ޖJ>"Ǔ]#|żAI epA2eyQ<>x9I' 1|rŰDMk=Tw;R(tQ^[j,"ٕԪ.˰|eguD*'R A=`GR痨vy92> bq%ЁmI?8ϯ@98/di!LtBTY7܋J^?)5KIi'k(';L310%H-q ֑P3tⶼz(&O oMUQ/,9d~˦?9^0ʁ%:ICf%Sb1l=%d"_ެGt{fD^ ,ǷE˿Bx-jW]1<kc?ɪLL}/Iۡ]Ԃ;+\ֲs7A膂vܩ.fG*~[KI9t!;t:=0KL0+|ߵ}I͐K "P8ʆ$wį-C佋i1Epyʒ$مnTîtH;l_|BTD3T-²qlF c$L:8iM&Vv Θ$>]d6CöYkg'tO@I]̘u*qÆ]sP&R[gCR4eQFgD1ˉqSN܋-#gp̿)TK.^;k)jTLmWV+y &1ԤNjhF2^:;aO#R:z 1( iA:f#ЉϦVc*0.0d7Ϊ\6R@\O\E'݂nr "rQ?;s~^w 7F?*1䆌Ͻuc0GKc8v1g#(2XS=w%2SIGf!cvA5ep; TpEiygq38w)CL8Pu{`M@$koNᩙ)2N]eZqvI D;]`~f'YJz hY6I/p9L3U_UJm&<@\x\$&gd3HgL*3B5q,M6.p{vMi ?o(d'ɖ dPy0Zُ rtrpk/=PH[  ;x'A' Y,gcNĕfkqt9^8,/!a0Vߍ~[qp;+G;Vv5^N۸rM@eD_0"N'#ף=L311cNeMW ;uv/s,jR?yy܊Ղ"^95|~ ukz ~f8PK2<%_x nqZ6wCx;p|Z%եsMul'Pe +^~ߚcY6+h8kUy[MQvy |_W<;-,ģT2"HI;z.d,DFS&L<$H# sZ 2mMQ1F=EvXAHbRsLNjqnV2M˧c@ n N)(SRoin:]2qNg^\uòP %f0n;ONP QK~]$ M)YĎ|A*񧓵A&w1&U71c ٘ KeĢhc-ȏ^"}eY a4v܎,{(A,7f s€N^$YׁxZLP[%dӪ)Ë>U)L8m"}cYyt>Dgí qn5jT}Vrx--a5eD5% !te9%ԆO+v(GD)NA Ѥ߱Y!يtv* G[orAdn9y.iV9ZҐt~?˾|[RSZ mf99G\X9R6h'-H̜R xs -L"`ʵj+IȬˣVA<Nd Ұdn@G`L  OxcvFe˸iłeM&9(+`,lӯ]fx3 G'IGc"т&!Y2hX5 b@ݤf]tX5l6RJf0zzSO1ec>& :hJ< LOb1=}([X((僠{G(,U |1'F^3V;cjw.u}@|CU*Pr ~)Z7^ fߧE͟;I,i91 [c3@M&BBL?0 C.a;![ XfblmyhF 2/ZdLNКhrS Ka4GN:4+F˫]ɨ=9<4õu¦QvHVӺ^fBp)Pm\Mg*PS K'ZZCJ>U;;7p*r|:ĦـcI(h†°ˆ>Ժy{ êe¸sW{&BiWFw]r_$QT2nDLP $Aƚu\ȦY512vE; MHqɋgvX[43p sc5a"lDzYW̕s2?D0,v A6h>ޮkcL71*e[NZcP5!wtCa;s7YX*s&Uj}ǜJtA^hZm'f!L.~W̋QBd=-4Rc7ZFbٶ_U 8^ЄZU¤v+xw޷DݟtQYފPf>KAcv7^t&%j%uVwvl;)@O15oTt$yIRia5PCColw28*:xIj.6VF,:@x:F6ߓP(n,e~Wi yrn#1" NdKgѥD\9X⃇GV F"23o N&b܃paJl2ZoPCa h1붝Ɗu$vaL#ͫ]`*n"*V"> ׭԰W q⃪H H^@C'uRfU u'7=vz2R$$A¬\\8 GtuOzg2N30W}~étS DJs \ecI JZ dB``#i]8s1A<8c酇ѤZ+nx$騩bҴb⾞k%)(GaX42)5Ę ?g g-ts1ɲkXh<_*챶&iB>gz؃z5lf8b$7(~t6ªC,ٙ 1[{b.ч}1>nNc%$[m}66CUaMOz0"'Ă.HILhrD#"RT3Ŕ-Ķ+z~?z;3^Jjp ލ' l2rgI9Sܔu`X$(Zcg6F"Fu 2:13%~F_ .ir(2[_E;prjbCX(mrJma#&--Ee-Ի}% ^f\1N/&S*7 jHjǞ 7 q>ESǯKdB"ݝzr1zTGBԤ:?S-WaM+\m7jw~mp9́ ޏ4r!Z kp)փnߠ̼hD ,kYjyC󙡈m5dLFbqE]$Kvv=E@4ҭr=UR%i<91no61ZJ* <-\垀&yUjx~UVOjW/jcѓ =!'VB)$!BuCڤ;,Ve^c {,B r`+Q<@L8H{kp>1jpk gBO0w=bnAQ *8T3P\yh!\ulR=pA_LCEV(8keW5MSW+kٖt")Dapud_ˇث9Nt 8U&ʪta Pm3ae_/TLVȶk2l+DdkӠ%LH[~R.Z w-_{D0pa[ edncv6Ee9ՉؿBٱәglJdLWLFЊ5OHЎH+&ry=ّoU!"5@2*ޔP=F![K˸ct52K1;7`|cO?o[(i4Zq {/Gv{k<HR$utfcZ:{RWr>:&Pf lFz2oDp߃cFۣJ+e ePyaSk20E2Hv8f}^%uWdUܖ *vrܝe _Kt HL RZaf)K le  GJ,vr/e2[J66*Y~Z"\59>SRvpB́O0 &Q |UMudd IܺV 2VNQ0:;Aѵ.֡BYtq4T^ZM:-B`A!}ZhZҴu 3M.݆YͭH=[ @@Eٜ8>:yfsd8UeB Բvjj7$UTfVʔE1hlA4v/u>J/b-E1%kٽSݤ-E6%`@2Y O( 2LwXV\)|̍XK``@(p'b79sM1EFͬ7yt]Ӹt<wg %dݴ@ޝVƛNme&,3KCD* xIsh5!Qqr!0j&GtPwRV5HUQIR-̌7abɠPB?sUM{بzRT,|w5s.C##i,!XT|<1 bvL:pc1~Y~4{nW^xw#$#>[$DVa2VWiښ)COҧPQa(shO=)B%\ ICu%T $owT掌1>\}uA;A vdR5[>ܺq9%OMWK~t7=@ݯwúOZʒJDb43GT3V2!вad ~VZ43jKP3z+냿1F;*([+lV-Ir=92RiH ި w䲚`YpRZBUe:ee1.YCd`SК-FDzo . K8\m)Wn<(<{Ѡ]- `r8WgZRBN%5iV▣xG)΍7 Vd PQ~Ϛw]X  3r(<٪`1b٠i.O 4 g9QlVl\@n 6 SM"RK'h/[2al!tB~E F^EҞz^Z8dn }Uܮ^s\#0wWy}4{[oZݕ"'fU1!uVza/ ΍aP')Zq|4x;Gs@o>4kئHm[5SI;x48"Bd4 {==,CN:CƗEKMVWxUbSU;;ofu@{Z]4FD*HK* ? pR}Ff@K:p1 *zmZo6"9st&ƹQ#vo&":t˥tAй 3IK 6"+YE{sPjʫ%IO ݂Kl tVn.9!ERjBdrlz 9EXXTXd%~{ADwc;!H4q$X|—3h1Q/TA8iL&Dm5rܨ;t} ;۾Wf& ġt #Zw{ /`O,v]Cnk)k)9!IUGBwek Z~E#ik!ww>$ :^o_A^nNSSWqXQ~l|QYUVM ?GC +HPx8uqA|"}lxP_.i~y.MU x,H^>xFG N-}+`l=U :)V0Sݾ.w~9Wlk_|+5LB@sJ7!>Y5 {C A I8Mg'c :\/O>xO泮 ikp OYkF[B5k+`;l=E%EDD6qHra#-9 [ ޢ.uMwpq`u}aDgH>]׵bfwP#O\ևG^b"=ਲ4s#rd4zQk@"4,j|SG{|$g5ju T5rJZlJweBZK ,lgӞ 0s|TPK˩x!/UQ@&kjxZK s4jKˑ`/7j3$U\r ҏ7D-Z` -j"+^E!]䊠p2)4\CYX<FWeI!PїM6CI2H҃zZ'5$C^] ;B؈C &/"QUɸ5,pU<rX~w^\MЪ3 \, ܧ+{ ɒM`%mfW' Oxr4 LׯTpk/ yDkM|zb fffEV%Lyot$00J]?/K*[LCTGR(7 )f"1Z!Kf A93"=-׆^РY1[&{Z 6[A{lЭ4?:`Qv_5a`Da|-y<۶r'~#nF)bkNdW~Ӻ_@=HBq>DӉ_om̝w20KǪAX$QPPڞbm٪5#9z4d}ZUyu 5ON6wJ4TK@6ت"6NBtQRBֵ"AZkFu~ȚCɆ iǪxx H7vQXrx֛Ӣ5־]gcISڤ!F& \_B%eש4?DtjawWɸ;(9,;wEnGcԡS">RM~~Rƍ5-ဴFk{Bn $s`c+п%Ljnc*" ]kgL-;0GJE.vd6hG$φhDڈZ mMۈh:Rp6hؕu{dz5?iA&%T phLT sb {/P4I|BfY L >&뚳U']Yڄ t3f45/gB}Ȥ"&atʖ++BNɼ &w3m0,c}U-nIսqձ@l0ު4k K$Lɂ$es /3x2/D\V+a,F kLa-hB80u/MH7O w.y6B3{E.6ާQ\ LeR+XAk5- g9(/ HBҟ(Dgߊvv=&)ax0lH7qQoj, SU!/u H}T %FxU. %NU1k؞oחuönÿ_'7lXslqbݍ3mQ㙍s {}㼂O7޹ƻxg㄂;wp҇IƓ1xF{ &y?qI >ß89_/oG`IO^|F]!my_E@kN R8sMWe'`?97Ώ}=av8 Y_|l 8s!Z, =F' SӁI]|xyy|}u+Z˼9]mG1‹O/mƯ.xI^lpMmsCU+[IF1Ѯ>nP19=/>=(\|{4&d\|"KgF1F'qsϿ΋?#QvGDD=ٷ ɠI_מf9] !3^T:ꋽ~NGg4v9{PQlEnD9%hTџ#'.>B,&M8Qn_H*Z*'.nFPD,qr '.)G=abMmJXPjEq! W jr y/1o"G%(% Cǣ!T3)sFJov,sNϙEDwf$xe(5yhA i>t4'3&Gd`̤OYV/#;qa9 qLIOCeȡQ$3 RĬ;Cb:0DEN}և=~+!lx1pSDPخvkM2" UE=S^ՄXx)Uw|,qLg;95 `|S NJd0pߪ\'IR>.Z`"FT-WHGQID$d} Ld[< Ldv%I?"Xq^']AQ 3&44;MX}> tDFLrMj35I2c IX#(5tս6kIj{ųqµY5#fLTICz&ȴ.4.&fԒP?-A)۾uIK]2Lxεf2D/躽'td.ZHQ>Z ĕa65vԘ{@\ͣ -NU5~ D N46um+[8B 7o7o u xWtˇfNSm3cHߊtgņ2f啴\#tOE}}rǽtu&ӿ RVxFeĞ lg%,)TWN[0K0jW;zqSxDY=qs6")"OӈI'8n>2 + =Oz "HE!ioAVs5?p1>Op[m 5)pwut}dh5~ #L8ISyD(tχi>Zb1v3 K7MrFC|֫4Oz3Y}>M;ϑL qCǩ6-SUG ª, ySM ty%z:=~btVxH}V`VNN|G]|HA_`:ŝi)~hΜj dn:$Bx91bL+쬈6!aR{N(( z(1j%zbH揤{yrgx4-NiIMBYG-i-cN,Y lj-[$=' _4·lS`֠97q)F)O1<šE^Z 1fjyyQu\}y/nVaMq7DCLWt܃$0ilۡ$Ʀі1/,c Ţ 4$h {;q[xo:_m #jvfZ/L`P86JZ\~[r/tۦWc\ζlѩc0Q>Jlʋx*Rhna@6NO8>IŇaMEİyþ)0zP#DM0j.\\J/J|FMa8?^e`?"%Mg(L- gWFg zKj;D1O z\:AlclP3daz`'N 5*[DlMeQ%/F/{4kr<]ԝ+}qc-IImE9WF}DDHn7"fvAھV݌dmu'Ʉ Ĭa$A^ꅑ? >bR{|DڬhDWZZ g|lք3lHr#}6W[)vJs=[cΎ(;sNVYKnvȷ Σw*)Cp"lUFC{K3?,mmSL6Fq׭C%QET5SkW# &G6&d;GǫIW6>kJ΀NƩ՗s0yq/\8V%P+8Oҭ }Sumk.h'8Մ?/㇌WLP rV#W̙]/'̾]82_Cz51u`"/[a 8FE* %~h_ڞ"NtT@ @s͟?ddwI+epNyx=œ~%<m#υw&Xi<'LxWH2QS% \ ZQPcM [IQ}e`m*Q=5GnB'LchuHo6䫎alee21Dq6W 12!2 =uSK#4q]&L8>+H?bUpl<^k0܃mɘM/&/m NѦ&b7Dź` {fr3s'PӉvW7=ġU@!9 )?|\R74Yq~ 4 ԩvsΑm.H:s |h߮P,o/EļA,s-5dGN!x *ثm".E'qJwYF37 cV{ҫ3&ҥSldEbjUel[cpBW ,)B2'];t)e6(>nôQd|IjIsGn9#y.HsUtQ7IO8_qYyТ_Ȫ"i6m&V,s#Qy5A=>F(\+:Rp6}Chm'Ƌ#WRkO?2X ;wbq`d/IҰ_u$aHɠT4 5yyο&|QanS-lBaa1hΦғ)Old}ѣ soRZ?Ox]nl&dp|\t@QY| O8Ytpeu!ʥ3FYi#(t]Σ9g\9V*u*^+mT#Ht0nErdXtI2qٝwǽZ<%m 4P25p'!Աuv1xo#LbPI:$^e=a?Dҗ/<БsZmtl+X7Ëq$  䢏Lry|A ?1xXj$Is@'_QBq9|iV8M>C )s"-"͹3yQ 8H3i;my#(ST?+uU,t>H& >_E7-J9 屢z&HiAN#q*BojN2dZAw'q(1M> \㟼g|鱇.OG~7g>?c0/o_\:GY/Z1_~˯|1>٥?V}6Aԥ^~LOB\O}?g5Ѳ/) Jv/?Ǎԝ~gG|atcট=O@K矁?b=]w.WG^ٗqBy}3?/%{@qOjg> ɗ&OԽ>}Ow#^{@n[C/;?o愀 Wr!_zW-e?yK?~ӷzn[ɛ.Z?~ci(TS~s}z܏O~J8D&Z<:5F>K¥c}eo]遏 \Pfc+r魓 d2Tv./ ߁1^|gtv]~<)8`%KT/8Vfz!zĪmk~'Ϟ>{쯟2q?; D1#'oUǍT^W?{g ߫t gFWOE*2FrrR Q~-f ʜr6dZTe@d0.%PЩucCY>uQ^v/? )#?+?:yɓ_~,#ɟY|uw0C }Um*1A[~ ~ YVK%Ͻv>t_>N8|&;bG)(ҋgQjb27gpT#k*g;v̕$K'Za}O %jJwM˗-¢zĿҳK2ӂU#x9{g/%\@'~_Ώaq%h@ A>vc8F)鿀\ h[ ʭ%s鹧?yPdˏNst~U~dk_zO(~˕HVg ,2Ol`AvTMFe 3d IB n짯acBdɻx+KˍjiON?+4۰>ݟ<~ ގt+Mw$nH?}tٛRTP T4q"9h W~ww_FfV`񾌀K=dVKbL}V-d2(5~ 2ςe2 B N߼:>ǎ"6t;5| VcE|P"ow[w: Uպo3qj 2/֬YR:f ̧iOEüPݤmj6o'\:0#.?'Q~w5v~cl먪/(D x O8f_I *gƂ/"pZXC>e<, ?_~?} )_z)0jJktno?G\ yRGT]p8Vk-,A~ NkaW=W]IKkKA"lv᳧!~bDA(Ǿ#&Vqj~'YГ흘"|D(d EjϨ;&p[['/>DW Nl@? x?Zalρ{ƶע0$Kh_]~ 4X͏Vgj7tML# p _zONӇǠ\p/r/:?={x֍k&gs{}'Vҍev(R_m% {RV˯6*BP&sͧ^7Y$ @?3{m;7\w?v~gHź[㶼VdK˥\آ#޺[j~M݃z^Oȇ]>΋[_ uw ;}5y$,}g8R4=X+~6J w>L]%N\33GFw4h==\T ] AXI&ĠA@(!0PVvaH#i%ZUHwu`8 _ݝ-=J@7 }`W|ߎI6Tg uARy8BTmBUتŵ4]]x#Y=_v:4U{R{ݵ?MQ~( nwpaAE+`W|=v'tu޻g}}{TP{wݫwL+u0)Z4*d9]+-Q:3"N tUT DsQ]hm 꽻Ie )E8C)N)u.xSرmJ (gRۮݾ};ݨ}w]`~DU@+"VE Gk F[tLJ-{$79JbPNnQݐDöY 猍j⤢, Eq}䴃A#g8S3[ԕi1~Ύcw}ZwRBVN{-LZpĖȀv̫J8>f&.M,e@WK߃#|7Y&J_p-S~!5lekRw=@az֧on*dkt:\ 2,  I+GN$+%38^4lƏ*\ـ{;G[MA\#AqdGEՠL4ǒ6-gWOi#4^1 $sI}T0N+ ;l"8D+l q3A<頁f2[i^A%5Z_ԹotEܤWn҄_loa ̞b~j{Rp6.lG颌_1_\߭k(¤b*aP&̞e.v[wSXOND!%?Cgbm`Z&0pᢼ۰Go@qh U߿G?jf#7xq8cwLF:ƱD-}=:tnwk_Mn~z0$u(V)ࢋ:&"ne I0M&o{n?w{{"er TZGUw_re`YheC+R.*ϵ4nӳA`ѝXGݸkFD Jr~dx+§NCΘM1q hjvIхAfVՄٮ"ۚE/`pd1~`9_hIVӭd\{ʽWVC?b*םOoI6%~-Ptic7]rTn_ď5-\\Bc&4& u,Eg6Mvo6&F4gM-ia;yQ틤]z+[uX (tq!;z okwp5УPnk)%Hukg2ъ6 Z"́$֢I9/,L~)6WVQbP]|!ɋZ|+uܩ,`Y~Y۱~~j]Qk\}ު!O`X° 4XiުYbΠ>rցmwOΥݴI @{jx9ܪ=U@|;G ?A8j("~YiQ'Z4&*]zCɾ~5\{Cvħ|L˭piҽiJ1wo /?NP.$'CUڃR!R- g_g% w\ӵSP ^zM7i(9;yj҉d9Lc-qRF\ˬ]n@H.Qayݹm{1C>E#̸$?lLI_;&&v4ìھn~>Mxk#%+(>`WYԄn]Eč`8Q#3 sEDs[b:ynnO73;kv31fE&TBIgp+=.m>RnԦno!LKh -"ied M6u[QlˤNR`Xo鲼%vG礛L radzrK ^!-r#xws.;0X 0RVؘEFiI7n d5[I^`DI.:P\7-Rr(I1Fm4uќT{]8>eO=ah8<^R)gJ__uf׉͠ S PCrՐfu6`'X]-b(xt}0R8lfπ*Ui%Էo]S2/7ӝ9c@h)=.ltx jQSL@nT LMk^g7HztS!c~sm _KL-\c׀r'(Xysk?WE^3`u85 rРS$* }4Է7? &@۷mPdn |Csy(ly )¬͡Lqɫhϥ {Y9+Ud8Ѽ`YKnَȆoD?AXP3qSj_f65hDžwF<I)=:|rG:]p5U%}&tT֜&6Ol5SH[7M+XMnYqr[vk5eGO1[ID 6kXh/ 576 G_#GYm ={uc[+\_|~5vF ܕ}Ux)aNiYt&G2bF쪃IB5 j5jfjkpk WEccb|AůBw^zB fe42o +ר]WNJT]6ARL%g-86eݲ)# /wǚàXWLb $k¿1虩$Ql|:Fe`LIHs܆"2JL놛d;xq7}S <Tw"0t`_\2qs=\7{*TYtP._0F`Jg#U6vTs찉y#6u>Y: ݬʴwp媽u݊J!F]UMs1gx"쿶s q en8tbw>S_tEuwݱk56Eڋ1MۄNZygU.k\/1ؗrW8. Eܔ ȓip6 y65MD޳MMDk+3^'-Su{?;7nw0_x Rtj맯f윙YBޝ Ӭ۟a8[VO2vvɠ@<4B[[rC_4EA>,3[ f YïH0%+Y(E4_K Ǘ04}J(؇[n">z&aBneYjI +:LwhϾCswwǡ;'_o\[&U731o 8=a$-NCNxbkuLֺ9۷vZYo*noeZx d{uKᏻE~բABaE9F%eǒ7:0!P1s 02G+*>vg\P)zOV& o՜+XڠL|a%]Z)b"洞Di1I(ضmzs|+ʔL478d6`|}_(MB4+}L{Ǯ)ro0M=},E. 37=<3 *ɿKR(lG)R[Tl4{W9,6J$&}j:Ht&C7Qa#mڭӭW4 8<cMW{1Ӗvz7NXrNƕu@578g_FA? `*AR,JTS2UW+RU%r  @b*i3f;luuͧwΚ@__pI)V[OЁpÉQz-ʀCOiIϞyBp/WSC9 ]'\ f-f=85\l%EۇCg;O[WU{jo]Qtk, >|u0gxc^/V]yo[+U =]UuE-}S6]EO:FvJ9Eڟ!]- qϢǾ=lC)9bY79YNμMj|_tRlqZ8rt<z:Rs,i2e|y'Yp~_@ 갬]ٷWQZ3bFT,B1r N ,6[m-HŖ@r?ɦM`#P49Ѐݡ2 H6VR~+E5,PXr.bf61G %?:ɿV/2N0}VھwoHF[ʒd/߱$]!'wvqM9jehɇ2qJfWr?qNWa,P%t,7siXr]v^ /Bu;vE. LU<1 k7.~~zRtK[/۟^7 y"S#p<̾C]3%Y[()c@g풻d!REOI[bUtn:f@x^ڭB[+ť0ݧ(<Âc|ͮO%Gt%}%MO^oyׂ|dm&#t~#0|byD$8imFSӄd J޽ij=lc1^=y%F_dRLhy :8 W|iZL+^"AmجF5ڌmTe9z)Nc8P^T6U{XYB~ҕR*hqg{l|xcFQ?l_N%~yġ˼A2'޹]-m 7 ~__ڔ*(gޖtOY[RMv[+oͣ2~ڨݍ넗&@0<i6u=vL$ Ґ7ÿF3LTX0(8n6?6K1;]yߙwJNw#mZu׿ wۿxN~IO='. aH:)5WxcJW%kott3M{}g&wDřw'cwz8i_N 0dSiHU]jvYYZ2zG)C'=(ԳORz}MŦe)F[ !) peM?SdM̟tV0mk@nTĨrG^h+oKǰ=\k;eNhLkI<8\Exۃ0E_1 %la ' (9J^=HKan NtaiK0Qtw#DzcDEH!8B;{Ns雭 ν b@Z*c@{xv{@-R`eyQڢ'(@B\=IA*}4 gu Օ@Qv pPYnUazs(LZ/nx翎vu? w|̛][2Msqgo,[\J3K0:; oܸ~?ƣr5 $r!<Ɣ\ e%yw|KVhۓz 9f2Igf?~-ɩ"wwmw)juһ+  Fo~k7k#y Hn"Ab }]($_1ј",DjoFaN eI8c47|U nIL[7ZAW3YF+3%yz=d;+C@yRZv Ndyk^m0]89qi(]A? 7U;ZP̣CL ENNMTY7ljSضQ±@W\Ȼ o}m p &Z)P@W;6(kSk+jH3WT`v+N;,>By2cgPu4df?)[ |0 Wp}ɝtG( d9wrea6AE`nOƪw _ڡ^i؟K^ce~qEJ!}t=ϣA.9# =TNFd[/y&fY%! ?P(n ??3 ?]hhwzll&TMO*N8ƞ;TJ8j| =y=X/u_S1>ny UqFONĠ;Ҋ6cgn-z[H&)U,0Lѷg?D2⡲dw?H)ReOaK)N6ޖ[6lj}B?%x_;Hv{'N~A$Lx<9j CZX^ÿ7.忏_XAQ. OGē/1'q} -տ['^A6 0%RX^\YKe0n#_}糗omz HYS8$~f,uv!+lؒ9;e 8K{[ A17{Å{/͜)DJ͕WBQ\AVFl[Wׄ|-@!9kw0Z6iBdm6ƍAFlx4kiämj877jVH&j#9Vo+19+q{1y1M-֨lٹrwa*ȼ; z U{9F2uc&S&Z6<5Oaf@!څy@.:4 t*3)'%Brz <:[S)5Y#uWTww`\(9hMCXy7Vŀ4D\2TA1bRl1r$ϟ%|7&(e%"a@O/Ee ݺ!` uf`TAؼgt5AͣČSq2$%UZxTAEsT #)$$7foo#Y=) /v fk[J"qBVK#Ъ>`EdH`IT (=6:*G%!F]wigꍉ+bO%x'i! p$AyT9qmQx{8 ,y E KfY#ũ,v *m/>>dX`l`HjA*"d+j05ZȪgrɗ ]"g4v2|{nubMC{خH+>}9y2*HkR^ra:"V-[`2oH]4B'U)&;qO(,0@카Br*KwJ8245͝lYL.[Kt Y& v6O}!)]A|hَFR cbjS>5Ǧ\b:9>d:-a ځ&R6#lki ul>Z5dO$^b8#=Rd|}<露MC*F%tԇ%j9&;vG{z$fw6 c/MJ#i/ϾCYߴH}滏&/vWlu}ѯVW缾*)RTxDɘ]ʼdɀ&Ag+/&#'Ne椴֡.Y6?hNGf(lȂ|12m WJ5ZG #@WVZw]Ty'ssR"Z4e!Rqm~dSsP@Q g#Nޏ(l'?NpJЈcJzǧanP !j x~擡7)HW:ũ31KO 'yed?7o_QR/^n6 p|xA?VAnzk|{uX&9~,eīPظ>X{pو#:#үwI8 0 bkNãDΕONZlx+: !{ ?yB9&!'BN#,؋7=Y0z7Q+!J-t :pX#j&LL8`7)X\3Q#/xm67嵢`Xs# . Z` [?WB;-/ *\k+`ZmUKs֐vfHN BYApIrp?zL OG_sg a[˃121heFe|I,=,{kK(-Dm(8!O%V[(>!$_pݨm 6F7 zȯ__xj}MbiMTھx5005kI%j֡!EC[hD[=Alktz Bta1nܨzn.]d'[-s_` 5[(:62]Շ{#ժ㤟 8= /·l,Q[qN48yӋE{8[j,gVE?SGD xri8o;jOUB_YJ?ū8׋)yWqŝE)g^ 1 πHOI rɤamzM~HR].[/.NnɺF!Q@E玩oayv.W_b y͖hϽV*#{c|ݼjeCeRzs\z8糴*MJoKo:Jo+aa4LO?:w?KW?qyky2W/1; 9 %d]T&ߍ7ߵ1?/[]'g2rcT9[, Mr6qa2u67)DV\q?SbjzWPȍD^Kz=o{6xoxxTkk hc'֦qcg~߭NwԳjYxSYb$Spu&k^[+#<"^y,z[z0?p-&?q2LEM\֊Qo_:1~|7(Zu4j~6sG GF#«Wk#G ո0oy03Hg 0-erzUYﱐm.;4}DǨqS(N\TJxpAr"C шFS!؛c1>3M (do@*Q7+$޼q K ;1`(^C*bj(hК]ciq6кh%H}RP D~8 XiqȟP0֫-׺,āYEO a4৐&8VSlc(""$9 .HQ K"Ox2AQF;#(samD<W+Zk+ (0aƵTk:ۯȩsbަEQ].Oиb;Q; WEޖԟLZ,H3_$dȻ:y(<;}n{@l+;iDK|(D=o8ʖ9~*ؙU;Z?a6$&*kރ~)J\%iy9J OȖpdM,RЁ[$4 (8xM!t |K$N\:Yh@':Y`@Ǯ/4/0׀A(AH0(QB?Ј*a.2"X4~dyh)ЦWdQ~!nG]AES.5]~F$0 |812lsܲ/pf<>7J&YtwI"6_ '"xKJ_׈!a*7B ڞ2mF|JeKx<>' R).Wu^p{ ѕps$YM=]R ͍Zn^n~>b g!t,.7[XJj |aU Urhvaj#XR="| .׳@YW\jҥhP+-!Uq tY%K~O@']ˁL9ـjp m Y>sdN9;#٧b4Lnf^0rt3bͬB1m]x"yG~4Fd.fs&؉8&ڰ@9Apnzgok|zhV/Ϲ&[dT C[a_~BiO.F#U8ioFqtN?MdybQd,"Y=a%$ȵ 4X͹iCÂirqbM3f9ڌ 'cFqu2"VnVH\ xWM [84] h * ݟu`\O}kt? VQDDJ-xA%Ƽ[}bnRxsHQۿ?:1)@^ )zPP.F|yeY{i739#':´5o 2V8z(<աl}.{j4Y&m򦨩7H23a KG/9o }n4zk EZ–1:dV9\~(" Z\:E ۜg:Ѝ&hJ)JpS)?/u@ౌBkAGڽǦG`vA}TڸVqm2x||Gooy?>|уx}ޣݝ]o%>GUޏ |y/PB =XAΔC?9Lj6=wl|xld L=qO~DBS6kUx x '/o=DlP, sƗFm1^1Y3襨68X:o,@WJ 6FoazKݥw$y傢\Ma \w'a/y_+XEl!0U pzq_L cCx\U&+/#5*4`24 B{]SOWkb]j2zOZ2W%xM2 mAc~իԃ[]"`8ow!Z]Vk= XYZDZ{uS۹b6H Z礷X?_u\u-ۮyZubUިnł[_8Imc0 $b%(k2Ύ:.H[!SO :ɩ9 []!0pc nZ> Τl lWUy}ܴ>SϟPݥ%Qp1>=%]'`oGu!Q> D([&8r7P瀫F`DxiYK^zK8Mbv56SR¦%Jmj ,:R3K?3l,6/a3u>LO#mn!7> Qa1v |v)7ɵb Q|5'#:r c}"telv)pFϙo]<3R`"3S͜Rƅa}0+1fWlF.``siRo)͕T_ϫep{W1Q:~1J6+*\1hX?(D }QUGmÅ&yAk)@*  s@hŋ HV](_%4F3P%TF/_z_u_|ՏگV^}wN_^PY/uj wYSG[ZW߯ul2Bd[uاݸQ7^Ew<^{PerqNʩ<GS-l,c0'ٚ c1S Z3iWۆgŞԊj t]j]_u ҮTj9@:yvzzjkq嘽E(CzaS +ozOh7a{MօHQumY4d9U-iRȅ\3_Z*:ܓoA7 XJQ5WP((^,h([}TmWX(g Px 8&m}3- բ%>>@] BՊ Ex9Y?)疶Iw!a*m } 8ԟ |mUT uݨ%<,s| V:V(lP8&^AJU[}`AEuQd$kEie{biYNXvvI_%pN%XfV(WaT_RKt[7s`w>U,rC-[MÿFOn܀EmQ{Wkbр. :͒^FnVr},U_׹YnVbodoKқґk Gd=&Klu[zF!;O?ea`dN֖x`t>O(\Uoo_W FUɰ- 1zмyJ_.O$qJQ]/;ޗb6&*2V0+uI4JTimSIB^!`x7nݔm\^p>_uY+kInZqt6l85dhOYVѬav}H0Da Tn:o ƥM,'AК@'K<Ȇ- DZcrM8/SruY%C\|? ]z:up*T;ntmW>27VPE կH923ʻ<_R[yEmX9U1V~ޡd3]u͂ĐՐ;֋/( ÂJApA[0A5"e= w.E\D\lt^-V/EEb_}ѯ.?L 0‡uX%YĪXkhDZ6e&.8U]ʂ/memWqu'd"ViX,nfk{Q+ F~*_IY8 v  &x_"z#/ʹՏk/׼;w+ޏzz^߄4`5Tq^ZxLcwGGGlޮ]_vcm/nH6jNJR~'yt?D %Fe5Ԙqn軉Usfjث޺,*l Vk =t8L7X^&KPWO _+DY_|Daaus6J+D{σ0.j./6_ 2H6:[2a^xEX"Eȇy ͆ 5bEüӬINY+? 2|*Ÿ#c}!|7C`8"oxVN_у1Kԓ^ǭj+# JjU_cg N?\vc<+ͥI+tw)^Q=P=4?SYڭ0xJiKN$;%PRynudczw}{9vB7:˥YfK% E{*R%QL¡ h_.aBЙν y<zg"cR^\,|d-pډք P  3?I>-Y?ɂFQŃa᭄"MZ3r:&K9Utmô/[=y'XtGt|{pH0[X4t Sj'a:vB `ov0" D|A$=M.LF~njt|G?C8?\@~mx_߸qyG/@[cBM/$o=}bKcʟpzF?$ b z#H"?O2;o)[W!@.[<I~0xwdl3|C9pxcc`{ BY6dӔ~#OD<|C-3~ C;tqs {?=o﷟?~L>`FLHM!61:G {B>zޓ]@?m?{xţ޳ϟ=zn@ h DSk:? 0Iaxv ^n؈ioN"mTIGq! "t%ExAG)#OS2J-v-j08jgc>&˒ k pZ80M sRhsIV7l„,onhˆ0N{I(G诐ϓuav[%gҤxGkk Й}髧Zi0a`DtKռ+.L>2H"X:Q"ybzYdR|J>-ě~TXOCJsP _YKs#U{%]~/D/<؜HغϽI&'ONVGVnzCyZuӺm+[-Xal2G; )^t KI\A,jDpr)ϥ=P FԨF#*qg$ʤ( `,~5#"V&4{ s^et`)5&"i>UVA gѸ8e1s:e"ֲ#^n$Q{=1 td-6̶>ջw0 ]RNlpHK`ٺ G@w|p!;9>ڿ{"GC/ 0TKmǓx%jB'bmFO+A xo ۟`b kώWn|A1DS(86ʹj_wR&}yS# j?`2:I<),_b(^05'z#X@qAtȲF&` f[+@g.ZL5ak !@ Җ1YqҶ)֦&O(!.9hU-CEy652C?lD&KױGeսv^4By"ND΃,_$BM¶c;8luQpX>umau̇.ȭ`2 )|8še$>aJ=4U3%늣;f@  Cms-:軗m#xecp-l!&p!Js ֔$MAtf'RѠ7K^e1/VRGerWUJr° TNRid?mޥeN{x7;7-`XGTV8d@u/?|z0=9{x\CGyFxs` C#G[9ދ;Oa<q9 b`i6Ou~FR.=|#kxro'V,gM2EY̛6Ne+iwCgx9A0JՈyQ*+P ]nKVɻM #lDňmFt*3yK2߇ͨ)>GjG%F$8C*LJL:x&s<8~" n0vt9.7iufZ̀) %D[q%̞=WtΝo}ֵk%[!π ihV gp$\!*)R*%p%KNwWrrP|_K ;E$>fyvޢBfPVn3%B`wd7ڒ=됎nE4 yM(<w5qZY~i}RT50Ք U]n`#Q C1N.^`ͥ)D(Emd Өz)j9be|гx6MNg D<ԛI_bGXu;59dJ#jy 8}iNi1 _? 211N8*7 )dk%h?:C܉G-7=P P!WAzVaL^tr?Ul::%>t!Mbjw)pr+*A/7r )w!&8n C4Gbd*xIG{{Qb+| }0൫㡚ޛӫa0T*ʷB3'x # B^΋PQu[HUuHg%'dw`KyΔA m(fۘe¤qF(|ꉐy gi?É+.MC ESE-[W= E˕r5Y6*P`/ՀN  `"!Gku]>5}cvaxa]A;"f2|dft̩!sňc1h@M&ZF sb%nO" 84 G#[^]FէI8a_4j7پx$x^¬-5&^&(#/_ֻ63-f`SЃ fbҔŤ02:{Tyo9PG Rjn1x~ѭnb|;-o(`;i8YRSpîl^A4>zuOXڭ%߭KGx.m]^o ;u#tJ!@;Q0i>I|'Ev8ֶ5hp1<W^ܑ(9ڑN2^8ɗ38X]qMߍkGx.~od.ٿKOD$%wO _} lx8TW>+ozGi?1d&I$5DK!bòPRi[08@MSo*^iZjAb]~n>pnk7/?[%+\buS,"\S`=T∟U#W>5EW>?7 gm^ggb|~.v0W>?7}s0W>?3h9/>e/Z-mY^qŖK<*c+9 p҅d:D_z}J,\"SOiqa׈{6ţ_^ P ,;re~E 5 NE[x!/'>lI/xC6N E O2Gaov^0<`R/'=eBTob) ŵ$x Q +U$_ F; FM e| KP?tUq0J:r^-p *Hu[՛!/=Nuw$n6|N_ &^=$*.phwV~MwL" Ƽ IĀ8#.'Uh䳒Hv[f+m+ݍf 'K|Oih[S[&"&]89PuaET0f 5dry}eF-zqBZ*ǯ‹I<$:#<@1vpK+إjzO7\K ],|^p?Wm1I֌O/Ah]>.!쀖gav"~6.֌*ZjzQ#X|wB;&Q+cXT°@2A)}V@my5B N5k )hgaU|)F1̬<0 kD|ws8n<(݀H S]Ԧo%lQPfU0'j) ЖC iJ$6HDicdHcߏ~lkA0~"3ǣS=t QD1WC]lՀ~lJ$T/[j?Y,i(":/7 \ - ?$)ΒIKo_/B5b?9y~ h[^VQ7k;@C8NB/ <ʮ9aVWcY&)kzRuWO:kx"j]_-˖S} j90 pk26EרZED ^1/["G/!D:q<~p'|AA*e+$C1RHưBe qX?N2 }zE88+`CT|\EN !p#6?Qx3POM8TΔZ4OAfre(U'׋A%rLI%.aXr GRa#,+9'bGA"NgJH)a#`13>7myŜwu+Rul'Si xKX*Ƈ./ >JXKA-r0"6p`so`- oWzi{}஠Ws;,8Y_QvcGxi^lft$+ aBs+ZH&yErl RVDPeT PA)mJJ?u$DV:b I=?t6ju\>Ɩr?7^>⩢A][%e s?~\w?/&t?/t:ؔyby!W>/E\lvߓs yz.x"nzkǴKp/rٮaCkjF~3NܕT]ڋM._V}ύkeƍK#<_\ne0`64wZ|̛ S %/G&'ާWGQKj#xIou<\৑=KiaHh&^v?F 4!\S\"TAV)YIHekH]8sTM{ h,+>I!QTE&\D~Rf(-p2+1N.A9OT'K2Sy' |~t뫻?7X7ihX͟ArBa`X\%s Q#ݼ^rƭGxJ͛ǵ&P;6., B́LcQ(R`)A<'X$[ X0S@2îC4 KpƺQڂjl{`_6eeہ*tJQ46|I&'Nk`B7;0̧xݖȧ[R)gIt[г^BLq; 4?i)|8bB9:y~ӑ@Ov&ME/޷ePa $j8DQ{C?=6:b-5hdba|4QfbtG#V.n^\+QMH`$+v4G-c6";rHlxH"&w+뷸ƈm.8-9ŭ-m1^ ceLhx]׺?z +̀A|kU 7JU#e*- lEi?HZޏ?:{QwrOmo#AEIӐ!MI94I<$hbSb'/eurwG %EkIR_9ş5$O@/7o]qD%kA_*H5|W_VAW|b3%G~ū}ߘA`jgM QW2UKtUP 1<̷ڬX{Nwuy73RƢ0&"_)GaCUMiQX$tV@cY@ѲQ0;q۷0rV #gq4 3& @+,􏬐ӜhAwdį?jJܟPbqR@gJ)=eVAe]]Ϧ-YZtg; l&ǚ>h}lcMVh˅@1^2ȮQ]\AN6^{~Ę?΢շrq|=jF<.<:㯫:݌j Ef?CllUN@V%X_}Rh z8f(}.)r_B!HFV2§:"1HlʜtDgR3^:qGol] c!r/o.Ȱ-e5HҼe*5""4 {179OѾo֍&X;҄)*Wd}OrOǶTOۗ8qb!y%/FlA +FqZ3ydn?{Ҏ%˴Xd8$mh>ONҘBealDP$׎Sˮ/RJ'HQTM8шY[(@ȒZ@;JOakD^2er 7#vPkGjRp2.U#-8UY]lP_\\n P^AD!o3+i jyisW*&_nH3OTtq'}=܈UT]RIh,|5ڑYV G*B1!uO~*ǪHAc-[gGJD):ԥC l@Xfǂr {[ 4ހ }V:s,JjtOhN›:mHv S.  LRYYv0*}n!uE}a.h&H(q>Ug?fODW]0jK8L 1:ZW=njHpsQ 5G>RWWTQ: ](&X:AXg1qEqA.5b`|viH+vHCBEO kECcODHS`jI0 YDP@RժWak9UuJpiWpkrrOR5϶Ҧ5d($ ۑmAz_k Fۤ9J X>?=y{QpSRf5r쟤2)ގWҍ5I^* d>"|M2G%4~qMpN{ca&::0Y {(bxjφʂL NFܕn[.t)A C#t]Rkt-l̼(ċ ӝs78#JH/6^wãYY vzǭ?!^xxy}.{QSP熀q)_* Rs [D3Z]JZY1yڼ Rt9aʌV]}?q}Z [H:{ehOkp;(\P 8:"Vp4oZGW .R3RnU*0nWX~(}]}~I'FZ;zzMdw?)&;b .]*,WgJ"# z:iȨQL%)l8 +lE]r2vbA`:N&k `1W L 9AˢCiLzŸkrƁq\pP~zoF[V  eՑK)Xvݏ_:|gY,Ӄ5m#b8])f; @`rDEE_>=?@/E5 1B[]y/'D)ՈϻH]F4&55qedhړde³Aib:PK82FmaSWz03Q9 I5sO4Jo7eh LC{UH&NO+gxMcW8i˥GXnJ/zƫEZA_-ii7+nx[b86NC^v!9/6bW%*u k[Y$x;XdZڶYB` {\ZKeLb|-25 Y,+˵ xh1^1(O&VXfOY#dAw&b]Rƥ7‡F58v)K+/ȝYV>`HYA`1)%HDNN=""?Y×*u:Gʫ8G'EKii~S$P c"!˙c1~aZc#]\8L끣1k I\,_$tb}2۸ao⧭3ǴWG$Ơ[_:r6n.[7:\YkXa#Z>7u~[_jmuŽlLUF*A ]3;8'CXg(D֊P"ݮ=/Cl$ap7,FgGBҌisYiS]8 w0ND`iĨDa%fCHit&2RgO$1,vjcr ]Sfl?MAl?{HY^G'M"zd},#%=]FE{Z9ùEVz--ulsW‰=:Ih1sjc<07ũ3LڼN]Cy٬B~sG,jq4T1/P`zT-_j2vKQbgC @wQ.e_+hzCT@ÓIUiJ P9oaնv;UL>7PtޟYsyC_u3O\YpΊ@җz}0Smtƍ\^/',X.*: bu\@ǹQ[e7'ڈ}n pmk,C*Ṇ8^fQ7@cy:TRLl+ ]'kreD>UV,Cҟ*y°T'`ZI d;G.WBX@)m@繚ޤ'R?V'57A\kh fVѷ.oX+bC?GDҕv)Ң,TgyFU)Eh9 i+Ճ0 Ӄ`(iGI%7wjG⼁QX*㖴_"^7svAз' F%Pqe ng1˧ 7wq,KCIhl$Lm^&ɧ>cי]whb$kPcd/$є([gYwYvйwyw"ÎЋ+2a(â> Wو2K~l!=-ZJ7|Qݙ7e@.,Ԁk_Fnȫp<7{yX,v5T-?K*$Vp{F6FŸ'^;®4J?tZ?xz27Kcc7+ GatprN1ZM }Zļ7-T߀x^|_|`lJY{>c)q# F6*k%oK錷?Z=&Ad2דZτP;:l".fY4 LKiݕ5 n`t͛rFX`] xqeĜY](nҵ\I#3Xm[$'X iur2rb\1u.݀.3Ӱ\T~)mQۥ- $\A'S̗A+nVėnچ1W ,(fBTؚb\qhbqk<&;8p@+SD1#ѯؖYs`AфĬlG DԽ #/`$, kZ`9c84,p` mo[ Q+?Q-'ڱ/A)%;&5d)AIŴ A?®2 F.8 %٬؆uj<)CmT0I.ݸ wns.p n<A=CZ0z)GT+\̉>j(LCnTYmoT]z=/'FqQ+(X`_գ7jQ8`&Cqf_R{ >b%yDtv8<>x<0*\TS)G.ux״d_ EUT˛c62KX\v291FSmO!SyZkƧ$(͢\j`?ei97=6ĢtvW+L J9<xU=1-gqv5cف59Cks4HczV$oq+=9F$.ud W"4YI;zg^?tc(r B"- XuN6\gxy$3]wX.dȨZbd-Ci\SO!0{A0W*/ZX9͇^GU; *St^ײ\&-}$P\.͇8j)qu7Gܚ`YmG9CL(LWE0Ϋ(~+RZm!qn𗻵8r"kdiũBd#>{sIUlppsn!BY5 v0M6Ӫ!w\&:g.H_@>fEhirHR_wF;n#ޖ]WeTPl | ث֘BƠG*. ڬ[`lGiC,XE-J t4xbE\\fQwke8}R\dk?)ldU+e32:G>69WI{mIbId ma~[{hQB*KɁ'wNZ 0F"fDrPQRAkAJF7Z 7ɇ6Eqq^I0O0iҐ0^~Y@80Gi B2Ǫׇ j0~Uo=G?_E^hkNSsͻѾ+׼_[i.tR)`oVl]Ni$>&T@5Rxb8g_)>1*܍xrYc3i`h ܘBIȨVЋ hl5 Hq&h'!OgG:] bsAZf1*ٔM@R7C{7 ]yq ubgլS:~E4U` h#gCT&/:,Wdh@ʿ/h8OPfb$|h_m7\\(`&{Y0@µ#\%ΠQ'Z%t\Cg`uykz*PYӔKz̖|HJٲ+&FŨW_BQTň(Q)q$/?&p*r˺:8XjUU#4@C_]AؖēRa)Se$vjJ AEIӐE: DLd1wv6JϚ;yx)S)t̿$E@x3HT뷮oܼ(߸vRS@o@GAvN{'S ෫ǂ_<I桐b.H782\++0Wc6^y]>l;>$G7|8&?IFV{;&q8^u_ J10U{v~Kc_?y?g,MWOwzBtVBuF&x׸cf*GQ8a3Dw"`c[ `kݺgk lnzŢxH=DrNdsă;IDi:=9vQ$o|",)I 8T3(B̜Op[ ?p9lj8~Ԏp=$1B]yE0Qj-pQ[މ0 }44=EoNZZa6&@VhT_KC.<D^zV`@^)HIFTtI#x:: ]Qu@46_LRMX8=̄ߠQ$:6K9Gq>L#D}񄒝hzdp:z ^hAYEpL=wq)2I⟴[D1Z$8ey~u%Q~j ܥ9; v N7il,[$&."Wk ,zg4½0NyeO2:Y.^Ubgo `TU6gp hr۲IY'ICt`1O jm2rzi"4DZJ[ҚS(PA9捐 zD 9To'#Y*@7>>3.:"x{ T}#J ;e8I nLHWH @&Gea<[j4Q1r8;(]v9q3y̠K k׹,ۥ0Xy+5$%ޚ439'%I Ɏ$0㾇C;8?! R-~HշMTDab)\&(9J$6CP}xv! ;xE0HIDz M#k34&t;R曎cH+7`4(5E 7;':zbMpȹ^lT{Us`>a]lPh(cՔu+EB-y+xz#h 6L(s"&]AgeretSD"'2膥#} j=2rZFL$p bwr\@ ckbҀ;A:hm&RɉRdB'F$7;2EBF@ft?*}G6dӱ! 8 h&wxu6|9?('Xt#[+P倄ޥz)WiKp[*n[1|3gDv̫(rÈ( ,$untN1'N*HZF:!9v"2Yb ]RWOlt[2s2JL<`֥V $`="~ Dj؀Msض݌C~ҘSH#> +])n%p,]* U)ht` i!(ZM&3 P'*8~tȯQT3)C0mt|P(A4!iB(oX_V,"Ej pyu"ݡd$xܳ6$f*iP<"afzu L ۀt)im92!f=)7G^Ȗ[0C>lP2_Qb %ۖZ'Uoi2ƀ87M$Oem >ϖ(RoX?%. mHL3XL@WɂxTB'`ljӎup|*Jhb<*Th8"`pQhHpvB]ҥk,X~_M"0W]&C-04ppE*eK˙`k"+5pAaXE@z"?j[ƭ/51p<}wiҐ-#iZCfx2xxp)RxiԪ[Ҳ-)Wi8"sL:m@q1 cqN8hfxB* GhTcvͱE6UkNUPׅ:U^-|ZxV13Z=W<F$ЅcMtjƄ!NOE-PI͋JݕthQG7maٿd4CiMyeTe;idYΖ2Ai^PoӣJDZ ]W r5(4[ޚ声:8B_z.cB^`a1)]2 ~8y[-ҮgZ$-l `Y멦ݗva*QQR_Op}ը>&|7E7yhˆi-y4L,a#kv 1AR. _,!De %vVej?LY]}R5KSȒ/_VV&Ԙd5Ci6N3.FէVĴ8 6$˰d Q50:cZT\$z/iuQ`y{65/زTD j5 i8"jyr6HFɎt4FuӅ@%>iXg '-ǦXJ[ńOg~B9`F#/*`^i#ѳJ-Z 2M=\ 2,g\2%#@! 2p=Ĭ{#Q֠27c 7 )f걟tG8v\T!F <6HE͕ 7]%{8 r*}4"9֌@hTɈWuf0_֖Ph*C_S4߾Qѣr4SyWe s(Ñ?/( >l7`ޗx]͋/Em8xtgaWE4SnpCtON\^yɺ@k{5~у/C[Hh07Cxn[uYB,6Ɲ4IAT++yK犆)ҘG__|_yG~ELSe|C7yXE5^I N=fB[!:8谌r;wC4 Sm{á&|l>e~ ׭> ?bbKg]D^S"a39UG |p-7Dr#}p >O&{7]$d, DJ=zZdʧr+EE 35%\D2E׾qͫ"3HNG1K>y-zN.<ukRIK[WV+U,6M~>P>)Ah3*|d %9Z2[^qUAQ#mMi>3.[@CʛFz?L9PXx[h꽶F< ^<ej>ɪj&.&DkGȷz 4Kj₲Rlתa]eR&Ʊv5EH{*~N]"'H}lZ2֛9"GxB֎HVv/Gz"ؔocsqaVS2k +vJuÇuŠ#+#8m3JOQzW> RA+4=Sҟ5;> ob*qp [)Q*Uڶ4]ET!=Vv}i` \ J]U{h 3Q 1MλşW SEY .#53O2lE'kJ]xì)>ŕkR6|.єJAJ p}SїԳokbByRP&dcQLQ`; pWH 1MA -P([wwz~@F@~:̉@]\`$cFobU#ߢ w-FgP=un(y42i@a1pq7="Vե~2~k}_hq7`UNfT|ZdđAeZPGiS4 U%F iWy0+u肸Su_1\S#X]JQ7\ќbkcmycZ#f!_'P5e8٢&u@ׁO:;Fo-]V"D՘l~Oj ·VwK|螟c*/!|"n%:T\"tv|vXyxV0<խ|,L#A`bk/DO-)?l$cxY0$  4Ԓ zlJ$4dS QgR:%Mbz/ b u~TE; PH(Hy-ʔ-M(wEֻQT1xN;(1G/sAU"KZoF@۽g*̤+0Ek?=[^-ZjB]gV8qThet>t,Hd:Bs8uJcbvpZ{Z} .k9?IZ&(\D$?D$,:2E>͍ln6icZ-eMhh gtZyaw6Gq#j{S=@Lu1!h_ P>zƓ#|iWƀ|vP|*,X nXpE qZ6ZnKU, 0, }LTTk|f3Atz?]_*NUCMomkYī*2^oZ(=2qsgL:)ݹxfq{Z+Pi24 .=׶FbV[X+~7{7 0/A IZˮ|\b[Μ(Šu|րߘ|[F'nchÐdlԚA򎡆Ipx/k7puAfPMޜ qX_O@ޅ"hDKG :+N||ۖuK,z 4Ϙ&@th &cz蛍כ2\6nAvv"Ъ"Ѡ^?WDK-~T!4k_ӒA*K)bc|pUsf@m"02|֌ĐZU* WyAnJYKoF"# [̵ohsBQ %[roȊ/Tb8oj4(ostmSq߫3m[:f3a-IYh˅ /k9/pvP'`rB4WrOe l/[k:g %4-_2-boZs3n:@WmUƢ=I &*!]ϙoqp|'Ux/扅2>Wu#DadPVUxgO~ߦx<}_ȷ u2:,E ")hr"EY-^ռtR2? c P4u9h{-a*G_a-ۣ`\ʆzi0DAGАOFHW#/ľ)Q3NvYʥYgQ@ 5)vA{W+DF[CS=&'xA SY}"3,M;$ 126-)7=~m6zM2Uh1]p)G*w [͘+"aQeLgob3J ӐI ZkEbT&25E۴lrv_VY0GʦkC(n(ErΦ1lQ%ZG4[g9 PaqU8B~'/*J޺02,?ݮ;ٖrsEYqQE$-"I)o ZOS5WQaK_T5S~MAՄ1e pQi0gCwK]?'`6J DGG䯌dtq4y6B[iK0n.!"h(PՔRPu+']",™|/M(M~y5KFUɧ$F,&?hSq8:1PHn%}ܑrLqdž8r]ʌP0Jlb]'[Z7+k;gPH82M[drD_4f*ҳ.DjD7, I|@{hEeW]T&!&p`5lj-hY "IJP.uPoOժw؏KG:{JA8rf.hkp̛j]|duih̍d0N9[|Y4"(-*9MZI[)Щ4pJ{Gl\Jߏѓ=l邊I_V7l 7$T~*Z@ saēM]֊E!S:aT7 R֏ƪ`])*n@"C& _<7B7g'/@ le&-T,fl e AIBB/DwC-wẒ0= wvڢ[00o\F*5H=/re6 g)c\Ɔ[N6"d2ઢţYӧ.u~mW)6Txze*a%+@ehi>xЫ`jjZu>,|HLs1N[aFq@lx%`hZZVl]DpA8H"YL8ݑ62+ٍZ肬3<:DkYT^4(8wVqs&$҂2Q bdoka6GbQCIBD-F\@5-l([2)nUIF˪!JIxK4QC=^s~DGaG[wJ;="c5V#&5K&|"#ST`BIa76i4]҈,C}8* 0hXy죚[(Z|֢X9>êR[p({?Lsw|9l n=*b#N}qJ3IE[1B_InQ.Ō` ;B*fԵ˔h"'XQ㰇j*F&'w+.)* eL{,y? c ܏a}d)-Kw*UѪl{Zb^ }!" fXDiudlpvRJ v3|Y Z_|H ܁oBum-t04b@8LfWYHcPy"Yb-_Ŝ&bcb@Vp>_ȀHd7 vf7Ws8vdX@Mm·*{]<7rm,Lb,HIR0pīdm_%)=~Dc23`>p'b4,F"QtF$(jx}s3Mw_ ~/^u0_۩@9lp0a?\d\< q#G~z TokhfE 2,rȍz]k 2w*E|0 ex>#9i E:x-H"oKZX6B$pέIՃRk[°aLcZ1ʈTf0%n3mXP[(viȬV7K<\_k hu+),ॹh iSL~Y="K,P>4MbW$c?{Õz 3bRi6P,U%|% D[/ȓRYS؋ڕ5Ӽ3D&;@CY,\JF-(:љ½%,;h Yo+L/YsKvcE 9ǺcENzC`ӫ\ WOdǧǧTl?!?F9 ԺVQ:dA>[PaU8 =IQKa$ ^ lv3{9QlҠ 6?Äzw׮:,ò9TZ<zH[98v,/DFAj1-'zN.SB3mT#ڃSsRQBVgyY41ȅ^0B>tQahR[-44P.n6 TKap+TmaĊ6 .>΂AOʐHWg-F ۪T;3 p%Zc)Gʙ t.Vw%&<3.[HZ‚K[+W'汵i67"A[NgyZdBfyr7[л/Yт]UfJ;o  Een#,lքi< G!ɌxV8%AٙƉo0..\ cE Yk͓I#SsQ.y^_ :N{].@Q;j)Fd''Nqؿ*G̔. v֪h@ht6-fN W$p)ӻY(>9b%ܵU>*OaKđd V>- kq[zy_qcJnY}7T#u\03v^_d` o7iFC;.˦Vg4dw* 6@l;4\uw\2=(.JSnFaqs0C5{=$ɐ4x+P 8Bj:r0P(fG.Ҽ_I)'F7b31spV0Bq2vQZU9b<{[uEڎiQFR?y'ID@/IR+qt%ۚ7Ƞn$q'k Yf oMiF!DDFOH!!8̂l-uwB׈4Ӊoh{ A.f)X ^:4ѕ=޷KDH>M^ctMWnH]ǽwџqHB3r!F5" LʑuK#D5-uEODhδz|֔#r|D%F\,mIIBOKqy*Zu%S1zvs '+d5$ vXW|5i2lzGBgs]~~ϝ`\Wq_=RZ5T㞬>d)̅k PE+<=^V^;HV<אH ZA25ZIrg%Fa25'I`)q. .ԏNd 40G$~X0tzY1x8|gaKWdU,oR݃l,H';*'F`Fy ^Eh2%bk僝q- XF6AV*ghA^hg!֩5sYν)/{1޷]d%lD4i ̇!%pg=!qvdQ෷/"8X&CjcdpO&((LC<6QwN iN$v|"IEtbHObI0T_< J)@s LJdϳ,G'>x(/C|9ݥ/ϤQ8 lGy~Y,-mE ^tݵ%,*8=xt&q-PHKupK5>k'x>WJ5I8U:Sԣ .Y,nlhWp1eHrlܞ.|jCɗr" Hh=oiFlv^EPlTuB rBYoGk Z,%@M9c- QNJ3 9څE'qEr;y{;W+xG utΝ{W\=$?8uܙe 2#jpfg>Q4ApUgŁ/0FZ6}JN:nOxCV"T!a=aT46}Y8)OҘg,y4GIǏp =[M|Ǚ)Yp:k`NoVZK r@d6 32 GQ8yK=xREIݧC<;x}74vzGd>0,#lޯ4ۼ7yN)%1 !yFrI?@=]CiIxZRIT[" 0|iC| {3n cCh"Z0󉨘쑟f 6dvヌA_=?o{k:q2^Jd}mm=ҩ %G6"b4-vnte^;]'f?t9l7O^x}OĿRy^$UH"yCai{`ڍ%ߵ7.atQ/:GiMR{m wJS/*GFP،Uքo0a sߓ$͌9Yl;7{ixzu43(hTtX4@.Ym*뺟ë?'5־ uIǃFQn|2VK)l )C Ȩ n?ta{q> Y<,dcmAh!#`a s8",PpDQPD >n{FU<J61 -\gL]je;`Q29iS5ZhSuC`cD Ԃ.`S|axdRZаĩa i`*.0Ź]epR%H8*q\2 ѢINV|g&)@1Pa*g,U\ l:d`pw1^cn:^y*%^ -F˦ۆ>50M `\@VYNu${YpXAkEa&\RZ,&:nEobéݟ[_T;sM#<'O4 ~.Zt.#G@ABvj_5jA88*uֶ,%Mֲw Fsqh'FtvTvc4U贓0>8A P WU !m Oz޶Ֆ"R᲎Vh09v^t?D:#Òy $mW4~KBV0ܐcuhЀ46ҕoʭ;R{?:SτM&#@ !8'fvy#qGķ|Da=ѢC-EOt3+4Q AI4vR<=&fex,^6nM-_ /.gx !DtXcNCC8FiLBTuŏNF(Qxn\5!; y.uj8C@$bU6,s{H̾r+gb^ !) R8uk:3Nvm2׼]y&59ێ ^#bWèN(K X+:'|RzۇDpmt(M Z6')*!(`P5*cV"ј͢6j8 <)XC'v[xw8}u=d#y%9/Z(bӈ3m!x+m-jPѴ:6[6*/}v\ke;r*amdq3wCnz&yj82 8K[EWBr{mXZ:*jdI}f}E#6qZ窣H3X7 "#N0'N3zs*ȹOuFK:NJxd(.'s0?#n=,\𾇞%3n^{t 8pcTz3$|āǠZZ Aٴʉ-δ]戍 VvJArÁz8j6XhE4oWM!(Fs$#P X65 \x<|'a0HÂB7Dt=y1RLԸGg{}(eeRB8g|Wr]2†wqSx==\e"E`ĺCOɫ0F.PMg@t PvȚ9L"[yy R}NFQJ4{!f|uo!j ^J4kzWIi1a?Pj61A]fdAg[=CƸ@(#pH)ro;ߝa JhZO崅kBGw 3_x#oJE/|QG2bZTBJ+{K %s@z&7 :DwʮΘDQfE)5#7{_pI7b@R~`f-QoQJAaR-tRMGو|uVkĤ_E?Be| V?,D&#tF }d`qkd~jx֋QknK>o{xHx"hc/ho]DZ'L.^*յM޼YG(8`5{ڢ3AY5)Ҥ‹L¾ RXd1y& ~~ñE\΅6Aḁn i?l≅; AHW &G#r7nx? \rPdIz "{SWzvxZ<J. "xȡ-@6Mcѩ?a&@qW\C.CBqPzu)Gv]l R_W @do}f*Wby_4%B^%ɓ2f[DqFx|1)a EAaB)`|^[f\qWMatIw+(3$+c\h6-~v;X \e$QH,42(d2=-<#K]C20HvuW]X]ӶkF CH(#sxg4ˈB9\Vlu{p%M_fbƣQBjIKA$;W@1f $Gl *)9/Jh:>Tpb)Ed@-~3עG2d~+]/0L1/LzOşdQa" f%Fn)XM1HoQdnq&ⶢĒgL`r6'jS*jog9`"9G*Tc%@(ς9 ϟ@w}օA"IC[s ym1w'+MYHEFițOqרrp{؄%Uq>FuACAYܫNJ*H@eEs߭މH'1x8ʼ$IMԫdC:J  0nqWF*{RfDdt <%M<Y~OŒI +FP8"W*r 0a%sF 9UYgxQxa"Ɯ:F%<XL?bq.63n򇨻mOτ|SLfI<Dc+OA Ȳ&Y`A%tɮM0]v" s8-3x-,>8pNx3t7SqIxQH(|K+[Oa/Uf>}cxΣqHy|$FT g| ak~@WBLQHmT0UATը,UںtΒT輅?2^X?꣋Oj޿'fQm Btѝ'14 IUhn 8$3sY'!O~cą<KkZ6=x]Y+n?dt6X#{8dڌM GD::nH %8@oy=!3AH!A7II'H_0WNpJ/Æ{mzi7 .@m*F(c1f1 Uq{x38ƗP=Df!ah>~ z:75+?Ҡ U4PʒFv+ S:>Ob@'/9a9-a:rbPR. +o`(g"Ytj -LQ mw6(GL R.(yPMOH=:De"[K"&⾜bmvvAn1><$ts|i#%ځݿӆXWgccx&K5D;O] m 2֩VT3rk_$*5q iGUrZ'Ҡ-Z7tBhժU[$ kc<%"kjbȜXRFm[,l õ0>xΖՖ5+0L?LYjIS6i=}򸲦5A jJ~ s:dM)cn`;5c33Wjp+$mSO~XvOQ0Ed&ˌtRk+2 Utl6C"K\ Oh3SpW+uw (x!_Ug .Mu B9nHuy9>R"NH7䪉T0[ h)4;yf;@3Jv%Q#]pz?ȜOp&@/U_[صJppvעSA>Eנ"h Y\Wg3k&i"=ha51 !_b;D1#rJFjTQkKAuVnY ^ìA kvCJREG(JQCkJBNGyBRl<!z9 슳:g:v s'(!H3tw Iv6aVlfe\rg'^;CH+(g1NdnBm rfV]{-OPQ>&|ڊmqթ_U>2 5K6GMQ2-ZEWtc&`PtҤ2']$33`4rs\[ 47d"}Y#:Q~S;n#{No|o=)IkO$1d] "pPjˎ}V8qȈ=m: NMSR%w&|r|BηFmIčyo`cʜrOӈb$e9\nhLp:խWVD;_qcwrq>,t*@"SaP{ፈԄ1#~(?c.|7@)u%Gsw~)2. SP6ud+v$LP-~挫` B %p;:Vv|3+ AH"ȹR:\43nPhŽ_vR!uRŽ .DBlЛrJY3D>w>oa)^΍w& KK2&L6)j\kg aD]-D%HݦAqa8;]Ҍ*L6G2d4hFû=7sK|/c|}&F~km"lo4oC;:'M.3/\m| A57S^nm7xQ"[$sB\ʾb][,7%vgf"L'ǗQ7.z REk{T,o!okd@h#`zÕǝ[qĨA b" {@bun`.|f\A&,"irݦ`k79t I 2s~ei)\ߢl`LB܅2% }dH>QGB6B Y%d c)u&4&n`&#MRRkÃU>1lϵMHE07@\|mݡ碒&T\x`%ʽX8빝 x h`a7ֶ 07$NزxMLI]Ɩ.zisBovo^w݊ п*7'muFLE mJK78h4B֜=%V%0viEH :_"y)Hi+kA"(2@'L=qAC16eVKS~V[cS}@O/3ZU?>N2:VV:ܩ[PYc3@aM7NNy%*sYȧUSˎ&Grꩴ6Wtk IS趪n"AQ4Tѯ_OF3-xR_>Đ+ŏs/ݶI÷}'w_kҭ&ݣUqVBg}ҭ~3Vd-{{i.U^a+d=$.w;GMۅxJh}7Fz#K4ZN%8yrAɈi1A3}v4Ħ6g/\\R- vLKhL4 }&  TkHrI#c;yCwC,$60Qs=]ˤV{X;/ kh͂qj(kAa ؊ h pRJ^@T`$QMC&Z`XQ=@ҘCDY;)HnvWVY1 4|B'to+o4V 0;c#B~v|CZAGh F^vjR:.DVvk+~m-)VJ6)ġ"v~:{"g©h?R2xCBΎ0fn*bIL-<;&E4 Aox{~PW FGm!;T{0T7 c'Cl.v;H)#o/aξ#ܸHo~IN_";=8-gH@LB7Y. E^p@nEwB U*M0)Yv<X4dʍv1pE%GwyCHx%۲f"?%w~ҽA#ܡߥoMre4Q^p۹x_Ώb619)l[źX:7fzm < /h"w7{~T~&Fx'P<KY@ad%EB- [9czL\fBsX#9%27pmxw''=~'GaGg}{*A}nT'w!nc+"o87I;@BR.]1tA|3 &aWHp>4,=RBENSRUcN` *BTBy-KisC @ULqrId-*m)|5NѰȜq[]v "za?-mNf͜.#"!PjIɖTalLF)cs rz)ʼn4H|n%p=#%܈jPL0,ۋQMD_1[aD7 Sz#ei=B߀o[>I٫-{XÁ/ {"Iø#NO.,W87cH3Nq o PWv{{Mpu EF 0ϑiiBa#6Aӈ>+r[e'"υBLa7;"x\p8KDeD1+@J٠ʟM`-)>. *Z,)`? =Yj\ w+ssX\@^0y#/=V;ψRoQ3nmmhv477>, SbJA+x+T ާ| @cs Joo<Z5PQTRjj(;嬳iM5R|vHhCʺe~=޹*њP Qx M_J(ۻgŽݭ%u#2jDâkClCqD$ЍՅ%(pAJUT;:% +lv/3xگVM 3,=t7egzP f^JKA`@y0< ؂"!ЅDފmxZpFo;~WVaWŃ?XVU){vfURpϚ`j-{]UKLq3|^z*սb *3f3eo oXbci.VFs1bIn|0k/B<)ق)$|Oik.̠*f21B9AY5P)>_3jkܤ&8v1hHl:aڢdXKG-YS"X»g"W ۉY_IF%FR^g쭪1#*تE @[m(Ej-ҞFhtA%X+L"UơDZ:5lPRYY-[eXpTF\ׁM4 >ȃpŌ;Eҁ^#lmSЪO#`%ooHꗌv;'BA1k =E[VËvt8RLnyj>+z[Mj`7I޼|C `1:[:Jwψ$9iM9 .t6OjjBۀB=q=m=qŲãZrfV!(f/r0XANn3j|Zvc[9UtX6Zb)aek}߄ЍpjV~IEoE}V0M-*잡io9Q/_6q9ZZ P6`qrٞRDUi-gaY>]#u ڕYȄp4.͘pᡤXYʀC=.Ę\!xm2[O*5,̛OT[T~{fS/e]Ŏ." "6jCkpSOL1MM6eRޓo5ɸyXjqWVzV҉`9)Ixe0āD@yW.Vj!~:dl*;kfIP`@jJC!pRŽ (kύ@Fp"U.W[zK9"٬`A5=q P-!tc.аܵFgM r})δ\nQawnb _!/W!Գ=ퟨ6DWsYW^ ِk4suB| Ihk]8To)-dLօc;be`1kGPLSOv;jE D6|+;96Sr-a=VX::Zz1sZoF-"|Zg)\Ү':!ݚ,TRNl-_owtqL缄2Fs^2pLg=BbrIZݹGZѳ2hP5'"$ašj*k,;[V`oOWzJ.#IKZ/Q;,eO*RaDAy-'r߻job)`^R^lQ|蹐}+ciIa5S)/0k7#7 K!nLM$Sp@=*fz} W`v;APX`KiO Rx1)0+W/\,`$%U5 @)TRQ OWK1Kt 0~f,Y-,!@ 04-,ˮDJ:RۻkYdZŶa9"R7~=~>OvN6r:Fk z]N(כW Z;dȈKo "԰GQ0u`zbq&8GAr!}# ZJ:!W ĎLauAlTC.swC35-YKЩKAzkѴpTPV 96vYKt՟%_f)P߲?-Mn6~\a;zD0!4biOZ4pHe%rC塺; BmF;\~,!HrprSH1^ 7v,F8mLųč[FT|^@Nujî< g#6uE4ЫwA*j >1Ԝsacs>T$)ʊS- S`s5? }e TnbuT_hy^DY뎷Gg0,AshnVBUX"@ZS{m(ZϚ1iXhщ^>U ³Ze;:I\ M n ԀX5U'Na]8Ԥ `(1Ʈ! O#uJh'-EgS U|H򰱴%Q7$Y*Lj@T6 -@5l8aE A2j`+j.HYEp3Y=|% M""vìN||`N 'yI Pz oet4XN D._D&³odCN+ lL:)jxcZM^0ʆt ʪT_(R:7RZ-Xsu`Ģ^bsu NDJXXc}C}X@1u5p9hF3ym<2 PеGEe=B>9CJ\.ͩ`1GY^,.-D=AlՄx^ϱt p_Nk-p Gr) ,Ph._xґYuؙg!Pzp&7H0P۠%p*&='nH&nƒ( rb˂z0!e 9%CQN\Pt.a.zBu{{};aݚ#"TT/@1H2u Sdp 8q5Uc i ʘ:@\WD \k[.(ʖ̗.*vX?32ǹJ~ag[I l$ZZA-tewH5  K⩿jj3X8Z;ؒ%kk‹Vwc0B`ʍ>Jڂ'rYCɓ\.W`x\{Yk+Ut 83"\DE)ůR)`r|;Β{ա‹jθ % l^voiHP7V!e/ /GTH:C<*GQHE坃"; hġ0$g vZH9˕$j"RpAHY|)ȖX C!.#c0t^SO߹ @wzVi6#C=@T0,E8ġ^S)V;HÎE|{s!|R\f|.8!Qٰ XQ&Ϭ!gCY>}3YCy3ԐOR-17?aʽzdEFL10z]ox୊kIoRJ1TZS]fZLZ3ل}.sB |ϾTuޚEs㡤Jxf)BAR\s*x$Þ$k >J˲>,+ҵŠ?E"-];"ĭ@^‹%[ ?hv6Fܬ7#RUU1ŧ&:47pgx$5w6>cY{9j\pQeG\6zD7.wQWyjՃ& *uc|X0;Ign陒@rCyv2OwB#˺i*s?rj[BEsI5IXz܅: n恗R,X&$x`-`w0:bhm:%z1 eΥ8@z"ec04[Q΂E 0gS{1\NvԬX_X_g[Ki5Y=kcrFJ5`0&WEmeVؿDij܏td I;#K1'sֻ$Bu"j@w< ygS[ uK(O**:\,}WVkuzA!l7Acف5jK) TJkX)AS:)#VgY3Efrµ&Y4N?|Ilw-z+|cۘ#YeA>y9d+r ko驘T:m j unpjV߫qr^uB9܋ OUGnE!_nZ :}[6w`;b~~y~~z5w IFоGg]~:'*zÞQjP46U+{nD!co$X Ro1'Ya$CyOYU:W,--gw*;E˿$'M, :ŚzL9w(]V=CXUd+J 9>/^S1DRys?p0O]UFѾ's` crq`bl+6?k؏b (FuB8^HH|#P녌n"(XxZNuEзkWʑ߱ ޼yk\m$;?pJgw}TiZ-m泾?+BgQ@F! -b2/3؎'~dm0jdV8gsK˅w ax_КU<O=&n))4_  GsEa*rLX\/@S t0;gӓy̥c5Zp坠iZ:g8mZ/!Z&t%tuK)w'U Pƽ aֆPBD¤虄юbdD,{ckfײ嬴y5΃ޔ>@27U48VO 钃Iڥl)S)v}f# NA)c>=Ll̔Y 8i>4M^j,+Ee5X] 6+^؆Dcmqr,An 0D@ s*vL7a8 Q0ZBZەHRzL^c;B~ xO.)U'EcYe[;A>ٕŠSǁպcdGՂE:W0E/̣qRl1 dJ6u;8_BYQW1c741b&9SdIGeb?r'&ycF&ju'ay>7߭%64656777 }"}xv)WZO/bAh61vXTM( F`Tˢ0Z L i阖HhnVTg}Sl\,1/U_Z(MY s8IOGVN\K'?Q[E@`OR8o(%N2MDŽ1gcq#hFmUw??T:s@-!BɈZ$!5#Сv:bgLL >ʥ"Yc`^fkQ -邡c O"liWiU]Ln)U=Up27yӉQ"j-A⩬QVo=62'lp6OM0Ј46S%e*З.zosś}g'" ֋y*Ryj=53㩒TaV%V@LUŲaebis,(ZާusHZ`?#˩-ESzl${}[/"`CsШKߏ!x s%>fD=U1i ^.-CqA(0_an'!oao!-cNTvEzq fκƌ,&Ƨ/JSÜJsɋY .<0HZ 01H &tlv=C <4jiiA uz= cLۿCa%Uc+JXd䥴>=REgqXSZ~W{f5/@$͢07>ÛB`L/ 蘞g`BB,'mifs/i l-ڐ2,c~r^3}ɒ%I5M,zĠ-Vaho')Y%QXZTV;zxqSUNӰԍd;ȫ@!TBt+S9X[L$,ڜ]JB@&m/ (49O5紹2`Lͻ iS\ ve,)Xv"Y01V%S96bH_-t}s$P;ӚqJ|Մ??7`Q٪)a56lfkv;]魦IJ_E+5L\7Q^ |_O/`#,rYQ1t,0!l>I8S7ByU<;WY05 [NF+a$uDΤ' ,^2۴V\ -VΫrFAA>^DFTg'0 nIzt(9Q :OJ[?aM7чZ6QU?{bV8ZXX08mz視6!%y7DBHwojvz*Ezz|;7XqKc&rtygd$Sl"Q*q_ѺF0oأR=h+6YG"35&R`S0زӒY3f?h&bo X`[HV%,q1ا%m ]>"4ڋ8mI Pfns[{``x涾DgЮ:LFzB3|R Uݖn3ֈ}y?Oucy띯 q@!e'»Vv _{&8XG)=lv,uN.h㶶b7 UB±jmH- )+szUzzk+1-塮,9=,5VBsPN5 w*v9ObZlgW?>rZ mA4zfᴌApQ؂a$ޏvKiR}Z0A v*M }5sa2Tfp5 +)GtdnݛeLQ…"7}azKV 'Ĉ{Hٹ"&or:VWj?$j{ʧ7R/}C$w#?QtЉo@Qͨk֑&- ;brVQփZ ח'F#ÕHJ(οXA}ED槵*Fmy[-XIq{;Sٍ3`5677466 f9$:qu櫼s^tkNvjo3"SG|Ol.ȗ.IOcx-P f˒OeȲd,CX#>篜eeSW΂rADo&G) +ggVGiTmry*grA)gY.}Kr)PQ1PQRqT0r1'g9jOfAǍ;Jnl{^egslyJ瘜 F6{j5*O)G\'6[t"y I 42>J:)aܒ5NCqwOv`d7x}H:E>U{(a<|a^>l)r LJb]kXmqrfK~}|$qNHǬR1[ǑyC8<9rSdXT=HvFfΚ5');)dy\Dy[oڕnsnS33E+p1pv}OOrBTۡ2eJ|LJ`]%g!FqKQf_h;Z wTtTU';$$= ~0p5~eҠQ=bO폈8UDm׷%sY0f[U%Ȥa!_㮰y?9D=,+{ݞY|t|p5"Z߽3Ty/Π5?Q{\j[sܐ9ruƒTp9NH[Ke]ͲNNnq[1WV}}EΥ (f 8s^GË5-d,*AX!;} 18>}K=*^u }UrA0!^-Mѱ;Apopm#7glLn)WUAGrW ËvIin)1RKd^-7zˍTjoInt&yf@5h$J.%YC`Ur3 hpP{g!-E$0})E4[BT7B0eyݯVkx{ {ڝcn,5b 71́qŎʂDKZRm>9|]ہAQ%?G@"sǦ]= ًMk ?ח>tcR|fO^)ˢx7:;W3Vj0vata!w#7w mֆ߽yЊU߄7*.rיSBldwF<޳_B=ojoO7VTLՁwZ [`9~? isܕ8?$'My~8^ ϡ8bҤoMbߊ_Kxr;M{+*=h]oU1]B~A$;Jbb܉Ly7_MV >͇߳aOxs myx2ǡG77*4֊kj<}įᷣ9c=c9?9ot< oч2i[w8>xQ;:jB'xG8_M=QSĚ:xE9 .@T∊ڊ@gU\X[+*;p CN(a˯ס n /7?!|E;W/~\{v(e|q})VbڡimQ7aFHb4CŸ?(HĮ'n Շr2GgptM~?C~8 V`=C?} IgTL8f8 9tڑӏlkjbC𦣏~ńw-W+*&|{gL@d)GW4< țMhc9jOh5Bb@4Oaw;E|5r|-gO0㸖[g̘І\rswrщ;qqPbƌÏyפ[o۞n:w7C š:Zߞc&1OQwpc,np?Vy~5/zW_54/#L.c.r la¡ZڀRGzGAmГЌ}HqBFQQMZ<:Zm̫7щVpv݄(0oBB{, G߉NoGpy@>.b#+8r?A%V7e ohyŜ+8os`7Ϙ^5#jjlmCayq|;F:h F-IFx4xߑ|Q|ѥ-5gmvEGy(va*=h~;b}2T)L;jBr*XJnBʣP͊yt~8K",fPl}Nba}X hPM3kOʟ˜Dyrxޤ[8JV||‡'LL&L:cҏy߾'{ž|a fݟ*~:VD~}'JA>>SA}Iſ R_'}hϦٌ߰ߟwQ}Z/Լ[rI6c*ZF˫PbJW<E+P&`2#~k xr0r`Om M>q^̙1RU@U `$PSٌQV͛[9g╋{(@Yue]H]ݩM,VלsER4\{]Pt)םWsI=nA:,XCC4a&hACg2FOF,_Ӛ&TS{ϚSg Ԭ艎*d6oFt}cs/Ʈ-dtӈ|DKj`DGլV@QB";nsIT, HrgLX?՛FQTOCzAcGN@3f3ڢm ƶhsAsƙіH,|ili5#ͳ ͑fz~5̌6l/EiUx]Xa/GIEl(YHc#lo3S榙%mn4cj|ێ /d50Mڄ[lhngR1*4/+HCa?6!_j`d846Q#|F oÌX '̈ 5MzeZVZ=mi"=it{h㝃әlo g;`BSO}EDho+NLA"$vSB<^S4r&yG[Oe&̃LׇG6Slcd3y1(q0ԀZlP8dcC3>3´V R6 aSǛTZZ[aWjZ\[J9S 4dKf3u9^g6`_2Šb)6;f-ɦz4Ca)eh&$ ǍPqfB4«FfʠhDw[tfsL7if clũ(Z|P|C= ffE1Qaqpidk#z[5jFf WЪmBÊJ+ XLT0vYI5fFn&EMfED~iFzYmLӛi_D nql&˟JC P{SX-k)W,+MG,_rUIe ͌k qaEKgnbFoPWxq[Q5)@ Ȋi/[Ds]o1q.K ye#SΚf579K_BhmG267$lmO4 `6D2P{g6CON;9.[Y}!r|_/B5 mӠl }8#̐c4cyŗ2FxabFqRi7R^5k$pvʥ5r*Dw"TYMs5taG<570Ĝzb|-pq7 Za(ACϕo`9|9"ٲa ƈ98qJ"i 9{#h* iqJ uh9́j q (bb]qx7-FRJ͑&i'/qi8`?? lb V& +\)`4̊4FHj5 3c!m4̙2+,ָj1o`ˁVۄjyx֜:ǡ O y UZ{UD49.\ YF[aH Il3:e AxOk7 "]9u=#CiB4{4*UsVϭ2[eDx<?'гr%}q_/qܗ8K%}q_/qܗ8K%گq`J D]ci>'v-9K=W~Y5vYk<)SڥMo\.e/^;&Me-_ڥ/^ϿtYKz}O'~uyK|}W^[~M/~߫>I6<}7/{ʓ{_o+m{n{'߸פ }'z_=/s ^?g{?^w7.k8W/m~3:Wp7.k^\s^?O}g/8Sug_W^|/?}}o?_w{^{8ܶxe'Nkf͚2yW9}eO7/kx銎:ǭgvy_ixֳ޼m&m|{^K[^/<.ixҎMr݁㟷3}@_&*{S޷+~x.\|i3]Ѫk|~z;sW綁2eՌW5o9{ԉ*?+^xn9䊻ϞRqwm8c&Tυ:*&s '9}j+zzοuWԧ?>cN˕B777;18.,:oc^h[wGpϝ>kW;9_zVnٺ_mSWc =[}Joji!x̛o&7曯_߀/Oo/ڿ_7_k<˯򋯼W_z{_}W_zG_}//<ҿ|兇^}/??^K3~ٝ ^_y/?gw̽/=뗞ՋOSx_~Oғwg^|g=çOO/kS ㉿c?#O=zK~GGv?C7mz腧.}___o}__wœ]̟zk'[k'~~gw^^Oeǧk~i ?q<_<Տb#? ?_o^~4OVg=x<>x>ǧVOnK|?m϶~xs}w<箧on97| >aozt'[꾡kӳW{ߒ}調z W<5W>b^z㕟Ї|W/R?Z|ძ?ӎOSg؜ix)5(!! ߬rL>θG=+"ʙw-ؔ^5{.M|K9㙇&|;&}θ5([&Nn=jh*,;?Xs'*&gC"|x¢ӗ\]}5=7\ُhw\}+g~QLlxO{%іFu$~mϯןyD9}Ǵ{>0 |žCI I5w5',m'n6%|z'ͯMIOm^ CG7Q"l}oo{~7T2ٴiW|ASJBRuXv[ f!#^C3M=o*+ yR}Jb&uc6{fLUhyx\]nGEtSKZ^?'um7ffX٨TD9E~`yrJ7̱TV\>۟ 7R7fpJ3 UPBj3&LuX!HY$j#bv-tŚJ-Rt%X Z H =b~ @E)hTQi8Rvj4"QJ/b5 *wza5t`h_s_jP2EsyXs֧Rf bNж7ybH iS`xh_1ƈfYL7_@/Ք3 #}XjDYgc`ЗZ@? Zگ!sjFF͋@ٷhJIvnԄLh%WjxIT3Z)kmČ8elbfSډyj)-@>R`4ڢjHI HGM$Sɟb\ FKjQPSᤞHhV%S0#`GFbIpp:H5ZR[ } e8:2&8jr,911{9udzD}a4ˊ-2*g^D,ɲ+^Y=HR5yd[bY`/8Ie6h)CSX,}s{o ;.P5L1䁥L" .( c,lDu=@g^dâ$9fHi1e>`f[bp[/ ]ȃyjtzѝkIOaqە# ᳴qQ7}|z1ThS!{cC );m4~W#$v[ jHzʆk4S Pkjق-%~ F__YWF;XfOˢ8HGÈud7ky; ֕1kha"ZR/3k)xU Bhz8^q!{ yB`` ̫^), SCCiyoThLlDiցY*L `WfG~ ; P/XKBJlKYM#(W`9|\@ )-oSfp4)#6gsDNtrtJhݧ#"uf\OXzH$CQ4(p$Qt(XGChTɯ(@8J}C5N=RI*,UcbB(v}`mm8KWvY0r0#Ң -VLXS8Ru8ΥkOiz 1O**T7G'DlBHLCzLBgԂ%LЮ#bNGm,vv K1[q8FmQH<%G5h K"OģԔNS0:?k;rUH P&/N،{Z[]Um3jjO>a,<8+@A'8'*,wLI~'=/O[C. lln_Wx?dY4c6OW[c^̙;rzdO}]J( pxy&5)pAF>: @Jjͩ1=:&^4ae:B;~ِM91dl Le4`s-ȬGDˡ!ZRtwɅTNҍ䰷[wXu %Mk9PaV4\{]PSwhORvصwYעݝ{8H  d$"bY 3Լ6[(3 >uց] #xJ-WHRʪB e2 lT>1t`%؇neIh:5jmpa%KCQMy^a;2a%vU\\cL(z '9F8ډiJ 0ʩ]=KWң,Xqrի9m6yoQe#PH:@QՌ9 'ѹzR`aײ`ʒʒZk)VV,Ψtk$@`N Z*$A 61pyC !1R 6dͰ2Mbt%[V2hXi,ê. 0kXr!TߦҽAO6ѝ%L@]uݰD1ba%׹b[u6[^`쩕S+1{f.zM5in_P3S!c9mUgCT!:\ 'xN-5B-5e懕SI٪E]xڦ'.e)=+U/X}rria=ڊʢ>ʊ=+NYLzK^Jۛ@}KzN{g%. &2wAձjl̵ObjЉÁ?pܨŁAJ5\P]7b {/]sI,(WOlஅ+k)+>pJgHYs#S+'k:75U]r h`/GvVյ= =eZe67>;_+hnM糹eP1b쏏g"00RN˘T6>5s]lZ[8FeuT1 'j.BgZo;_Hg0@%h·T" dV(nTh쎹$^K/P͑Jݏn(t8r𱍛O T,2;0'ca/|Fd1Xu[ij)#fD;''ƀpud_dkT4 5ʜE?:Okꝓlr}2ue[ts:>R,5_`n`k3P^>렖Keʚs( W=`biN cyИx!LܰȇJA' YpBfO!2YxLa !9<>v8pz  [A6@ǞX6Z>;ukŶϩ#H.SY7vigXp{l9w*L$R9e@n-й˽> q"*؃kG|>6LBK@ Xvq,ɋc3l?aB]rQ6:{L-mVn-6YY]b61a{61)l~fqE5{W.#z9 `Lx^E3ƴLbܧ)j{Va gδD6NG1 d.XGAsJxXH)sqޔfJ<H̬_`JUE,NWW)ö ɥKCg/Ш%ϲSxqlw0F~{,2#JFr:.i~ _wןO3+b']8%u#"hNݜ¢\\~G%Ju `%9ul/~oz<3({ `Kmjo?7>rof5F gZ"\>I* ]J{3X |5xQ7gWžb_ uSȣ_Ga.nԥ  5K'{k $ĩr-`#"Wơ I@xZqB}}"D=cP(n ROw46{Y@^d.rCت gGiI:$?ko ?,~1,XQЀ6 8*4hd 7jc[ X@C]ObkzLbJ *wS1Z)H|%h(XTb ^=hi+XvΧ)]12fl -+C90o^Slo9c95KxjFj܍L0^SV5.Wy90("H9CY W[J ‡(jAj Wnq{;5A+CvTdHD8AoߤEOf 6 ~"I85xÉE l&pi U'Xǭ+ 0(44xm?ϸ?c*bY62@U735K,ݥ(0;0 Q>qee55qzDx 1[SϘZy66}5VZ# `p8gj9"l `5~]S:{! 5;@8V%ݹsQ8*ޫ'+*Tᴖ)Эc&ʒ++)VuXԥ;0\ n.hMzY0@ )M$TKi Uuf:rjfټM(˺N~g5&=s{^'U8^\s4{ŝ݋Š=݋ɉ_, (eXwh XQDuQ+'"d#\UƶqHh'wI֗y\4;H$_ÆCωv\\Jijim‡'t$4@Քw.I)JƖ&Z_?g=WtO*ey7n1C6f6᪰#PO<-ZW/*[ݵ;3 g|͓z(Qz{)ܱ6F"BX!IQm m2ށ>ss qNqf@]ݞ馮M|XMww :='rm~+pES<C7Z9Rqtb̼Me@9ZO%`X]dO<\TGAb QLiXeB %ZClD6L?o JVQcYXu-:R(.DylO /@e ؉x6ӧGR;jPu El^Oސ*g{9!BüsպKӂPyj!RIsYCzjOhzý㸧}r0X:?xT8!-xZǹJ+B9 ?2c;tv=į4tm {jQwE7K7*fhqAG͛8*Ã0id=^[E i g֜DfZ|jQ͸jhtj@ g-^}hx=,Q^^3Cf"`_j21hȦCWbTn9x@ 64;FjtP+fQ\Ж}²~ŷ`Nk(s\h,^Sp//$Ei͑=AI7Pz@)]zrw D;R9Խ3 `HQ1T:ɮnvX3dȀw]ubHC q[9Ƴ9H[GN}T~H g c J1H/cة-ZSZ'GI-A/[*K riȃb)jPΦGf;U䀨>aI64¼'ll",?oQ:%M8gJSSFSW ӯ6˶U_mMhm +y,GDR ZZsM0k:Ȋ, bSuV.5QcQ/ ΠÊ<,q|[zEWc7ކ1Zm"v{KltT7*{b25g*ٺR&]?f*ZePVspx, F,КA(b9* 46Ô5UT'r~X(JZH=gDa=EBD-bD =:~L~&L9^6`0lzҰ^՘'ۃ~93*RQVҟ lKv_ֲ 땹J=CYC5uPMC}csVJ`*פra 'uxmΆI̿qgk^c9_[KՌhOf차a Dd돕CO޼CKMhi94bMZkm!E͐IJ&;PYa۞@6V= C6BafmISA>MlO"Cf(/Z-c_baݻÞ('@)eM1oonq;?JuN#[%TUIH֖[ 5fV>|v^C{}p`@Cel4-~b)T %MtrJ+M ,ҲT(_&TM3UӟVDUmTcP N fcqv_M ^߸7rSםd$>Rm_צCbo1_t3.+Ĕ?v// ~@+,KY3tpX{ _.Ew !j]0JU]IPTZ\C#e2RfI̷Q\QBԷ?o}x9ՊVwv-]OOyS^Zg~'=G3OCz*={Y_֓L]~z-K3'ފ++ήh·_}P'E_7aV:t}K?9D;=玽{盯]_q^~ܾӘ{8pG6m]̓_oxb{xǎݏ5ιϺ~_4g5o7X8O~ 26}O>sGj\ydqϾԻ^?}!/=;ּ㈹m㏟_=wn?|s?hԳ_>[}D۸띿k|?sCOp$}aOOvyk/\>ꮻ*>r?][9ռi?'sxu}jH&={~lٿx3e}/l#g_|۝c_]uᅵP}o~}g5-_ywKYӟ>{zˎzw.{♍>Myo~3|w8qvK^~`C:5/Oޒ}ӿGΏc O3?~Gcӿ󯯝pWU.?tkujStAמr~n11Oo ܣ+@OOxjt|CW<ˏ}wl{~ .F{vy}s׷Vsꩣ9_t>[ي}Ӱ׽Sǿq¯MiҗR/|7p~om_mu}o<{/lG>&W>θCx]sO{颓ж^Yy֌$n8/nhoO7kѻ|1Ӯ|EY1׭[ӟ҇視0gWߺ7VO~O^5;nHvOqgr^ۍO~ߺfy\y{o!.N#^g~~@g_5ϥC}{3}bi7׏}#Wm7nK~ʝyL8m?~O?ɟ?3?׿o87Kw=;Z:;ўK~u?oE/7%V'W_5ÇW}}_:{=]/O?CG~/~ه7l56g-PϿ ?%378ύN7^7ރO=/_@r%S9? OG̜GĎw?{ѿ8ɊZ}WIxGfm>t_[50k[⌣|=?}{_?=gg~ߗxOnI]F|]ﯬ7={}ፇ?wg =~:K_ÿ\;>=gKӞ~k6uT|y^kO^N8Ǽ/󟜸~u[ty#ܯiKön;-YփλWG~s_8|N^>k?]q睴mǝ{}'Gjx7}]쏓?O̓}g7/݊yM _>;?=sؕW|cN_̟]'Tm~#>~?w4s'bIMxթJHS=rG2=[|ة?3]p_}K]+o{:o˞t?~v|{Y*1<:}9 >?>_ꙟ\nxD:/'Or|ꮃO:+ռ coXæO_L*+ZϏtc;љW=-Ph޲J\^px/礏;vDO7x]篻"y_\5_%v_]W_ly7ǜ|)c?sϿgkowyyc8zFWOzSo?4?w3T~|ߕޒe~K>pq_+t'{u;N8ҭ-G"K6 }W{ ~#2K|#}⪗7^LwVklx[#_}};vwS>ϖyyߎ<$O{_['cx3Ktŕ_9ֿ{~_w܊Zs Y=IUw'^-_o0|nv[wyk|k|fk{~|M?ٟ>?xK/CwbW?Xx9Amu?^,iSD'Z_cko{uuʂJ r5^PHGNK(P&L'W 9 +ϨiN=$:6 CPʮdm"yEH=%ﳭwx E_7thJ`+XMuu+Qڊ{=XC1rZ\C*B'HO<$"He7 G.qTYx^|tM$;ls0hZ;CPJpƴ$@k]od}P)9ѹ;)Y?͌b:C(* 7 csbynnr CWLrtZ5 k6ڕ0u!,f}V:F^~f &xA3F-kFXYׅ(0<,g]͉J015,"kVdq)No͂BabX?Ѣ L0OOWM hwJMqQa9Y,{֬t; }ԍK}^rODy_(?Gl~(wS5 uo+X}TF˷KOromL,ÌXa;n/Y&@2$΋!d9kW0#nR $Xa^Aar(my|& [MxxƠ v tRNQ0 b|0KE'9e/eg83gNʞ9ɦv,"@[7W͵G.HTW/ķoWUI浾*iw(q- J_3;003P5 2b,h_Ae/ bjB r ,%Պ*JE1]-{ȭ,akPj5i{%jXߒFQtwA9d&cÐQos diebq%htN]o5q%ƹ '7l-h/)wMKXq 4 D?ggYQeƙ9~W7+)N14^m ikXWPoR^~l:vNh)<)#(j^ >$y,zQͮ4 ~+ 2M!"F: j;a7$y?E0dCJВMèuðDMPGg109b Q1aNJ,Ω>Mj zXCk-4Y`?uUx@3spfqƗf@!Sny6̳ƻ2`&~Nh|6%2O'zP_&Y( Hxaa\9W4_V#Ὀ@Ib/iUSZ֢1<Afi@"4Qh[`gL=22:(h'e٢bFiB*+ i-OA j@wBDYbrs1 (\ ".Q˰۪4 ReJ3cO5%J)L" UIl@9aEɰoئOtd.ՆEV )K냹.A̓.f=AR6A:gl~p)i$v$/0O:aK8~xGmPHb;(3R>SQù<}5@~^8:ªA7TZ@fS1UDx2OB'֨,s]aLNϵc jt^rA5o{WITG.'JS[|,}3ІHuZʂ(AMi@ 4IGN @uGәq9YzW!cdF')R0\:qmiM F9B-@{^pI7`yf'[S`"4/YU4A8Xf3Hj@:g⼒n2zS,1> lM( fVGZ|naOp3PZ {*cֲi"28S'3{h#qSĶ%3TnPU."L +[2EPJ::MZH V W,ۯPDbZ$ļQyؒ z( (56&0J6D!n 'DZ"3C 5 r"i||V8bb 5U*_P BIA7LKt1_#se-:LjxH U 0S0F!u, a,? G`fy3<2:t3 G$'ւ>c3,jPrZ}Shqt'{h9 l2-⸓| *cu5g=No 5!E:„#burugXg-/[^H-y$x12 Ӛ=Fe/Cΐ%x'Ja/䟭rȂPHձażPW2!s?nM骒bl؎_GQJi-.pG%ŦSRVY%0cA1/GlhNvyVq$?ͽFkWڂ۩"񋜓0Ⓕ.8|џWsI/d܄%EQN~Au(y Qd982܃bQ:%@1o#hC&vd+dG "ߧ5NFDV {TlĆ pf{oQy{. ^&!Mp皜{pb^Bfn,e؏(R^l8ǥ*4l&BN{Z;iksU06W*v6v*̮hg_ ݯЬ sڮG[4L6[^eXÉ)6Jej[>szCZ\J079ʩI%gᘥ*0(2rCn"6P9BL%žoұysJ$.hW0&̈́LŐ,D|HB)bT),ΎWciDꇅb7|QC%FTBWc~'Va벑fb۾nI[&b貛Nfh4m`Ea智5̥ b:MPb m:B2eh U[S` Q2i $GLWs'U4/0#Elᆵ½,̷"!vF7Ң[R.Psfk009msbIiP`PJ6K[^S_ ܓe7F:xwBaZtBAlVܗV2 z,EYk_mIIkZ9;&!) Y)RܹA,['0Neb|9X4rKh]:0Jړ9GnKCXq%b#G3:5X Q㵫(I\B'%8VL7{3  D4G*nQT?:߮O& w<~f\y@VA4{S.!Wz<2qo~;օH\(G}ˮCde,Oot_7]F"nHⱋ<^m i#E&:DF̹\Ibol8L I _ ia%(*Z٭JEAKV/uͲAn*ąRtYA-:3=FElI,b}zJѝť!҈Boa@F/;nK_Ӹ^&oP<( ^iܑ O_$e#D*h+  *ї2,HgXsʾ_ɅPs,ȫkμ8RSgM䄼E.$w`o4htOdž#g~W'͋pZvr_()JzKNuٻF1`t-g96­愰BpF8ָ! g7Ac־%ql>#Q@b {l7#X6s[ʖJ 6zG4dj mIõРJy-9CUR8?O0wP"LFs0:+>QiXv=mU ^bqpUa!AXÉ.Q K0Y~lmHlq.#ƭo\T 79(SDZEF >mJ{𧻜ʭńt V[VYJRJ& :l~(e~y2k7n>t _r?>A\Dx{ ^p`~&4 b/T&*[Q(fGpҖ?/.?V?/#Oq?U۹e0Ӛrԃ/>%zJ…/ "rɀ)Sų.6MgEgwbq|͌N컻;l#STKBSɊOAbEV)&p$WZ@I[͋ ZY.8*Pc.?zȘi(_ g)#Wt žEX)F!;ܵ4OY\ ]M8wa+,iD,YQvѥ]~eZEw@Q~T=/.I)*[(S+CLHzO1uB͓^oNMC08 }#9fX/-t YNrTR+olOoA#l4R@mx*6. `D*&8vb;J 50ظ|!CSE!=% J_5=.^#[90Ɂ`ށJiRȓxeNK iY{9Jomkm7>,SPɏP;>C"I|4Uy*hj%/;ьMf uhne/IT4ne@e@d() mݛyV`9LO>w}1:O4q@7GAX@3T( z'&2dnB:Esv 5TVZYe@gnd:7Px(BςNO؈ӽi/ȲU+XHCJWg "Q o\ (w+3S@|)D=RS2""h!wPziWE_`Xb;S+ig|xZYXںHY~xnY DxJ_DNé#t<ޭʽGֽ{ͽߡτ2{D("FzPq>/'a{5Wn"r nXMo ƞ{J.T/xi%7@O1-c-!3zQXs ޾6mRDKێ ,PQV4m 0l #% DрI` RQ- 0 3r#r2byfg&vAIvD4DMm 3[fEZf6lmljʊVa̙ 3g6bY 3Z{q6&'_e|wo|_:36[&񈳸GFj_?ZFdoZ& }Ky3?,$gɔfPzpᏞV!s㏞ʀ)1p[yN멾ѭp?@bL{O#U9F48Lϋ5:fshTrĩ肟>w}ph_;EdMς\z^tvV/ݸ0W]^ߘ!aQ=ط^QVN*彞2nY\PTHFIɽ.FvBRNmP3'3ax.&1~ϠꗌK}`srĴ~ M>y]ǍD|dI3*~=qVJUT9r3w =S=U$v%Ty~w/ Σy;Hu?{?t zԲ/7.;zmدq1*{vWv=w~L}гWأS]%=jwK?0pM=: F)zWϜ>8msKO3?~?'`~xE4E=;z;z$_ҳ.q,E]DZpƯ)vUO{CBɵs?Iz]xbw3yM*.ZM=U<{ z[wjyM"ߛy_6G g<oY縞gu?/*LL3ujVES[3Bg_+yT9Bʸg,0\SLϞbvܻc|^/t{^weoB)uz)h.'AE ) }zDAjN߅:-Ƴ,%{7C7YO>5/{r_G8u6)nH~a*[u+<+cz`$> P#Tkv {f%W:0ԔEs;xf_6XpO~k((yswJX>-j_^&;KpFjy"3g]rr^;+MY񑊂sA/D1<L $\|דa eOt"aH,XP S(-#%kX< cP0S&T(T+4;HRI$"-PKAH^I24s#}%NpZF-&/ 3_Knڍ ,Lǃ*jOCqg3*bEnO!Sߗf<)1q ,qdy`n$@(Ux =ԘЖ,mJv ޺ƀ|U;E2:=fҜX\SòdT9`~Da48(} ^/ W*b(' CHx&ixBn p+l<%-)r㈣M4NZxIbAPS»AeNj)-ve>g0G8K@?k`d>#y#CLKks*GpJS@2bZNMgqL-dbnR?4 0Lld,+ne1RLEG=B77˱U Had2A0xƍ ר1#LPX5E,ɖ] P |  '&R_i\4Ox<}Z@ZS8MA. ւCC *P6̼b '-(5:Jffzj}  m6,@0Bqtl垅 dVsDMyRjȓƄjn<69,QΏ!,D  $͏ʵ,Ci +2K)A'| 5 MTry_Vb:biS,_?ޢoaM6etܡGT%6I+(a1S ȝ;p!{$.<tzT*"),U @V뉜1vEvmeՎ#d"4f.@ʛXA\iL$@@t'1[%nrZbiH,eQ0VO<}cEe`fP6MMㄅi0&tda;I ^`!|@F%qK \llala U"I<6K M&bU4;;6QFFY#ޏJ;Gt9#34 ~srO[|L2@- VdKIݯ_#·$8eX#%~١*̺2Jb2' E`#槟-XaDL.[W8=JY*IEF%ezt!twi'J0bQZWiKwP^hL. #`+jٸO AZsNs4_iZX#,f k8sQ`&>& J GA?4+tgS\\5rr+1Jq[d*c99],~F.dc+?* ^2Ox).6wHq'nA&o`n.fX2"KO1Jh0b}7lҁLաD<2>=U1hie37=udG 2t) ux6[h4$@kЧ)+-Q$?5G6%'"#1 D:N9. Wx(x^pTd$^nI̽L 9%Siv'2׃d>DpV[f VcrÅ")o2&P^Q cٴӄ`i=UDE9NǴMJ&h)W%s]ҶxpU*\_M^Z -BZt/9E9aY<@4Kg[$YgcR~,7n7^MJ`6\Q/ղr[ȑ-9֋4oI\ƖW|ïܛDܥj5 ӗG rBB4k(_lA89=_&-=i㉤E6zZYzr4 (YP$N_[!E8UEyY 9q3%&ّF'k^4&Y,ؼ4 ~Td'SЇEDg )d bLL%˶㳅ewH<Jͳ˚zyl;R"̩ߘǝGK "!X~XBy؀<e'6AKQQ'{NT^Ru&*Dν-kcOl. 8U3=zgPvq6vIZk7[@ 8q5P;cr#beNk6@R-vʵͨtz*0UQ3QeS "6]v MCu" mUAZ#JjŶ: I(j(W#"z_8Tt۲zhHx*[HMu<,u1C3 :9 1•GF6-EJs,eVg!$8EBxtFHU`qH:gh_E#b;s# 2M$0WД),MAR䊏aBFҕf%`` ]N9'F&͢V4%vz !{"n]TM*=Gu9eB|I%7S:<۰{] A!d)E0'+LtBG2Xq ӱQjPG1=KBhQ6g y^q:|Lՠ4 @CwUìAiՊj~a/ToR_\bSfa3s%K-]dz1@^{k=up- v%HMX~JvR2aLJZ *j;bVxݨE,M7Ka-'[ PcP +$<ZĈWW4vI"+D፻g ^5RtQ踹vwk)!k"ǴHHώU--H#s%4lK YR6 (.3olK(G?e069KcS$R9Ď ff9阤xVVE:}jX&@,{W? ar"fdP5,tԌ6"2"7z0mKRyDv7dLp1: Ef;a>R*UOYxrx3z"Ri:\}xqoFF;:)M< ֈ.k٠C.,9a\:zYmD8?!FE@at2>Ψg~VDq_eބT2>X4" r{\RnLh\{Du6(@w+țwm aP; &g#xZ.՘Ͱ< Kȼ֠Q;/(g #<(d0V˿ecP.O0'نw ;̔H# Gd+פFYXxq-b^e}YZ٫ j~M ZB1Dg/[Wb ɢӵ n~&7i45 )pBr3Ɓ3fȒŎ9@]זTX_UA 35O@ǪI]dm ovߔ-oMMuV~ݶ]y߷’s4JqnT=NWRR!?4 ߶ PeQQ(&N559y}]*sUbdTƤ\FeV $Z^ǸV!w6t;uPoXUd5V U\OF' A'{9=*Pzuj z(9s->*9u( lĢj;lQ\ Y(pWyg3*U.=.K2ݫoDO/\Vڿ^ϻX3[k=6zNg:mzEmw$xp@pw3pPR + MCMwn3Kӎ個:6;Y96>[OZUXjM_ A@jJQؓL u) I\ 2n!Gdo{sP j@ A5,n . 7ݶW:kfĠj ھ  %G ar }4ZD G!c<z&ũz%: $sZ9𩺊M$i 7| mb޿%0+_c! $p{TPݼC{Qݑ>^9V] 2i%pozf-yM%Gac\nt?[u.<nD!]컃2GfpGɱ3>ءkikB7Op5VDT8MasJ4fL]hftL.zRɸ8 1.q 6lBubm0f3"pXBT_ (?Y_ Cݳ¿q)tywGI-ʓ┌ݙ~`{$674uz?w'b/'28j=.uHע_z>f{~ [$RqH[(W{奧+v 4&M/;Pp[b%r HFUt~耔O.K;W7L̯v($A!, YF֙9|Co#B z``%oF[*:'GwD(|( rMOȯIæM7E|DYob“ e^ )ҭbI%GIoKeZ0K|dqApdFG.zb Tx+}f8Jx s4,_}H%[4 EC@r+)q%uu7&hˎՌ؆gtAn+*J1I &JMw46!K[6:a SI3S_`&|Lu#eX qHc.7r w{ljfڋOH"V-letuRHM6 k&Esn.4k {me;6Nl٢n"9l[]nES$5Dvޑ,zQQ:l BswL8\\AKځ0m7p0,&S={E*^y}5rղ Oi8$!B^0PO.u  "$ oGB2 ksZkiϕ?>8:?kROQ/sǠ؄ מwul"$5߅_:T9н_ƿm?I wZf~椻ƾ-W` UI̖HmSg溔 -96.55p2|^G Z/%O !eŽ7O.rNvtC~]Zz_;%i>A|DZO =ܮ|5vI Nckջ@>Z8fBL-oK8nPrZFYq戍 YЃV4NCCU0Sՙ^O\||SDpnlJԞyňT* gDUIg5ClBldozZF: ܄,vK1a9x26 >;[m JI+ǤCky-QʻA/JV%'I',h7SwC3>≖T5>6,XەTemFq"q9$WIýkŬ4eǴ)Q3."w,SEڈp.g/0C.(e7`CJ,/w&L- DuF^βض<# qq6u$~(,J%DQ'E%!\Uh5<[|WώԹE6 Gu)-%@rq5:< i%VYlກt@\^wtNh7(v~C^BWDŽ}F #W̑_/LgD D`_}qU~Woaz/LQ^ B>}N=^_~}JiDk?`^p|At}lz>%Ygi?٫U>=3z /_Рa~C\?_n5wB/(1N[L=*ZcLt0ڣSpEQ0( 3O:7'?Uxو|,+ {9AujZiu6 Cbۙe474!ጧ!3 :^ ,kA mBLcqP&l,#%X.ٍ:IaKHAOpn }?nw2 `&xd$nDjԔ(I# ƒJsJsS$ s4$z۲m  E+n\ F\7My [^s+'Fq>}&]̕5%c`*~{c`eqengSp q >qZ7{|6?i)K.;.R iX0# TNהsy@+>M3qn-U /xT;`4a"Ffeܜk`4r&> "OTO Cs{AŴ(B(jd'|T4 -}0% x2f 50r>))՘ЌExiX {V{s+4e@"FQ"v=ں$hu㳨GCTB=]~tLc1 Hgv#1/"ĸq AyzhJ˳HYY@[- 8u540HxfrRԓTIeJ:v 9Wk0Am2is浮mZ[MJYN&2ܗpl5›\۪~3-uwy8b ARr%LӠ-&Z'Ƒ+Qi7^o)qH#I½/:1Se]HKz D#kE-Z xt"?#vZa5qR՚ zK  g?P#gxӺЎ{ug5(PEM0Q P` 4`_ٓ>[x}X82T4j>ɥcZހ>Q@"QK"9}Oa> ~BJ>Q3zT% 0D\T:qp9`2% /q֎0F 8.H !Zy[u&u+{Ϡ(A6'XCiŢIB R)\*nLs$֠72Q-U(3s$'1\̬~}Bs.OLI>@w53i4#Pi+ d F%>SZP S4`petz'ubY<2MKcX&,@QE;b#JYҿ"4ƚrʎ8FŽ/ŕ@K0j$3f҄nq]Hᥦ(elBl'"ͦW6$Gb94eX'}) K@y$2*y㳶41w;3uhCXPJ? % "$xĞ6Pi(;4&{URBZdW҄}'(9T5^ΨP6q|&F+ (5AcY5O5; |%*.aX"v4z3u ۦbߚW~2 нĵުȔǀbLF)UZxk; f̥L  9"~Y hU1\0>;3XD);^j =2X6~E( '[1nl@´29"`'0|ZUcILj>8n`b *+īp{43 "r)6 .Z &A}PeQ-X[2R@ILɍk^ݏq&?2e1gm&{xd~ *jfFGzpڢʰMڶ#Wpbſ`@BZVC$ =lz}k[|IwQN{WTG./*\ B\E$~Pj~[<%}7-1w+,TPFyng4ƒ)4ub0>C*VfV.dQ""Mhj*\ѪD/#\Њ5D]# ̖ /Ø65\S^I6l($hs.4|M9q5.ߵ[o(<ʸ4vdlx>+qMO WC AR΋SwZ&n9<ɵ%e X1ɽ n)nJ&2Yk2Hg)ONEpoVCz9V<ʯG*8}Xmǵ3s) '9ˎ!Msл`3d0|OrcmĮޠ!z6^ت%A8MS9ɲKlk@Vl /XcNW6!kH?-ʋ᢭(t`)]MDD'Ԩ唃>΅a6#%5$Wb @΂h!.H:[Y%0 pg@(J/YYl>5>Z<4>q1@:"'VoتIh*UT `eMLd:V8esUISyzղ/hL32N Y[*A8ؤNi=ڵiDve.9 tZ䝽r ؚ4zFj? o0˵B4p3v];- KLd!,pFy:x|uN{LNghp>Tg'GagAg\fRd1&( 8wÖ IE`=%EL#<тMh*w J6_Lҝ#W*@ \}]Q ,zKQ)0qzU|Jq#4Jnƌ%t̯[  6hAg'h@C ,C@g[4C8c++X(MY65lN̪7 cp@f/Y!u1]|?2m [Soxnk2_vfg^Ew3-_ΔI6knh{J 6>a#  "%O)+ ^6PE(hb>b.ed6.iYwJg㩲7&3 * qMz򾳟~ߴ?`oܰ"h)gTc-Z*H+=N/|Sob$TH쵎˽Ge՘vfBv$},r5^[*+IJ))KCVXcŜúb6 wP`6iTNTNVo(4(LVmr&`:VON\}'/:2q:6]C%CDsH|Adrh0 25PS9u¤Xr/p|BwgrKtzJKWdYD3Kcr,޹Â{,9K+1#K̴_65&Oyfd+Ԟj"@K;32GʆmWuN;i+7ةzx]h͆O@rͣpDmi`Fkp|JUj1j"yȮIćB҇F\n$dώ V!)LĹƐGtۉkEK:WSr5}:Υ& e3l+W\yZy}Iapx53}"| ͧM{\eGq"CG7/*[ZbYF l h.O}.)(u}`Kw&fEq$,֬^@3aUVsk0.62Om^艳`߾H}hv]Gٗ TlCosmN| %M*bJ>Zք~Z(S~-\OJ[m؍Bt;IY+Wja\A{  leee|++*n*$YuZbO=2ꂝ6lyR 3aJMRLe`Yb…\~Egչ o|7}pkUDǴU,۳ӚG~lӳq9Gvc y2PͷyXgkjvrs&X4~6\"H末-^Cr.$dˬa_yIU6b@*\ji5RKR]-Zlib^ٜQ 䑘EwhHupcjR/bS0L/8|kS*4*pێVvV>"jZWRq1+YeHV0VV0-k;(5pR2%"LN50¨OΒ7}Y+I{έ4 ߤ然D-se7mn5$H~+rfLe!j( [Rܧ `/B`\ qʵu5bJ𮒹iN\dfn;26VћLB.Qk򸩫N9mbXY.(vwYH_;ɻqۡCzo?vvYwu\*N;:!®Q@lF7\=bxq|5"U<9?6|+Go~TVݵ /ب?)~cvEb@{ pݘWL}s^}#}SJmi0Biph;B47 8~ku +M/^fuExn2Py JKP "Pq;r6d$l$p:2G\$/5=br-}p zJ^Z"v-0ewC3>ّ=O8a\DJ#ShF zn׳nt6KZ;! u}C;=<+~ xʙk?.9]*0ک"Oez 4e[J"Z[qr?z>۲ntn[snyO2m;th| :Eoi<$pEˏ@!Ջ|KG$ vp /~,WȖZ'L󐌄:u9-~vΰbHjw&~r$a*=mKL^coG?FKw:xOF5M{=-RoKWk3Uw6R$'VUTJRHrՖyͧۗߨ4k%M@xH@U46WͿ W!2.ҾgeY/,ì-窳c4c49WH#cUS5j-/ImgܳlV,=o/8Fpr[ pQ?7I4wٹfni R鱗6u, A4rf.1Q'1? :HM>i4j5I5,Jҗ|1}_ UYai}'BPa}w,=/h#R]Yj@6qv '5}8 q'v'r>Ѷ_nꋎ_Z##n#jΘxBch>r?>=C8o0%E8_6KI]p i4/%-Q53!8F-g]pW([Hex ;n/\ >ϖW;ܫ78jeV|nor5@Dzu QLeTI'z|V-_o1vI#./;Qwk|/ą 9ᛝ^'TȔwìl^Ҷ{D\-*-$4(_ǵl"m[?1h>n1&Z3BimgN}>! 2S'u"oyeJ|-+)lnM9n!Ps`*1M&4G@Y;SHD#Fz`޽Jx[F쭮z1pnlY‰iz 7+P.vxU7 G R\2z:rjiZ!;"C,/ 4luУЬ:a^@&Аob^E?^)&6ʹYTY7Ql]9!8:':6̎( #džF;{IgIWD7~D}W['ra/SQ`-p۪Sq)ga3KVZXHěXOo17$-b&Zuڇ,^U=Iܐ008f!( j~VaW|Sdb<d53G"EGs(rQ gkD. D-(%nP}dGK5<4;WZ8 iZ=yiWv0AdduGP0ײbgbEIC y-z@f}Q'}%臭|r"@XW]'2`شI jeuBNvvAJc4=~K3%}ʺʨ-44E Ǡg4PY}D~U{LAGtd'Oq-Mju׵ QWZӏ/*rmOwNkUa+gHM JוÐ"Ux}L j߰} 6\1Nd\(|TԣI0DZI懲O=.| fFk/G}Rfx낧1gG(.x[c=~R8h}PnW8 FgTRM<0$X0Tm gGB%Rͼ&l0pCr zrүauD:R06 se,x~~>BHyt?a+6vqZ'..7m{9nxMRyMTĊD $^9q& Q=,XƮ7xLrY+-+2tSVV2Fk0yKaqzTwse8`]w߶~y[}yǗwwm/w_x~yK~?7'ݗ?Ȼ5/_ۣn?&ǖ~I-y4 fEs!"}k|}VU=e/үD/ "~ ~-roKEo<[u/ aK^L}~q<[B/S_zK#l /L|NjǘJ'cH̳؎f׎#Y}"laR=!G5)}raTB&a dQo/1 "I`q~ TIC.$#-a' Eh"";~yp0Էob{]DSN_ wA & oƤs EG_C,1F8 aXο`;g+5?;w7 5nǿy<;Qiҭ0]?QP[ѯ/~'fR3}>񗫛>~߿?oo?jZ*F((Ue7O zz함?|}yo7O}]n/HWNߍ?݅ۜ96wݸ?@qTKr:W[ˢJ/gZoG'[umfu;|BǕ]5hqWXKso z7BJ;YgR?,NOjN/ Bz2iI`8jEPzvuqKM7C >7Xu?vRzO4zxJF6<7qy}%Z[7RԷ/=)ؗʐ;K}2RþYu| 7/SsQ % WF ttǮϬCMn>5Lp2p.@w;7Tؑ kDt@;sV)RdKMaF ~Jʇ րh0VӖ:~GjZuldFe٦,9f0sroo,GruXh:'I&^Rh]H_C@NW_IЫB.E%]YVodkoe:}J:.6^c\ԨZԤ#K}jRms\uZN6jj`#5D ;F: P8QxgQV:([$YKa/^7I iyR`؜g윭$5FVXs0زe%YTr{,Dq~Lp7QBu?lGϚ km)xˤ& XH`pmBܴ2=6s*=ER?<nj&|ɲ|!DҖV!$JX=*/I`NA`` i@- Ua, 2tJxFMZm1ZCulؗl'~˜`C%Y4VAP*Dۤu2Ґ܃ƙYR\̃n}2u8y4qB"v U_MkfUZS\q682k0|NgQ$aD 7|R/"f&|WjLa8E$زn,i[yBdt MIu)wp\DNgϦJy9\hg碹ld-xbӱ5U=L?2ĞtDrԍ<(w_FȻT ʓlZLq' R:i4Ӽ~{q9& 7 w]<5Y(Lz4&OS*7f"x_DsA EliE~T9pJ bK7#'BIn!@Sk(%Q)#+nIiV2pj*>amx""%YV3 wv$sO?n ݍaB!\VBwSMܭ4݄?p|>M .xZq%5/HIJ#}v:/D=Puۃl_ AM¾;ItcO=I8HSG`A'K!B#hM\ C%9Ae3 L];`r#Ucb~z(PN 7hrv5 rjR77RلsP<%T ڤ5Q7ْw8s:6z& ً禎(k)QC42h) >$tmZ7]U(xƓ+dD'k^f틏 7^V҃3a8JE.}8~YM7,_rms#nQLP]-'Z`->W- ˑ^JJfcDG;mmaA?k_?AZ`E`ru۰"l'o\]x0;?UA $i%Re_ !%ܙop H610faxmՖ9= cƘ2'YuSZ53ܔ1#&qp<D(j!O' O5b.HP*;΂Zv$=a ̾i\BC'۟!:=^gEOD28J=$i= E0Z$ei)VH/'-h[g0([pPыikkCd3Q#b2d4EtI:p4v)?LJF Lߎ u9(xr  ZʨU7#oObBK/91 9\n4u')tLGcX)C͠1 %w!GJ @Θ{69fCpHa@q0QT⤻NH] dR^쨭& 6XJ/ѥ#׏tڜ29Sz.cٞ،(9l@R$=nC!Wf\ An(W&i^=jR.3ox2:!'.v9p)u@=? $&dd2Qz h B]!$:WPSdEgL:MAA H! P+KyGnJ`B.<ÂВlNM{Y+][b+lU 1sARJ"#ld상QF"w=J? k ;MDp|2U2( J4toqM!OfOZrubY)BX9rIOа ddr AWa#4gf;$smJ<ШىPQb cJPoR'Ԭ(ȐEh2# T)2G9ɓ0S-%)MQa$}AWJTIxp(0Cy^U S`'fm2 w)!ZМTO|>NӺPQ[Ϭ6!p7ŒDeTS#:cYJޓ)jIT7;+P0!ءU_tcvK >H*Ǚm^p\ȰQxU@P96MCq\/6LOYd}.d `$VUsbD*Xq 9 qs$yY&Ziʋ‚$2_\B gk.wޯ( Vp( #a{ Uh]kzՓ 2GK^gʬj]U ,ч{y3\AuŠZKDcxU`٢q 6pfRDy$[8gMVf$ 5p^Wi)bSZ(G00~P4௽!Nf;~IaMX~T.4Tԡvn)sd{P5m:!pjjӶ,ag*Q.P|G7Kb5gkhcud*jC%F쀝ZfM?rMMof"siIѠQ/?A9f*uENB}L:6y›h5RFW*Tn@)ڑPOM*_S靳ƫUҬ~'Q+E I@(~enh?:;#VXVYo/] -}HE\>)S0,DMUi005 f _uiE,JÚ7EwǞ'>B>1gL/dZ9'?nRj,D3t$pDP 3c@D s5Bo;+i}ږx-P@.j1H 9(-D>ǡp^Z=-uqNڝ%SSUu(uxF^r`zGtѤܷ$23w&)0}nL vGϔvoד,8ZbinaM}SJ*_ j)##c)8}8RJ "-1gX`.c" Re::>\DZjoqҊ'S)i>~((%erq:٧'weHpf"Td"z`q zk{Wt u܁RuMiJ%BIAm-qwϧhUEKL.nM45P"mR9ӱ')uZb.,R!r(%PkQ>qޥe]9vc`C-% u۰*&9e GGvah 7B'==/+UEѰ]ԦUKK(8 *FpOJA a5Jpr']YFجIGw:V$=)) L;/«:{|i:arfRlLISe_c:-2F'ABWY8U`rt+_(C*sn Վ#['|X 08>X)t1W\E嬰iGCa]rUCSL${J=W8I#j\P?r41VL!1fLz )lf#.͡p,UI-=4k=0Ϟb#SF\tv1Մ\STWs k~t]ɂ!:8nxU=/ڃ:V0$ײ)URtB~#hiF6|D{Q'4B3֌EDhg,ٔeOӢdܬVlu k !IJH.ePI)U8( v_xaE S+,eb Ņ+ymT~cop _{1epDuiýU3I+drr>v?N23jpyZ!.?gМ)IOuzֲNR-9\-&p>6L9)Gs0ı:º A+V-/?48HnzӸ΋4LJ(Cyڡuė}5"4 iL+Nʥճ}rۋ+gGX'.Ehݚ/CWl|/=KUW,N[/־ -AT.bsrLuƇ7zTAA:+o|'S߮>@|nTeiuc?Gհ83!BONSE->OS|MK'x Z'buʝ`7u'K:9-Wa M*fԙp*֠5 qL>G*ӃH CZL!"5F/ܾ|q^"BKeX8+Tꄚ}Orp G.M߾bҜdK'e^:td?Qy0UC)\ɎʻL8G5#c s w CӾƠók |>mT]F sߞĠ8ayZ3HX(o@A沇2cg_㣥rlN>?L]n5jdVcN8 /I&r+G|3h"eIT}3` Lt^ uz4n,jpE0JKKuJ/BC|>A'HZYYPʊ?.5r7 M=svbǓı4Q@w^ j3!qňK◃檃ƣ1f>GΆaw%/'Vf pRE|SS}´UR ӿ M؀O u7i17M}NG0IX:eY,ؐۤJnXj}aKXL~rGXC*>P/sF,ʽkrTe߫Je(X2 ڷ.deR~DWW{UմwYe'FUt5DF]+@giDVtrTiXFeoĥ ul6VZXMꋂꚨjפld䵉5(;r<4fGT/``pHs2(iqސmf-j Zb|QnhX&N[*TF$] dl[mV]kIbv~ u뛶OYot 5䋝W*d֠|=T֫YE{QUd&R_QAϵņ:anPʥrRmS3<]-IڋNP6qLu$A wzRG׫3tU\+jnJ;[6*Jeq"nIk|={;!Dj+gN߅@zoCӨ9>lҌY«.dRS5C thnEL2Ә唋F%"C5^ܝ%=NeJ|^YСژ 3FJRϮ.ֱf6a!u0(@=\X̺~: G!P.bb7в$CYe {BKGxLK5JS*&{8(R0 $@$, Xtg![k^HKy̒Y) Lj~؆c$[QT>6sRvz* ý W(7].qI/ac);du9B+]Cq%i2 >GQ:܁ ٞz q-[T@*Ax)%UlFybM{ő˜$bL:킨0wC!!AvߝS-%jlrs&s|cakH\"wUnݍjbç"{ULAl\N]R*S3^'ÂCe\hqySWTOj(ŀy׆-NS% wL$/2u7WDa I=Ϳn}G`?_/ ,A \Tay"^" M M=_âClτ^R{s.R;W8HamMl?ਁM@ؼۇlA|{ۆl/)˾-"+31fgL(T90QЇ"edq! ۃv㶉3J#$=@/BmoE&(z{B&XɝQ\&S9jT<nJEO}Fʹ=pU݋ޅ_"l5"6G!YlZ:=1>u:l2E[#^|$ЍgK-ah"ۉ›;jnu]$I/[[M0FuׁZK׾_o9ͰsQ?Ԙ~)$e񷟺LX릈hW)nQO\\ Ûd[xJsi=:ymM6c˛rӃt(dxrsD+ z@ FGqWyH+Ar0٪ԹЏ6y~]^lnh Q^qf$#[EU^tKPqs\5غq)‘D dNJ- (qolF8Fmi?zjPMhFib E<ԝtTWҦvE9/~fk˝t[4)Zl N2pcDz(=J@{#sԥz c5J"eyeDcUC]0A zDt@(SjJhnq#ɣ;;BQ }W0ܪfҚ.(/lG侕& "{? ĥDnFIg_%[D,IsT}f³^3><#ⵀѦG죹נN0몄d?"Koҡ)aaUS}MBqGk巂,1D8p~ \0&2Ow|{%N0@UY"%`a`fx[VG'/懈OQD~Xg=J;%į}N #'g9#zMfws-@'z`H(Sh+9?5=M)I=qh)w'hԥ;*יHb͏}k|řn'7X.S},Wr޿; hxM:e bTH 53^]}l䯡yj2j .k*UZ&šcd]\kp qʍY$L5 u"Q öz /(B$񥨚T \VϺ*ESGtQe5 G|ͼ#UFnjRY$U}Jt%|*)oMoD JM:厭!uTR/D,݇8:DQZ;Ibĉvh yZD^Di-ތ?IB(u~/ (zR46bĶHO\ BQ dm("UP8Cac]ȍ9ɅSGJe/=.VE0 g,^hE)Z|Aꮖj F&c{QѮ_XeK);gtO.3\t}lndGOW,F;T-Xlj*Y`(QϬ2t& 1^XTgWwnhl)B"-h"VSalPͦJÍREZKޓF@tj8g;X$q@pŌ(elMnw[I{]RӚ׃z׃&cnY^/bm+V*buPJZ(VlP4L *cCtlT `sCȅNe1;6K6iCڊQ.xev#!]ZW\u~r@ ]]9V!z O&jDh4lX`VE`019_„YNC|dEI؁O9s[ Eׁ]ifˋ0Ea剰?%hYs ذmc a ?%p +.j߅EY5AHe"n熝hK~Ԩ$}* E0̣9QXwc ]&LDߗ -uEd(āR`/ޝɳVެMu8/6p6@m{E܏e>^67[Z[8F2lV*L@6{L-e _pFTIJ?S\8Q2 Cxwh;>VsMڒ=\]aߋ* ;BFShgPc[(>3賳h&$P ŽGB厎8 akEs ZEyc0VɄtQa5{:`ީmd̀UA򰙹>{\iWyC(^(3Ar/{wD~9O4n98|g7`appz(h 'FaV$c"2|X[+ kxH<6gT4'~3R̙tP&bO,1gLôO{Y6jm#(9wx=vO6k!\ g˴)>2W>Jjx}uq&; WfmPE%qͫAMˮ[+jTQ{iequq4L y寻; bW713WlK bˢe,(oЁ Y*!m6&'|C8\ܸQd ѝwIC;yCZɽ g};\FkkW34 2]aUB(U-\#T+XSڠrq й:u3mг@A,%/2hm>3-7ka凌P(\C=s.%$f(_ j%NE, SG([KʵOBHF,]5 *ϚY޻5fNf8y*v& w#>}4)BtI8p *Y0I|<e$(5{}YuRsTM9&D07Pdepko6r{B +ɈDߩ=ߎ:q8PvGq A'pNRY3~B~dZTouf 6Qe i% Z r}< Iʇ&_W&I-Wו-SIfM8ivd/@HL(|*;w-Mk&bc ,6m3IGA.9{2mMK/ir}frS_Z& p̨c) EhuiQth%"\E L ƒD@QVkF&1WI]bȾY[^L1Uul CVGW۸uŽ<Ӟ;~{F/lTD{~n `i4]#OtҀ^uTO-ĩuNf(Ms;âΘ۷_o{.ygLi@ p(9&7aYZifgV;V0g,le..#!.:6Hة\;1JTPJI3iz`;!OL=qhuw?%JD1³0J4G|g C8Tg݅;~y֫~vڭ7I~zn)ƭv[ߺԭ+wO޺f+v[ߦoPwchoQo4E^hByꝧJ`>έPk4?Ocw>'L:|i;8+^?^?g޼u%j;@?E2ܭ_"= }€q4)֗ r@HuFZ9[~ynA~Zv8ˆ/Ұi4擴6|5.7;* w>O^gv4s x#u[Au/ lHB2Jiq='ia(oO)3"_pU6U` )B0<zYa B_'*6U~U!Q]aRpS+7̹zzO=3B"fNa.P5ֈrS[2 v4b(rѐR Ӭfϐ1SHg3; 5zMO5kcJe߂ePoؔ&ǾoQjB4p؈2򕇉TB 5=ͱZp٨1g'Ҹמk"k|6)h<6Lh>;ae$8>:IGE g- 9JNJhe황*L )mUs9x*lKZߨh(Z|ByӸ;2 uDy(bVԋ*58 ) &s%ID'kc#+lAcaJaWYťjU)d1LZ>;sVTi kgӼ-;&;>tO{u0PO kɭWJZp@Zh98F!Fۯ*I͒,ҘS B(b~&nAW,tA" dyYïܒJӶζQ*ML9ZJ6(ˢe]lC(f|#w_ٕ:0m}:!.WvQ+Ȃ*MPED!+Y.,dq+XVEۤ\Zyƺ.Rƿ^c(6f%XbZ߽RY >j@,s|VFS_ϷDHL.UE^xczVay.n^"%v*Caj>kpȯ[@M'0Y"x6SykHv-xm2mçb*d|j̙Z ˖FNʹ gDuF,ػ#-/tlg'ׄ}\+[&'uR9TmdQOxq &k1NMMqh[0rXǐ#%-W 3yM!20b`i9HT Ffb /+(.2I^kJM#sH|nUģsˆϵg&U?=g?Dگj`hXPgeIL '= v( oǺz#³d/2z*ݱ>ѣNi }pz_NCk:1g?W[GNDb!l!?k^/'mZKN6/Yb50HGBxV bT5ȑ;$A$; KaUȑmX:HyTh8:{Dˢ~֗cBТvObڵʛ'V$*Fk|~x M9LlיE1]b2 -vq Jb3Dam)GKuKC3f:0F%Z"ڎſ=[s [(lصQ_c^PXTnh?ѸJrecA:S`jOɷ-{x*Wx ڼ70ңr2O8:t]Ot*[) FEYYo.3k _k7Db]SCST.GS ܤ`-oj.? ZU0hl_fnysC,Bm*5 vCQ$5i5C:qMֹCWRs;Ys$mQϘT;%ISf 䌡[*qcHlz saIڔs7-^\;fK 0C$KE1P kQ^KJ4D1*%)* #D[ow.eh|'hH=<)^~"/?3r^o]pU(ćۺ !n \7QCMxh(Z(sw;UOVE ׬+}ޤJR)q9IaQ>Jҍ td?vʳDJf5·%+Z6e9ZiF{MFR=,5 TwM\& ͽ5)HK:X_8W_- ʩ@C$7$Ee ~7Oҙc 8dhy'OQmp !Թi 1ݐs"5:*SN}UDDS)_S|3\:2˶߼U@_ x6kR]hMp70R^ZQUedtNdН%ko;։*)͵Bv{l\TpLsOP&h}s5M=dP-΍}EԟsRi8D߯TSo^GpmA8{tmvҼ{%.QuMڋY5cɔ _} Ն?2Mk1Vx|(M;̨ ۷ŖCb H(<ЧU>%JgCq+c}meq X7O J =%?U\˥]8Pv>_D?' ѱʯfJ2,;V a#>TC(b*@ݼaf%G,XDdz.0v)'yU٩e<}pCǼjaza*@s ,*[?:D#l*H5(K/(~'?%˲, *p^W*Ef)Є/)WVB(pU*E`V*J-iWYE a?Ӏw[6L5J^p"CS$dP‡/J yUKnrKd{N^}ڥYIoB Mެ:~S6OI[QV> :/=h.NvUZ6G{YsܹR(i6tYuF!ΖC%+6P#ӖET +*$bww%[ҒL 01kxP'?t56 eN 2ye]# ێ}U:deueȉz|[?.[vt-xlPs,׊P4]֭ES$f6 Ĕbz w:VW+̇&/Z+6r T#^ xNX_U upWa;DO۪uL#cX5°O~3xj M1vN-X#`wP#reHTeyqT[|*TuX7t'D4f34μ*0D-U%sT@=G6U|,TѦ*pmi~;H*K]s3:9.-KpIYDn׉x)^خ ; sJu)ۢ NdxdeՊN,$J-Ugzl5=LWR=a'4 }^^]x9olRQ*%}l;V#OB}kgr[ŗ] dԋ1 gCybB@Ŷe-'\&\k t>ddi~'nۡyaףHarIyZPV}r2TzJ;yS s}@,.Y/{V"Drs.ɕSԂ=ocK% o}"%Gznܢ.j*<حwۘj vH_øg H.(>jmd&akGJ+k0VkuͪJ琫/Eۢ{h(;그_J+-/@ɿ4Gn$6uP3'1{M-¸4F0񝲩(Gi;jܰى;A"s=Z~Ae&+wf-hĴ/ `@+&umh߯$э:ɳJ*.k ~'6n_[57 ʷslu$H|@F=# PNVß yG vV ߼ķJ$ͳ@@U2=ÇvZؖDzx|ATvX^d)Vu岑nj3U\1)eY$x'wъ1G05MvT/Hn1۱V(CnTa!mhwTZ"mN]ە'L?C?xCNp}z}OoIwe?<|ur{msuݮR"TMlx7N?~OӘ^[[W5p- +cpl\##dJIaA|kuܾN/z0JӍ~B?Z GPK$ Jk<L[sW[om)qv'M7£~DsՋi=ڋrxa:o>wNҍinODͷܑ$45/FɈu@6)w?wAm4rFoג)<Dž(:н7^J%K ΃1W5%Y)ߊ6(qEcK&wCGu"C1wnTM qzaGC^|G /RZΙivfn3 l$OzSmӀ1c㸇l6߽,Mw2W/t?]cunF\cJ4oQYES(# S^V)Hv-36c5wJ1E?7?I'V6Ui{[DVS'.0YmX~5L}XLՔ K5yX,Q'@nAf*~ͤe:Ie6ħ:d#ܛsMP3\w7\UhLW'EHH`)Ww;KpŌRY@{5A7{E謩6K]# 2 ⭺j8OIĤ6x- D%,d@xG#s# %CLu8A;r6d$lbԷ@cnM" ' ƤC#F8ECAG HFL/*Qֆs,;I>'Ef#6RRLuDTѳ]bfw\9Ji}=HS2aZGW|qirCZِCyD=ɛ$-qLH)q%eٸvdqkBQ"Ddo=# ܶ Nv!IjO_l ȵ: 铖Ѝu|*}?αS0?+K[aV SZ]'}4'q{Q; ߁M~EO]w2YNAwF rg*Vnx%cp荲ad~ JmW)e}[oWيdĬ ڰ[h ?Fq?P>:"ɟnK-}YUbه 'є3WiH@4&s~]%IَC(QZıKLDZ$)g܎[#?Qr]`?|mG%hiqY,;0'1sʛB@Pj}CGv'#oX^&$LpӮۣxϒZ@>ʧE[unf7$[, y9##h'ے IwkCh $l=⯫> =$-H9 @<{@[@[(h znPK{d E*~hq9Ley,!]PVL]*MB_K#%A=#D!?!xRXg9JhzBDhQ`֒H@ 2Q>)X2%Rc .8q. >VB=0fg#"p)Cjjկq13w{4C41kpxTRӴwrD߂WEPFϸaHXJ{4>8СhjV~ݿC:PYr2#OcffX:6R{ =V+7<7?9q=]72]܆y4uvGY/8'a{t\qn>n95r7MIU'#tA8x8|US xU zэZ2@ Y5NKZ㭭IpxOA׻JLu畗7YRmp\hhQ.KҲ\epA(0<|pRH_Dmtˊ њubh=d ^s{:09v Fʾ:\HU=SN!ƌ&.18f%gk` , nhfV!Me|FirŸ߿C5{]ҧOf(}jݓtZH7ȥŻD5T?ݲ Aݼ'h-|)Zɠ/Túyqܪ2>p'Yr?1^蘞/,;3}{7_nϭ7|^y)n4oAeͬjyoxc ԮPQӴ6J?%RD~٬xXls0jY5+7#YV '0hڳ.-L:pֈ"=XE[A. D4kYDS7Ӂ=G koq1+٢慼.*S`.b2 4G6QDrwyrEuy)kY>[Wh%E΢x1bDK=Ĕ'E71thHO/_LtwIM6q毦pCU5d9bd+=&"!l0k Af nRglvP#`dP}L} b]QOQЏ5bĵ`[#=M1hlY^S״/f1~KXƊjȹ7E%s r LS!$2,}a-7e"DK/WLG r1g -{2 2U _LdV&ul鉆lC ]4p6 >ߏ}du~n klU>IY@rdܢ*0VkUl!b'=qV`Ꜿ4"нm_(Մ2|MGW.F͢[G.?vrگ_zst>lׯ¹_׿M s lFv*fD~;# rn__tBzþ7F_j=2_~|.mݱ}yg&y߭˦_'7Gfk8 MqիXF&Z@6Yqi{{weQztg>uiXBWk[{q{n{n{nv:}Wls^q@/xS?蔯M.[7@SH˜\-YWI=ɖ) ,Bj~n|XN ΠՈ^i+Z$g8G7I` 8匥45ZZAl0u3/nbonA,`TtR U(UgwFeϒ%9m1:ׄJfn`r p>~.)prkZ2拶ߤ;û~ .\,O.\|n<\=.?b~_qg /x˯߿}x߾?g~o}o'g?O۟o_{g'oOn??hOLI>>{#4w쳷5{/7>?{?{۟f`?f{}|7O>/?O߸+מ/hOk/+78 ?w>_}rWkر?_W_~߾H{?{v㿷k__ `$7 ؞^"J^{{υ{υ½}/#kk/5{/#/!{/#/jۦ}s?[_'od_z不oۿ {yURkk4~K?{{x޿}g?}~E-e'JWCʈzye;|<1xM?g/Z~㧨} ja?S~a}l_67>/}w_o?yohGdP1H Ax/KB(}}9>Ͼ7A_7>MVyz칓~m{?߾ BoLt?o͓T: tfto=ty7w*;vфRI裂MjmݿHu=F: =Ok9zd$Ed\{&D}6 e7>I7Z #4cR"#Ru_ݿŠ^ }j@鬬:O㬙NܯڇY졶M"p=ݤgacZj)6H:OvwpI]/5ǿ~pC||WGB^HeEjyvmD K#䋓s:2==&\Xl̨2ɺ~KOi~9m{aw`ɊB"h3b/b*̂Cgȓdl,T5MɥI칷~yRPj*n2 Sl^Kg[YENG⋣rf$GX'Q&y~jQ-y_ 81Gs*nv=Bd59﷌݄#z ^eŮ+TY;a>#M-"29G, s1JX3s˄MǝihMvMf#4SG?@{~ A$-Dsρ}!U"Gd[/_]qI=>xOpoA;qvҴdzzsssծNkCQ5k{G9>rp㡿%i`JBJ#'\rt~ U$NGAj|g/N8:GAu(5LR9bj&:p6Nխ:_ID}ORCԎe"EE\.]tg85.\hx娹nT*ۧ~7KfOӋ@[Xxf~yY8{i8..^:ݸt)Y8`G@ux Wpq_5=ڣӌj̛ԂQӕIqGO-6q]tԤsC@C\░ 8Ǥs?95{|܎zhp1 r6 jAv MƐ &y7#Ŵj+aU喴T8y> (zJ@T={q0^W懒fkZ2j1 $C~_f-[2/IE!^[F$zH9 dܷ(:P ͎aZBH(q>akڞ:;mzU/ *凜(Mm,ăB~JYZm@W?mGnȑs.,_Yp3s{>n?X3J UW,6m9)\.OXe `{F {|%ߕmQ_wyn =_eMZe+S1elqSuJ(h *iR q섄51K(NtBɧ9-} 0tj[MyCYך #@ S6hKs(0WQƭopUb)u!G~cR`Mbܦ(A>Õ 7N&etߋ8[\/ *ʉ'dW4AQ E-.,`Avha{0Ѭ+ׯx/]QFvjy@r>{`h iG!hm)FҠ4(t w"E55!j1'Ƨ2gX(]Azx=5=pj=;ȴ~ܬ 7$n-^XYJ<>B\3m(RS8WAMy>6|k1oliiMt2ig|lKVbxkRI {ܥӋ+ٓ+6.@^D>AS${Sʵݺx%OU J ;F9YS+4ؤͤ=Mm۳fƊ`Dib.ԪA>^"L3t^Ǡy1Q>ս({Z(W1N *ZKOOXQmJPNtns/hGPXQc$q nU|VRq2-`,`;]0(P488Gn l=)frQ 6W68 챴ϔ|"Rˁj3Ȇ֡Vɐ̟X5cyy^]NOyIH'wnĽ~ 3y 0G\,?`cl}jTSnVk^q>\P4"]fI u4xL.O˶~5G.ȽBUbc7 i>AK{y_ڲM$tvѡ- i$‹Wt^^#|M5F״ZI@%QeD[?;6>Ycޗ2^+*h%h|rv֧~pn)d_еX Vʓ)kvq$ߛܚa>98LjRVn9zmh}Ɉ~Lv bE"A\R\1#"I= H,A]m6>Y!}!QO&ѧJm8yž*QE=5SUaNͮtMw x 4~5ǦF"߱V$?O,.݃y+d{cmQM?6/^Q3+&:#5ʚ _ϣxㆭ.pɤ~Ҍ9iU m9v3/ dUݎlxq78:Yî["hF*r&UB͞YQ]SUL{a嫗uuLEر1rԑ8gLdNc21{_yWH*|xK9~!5H*XbWؒ~K 鳞_".)Ø{qI#;OƦ+cS["Q>5n"3QKxQ)Po{2NcL;n36o.`Tx2}|.1;ǂQkSXHAc:cccD,in!AzbuH6~9#9E!h>ꃻ>̟]“ߐ$M)?2;\:t{_wFF5%\+u~Gqa"zŒOMMdtʋpp>08r dbNz pzvݷ?@8v~Wriv7ߑ"z,K>|*Ӄ&;Xn66/_Xjwf|arLz#sgOҟ3OcBx#g6W1?У]s!BK':.NxZ='.wfy'fac nϞqŴ3ΠaSg14zt}d'\{b|4/63CL\csi~|fB_;՟gWN}~һssmM2p8yT~F'b?=xp3jZl7.\8OIfi:j\\B>2O5x3W| ?Y^sa~_'årzq~j)6ӽӏ]^o~m?O?fgfp3WΝwv~}gA3g+kϵVO?~j~~cL_K>/qe#؏v3#.\tsTE]w4ƕ ~rII:牦_"řMپtr@t:g$oSyEjx;۸tߑyM%SK=~y~TM} nzcKn\Tx"ˍG܅+d$4mdh5.w/ {x3͙qrqLqKjL@l>i80b;O?Fc~_cuS)oadoԻ 6}ą.]p4`$M]^a: L}x r\"x~ckv?}x,IŖ^W5<{+i23+iU^xGdb$mFB Fta N6'w<.J29BoVKxxQx/Ճg`,GY=I|ΤMӏ=NM3e@S?xflG?r(;m>N?~tw$9y\bˇ퟽Aڮ^N_Zͥά7.]:4wJge~v&gYyl94+!:;GgOtۭ 3_<観}glo?uϟ=9ez̕l_Z:&Cy{oPs|5\w>15W*n ~^[Z9rq!ȵa溩]0W2PggҳD1=<;;,N38ƯmQґW&Õ7FQ=m9ttސθ=yn~|Up+;wٹܸq#[q0;:ra΃зcM'[mjr+< 6Ҏ0Ǧ6.[?o=Qړ ͩ ̦* tx0l{kݰZ}oPl;(H}fGV J}0j ON׎/AmT~O8@ _icsT׎(BZKSO¿z8]r?\y#ج7NWgwnG7߿}$I\eK\:U`,>+l/guf@#@c菰α{ ؝`c'ц?v=!<vLONW&Ƽ`b66򮉹>1L\[˼*S/?U9sl(>fkSSS]f>ɍNf|#<\ zڹLslrl? Zǯ/NL'lO&d3tii/<l;L~7u y;('Sߌojm طӠ#_=6?>iM>X!ms vy3vKNڵp}s݇60K.l_^y nHryn1`p<:^};=ɼ[J88,lߍ [ӯu611Du3_ st=F -*oЈ1'nẜY7:'1T͙Ij7oS;{sG+;Wl '-;y~ [Lvb?U!ƃopoІ_Jx_#P /rAl+ʎsgfMf9۩:4'I'iެ05d͠Uj'jVن@RhSDJlo"'0qh02<?QS'XOR'|xlV.Z=T݈Xx!vn-QK`'vPm'c'ɸ|DXOqΐL]n䴧]N@d 7f50c:;1+S'^Ƀ쿗I&y)M!4<bԏJl'ii퉬"9r$\2 A(;x vyq.,V $eu[W {?"?$Ybp4ך!V5kvu!,H\C! PCa؝|UZ1 r`bY]hծuoթ-K3/Wkj7[!L-& ,0tXf Srw8⛢ֿ$f+YDP-y5L#_}~ϝtR3)iT CHJ.nX^ϲEDʠM50IvgWֹB)\*SS`a㪋, ՐrP8rc&WKR ecC !'b#E`n%) ;N앫6 UcKc*z {`;RhRzQ9ل7i4E1 YU`v BKfҧonsu:ӎ_vӧ]TZTwD>,\g'$ZkVTjKE%?]tfRur?=Q'H*pr*+B)ƎI!?t%61ÛkYjn19fᢵܟFьo+M,t|DXrI_+cR"?S ՙL胄tu:窹[k96Qʲg 9^h4JOV'ߔ^,^wҕe9ZB~ٞ҄f 8{Y7ڕsF毰iLLLwNO yBNLb{-o)woPXb匬Ӄ(R@+4_A&jպB@ȁaw(t4e8۹C%dQc' JhU]i.?d! T[sCU_ڻZ޵ZމkQ{z rg4ބ=.soCpWBi<')Ҙػ4n\(kvoASE:iz[WO ID]=UZKegi\=3WO?Jrc4WO8nLT*(cRӈmx3MbKZ[7e[qǶS m6FA$"p^6#5"PV\+~<`mOlS--Fq|Z32MZTZHK+or@";UnDwZz j`y-y5+%tJ$>+JjErjMK<`ZX7R-Em֫+}Aⴲ7fI_eaYMm 4k z{U jlO0 I1E}ڈ#IhRyT#l ݃ =2,*(02tO|5z ڷq|h1BAPqPD߱2;)LGSA4yzjԪjD7u.CcH^QfCCaӛzxₖdWj bRD(fX:D褠WDfUQ,ݾZ?=MG;HPed#>h IZ,Q]87CyP=!1CeОMEճ7c'5UF" z;IOK7IL!@_J_kxdPo% u3:X1STtrȘhNOE ظ6~); 7u:yLh%wGp]qjGKoڶ^7{DE"dY7)~T}Yd5::K~&':jՉ8NR굑*M"Ș"01zD( !Uᙲx(E:U1ĥL,[:V"+ӸɨDNLD|zuU cnu0X{q|ĕ}e-7,PSPӱ#=!+ #[ɛn =v.q565z(<`te]|Jn TJl ᠝vizTs-bG*!dkt09v((U Kj*Ojh4NcʩxXF+X:F>N'"Rc-vvYvWKu*x z.8Qؔc:[B׆$b|ěVTn7BF!r3fziCF=c-@#éZ3.8uo ܽg~N}-+v@~2@y @ ҁp5;Іw>C]Kr`pJ]?n gpÕ/ae3#t9  |:v+ֽ.}ӟK/ K~yy~ qy {?\9/xw۷~X /zy={ȇp9ec7 >~ovETU [{Ay/^u\pu{7u.i5 //}څ7\u/$Te {sK=1 }3T>K@7:{6 \ uJAW ?<{^qy9W0~+_y;uzm*[wܽ_|.Qz:_|>ӁFGbW^qK.82Lic8yg?癏 /_7zo/_˟Ο^xai3zwE\|/Y?Z<\?gg>yRxh󁟁Ay]xG=jO>}7,QߺMb3ŅO rv ]bD;mȆys=u 777&SOS}1UueMp}aޯgo{yW6=~3J:w*x^n aq9^j`3q&-į`ltFF_<_ ԓǻ~~y/̻_Ϸ.l^}ew o^W>uB¿?W=ee[R p]ltj4jg?ā~f#0}4/uE ?7u'y9swyn:p_wWd|.ϥUmoq}\/4C)EЛ)](k1O<(1nSOW_k)d[ʯ-@r{ v?V[a{4k.Tr$9b2k3W k՗oHnE\/Pmx/\l;ym-Sކ͛OOn޼Vo/)y= sV͛6-7w4\onYBh3dLn* <(e 6_>o峀{# ܢ7ժ/e؄? &GojĐ_: djHwyjjՃPPמd˖/ߐJq7WYfgˋ9;wAZHO 2{>Hl~;42df2|P2)5624Ξ 2P*);Jwq~7)IF'^/=%\=FK,EKthQTH4n\nڥSO̴`d{r,h'iJ=9{ۣOJuѩ5}%95-Nf}2(^(׷4^ i!8iShB]˺ϋD }+0OF'2KR&(Иh8={x̋CXKc/sU͊Xc 7J0.|chXi-d:kvNtkeD??IGD ژşηG<&3 )Cf@6,{i#lf2_d25Ȏx8Ӡ~T&)cCzAᎬ$S3&K sl*~#ϖP= %S8Mg84uP&s|jD؇Dz{,1%N0hEݱPLa23I1%qҗq:f$κ3@d2<YBMGL1QL+OͼTH #I1l?!*S("f.)DL tXd8"]jX'%HE i i5Ȍ(bl;#xjYʌv8R`KfК `'".KB\3>Pn2|+ZM$2Qv ӹ %1e0-|ԯ p}7',=V^O&58𱐖zi1jxpTݘ4q@T_RF҂c#^t#,QщHPy@3*H.eXOA-$M#/XQXyd)tjcTOGb7摗-՜S {#e~'i5D>ZgPm*B’a|cj)iaL0AK$3R1^{ҾZ+[ZSw\hDBy-8n0b1ZCT^eZ94I-Z5H1l}|9ul׻NF'9UKrKkΜ$!X$QH7#d'Eg)Wk)||5OjJFJO4sTxGw̶~ 1 wi=dSp? =4 <ҲHX;hN ͙$h~;$w&1sB9Ɯ3ijx IDD/l^fT*nxAtj<4a~1o$|c޲ 7IBp%fhJTYF (9~e9He g*.LzG_g7E7n&}&_/ao{% }ς h&/܏}g\507|oс7-k0k@^]bs]K>u_'>ȇ>ȧ͏}_/>+/ /^rm>ȵ}k A\rUA^ 7_k_.)oR]/sc}]9r;ֹ?ssyZL/]ӗ2JG_̚ ,ݾ}`h?{ ߵ4ܾ݃?x%9|WFoe }G2gk2k11<ܳZ/b#7xŬc>$+x+p6z]|Eq3?1y73,eEz٣GG{]4gji)䂥xO<~=g<}ޔ{BvjmdJ_)+~eد,5~_c85~mc0\ʪ~O{9 _G/p袧=mҧ?vtˣM]t^7[[_o^WoYe7{nw{t[w{w w|໖o\:9TmS:{s[>7e-K-oܺKOW,\7zmvް48 K嶻oM,7K垻{rKNdU9dtjzD~kN'sVVNN2-+KO}/?uɋןz }'w,;qwzKn=|YZ=,NX۠j_Hx-wrX%?tң[ן@EJKtf?. ~o\5} O}aiɃ'^ݟ.筿)q'?]K޴__G䫮XMoxox_׾uH[n}mwvZgp鞷CN_[v| {~;-/:x7XnYZt[n_yէ.XfNv[<0oAΆ.^7y-On6^:h䇠i⭯y_ܺ~{^KZAGĩ~4xǯޱtmKAO]pstR oi𦛎nzMxCK⡊wcx {z;n|M_j B6'Yvo;^s8ǿW,|7, fuwvKo\zmo{w}iKvݯ[z:Z1^_?+@~; \:;|ǝw yǝz࣐j;~; iH{3PLn[oہX[[߶~]o]`,on^z b~;nAwmԟo뎻\z뮻B= I^ nC$ : );!"DVd>}<;ywNxvTKNN}VVdt꜓׼zruj>>{VwMn֓oޱ&}_oߞzQԿ+N>ߟz\pϺTZ`;?wO}S-v8#X*2eҟGb钋r 'O|]>~_~ƥpjil,t;51}lܿbw ̏J?P汇}^x#؃JJ|{wC-؃zɯc?ޣ]CG?֎G;}m/OZWW>yꡑ&?:Cy~_o=~r70/ݷ&·=΁|c~{ҿ=oO=PK.:`G~/:ww޽o'?xw|S~GkyˏN~[w}>أO~K.};o^?6>>~/{}=?|~#7ۍ_{ߞ^ăoc;ԇ[O==`ow|?'8a4{C_ 0k?{^qd$[>?{g?Qo~ /d_i <{`}X~9o?.{_gp.w+ny-S{9gk[͠k[p{~s<})i}ןޏ[nD?3y+_xnrm#_{vx7?~2sO{n~>1}oK2~O6V6O$kLfmL|yǟ`sǞxp8\|ǿS'?>'~~ԏ~xGԣ>O=S~G':G~3?N}~O{_}~{ѷ;^o|oG7'>O<>w_|>|[_o~_O~O?|~OO}/>_'?</?O竟|7?y5_o>O?gݟw}^󅿿;O߽{g>v7?W{g?J/>?>Gٿ^鿺9ɿ >ӟ~?է'п'?t3o:Cg?O}}ݟs-߿Guo϶??9ǟ7W\x_{?|+~z//yo~ػ?狭=/ڧqfv;~_w>_ץ׼jf԰2xğ[ο~-ϹCލr?y_>Xxo\{٫ss>vIos?o/9q W]u?3xБ~oCa`#}{_g?s-_\zڔܟ_C{xϺ5_?wn3p^/_+nxǟԟl⎓KW[Or=gP 8Wܪ2'?]~&~ u9?st\\2:﬽g{"o_~5w~{?sǏW&<>_|`僟Xp>pњxXss +`sٯ67Wt2?GFG,_6&gGt&PJU.0nm0S]ܐhõ,{,5"܈7AKjbnZ&.ԂfʖlF˃eoy~>4^/_빚(lxmL7R˯B誝0ETJ2U9ȦV_DΨ"rP]3B#v(lTr Atmw4Bhbm5!hqɯ~v|䫤2(|^I4ɰ/69wojifTV@WJU,|s)HIbbE;Ňvuw!ly|\ 0L9J* (͹wVU5LkJ@Vߕ<@fF(JSSA\GV?A"/C%P5'ty38g=~%@VC 5Q̓mǂj i7ϳ&1Ka-.5yRY__ hi}תи g(7D -{ɚx:ZZ@ B-ʠ/BG1J}Ȓ2 T ꜭA>4ԟ xR`r $46e4ZG7o+-+udC^n4 m raHfEm0Znve!$ͫy6`6p (% )X$e)Uj0Dbo ˽p*&ި,BH!pje-$\REƗM46<^Rډ|['82 `Z\/'-{!Cv08M Xp/|e3Ff[f` |U˰:y V*glPYgFuQP(Yw_- {`&Cѩ[PqLzڞl`}OJFXkIneBa(=\hʊLA :+*_* "Gr^sBy> mRc ^0V|}sF Mzm@`E eҁ L]3SF=u 'ׅ-Yo1Z3M͘ױ^kA] usAX@m1}g;*TPЖ~HhВr-Anx{ gd:'DΐZj,26LSbؤ`y}%[-Y 6Ŷ 鑩*KͳZxts+],,hIfD:A"S \MWBv]Kucf+B}'eVLEB_i^i,_MbgSjO`do `zUԋM0FyPFpc;d_(n>4NP BᬘyF#>Ҁç*R`w= b?!>:悭 zL{G$bx&S_eglBчyi4`}Vh; pʋ%VԚZvy|˵t\RχV<\8Rd\Uphh̉—gUU]X4{rD]sOdPVXZSk,O0묖V8Z%|`[bzV UM>*0SGr0eeUN/vYSX^F0CR_BSoh:~p̀'Bʦ&Z+sk2#2m1MI w}x ] JUC5UF{5/ 6lPEK vv' Q3P*̫Eq|VEv-&~*zs^!jo-Z1ˆa1~ &#_4ц&ضP4{jfxUwhnX7HhvE^܄}~?UJ AW9kcV-( 5Z2nBnćAˁ*}2SSp>z]<0<m /rc OijhC@"6c>7#^k_y2xQ+%i=DS&됷@c,o;} &mg~qmqr?z Be3G;b(GY3v˥Ȑ=kP - l [/xP?JP.zrg#L r4Iim-+_Fy O2ίG1vij&L'i1T>PY:dyݰ]:-봧TSEҾE4laلiAqL%Iǭ ssׇy<$C@5OdA'^z,$O& +k"Ci>T.JU;&K88=LHo9} `rzJ*$Wg}JB@N2;$=*2hHC$L]*>vp^FQKT[(魤ʃP^EHPp(aҳDZh=@$*>Ds`~~S1Q°Ѧ!$}@ -DnNG:]F$.Qr/ Rs ڑD#dJR[T\V1u啨mM$@9r&'vLbx ;E3jrXmTY<+Rk4B; gcTID5Jjtꡲ$*oGm80).lI n!3YuF@ G ![UZ?9׶YRA awtA]D[vI&>A]r-f?+yG۱'ТN EH!Dԧ"ɣʍ'w"qY@Z}G" "TC&HUt.93["I+RA~4> ͷW(1uAݷExZCCpZ ZJ<\k#kQ5U3+n)OsuRco"EIډK:w2K|t"/ݱKlX@Y,%@>DeˇE81ړ hfFONe.*ԎFn(v,UPO&+jO"f= $ dA.Ee<&kFXz].dK+4$15 bk"'c, |'K (Vh&ś&hs"%}>p|ꡟup2RJ%XsL E+9fjѥ)"fS1ud%GƑ2֗i;9Za/YR0L #H >+7t +ց"&Z8ZDgÁ1I87yHnuʫ0lx\(L"pKt 6tјEM)MidI-WE=]3d*ߥa{+(ɞãkOA[dLVGr861T5";ń}U!享*[ONol6i]v~o'h]vt2[,?v6+Y 6P>' kAJ/..lD|o,T ¿%]%^Uo˫+~O@v[$| M)`EV^_B^b#-hX.Kŀ2~CP,c#fD> r儸8:kpP 0Z 3W{x#Fj%DxpџCP%ijX)>JdR)H7ZUC7x<SZ d&p@mt' aX3QnyEZZ*̴G8/FaZt^X {/TQbjKz@;${(ԈNmj7ʑ ŢI1U,yUbNEY.3*mi7+/$47T%N~L*V?$`*7§lTK0⡘_1_MH:|tFOJ<%%T< Űi|j#cT`~:^6obT!h"iV7y[mr&٠%IY2OPe1QeQT]$Wx&ؘaew(nU- ]':X}9:Qh-BvYC aziy"DEf zG*1A":qEEa94 * `% 02:?v }2avTrJwt3̆(6, 9kQFBfg:VC/t!'h-Q52=r6s&TMC$=H1 z gE"9s.C-#={Gv#& GďE%gw1~D)79*kHb*זRXuE;ծ0 TVCSHJA\xU0 +CD]S~KHªʅs/weY#dܢ:v>;FZԌSFd=]gч;!静I^L 8Yۆgj誆j:SS%bv@f7U =me=]?Du^->ٻkXn҅pQN#ȶYt ָarG.9),HʽuuQ`[zxVb8 =@#r{id0ķw6KcɱhAW+ٝH]l߸/B"`6ڮyA^ FdwsK7; l)>u^:m8ON}ɕԷPGu4n99LF[O2c}#Ҹ*kPDb=*M9osP8ؘ|1Z`”nUQC,.CsT6_˝^L޶x*sIbU-PA^˯WY[ѮRRNnڣa-N*6s]{B%lo&Z}i [+1x|%)n!Ɲ@02:{b?P|eAv mkl+YŚlgK&'!ፐL)6Tov#C-:hdYb̡,?ŀqV~Ɣ}ȡB7[%LtVV~heb֒Ӯ^.nV ~ G)fiz[E' !ko`4k8_T:ܚ9Y=كzDъ :əH"B$ɶ?,aD!/Ux.05DVM[bv,vbIm&1}![փ 9䂛8$K( X4$R.ȎD(H&݅r5hSJNrTSAJGZͽ8dn!.uD>V{\ˀoNer&DP{ACC`[U)2oӵoZ$;LK 'C~?NaY6Շ-Hb}\qR4ۉ;qGfx")EoDh &'Bw^l7\}Gj%C::LIfh6/[ pysDvL18mvŶs6+f wËȫ@lj g(pAnl|12H)MvT4MwHy&Y0IW$4ia /o[IrR}(y:i M(MOmc:|U_:tGQe&Cx\5хSRflԄTU [m,Y=i72CTE:+XqT !&P$ L5qDrE@AǸ$m T˖ ri/!C+la)><!# Ii0q?C ڐq,MHUcҗs#AQ1L 4LOpTBqttz&RUX 9F]ښBMreLQ3B ݋ڑ@-ZN-+UrfWPgETюFHWʠi4Ji.ϔ:Fӯ㲷aIufU+[Çiʌ+G`a 5W>]Oè'c9G)?6*$ц jrPݕYGh4(m0{4[@^nN0:u DI(=?nI NQHGӺ@J?GS$'m~ͨŨ|Yc^ؕc9o#j k ǮIa3_JGkA'vUl]VbIt H I^)T[lFEhO>wGP,}F$^җ[Bjt?ɞNv<^vnvKI^3@}%vR<}Ѫ5[e] ڧF5$eiJ"۾ּE&ԮUG$UV35A OU yk9̾J:ZX#H.3X>}6L#2(lZ81tj&0=1 G=:9Z;ܝdc!t)ne52&NE_Z3_$[pOZmAOb/[z !CG]$`UĚQfQH %杢Mn50%xXqTU"t3:&uU-ĔFND:Hh#Gi}9H#<~K$~􌜐t(n1j JqLxz(/"+I'YGN<C,7{3#OpmM!3JnYvyવ o (U-kdQYh2(D#=dpYE-QXNelz[cǖ፥sGچڂ V&V 1kx)bʳ񰢲fSNpzc9g1"z NAbak*;9VJ;_OzV5X>X]H6ׂA2mN$& hO;Pמ:yHyėy\Q%}cX&i^^<]˛*nSJFFɎQ: ph"^x%ƽhNES@ijύㆵ =QTe(:YkZqZ3"-'x>S:IirnYg|dDZ(":3h\zuY6ADd,vx鮣^s=KSJٳgVFLU bv|]>zzY@3 T7dc>gx4^UfwfSmldC֤8iQ(@fa[ =" /PA"3 $d"OӇ;3 Kױ息1;S(*g=_hcIc1=Ujk> qFNf 巔X=]̬dh((˃h{Ʃe+8RǺArr _5LjAEY {^^tֶ<+$s1"iCLjbr:dRn3R鉋uԎCONmi?v{Vu`2VOzP%ӫDUR[t$,E!gre,<T]c:vӻ >v%Gu#EW_NΓLg,Fx`mԂ>l",xyQe?%E=Tq/LVxG\c=YT+RdcDERFOE<" )$IDFen3v;sqeg-Ud+ [*8N`-Ԩ&X`iom;Zm[TYV$Bq 5DD! bpR؇cˇ,l( ^1RkP6{D2ZqZxkz15'PZP,DMqM{5쫶XnGR#vL* YO[!Љzk:ŵJ F!sxVu34"!&%=Fg֧SUC"O:1~`M =GZdhD8 ZHhw:,Gi[Dgcq IR/b?yWj-MޮN`nhxn\ <{N/˫'n-`dž%Ou/ɢKprу(S Ǘ:"xTX82,[|PsI2*c{uu3:1IrJ[Is*}*s3_*HvߖNQ%׈qspg4Xǖ2a?\/ q Ifq*S+&#,:uVæhL}t kHVwY}\~^#:)'m켙SفS]Q 4#VfPwr늳X]3B@=EX˨EQ?Šp4djQ!M:d%vDHN30;*r"f;Nۆ*aح@ɑit1@UD/8mոjGlwbk?]+BlZY8z8x d-Ųw@b3n1pV/8k^U{ er6?!idpw21` %tX_ )]7s2 }qZg+W$v-*Kͳ1l{Y76\ !jMg{04Dq&E3ŎtYU@^ %Kk'[ǙZ:u&8h%:9..581UC@g, P"2,tqk ,>oUƎNtt+llCvCRq"d^;xOGA(#?ukQ['}J LY!՟"^NȬ6k]y!W+3ҟw !Fͥ TjD j$jjUhfЂ$(9dq̍啖3f1t魄TݥIקhu \,JLcf}*ZZ)Jm-?4 1\.)2ǯF[}ab W(rH<}D^[ OT.=&&Xڼ̹kcaFu;cμ'Z5EuWMuY3V>%HS0QWq;@ [zAelʻi>XPSv]pʯ" crT>n=n3%]nSa))G: *16vR@H}Aٚ{ǵRȃ,!)-cCU]N9rrҤےԺvRJjah }P\(KĄU{>CE l1&P]J#c $B8iAHf*#T uTzp'TL*LEՁ@zՌҵKPؓE+61*dml[:j+$Ukyr$duƃX57oits*bHOn*8M?-6:븏oVɩ)WO0H#p\g?8Ћ8D̻̊tK%vym;yi&9 g E%vŲ6՝cǯ52R,zQ==/8 *thsM>MQ )A1qL,V];R\c,]u݁in~w<"X5#]kE2ejQ #Gb꜓}dk9 5$hߍ8p~ 304`g3s+0W#h5s* <#F-@qghQGkZK[3:gQ⇦MQlG?JE = 0*{4@b=~NPdoR~3qnSM洑:;dQqR'KN"y'ji?i8\j<%Sn0w9Z=aَg:mtR:AZ6gj"51HL:x2:rqG-wďm! }^c !(9DiR ޙ!UJFBQb\ؓQbQ!Ldbmpm:ј Gh9Ho.l}LJ;\'0c_ <:EON?!-xɊ6udŞBCжF)Vz.lmCLpզ=mjiZIȐ)gHK7U:eK6-H 2ig,߼r ˌc]V6g~gq*4% Cf,E< ڴI ]U\XMڪyᾸ3lNE%ClR:Y j-WnVN/zĴTOsiiV6vznLuЏI0VGh[ɡ  eHh>DǞ4ћ$[+4R:++mYmp^srtHCW.;-{ܚ\IQ<,'sy( w=HM̭h̑<+"էNsj' EY\bzR=ObYLf|A"艘e#1'PX&f_} hĞx? 5AVt[G5>Gǎ,s AR`nnU᜞U@z3vя)źbSD8<, 2s8O?#:;ge8y4dN=ZhR\i 68fE 5mm>nuPK1u7Yɩ]!PL]S=xVT>){:9Om?y t;'5ʤ@"9??ys `Fx,mռ_0eհT)vOVkV#`ѝYCnJԾW oj%|厱&o&Yv+m1=m|4T.lC}'agD?d[u֯] $} @Yʡ*]T`֡p[ u>ZzƞZ['1&Cy4=0*2  )4M1YoxMh3 \V?9dbh"vHq "LC -O$~ %09[bʳZN &@XvmVEw eZ}ыj4Z8{_ XYŨ{Y2~< 9D'ۍf8+qPޙg.:lbwplݑ(.ְ })/PFJ s4[G 8m+7< `ye (Jލmsf!̨=QLo@pr %=*5^r8x#y[+ }܂T p`D^4S-D 2U{#c E:k'~A'ѻ 90墯Rar'~Po߄3aF,Z~`[Y:{P ł`JRCyO? JbC>AN5Ld/sCAM" ,of\c5_+}!!${@Hr+@yuM؊RozD'*AʧF߅ | lAaǣ1 ^$hyL)Bm#֔uOޠ"鉫Dlh}pB-ִfEj8i86!~WDcgZPWT/Z#qKSLD ]05>)$#tjyt6G{PUh&tG"@YH/y{M-űhG #8 uHtl>xa0y<|Q'x\!j_$j pe4"KqH~Q4FC&E  `QŔQ#H7Cg6d{h)=HT 0&w5aӠ@*†"5λ E(4:/O-WL-\D5Bdq3@˞p^N\T)aRTQe?&x#t]qH$[FA[čq?bMz1rTbdfF26b;hAV$8%q#g&PfTSeMޡ_ ӇʡE~^-Wf ,)c1k6tlsBYԁ6@T5F1YzFssX3޶m~4dod uQW{蕯z5~S]FnA7A9KQ6CoF{tVUh=&vNUAͶ/1t vX_ׅk"Z=,Yty:_ oyNUꍰjSn)FGo[20c2NfiAr& olwM_͵kqKEʰyTeD;3ӷMB`.f5Av~ Ť\6 &nxЗ9Qv12߱m_ \\0v!nʐȕU >2$ŖޅT9 5\Q-"dDcc*61 hG] <>bv&/=?'ԛgk8;_Ιl=ٳ9+/`Xos[?zȝd ;/l"ghþ3:`Q\ Cq`Ura5"*$jAO(^Gs4HZPT<#T`+-67ɦOYs!wk:2R6*Jjmns9$lyZ(w(؇eiP1Nh )e0]7 蓦j?kzRNXbyeLV0FgH1"S4zFLФkdno7Z@)iPgP,jx} f3JeZf5>) ͚bZČ" g1z#U-Dd]]Id` O*5?##k3cshX9>g_M#U!$29d0eؓр]0ԥ} 8&㸘bAl1 5s8F$EfZj<5tM{'J0  4weijP& tğRH :XB ]%h l%YZ:,근zßIw$/J Cy!ޟyQrTD^j/Pn+p%s-* MD@J1C8JBbtСEG^,( &նB%]0RUG@#u ^%'k(m6hol4(vt6PEa'XѡŊh5Jw4:0k`U>k8#|e^@]8Bp6*#<ģ*hWqkEB3'2IT6PQ.s`I#mDuؙF ~K-\^Кq_j!e3E!Xż@qrMΛj7zRM/R6 TH}w D#$;{AH#Ƈ6/rX2;&H)B 9&([%ArZ݀. OH oF1€0ˢ~ՒCA惆!t:N ӞHu0(TԮZY^ᐍب}ɀHRo]Z4ez}Tә`EN[j-*VJG b Խ*!6K@dD>@e⨚貝XLae{[Q[TAu@_H#ˮ `_ѕq0R9Q(kvWl(-UթY6+8kWx@\hOdtÓZ DB6_O賒a+)*!¡Mb?{ϊQh] "+Қ~OŃTI7,+|3lVAqA exZTH%E69ȳJQ jb0WFvCb(S! /+e5S<-,*[@lF#3[e^XXݠ hb$ =\/‰nHRZgbɞZ.x J31l.0yӏ+9:ulrSj^Hjh}t85*:cq?mof=Җloxh+ [rݤX@!MiR$OʹB VTZVnr䈯fDd7q|5Y6͔yaJVE#cmṁEA;W@YdOs܀͌n1s`BH} +|%RA/Qu~az7hhKa$ho8AݡOˀB$bh? y/֍PxM5NIEx1nͼݑw,i0Cӎ+wʣghO mOm (f,knؤ- f@ B'!ex  AǂKWvv1^j +"5ԓ6eyPSg5EFY'âVTN2%H2^FԊQf(JP3d{J@9?9ʍ2IlX@GI bEHS(+gJ&G_5?sg_P #_U/` Z a[z*sQUlGUkWœ]lW6xŅFJ?\[1IEcY& ?~+h O]<(xva%gc1vr~htRDl1œ͇? uȿf# c@qEJzS68B.RSxl kU>/!-APgqƶЃꔼvd7E 3i"p,;Jov:bؚ[lgy`Dcr SEI ڍg| Xx\eIZ0me:+d0 2s*5伀WX"s υ@kv\ ^ژP."t"Ply2aꄶ쩁h~cA*x V `Y+<[+/ζK8(1@vNp!r'q+X 3_TX4\̎ 9Mh H>CZ8:m>׊1>&cgk7Q`(^ B@bPne1\U{ ގhhȊsC]/kerX/.ŷHD9W/-*Ͳ(3ņY`Ml8 Ȟ:u1Ҷ2.z-QEg Vm4EhKn1jx"<_yZ@\qPXkkaT[TeT Rը "ʁZ v+` 8*{"QiAf\EǧD2 8$՗ģy'Aa}tB  EƩdn*O@>ȥ_iì lbC+y0WwxgJDJ.D 7䃁!>j!RɈC[;PJ H!ߙ eX$80XX 0jZ-%}8ag_ fٸҘgAnߡs`*%Q:+Knx'98=WH YA O:ST~Sa&'xSD!rĢ Pd3Z[d"!@6eGZ>r^]˔}Tb)Zya D/#+`: ,t/brULDi{&6eu8̹0),-X„WYQ*ɜᖒ_,zƹs@x,IRdSZG\2Î* E0%̴&,,渿^˩ר+\'Agps(,['|$;j*œc,焹 PL99 lEj)ǗuEQUV4҂yD/eKuǵ0 o&ױgR _.5'82D5eOH8C8SE Oel !`^L.T$4<+Q4 nD2+{9 T8.vM"¡FpI`+fEr8rwM^T3T:խc! 'U6+RRa؜ɤ`So\i/-A WDU 9MvW]eSP ێbPM\a#"*1(Z9& .ҠŠ^Mt,L1Ƕ$7]m @8T:Djq_\j rFES,gj~~  <1bH 4bv}vQ lz fXBOT =afϢա,-amvqPF5 kG=zӈI:?(֥?΃.5bFwgVbq Vu-/,^zMd [\%eo -Z$eڀGqݠ&"TdF(.m0 3< n]&@@Ejk N β*X,UCt9X0xP ^C[@Nz?5x!Y<]e@,֎`,%^Bcݰ`DfJ}jURjfl| .7Qd#)0FPn2UK!"Z]pyd/©l= ™Mih~Ҳdq q)!bB0f`Q 1UęFH³*zL/B}Y-}B*sV< J&t!4īyr DLy=gڞ`B)Ķ2 4yI޼Ek/C dW 0"Mh8Q e$q( IBo&a`B`Y{{,,(|̪! raL(X;'H7HUbq$[Y( *@ mk0i 2鄇[JJ;@K LӔʾTNatF#_+,PZ2SofՌ -!V,',Ac̕~c>\R\Q¥GCϸ72°Ul"lVaIyfaj%&3 j+U ɖ +rV@НE_S]A&i%VWn8FXD$M(P96 ; U3špDALvU%č1L^d2]ZlvKd&P*lQD\ sa92K/_-%3%,l,){P(~&%IXj:X.!&Us\Ѱ%ӋfkV Y~>ʀ ~I1jhhG t 7̫m%'Lhr YPe'ѣ!3։P[qWK|b,P([ǂF=`NBsSjRjЅ=,DBMŽe-W m QvX?C8(lff`K{֟ -yAȖ(o1%Řr!g-5{ŢPĵ(V[1&XqU$b mRnЊq\`+!dEݰ*1;̛ 8vVwc+Vk+Q"pl:+6 sJ]6S ԮY"Avh[ZAXl)mgEuͲ# ̲]8 ` ! 46Zȕ=bo Z ؒ\C?,0 V([ȂyhjFhWf=լL4wD[M(%-aQf.$],:⣀P"ʅf94W)@QBu.FNJ9KeX[)$NM  ǚf{E92!/drѮׅ崠םP‚zDV:Ea] $  iNa/žtZ[xh]KI\* 6Ś@k1IO{"D lj gc$ܡ'[Dx⣵D6G >5W{",`IyP FZ@2pՊUv2#Qm 1v e2"RfKjd *LD+{#lqH%^P"̖F ? R^Ŵ+_* [-4ÎQa^>G9 P)zfF=1; &QBцIHy}1H#ʋ"jCA5\.PÏ.26*ESq5,iXV>?RQpiuQi r&ZqwXWO7"wAgza$x8C 9Zќm M?RȰYPDUϢgysAg25DV ɷNYƮJlH;f.;B[*4L37y[B.e:g€'i5f ,f$u;̽jVɅUKf"E0:#ɶd^"L~`~F9vd2r!׶ѴC-s&嫠MvMr놚xӡkBL!Y @YPEʈ_;(PCCȅA2s倢A&\o(:Hh}0:-tPN@ Z HH0jLo\;?dz2fOd#7rO#@S PzNfT'lc*ǷWvب>v梴{ UƔM,*!mj 1 ukD ѦzyW S=HxjτQ67*D.XEЍ"W k0||ͥ WeAu.J &3n'TgŎ k9T;`rn۪-((t#-OЅΩJ"Eas0fnxr F*\QF\΄B+ɹq:@W7tgkeMoa:5\; #cJ7 j3B' -.<"wN:B!jdPٙ(0'^+ΡQd,@˅eDfcv#fw퐄"s];[|A <`#yQ϶O4 g^s2LåAp.SnUa0o sdO!gtRXDsٶQ5{@ =&WLqS!r 71a0BOdV 6P)XbI@? l-(-X.TŻnYйa&@h1"m@]_* 1p?8kb$gk]fN@ؾxLd9D1Su= ilSL*azuq_vAв  Ⴖrb+*'w xۍ hU}Nq3 gxCT |W dSӫ^Au3D͑08s+ aC!|r]rBlJd̙K(a/@AnoIXF6tM' ם!Gx}D#ڙ VHTM]`LF^@ /&U6FCf47PCj#VS) 1*bshN\)KM5sTæ\/ 'zݦu!f܍T!oQf2hP(CG7Y2؀.$Ȱ~tt1HWk4V-gшj5:ҮPR3H}iCi0OqXx*ӱ #sq#3uY<эpV|QNGֈvQ \ M0!GHH|v-ʄyHfS4!Mڛ<޲#wb #b0tHj:FhY($!JķjtۿEr%V$L)y~ ,r vΖHV Eh+i˝+GL:5(7ֻmdI{4 Ą5d34=D;` aDٛHkCV'fRV25”XLf\yħFꕉg:ފfb9/j mcI(Rǃ6q"Cd-KY`UFpu4־_U!/B3#/b$qrSB@N(rCR)g^`w" ,).O>("D\E:`\@P!@Cr1byG@mL`\NSҥE(xDUl] l3H8)d6iZ}@&tŮѴbсGUU{m[&j+du $a:ўݬ`֟^@Q)B(8~ԀT EO H["UJHu], :>lF27h:ѯ ECmOX'/6y,Rw}/35v2csW (ס},lWl}:7?nygBϜ&L3O"l>;?q\| +6pT}:'fx4a:5X8wVdV5$"þNJG8^ '0r<^xq<5;ؐ9b$<ܙ?<ݣ #3!FSQ8G?5JCh4H["Sk?a~g HO8d| wnnr>ȕxgz 4M˓産|l"0$;YY^0K "fvPeĬq"Ab:1D|.tZׯܵ:Dz㔎^8io@XY|MfJXL7SKDuTa<<Z10fQ}@kACM;5GbH,exML%]9ʽiRzpA\MZQ&fMKvgn"cE mc W²8 -)D=(Z)#khD5H#ipD1 Рf)5\$%&mȶډHJK,G%&zb"OLV 9 KaVCm[+'㄄v,&JCxT3byYA֏5c1L=6MF, :ЏXlgomNlx|q@Z?y8I܎N`J%5YىiAqDv1¡âmYJIod!z% L#<VvvhP&fSJ@Ig%@L<;O5cĝ4bDm m3+d(uJJxo'c7kM..FFEv.T)."_Fv('+Z85]3L2)FfX@a9csbzT˔(@G%ۚb&U.(R;HcϦ0yU}Ȣ7icOB!s2.s]'Y& lͦ69|HTDvVDT;%=g0V[$KdlM0ԇ6{hn@B*T{IG38\qza"$;H&Ʃ\osmWvOEywG>}`1jA>ĝcȶM£=ݝq!2##X#ѶQ*Up$%%a4S"4[wR(YiXyJm0&KZS:'Ikˢi%FxIy3XgwLS +/c_-k˵MM.r"[-!Xyiz2@,khDg.7<[ڀDШ+ U5^Dؔm f^ɉWqnTcǍc19:WmGz=w-=`6JR"7BH]A>1% v]>Etef$ibqd؈GDM*/4k{?OBǾQrI XTf$@@']FcԎ3BN~(LEQ+(oYn2G_N{fb"#L9$c>nROb9Jp :qhLBŵ#\G*;nmA[b,:ybI!^DNRAylEF@*:ZiJՊm^#OIs>It١ɑ%g:tg*7g2 :jgkU6AEћgF*8#Wlfyj.QUH%9X@sqR)/l{PXVH UN( []7myHm)l.W[?K=0]Φ.60f@+ lm/>\=r0;;4qgven"&AT^E$j ] ^*% u e =`i1e.NLMB8aM42OTWa*E>=(TDԏ 2}28@x*G~՘G4] +Wl9l MY!Ft7 5̙,9dO jڂB-;VvYiDwcA81sM39faljYn2e"yԮrIv(}Ja]2/d͇(&z?J:|l-b.OjVMEͯ5Q f޻6($P!ye]WO;qڱc33{k*mܫ+ozPғ]7l؋*V 2U h7Lt^;$Ҫk߈dG^}XMI82$Ƕb֞%GmO<愌ٽdgZ=jMQBU^I2h^7RǛ4` 0BpHFs/y* Hc;?. ={Ǵx+b'NsņiLGojmU?L5m;5}ѱv4m\:O@xAG;"S|إ:&2Jԩ^}ʈޫШS+JMEaްD)}%UCGbtMhݟĴu>P"Nu*1(b fr9w#;9u\Ǯoю:#2Ûs_^b:J hCdU5n`?st~8҄fEe?yd8ή>?VlNs/gRo_]s_;i;} <r#,ϝѡlGN󉚤V;iu u ?NVG<\SeN0Cyhd4W\UԌ4@1.QZB&0=I7>x*CtTjpqBwZGnƭnɋ>-X  6Uv$MQ1KlNVcMT3O{+;n^ \;;hiv榔@qViEr YQ,j(SedAg Wm9HkѶaCMi (pOYpwtnqM zyX=KEݴBD >h6Q2|skjM"DVd dMŐTJ& bHK 'ku S {h/eTKj>i[~ϱ;q]ȚyABڧ4SJ(Gm(}/V#ȽdEmEtmH8,<ȖYhIMىq8e.(UԀ$E:.f줸__=Q*ďc##]ۙ"^JFr%A D g_#]r A1a3t^R.놎$cɭ7Jqמrp9-?@+}fG{Xu9Mw9Oq\S6sq@'vPcM4TOyP̕' -)lǒ,U WL1K4" ] &F㉮Џ b,hhyO8>Šy|@onjjh/.|:Oվ3m&g{10Ja/h9 DŞ%# #k2zkf~9Fi56LKq$C ikK˴Ehmګ" f@<@h HD[wc#XRRP@': Ї+j٢g˧q}>+L(d -ڑϲOgS CbzP .Wzb%pBhGjjEc]OWi3df!jL;S@:/Nf# x'X\\ "># ˡF,ii_*U=  7n1Z^\zܧ v=]zuNLn{f+iZU:NX ]䂜M?Z?2}$CJ]!FFDƈ!J٭P>!Jɚje)uTޭ1/fn)ڧ HQI|"u8|"LMMD4c,.&PqåK=ᠰ9 MTi>I /k~v 1_X=3v6\=H|E0=G V'xqgJhgk+#:Q`#ћ>뢄J?Yb=jm1˔WD;:eXQa ەês~r~+j#$hB- {WU'DQdE@xm"Gu8}m#u>&Ѓ&1!XeピOGsNxuK]"t-G(`,k`COt{2V:KFH}tЖ͕$i ],J@V:hWg+.FAgu2އ:SVIBYAyRZbî"iMbGLk!!}WY]'!QJ&ŹwڣCCI%/j-3BV^jrbGt>#9I?2?}iz0P7 Ȏ:q8+&M &AJ9/A6zO.ܯ?HMB]'AG -Lhe 8Oz:A& +:M!ѣ&ܑ̭g 38KMB]'To7aV7 ~'Tm7i "[\% }BT]'&aDV7 ghQB]'| 3Z^|n4~JhieFW  M]] JoVTzOUB d*/VQzCUBVOz"uۄY&d̩UTB=4JȀS[@+#"4~ۄ-Nt.!BmgW<0.ڍh >$ # I^*8AlEB]'Xu `Eo4*JQ],|px%"19&G274 JРC*!Exc?L:x0C吻FOH5S E#/zl:b /1a` E\%*2NP( ^ 3" K#XC}ĽJ7ikF@#$T 7aŤ g Q|W 3xKĄ]&64:Zyۄ?-.v3wL_|;UY_9C)=|we:&o>a3t{2[mtapw>Otr}~k ]'lvP(i7!eU„/ml=K/^$l`v2kYefm"_U@BNU\% 쩺I:zOnT,A*')*)Jt)d1 F 7z >H8|棄My;˄?HPd5f6K$-PBnn6p$RK~?62ae]aUB\߄BӉC9M9'@/ upHKԆ * ~jwl9}Y{?&~\;?tc` x  k55k~k(`h Z$ ׬A $8\@n\A Oş^k]a?Gkg^mVïm'C9F0a Tz>L+ZJĦ} FPjd/FmVq#-$G`>z?jX+*Z+Z hm_$ӗUgmNh{Шaك&4bJ=Qg^!( 6ÃsԁLTY>'I-(>?8̇.-k$@ĆV=5bbbaP %*`_. 90 &`_ lSITR# &q@p6Ddc`[Ј]M P54PN`{ -(a[.]5(\9,N@05hOf`6V@ iCR*}/`:/k ^3d5d iGڏ4<9@RkU%*Jo2ˡBBĠy /`<iC/g^ z,,qRu6vjh]z*Ƒ"_Ђ\O`wXm7aI `׼_h(0 !| B+e#JeO!JE32 QmU_UGQ)EZKKWn(dYVR`U a(N&k3L-$aLdFC5h  LBz\w.jko Z3yZ}-״!\χ!yXLJh8YxL$5L {+vLX+ P”05B> x $ : 4s^K>h4u^ÚSk۪3n#XrYsvp}0m2RQK􌙐/v}@u5{ {ҵBCvK|(uk}qD#"` mVwtaT$k_&t%(f}[^_?`Z5[l\?f]v:jp,><,mi))ZLkUxTc@S0Iʘ@ms,DlII hr!5"EKl~V5cOzevﹽuAW16ņڅk7NY[6(=Gi9>kB { lT+''rm\|6bwlj(#~!H ^-zOC8`y`.9t[~ V&P; ꉬf;8EjknJ{ШU0WcΎgڤ1d]ԞnPDVk ~C ժ{䕓y꯷w>.w@c23By L$ z2͍'@LjԚ>TN-zý\Uk't]?VhDkB9F_V(/)Hgdk )!j(@[%#vA,U(P!yBq 'o.Zv"cxZKt9o Vc^ z>f?(4jm?"v9rA$UHX?>0R6Y|[>4@l@lծ"6;F # .lp7ah1940֔ g L_O5mD pzm  eH^ Ckp$'*.$ $V#8!4" 3ĕ̾.ןCEpL{/XB 1SO (TP0f,`l@ӶNҏ6sV*[^;U%טϟ}H{[&[`3<3ha" G-rg "Pؒ>Mk,uG\[ h4V6b$APeƬwZxv0_8pwcy|O 02_尀FA u %^, !|Ysڨ h9 O (r@up9\L-4MA`R-yZF FOk)̀_b6,Q,`Fv d/g`O0M˥%q3[' 2b h[ϣl,09 lVj;" L sC0ĜHKܥ׎Ue[mKhm}-*5ڛc+&Sɖi vG a PiZ f 4,X7\GB&]HF7àe &<LUA#'!ЇKU$l3 2D@6X"T q\4aFm .0W!4+HO\@2*řp5I 3 '<%/'1g!o20JLU;HS2 (5^vS\{5jFȃZ%װ%8 `Z1v`Ta@+ўN*kL-\j"E (nv)B\G9~bR >{MLÓ 8C"LnJK'P<ɸE s@ hFvŁFHpGHK3ՀQO3jL`T(d^ 8@hm>*p() d2%W4-RQa蹐BqLGZ,im[\3Rv@؅1qA *6Ab1Z@1Qd 9o av s>id !⎺M`b=&+B z; 8L˞&[m~c s!q2U]W/MlC&6JL4sХA7q@6R!SbU!MBv,:aSY(Mb=(3c\#MX$zj_!גzh@SzG =HG'sv~zj pf4c19?t_fg {w @3+>]ŚFxPO4&3n-C.UyLIdLbw(B.O$mR*&MN!#=È+ټ"FXUCW-| C z!V7DU=&A]h堇&ۍfDF|;-@ 5;…-q -4C~Sƒ:O7ulB(ZUpU8Oڈx.4P8-Bd+!t׀1G7De k\,hoX +g SQ,Pb:]H+ 463:sۍRsGP5ߜzj@7V`CZ;-GC5g̀y5mT)rTXd.:{ r8-9đ3"hEهќ}DQD'P0W`,tH%oPuAE_P0"R FgBVϠ"-~EW ZtV`(a%0FL+NNUxT\rMHY@,mh}R.dFredB,2wOz ?R$wC BꨂE$0w_X$j($9+_I$1{ ^ ' ?bϙ+pjBQHAkyA NCc  r73raQ7 D:k֏iQwt /˥U:ȁ [$C(#`Kpl8;fwY"5@%r[k&3aT@?c64ȥTn7.ET}`=:Q#LϮ2k!%g]gi]a| |X\~0 АB4ARKL;:,*"¶ 칮݌ úWXZZH1ʵv= ,pxs/@ha$f Ct&Cd6_sL $@Za@KT޿6+)gݼaBv߼lw{[j(R7 /ZKǟ2< HJk3n%w~l sU0Bp r>;"/bV񰞷2Y!E=z. ٣$Ky-z ynLņ4)=yKA9p~uRq=톯:66/5Hm9F̛-$o[6?I{T|Js/Bq.Sr;V6~x9Y>oKյTc(P]3 Iw妜y"ϯe]iVCyk>nF98qނ2Aw-}*Y&t<=ŒOm:>p.ڭI_ãOV{ oN7krNDIoχ"zCq[ٸ&\A]Ҧ O,}(%[b%-Ux:)ݎiHw2WU46a2i*)E B5|i{b9$FEl7Keۜ4׌'juGX>-t{DW%#R6+]sϠ~\7 5`H )$1z[T۩FY5|Ђv@ .NEcmƸ@ƎqTe{;UrƏ->dàoP<-Tr< ^_ &e,tZBG&AT­W旝 QwϕmCg5Ƈ%FBbX#k)t G5f lGM3O/L<8dvO))Jvȳj]ֶfI)ͿO↨2ʋ7=(؅BΩjo ;n~'<"3˛-c=藵5.;- @~"=\f0< )ӑq=+4 }@\[oC{ޒ3+k!g҃+<˭j؏5퇯܎e2\o ZyX#g!18;HYfnҵ.2YHOc[Eme`9^ԍY@ĀY V";HL$ɦ"5_i3jNM]Swpɠ&# sG@ڄ6̄1qc(rd6Th7F\Ͷ4lޮnJl)Э "C暬F7ܘ̓)p')4[ ioQ9xGEAm.2~$6W+966e1vwiJ7r^m"c ¯ԫ^4)R%Ay"N Bt5#$ G'cvD0rJݿ`zG F̗C(!ExltV[yBSIq$, ɈAr݈rٿAEN"CG[x.YVFW"ѐF4?2Mi&P 0i5]P>3E. t/~^+B431%0U9LC1z@ս\hlk:i~=ebSs?΁[#3+zۢn3(*tg O֐?WL)"6VO6()-@G󻜧u^lg[_ı 2vzռ`jX@{b}1ŨǧڅW(jГC'u#жQX?ȝ"4w`C5.aҸ ݭx:ֲ g:$aVY(ʅpOﻉE,wತs9 mx9ؾNikKEi5颕wںx> KPƉr|أSun!f Q)0RO0#J="Y._uU3T&2Sĭ){f`XG5]Cc)Xj N ˸ i{AgpdA%(0ZYrk/J GuhJX 'R;tLWM̾K*[Zb{u,A˛lqdIeA| g:HRehI |0Ŵ?ILtH'm%kPVj^Y2rS$59 3np?DhSG.2",cxw,/3u/L /B|p Sx9 2i `SGc4{:?EC6^ @Ehd`P­CTWiqtv{(GHrAÐ+@OcKdؿ,1t!=(I|%@ eG;8G$jpb8a[ڇӁ(1dK$ Z)q!3% .Ѳ`Hs+e3xJ'(QE2ѕPJd:\;4kFuXZ&ֶ2P%ZJܲugiD]8Im)U|}@!>:[iIp,4W2$Ӏf-yN ٥KydAYM)&TIxRZ}ȧ)1vO8" }жs88O//LU'1a**2 lR N 7FFUb{CZhO&m ŌZU;mP\1УG%Ӈ$\ |@]i)2CqK7%&SRP3_z罣O@L O1- uD'GyCtxyu,=d*Q306rEyflfUMzTPYL^dRpS.>CZ`Q;ނU͡#xe/i?pɗ t atOgiAOk_vyaaFÕ [P~]y?vWո;[잝u'/֨f6+Mlvs?W?Yԛ^36[xz֥T[h6MTX"ƽ<.7=[tD -ITKWz42Hg퐟sC?}qŏf[mW|pVDrz)douwe,wffKn8a%7|$Dޭj ~l.OzōAnYIh@ 8;3iۘ^[:'}5])E/|x.T4sɢBF>w,jgE3@l{ᑝg)_w9j_2?V vDz[ʅV57ݪYf\>[od\IjF‚9:q|TR7rjMcWzi|T&Qͦ?sqhxٺ܋!גYiC.k\R67U}S0n'2aSD Y܉]r=xK\ mJ59hp+d\ mp3*0b$ܐ/+mS/w{f+Z /ANG=~"H;Y_eƊ u~h6+զ\/'=atGkf݀8_Cs{#q19e{Z4-I]IՔ4z{Xx^{J=W KSlmSwdV| [3j|Qn܁X;ـx74lcYhj?C~!WE{-4jdYo#΢hwxR. d GY9H>=gaԑc\MZۻ/ `jmC0sy!*fs_D@{a\߄w7'^liۏn;B/& 5w.}ӳϝ 䏼^Vm¨̽HFO=8Ƞ}^!wsXoȫ *K,TcE PCtI2V ѽN_rˊ1J{:#!5U_ck $vS2=saJ|aҫ uwcģ[4s6>_^p8ؚӖ#,GGmِ9 cCx@?69}Wu9EGلKl8nncIX]X_rÐ9ًnNvh=r61/n -a /HbN,Sەg98 ,o_|<1`R}7ZB̿r7{p'Gg>IԴPЁZ*v+ w䩵]VOşkL]n]$yaYRr`D-;݁$A\Y' )ivX'j*MRb=iXwޭSсzVޅl[$]&:-u\vfrVoA^mwѲ!J47ϲpK|Nŝ2p-o=TݖNA[j$_K&Q} Z rxy]Y~?qĭgA̺'JH#И/ûF3^JCmXLTnbEv4zHd݇NaQ R&$<?R1+ S)e+-g:/D3y=tF/oxÇnDxUlFkTPMKmW>r,c __X!uͣ?,fnυ\Y\7$w4 [,5tMQnWxŦ6Z~,>8ʗ4]9+Wl聻0{]pU2vMG#x^xWn߭YI(嶼+O~09IkDycjZmiEgRgxe4[ &$k 0~kl`O̰ò4dw J=,o`ߍ^k-5̣G@6~a^:oNpR,rgo `(j9hGP ǬB;d$$vX^m󊩅uAa 3WA<2o9O5"!id`@wf =<ˌeO1a)5zmX͒0,B>B 5b^(|%q`\#ś岹)٢`«3imCBh+o8vNmsm/A-rTWtu3b\hҙuUTrgbtVN`"Yܼڌ,d/|+|Qmmf{ O~$Vcv,)M&s/Sp| r&|r+Cf" w6m:A8ޭ wsX7W`eUWsq\MrbaxP{Vr[z/opNБȎOr2,㒔mk (4a WXTy8%QWNQa:މku_BET̸ջeodE ܍z_6>#7Hna6lLeS EUdjsiI`:p'u X0a}UyMtZ02-$ b̘2g`7G XL+$z4pY\wby<'\.m?$΅!DXsf[q,v?keˍq`]9.OPISdA@n~DAK/]vm؝' -.< :ꇂs t/s؋ WD渋M(]%|QRVkzc2v]4ᜢ1^gvLJ93Q˸ yI 퀻tñ71r#> #NS Ch9:L(Dʵ~q[[o\5BqFi,SL`vriKmaplXS2fn_DLnET6i殩m(PՎx)l>kGS.d4p#ҏץ)ES,=ߙsnP.c7̺YNE6Z)n !ppDn cX0e!ϥƄk7>ίk⇉5@Fk u)՛^j> jt6vdU{ےg8=;$2|!yоF=OA`txmP o,Z6u(A/90:ESi7ă:V5 =u@k$q:>EYȊy{"xg4 ls~G%<!. qo>wȉp,ncPFq#:̧Z4j PċOr"s8`1 9D up%a>=,\k xߐdr$WcHa~CO`Lj}0Ng4~cGj@99kcY+5JF4"Į/]TG5b\ǯ ڝq.BsXT0W2'MX/Q{4&olW [d:$nypm2wO~r nV6M,a>qBF!7l _ïv—Yƅ(czQ 1n#dlX[j~W|! >/]7>Oಣ&y!d+kC.tOȐlDF-4h掓ڥj7~Iu48_ދ ({<8#a(j}+eZar@Fԏ!HSa7~jWCpw_grkfړ/.WIFlQ<^s/ uVxlb(/`58b5}7;?e)PM&n6S A8^hAy 97S;~@wVZ4 P;i,y$<pYH]@@}\6.^)WD!JlCܨڼ&d@eӠ:D>А?}6^g_g_#hC€hr "ܸ5xFM~XS-^ć~ !?Ӣ?lH? \G>H@?T_XC;yz$Pyc Ijk9Xg`'&95Rbi }͍AeTptIm?'+bhf隷je[&!d*ԪASLKY-tZ-|ɭtY(HGkWpRl,,طY}v R0|os~ʦ?M}}VN̏_*x̋2M|u3ge/И||O(ᔙۃqi^;Op1)Y9pA1jCc~P4 Kq3?.̈́ P3!hCpTefm<"ooB~-{zϪ#U{Ao!Eh;IyODؔjIhB<y籊/8_pĎ +xfznVOFsn{75%_5t+C ۃZoRڨ pqu}9"k J`؁荹[u$)&x##ڸ0nfD9@Td^\<h$$OSWR0xc㶠.F%)'m\9՛Ed<[V ghSb"e *P}kesSňǷMyCJrٻQُz;-G>&4}҉d 6g7~vݬ&^o8/3^{鹽!;t}%YD2&NYM{'OQf`f^H'^12sky]:U_D]nN7CgufWƍ2V{ã2t!LT;4`՘ދ45(MڮI/-_ovg_=R_䠫Pq/6)LVd[H%W)b_ߘԞ Ϙ)"~WLhPd&ź17S|m3*n02MȕŽ s'=Mn* ,tɴ0'_8 1 wK4:--cbc^F Tav(vޑf6InSDJdW/3c;, ye7^4}oI+|?mB K0*ԏ5f➧zW6)l/gLEeɺeYyم9Xa:P`ZiZ`ኖc[r &P r6rZ*0J4Ю"R3R@baD\MQJet9Z#} ^B$>KIK(6֩V 1(b\+&qg1J8F^Mmb3bR/))%Km@n36ny:Iq  QYȡ^QLR r/ViD'\;W)͖7BEAH29!p|WυM#Rhung0%ȝeL42H:hfl@)4$u"yM&^g(Y@{ ܋^^us؃ϛH nJ VVzx3;zQ[<3|Mې^]ߔv7Eig[X2aY)Hio F+],% Uu;ϒ;#g?9iM̃y1\\ :d[Ti>,/sETjk4MEh9~r?$3k֖-LDH+H\;F?kV\O+DN|7K #֥d=8[y7ج3rfbl ׫f˹{;[>FvoHܕ0 GAviZp;Z3]X;+Bś8X6k#s|u(n@B]2E1!ǵqH[4 # ]Pl4Ǯ2 nr5@(^t&m06UEsih5reRU< YmêڢۚC6 ۚ -/1r ُ6dҖôL2[ ֓1Gu!'lU.lyNXgX\!㬳`P57sEHnK@ 0>fbscJArig/doٞ?î{Q7,ധX5nw"GJ{jwgNRxWD?{tp2׫{F]6Zڄ8 NrB\M9o7"x٤^ʇGŲ^`x({4]Ôqp29bgL- 1Y1Ym˳箯cDw2deY:bZfb#ZXfNl+ X̒H!I.J7R:Zx3ZgNEfmj2"@vmb~5YlD*wpY =[(WZIB&k~jr3ETJ;LFh?sуV7Ѯgg0 {{iwKIȚbjg7D"Lu22|Hg ,P X{hd.RJ]:} /%37ozV~KSIIeU=⟻3J-=-g0,wh\íRQ,Hi^/r: I@u./QGy"yOxO0tʊUU!z \ @K$wb*B߰6g2J&0@]PF.ݣ% { B k:AY}-]רa@E0?~Ԙ5*=C>@s#,B`uijpF9PMK.="AN>r7#4>&Y&DwQ;/at*+"f ?kpH-$MhΣ0OS^nQw 68 @) '0א'F0(KF}ڿYf@8(:oqΦT О)D\ n?ӱK 9H3HVHu.wxecZ$3k*PGei*tpV!{1! x zRliO :FUP簰cϬ_ ,VB̙KNS EE`ʪZ8b53CDQ*ryzFV=EձhW5P"M m a.(W>MTf4 74> p&5TADF/x5m֒X$&[꡴p.JK4%=]gmXiʻTpt}kF}[.pHpš/y fCx8ʭ(YZ%4gb؁TT;KX!'2#|%5JdQʐ7FI3$NLTw] *uFUfkJFQ*{$L 8_>9+k,>i\ st0FAŭͨet ~kj_]%ũL,e]e9PPʏǜ/zK&Y4H6l%,[eԁ f=#?3Zc|bu΁:Gu]IG3\Ǭ]ŅG :'t -g;6w@Cm`% VTeyh͒MضʡRuZt4L}fI> U\ڗjJKmT,p(ybnQKᤦ8٘O.$afkНf8Жh+P> _e@R"#HjdQKPSZEG{1A:k#.7U1̅Lڊ(6Ø{;FVd[B+%Y\}@Q c6S%1 GɥCdN,I+䨴IE@G9%괌}ycx9W}R+*74Dx! T}DI}vE)#:T!ph#qK{Pni&+L c'Mq&ue@ʳJtNspsH[i74=IR%Y\Ak3/ U1uQoTKq:zqN4>ˑdd2d%P":, P-r q(M)ag5$%W-xu,_Wp9sw>rqѰQ]f~V `I]]v z^WfV,)*_UkQyWgsh6-nck z,ռYO妨ble1[*kngec^Tm3c~Do>c=xLr|o"QQnhPUe4g8[wG8a.gs~br0Jꮡ/fI\Wջ^_ve[OJ%Y~U┻0多߰WԶ+9%G жd^.S ֚bsW5GL}X1 <kz(6DfMz>lFOEϏj)˕lNC+VyCc.=հ<Χz.\ސ\#ycM|lk?zzKRyBe>Vb{asR,1UW[dbsQΰf80]cNs}&cZP,Mߘujr2v'ms>'VϢ1. *FYD%".jb2Y#Kegfm0ދ9vRlݚ=_GJ+i$mSlj~C\-?Ӹfd[4$0:>+ y F2c ~GSI,dZZ[ m\9꺘4:AU%2>OrϒEyr2|bcoRj @zMI; v@-g/V7[Ȋuy6?+<kV5 Xd]U4+ B6>_O$>:!'^Z7_Y/^Ժ|XCAp4yrڿ݊Z6[fxג -ϲ/T܍ZN7DjPoՂf6 `'8=wJ:w{j5V]8N3Pnw=O@;Q Yg?ρ7&R;(1. 92ҋe]+cWcNhLQ']Ƣh) ]Y"s' JBzNʃTQ}M'**+y9ۮI-8CvKܹkFv['`cD"4~|g/vYgcJnzoDBִ*9k3@}' amj m>p#3o6*31&ș#O\9,9KcHp^ۭ)1(rH.9b_c#YK)k#b[|ÍظԜ;o pM@θ Y#;@%ߴA 4zk˻O8ZNu?%[8F~a/2sH]v]bFEn˙Zl$c]M$O"OF< ޳.gc^X *&EbP n\ס ?w&GblHw*z)9b9 SHqrk(lԤhcTG+> N1R.Ef[r<AEe;3&™alXt52xڑ248PzsQ}K!i~Z0*D퇕IZ>`F= e/B;zgXh56g^TmXalat*i@j9@i%?o 8O hҧx}/xe0UTſ8Ӭ-dv(w>f4 $'>ń"+.ob`NMEx 3<2r9oW&!B땳ʫZXiW4̎zѥfL el7jXL$61D/ ߹I19֛p.m6$y$'g%_.w9]]g=&b.[^a|Fz#q>5α?/3/F$5z Om4I /bZxbl7Kh`KW(<ܒZ-e`pWoY=<#S~}-h д?/o[yp^ϊr(+͜[ڝ'4V`V`|V#F^զVnCr_G^[Z6f_3) x OȇaoxM:侪KE}uL65v kMsxnq-\>U}0o7&V5k^=W]uQ,s($2'0Mm5 "$0bftHu (e;P @TIw,!S~fʡTO`.M*[:r~-U+,^\ѳ9fm>Ft\mdy@R~dQ˛"5۲1_!uf,`&m%O޸/;C2խ凛r?( 7_VkIN,^~%U`'W@+#2]mӥYDYـv.EF>[OfH_w~c//[D?xW_V]{LK*'ց䜚9Ca.+$Kf=:.I2DҤ y-ѳ (0M=Gnx# n}v@r[lH1X2r^VAM<D[n'czS)8~3P$QG+0KK ] CqacK3[)5=(TKv C5|~2[+|#6\[`.V9}3Ag2oC\Dd,L+nV%>8@ %Z<8엋ee6_ݶX|֮&玘sQ_\v|՗uV| OV{1B㵼yaȖo'[Qgo3hhz?WFHrjlQ\M> =KsWngAXڸKmy[jJv*Ro3`x4Ɩ3.`o3qL@**1r&iTA$d1^迖tⶼ^mRG6bkgUIKgJ, .yڧ‹=\i_czݙ >plo*]sLGcvaʤ\wgm&iGn.9.+Po8@|0ԃ^ErJ&[xySo Srͫr^+ 撴Y.e h~_-~[OHu/r,"m1kgg7=xɣ^2rr[7%ۙ|MYͷ#[i;q;;^{m[p!.ѐܚ?gx&䩅Qthp{Kن{Z`V(q{P!#z=2~c.KqQ)H>!7r0[,`dH=@|6 h_wM*h$_bW!.uq|P.""IuF!߄,be%M 6-KeZ2?SjG|vn􆶪وgV{%|ճ6@)>Y~bXmcKҏj<84wnk+a럙)-#> z4襵WYi#H{"Ķ0O'Ӓ(l:'F`荙`q6*INME`a<EA a)k G!rCCOCxrݝi l\^8@q-J:Pc m i"z Ukް.( 0֏f}l rM?:)sz~SPi1ri" }yQO0IktjP:YB:4T0b.|Ž [a nARaE T\4m|20O؟oGYsY4$cxG1*o{sءp>!\x FCc~T}YoHP!lkJ {~')~VnZU\=cUj|#+V$>򮿅w?,!:I&ڎO!QῃC0ʟrRƎݩ%!AJNhgyM|R"?NOha%$H]b^Ԅ@!L O?L& NAqN!TfVq/xᨔJz2΅sT5]4 ΌEJv"̛ Fqx:&4mA嘞Br :fy株)BvPn zcP %Ar$ߴ9h6K \i ?{Q+'n\""th= j>Md%g l"KdH9c3PE'.oAgyN5oo atբG`%#be:mnrkGsDL =` W 2^Ӹ0lE1].HèE[^>2?k=)E! >xUibKG3xؾV(~͘dZO1[~I\1\0UCӶtzcIludXVX)(-Kh$vaF-uJ=˟sJ&gNv^۞ejVu]4($Ā(v\g훓>;N̏`JGF;U)ov8i6Ei9oGt+:,f{mJۡ%IYӹ{ /[vUUr]M2WިV[b㉮@:s/OЀ|:QE]J>T_@KDjUxCu1:m?~ PBv@^<ɟ:I/sqg@]NImB fx0vdLIVE,O&?+[,0TI?ZGX{/ SM!@ 'S`$ɯJ+]OH p)-p.Odڛ}Z3T2>h *G0~^<.Z(t|e)8:Ui$Ӝh+^m,?WrR@R&ycœ>GsZ>Tcy:sL")N١ dɧNIq*KGlUvdUeN37'0!4E!) ̜~83-tVX+f^ N~T7v]^-̧3[_iC,. WKyN9+OZƨ,U,M|G,N(ʥ`5E$x'4aX;r{_Qm }Y8p;ba@gpFkYwUwX#TeNaҜ6ՇwS"}L;fZcLj|1hL/{3-BoT4>U~JRDB/LJmu>檣^ܟ,{yQUj9$ '-> Bor:f-5D/O‰9:8*3ցB:W$͏Lej-@ sEQevKLE 2o{ `WՎ[c|l3R8 q R2 _V ?e3FO'/a2׶2Icf,5Nax{ Ei<=uo~m"]pƕ 6OGmoVK0HUm*^^__o;bz/}%]˪,MeخnM),K?gf^eq[濪۪\7HA@_85WwXv-/UgoֻS?۲YKڥrkAzgrUxnʋq%(.jZaIO5{>I}r1.oH'hoKנ̛bS/v%e? **i[|EfBWk.e 4 o iUB?g'/|Zv<+vkP 55y8F@a[Εֻr]k{u72Iuyi_L*fʾ]qF=ca5.FJ< mSKh>U9/6Ÿ)7z]b(43.xݧo.\ԋ*[#KaPgn~w^P ԥnX.myaߝgDޟt17\nZFዷ臘P]jeBW4+VfQ hyGfK.gzf^՛r~eWߛ0!Vx$_P'o/.X8d4cb{qz[X#ZЗpuc(=¿Ѫj5k stc(KғM\i|1:xviPA,AWǺ186^\R+FKNgÿmgNom\R Q4+bC;u*'vSK6e7]|fM`0B,4'5I Gz)&5FX{WO2dz(v߬2eOzF"1EU'\_ؖN"sZ8"pi28 +:V cs}cU9ŝ缲:vXstfYN JOA~_inMckJo#!V@ /)64OyBGN9>%_vz]gEF$QHZ8DɏR⠿oen8K^;՟h'-IW4%xdi!wÚfN:[qd^⍻1ևdy9몼-!.vrd7*gbcv5vFGJ.Mڀ<-[I&TY+ ǧ2l_Vܛ+qg#bzaeq;tH1fϥ0i \ˆeW^] /mǖ$`swM|1MQ.umIӥH?7"^JqD ~K]Hb郌U tgkj 0Gl]yl캄T(X<,0Dc;D!dʧ~+qRY|8#>m?di¥98公i#άC$^rpxS[ RhwDIh6?`-K|h)"N3{|Y^S4{n Svnu :t[$[ ʈ9Kx@ %@?c "_ }j b31Ͳ]uy]#V]|X*1)Dɕsw6GxetQg CP `%,5ٖI1 fٓcV(B3_R'ff2 `7jO6)޻\p[LIy^_Kh7O޿3dw/5+[z7OfͷNp%R,hji}O;&>s992kgs1A6՚n`Ύ\+ک~6/]w-mlsT|wy=n5Go-5~rA|_7[ns.sNvHb^Jl/V[Zg_g{߹}3}W_@[fHlH~CO`>lskqcz#eqg@=QYw۩Mﰣt94mGt$~!A+#@Xo $ Ÿ8HUQY̳=$W9_jֽ-dE?sm@tiyC:L<20m?SVù'"]Qi+-#1$-g"!^E8M~̂投!?zSoA?ca~"n.ʚCR@|SfAW4*ߙKE" H|'[c isσ qg,oV4E!|N ax%馺Ȱʠ6kÏ{+!0A|BUɁs ?;]) ڠv1#azIϚLtOm~S=d1$S|54tO;(N M."4D4YɁO0>EOC؈>-1Iz]+~Քh^M[  h зܭ;o0['Y8ZTO(D p!KgvFa\<)6 1wn/Jj\nN\{L8ݮahFİ}Xt!^1ۍ6LLx%ͼ.9iYH!c~[? <-Cp02rƙ-ՖfYUm׿rn6VRc?ͦp8t5ݻU`n p7q!143%C,M<|iw;2$skXSG mLZ͜q.lt`kw w4s?>ЧyéH~B6!BCl`lK*5Q7WճІ"ߑ-pq'ɸWFVb3F>$yᮚwWM,B8)T%n~e<`wߙN;ԋэ1ụ? tzY|ڭȃ`klܦI,k1zx˵Xt$|s>= K:ʕ"94U;&8cjro|r=:| k֎qkGd3ۚ0 6 )-rAI΢Ld> Ku[5cwKۈsm4ƺ4[`r/ov-k#+Q(K{~1WxCټYܮ6fܘP|Mz4V+2ٛDĦpB>%ck1X6WfU &l5jOihBxZ 2#i-;$Sdc]vڮL&h8n.hdކa3q~I(`=g C&p$SjKlZnk2t{niJn#q# S.zoYg~^ %=^a VFO߇G0TRwm\F(;ZɨFS4 #rPMUnȗjd_Puȁbs0פVм˛)jI>ܜ1!SƱ!%qv.oLQ02~q5 KXTRo?xa]hՒS ?z YBɒ%'2dk!T^!Ʃ+1a8 f_q{\\ @+}<dF@oOUYjє'T> YlW-iV=>OxW2^1)ƕsZb[AXޯl v"Xq@l7`3 WTuz._΍8{y};JEZ6rrq;W(ylʯg!`+2{鞷D|O/G O|.KD^]s^~5ΈyD隒 }s}K 1WI1N'.RČ\:kn/#oi?CK}eWe&<;=0,Oδ2ߌz=girj{14϶~0 =gvlɑ}ӳ#BqnFcN}^1 }3vΙ'LOCJA9jvz09ɼ2d:R]:8UT&#Bdk貌!^9wlaxukyAY/EAriyrOC+ӳ@)^gcs܉5N{\nZ$Н6 NoS:in|ĚI7 OzN;Ӡy6up n8t:ưao^@Ti_L?LBsVq٦Eth]uF9hRz:apA-ZDz>5Jj&Z)L D]}KlA5q.NG&{v>}V~O7nҙZ=P*dTT~&3 c妓Skl zarHøwL遼Ya_7N{qaON?荹®W3;'*7-#MŅO?Yiz]fmV;!Ԝ Ɔ2);y9dqIծ7vNV}9^h3äꝙ֩׺V1@WWD&h1Qe9RP3m~s8L QbOmX+\O=XtFh^7vu lz6Z<ͥ͘Қt gWDp" k߁iϠ Vl?ٱzȨ] ]1" *Ә?Uj>SÀ_帱<+&Tm"@U*uqCU]|~vjDktfnNNJ+:MSѰΦCs(VY4ru:vO8U(Awڙx-|H:j^DUzSVmp7AC V~:|,:,-0Yz =}~gr։M Cjs;/ˉQÝs& -XfXZ46nZ*yxausaA޽w¨\ ^XjKWˣ}m'Y诖/Ƨ y]Ģ ؎L{ lqwmZwB&_DäpBE(6pҫV8'Oٌbqu0ǂKD'b;1xPkiCSS}5 2i0pnf4t9(Pf!Ȼ )s1a̲K;Lǎ;AG>C6~\?:).ccon$[F%^y;/ڰ͆s)'f9БscL4 ye57ף_NIDY: cRDkޑX4}+:I=, &hY`98pԝZGCM).> ,g1 [݃E׍U0E~Hbn+&.{1 NJ^r([梩]t*MAjir 3au'aI5u>)>*=d$CWrY#oN,t2g8oPsuV|gNBlC͠#r^D_0>kC[W`>; |PãAYYx:C`1R?n͑5?\iG0wpKןnf㷹t0 _߿=_v(wl̿5w8Xʰ,|6yGy،Z ݵ>2;)H0G׺[CwOuH{.ԁ?;ar8I].z ^Puix-9^ax:\牢65NLrx/2RV!pqN݆> %0c>b)]4 fegr$D_g;,f h)ڨ9j󔕻dce>sɿ S5g' & w"Xƒ-rT'~NZ*,\|t,j[|-գW7:4ʜdv* 3$~GhaY?QB3('V:j²ݜ[>=5dZaΓ~rxgx*_LF`ZS~WFI(vH K 9ّ{!0)Nu~ࢼd!E:,8&K@wAXf-CzBӄ s7Q%ܓ T @t~̈́b%L Œך[di#*%X`U)LF3 kNE<< N+U*@Rښ"=?)% ?d2cik?ѲUpſzd7_|~k|,qu0lѵ[m ,mnS%>>ntR8ʳ&ϢAR%p]xDAhܛI5$I)߇嘭 ܮ]si D:]C$L[`fA6qɒf3}fO ?_@^bA1*$7S?Q5{ QQn,-\,Vk}Ƕ'l v&#s5] "z3x$C6v J쑷0/)(J6<$:]e"1IJD\h,7L}m)W{ۙv11cr@d,~hON.z= 4zΣ`Xʨ^Nӭ4pHrKSQ=Ow,8Q)~*B)/JMd*}hU03E,/rAڦjc ^lz:qrB ^ GZQߏxf2U̫8*t9]N BI?hdNvBy, x1_$+jbOMuYڹ-dZX¥!JEݡ˹hQTA#1Z6s3%_65STO\"ur\M&?(mȱ\řȜ\S'(aP$J72lR8,3tbcInϥs;m)$̞_e ,tǢWƸEdp%~ty2WU5 rTj(Bٯ{+c.g48pD]>5H {Hy)p$hⵏ/a եvU$W~hA TVB`Jjc~]KY`mݒ n_06e^k;%^#Nu]oVl>+Aat:y`H=zbG[Jj*?"( ɹJB&T$⹫bmH^VtH&G'! P.(-_%NH3#̙D'fX*%GPԭxp K-9cy$P[QuҴG|yԗMX r>Rҏ!IǑw8ǞT{:rGQm  ~[~Q(ؗV8R%.u e2RkB52ܔ$kӣGPtIrmkB]e\zour}u-T9]:ahxFhPG1D$td.HoT1j*eM^Ȉy&g/\d)OQ'Px:S}ȑ}e&XN[H3XYbŤmUcF ~~uy'p:]^T,M2]qLpv3y6T~Z9t>{@>uOu=ځo*ΓW/M/i3FI_-xd_3GxuIѦ撊m'jjF?j$Pԭ;R+TbUQ<+XqNicSCsDWA, *@4K2!I(BgbK>U̠khJ9$n[Gidj;:9V@MkU>jI}LpK1Ke!vq`!Dul?Uٚ^f<]x8bFlҚOiiHus-lV%?Q-l)~Y"un y| .e! 4_- #x:jkN_Ms0-F+ <ʬ?l>$ġsW_o->? ԄS4;+\u JFo# hp|nԁw;8(D!*襼'A 35j _:-sc wL vUU^=&J=sVwtS{ݤw3/S{տ~.(ս,LnM?ߓ3 4Du)]BDCj K~_sVh w!<69IJ7sv}"C=_vK|.EytrY%M]A;˰wzB$x<꺗͂'C]nM,M9]%bӺ^3҆`~`쨞gﴮ֥Uq~4kv%ƑΊ䫬&ߝĥNje \?NtQ+JT`Ά"[Zu?0U.m#< qu9_jzd8h =3瓨2&sbZogI8fKQ2*IT>5obQՁ O'௢a]Ŕ.$~&%-Xz3zَb> [.ul uEUoq7cR &/ RۿY=_&F3+0̵vy=2ߞ[̈w'.$Z4=.bͯl-ՙhFIMwVMjWmN+ȧj7oִLK2 '"٩B4Voߍ-w5e4s1%9,-V,s/r7j ]2[h턥3W.>|C=ych5 cې\-ԻִҖ2#ddwv2PAbYY@.;5t?ެfzNr8hO.W1îܤ|E elƬ|Ug2H{pOt$TdIs~Wa'-%v(qKJ"Cxki)qڏX 'W?N}Dr•;O)+Rrnx~eA _H~{OaFSWBth*,>+CS\._m}z0QIߗr)y%Q߷3csO9]7keI3_bf.f #tؤ_}rb3-; ſ3 rI֓3[\gPy _Wûyas_<@lQFt,9nKrQY"7=E1`F<3OOVM@X y=sN$=eYۏϟK'-PK+TdQHxxj/M=&'} %bK<ܙK?Hs\_Vz6g{졗Eb6VEU/-)9fCa]S81^S[,mǯsbpӒd>sfÚu>9@Opk /vD}0 !!*I,n2.yސF[d}RBΝ?40jW% n\*&ߚRiqQ RLTLL82rtm5 Ư1ڛ\)+ #[@x_ ݿ۠A݃0KXN9P Yb94X8B.'C@*eT !gbKN )F A7W0/tcI^w|C3)1S`IY=5­n UaNA C[d3䲯~ʑ7gɸu6;hq /+LABRyϮ`a2(//Q$Ak%R:Γ:VU$f6L ?H/vGx D~sh$VfJ]A')jH}!?.$vѸOy(׿^xƉ-D, gvzF.S!~|O6fJ~' +$1 DLa{nuUwgkߝ$us`l?O ~5;k ww^xp4- :Ǿk?}AF#3ith-s,j q}~ m+޾0exAϣ"Z:+hX#_~ FjI//,62 {Kܳu߇ h*sgmMp6 ܪ[$4 KYZK`;:Pxi K$$)4 A[Ӡc`X2wdSCopi`FXߟ]S#<:M*g[GVce5s'5pG}WԻ8+-TC-+Ŧ #\@p- k59e `Ss=R>õOZ4:'GH>elIru?ANΰ8I{r?\%OOLӱhIk] VI@n7;o] vW2*ngYX[Y|Y\~郼˶ݘS֯\Kz й ~Bi %ЕWq?fҵܞź(5 p~0#GN9Bb42J.*P:"*OiIq7FbF&.~[#'إk=GӦ?lR.IwtP/횜nMukp&n_9HK֎ HcPTYc_^ݏoNu$m_$JnڦQvBW24ܥgN ݲܨrpǶEaHnΊLn΋p'?P_!dNX=D =ߍol?<<κŀ?=yڟW#Y=Zzk-A4aQ%~6 ֏qPswm wb{ 7`Ylՠ̇#M 7c{^_CfjX MފD"Ie`eڸ.5:k} uwX*yޛ}ı#JO44#Tz>_ uHF(u¤lױMI0q&+vvtƶ۝@znlOq3Z(EJZ[xǎz8{F*7 Nq;bMOi\?Oһ&\+A~-,:萉.<qݠ3{mM9g$VjG]mo*CcyF]XS[9p{Ohُ+VczE3:n ۤIe5c%*\٬21٥r[≶\|mmb38W13NJ$@R)tyoÄ5oJb|^C`8&RQI5`r%9E" 9p%9s$)yџsHWŽ4$'\c,7-%ct|dZP nJqU{S98<(}7";:=I ft9J%wer7`KRy٥+zez³x,ܶLH=} {-`>4UcJ +zM"h&sBe_7UD|}F1@i O*)~ܪeǥF aYz!B?jܳD-ٻTG;ȄvpQw)ފG ˠuzch ) 4 Kd,I;(c9.Hb~nKb,4ӡǞwZc7 kM<]}4Nb]FF˝N&(O!f~@JTB=lA^Yj\g{Q %ZGw 6 0=}D%[s0i`Kcd >" =;hR,\#ɝ`=NÍ'~[|B6@m]= K̪~>oZ+CR$vt Iš|ZB)oU©Z{<0`ɬ[hMUi164ѥO:mg&A'NnDa>J+Z>|2k14TXI!SdР9u1^{PW>37"ϴ\=bx{}ڴCKRA{jH6'Cwm?x[ W:R2Չw Q݃r.9jVnCy8~9yGw璶BOT$Dp]dAǺr :ouxVю[ף A;%fNçqc8rnCQtw B+qVD@`dv)&݃qZL{O74V林9?~* qu2Ou I b5@C!Um;ErǗ+kMG0FyjBE؜A3n^FHk f}ᔺc^ (Qs0 cku۫z~8FdU;?v~RwpYi]{v1;w4/Q?Fh?&vg~L:\o&Ó:`#!sܲF=QdN3}?ajC;KW$:6MxyZ}_E n[(2h :,M3ﴎ02!쿷dǕ'r38B>,FP/?ph{8FAࡲp0\[j2=r+<&=vdstV|i08lUQ1;k`am Aۣ.NE&#RőL; 9GSj[d{%\u V%9$vRr{9D4}NcU3B]Z΄DE-; 9>ף*w %hKVJftx"*gC=`&2-ybc%/<5cԳ@yë=6e|9c}jQQƳ;JL-3QЋKCc~z FcҞ_BABNOB~t>0<]ʿfg ?IXeLY(5_c03[: aXByJz ģ _E3 p(Pe@ЏQ@Jdr0*Wt&0#DUK-6ä\%lRE$gE(Գk;! yT~j={ jđuŒΏi1IJ9xߴ ,);K 7w e{-f)e$9Jj{<^^Ysma{W!rfe2>7{8XVp`+46?O]0 Q3b~&r{w[j0Ә~C>\)L8 |>"[ׯ_H V-|bM"ڣq:x.۾F׏7^yzb<*߃ {kӬD+i\voh&HLiНL?ih_oXa+rBpXUE= &zg<4I>(?HvS %e}+6H|V05xXԷ&&y7'etC[-UuK=NeFq"rQ.2@M !?-'6XLRpyp]1"=Xpm5Vpz7EcF*,٫Jp(ep(UIY tP` uo19ԥJ zh/F~\ɾ^o (;`YzԯP% [1Va[ =. v bwGNZ˴M(ݛV'|*Oɡc\~uzu%R+gyk>(??ZTEɚz"4*먐fCԾNZ*>&z̮p{ `R.Q+HkXӶ ͤYY%a$iiR=WQ#wZҧK!p؞b {g> b9UrmLv!AGFWݍ膹8cc MX_V>D=cE9 o3:¤X*=M\쓚GeqFAVG3yN6-b*҉WɆӄ_ӀXW(3—@Tspɷ ?OSyh&ڪg(@(=ʃ{&8|+{>‹ITկS PӧW8OvY kLnZKˑWۙTf6LRNVB6 {X w+UൻG|#)=!䫹vuJf7طZ*l"d!;>n8ƁSg{ وKz\RHD#%VcFv<...K7`UeړX-!AR,z)b>(8E 0%[pL$"U~[uFOBWopyHӔI>[+z_@b )öt(0AZ2n5WWM!# i؏!9v<3}s:.;Ɛ);43j1| w>9cqDXO.,uΌQ=_ƱkΗP l#'}w{ȸT]ۧk|J']GE89gzZ+uա̭{vŨ~z9VJ\S:C=UƟSƊ͎{:J~l({Rȗ*WuDbbj$KNjVLu'8#tpRPQLr̼ۃwaQu3cdqBPuB]n;%TIׅʳO9`t7`RF~{C.5nt2u܇QNJ Ț^^| __iWҺ3&N.~Purnʆr ɵ]ug&4-&榎r1#}Ɠ<&nYM{gS M|>5Gt@=I;{qVuf?3KYo{ ^" aXP-5BǕQ<ÂCO8T,ѵ)ln9 f;7qd]WsҙycKn&Ͽ[K)R9Ɩ;wʛzT9,Sh2X@xPa'iE!hzuv\qr1LNժSU d:I)q5+r~jJS#^U'=3x+2U<*c\ سaIYРKY'i]R/g9^L\^xl&_%{]M], 2 ~)6ghRtb+N85hqodF wAC'{'|NFNA-SG(WE4 XX޳EO=bbbL''&6g=؇DLj[,do#ai}b6liA͉ "o<тaiW~'gpRG6▥GT"yd]<]k([a߉J) ̢ $|]?+MT;PGTjVSU 3n/# s߮ px6N&atcsҞFl%#d&fP z5mq0+>!N`K ӤVx ޱkr߻6UW¶C[1Y/3 K BJإ80y6%N'[hYl3Jd"I7%N$I6jNH.vT:$w-8ϚU 2B%1`\[Ar¡ĮtKu }dTuÌhF]k-d aȞ JTsn?:Ik)qz#V9+Kܴg:y Iɍ|[Ftꏴ}6l{yO[SN&M w3*]Ȅ qC =kQrw6FmK"\8d=Qu'-|g]|7 t-9[ְ}CeI oc(,y!vfzd Q%g8*9S@%OE F͢ғ!)\Y+kg6e% ],$7`n#>(e8 afW/c.!>M'ֵ@T ' ؝3L*>6a' ~i9'g{m~c$IP )0IdHC8 ۸kJ-EcqG0X#왊 NgXOG2+P-sX&]'tָEM9)<$ηO_/[cfMsq6T??R 6['me_C{0ޚkaɉ %/I7b3cD8za-XqБr~W#1E i A#SxL~4fԤ}_1Vb؉{قA|7rʻ1p^Fql+ -ux0Kd\xX!YW-ŜUck>у~;|GBaX\>oWwzU*7(9<=fUѢz8%eYR|_(y;#aݔ4x!V>,ȋui/H`D^ޑKc ?poF@%5`܏#Գ/4 YJϤfV ՜^?F`\ [kf kӭ쟓肛+9=,]'8uYsr+YJfڧn)C( >- x$Dep`~P7~8rBgs9ʵZ%,>khn!8<ܻM嬟CPCq8<+93154ۢn;vL ,/n3FV[5\3Ys$ŸވpV=iWF\\"S3jFxX>ߏx& a@ͽ*k[\eC*@"gpr">]^9hE'##PV0RG`_ZP#JV>2&]R\~q u=[ +]ʰnY >v vg3 rQ>+熊ŪVWHfm5;$<m,[74؇KG4IHiݿޖ9\Y,-;LZyЋbQ#U!Sz dMFfe) B#ȚNuKZ_l SFC߹"9w im)+r\D+]oyS[)zdjKAҞR@(u&fyQ"&gp Lj[U2Ulvoio8+$1y %g G_i6_X;h_b;؏3cz޲vhwXʾa"SŊ.yB2|YτĴBi~e~ 0Ohdਐ4FMmAC+Bo[Lއdȁ>ͼEhv阆d@D7VtgԘ֐a!>%U vcܝcL@_0l)vΞP'(<0qx{x kV{_ ~xh_]lD4ϷIPy<{8kv)@ϥ;Qc٤wc%>[,"\y#;*.{vb#Va{^@nC+DKgE,yZ8+0).IHǰv p0NN[Mњew3vhrTPc*8]P/r|wN4=r\>8 d; +eR~N@Ȅ׍XV.g8g1%̈́*+-g>N=F^'Y*iJٱuHFEپȸYu\qƷ|4Xcxmd51İxa`wй&t&E vR0`T"8H=0b`A|5?z 5`/DSLШ,!݀tIH2+CAUC"UE!O ~s R1^C(ʢ(zQ+-&Nf%Qtz@x4B%Dr;Maxq+"2c-'|]lMXzozOx>FM#6Z,gKw>@Xx:yAcpƨcqk/{F3E]vP*$g^;ǴԢJ+oյ SXj%"#"7UuS6xOx,!Pu_O?YB9$dn$W#/~>.#3!V8ņ}u??^ۏpm,h>܇c>guK.E-v6ow$No}Im׏O-nL' OI {~151 md!N#]7x(y)mETL.P@~Ēdb|mA5V m[zByNtKi&!M=ˋ{ fJj0c7I4{C}XÖddc,2Ƭ")&m@\,tY0bݱB U`x~*KW^ki`zlUlXX=ȵd!ؽx(֕i9@/H&BʲCzۡ#z1q~{+v%3G*1B&קeA(nduEԦ14ӭlwKs8UϟZwȏzS ؤX88"ӏg.1JII6򗥑-I1O)?~oqRmēlؗ#u}#n#Je@^EM4Id:2ut3[p,Bܱ`"W xݤݯ=.iQ')f':E 'N43\RdIo{%+# 55p!9LVkC *{!%T{XBP"6+ # &$`qWRIu D'!?uGR)au`uTW|(;QR 3"YhN3(Hz$(Z[TmDC4vN$tt^ ZDIq_<$LI?||܍=brN4FGGHG:+ ?)݊R痰u>ݬNI ȉpRL.ba"uAj0nq :`oC^hyjF{L<JʝLsaOt)8SgXٿ.dBn>NvM:@G$D UYh^lI7!Q&bw<=@ +FP7 IMkPڅ a*RK)0qזcMk2dNљruX܅n/j/Et''o4N `e:LpP&4#+đ0 6 Zo/.gXE>?SU΃Ċv(#(q=iRvK.ȱl}j+u Yk&jE$b׹tl^2DQ戧C-Fqjr+^ГͤeT5Ѣs 0"` cYs*c~h%/a;h Q]F[҉X(V$SJd̝@H |좙 ^` ؗe . Vn+ͨ DP" S#2#ƩŽA?{dA>C͖`E{Nz|&R᠕Ag2%KYϫy kBVswPVDbꐮsKj"^+d9\#;Q9 lha>WIMQB2kr8\}ڗRplE ueY'Ir1xr6k6i$䒾g 0yJ+IW\ wp:W>@?n,mяH$vHp͘KߓL_W)$YiXi;NؚT(;QdRX7"m\a'V](U{icA7i'-Tm4ƕUQ):mn$G~uT!Xߊ%" 4rzUQ [5~W3\^ F/2EOgT,*Sb"urQIJBZU~).M3qO\/jNz>VŜQEz>˙HcTEu~LQ3@E񜧗ɆmWj8iuEo*75 kZN6kM)*Ʉ3SdBHԓ1؂*뾄Z+xhs~.J<\5.Mãyit_fk7d5eQ#Z.Yo?|{)/G^B/VWY~_|*q3=cyR?FR`'/&(5Mt e6FjQ.?]t5j,ހ} į)Uv=\үM{$^v*L|2ιI'g%5Tr]Qd /.[BL  cXYjejhEUz~\%K4ӲFNƮӭU&1fTK >;YtmrXbG0KfpU/|)(?:xU'Ō++ ?\hP3hH_b`\ cdj],.^]>^:n$6:k~.M=c%YѵQY;o>lhT/<ѬΌjE`o.Njox0=53:oxqR Y! y#,\k,?Sq~-!~//o|Vѣo_@GiNNӝrn8^uO#pyژr=-<70\;mo>ʉd c4 & -6c~Y"/WdQVM__7w~;QO:1j\f|J|=68_j% /Ux5ײ$}OqE/瓼{8|_KT";HX]WVD> p" Q p <5եsx7 ihg0q#o/dۋ3+4?l/y u/*&(66R5[@fVť;=<[-.w^DtP_yS"hDC7a}e9ڥWC{Ck=ffV;cl~Yn2[h Y*y`H;sG"%_MEu,VՂ+u|0c[ )I!gع'*tNrZug'>\lO-'ërYP`\K'pGhl)*q$=p?M~ ʶbߔs> <_^ Eٕe0E?3pkLcb|3 W %o'|I']ɗOl3LJUˮfa=y siFOxj={f.おYFd7QP كOI߅uC /_XNxtڼ|=~nHZ7>MALbV4ԉ}qǶ>3bՠ逅K$NBI. 4W@P 5 RO_;w#.x}+''wٕflL-v:dNa=  C9 S@GUلX\F2S_VX%܂l{fEp@:߉ozԚ9ďhp3I-an)P4Kt9e s4tsjTYn2 LBLD{2 _sޖH(Oo;^R} lmTR w YnPVN#bl&)d&8\EJ_X{d!S[rxl| `],/c^ Mokt>>?_+ҨAX_~So_][XB5M@/- A)ۋ%qY~a S hI,;z 8XX8\TeN )4ETi~h P8֨K}llzƸ%Ά >4m]3m"״QJ8+ '"O,Uߤי|Yp̆b+#nD& 5v~0`%J`d0~Y '<_[)l%G( Iڲ Tt"I$325d(~@""/Qw 2FK? S_sÊ |? @r;A֐PGuڒ2rmn:GR]&9lo9|Wg0"/#a|l$b't,r8]#(8x6ka"]( 'ٰb EU,bUcc[#Sە|H<-K#  %/%ъ]-~.Jq[Eb(b3# P[oU 󉩤@Ř63/PW_J*Ca3BfC0FkX"? RQak-DFMȊ # L)`i$KWtj`iwxCXExnwZ,^.V^~Qn\i\xFZ;ZH2_cU4Y)j3_S@]gY'YF[E+9 0dX/Qǖ gVHc,mu"v~Y|2\_^,@aj/v|/&s`WƸ]ۂt̃,^{Ǩ!菈e,|Mn$^Ta$" 3ɦ$-%g8\O >Լq0RD#6UJ=sn Ғu4'v,q8 'XO85'j$ jOy,D)'0^@Z9f(Pi&#$5 {[ma 2LRH- y{)U1(pɛ!mȾs[rR&6\fQkɫ1lDF;h[chdK)l%<2 vhe5u:TȇFelT]Rf =/66WL"sԖ(*R6UٍZr2!M 0<>Xs(%7&k9xX/uR:A-lDt75Oـ iV c 3Ѯo ~>{b3PsxU]X*x’ԃ/%!T37B<C87ďz.&SA8l`..z,N,s&C7,kQv$lvb I|QigGn3 0NB6 b B TUT¨ /J ,H &?1j [ޓF6@0.hE:- ZiqtWN'nx)l g?C 8 d"2ou_s"Ϯ3itiy n୻o nx_CG5GGߋ#Ej,ѧ֮;GƛlyqpA>!,G/igb阾_]ugcf<4VcǴMݔ' ̥WLCDģX8UpP"[:W,lTVLi?5=kӈF䉦 OY5}h%0/ q~b~ϻ  {iSkP_؀fsq8k tf|KϠHrrT Ǐc8;eCnEx *$scnG2=3!5n?VX; cdYa9S>ٮXs: ~DQD:Y۽st !}W?]qhK`bj E2ˆQ i1ix_\{aƶҗQ E{.Me"z4=޺=+y )dBnPC#yA-c!ǰN{P)* ?.G#E UW%!M~f)8k1q g)Knuq"i&j ߬i۳/*b`y2#Żc:Ӌ`V_gF}dy~V-FFl-W{" G>|8{ȑWTA[A|yr`__*JGGW;.g6kv]3P K, q muccBɕhaӸfV IL'QHՔ9B30Day"+@"PhP^:=Z) W+JqZRW׋[a^ (/Ŋn#1rMyW-%y,(cm l:[mG%b&CL{#rʙIJ$\L^+uDP :KY~_YIHiVʾPG%̺۬j3˲xWJ15Դ&Ⱦ*z5ir4CެDMۘN U1\YH@5ne-`+/`ި۬zףW#ǖ;}QjMcX"ɛVwբ<8_s~>=|#X^T VQkt^!!`,hiTgZS'g{YDk>ZyŏI>w!Һ0%9sfJ, M_kkb6WYh5X&leUu|G?ɾX}~`wWuf>Wٻp؍5!ѵL |n5#ee6֭ K M!W_W͋G_g@ߗ 7Cl[rvYhW{yQM/fe xm3WHSJD!5O*Ye(/%1U$E X<3_+yZx! _*0qk#8R 2坙 zWPG0*xr]¾&p%Cnx+||QVq#q=Z-y%bHr (<+/[%֙C8!*ԔKA`MhԹ(s QAvf[w8x;~C-kĘ7;(<[M>Gh;C7@' })؞ A+D4^R9b$1jSٯ2*x8e4Ne~8?D O" yZ)y _ f 2gX&k׀"bRt*mM*iV]5ͺx6ײ؀+1t;hs[3)bQD謚-q-()5L L]Pv>*ښT*@Zw"8N`㛑/tO<5EuQ0Lح01qT1c'ט1R}]^zl>8Dh9 [99ѴEKkJu13z @ ҽ O"0PWL$%f,MՒ7á>lY)^}G\ "(ff$P(!Q?35eq 9-:m ,EGS:ơp!13r# lЩ=)Վ7qRN zw.<*˻ E@R2\ٺ=OtT}0OB%U;.+QXnX`BNej Vzp+CaC_ل@"ŽaЄX&_Az\Em,գ䥉ےkjlAnX Igջj+|(!Hp%ȃs%2*6VWh 5(m{n6=l3QWĤz>̏iCe|*l'-GC|go ۃjG_WMs>ӱy߿)CJ^=L V1ڛNWq :45/a# Zg9lA f1MגR$uX/mE~*Iʖ`zuMHЛr_Bt=5k\Xw/U(pҿ-dk[y%p[UX(r:N"V05@EMurmRpZC:ZVSh_~)jN,xL Zz*.01Ȩ\',Db װ0Mq楊c&E6`5hz*Q]fW)IU*hJ)YR:Voبamɚg Z@XAI 8cuFz%˹jPvYQ6k83]BE Ŧ@p"xZcS@ËV(jR[kaaUި$v'q`"%ko*cFOkN—&vUEX)I0k)U|`U&n)KCb KJζ o h_#,t )*wqak#Cq 2@nr )hj]Jukt''SWËZxP&`.s[վH4oJ#놄㭵"Ő ңJHe6,0]rpQcԬy'$fA#>y]z[Fu+5Y煳v,KAm15_T\IY\9* ukX$-EON},TytɥsUFAɥ*xeOѥx3bK=vGPVh5(DlW5f嗪\LlV"LrTu< J\PwU1yvfT98zէ 0V;k3.M9)"p+<-Wj2~J~mb`9sPgUC^E @pMy.zM]# ĥ\8b[ϠlNki:zItM's}_Ήe0 ]H+F*d;s3Wu ".XoqR4rF %)Cx.FE} +r<ٲ*Ns^.OPL /5L; M^TЉ-e=iB5 QQ^7p2}6k8t%1Z7@;K7{sM z'AT~1{ҵOJ. AS{[V ^`Sg8>$AQLE>@qP=7v^ NV U9!E6# )7Rz4A|@Amf O:SѶڐ U9pR-VXmLPzW~cTEioFQ,SΖyh]S?|@)(2)*騦sv֑-M-\)"&E'7ţIYk<bGF_:hm(zO6UUrZ֕|`wc$aW*z5~%(0U5*0q;ϮhCGRz&AmaTIN픂Jdw֒ )kqT?ͧJ4o)*/y2Lzfn`)]>cW*HSf!'$L0)fÒ,r)MO8ȈȔO2Ձ(.mP[*&--W[TQ$X YVXMBQPʲDA-)ɩ/?}`zG(DΦۥ[hԤf-%ÒQl"$˱=;+ӯ7R?4(>ad&rKROWtѸIP 1{Z[%V. E|))(UdFMP\LJ=EH%4_BcJ)OL<J5xON{(?cCޚ?<6ZO`@Ŧ 'łӮ€H=?%(_o~Ӌ|U|yX4G|pG .4Mw*YLrC3d׽@!%.%H9ȭD/NtA5'pmԻ!H1%:ďL[8*! Z2SP L3tރAm7/A&AoM:dMt}ZCRL.)4#U0Ϛh!Kq]s͆`0-3-wV;P ~\]z;J d4F^ W*0yޔaX9$y-]j=BAp/>eރK-ˇ- `KMaK Kc,Q6%A޻\=8Fy^FH#?T=kZUx_sǃG_J>V~6}AXgy61@_V!Knzrk_xL񓱘tSΰWB |}lm#ExSۅȯ, ˉ M@SY%x!wW" rzˊt^Uń2-?B.a]^'E%J|[{"FO@xr#pi3[\鑒@sY-.S-l\P|a:Y \]; ޢ1*֏,j[ \~HAX)n,-Ԫ (-d> Efߗ1J\MX?mMgbt!b5X0 s PRw=M#jK)ۍ2Ϧ%P M˧9u] rs.ngdF'ŵ %|Sbiw)r ĖS}$E?0"tYKPc:=CaH1`p\hN ء ,\O DWH.\ D!HJިyOIlVh[ڋzp*r6MzVfv]^R_IwlǰU+͐NK-`ηbp;^]=+uihث), )?ه-4хZg[ʭVιrteuSn&x/-rBEz{wa^2B}ff0b ebkDTtrA=+U "-M"{ݥ*C[xQwº6Jizױ%]`z\=gJIWˌE6Z)d \n:{hYSrY2]= pI{ŴVZ`-{1pKM!h&+yoSb#r̝N⴬ZZ6q+4a=u6o{@8K@9 E*wHڕv"ϩqx-"`|;fb̯+\0pu't+")ԖZUO:מeq>--J,bx ˜mEms"_['wߓRkT !Ӓ R' F%~,L-;qKCm|}ܺ] {AGl -kgVr/qNKyUۥ#gFyCݴwJ.MJ/iWKРɬGbS8K RL&,s1 KrpXi[Ch%L^B)"@XE*fA *((Pe ǒ)D(m fD]&;c^kamBR~i>2=%>H؏ OZxː'(CN5hW5:MfmkLcfLa1#D@̱X;rC14TE.z{ɬZ *#1TPYF?˅0cŪC'WxC@DlZ˄^hBHA.l!Ϯts:$=*meJ5OJfZ0Hj i'YK> \RKA$^Ѻ[1GӑHPcV!Bٞ~z u&9~ƁXS?=$DsPDjtn!%vHPA=`Tq,{Bm#vn=m-g؎~Tzb1h0а~"1짠U0Tp82DBc&dǁk 26*O6DO\,62KODDDC)w3 fT}5FiZX%~ᣗRN[PHo 5. ',!, Q L#Rݥ3u: ]*h!tۃ}1NvGr|ÐfL-źI @aaCu|:d6Ro8or Ǻa'vmKRȀSS5r28J [\Ϊ&voד/<\+$UX.W<tL3ORKE|AJf.?8j 9(az9$%VΩ+J.ȿmc`RN#EB߈&2Shrb4B!(" q,C g^dp#F$S$2K?wpR#R!pJJĄe$x4 +ytqhxAA5M2TVgLL|:>Ɇ=pv)#\ܿ$$z-]= V%'Ɏ%cd~ʝUmه79qZϏQY:,Q8tma"tjA<.B&N"ZnF2hK-C>襈 )N\'㣤<(O{;PJGGYMIJņ;}!zrc16"b%^2'SNI݃`$]Eۗ5邨UqxHؓ>PlkkS#&dWq[p;5"ҡt7|+7t qҬ֝BU#9xҰd&Ys_mSK=!)vO{^R[}2 lwީi[s#w/ϜrB}ErߑԽTߚlf6vb(2mkcZҫN:>>ڋdwe7Yhr?Gv-Db%WSHx3SDHT!.$T`$F=DXI5*(#Z<Fm+OGO*"6? JVv&R.^~ uI]-?ֺGյ=5i}%FB.c{Hl}^4m,q_A oaliSe=Oo$#p,%5>ۧ@$WvF}ed݉xVGAo_B2vu^Z!VM #nZ2KgoQհ<-8Aż3o^KQ[, cM]5+M6XE;$/WG:/1űP6Ă#K,sC߀EXma<ڭ/JQӤ` rUO]}7EVh.UN[gZKDWd'nT$4!;K߾o +gf;H#㍳;$Qm)ZB <PaqzҖۓt_qĻ!y"Jbk J"7V˕qТh"-%TiL$ N2ZLo!ŴnRJD{\ µb$w>lV@La2J4[nwDǏ_T=?]niOAv#|O.u\5?ȋyOp&I,. Y|qeoLas]EiBٜ~,%~<ֳU]Τu؟ͫ|."i^K{:<2xzw$4MuӂOܖ/,{. *,J^CN̷3w .Pc,Uʻ~\uu\A6}ETTwZ>1 0&k|gs'ו3]϶~IY%'&mO̜Q]wxs&f-=Ud帘*+RiI\Ftȯ-\g,k±Y., 4 Qh0O@}i& 5N $};(%.=)mW=EnꚆ}{yX-s{uoi]Q]9-U$WQ XeZ(m(l$.OMo2KTu~KD c>M',jF_- Ecұ貸XDwդF}W[*𫨪(5ih'AXp]]4P$z⃪-QjЪǤ5Bs6gbNdzK2-BAzEV{VPu_p|^MWd'04EQ^:5ՠe ~26hʱ{aZѼUv˱8|=7 ݸ%`BqSQ&bT't1/d(U7J%2+94sMٱzʂ%L hS]_LcHW Lގ\T@jf'__eEAJn̈́U+RwJƅD:ZͶ oa(wx\!7mYnZTѴQ|ctهEr2.iS3^970 1ON)9 V؎M|eF^Qg]h֞(dQ-2^=VP]}=u5{ui7x)oL*75Ñ'j`ٯ,噳y; YR LW^fV JMKɲL٪#9x[h)][-)uL/ŅY QRupIidY 3-eWF[6V-#V[D;D-V6Ӏַ [H~% :E6͍TPt.jU\ 7(A~Do.(2ʠO֥0^]y7CZdH&5o%*L< &?dQ, ;6R7~c`;}F_ ofK- c#@J.r8{g3eA|mBy]^]La "SU=q'wiV`rQ-;97.^n2zt#?d ֔>~o:hswi(rjd. SsYL:H!yX{_ϵĉi N'wG[wcߡe7(VRɅɳǑ<#Ŀ*gyD-w x1mOa0*">`0Rn9NZqOĴ ƕ'8*GqN|\ё#r .2^ Ģwb̅;&?_r4X _H(|^\=R'+?]9X5# ;OLk[G=hOwzyׇ>ZYo4?E(`&׆?1>l5Q󁃾 9#g/1D=)O?GM ;Ka,ͦQN>D\<XMoiE$yϮB̍ N|Lb)K\)b]Tj^J]KN || B$</;1Ț$=x{xԓ8Ys!=wAU]/vjyݿ[_Eΰğ^?% w !V5Bo}ڵfE~#v*\Y/R Q#")'4-P!ʦB2Dj,]Lt$Z1X>9J0K<rt;DzPoaKRH ~K g+]Ĵ>qOLS #@3t4 I}BQ 0.:҆q9wa#t瑖0~agIx.QoK|#yj- }(@%2l7۽nۏ`%5ŐFXS V)~m xK׳|,g >C-H_*̼uۀ\j}IG>B@`l\V6Lָk[qc=1%, PI l .^JR3 be7̰__rkXBm06h%o&;`Ǎ׾.&< {f\,uyjD?SI.?. 3$5~M{ymQfk q|?t\חK΍VR!A #zyU}fn9ýtg/I)>$J,Gpl Z2Cx)31(^ J8p^5LfƄ-<{pӰ+52OAo Г w"fUV5T&^+4I .l&9`;ҳ{@ڽy>Z}yaciUųţ..:0RqQ-xSuËu sfaҽ'+?qtf\^ʷ,!tfK3eЬGϽ+gr6{]L7AU ol f5@g\Wi :_T-=lTkM"p[H|sELqi6,/5"G|a bSAJX,  dt0l֘!# ۰/&[$FF &1n//! V\mc~70dI.+h5f pFhS,_]lo'Y d#(ypXFdOe duX %J!֜^1򮄧O+Vȴ102 L>t o eV3F}2Z8sR\P015`79{0{W'e&qBVv4aPlrq}/b &“BXهyuF@LzJ=!(b-abWiH6Cz_*WuUξ-5܈g-8ĉ)|ׇb3瑤@^fUfUPe>[ {Bk&l%kiZL[˒ 299wɓMh햂9oX` W(eH+$tBâM`t H ՈOhdN)T0l[/ƅР9_Y)ϺǰGK~~ ~Ȧ55[KUx>9K,e^3ɫ zpxtjv՗M@`u/R On,x ]ƸP]rM~iSIwXæ>| w#Ďڍ96r. t.;Gve( 䁄F `؄ba$;!Kaw႘W26 w,R@~Xg1Ж1xMֻjR_Apx6mݣwNa~Dq%affy_ϗYYa/$HrkE y{Q] t]Yh " bw={̋:WE @;8@pޔVm$V'x1Dі K 8/*#g+Z{;V\ ]ʆ[z>,zjyJ6ʆ>2'82XP`G϶c̟%a:bS|ZF- $՘p&1Ĝ3Ibd`O"*>vdjk5T_j<匎ǣ4|  {J嬸9$8bmY1[uX}E0 KrhF;p 텅La Sppo!֣a`ڗUYĸ!xcIG7 9W&&IP dIJ 1-071 -Cct^W Čjl #BD"OѺAA7`hƳf1 (-$ޅ2_<WEyw) (Њ߸WY;8Cv6ƻ0(eld+kek)&- [.E9o-zT .6'ؼد#T ]bL @WK;LZd[[;rY})mfgey~n)UGc!HodEþ1>) (6XbGc\G ѮᏭ=xb V2B+@Vc܊Յv$){(WVPW< EQoWbaV^9!KU°/Vq mNEMz).#PAI\8KT@Q"?Z1LE݊+FQ ħ_Pk͎0q[&-\,WyomDߌ]6A+oG;B=$,ig[9&1|N#XIox>wTAw.~܉`Of?.ÏSsSPlP"L$B\G g@*?ACxḣW"̄G%@gחeAe+̰ \*[ kҙ5|ZgQe6)6^VW  {ֶZiUЊic5!T.p80fP$;A㧫,_FǚQ40fo%lz0 |[GsyX̨lĊK5&"2ϔ~Xİ8ڷ 'f =Ikv [yieEÖY2ΆUS'sY24`vqn yMVӀTzmc#Zc 3 ^W(K#X1a@R򑭋%*{$VؑWx_;[dr ƪД(?I Xxݥ6%R+ %ъP&ʩ`O0na jLD2kb&tJprɿzxs :Z˖d1ٗx/ð:E!]%*_dA] Bye^ofw X4ʇ|w>dx۲$Rإ` 6?v&,p,`Q$eS}- Fa',G=)+Y)(Ϫق F,T" 0*#yw"U^wt l*JƯ!=>>)3[G,g4^lvSDA>*0RQS U8hJS0rn(mQ"D4ªd->X@3t`+b/nt Xpxa+/PXb DfJX&-#$OX`XA |΃Xd #hOaY.6ԦWpdPBuUJ-%g(/P*=0V+t!Ej8#'ʙu5rQdk-v}36I⒦'tr=Oy&0-:!mR]/ma2G q]DbSnhR@Jư0Oep]^g*\x3^MV]ʵo0 Z9.bFk>J'4P>P<W7ƅZS)#lą Mȡ[xad]["ל1.? `.l/17-[ʬ(tرĂ/{P˯FqPbZ^"HcY`:N`Ypy`D#(M)dAl2ĬRsGe1߫< upgƮԟGHb7 -#4 1Hi^H"/0,B^5b2߬ˋ|'5 sZPtS_[A̛h'П:t >j+3ӈT>I؟(aq,6t%K*dWWkC毖Gh l ^J>%VO.j?q+s=#EM.Gx{:񹃟.>x܉!$Ma&8"-}hi.HQGp 񡶧h?P=ItIwtzv1&ҩoT% Ő~?b{)f1OIHdHѧ!:<2 mz"Jr7 E9$[BH74f5kL;#E]Gkk[}"Gݗ6 HxykXҌSqL+pwY3Ӛ\E"`Bj1F;mƣS |% Z`f'WSy˄7MzviqS%+z!lslra*WR{, ~%jV N}t$ݙl2"B,'g1v=Om4DC?p2]G!\087AO y~P KQkeبmhR|/J2I8fZJ[QnԌRO Zd.3eY ը'"l_=rTn|'}&^O#ߐJ-{"Y}ȍcW:V'EeJ ;8vB!;>=bŮX=xbO?O#j.aqv~wPK9(4"v%wvnsR*>>OQ{2?!<;YJη>vp& {tHp5!̌<')gPߡF21 Q!NNڄw zS*TStP`WL2ZS.#˅Sw!ʊCrY'1jHDԝ>Z- JPbz Od7#iJevbє$Ł(o~cGE:t k)\5Z-hB ! !|X]4%LGe*:LK/<YJ.TE=)޴|3ћ&}|+"ʜɍ~?8]D+hAkix}L*$(-d2;.=w;J v\4&j#԰?j$Q iK) %~zJ閬('&|OkDA̷~T/UQ ຒW5*PdN.XIf|?\碦}6R D xl)k!֐askh\*/¬}P$ kUʅ8CQQQg\*Q"'ݳ3ܩ8=\bWaX qsFoI5=K&!m Ges Acq&/S!m{z%qw\ x{PWѦ ";Q]<h-%Y#3:x1R@>K '^%Me߮W8Omy f=աD3E=<3(W I$\8M%@b_l59}iɺ*;BCwO$ȗIYw y?Y}i x:~Tv^3xaьy}]=KEg:.5_*%?0٭ nꮶ#*spCгb_M2Q<'1Pq-[lMCifB.SJ {W"hΏRWVl55P᝱$'W=-HDsPx>(An{#bq^ws 뛓%,Qb4qG]m<']гpbmYܥH, 22 LDjw[FF1EO"e"5ܙH+\0n~%T$سaRj7k/YVnH}%{B:ؿqGzP{ ;1vSl8Wݨ :jdQf3QŲ9 DN*)ZhGӈ6wš!?n91*cS׻p=tF5 fo]wԿz %M'Ϡn%LHW0GP2ju XǕ/G6es\*-]\w¯k}4-xSUՐm@7R%ho/wt]۰=^ ɥd)c5'/IM {BYQU9gJq{rs[b2I74=VB2~<,9ܼ% 7Kfn,*yܤ\b 1 LOM>T^_yS|S [}j"[jssqg:r(AXv+][tf3U F^h]E}_xEu]9*_a|J{߂;j37_7emrA(Ri VoβmM/ʼnZur?riO*K"ZjtpM5`ȲETR=CǙ./hكEvQ ]ޓK`cWa{1̨g=^W[+ oe-ITE lfxbuůx4Ov5_]f ^0iSD;FK.`u0 eZbv^!(-h`rH1X IhW@<^1 u`R\x.x"W@ܟ?^q;O\qǃz]L% erfޮhc} HW@DlLsSy""vMxz1EH+R{B >^xĮ?^Q|>^f  D :ƺ+ X6 ߲0=W@x :wnzbRXjW@45 `qd~W@4`+ TW@x;[H7xğ_/sC?xEĦusF򞇢;t)mdh'|(x;xv\̱+>ϴG~$Jj{oAӄ$?1~?vyӧi ]?vFQGI=FK۝p&D}"3(=BT`I9#e҇nxQ<#e+LEI^5IVY.Ԙ{lR0q4ɜ[0gʂCAKUBUdu-۱w&qOhl}1ð5K@Pl- ZƷX&W#È{?5*x%e}jO"5)fXBH mU.l# G5@Yw=DX?EaH>3_"'z$>k]}}Ӏ>&_;hQg,;ETD>$v]CO u,xՠ~KٿJܿIC;HAEdVSZX9'zҀisLn Vϼ+YSv" u3Lp"u!PcR~ kە.FeoTpEDߌ-M^ynEEH|DIڰjri; t5tT^q7σ” +<s~證|Mtfx5G|^6VeSY.A|z^X(pO=h@V} vw|qHWJYs[]$Z=/HtMؙ6rLP2rC[ ) .}X$9Uɚ*#/I% ,\8d!4c'rDT`+T+. RE*yrA\p/JY"YqڊBv"MUO dT2kMכ[u{݈"HMq-޿"YpSM/Zuf)s=kIahaQ]fezvKj߳u)H(p83tQq,J7gu6Pjx&12A$|+ NE?őacfC,Kak)b뵈"mʨ.gӉU۷)aܲHJhV7kf|U<ǰ;k޼?틥zokսqB&"נn 쥲r+ r$Nrӓ8asv`k;D>]{saY6>6%=%b곩hVD(됐wŽTڤ#Q58ui_{v%&zVG9X$,"XjpL&n\fLƅ^k6눱g])v$}OLV W, 4鸆ajWIW2!(~{/AIM3CXDeVՔVg'>)%+]6UnC+:C+NTeNM-B{H.=#1Ҭ-JX\ij< N{+D@j?3*eGSƫ@Ca%Fy*҈؆nVT*TTʚO3$c^EQ9u'W%A;.|W`U<_<ک&w%`M!]ls!t4WSXzܧ EZӽ W*yW^^׿E9PǑP D8u c(dz4l"]4uĸ&5P Ӳ*lV5}ے5>]Wd\D6q-pVM8JejM((Ĥr#Nv (ބ:䎭`ٷ5mE&JHlהϿDAj<M8J/gjS"4YjTaFK2&O@󤨊;"cZ1Ԥ P;}; a!A.=hЌqBD¦Bq4EM %UGAщ+n:tNI@_Sr)x\ݴc v?dW/ku9יu'iƏ;?Kuv/ LW V% \paSŢ{m~iOǛic WE6U5+e6ۚzO$I++~6 V[U~an+*iE>D<;/yn1?!n5#zVX])Offªw $~[d:$uztf \VyUfJQ{.˅!]o*%'[Ԭ^rvA6vcklt='ʰ'{\s\ZwLKZ1+9Þu8+9f%p\y}V]m7N WQW\t'ˆE#VQ. W?b3*1_ JQ%WYᡣЯ*E2?g^|խ U]}T4?%jZ Q0b١ k>I]5 Z,H c͇HfA#E4c 峺.?s!~d8Y7=U0ņ$X/2?J&U>vv͍^\1_B̜6օnSìrR@T}e.%_M}}^dcD͞Ojm-,GP' us^%7erQ܂b8ϨMকq7LUebx`:Y=>6bGGjJ.jʯ&Ť/ ! 5;9ennXn_Y^)k7)?ir ( H(2Kn9,L]AdxmnfCFP`Lqi83:OTxQ}(b, ?XUW,ipX>OX{g|_,gnE"v]v F탿[[A)Cfy |ĺr f aiQR Ie܈HŽEVI0v~n<RhS-|1$t_YL!1[WΒc,Lύ*v&CSv#= ;棒Ü4tcK3l"cl!eQ=:%EK}0,W"R+:՝o|fF˕]X}?K1)M ~듉u.m0MWkByގ }x'P;g>\q:羝k1j(]n3/Ǿ3?C;>ƟBʸCao[Xn \]fUCF!r)(NX W/S&"XBʍ=U>1ֆ,YSL+J;)loi^pG}^ȍ {ȄZfME>+g=uvnLenc=3lg|QӤ|yg7ݒ>>s\1`3n;mW, Bc3Δ.ps%O<+y\XKzFWDi}<㲹H8(+c>Zr^1?nkбB )dQWl$`2@x '.8KOaMƛ-|myZzV:) }+8s&Fp4Qؤm[8p 6R;$Xd,7E)+:Y^NȓTO)bk j1_i DԸObp]򐇜<ǟX Ҝe3crxoحp`Vp]X XcT'&Ҧgfpԁ$"})ˣS%~4! FG';4dD~y߫dX< ,/X^9I҂f#O1?A#%f !١?Pߟ^y嵄qųgLZ;X[Acyg#m"4,DVCu|1fIHIq#>&u r.{ɳCq,- U2"_ gVo :}X!Eb}4˔׷΂@އ)0:6?cZ,c:.~MQ7-0?  4=r$:Qm宠e?7o] O|c婜V&%:~bR=2⽾$|D<*YDI9~E yGۗc-N~TcI.]AYf XY);pO^.F/^+s)y[bڽ^0 ѧ(P6>HK*ZyzHs0,鹎$AkLh!D׋U8i%>=yXy5{B*ECC ᾂjBFڒ?F2 U;k,x qH:03O{/#8+rgVt3#! }r &@r?w7 A VM ]-<ڳlRW&D. 5Г"J-X/w=rvi+θX4w-kPv'B~z,P;x1, 4 DzXD c!Q (6Ī׮¬_#*5Y):ɯvd8ognc?:洞5=ajb1 .#E)KW,ў9_)~LNѧ$aH{b}{$g BarIƒS &"iz:;I"št8PW}nt72Xb{d@zB~.bxȱw"WO&%>Ꮠ&Ў8$ս B$6t;֡ L)8}6X^[ B왂ys1~FDSti$?lP`/A8R! 0花ʨBCLgz"miɞwu@3R!Vը[O]7np)}tj/8edc3=(JαmEH}ٗ杚[wiUFDNO9QS  }.*ATheţR&,y=,@٫7GgVRG|# stÃYֹrxyLD͒]C$e]WH|PY^ G͝zFsnLJ=q#b\&Rl[s3?ɰ]dDNL\Cjuj~ *{g'7sj3򷂳obđ .*mw&Γ<$dNG VY-ʺA}H7k"uk`kԗjVƷ67_QK`bQind "L.F@F(b>y*ċrUg55ok:=%"R6WhOUJ=С{2؄`]ejr#CMN=kkCىrPmTP{):-@ 1Q5 걲9R_Q |sS>u2*ND'[h1;Xꯦɐ=zU!`k*ٛK :@fP\.z˽qnu,E8݉}*DOrQEg%ㄮlc7wʴ0򉺃T(u%]AÿU--?ި00]/2Fj\D,b"!~T;M2?ۻ|7+r#&71 KٜF'^d8rJRM! SWvؽEŻ7"aXnZ5_Jp[WWR0$rR.>yT "҄rl W5;]&\:V 5{ֵA\ݜp7.ύ6qeQ|̳R餚`L!`f{{##;ytQ!Д)8u#E\Vq:S5"'ꖱL Dn$ɓ-[W*}Er+CRV'kJj7HCW˷$$X$,՘vSO:SME2BW=Hܩ i-kSA(w0U#;xձu҂*.H'=sW.E DdHfc&}]{( {v r]b.*W NPO.y5- )#8(KjۗZ@HU%͢rHCqe!Lj\/Sa$UC?ɻiT./HPe[LގC泉 'UoOڭ6)蟷HDśȕWR[tͷ _Tכ9컘.JKA3+ڽU" Z'r<6EYs5a|nM%0%6GC0 Z7HcBM׍Gbk-Ğ2]'\ `d\59+g}X?gA~A-C36tA j~]9a;ߺ %$?:COs@ң =չ%\ط7?/f="[#ڦMCr{/GNgb:W/h'6¶4ߴ2'"dT:**P4!_2 y8_%v輡@ȋ= 'Ko4%D#ȣu%9ݓ!u+ }7Ӑy~YROI|)mynD+O+yh*h3Np=1G7GBaҺq`ڠ<;$_9RBѹPtDC뛷ClLmyI,3Цʾ$,w ڻs[堡ȉcCKMK?=QF Xsj+(28Lf)!>荥'.4jFz bfLsZ0e;dwFp}/JGH]6"_kc(\]A$zK]2Rm-^R=ܛ7iraY~Gڴ>ĻMYqQ{]rAŊMG=_GoŹ⤷aU} hi݌Ō ؉IIZSDY@B#J !-QHTIq*0x-Ѭ(="DqQ_t"g/B ^Ef(K{>."ZNꆌ$(P T|XA$6&<Z,YXN*mAd\\^CFQigb +KZwa*u~7H3ƺ/L2z\\t FwvnDU>MHS[-|qYQHhK>>lֵݗndMSoK É2bY*e kUU6֭l)a o1 .߂_U~3?zJ"+zE8#&-{&|,FN!N OD ~ɞ1jW%Mm}H3OOI `a-GM֗NL=pg΄qͱ 1T~WF$ռwɒݖN&_;D,b#Qm\27,:XL^H9HލVJKsM5ܔ'ukC@>IU^Iz2-QS7mʺ X*t\f*juPCHer1=PXc F)X@iDNi:/2ޤ'װy`݄Tm8j+FHuvخ]vu + ۰<~%nv r@p_2^k [N[dqhRZF{;eq iy[P^8Mb;иuݕ'2/AN=JNu"ŇmS&% Z ]lEHʖ0ek  $9*!viUCR=Gok @P9.Su4ZN^]8Ҥp(Ԋ*baXp). [)M1eV J d1&kM⤮5:3s"Flm-qrwT=ߢ!]YG[zI dtdmɢ7^ef c/ueSQJyk3* { 1-HQMYQ%:S+c*k*Y\R}nҭMVGVv+ձIpDrQdN\Ha?]5&$ԎؖP&]ȣވE [ZQ2m<,|r[vp|'6#]Hf[3y3&1Y2˴Z.|gk;ѓ5ˆ"{rr4T zU@ߖ=nNEXKں6}̄kj׸tWo>0[6"(2gݾE/:XN/)H5 ՈAw4UZeε Wn^.oBTfiƸ$w_#J .6z~O-HWmMRج0F˓ڴ`XSR8Qֶ?Kz\a(`T2IlKewQնSM:2[8xT`E:B%K:aTU2b zUA1q`F|Y[$0 W3 $Qg3+m}'xxb>$R޳ %mOD (ܘ,*~ޅ޶xH$o: IhPo{ŽW¹:S'.eEEHzj7BuEScI8Tay&w% /$w)JĚ^"s؍+[s,wU)I/H[=(Ujm7kfR\ JʴV= :;B[b rȺ$ %mCH%oпq:L"z@ ww`K)$s*K 2( &EMKI *(y95hg6ד(b7nӅm?Ptԭ8-wB:LIk3*U =*W S k^ j{vn4Mwv%Q|Nj%%yVI]NI̫dvyw,6U0uy3=2}j% ɥǤ_)EXrMḸv㾻YADDfk%Mhb'fbN!dUa')I_d|(\00il}E|F-!QU,ov;!޴1(}~OԺFl,n3bDaP1{Rws7=&V,M>ƕo(L<1 VGdkڇsj91%?pOiFjUggd "Er] T~ |@bU>pX} L,rf*|k*R6}Ъ/_n1ά(G1J6) 9kb1Yg):}?u{%+TӳN󿁯tq~~7WH_<w຦k >"`%?̚ďDiT9;t&m쒨uwy?5F⸃=;Inػdx?@v1_OV̾lĺBP]Up˾)B+592]CKa.OappEUqH.¢;@=U)ւ b8O BV/̢8rȋ֜-Z -# fQ֑cZ2zh ZCqE*j,/P`CB\Ina{˫,Nֈ I[#JǽqMS0hcoV +'+`ٗ.'E$NO@ ׄSV ̢;cf"ֿS=֎rSerrv*$ @u$D؋?N|r}zO9:\_~".ii}B%`w#rE#yfEI-GE t/c1[Rnz2&N?vHkG˿\W{9)/Da!*pLDzIHeo@[H+쬶^KZKICzszDA~vJ{ 냛uYVZi#j5ijkG̓doʫUUP adcU;~l^aUˠ9\S~qp)ǩ>#U^ZkDѳ'kuCazL=TyκkjXIzT*/HH #і?AOO, 5иYɿM{I1@T/ql$T*iC@ǂnུJ OFmשxCAyN=d=e̔g& Q֖coY^*xK]] ꧪثQq*a]f!鷬O.br"+ƾwU :@[]"jlq pMu࿏nvnײ2 Ł̷='Yjvo5^7Z|eq@K7װeߟOm'?;S@VPciD][PpP:Ÿmye1d{#:6.|(ls,9<79wl§z^'~\r[fs| $||M 69ޅʞD=Rz߯η35p_иJ=j8Α[Иyv}yIJ Ŷ? m[Ғmp ڼē9~ݮy%i&4ԭ!\T:9kQH2 UQOrC*'tHdIܖsY贷cAg9fe MXv: Gib/xA4B9ʒ 37KZ&hhtW QrC~!,* K!e| TVu=vT#[.dA5+v\=KqyQP,aȨjbD5\'+9Z] |^1I'2=ϩh*=9uϦ|?;ԚI^1l4 10 jR 4փ:J?>)[9i1T0%qg nI$˱z%4QG޶j(+*9 Uk.xCqzeUn6:%:N/lD&N7lGQGF?ίE &doDI7gB!2BNc_ šOgy%j}•>f *\&LMJJ3FԋLbjҲeE*[dZz5{O-Ƃic/~B|R7TDZSiU5? 9Q[.|(Gk>l_imj+ bKJ]Ѫ 8N0 4:K eFf0#@.ǎY-+~!Qt* jF&.g&a>х ]cKuFct:֡2]| Z% B22XqbJe{UHXU] >`S!WK(Z^PK%j6,* 럼N(=NGޣu\ydKG˄?ۜY[!VcňW:0BmK*,#ǘNҶ߾)<7H:߶xu^ C]D 4|SM`Gif:E%%㸂3z[c->=I!yNϹj|v)-vJ  E@g?.|O@48Uq(ԟkM1Ngl˟YnP/'9;(%[@?):WJ VYztG_\7~v Jڃ'r SJv+X+C!aMW؞(58a^zNP6'H(KKy}uWCȀ3 Kia8KUs53+~Mڸ\CܞGR]H9S_\b֐:0|eaPSIcy NwHҼpCx)6M&d$&u0xj6a?|igSC&܁!\5G|0<ɞԄEnoFqæP#LjTkNP7}}$|?Zo9"Ak@A״3NWQ"D|x.d] hyj| s/:TlɣN{BVDaϣx`u˛c8/hazj:vDba N'CGvHo1b0 RFvȃ.S<9Huv,}=HnP-5"yӮt2yme m^g¾4 X> /vq㌱~އo-:!եNC1'Pa'iQ:@pL &6qj 6'c`v#gcC̖CVplUg p Ffx'|Z-.<>B>EM!bݕ6OtaOK$;cvݓul1p_cG1VkLqκ`7M04q,0ӽ$ؠa'X)Nxpz2ng0vm;hyF`ɦ}/88l'>YP@S|m: $m9k˵GL`6OPD٪K> cݼ'\7ASfCϺh[A|H_QXeAhSs1EtJ@<fXKqR{3ppka xpY=£p_{8'#Xm64i)Pʻ9?" &T?iD}vaB߷)賡P:E_nFb=>"c˻OPz \N h]Pfp ?XѓdT>jFi wۨPM?m&=8ѭ;Ǐӆ'%M}3ao |8SXiGtޟzyAR9k&[\mhqeeb\ ui0Szؼ 9}U6jB+xa6tt)lモ@|wXkWLmcnAQWL*ٵ.8ˢ3o !VnV+{70BkQ0'O`ԍnH~ /H dZP%u9R鋇Os|xK 'U=.dJ:j%Al<#uFnr/STܛkcΣ,&x@a0JIe H15DAކ+~?`6(~W})D5uwd;aLRhac>0՗n_K\|*WGs |yg%4TN'c9]pq wm)ufIP {#)trB=~V9Q ^cfDu_ܫqg 6`BxJ^TD+g~Xů 6A9'=5mŗQv8?,1{vڳ"8 †CE 8]Hؠ`SxI&Sq/?Á}$ t-:n[xXynOA"6(0]tԥ!"94k.c(hmGp 5҇Vc2nQ8uz ̘p8\% 5^0yWpra]TG. h eѮF ot8くG3K%Vқ(Oaw2;&#EMo]v ;qNf6ua΢ciuqHsӥ'R8¢gEDc48Ad U'OG%Iذle}/r(?78ĺ&HxQJcGu F8nNEy0.ѿ\6C{(SJαr%)}m8ܖ@w<Q>ɋWP6$*IpOib ` 0)ߑ2v) z9.&j<@Ԥh$1t]]c0 ފo Ӵ^|G:#1cq3k3`[ŋ*dzˮQyIm Bxɂ]җOȅI. P9X@τ*}1Ak:dT DG߄0f&W4s2s{Tl ˳K\u}~"#ai >/ѱaD. S|vذ|E9x -.[Z#"v MYoSFF~b}UY{\9DZ4L*m8m&2z'tfxOJIܢ+pW!@i.Pd7yN/0N ֩8$wZ M)z|@XFnI:5!bF@5k0qCْ:`J`MvZ;'`'F]tpOƚ '0s=8mcM 0iS&<]);&mt s&ܒa;>3??3f#LdjujH5)Brjj_ D:D`fD 3DХܓjԻP0?_z]aS/BNF^Ҿ 1h-4WFy "PM 7Ba?,pBٟ-elzt8.Y6|3O $0»ox&"^[>8\3EIDO|f}syZ/M|Dn Iݰ 8py+d 4T|> nn ab}( +$NdX? *S.м-@i!$ɥ4Lt0@6nT3f( Dbb3Mj&OykGu!51d#ĉ0 LLs.->PeJ@%۶'NbuG!8׎4]UG?>Ӄ]4%ᰙTt<"V(LL qH9"JLÑ<w) yB^A)Z frTpKcOG,ᙄI$([ yc(bBb9ǃ4oR>&h-vb3zbN3ff!b3|k>>4$khGK??=MBgAKg)#@v CJd1HSѰ瓴'М]#07v<~O!>=Ҿ)==<%x[i j< N@K5=b/}XG =FG[t7l3z# {h$4T8_},xR`}.A$tFy(g=OBňn;FT D4WFQ7,6?ϸ{$[9ꁣ}KGQ~Vx (",x8*VG9 ࣸv>zròrtVd+G ,*9Xa Zd4Z }:<)؜mzA i$9z<;T$pB-*YͻhCjv*:K9Z}8Q2\8Q7OY1{h>£Lpb@8QE"O>dG%~;(B=< T<8ڗ#4jS8QQ??Nϰ'J5K=N4~=>A2PE-I[v(UO(zz{\{;Q5.UG^1鐠w%Pza$3<y C{pF`\4ʠׂCtj%$8<jG ChWt 4AfP4%wBq1=F$y"MG䠔)RW&j4@r6o AȪ'!br֝ $%lhZ dt?ZONJ{1dEIA3Otg)`JE'COKmΊC"~I|ag/0`i|iO K> :PEIOE"5Rʵ.Y0VUd8+:LG K" =?.S !ށMMKd=S0Q>J S1t8jcFrܹkiJ NI4XCE@Ej5xj=j`;(8J eAH٨@S!z#v@R&]4$u?Tg IzoM7$HhU2wR<#} TjQJ[d?h<˗IKSh yG存┮àeT.;i"GLCڃʇa4P5]Դ *stijNC%EK B6DESѓ nP{ByP?6(R zŏ1<~T*[iݧDYG) ;>Ƒz8lt8>+hb77j'Q>9|6fHz2$Jӓ3i$OJ/dS*Y uO6ܴaoDn2߲?~o^|͇2m>鴲jkbszzzt9oϿ/3SӪ(t63yVr9~r :|9<1yӼVYe,yקYv:;v'~(X]UKD[(7ـ0 ّυ1G`ü,ycfv<#6{I+VTȧ"Tq5[5 l'LM0L~h8ck;(20+Vǭg00 <;B |:`3m.43ْ~--o*Rlo񔛯Mqab,'N``Ԩ6fiC8˿5(:BktjIV3&S%"7 AD[4hlp}Ԑ 6Ϯ_Qfm+2nakUm r7FQh [ɟ|zK]L0*9#Gpꚿ3mu["n4kv'LWlah nl( 24n8cj,.V+&xѤdPF{O oph*<{L>lnTj-n ry^8չ8&D1|8 ɘ҈)Aؘ1&>Kμ K!8 9UK7#Gb lW&0isGf]/b^6fjrn'CKiێTa;#i2•}tY|3P?.f#ztn|*cMzMf^j<kH^GH\&J2gHWDx Nlv@~C&KaTu0aQ-'%`4) NQ>f' c!8@v3m1挾  N 1 grfY>$ SF,dТKi![/a+T;G#kr!imQ_?dO߼Ȟ}Ǘo|~z/^gOo_~BΤʧF <#E#oD5D:j@N ahA*#, je~is->Љ@rǐɌ6Ab &3wO~ѥ¿Q@LGb"㿐gqܴ(rذj1nt4˓|j+# PXB]JDX%w7"7$U$hf6ov޿(Uڢ_x3StD2KUhbc[h_0&`FySȋttc/r<y,:a/NH! mVCt&~sy7WƞlPbwMx8c-o׸z] 9)X'Ԭ2>=I5y]L<N$ʹU$'`)W[1BP) aV2!*?){v AqjA@IJ͚/Ъ؎F Z"*7˼ *0\Xw5> uEl Fꖸ$-.4}`Sm1|p/q[>,M7_GIjGIk5&~{a[#EƩu+c c k޼y Ii**\  ZqXĺ1Ut>7A1ԼDAO:c+Ľz8)5%7⍁g YENIA WȨ>Yw̡˝f782( e1>%Q}:8nN*30NO0~\X.|FDY[;\7@PyGx^)_v̝c%) u$f@Ѧz v4 [- &ųoql. zxU%=s8à#˳w.nT)v|#Z/p,XMJ*p~\{.8ZuIxVAHSoaHPm.вЦTS)4MSiYʚ9vo< F&r\\H EzRE @@ f8z$y$t3=8ϣHCWon Fb)-US2{%M[rL;M782L9TP- [LUdBJeGD (#-wSa"?- ;*:m(zj$0kĜ pNVƨn F讥BеM萻͍! Ӹx9]y?C%.!w%'7qEX(=U2)_ `oq+&kMe:Yj?fhdw(+mBA^%lroH2e6↝!FrrǼHc7Lw Ζ7n$7*|>fD+$x`Ď"LIᠵP4<1d̊8Z(-I?O{PS䆉(>wNJC.& ONqq̠ZiؘO,z[C_bXU nR!SЂ0-Vnnbْx&Vc?MW[9tF9Z72 #ktd0f;ю&]f#U`YB+4Wi^?w1էM=mTud '1(,{UqiM Gt|e^U Id&+vj^o-[`dmgIU6%Vjh ?yh.#N<> `.+oQLCI`C*:L ׏qU=P*,K!_]@J+$OBjp9J22u%Xyf!,rhc9&_%/e[( 쩀+1M#EX`u}RaT}ΤJK$Bfi8UE ]Ho5/1Z&{ 7ʰ$g&p&yIY tt %.c2Oi^`Cv%@g..=//;|#.f)2LDf !iumbS5eϻuK$ÍLN7+d! 4X1sG/-.+w %|GXOhZ\*ި΃ՅWNv_#gEU]DΣ ]x^ E?LLT/CqNMV>pna1%PFpJS tIHge.//qAYl4@wt:c FEvg˭ (\A{y;5WjO_6}Mx8zv6՗z1ճ.QƐ T^]9{P鷴+W oNr]{㕳XМk'1%퍫ק/L/r]{3gW(ve״+W/ߘ>csک1}˯_6y魮ӗxT7\E'!g4EhY4u34pu(:ɮ_iE(٫0|O0 UÐs/A4tS_uW._;A(kOB'/M{Mj׮Ѓ뚺 q!Mtb l4\k@|Y6n?klg&Ojb=}Rw]={ ƋWaia :,KlRh1O_='s^*`LA2 !IfLȵ:8 h纮> =,TW`*NdgnLcZ6.>2jR&{d:^$t1.W^'vB̋w^[ܬO;cXJ33߸DTL^gF$Ky<ǽ @V^8gv.cŁm"d~Q!㪑XX& dPUeǨ͒V{F8w0QMǵLA [(Eb,d14;dKz'R"@5썁2ZfPmJ]Nq1M$sU.O FփC)T/ۦ m7X 4Ef~98eڼC TnzS]5ܘ~ju-Dj=,ұbbe7d8NAs:V`f7FF|$-S.\p(>vxYnd% Ă-qR7qݡ?Eoe u~lT7+i,C8YE̍I.NmIUΗ\ w}^f}d¾ͻD=-θ5G.^ O/#>[&GIg-:b^\M4hp &5hmlXtr{y ia|cN2Ck$nWNqHcb?Q_%ipy 5zʠd8SrI4uSX&.7`pWaU$,CX!:\Rg'Wͤ14+Ufռ$BjY!y"Ah$HУ<7 Z'drL'GlY"hr  "&h c@5d9$:V"nYse[-X)-Q9X 2Tt Ɍ1ȥCt 8"~ՋPOk4ܨBf pguIM>zE WAIs \Ew4o \Z$~Kx;4%Es|)g OJپel#‚(Yƥ|iXaҝY.r:Tqs}kntrHk~:ePT, L8U=t-;MK*1&˲^I2G3X$U5 ;_\Mm؍یhC3]Wc" nSq;ABKCr0^cا dB{7`8)VF`]KĖX:/eYmkOQ~V.6crYm6L_.]RqHf9 b~W(rqJ0d7W{|]0Z~tҗ :Η<~'mpj&v$B 1^?=~ i3x[n24-`]YV\$h?x:kǥqclRSzlG5V[G^)l"/.LzTmV1tӲN]Go,h1'e;`7/3(⒝G7>}>b4\Z&c$1^: 9據2Z Imh:N9$B3)I̓I \*[$3$Hx%7eMJ#W&-xO:E\cXbZ}7Ef:`,cFi|Ĭ@.h\=/*Vqϣg A>Ga,G(Gp?_O!GcY&`]Jg+'yDVt -qFN$ި!l)dUf ab|dƒ7Կgnk$yo,{ $a ؛f)]OKV1j--u=h`|QTQz8-4'ؤߙ` M4x@ 0m 7`^/ K)dy?JΝ(#Fo*bz.oP7N)IzB*AaR #=&R֖V7)s۹-^>ͭvM̄Y;G6-av\2&d_QƘ n%.͵EJ΋äVu1l>hXƱD:S&8P֔)?hބbvK6pawIb<~>~vu uA߁Hvո,˥jq br"G,-G3XҖˋNo#8ba5N}*f{$Kt2lYf8aGXA7; -N5a@ɛAB 8c=l5 @F2}ú0,aw{ k⭂ 4h+!zK+fb!1ZN컂ZN Umb{47[b+-Da׋NbrGyɑ/t2tv$^03 ͷ6L*4ܪf@LoKt[5YL/7&mn(6wК)^7pu+%~IB Q&+B w2--`a5?fє?nub 7民έQS tlY ğ@MboYVoY۱Y M |"eVܘ8M ҈FCb@"ndH(Q6ORB@̥bhŤ,cvQC;-zotnizhдalͱևiѪRsM9nqnt^,˸xKI_߿{ g?oc`07ǂ߇-[Ϳfߏ}LѪWߌJ6sIz[z36_dl6O183)^zilKΏ4'o>"$z .ꭱǏڶ*0*upa\][oɬcQ/kzWӕ0Li][5}WneSWfΚܢ1k3U<5嶨 %#{F[27!T6Ʒo֜,暫8^fZit\.zYvE#)C✵y|^o~qT]\jQZS-L f ;?DSIæ#+̑LVzgQ=51Kt-9 H y,`BFE1eJ a 7 [EKG[ShWZ55w#&fܴa{Kڅt+y4mnMx l%Qd3 }֒ f${.ט!o82''ٻ<~etC[s5ieZFtm%0aѳ공bE аldbJHj` f#ix2y$Ml2\)oeP]!z̾hM ô#-lŴ0_mfF[P/D6턴\;ϱgcfMG͗;S UV'IelP3 yh*L3Dmlۖե(I xNNhkUi/Wh E 6RWV IJoQiVg/mh6?ֈ1]gv9j66v(V |cfQSTڊ{ݵ5H*ꘐEi9[O-ۊllL:lvrl$A5=C27K7_@0]:SDmHXƱ94ƸIw#h1I{kda֪yg݂&ْ-!6Ӳ#&>әҸXhrf·B6ׁ7h\dڤEB44:(߹z_KY-?m/[p_ `6\_=]Қ4- &=$I ["U~ʃ 8njjIzeIlعFZuyxx7d6 af%ɤ CM4h%\d."B9tҜ(w~}MoJx ŬѢsa6Rx&xj܏< î7o30 h`-UލUNeV4Ve)/6 Lb4k.qUwN4t58iL`) Z$5T㩚Hhg#Z˃[4.6f]LQ,+N:70nl0/9$ R2$Ќy37Fe雙[|2+zY&|[HɥC[LƊfdždΝ>ӝ-n*dr΃sw2n:2C[y>α_8]NέzRYovQ!ӑsP<@FWpdyf@~![i99 ) $h&PB3a Gs^ёQV7gt'˷ah V~"70r68ҽF*L^ok1yi! L̩,L'LHr͙[?dxV!ձ[kbqk. 4yd}Fs9,@}sWgyճ:Vp;3NuŒ: X Ѭ=Y3ބdR!i)r#u})#]_rzV)shk.0 "odkyxȕ\!K.z ۑgpНҕBD2by [ש nS<\Ih.gZVʫ(et2}ɬ7x`?u;9/'Kg4cXG0 ՚\J Ό!SI 6Q%ҵh=:=^Z/7 5F7Ҩ(e%7<ޡ%NK*N? :M^P& 00HZ[HFW,H*?K<yo[@B1S@3ぉSYΎ'^P9JxCC"b(k A{W$O!n' VzDSrgfYSԑK,@L3g_ zA/00 (sSv Y5W`B>3J#Mnh$g(5Ky<^JAd1D@3Уe: ЙxjIEA&"n<@e`/91? 4 YGtj&Y !)B3Twfw7٨VZ!ޒiX!9Kßc1i [4;-xdOSw1,1h.!yyF],ӎ8^ "DeO2j`BXeY>ǬЋwN"uhW@. :=djMDV/$cBOCh-#̄y"FӔ 4.eu:mB뀨/p>V00V=ћrE`mDk']7B> tYEm,ΔUyt2. YH lXޝ34熒i(%\AbKDonyԞ, )Hr-4:=*R޾9{ XzPP˟oG3^$yX^i/pp5 DRxb:8!*JQ6#4f62,6πKE{&!DBp2SVY KXlm`LKT1&:?Z.` ,1c(gY^..8ٴlsGV w8&(C'3a}S fb"jNT8 TVݗ֣ިMA{,9hCCX˖K~ fՅYg."&*/tocT y-5\ /TBP+BX+DBT+ĴE-WpJpyo {A\qVZpK S<0`y dKt) ^0Uou,} zNu ݟ؝g"N dQ4PAߧ B8H|CdX9hB;%`KYuҜ3ѬB9&XOL%[4ʊi 9aƅIk!<;77BtIjj'H/QH/͛(USEod~g!]F=mL)xnt;0e"@ 1) OFzI 'Bd*Y&Ml\?h@ğdzlfN>,bC@egXRde*@S@QʦCg,swJ!Kl;X*Uc,NϿmQ*k-]@&Q[xx,XڼƘppۏM"PZEzbtkA4FREǝ?eC9F SZgL|'cO3B%M:K)ޜ 6' O֣\AG2\Rƨ^h!&pf}"V rO%gNJ䔻Mw=̀nWVgwͫ?+K?YyCz F^nх_yr 3.TYNX׍[.3^ռw%W]VU v DuD 3~aȝ*!7DtV+_|`4}8A(-vtOT{: /w!0J@!ebdr~=N&Ax'__Ei8>soe(}+08aN >ٺt02"zy' u%rX;,͟JQ)Y+J΍Ho5$3Ḍ# vK6LLS10N腔MTH5<})X0+CC8U*A&Dӂ# 5Ao[W Ze7Lr.Yv*k{.V^eM x d4&<$%.ܢ6gjPL$Ttf3 Tߨy(Df@<*"ga<ݠ}f[f]Y] ~~Ι.r9bK%Q 02^e$B"Ǐc+C {^135 U bIIx,@ h $ s0, H Z Cw0;*Go9 lITv61& rA-|ϛFb#[r )ʲ>;&?m5whn0Fi>a$S\tѩ%'YL#0P1}&I" Sl:\zΌ'f /,Zof˂b#▔i3Z!Ql1kX& M8D9H{ ǫt'=Wʕ^&׽LM/ox^͗sF.gªoq;=FuFH80_ kgCyӏ/"}ҽI Ȝn,`k2|d-Ѐ @capddۂ. ơϘ.(}n9]=JX{Yf,Ί8E2LìȻ@oe( 0qZ GY1 U<]hqnMg5KE:VWzt!2ԃߨ{\, mN/C 5Ѽ):s4q<(T|,ӳiV*?Vr%|\BUB̑/~NO]SXHgYX! ג%YPj귖2E@=4gYܒwmJx}T,% N(UpN&f =eP[0GH(h  ِ/<;#RIGaKC 0z! | ^ʨ`VQI~Ɖ6Db?v^B(Kvv,Q/$gQwp76ezyM$A3k PC{|5ˣPj)qV4j=irH\|Y%ҳtش1IIݘ8k љUNSZsY5夥ajA>d@LWjpZmu^T^:˳FcNt! `G^|gvQR.g^`\*[RmUK<0Γh`xc3f%)/i`F4ϫ:T^^mRYq'2T#iË^vN驇?z35tb_W|z(\|`6*ޞYT,-:a9ZB=weVi w]/r)WZWpWl.J0#ir7o ETQ3d.EujyM]ge'2D5&>xF|F`TPw9aυXhUWc@s fQo0)T:@kh-T@3b8e`Uaǀ'M XP.Iڤ4V Ojiq\0DsP^*Ç4> yi˼y-yMF{Z OɆ0ͺ2;lLɆXbNFNBBhrf~W}5zlYQ23Cn4qN ^/1eIuNfɓG:Äl%"&#ijX5j*;"$l(Gl' K!d ò:Vr]w]pJ!53F1Ќp e1^QpK^f?\IOz4:/oǨ",Fvl+jgn {ºϗ , N@} fVq+EǻbSh^%>F*, Lk-)7|Z&7}jZ-F4FbDDoC,ˉ`zlI#:jU؊4 ƃ 'B #ptAZ}FkNPA)سi.e XBb8Au@_XYX RPh3N8? hi,;<@0mz!aJ;2ܢ{ֺX43vVpI< 2ʸhx Q,KnˈdʇYzӇI17dzqR7.ҎғxzoTLfx$ңev-{W>QG`pي$[Xŋdgt-Ǐ4T 85ffb̢,H-)#%Je ߽+*Rp&r;FWk(x#i@iˍDh{I!_fH`%F!=#*k2]қ\AUR VM{X|$F][Xb.you N[ɭYq@qx+w6!d8s\6yv6V8k 0Ƥ<8/*cIǏɮH1X<)jx"9N"I bVG݋d0e_Xr3ޜ- @ۣs dfNvQd[WoTy޲ h.q悿'lkn|ik~y֛5V)|qd$`LC,y.D^ɧiG_0q[ѦU xBx6I>,L4T/YY%%“I=~EdV9}Zt冹++\/ ӈHScԈ>Pvin5G^X!̤7o&W, ,n" 4Cj*hY\-p&NeI[΍U.LÿD},^6a[ , ɘK2oT)tUﲆtz갪{ ΐmc7sx͞ 5sj˗p/M2QS]嘝5Z>0籞sB?˙ea-b͹%{6QdRXs~N9x~<^x!sStjml&LyѲ8&,&PlKG[d ,nβv7ѼW[iY#,VμBor & `،Ir'FZߊ{6U ]> MgMeѹ1 |%7>:9qL;W.\s®qjT4:M͟)Ƭ,palˌT<+T-:ύ 1Z1N]舰 6 T:[(WM6g(/Y[mqB/ACVMƃ[ˣWKp*֯6|K8ۼl٧GMEih^4ourJ̔-X g  N ygd}C,{ʩG]6ݓ$2ǒ%Xi(es+~!{31ȍ΍f7ƱV 3tqS<&odUڬp;Ji::lwY"swttE3YŤɎiv94j={SJ 2./y6'95E\՚]^!LO/F+d ҙ j~LCzCcco< `ZxaNOkE٣!KhSܼwpę崷̎=yWiT0H2{xzhC/[nQエwɨҢއ&Gtѧ8[IL$OOhC24'At2DB߭ 1S!½/_LԌ57 [e ɾFMx |IǸsٛ,-Yѣc&ϖ,Α{*t K)Q)lng6 ;}IY*o8̛ȍfedXYy 9{3d'3j5!&wmfg>?CbG%/I 2g +HoIf'a}|w<棘s7u،EHu8bQYG1(5<ƨFA2)d6HTSnrbq<9}QdAsK;-d7f <~O.Ku1~f|YlUfo`ȴR*f8鲯YS`' 2;;}(H<-3 NE|H'zI k0_zK {.0% Dѯg&J ~LǨr=~z\5Ǚ=Nܼ,*_` M0MwfpfWMz(V./p 8ae~L~.q\i zu:B2Mq tYes&˔zC~ 88e)'upl.9717 p͜fM~VxYA`܍#Kqocq'& e%ޙ,g$MJǗx?\{Upffaɶ&)Lr1Y!{ՔӃM&>>]pbDTfE&`VM.-6zɛ}[ Y& i%4䬻#N*H!@on/se3}~# wDkʞ'ߜ9ziEZ&#[c YS1&< x9#jW Qyk4(Äܧet$h,,4(hg9ꀬi@RӋtڝjhཤ7yxSv1%GOii-1;tQn6[䁑5X[Ti3B;d-.(2 ߗx,B 䮦=\f3 e$}33Wl3$ kt}Eڣm4mvyƦ=ܤieilC&-[wMޒ$- > d!=QHf#l$ɴM,-NH%C(^=9R)y.Եs鉹4a"7ĖͥIs|X.N6ðь 5Ԍ鉻F3޲4-]ojf@fȚËG+gn&% `./?"E5]\е#QHU a}WѸϛ%٠نb6)v1b!;?3P@Υw?I'N/&+k.[px Sx%ݽƲڻU)j-r:* xs,|&?nWg, ?oĀg}q~~3er 0r ՝ȳa>mx l%MWɮ.'O_8&You7*۸ >=.]i!qK0^t~cZf)`c9kkCy]i 7Ǥqc>xYǔEr)(ئ4sG__^"\~hUvd-;lLҹ ԏ^7%V4Ѫ>=|q!UFsgJчBuTF-ph%VMV$ 5<cB#w)M%y0r/ +‚+7CWei~0omvW`kv6mVŋfGYV%NDEkL8ѱxƬ` /Yцex1c>k3s)9#'K-k 51SJXRÏ ( &O$^DQ񷀦YBfW&My˵v3g9{dAg`1 *f?v j&ף9Φ枨̣15Jͼn͙!_p4(7Ȋ[VB{vo/ Xoe3;+φ *[lg@/oyT la,3k (}:ΣY$%of&! 0942I6ٸxT6#|iduMs!KN2ׯ<~LH Li:W@tGIs< QmdeΘ/z3CYR ` s+p\Mƫ,tb. xFIRl/YNgJ:6c\=vs-}JYaw?bS_btYva e+&%1C7G =L WF3}Go-z>/2c8s$no5E q pBz-~39|''Ɛ<lA260*Asɹv:=9fϡ b,]Jef+L"7Zc&fl!^ratG'ciMʂ = C{ I.>uoK.Ӣ@tE$Q@n/ppz(ލly; E(xuynmg$&A窇^YBO;9d2H͑)]̔EY*gIg.l*lI^?git CG&7ӛQƒsT{-uGg33NXMt:nDAS&Aw˱暕8/V69izLj[N~n+!@:fw%θ 0EN6=M J`̃XϊI!+N6Ch' 2߈u}ƀ 1Ȝ~M<k3=CcZN7I[zP4є eaiNn]?lsٖAlNӲc[(n2EǏQ{$id[Xx?*ދy^GP |yar4!%˧ܣ`ˆAt27MW<>5-$ X+r18ܺ0|rN?4Wf5_wf=#3=YAHv @:jF0[D/_m!ǛIdW:s>Zmˡٻx&J5T>ǻIg <*{3%f匍~1IȦ9+'q6:ElV%oq"KaM(Py4gt舅ƝC I[|6 9O c11v,*_l8mnc%nG$QuCp.!R4oNi"VA 1b캑}~Kv4*2Őp̏KZ\Yျ y`Gr^ھ0+3lȞo|mYv{: 2ϯ-{bHHkc\}6.gmn8&έ$cKšdP=IU$+8x9t[ޘH:DȤ~3aEҭ-R]v]h㝒 r$ce%5ku8X.֗ʥ|y7;M<'Zz1͕JLE䓣XcDi ƌ3,g!lCNj- E{_ISiFLr'3CYϐ˩3Ig k(qzC @8Xkm<"q%@9*wL4o<=Ђ!۸KghT >g8g_RVN?4ln1VjbjՒ2  _~ٰXQw&9ˈ0'3-C#ی3݈-;OfFh0s*(Z-q{?8x dfu=Ϭ,H[(;AV?M>448BT}G[̢L67Ųprqlش4{nnhc&ebjob3bԵu2)+(KY ae2)z2Aʐ(x"`DTYLY%\jR٨ rעZBl^"PB!FP]8\mپ)UAŇ uQVeEM o6W-N2F'_3ʖK-@yACi͡W C-2Y"ZYx n PӤB/݄ cJ44j`8iZeҘ Z ̝1H&uP{5C?Zt9>Z),#Ǜ }/ϣIv}Cq144l6نBj<64BXđfuM"o3kb~aoGE&GP؛e[*2ߕ}cI^CU Lc&Ky7˛jtV(ߗ/yx ,^'qtk-%:wB x7 Nte=u1qaBtԏd6$9Ūսf D|i hrz57=ɶhJe˺sx]rElF>KbK;M-.o!O&60$F?oa@!4@4DY9-eI#[O~I@ YOYEfz4-t18γzK5 曲51mf~jQ+X T!YJWKNȾU'yÃs2z[d97i8pMp|[r@¶*V$[`[5ƾUo߼-[>\E.6|V,!T%dQ,@Ct U`^ ˂XK 5Gp# EA!A9hŅplV{J73j$[u7TJ ?\nmP! gi;A[>ن!J#̖^i3gdV0Y;vlڂQ/M΂8ޟ9 IΥ =[xVC&/w4)3RRrg˫܍+A] t*<`ܕzr)_X.0?:\ pRpfp"Je:Ś_4 *h(ǣpCp,G}6-=TxK6>eA c*<M|&jyq,ūr^jslyBy!?FhYf!|ptb .>`%T i@,LG݅Owcc@zZ~{~XVq1CK1־Pf:, x[ o}S5u?^ !-Ɖ7_~FG"Eqod46~c]QYd[@jre?< ?R]fyPX̧ťFt2 2 ;,KiI B6 jJTi($!-@T&#b.AJ7T?T| gip}ur2Y)./Om{|4G;T:[(<`I_:Os9N5.df3t OdJPF6n*xb+Rd BHjR^#<8$FёGp11XQjMQi+\@>| 81V|L5.O?h?K[\)]U`܇R&W e`jZKp)3ĠFf 5doFQ_,/UӀ]0ZB-dže#ćְ^:>*"FGIYQ7^ ܜ,4&)W8<223ӐWb0|ѐ134)V mKK 1!UsA ڛ,ӧO>H:NJp `zL 橱Li9?VX}8EfH`XHyD2Sa 62h'oW<1OLTjƝFmf*KFԬsQEzA@c,Chf&Ȕ`EiɼL^f[}V? V/ ^߇?FTx-adnr酴4+J@oiȢ[ÂмɲPsg㱱8RHEeK&.$gOJ2LVAs eQJl^/r Bn!_/r&r?rzuɟ/W7cc?" h}?(oPUYbT=/\Q?+U,(y%RR[ a2%9܀%HUTʐOS_ lZoeM+׆C{١'ʗs';^'?{i6]Y_h >[z8)KmcHQOC|?kcx (Wm_?W8~ޫ -*W k |¿x/@IډE%0^ܮ(l~Y o攢|n=)){ IQtQcvJuTiSXpUўFa+Q֦5(/ *#0GT1G[ k^k5Wnù{#h;wG)EwJ}Sp}-ZkkÃ)US׮خ<vkZm}MUZ ~v }^AC_-quW՗jk}w@4>./vu{jzm}GS6>_{w/ڻͪzVkQ1B3\qW_V;vǶj/W'ԁ~W4mS>mߎ½O +طs-5SX ˲X#Lvݣ(=^ 㓲}[jgʚM豖QRe2Tf޽=N׶>2'{=omOlR "C˹Vw);8EݶZϮ'a9>ӳ멺V ]ؔ|~fS,S=ʮZ l*UKm>ŚZ{f_'am-2 1FX,SS4w=WKA"U)8~?:~rO_/C_žїz̨&J?YWzva]=xO6aʀ* Ftc/LoSk5gz'5>]6٣8 Ow jkfuS*V*tS)SS+]_y7~v퇞_~؆#?lyN] K{TB0'!,6".zuG;\qQnH<80(Qz$B}w` Ͻsϳ wIumgl{=}(Egv.gs{Elءvh;v׶E-kuAIh%aRjXm~[;T5z}:ecO)?#׾߳Ї`b!,)-KR%zLm*kH6'e:Th<:\ݶm}и->nF6ޯְ#_EhkӚpvw;6 _c56p? zAJ=hfbq MIV#v(<W+}BDpuxnJPC9DD  ~tԩc={o:p}ZZ>q'/u"cL=A~X7~9`;p9++Vc;~΄2kgK:+)[k? xK.Ѓ8l!F-ãO '!> hr \f:R$~kK}l\R(į 9 JpAlgpw C1/e}BOꗿ_Vy0+V*ٱi?.TuVF#ؠB:m8o;|tQjpwh׆&c ܈X#so7p3pzPӁ7Ϗ;\2[(`RXlqG+hD #_PM9h"y "5~U]K]Aoo)_/#B\ r.Qx{>KޡI!iCL>; A4ɪhT'8!EX'׏k5/jl=a Ⱥm>+G9}x_dFGwvZZ 4zVlP}ަCc(JF\ި&nE2BюjUƱ㢠an_?~-XG*XGؔ}D>[s*4"p5$5RWԴyHyh  wmഩ)2=J*`u7vj?F28(>q >vj~0CaAǦp|YKq<)B֙>0 @ziK:i{-X9*~>m G'c{j{m^m^>=jN*:BEgO@ ]C4< \(wq{gΖ5 ^P痞>K+ujhXwDLJ+~ԯ6TsÏR'|\Ë M_ԡ⊫CB|ưz K֨]j\Pk+ lƳe feښ)ou$b@WoHY` f VS۞EtԒ4 SϫJ>R,)(֡=~`t dȠ@=aqKvJTį*0 "XokImǰ_5ectv|1m;"?Zms"#%<]ΉIVPMC@9WDաڍ#pO{m_#`ӯy1weqAp +v1b&) %E'/M&l p<~=8u`ˈCgC'㶁J2~>{?6o9(;0TZ L>{V#0P?!@Cڶ+}6F쬒Z,~Dz^9~  ]q>-qGZ)/'RzKn5^Ugl۟WOl;ݖi׶vgK q;z7;:cw:?+];;Ҏ;h_zwOvkhG_}\>ֿ.,l!?ß Fg3j\2khM !!=۠v?/v 1LY-hn*847b9[Lv5?\J/\yKi<Ԧ_9G-Bg!# y%a(MSr>֯0]nT@(p/^}NMsvˀJg/95gZ]~_^~y)X(f+ÐpBa(,9u`ИJI@ wB|5&/7 SL~f :By/[KgPӡ@myXK<hP HHLJ%pԟ X6#E% \F( b1߹Ǵx,QEV|@D _8YݟH ~C^6 0|' DcHx"I}AD8a'l,' -Peqp( c}%(s,=XZSYVh e >@C+H &8h&s"#0?|poHHُF1#|`d62I.G#}p `#?P* DZ,iqh(~Ǡc%(|$ S/X6'"?@ÐJlD%A6BK#x "0 [d mhYm"c_4HRMTgȱ#dR 1@DHh%0 40(CzcZQ$< NH DQPܟ¬0p&J GTM0D,2D`H`)kPPZIMFRy>DJ&[~yxL:ͤF0fR(X`&ESM,k!k[ګIŅJ>KCpFBjsGbY@\5ZЌX|bDVJ1 f[Moh 6` q`)<EN`)~,!^\_-eaR<%V )QVXBSM+"u3nРH螷IOX!Q{0ĂQ m(::mf5PfmF8۞Pl9t6-m. #X@/VH}I QX4Df룐X ѐKH58}D,CTElx◈?È̩=@=@AB! El~тq`.ChR11>\ թ&CA? Rl{Lt=Ű6>ƳP#/ cf !@f! )`n"00DtFŰJ?@ hCP8lx  LCvH17(~024`qy5=U4VxkbU9!#`|>,@Ggq\9CF#1b$+E9]a/Id}zOa|'> ?7 lJ*0=Sø@@ AS瑉RCK#uPcA"O$h*\c,biԨq0>k5L A?,`@Ho%,x<3̅tq2p s+&{V6AGƪY.H8(0x£&na.XHX lᬥx† 1|Qh)x5K@=FYY^nXvn(ZJ@,S4PBC>}-%H8 @0Hh`\ FkA9G1%D#"c4*PP:4摰O3A<alG,V 2N:Gg$ 6mDc6%р!NIc@+Fq\,~5X#ㆬ< F.:cV8(0# CXȊ\/!`p$p0GRmJdApрj 3cqzޠA.R^1x+o6'="^4QH}Qc)m}euo\Ƒei[W|gqʃ0 148P* [5R,"!PGC}fQ$0J!ܰ7th/FB-}gɩ$xFpEJL y ({$>"XvFd@)b"k KP>=W|()3 hHw4m16C=6#HSfNc3S'76qzc;AR#[(MmV HFM16lPhDK o(g6cl#Te[ F,T`,1T@ycdž(&D%ԤCrRH-Aȴˠb3M*_j"EhO-f *8Nr Ӛ1f&cl _8ʒ+2QY 5#Q-QicH#o&"m u8QX)%K/DzEB#QSaZf@u j_uۈ@X_yxA^C"ZPHH!,6ܖ .SrD' B!v-fa$#3(E($SL(\D45-BB+x4dAg3ڧ#ԝ"DXj)PybReBH|4"MFSĺn̐}&OwHPtw7I%6Kh|z"h8coYh'mFͱdwr#Y2~kaoM0OS8d;h@Ad%&+P§aEІ;GP NWG9#xnDJjAV햅؞=p[طp(3(3Lb Ta#Z$ XFAYZNЧ}ZoV.hOgB9p&fDQli62bIaY.jQF+LZ,ܑ`ܭ<|i {w1l6!dHH Ÿk5LڥEį@F(MuG,{"BC#q'<ĐfœG?hc*N4B|%q/P=` ֍}l7 KXZd~`W\|8/ َEhOSJ@[0xsĠ;B!2"f΀x(yF-S(0Br4.<%vy@>A( q>h4" ->֖GH@c(*(c(PK%t[<'@"sV Mff`lh CL\!BT00M)Gœ + @ Pyt@vZn#1`p=i!+/G7_"k<,h#xO Xu}@*DbhKw'`H*>h)XHE:fg4A4;FT>,!m` -P|uk@Kp㧑+H} ZbWh탰lz'C'L>g a}ę- (Z26<qN0i+#eX>AEh7#:H4EMDR.t>,(+Y4ˍQ XK56J>%i%軏G(()7fGxݝQ `BljAD9>┘2,bи2K5™FqBdKWFu!ޑ. (ޣd8f8,X FEAfF%䍀Pi ѾsPIfDXjInhN%,ʊX'2;_stXnkE~cn}Q(y܂hox1F4+dt1Ŕk'hs3AR~7zͧ #12Q J+I# h Q\Waj7 z=_7YOzx ̩y֚ZdJ[M*˙Jv1@{6b qX`%%YnÆni4ZA ">|X(Fħa<So r$_#YHj-- l GjYV&I 2ր@<Ԏq@6ĤO`p.@"ĞcTc͠aDARcvEtNuPخHQB &A+3G{p$/l($U7 JL&︱JƠZ! qj|f eRHl36B 7gBb eT<@%Mxl$Bj]a͊'4EX6T9:ijE,ƋVhbbo(̍ٻBmW`S5Ƹl"\ziVJBĘyLwWPAf5&#](q3-f{% ?@rƐfq;wŁC 9"< ƪ5׍ՔM鲮@LntupWW3u&'DZh["hc ]F㿈A 1n * 'iB:$q~XP=KYV"òjRuk0 u? # _☯ JR" r"U XfI94v;dYaGkwȺd\)}F &@IF  n~J uazʶI u9*PK7W s~SD_7>դ :f}M;Ƴї*B_/( y!.T4]jfC"jE&QLu;i@f :M$o\Q$i+*[PcQ+/b)- ;Ai4BWf EZ)|D~Ü bcLZBq8O-tB"0G;$3N}/&-xeZ*l,mNDC7 ~3߆dV%qIppBdcDd`F ,sxBpv/H/P `l%B7RR-/sKiG4GkkUL~]`!bꦓ!xPIx|t/(QɎôcE:HZ(Z d)wr}B%P)Kb/ "ç`T'H #"hDÍ-X4&%Q6IP$)nIs,F,& p H$Ѡ& Xh؏hD6'E@EB}A,C:A\0, '9Q4wDN S ZքQgV!XMY`"_n$BQ? 1>='FG؇|l$dlɂ \ ?F;wARg > >!nsJc1򥱱o|t5!fi,F#oDn)(Rm|be9]Bet}pŽ"J$} E*һ$+#PH◨&HҪ#.U a{ް$*i 7@u{9MߍlՐfˋ & 5]AD5*.jW'JxIBQbes(0020/%0@e mt>B, )(X7 DlH0LJⱪohaI1=FEm&`a~2~ p ]8"lSLM:ȁE>^d3^}>UaE^Ucϴ'(l73*,`ݝ' ĔϡK"ܩ +2RƒXknq0AHh(@AXx\C B(IIH HЇƥW|z->Vch=G=9x+|LrԪfnfiTCgD5DD^4\dTz$!YbЖ(n08XT3'A_܉Ӵۚ4d҈h扱A4Ϙ~FCtV kM &Xzc01ib,3M41>-Tk 8PA(n|[)&Jaњ%ZVDT0sijYd_(e6y>LDZт,8%#n< YMyZgyA|#!˥yCmUC3(,mhQ+YGG(NSzӾFul|G( _ۈv(x#fО}eΧA^MWw/~1)Km|:1[{(ڧ!>V1O~۶Kl'ۊ xΧ,*W k/Js"ߠvEeWJXs)EJkfqKo;8kTG6 ^ WiigϞ*OO>km]2B=RMQ#}Ǖ t:~w}x)KT;:^Ƈ x+]zxpaǺF)߯ؽx3ŶVÇ]Bvxo]xzCvvSs>op>./vu{jzm}Gym}_wm{wU]$:ڏ:v{^/m }q׸:tp_omv }og^aǾmk\Ѫ[H,]Wn+݌tv[&: LYSSI=2jt1|,lPj-CM5oE4GrJdW<0:q51;K]mxi<6jf;;Mr Dz^ 5>Wc(%@,xK&x?NQjIu&-x!ZkT *o/3: k O+Nٯ6a Ŗ_c~$g ~'rOoWnk?%ǞZ?~Ozsnu0x.pY] 5<5} 2FHIO(ym;vڎ;m;l.|qwA]Pһ"?v*cIXeTw3VkA;^k߆4qCS+H,aXGJAح Ye lPG'%@B?Ü7h!o 5TT驾};ZRS:!52PI;wtwՁKH 'gm_[lq.}F*' R3O|Uk"uPv=yZC=v'cc}M@ETS$VNa'a%֤Mj4 "{0Gak9w#Y[Inz k5&e5ۦt+nGQ˹ֱێC=\~{Z |#@)MkZ hk7|!Ԅ,P)fbq MIV#v(<%|f'o=;=!<ڽY:Dv|ۡ6E./i8Roc& \>+_ާK#T@.[68Px;zy\3'/:Ex{u!vvTOA7H):w9Wᑅ8x'Wzܹ`ށޕO=:z{Y_:v@}G>W+}BDpuxnJPC9DD  ~tԩc={o:p}ZZ>q'/u"cL=A~X7~9`;p9++Vc;~΄2kgK:+)[k? xK.Ѓ8l!F-ãO '!> hr \f:R$~kK}l\R(į 9 JpAlgpw C1/e}BOꗿ_Vy0+V*ٱi?.TuVF#ؠB:m8o;|tQjpwh׆&c ܈X#so7p3pzPӁ7Ϗ;\2[(`RXlqG+hD #_PM9h"y "5~U]K]Aoo)_/#B\ r.Qx{>KޡI!iCL>; A4ɪhT'8!EX'׏k5/jl=a Ⱥm>+G9}x_dFGwvZZ 4zVlP}ަCc(JF\ި&nE2BюjUƱ㢠an_?~-XG*XGؔ}D>[s*4"p5$5RWԴyHyh  wmഩ)2=J*`u7vj?F28(>q >vj~0CaAǦp|YKq<)B֙>0 @ziK:i{-X9*~>m G'c{j{m^m^>=jN*:BEgO@ ]C4< \(wq{gΖ5: ^P痞>K+ujhXwDLJ+~ԯ6TsÏR'|\Ë M_ԡ⊫CB|ưz K֨]j\Pk+ lƳe feښ)ou$b@WoHY` f VS۞EtԒ4 SϫJ>R,)(֡=~`t dȠ@=aqKvJTį*0 "XokImǰ_5ectv|1m;"?Zms"#%<]ΉIVPMC@9WDաڍ#pO{m_#`ӯy1weqAp +v1b&) %E'/M&l p<~=8u`ˈCgC'㶁J2~>{?6o9(;0TZ L>{V#Ma*Rg5hVvź>&؈URYk3ϏHk#/#a2%(X|=b5D*R/u>{Iy_ݭԫjU-`s Wۜm2ڶl¶qc?ngOofg[gN';u]rwǕ_Qyzk;cW`]w=o븏ˇ[;|>T؅ 0g_(,Fm?#_]  ):!0İgS6xEܮPBy?] cɼI*EeAy+Y%P0JPQEhpMA[,gɮgK%**V\yKj>ejryWͳg )P^YLWŰ+3nfDx/;ǰ/N~lmo;A[ANPEm!ߡ ~nLN=%h3( B)x:~Іmũ{?hGHm5L+_EB{h?'$;B-–- [/l _%|aK–-–- [/l _%|aK–- [/l ^%|aK–- [/l /l _%;//_}p YkAUXk,qq` @ȁ(inM|#QF 6l7(\9`lo*ʩO݊2 s ?W3Z+$~H6?EE9M>Ѿ;~Q8Ta> ? ˃o߮PE;ӐF1z?8>~`s??_ù?/̖P'BeTF&eDXඋG';8woLS}p_o7ԷWzYor3=_ٳK>}7#_izadbԇj6c l 32C o@^\w82 S>:&:>^q5ab8ko}޾;;ֵiP;+l쟷?LfѩuH+63m̴9-eרMv YBz-6;C k;M6-jZ[nx(Oe*b (?(GA A`(]$ !M\ĥ}JeH0IQS`>zv?P}:LΎ[;ޝ\ƶ;yhc;wn־mv<v v>cG7Nw>c^z:A>x3QCϔT3Nw?v8\GvKځ%I%yoFԪ]vU@x,C݄e pTlYiK1OV$pBj+ǿ6uJQSel>M1 e@j?vM$>(ނkq*.6RKimMp|Hm 32Ƕ\=Amd,nM}\AW]Բso}Q_ M=]6e <.@???w9u> jPCEUqdw9hcv0gC~_~[u? Ԟ?0~5;Lz WnC3xkcd:Traxn ].ngm]:klWgg;ھc7xHl}?Rہ/fYUev/T۱g;$<&vR/tv'=?O.'mr}1:> SQGUǸwqoX9Gw8_ z__+RbnjM̗;U|P<5"){NThܸVfȦ*`B K%Q Æam]?F[_ pm IzÇBww6]áC~o^8^rkW.F'zmkV+5aTv;=ypcx,vc. U~K;vׁǼwHϱ.:2w*1N⎾0uӣѥg_2ֿ[7d! ; + a'M n `aoS>d}o~!7^'Y<^>і@{I (FѲD D+n @:8Щ}5 X5}2mOPW\c$m t[௬E=j>ucfR<-!Q@AR#6"(H2.Ò G2 eJy*p]2M≛ belAE6¬x4ÈdT: hC!fY=<SKvn?(Jh{\ۻkQ )vCSI}a'8@ [4T{LFRЎ}0't;~lѣ헏jhDUРL'O|s󎏫y}?\T9ԝ@E{v8h)pa~цަi5]yIeX!f ׎<:vO=xڱ㉾GK?Y4' 唐 jذn; k}0m  xkK.--]f<'2hD#.D"1=8Vf4oÎzd6[Ϋ+.@RvjTPp-84d8HۤL*2mKY4hn'|{^n\3#@aH&)R @:R) xyќt lOqz:UZS5Zѯ|`TvleAB0qRnd!B@}~^f7 @I7G9 @{uܯ\-uVU=!Y-xV}=I#=H]լz{b;Imh_ګ<8Ah]GA:Za; cw{{l:lloﴽ[Fr)Jюsv[]wGO>} D DU(;>f*g'^]P~L?LUeMM/[x+wn98-UܟOܨ+ꏽ eJ}tُF>F|Aύ>Յ )ENgaJNQ DHp܎"):18h U{#6]\,ۇS6tqU>6ph'kҩOT/>glGO]/_S๎}<=~ W>}OV7}A`Bgx!}.s k Aؤk%7BڗP_k!o:68PנoMb:zJ|s8~Ϥf8#ߠ{{H>D !jBF//}>#<){S(u@_6kTgŏj pGuAʠ*X}{P {MTzLUjP"wVb3HOQLBYh?M46#k' ⯽PJ:&Ow?⿝7V Umڎ^zPzsgj?Tpw~x 'q-sY4&RzdlSn.k'yqP>Piڇ# p W꓋O~_OMI`5n: ?R0OaW)Eu NjǴvlz;}.d /˾Ʃ-*xQx~waJ`/dO ZW/P?IJ'SW »"o^OT{_fS$h@o{=,Y+nXנ$ T-RkOue߶ZUyG=5nmwXzl.Mf;ІA{N]C6YFz̍7۶կQϴ<#;wܵ@Gw'(amw??<ݾgHԵ {zGviW<D13ƺԮFvEڕKKҩ0fJGm_~)KSCݥR%})yZ_[\d|ó?5tBeRPOpV(F%l!4ȸF6ܹvDƉGqUt', AcÊldSSj?/Ԟ`F ޳öUD?:s>O<ӳhګ/Fv9\m}QE@SӔGSNvl/Sl禦^Z?u޹S;gWG{CѹkmO{gqgŽ=G\cpk_9r/D"jl7̥U:$UBt~mE~g.;7.=LJP_~7s"aOoX`Y[/ٶ|%3Cx'mz+;[{gs-s>x~/n)3ڈn}0 cU̽xB:ݸT; ַ(+p6u%ꕿ_3zMHٟIP9د-'_+6`k5f{@FM^& _٧NrKm_G&O>ZlKDK_Rt#;L}t\qSUvJAS]dE m۝7׿P''{=E_ys} c=Q}'1cwtD'ְ'jXW:Jv$X;^Wn\x~5C1W$gzwہq݆V f+wo;u~Gu}d-}F*wh}ՏP.uc;v 9 zOZ Q<:lW޻vGi])mЌv޽˵_}(laShogj²v˖L|o֟Rݻl_JX.3Q_xv ^|T䚦]D!Q@L:8s6ƩPCmW͒^S{id;o2qG_$mH@>E]A Ȏ'iٺ';~A5=+)Okm7v~ŀ6Jm&#~;{q_U?h l 滞o_}7{5!iceo#Iid3zjFhWR@XۄKjQЊYC ZƊa()&dp<:Nl\w(Sٶ՟>TE[e4si;{cħ-z06貳 %d1De;>rОV>Ϳʡm{9sK]&;vttt_.١7߼_;x͡?rЦMRk' |u(cI.E-<%1 @ "ڲ-[Ȧ H @ }ݺIڴyYM6{iu{I~eԯMӾ4k6II~O[wιΆ(9O{.{s:cuQY$qO&E@|elSWK`GkVX{I3 |y}7e:v/ŒncNb..Bz<\J-Pcaw[GRB'903r\Ҟ0C_7_~׸e36Fsk'g -Vy)v׾4`!)ͥ`׾&"[|q݂XH7vo۹SQ p\0lnߗX vpARrM Cn~k``J_I[;`Cw-70v?*Һց]kCJ̃IqcƼaG:'+~Hd|@ {/Hf>E[:۬l>yvdcsy~|i?//o:YR{trҟlm]7gJ?v|hAZmm˳U*^c(Bޠ_s;'<{4O0]躒-VjY=f]5# QzSd` EsDJQWxGZ錄tbyj>l{Vsd^oLvFԁ}R9 z㡽}7ޛL_;[%9w;E~7ޣz.F E׈&FfyX{͌293Bwd6=G} ,꺎A1} ,nsH?#I},W%mT >:bW;4RYIhD<^d$B /+|ejx[ >.gwI<M4po=FBE8ɴAAP#Yȃq)mYȅYBƫyoVzf%^z|yrp/0_jS<٦ Ror27XG5-v;xVqoKv/cc 9<|=Gk9{c֎ko]knxp6mxnË=wl|x{77tz7}tC[<[llU^[ҹ\w~]g_]'u}t۪m]ܾf{d{qгPO;έ;,͝ߵmW`]w=][ww'v}W=wܞ\=ss{ymX8B8BYG#uxqq6CGh#md="f#^="0\ǸݨA\E?7>7rmDQ5j+ey_T rg=ӧ0'<|W:1̓ /˗×jmjZnXCPp CCPY4.4 ~3z Ci+CРCF}?rsjtM+0H,Ŕɜ˳R5ErF֟QD)*d aJz2L]B,jתnߕXdћd4g e(~(tzT:s 6\į9-+XZϵSЄNJp3ĒjU&JJM&x,RL9M%™T#?Q#tZ>G} UmvȺÉxLNp2Mi5!ߘmGI5-'UQqr[T鈦$rDIGȜiL$RaQtHZȉ'Hr4i5 S{)W2r* ǣ -p, ǠQ,VX<Ch:D2+e ITLIXxX ?"#,eJEY" hF %V2NE)p,"PT*"8Ȩj!ÉLn#3b.H*L^p&X̄0_ @\Ar<$bJ ~Ҁix&ēXTN#nD8`8dLf(JrSh F $b2we?.aWdֳ4αW]:y/ $uW5^ʬ7 %赦nR iVz$wՖXYweC_R]8:Me@TwuWfަe2" jhXm x8XfjϭltNtֆجwx8puP% O'ȪAv_5]jHEfR'9݄ k u9OkhDwK#XY݀(Mۘa[aO*qgԣzX1~`U2Ԇ;&mlP<NF|P=(?q8jX8lA,V@*#xRj3)<\Bp"C2@-6 {Df-0RP+he㒀+–;#@|#M{HU[I;5ӀYQjKN@ z^ηv`aS%&דԥD~huP ICfIFiP7o,$ J g DSUc%E O+b? ȉpaS^@2šĪBU8v~[ 2lૉ4Vh(`ؖ8po@tp+A%*~pvb Ƣd' 'P-)q4NQe6N96_gOPJ94L La&ĝ̆ o{ B5X#Lb8JU0QE *R2±h( &PU]~F Cr$ TG \,[ЗetOz% Y@4b)j!!"NEc |BqF&#Nq1PbS`r&,1Y`h c4ȟڐp8 8H}=2Е8Q hO%CQX@He4Rq#Etq$&TB0Jh3fQ*4HB-ۈX22A5 ‘`V<(UŊmcoBx p Rpg` Ub0aܣHdYcbcB %i Cvj("ȉXEn}lȖgLdO:D," ?B: eԴd!,b4]T*VP/SPkaHllpqL{2:)R\;Q#8?8)U#j7EմbM)4>0%XSɔ꒚IҬ9Ě(E L :Day9gRsl1vAbvEd!r*AŧrLdt!N.V`n6fN}⚦Ť]sfFـBth28d-["@"<YT%ږz DAP'02JnAAs@T):;[UvBOH7jJK{u83TFxt'(WfŒ+- r^Xz~ Drl#OX21Ae"D**U\3)j4AM@S %"b5`?'C]E-G6%:(@!\417Eo`D-þQgO Z :at:M;,t`lPe$KDQ QvRӨ;v#/PuBzN-G"Ui2lwJIP:B%BI;Juj?Dk }P,9Q4T9p ;0qT7%ى(r* }];\R"!bD4#oxNB-8 ̰_xh Dq*eVRVPmO$jV+{WpT"rL,Hd?FUv01c*@I4F)89Tczc0FE!~W5ʬz'`u2ʢr*$*YuMU۲ʼ諭R^{$![t (mBE"P4 DRř>-)/EuZ4+IPb7{g$.YTP>̷HߜSG anp{[բ-6mU_(VCE)E<9$Iը!-mGƎmJ&dn"gE$&$̆dg@"4KH/zAdKd+,[C:M<2\[qH(% SDE] ^BQ)ˊyr2m p0H 2PS@g 2U vH"$"> Li*&Tf`Nt)l<Q4Q%d6dkղ!$w)b*rWdہ.!dUb +-K4Ku]9)+qN'F._-9ŰrM5]]#ٖ$ ,<(E { Mu2]VJu -NgP4/̷kPӧs: tp8@6Zk$TH r, bHA:8E?dY*d2rV&2Wq@~Z6]K7M8[v>Nl^ضJE=FE2 2qegM"2/LiBRiq>;cHĜy%˭L)]>@>'9_OlxNEé4Kѿ.$bpM16tI:KhC%7 X -a[pw5Ơs}Z]5"j9S%b)b:[\O9kubV ^žΘF:1A5(,ے!4Uk ;uH@A $M}hA3"$dˠk>bYJێJSKv(vJi N$2l)q2z%!.F̝J\\hzw\a ]}Ia+Y64f,:>+E/&EV$Ge^{TNk5]XSՀRU7>أJv$(?G:j2n:MUDT~MB#[w5 ( Hd[|N*ňx|grY+Eq7g:g JMtNgʘWXu"}P#+~6Kھ\A>Mdӑ[ [..Qd(/elFR,觺8! #J&F+:PtPij۩uZz*J.*S5YSѸI0a4=af١f'x"V`f>=S g_LVf 8{*Hc>LpL$šBLC8s qNzh_m.6b; ]4obs*?ABb!S /Ҩ1fRahDUi7sNSF -eDsGcGY\ee 7qtT 0SD4E6KX^Ri dP8 -5ިB-'B >/XgbqƎE=.Ut(B4~t8IM&H1/y9 [TSLG@q4)Cq,΋bb1aĈ+#T0˖dA nrҡpRn]3 f$Nb3ҩiA Ta!Zd,VRҒFS@JLJUJW|GIrI3<kLҢ`Uqq'T~V z\po$ AN:wjUi (sz@$7s\K>_t؉:$CW:d2IFY؃0[ZF4ϓYG0 oqѠ>~=mTEQUghw@j'"葡H9dՁZnS ŠC{,h߽:NfvB#Scpd7цlkQ~QD /KAW64~F<u20 vp^,)ĊS:Wʨۏ ofRN݊jn^iKvܨwwQ滴ح:tީQn*yq 0c.VvܩvԪ3WPL%Ml|YXgD5X}$IIeFxtvrA~T@ 54 6↹s݋/m}@J/`uKtzΑ&3 vSfW*79˙'R4bb>Ls{8ls g6SEz|MLȎ<)>a1ff2ulאS듯U/Tfʢ+PԎ"[Vр ZhZ-@̼vI)&0D5J¨(oƠ2ËP.ʭ?,yeEj C7$T > U$.Iv9j5ó$p2 1vt43 29  fFɊH6DA-/K6|Q=6Ub1r86"[$xwL2MF%ؙ͙0&UM6MVQ rʈV⣘Ɋyh{ TPQ~av)d*B`Cޖ#qgsb7oƲecЊrBզнSi[H)*UL0 7 ';L>h O+ &%30 V6*@[0>-*tжS軆1WR+IDx#WNS59čpb.Ƣ9r6j:in'RJ#(UMD!8)\<be]+t;Y2"BLg]* IzH/ !u  R*bP0P SA%tl͡MOźY0f2]Ҭq|2ž&|lޓ =jSReN1 ?2VY82GSY ǘҀ]E!=B^\7)g:i9hFa(Ul'M,»غ6흑jh(ۺ[ BQjg #jz/xOSj+ cDZόe ,q yb\G묺 Mډ&8FWm61h+Ql8'FEUW'g@pgЅ!IO,..d{9Sˎ|[ڋ xȡs5Lg")sk $̉0 *cBrQ6$O&E緰#KRqj`%sNAUg+:˽CjSoYm4NЊ١rΗ3qq-6gXiܟ2gy|q ސ62'hL)B91;D6wi설V-эrr=Xs{zU h6 \cI(x}}C +LSA)0E^EwZhF&F58\ఠI50GVS \-s NШϔKۧ-z}+n7S-5ψhLaLJG [Y n7N-@A/ 0n 6 Ϝ'R&d%Q{RA9&eh)\[5jfmDW\:wv1&ȴl V[Q͡Z=ݤ\9]V2SEeԻQ ՓZK1d#W%5"}\Vx?)JRnؐڔyls ~X12P1i[g ǒSDE:νMF8ݤG@L M(.cv>XoœQ'ʠ;1Qф :>$iDqPRI0S| !E#T.e2s y 8Cy!*N?CoHz gYǂ,&Yņj"@Tk)m=F?C 'F2w0DBExEnG졂H"r"0;#PV 5.^(t@4hUm(pI (7=$;W4eQMܦaVE-"kWkmi~cW5 a<싨i;r1#zI\U[I hE \(̼ž), jɑ-);03f]/9@dRi9"Iq(`V:[iurVͷXȜAf&L4+lKFQ ЯHWDJ4`ujU. <%,t0fM' z9FS qWT?;f7쵿[sA*gFшE"3 SpM gE/ 6@6Ez"H]inRqH$J074NPU1#Keh,dTx5 `*(Hk11/!I,#xTS{p~q &(..q_eUk6k ,.H ߚrkC&^ Bz^Š@`{^ rHF"4:i|ЛRa8T'",3H#Ȉ&x&$8F,kUacVe֪ZMȢUޘ,EW9eGcR8d-9]x w\neLÅ2ď0' aL ɃPe=X zi)Q[K ,N#|TQ-/fb >Nq bx{=1$ݙ+XQ$hij1@ņ->J0Wd_|FEն9եPMNH,((JZ6?&ؑ![<6pik3#LqF"k6T|A%_[jX9ӵ{c/jbݘ9X{F©x9nQz0ưĀjD -l3VH kymЇ<4=fTN~vƲHx&CcA$.8Lq$د`[Л73qz2PF c4e57⒦'dܐ+;'Ho)I"tK#4Ot|EQ4??jXֈO=Fi%J Kl:t#-sD[ǦQ@R$`fEb(X2Sc0 St <'TZEh@OTx2YZ'/pQ,d҈)x>[BB# l94 p"In,ųG,[S=z@N3G.^crR:#ƭGa }& 1`,Ktx-9\dɒ ,&a0f 5TG<2.&jD,Cƥ\x>%lHqr4dxIzaq%U,=p M rI$,S`((ئ_6">OSԌh*SuiVTIR+*Ċ W<*[[" 8@v(IG_C?":&x =lW {[Wo-H1z=KOŽƌ׆(* )mt%r["f;l*1ٶG83Mʬfkf$n\bDzF"ë́% |'8KQJWTRɉz&-(FMDa0ϨW1Ega| %W$/Ɖ$]9c|@ S裝BKHLGogZE5T@:Tr-'BȎoCK $ɈTg"x];:-d;:\F8#2i;EP3bA9 kU1+1@*:wȯYT#^FNLxMmÙle2Pip00+燅3$i2g5)#*;` MXb {+M 0#N\9Y8UVbфc@L_6}="uC[E{#K!U@P*K1{ NﻉG c:gMڀ;4$KUQuKISt_!d2LS(TGIXm0(Iph&e)ͨƐ 87k`LaѧQx:2cNPt0bP(NosR<`1^FZ!|{^b=8]!λ;wzO*n2ac&^ܗH9~$< xLBJlƈgyV7oe'286Ԧu[ֹkhS-`u(:l~Mm<=WU/0T ǫt z0\S`j# 7sӍh qJcH1Fr/zei9`ʎ_ so[Fiq;r,<%(Q=ћ 9zWP*8d>>G(݈B4{SZ^PW`w@4̡8uugԛJvq;Poz+R43g)mS89#ujV[4mf49Ba,,LjMjǀJ)D;@D΋yVTɽ'aEưhY$9DT2`PZEo9IuNy~e2A`Tр6<9 'kBԂ&/-N <cdzR)ӻLPE_!Pc2MЉ>t}0ˌ(/No"Zirw  ) #,4o$&xKk\LTl7!eqϋяHOtZ|ZfMt@4f2բKC٢ M=7}44٤Z8ƚ(Umu;)bѦj*E1/i;dsؐ[A/ٱwi 3&ƜFYtLkPs2r*g5VM`L-Ws|nz]\-ns31)a|R3X[ޢ54 >Y!ϷoZ-S%աr)?t>ԀiM_,U8UlLrWoFnј\$b&AJxcoՠD[$l,z|ȣgb[Qצs31/C{ᓘg }= kayM.,ܟx#l EHU0~_qqo۾\rqAe:wef;<#iqm^O;z=>+[<1'!دz:8:G>ҫK1,ğL>دJY%#j䛁/m/ ~Yzy^|=/^>rˇ___Kwʫ^}ys<__:|TGˣP$IGҫ%}2һ8Pɞc=Gz$z=ўP`;m@{{g7'A/^lxRco4KС%*Z }pxoUe⢴x3{([z[|}%i, c. f, ^m15ٙ+%k4tJݾ{ޡ^ޡUxe]-cݺ檵%o?_AE]{w_b$iH<)U5KCR_fcgEnuJI!)Փd*޳5l(^Zzck`{ּ=OY%Y<<0>@1L=]Bx-.,JUַ$*\jUcVz$k}Ңp#~>\|<{CR`YڶϿ0&>SaR=k;`5 $Xǰ\5)a@v^-J<+Cu=c^n}ulOqvs|8w> #㛳sÆ7ܰqƍk׬^uÆ7߹?)vnܼcÆN(wlܼsÆtI8cV3]g߾GooܴsQR;kOBܰ~禍;7ndށ0c|{xOWc}qjݛR4dG+O!Vƺ6ߵ榮M,--݂e,껗׻xcSخ]P⦮%6ƖncK1. 6a1`g- 'xD$||KWүz_z{{ ~ 胾a{o}B6ᓛ%q<&`]Ǽ,E #lqm.hJ&r }c Kzn}56փe,5F8DsLj13 d%?'/.1XnR6uj KyVIuG޶{Cx7CRo/e t{&fu[;=:#Wxϵڮ^e0ooBH Knu~c?GbuѱSNvxy$i +6#X'%7K{/l艿]|}WS5+??MmyjPv5%_@hDd{Tbt;FEZ>v O`,eV6Qئ&]fU׽gMv֯[=vlZpwtL{a'wp{;, ^[QɳI6/46cZ(,߻n*[Cs`6|{y*!z5Ị{Ji%ϬgjزS@VIw]Go,Jcc|x3c.-I{VRƖ.Kq MƈosO/pBdӥed~( Fƈ.uyv೽>-4KJAWOi,,IH_oyK7Xzz/=M~Fz`Ͽg-I&鎣e_(c8Lvs &}[c,$[&c3-!bCldʿ۱׽mg/;M%a@חZ%PK ec>Мr׾ `ۿ{6)-O/(w bo|۷NK?8]zR/< ߃0p=y @0 ]vF`q;`{W>\|{|%,Kå`  Wˏ ?:zr]_XHg-;ߎ-;wlֱ]szfu{ǶM*J}6Lt=]vOo+]>Ȱvts? $..<[}ځu#&$N_wB: UZ-qO]7q(JbN4Yt'3PՖk f>A/<ǎObe'{ȶmGӖj;׾,6cUv(mkVsMو*7.a:2@^YD. ygiAa2d% k&m'W z:iF&WհE\HKoZoh_ߴ)y~}KtқIJ_t󦗰C7 <OvCFN&wp ?' #+%bjgITDC`C[",-׮{vɳ|c?( ! tea^,IKa VA&% 48c7K(A"2*h`{ ƫ 7K=6Z!(v!01;D^ݓDY>)YA y ^ ^a cpa|ǖ_qd/}Z$*nlz˳U]zkl/o-nȎIKWNM'$n$]F `GyLb%p[7߷ᑹQEyQ >37O,`q1=}l+LQ~1كRL]z?~81\ MN[wݡC??>,b N`E;J$sݗ /\Kc8÷`~a=^Wu 4\B4ɻ{jȑ٧bw{28y@ -.?XzDQ)n,ߛٱ{v=Lh*Tr;0u c{ay$.:t)I.yV{Ro'ɯ'}>xDalN\=pETk9$x%:ck-$iVY͛+ԩH9XL/%Vo۳S{8%Xz w-"~嗡eҀa1]tD& .y OTpQ@g+YEkQE%- hJc? 7J]i`Q7ndWl4j^sfׇB 2$ZMJj~ kH^+3gL#݃jUڋ60szwlw.w8||cwIK7Ǐ.O@??߶vSg6ozqWz> BsƑA"px'xO<9RWT>(+EnFǡgb;iQwUz{b;Imdb{0%A:3l-:#qņWoؼz掍[߸z~xŧp-4&cj߉>7w߶qsR}͛I4Do7mGw¬CC$R9ov.o SUޣ'~yOwsG_vHBi|J?gOKoT +]ݵwo|M? %?d4A.LgaJJI$DEH Qv4Fa2plx2^D]\.3|#o*=/)֔UW~hvCO޴;v/8!^}jcF]#oR>NՆd)P1JcO~#ҷc̯oQת=;~ |l/Q{~ [xu[=j2-%jIb{oN%7[oyѷEM_V-OkJT6W ;0G<\%fݘAj(Ʉ)e`/,N#pj}RБg^.,{8%~yZ>lC}HIf_d}Ͽ?IGd. MtY&8#cc8fbm]~ 6z\c8 b]{PMgp'nS7s=:ʛ>3c`cocMo]XA*vJ:L4jǬ"-~HIvp@ zRs58uGSJ/ >6zp}{$Od+d7G?m{7I"oJ9Y%~'r'Xl\q.(UB3%}8!/=燥/w7^0 vA}?zp׾qE {WpDQ{S=}&6i@W~nױ;[|5.>KNSO:)ThB/en}o~}[`-B{cϯϬWE۟I+)Xwƛ\'up4 oQVRMzrˌ^dO^y~R#{Dz?O}wO΋*b~yA=Pus= {&|6_ ٧uV-^~ I^h8FЛ$!ek\)HutYE.7zDn,..(#ݠZ|=db$Hunܐ4\<lQl!DI_5S*R5{!u z%&^os{z]3Ϝٵޞ=돯=s f$wɱ΍O=>qgaCUʉg"gN(b<^@,Mi6lX{zGu۽n|6FK.ݻmӷI7ˌ-l|,RKXN7WKT5u&KVG/v\/|`ᜡn{Pdfaͳ?֋yf?^`yryzzz'۩ޞd/l0oCr $"4lݓEFĈ16C_%f( X>}uMuv޷i˛ճ6 zoyBccm&4w9l+ڱ,n` dh\r1F/:h1Jz}ΫO(t5M"z"57 3FfBk;zGl\gvDmI^yMMk* W%>}6Kd12٘"1ߝ_nC.R=sV;xZO&ع}w?|wn6msCC<{`aupɳgCwxbrms:(,#XZn[B+c2]◠>ZKIQd'ws=|F:71V|ȮѳNJI%tD]RTnQY'HҢvM\4 p*" .Q kƋ0c;CqF@jˬZ^be ::Ŕ:`(<˚ {׾4`!)ͥ7_HߊXG;Xwc nʼnw b!&%cWoNF"`2q(g|_2~XG`}0IQSke7K.8ͯv lZ1ik~hUC7.?[VZ:սv~HZ_yz9;zlј1zo tOxhSg7O66?77n̗6s %e7K'/ֿz. |SkYkZ<|5dy1gP7&W Sy+(v0~g.CڸDxumkCR"zE_Q 2Hyjo2L^#Lz^׭1~_+yO{]^y NBr띔uZȳϢjё1ޟ[&U;|z'[SaLܳ]$ x6f3hXԾ}(|drG9.y7G(ޱ~.J>{c_t4 W,F412kfdə#1<9[eƽ A1} ,nsH?#I},W%mT >:bW;4RYIhFJkPB8"[t eJq6c9OyWT#H>'"6/LB dd!|I,B,~~l`b/uߊWoje=CāAW8OJ/x={q"Ƶ3s{i RsGןr?6mV]ٽ#Q|=`Z Nؿ.mqdI|+30޳ z,mR^z1;}|~ W^UYƚkN5ر㹵ڃkg[گ۾?^c\ cFލ/nM6M,onlϖ+[=[խW֯t<Ýg='j׉k]ݶj[Ǻwt/^~c9S빹ûcgvsc;;swmup]*znw}v݉o{;=W|`'{i,xކGyf:*&wX_Y~'JH_&xJZR6Cu_y~ڳ#FH_$qc 3?Ccx<e^Ƒ1#a[d%1d ??Oxrn,dƒK]ƒKn,dƒKn,dƒKn,dƒKn,dƒ1߻dƒKn,dƒKn,dƒKn,d\ڿKn,dƒKn,dƒKn,dƒKn,dƒs7 s7X2wcɬn,dƒYKn,dƒƒKfX2wc%s;SUb*̤3$ݍt&o⫯oL3`ǻroяFY{M\oOFԈel'Ի;}ܸq~>O^zK_Lpӧ?̼o}'o'N_xX,L9O#>$h˻t.E9w!w7\LV=@֡ :gͫc3l۸vo1}{?ƕ}|jL/>E>1]ؽ~h٩ݗ7n}uwݼeVg7?Vx~]=kz.^85wsfۮԯꉙͿ3Ϝ~薙f~v[_ly~g՟|Wwt_،gRN]83BczO|/vv%L/~C֏=j~G:1Wiy*#Ͽ)]v7"S[Mť._g&=_~8g-=c=WRl>xgW=?};rt͇ttOi[~X}==޾F{~۾[S[G:L~#W>}ض~_ܷkOw|j޶?`Kpi o7>ſэ/^s]Ç=Z֏o,w\(M>a{&Oh?<~7mz/٪=G?ݟտٞ9۟_]Wk?p쭯~c{:z;N|?_?%.}uҽ/l9?s~ 7~pn~֚{3z_2}G - z|`?;g?v_h?p~_t{:-}OяlZ3gۅ~*ug{agjy4{n֗ CjW뉝ZcK}y׽g {0ztv?o4#x-_n-&F7GyAZvʽ}ѷG ?o1V=ryw-0~3{|yg<0z_wݮݟYߖvc'ڤ4]g '=߻/coܞ=#]c~+K7?Kw^yvw&^s߃?2(/L{dӑv 0=qϏ}hma_]?vmw'bbϧVoC_~bWk?ώҶ|_G'ܭy;o%'{}7{ov{{x?3=}"K_~ݾW? xlړ7_|Gg^䎮>o rgDn }9gCǾG?6ka?;蟯էl=~9kgiUqjţ~{Ϛݹ{:hu9=kk]?E@\j?v쇋(nݣ';p}m?ZTX*,PsF9͙UR*1k8C x&2V6>۬.J(4\^ʗʘF-MTk`5 8'z<[.׵W\ƒ²<\, zE`o4?r TЯB4hxtE/!bYaJrp\.r܁jf|ZmUf%=s^)咻n!}'N,s>q3 v,,\m Y?&\P6kvB+`E_aqa+%7 9(蓹rC`T*ȵ|. ѿp,g!bg,dCלx@\qMITp6=2 Zrjnj_AђojOf'l2$2B~'av&$U XYz|VT;s:\C扷C֔²}[P25{]i[%F4\\ݵ22sAHA+8 IMFݑ"nj`a+V_T>T槫*q mlyDQZ-`\W9ҔhP 1i>0OjМܜםpq4is+X@+IGҜ89D@w>0[]D]z6ZiF/$؂D#S7jX:bEp=^pmt[r4\iʅ>Wq˅!6m&=XMyXSe(oMzrխif2{!L$dc{QXi%j(yҒOP|Ns ;Jp 2tnJ\#7LCS su]MXx<|a;@>|x+#\~rL~KN>sӃ}Dp#zٹS'ɓ<^)>^˜rUg;t N֯>vpt|9\~ X\pFdk3O5FP׆bYH֦km.ԥ]Kvq/jqf7c &RތWnp%؛k;w%j蒸ζ3yCnWL;{Rv`*ꥂϭܻIRVohEZ706kȹdr:fFYOvYMq͔ahӶ!A$ ͢J nAlhim4+btNKv7{{Or鵵# 29i b>ŭLeh(!A)[fYݢqaku6:w{ kt̮+]W폐!8:5S!Q`V*=RuڦTN6S\ <+`Kif^ Bdݨ=&`., M֢C1|;ˇ5@oS&a \X97NmG#Wspm ȝբW ni/ykj }i=I{dNW CCq'.QV+_uö8u✳VAUba*ؚmSNYDŽnC4=\re=NLF z hҒj~ġVM1yu֯ann{u71p$ .5n>&m,s:,ZrעFQ֯9nDzՙFiJ)_&5#$ʅ鞬VN&0NbZn)jzj4YM.ܩE@.|äi_pMWu1XI+=ư䄒VZLoFiƥ{)cAy@kmY]Ԫ8 $JpUBǬCl'l%ZXb3)l:F\"vP Ңa[5V^+nS6pYB/O'tĐ6mn&\yA"XFgbZ9l=t'VwX#һtW;*sscsk笜eI޳15?`v$.QӖubЦ .ǿED)|SZ pmfwrx*N{i#h:{{H[lG)q61]fEgx+qz^ǘ832_6J%MoKz"l\ 3+W,b`2pR4^(ONF r_A3RFr$&SJRG\*UndZ;yсH zAwԂu\@C \]6󭏘^EvpWX@\UZdcESd^ȹ֞׮Rr "A+=`7+LNLRcPS^E1\UĚt/rn}mѪHT\@+5һ?n-ImUvɉE HB<ߦ;BK{D5wYL"AjUGk^a;}&M67XWzO"eM՛YlBF"ZDZUEN ưɳ|70,"8-m\0V :*B2ŒɐD©dpĕ8`O9M&0FEo[Ԡ=2§D83m.'wy _! O#ͣbtBkZnIj e|nfF6'NҖj8#ig "v1V&C[PSaID;z@t/02eLf\.g4]<ⱃp$-M,ē6E sQQQ[[άrS\&!96XB9Ww,4o./.r: r)ηI >e6֪? qF\%Icw}5ȑ#;v5r+x9<~1޹دw r5pi w>Ix5a2COn6{9Z=^~z]r4 ym>pk ܧ[Pq[S5-ñυA|[ܝ)V: ^$8Be#Ӛu`\'?;b+s{e4wmဤmd?p?^UߙqB2ƒ^ȟAi(q]-tVr{esG7 _dty^ ZtU5]%4=+zajTWe EKw]"a7wIO+0s|e3ssxWqR_ @1˭d(oW\K&%m}L ^7JW]3+Ruo4e2ubMĵl(0Z*gNtRy?VH3 ٲTjFAkIHMw/5M#EZ`cE+V],jN2{[ B)Z?ts-bV-LZX!i&fqKk)0r&V!rx2&+,X/`ۍkQV+͸-fZ& j:[1 Zf侀b&&/_q-hb#g2i ˜@5pr+i&@|oL)jt-]مZΝL EkJ ǚkL7j:*geM+gse%Tp6 kJ#21㺃ţ)@^­tZrݽP2鰃!ZġZbkҎv\$Ls"zʬ _ي@g,_R5DrifεS2n˙XZJ[ D>Z[=f6̨{)z)h{V3mg&c&rLV0 ڌ+Rtuėj Z̟jVK\ c*7=mSnR"@v憂օnPQ-,kST{){id^ʺ>n6Z<Һ Rw^uT-,,ń/qEo2λuߢ\8mA=Kake5zvyљdVWƲ.B n%Zl k R+܂?Xp_ZbՕiXfv\ټ;uXxWd܊X.dZ2^ Oayn1rF12Ekȇ`Yݩq¬̔gZ°"&aHeW):cihuReB5>\kD~2&*e[RBhԍOX޵ iQEwQǙom;ZMXɝʴ\VxAzT0uX{mQxY>7]-7D=*WʥCkharnUTUuMD,DD*J&*Gj,.G^Skw7D[DX '@,M)Uƃ{'g+d jr.{}! l-YZ67Y-\gIzWP1 F>\R62R:8528X KB@w!;̔*r)M檥f(v_3A\^Q°:{a!Y:Bu֏|eߛEFuR۫F?.d^TeBpad*~`hĘV顩P1T ]+d+0|* ~.|z CHE@6?$P*#}0{j,)Il 4{ C.^X:5NlѬ5AE(u!P*^LQd<`%VSHg M JLOdjp09Qq}|j _9v'×Ar1yWX>%MLϝ W|(h}y0vYR`Cl jps5^ĜApcA(]F秔(vxx2@@  ..ʡP%T>]bgYыh= UTg7Wi)+ `.^N+``8CB P"!V/z\ۋM!e]~e82tsQ֫mPDgE9e@-U`ܕvIuIC¼ O~{! .# g<ʇ˧lb /cUZuh5FaepR;!1hqZY"ci=`[hl˪/@K(Hw1q<%🆾= ,ϕrXO۫_4Ӵ:Bxpց#g s-^zSQ5ÕήE@>Y֕([66 pp3t.\-8u{L@,7…7-{dlMWs0^SA̤3^0Ҩ]^jfkhŀEQ/*[|0[0{R5.B؜`@&wȣig#@ǂ$9ubOՃSi D!z(ovr/M8 %5\ӯ4- N S(%ay5ؘΐXF((U,4''m0ʅK1PC(or,mMn ^0t#h1ۮK_jQ-!`k Xnj}ѠoSn$i8I*fڑ$aMّ`kPRr6P#'#\!q;2 dZDQ͊X.hoƞ^AgH*`^469\Ns)G 0xa!<ϔ  ۜX&oN4l;B`<%F`WJd;!`:uk4su更转Ià1z =`SA]*yfH0dNYBi|?<+y tQ,;n/dVta"*I6Fl-PҬ`iS/TxkZ:æC('cLY /0j~BM<}1 <w %XUQa&P*2*7s˔\kϭ4lEσS!/2^ʃca >j;@ipoB0u\cMrEVrs#4ZvxJbWgJ]8?[*JS?nf!-;0VЩ3'MD2SZEd~0,g˃sᡰ~E(*NgtQطQr*QXЖ0K7j7su-7"ЧhH)ݨD Ű{-!y~]X5^Vt*j@ N jE\OTkr OcdĶ%?^H3q\p: *2qs}8~jEN#3W~A|)*r:xbSԫLc#L̻-_aX: Lgtn(pp 8}('"LD%<@/J:)<6 R(sBېp䥐%LM89u5z,Rc>rawzhh#,a?yÇS=Ll!M|1M3dz"M$Ԛ7?FB gJC~|/JCG*gN[ z"-C!t&k©R Y /\hsӂF CnӊTY4-.bٜKłnkr֢ntf3Ũ8s(J`=53s [=Ϯ 4HpyT#%v ~){|b3%0v}*. 6eJx+!k4tx/n7\`+FV*D/ճfcl/Zd z>\ q7ovhcqMج:LRE|XU[B$RK)kڟxuV9;6Xx tDc,='fB@u&I6$}M/JSUaT9d3O6PڶG'14t mw+cb$ FHPavMNC~Ӷg i WI~ MYYz,<[Ѱ*}5tԂargf񓂜ku FJBua R%mܡh20mU_ $(rOUnO+n A'.\pP>G."] .@ĄQ#ìC~Cc .p8ÁrӖ}>k=~$uQ300l==z(cX!po2\M`aŐnOԬerٙb?4;Mz:P('D3U}-Ð ipFli000zP KNWHi"xҡRmhUOCt Ӝ.g~To uX1O ,35 rk ??= ]b{)T Clh.t9tF8{_N i=KY\Cx4V v0p`2ldK\v&4lPnod Z&Ke`!=_U(l6`i ^oLf9S r6[CqS P/y'ϕ* pcyZLY3PGi~suCBhc^PcQAnV/#͝ȗgr;Z=c鬨rlwEY2ӣsk̨G>\ BFWeǝP{x2wQGY9; 7 "гB(J-;tct \$o  ]vZ@̜WE cQX N3k~>mZ%F q[Xn+PX Qph/M=&K'ulЁ=e24BN l"DZi0Dj䋌Yʀ$`wS LDAE_QF>2 /8[0uveA;e‚cxpvę1`ˈ8Eae@d"d3d;%,}~jU5`4!?RS:`lSn&!;eaɒ~oYi`emǽWf5`., +6ˊ5+\ #WM PR5$D2d ք[gp7y\C9k!'q@UZdH$$w04KKڡ55A՛Fi'ѕ:A.!rQpUcg]kgpa)N/9۔O@'QY,al0ݤl2?"gz&g>x1bxoC*nߪ]G<5Uz:4Hȏ6G@Nq~`6?m*hN װ(<(ZA҄%r8pg/9$ǣlod-&v{'{'-֑p fHd;$#2؇-Қۅ=LlڷAM}ܘ+`Ƭr^'RFI3tj _"= ;K?`?+)tʃ )e{X7W/뵣 ٫Hl7W Q?F<D ϝQUP+ Ep+EԮfk91*tn%A@nj@ІQq{le5|iV]=2x8am_,Uz} u wWrư`HiZ}l+j3:4$Z+s3IHDᖚsStl*`v=8v͡ 0Y Qع 0ĩ:us6sޏ,Ә(1cQ^8GQVwp5M?'Jrδ5ھG+ŝ)@1OEEyvT̗ՙy;S1<ЧmQ@-ϝ;8wv\ܹ sgd$w.2t(u  s"e{kb4Igw`"x 808ǜsyQup^sr4{\ Μ@<11Ա0<͇r|L:~e&uhx??³>?/(.ųFq jԋ&sPU>(;^?ylؖ'G>|=Fn)ܞL`lѸ]:}u`g>paG$o[+"~A%.c:C+TW A`zbV-xsD0AK/Z-;k"TtP?tRlͮ`dl\0#;X( ڹhvY>ͅP%0h;"mniJ*,+ ^?{}bsƙ!L>wy(tWG!7yՅjPj7sCяV!,BN l(|$i̳9W*H+vEM&!0a<_dbv@af:'Fb|R"Ҽll_~$L Hwgǭ|08ZSs/{> wgxo5 Z_+@8`ZXE&qvf q%斳n6e%a.BFxzخ^ϒ_֒2KZ4U$ ?BG,KalcLhDVݟm=b6RDNuM^I?Bw+)8ox7YgIKUϢ ED70~tΘu˵TVYia5#fsQ%;- z+ {F]E@R!{*먏RĶF\9y"d9ZLuؼL1Sjqmbx|ba!$X{r5FHQ5ۍHGn0F-h ٪5roS: ,07j(h;z;c>l}+ۡ Wq<ÄO$sŮ׉LnVPM}7iΑKii3PN3eZ^dι֩ A:ag`APWR D`ɇ\?nYxv &'(Ld-r 爁uUtŬk~^eF 9עa.ef ہV2L[pgb"uJAG X+Tлl!9-EV?, _,d(|`O$щ~>_)˜1]Zu+Yw$"ۧl6 #IBCų!f ^Vۃ|lY|NfO0'5}7yZF3@r]da+n =Z9k9:BW4ݎ本0xvEc8;j}-sQD %(a>yDalt!xVkArPde|,cwՆZ֍N4hkP&w6\V C PC(OG/,[<Gpʷ*݋5 #G1żEu@FsH>Rv<7fTvNw `h>NMqΒ56k:XqRJE6 V& ]p!Cj6{,\eFyGut8҃'r2h05?#}\M?H~lhañ >(ʡ&r <0:G= #>Vw)H!!&?$Jw!jE$4fN0 :BG%WےeBt模؜mv' ZdQ28N>cc J?"a- [JFB% 1\5N1p:F f+UJ WfRdLMMU͹9Xv"/PY< (slaCGBS(pcܢ `ሑ:]N2&ɧa9BBׯ@*q m#pDԌF ?e4+f"$q$7 w6댳ԲQ-m>(9:H )ig[lt]-T\D mv_:lu {aIe|H4G:jUDtH:^~n7Cp7}''XPGQwe8HqY/Ls Sya_N+BJHy0Kwl1 C_CRRp@ oV> .&ٳxpb:\eӛtNÜ΅ m"VQ Nhlz1'v# . A*䃊D C ilK$4Q -+k\ܽaԢ24\UBBavHdznjsk8 7 ioG u?,fir3?hrS2q?H R-tolO!1oQ됟.<09ϒFnaXg-0\l0Lk!y dM}/'D8kr$&  FA'4uQl֊eMWA:[Ly8q_j dJJ;E`O-߅_5o始p"nΗg#3#)$?RΖgIqzՆtFGٙ, -VmY0V84R͎O^l×x`uqs$@/d/EQ*  hږt1^  $? V /esppʓw;1:ynA}b bG:8d5T} Yʖa*<A'6D 1۴-nj@ !]QГ7Qo̽&7͞GNڤ\7:Jf& GúF^t"dmp7Z+1îM,,<.Yl 5mJ(#on0t]R*S.sV+Oq ek;&(r (JT2] ־='Ѐ}7GLƸQӲ$_YJ9M#@uᱸ]4bۉ\EMms¥HIjÕNjOYE ly͛DM{{y\%hO$t72{;?*,d!$nW. 272Ϸy7F\B)K0a\F׾YdY !B>}zqVm>5rJ"^ck Sd䯞s[U4 n+nW79QSQ,I .WVSMUjZgx ָ nd=עm+Q,_r0Ȩ6֨ MuC`~DƂ99] 6OGWx=JEAgDR2u ;mKLD \\ 0,oe wdZKca1Mn1 4fmt FSs"睼h6*nژ//":V/"uD,aH癀QEl42|PzRߋ.( jed/` bs?Z}nh w~L=cXo< A&@.⨡ ?U _]2`T`33B߂ r\3fl 9liqlXW#P)VtdfsÆ6;B!OOg1-t4{h,Ҵ+ Q0Em cHpSITqZmm1?Xqg4tjyl⭈|Po pT!Τ@4f'faK8p8+ kŨQ3,CM@F#O#cyDIaCQ]N(\s_2=&.σ Q22qBVMn-aNv*l Cv++aρf':Id䍳};ay#`b^d<;>u5Uaű05ѩ̀K911Qz=;r(:xU$F1x.de\7E6#ôx2T!M"LCU+24 xyi"n᠉w[ηU ;ꘟك6S s*X#sh ImfqCj(MQ]/,3#<7OąFABŶk aǕ;3G01m 5W^$#7.{AyB*ʅt{^ k$eҰ"DaVA %w * d֦Zh_{Ұ;JxFŰJs\-:2.I>A*\p`gh?lšrnU)|u1zFPg1s5ٖYr0|%ŃsiI)~aƿ.U2LGtWf8a˦]4uh=k|iqy˓Nc=M(f68HLXuAx U\9F7-{$r!k3u3Lҵ&)lfR j 6eBUd)9_7mbzyRδb G~RbVլN@Ms.I;]u_HRq[moC2LʋabXh&sŵ5ny83- ]rz=D1ν2 :)⟙=Ev[T.8 xOE2I|Y]Q !x]"bkatq ɡț Ƣ;E MJޓ5. 񢽬y 8Sh3 .#)8#^-]nXv3^Y{d*ˬ^f]j@3F "~g/Wa̅.or ]iz- 25 cپAd;&웧甉}!2БFONr@!4ܣ8GEЏR*,J)e`U[s|D請FZ:'+Y蘽 &[k6.S "Y4e >$Cr fs\l8ФUQt4} +}Ep8h;ZwSmU_g+oxe0͝cЧ)S>S=;g҃:74MuAуFjr5vjgo+'VSLJEL#*DE52IowhnM^@Մ&h}[t=f9{)ڼO~0-WrSW7Ќ95 ;罨qbinQ5a.j~(ͮùîێeG%=}GLn}U8kC%ڐsWrHRH稕W?K-pၮl+0{Hgy:ߖK_lA yNCƛ\m=MG%UL[8H 0ZY*xGtaO_[c5 9jHg!p "*y<.ZXԽ11|Z_nbԧP=)s:B-{B=-1Lt2IB^s;^VrD ˔΍H-SPpTXşA렕 ą{O9Mixa-Zgێpg6k\Y٧tXP|-eX~mc.YKўdcCɛӵ [_V8lϲ/L[읔k6c:Qڿ#oԑZo6 נA5\741:bVs{relsn59߱h}h-8jwvmF@=U'le>e9ieݦ А< 6<ղg4q=-߰Fl[`A7B:9ҡ$،w5W>RRKTX]1A\_4kd+Q.W~`tJKM< +'Qb6]FZ53jSs9t d (QRH(xlp^jՃT90R^8m'(Eӭ";%1*I$ᠴiM_]oxڰQX0Z %ߦSˑhOQ|p=yN3Y]pĒ7@ٴZֈۖ VyW HDj ؠs0z 1jXMi4~b/ƎgO$h[";7τ;|p Gbl?aC> aJ{>RjOWi&vӆ5rs[$FֲþU~sU_^Y+-WW`֯uٶnvw8QQ[H Ud;r(n/ `PgUpDHD,- yuXٔ׻!}rҶMbC\"r@aA4X᥾aUvP.@?~H GW&-lUܧt={X9ʗyki|F|ۆV4U f{iȽ 0%tUס}٤d5wJєkAYqv5S~1"VVa%=\dz̥G]Bc$1|νOl~FR^~QcL?UTr a`R֊CRMcv'O&jGA#>Gg{=[_OAa[z!Wq!"lg G|>P@qKS7w<:!xB'Á#ODȋ«(9q #"eXÉd\n5뜞HN_9$p "]1𸟳d/S>B1ݪ_f_ϲl c71r%̒ yܒ N&lM8y X+mhe13jg'Ga5T = KeRۆ JăzkUkNk7 [#Dlg:"6 aÑ[h(D[ux9-ؓa! \jjﲟ;y΂vp<7MmS٪_||`õS$-c$ xꝄg&U>EŽ`ޡ2HF{ZDNK#R+1kft©G '1s3OExrDp#;~ sHꡑ{(6>>e*6vw]ǖF`Z+M\XƜnsm&r" J_)8HXHwVGGsGdnjtxnDi|68O{+=net.jT䟳+>ԋ4-+j-]#trjMY4ZD .5%[|"t1#;Ja-뼾!-$D,,>2~}zxOMm/Y}{ptuoylAo6AӁ'q:,گ uä[!ɽj ;>W>f%b͒"ˡqZ7e_,ҍFHYT'ʩ2۰R}5y<+ד3i.$(FOwVm~1'%!"4Qj}XWfR6MX+M=_E~i)6JB!$y'McSoA;SҼHFv#( 1.V)ǠR|$+ewQΐ N^ims.}rMʛmϓyujtE riNwD6lfZW8uD/KNna7r{)AbUฅcu~"Pہ*0b2tFcijF"&U1EL״GBӈ[ TEJ U<kXd-5X^ VɝZE VbjapzN6n46U`ayuqV[%uh1d8[F."v<%TNaFXV+KQQ=}}B K^]ﺯ;ydw㥋;xx+/w~9˱~>Wp'l]P/GrH{wA]u!^.bx\FW}KWËs'C2;x`v闇I]zzي6!򗻏cN~?1pGOUDW;JrHn*PH|ė=x4HM\wUIJ!;@=%Ps_%IPvO)CPG8V 8Q㘚Wǩ([C u\IR%"urBjQ{WTW:I.  :RB:+s aj!}Xb{x%OšRgrE9W4|zTݿR=cȨӗҗK]#RWRU^rz3eΔגP9@?TotzKHRcVg\~V$_3vIPݟu w]B.5,\n?_޾V?0G* tU,ܡBXQՃcD=+xRUz(W\JTԙ2UL*%SJ4P9Q;j/L:W3]jfRjf:D͸TU"ef2SjPk]BZs?V-gRYA{_=gV-K,_sssz,|A;V3ѩw>|8SD *p(=i 5 8=ј3/t@sXAĔsH !m%t*&TL? !Q1F5*R.t,z@rLOU,05-Oːh@L*_Ts PSzZ% =U9-PӐ@Aj>$M!!mt #,"GKZrj5#XaFm SSI_@w=M(@՜vrzq{8{)Vb<~PDjJ-Z%D{Cy`'*%/$HD^@D'cr?iVm<Ϟ>y2*ww1~[A3Mrh'oDR-DfD@)̇ELYfn`=s%K2=uY3O΂GBO >!r:2Ϣ75*p͛ G+3GGxvVbo=θ*M/Wt>=J&-kުad3K|vQ% 898 :»NN?o+kMhEQӻ;u"j;y5=?\'GƩ8FֆuQƃj:Bs5ExVGtfii~S3J!5TqjXK?8y˲LNh sr}"P2P-Cv_ Hltlp{n"јE%w5Lww'G'~1]ICe+9|wwy^2R:H(cO1vrO(;);Q 7nImq&gxC8@Poa80i7l7fY[p2JY5ymOwwk]*OMY;ϣ2P#hww,3FaEΣȆ8ґ$ڰbE:~DlIcldž #͕e^?]_'.8 L{ImV`]|rFv)P[jJ&߻7_7LI#u:cf+DnѴ$=!tVck<=~{{卩OLe7"D>/yh92j)X:5J!|Za}9;Ѱ! t7tZs]+Z4;ɠP9 4XFlߙ,W4ژzO6~e=;^sAF>?!0zBoݞ;%5*5"^D;}eEUBЊvTW;_PO4\W z,hz*iChn2G+SWiQ 2Q|9 d=v`B}8g"k (| 'dC{ o~imjPɊ"'%&;UMԳbP"zeLfaW dUoxs~͍]yj>ό( ^2Yo쇁rH }C[ia2v0Ϸ|h=p+my-.'ik^w,njA5"|Ou\ 956wU)aY}*2z࢘TCwX5ڠy~L߷ӛoӛyr75NܭVeF|ڂ~flDέpJʀ/*HD r^p879dp@~K)@JT)qVsk&c ⺧Oܫ/̾z6lVy-ca7Bz1LEP=>\S8&wl/+ Z_!l%>||㧏o? /߼~"Y**\6MN8P5x{~HU\/N3VYg>ľ_.r`]Z})A1y2n j-AU${wiOᩗ'l ضȁ͐sڂ*LTf?hkFqimQn=f[F ;Kѡ Qgiui~aڴw*C'"*(f{#mpl q3b_:]m: b] B^j]vGk{m\IHO#vc,͖b){QqbtޡX9*+s:<,:0z-bg7|lg}|֜!*y{f'P6ܴmI:UޯjTOX\5a֤cװNtfV:++T+Jou:Dw> I ʣ߼vf7ng7 ں~bn]RMbD6̷n_%MR FG[Ntkį"L(Ct}q^I84^gw[\!O[o,' `ŹkN,a -848]K3 C\88 C͓[/~H=֧uor\N6UhBLƂ؀poE+s[ 1SKtq^6DŜaFNIN[b@Ixk[nÀ$!P)jܛՒe֕dsQ#=ecNv9%EU-:0CBp\2qIW 5:µGԷ;m(ܵ7j'Uhb wZ!.x&CĮ!OXUF]4"JW75˫qۊo-lj*Os9(KC pBXuo)vgdoO:;5|gVNT^{tۺSx/ [ub0{p_XgM`d1'2;͚LsAX[*ÿtuGv}2v_Bj[oQ@G”'ڲ(E>M9P3j^Ks l䳵]f&eieZ@-?k$ٸf/CuJQ0us1(5|A+9 pP5}RiWD4$j}gDo'էG-Z.Ě&^\unN6jV:pAx1JwȩuݖmO{1ݼwnbk&OӓɁT*i+"M^^[zLNVm<Ht {j˖ U^ .*> TLp^~J[ 6Dҗ ʆ̆]'YloXu"M"('mbnNjR0n}+o/a؄d;Nm_V'J:MMD:uKtS#0! 3;9xЯ֣$cg\+Fl4m9iEDK0t,srQ.XKo$fj~V=j-&$sFpِ-DaB`\:HoYi'+>黍M87ZmӖuץ1mm_j ]'c%YRVlXF'4`Jt恤JwK lf9&x˼u6?8 l 0t¨-}`X{CWig֦8e\NG^.kXT4tفG Q3huV:i</&zO麌Wpcň5~JـW:<2,WZCۈ"83|kl֙/qr '"_'h$2NR8"6c#!+8WAR: ާ+7C^/:mEJN+=uLSrxwf@.F7ܫ5aBZA76\]rRwͩ,@Ы nE98 =5tÅ=MYnlH; KOLyt,u"yC2F#Liئs *K mqT ^.gr@r>[;˖ċ`(mk*nmY,A%|Yߟrsj(;oTn 8"Lsu!;SZ%DChFʸؒ9>8M3{ slfExB!I*>D5^;2oΙp74P39%Ҫ >k19V}T%8;&tH0'B`٘MѵAOPfMBYy頝$c Dݲ岊Hh$W8TNP`fHѴ ݈ M0ӎ`*!Wo8'f.oL[DN15F%dKQBc򖡳:L$p_ozP- e- D1YAN:7 u )vˠST jD#Nq{ΦBIm257NuQ83}"$,ҕ$3Rl V0cJ^.7󜡇DcgB3[VvZu6..4'M1xQ&̪L R|ƶgpʿҬoe[ܖ[F/r{4ীK<?%RP#yt9fKx`j*Bc_%Ga2gjJ{&L]`-XQ`ү("C^#5ߕ_}η|5?#hE5yE,Z RP8_$Nh'ʻ8il!1a9F<)T{- Br)0W^Q["K)>xnvp\iuџ=Snpblp)6jIN^] gJܠ_LOKfD:gB6jiy6eIzO%،;.-4k4rdNa5v7k:;є]Б]p`6ꉐxvJ|uySk4PHj?̎㯰qQT_5E=xSSD2PS{:gO, /50N5,prC>`th~Pqz'i2\yɶ+y]22-N02_j7CF2UK3#*9P0׶NeqA~ jW8! :)Mww1i׭(33 7Y~4{44gK؉DPJ#WHc6#')?47]by7QM1e#i 0w95qܧqO?SL=W/Kqcg{^g0QwWQɅC,~L!ծ~tF2Qtp *?3'OaIhb*07t%qQ*16 C@Fˁۀ@2YʊfFOW[w<rȱ&V WB+5OjYQ@L@yQY{{"OxYS+U#f.X΂x2g=yi6J% _3 r@L:CvϓBlPzji²tⲉ&­Ks4I|UX34 ~Nd1ec:d"g.1=c]͋7,5-ti9 >4E[ 867Hb-B-0Cxr5Tkͣ JY x{q=꿋MI^zC&yHd}WŏKܓ| wd^uqKο"'kbj3-c"'So[ q`KqrVF&ѬCWA ζP1=U0?!3e_,\7ĥ>:6q*9UΜAS^i}zڙ_!,>8~6S/kҎk#Q?1ĚdV59X/Ɵ%gPiJO,4o)Da}EۃCFYMIWFFx]# %l|n6%̉6\1mrs%5Qc3,=K*)T}Bpg64JnvtZL)eg*AQNG*n`[td;)! =:qsUI4@ 6JಜF/]KQv afq\eQ$=d/c=d)aF1gUqƮ6Oy^{B^~f?C|YFl,[z!D=G%W}_sj9yaFw,W^ZfdHӛJk'5cRQAsm " aFM 66%>'%3Pڴђqa]*o+&9BNR҃KFz0Ɛ՘F W5kҭKR Ͽx;@6-ŷ*:d3s=qcr$f~48IưwSv6pC p8 5 3Yd}fbq{޾#y䪱G&VC.h~ f&JhXNk1 p-ghK-$/vP( N4}'!5O*\qF$zJQsK8{5E^ "}}  c9(3ܾA%WoYsh OpA`%~wN*5vGԎ(k'R ځk51X Vno +hS(R+58I}F^H`X'=Npjwg3,r7(3Q9hvaB^_#Mb5QDoP& i:ئM!LTQ]KBA1gԌr_>+cρ,a=B=HcFoPLBV67Ӷ{ۓЩ$H݂+ `wQ<9<#iwŽy?qGsy#Ck%{o/3b'^O<3& G{ț1;5:XNFh iǟ(A=fYe,![(ҽ~{7<:>eNtVZ] g6赘3mϴt)mJVJDs$ = Q98$5z`=mNxS3lm^/dľ"p F D^xLo4xT揻wz¢y9BGA,ҫT3$kt<֐ BtZ#~7̤|) A 1+*| VlM6,gBQPCebbǿwMYΌG fWŧ/Ǔ0f)nDxf)4g1rߤz1맚S˔+'&̬93mTc7Uӄ;SHErsvBזV37B#&\1sL䱣e=S r:B9 WerXlY D୷HMQ!zټX_Zd:W^*<(YD5oՕ`xf?ێ,wM@$dt#׾̽jT{ԾASߨo. L7s[w]旀@7[8ЖA2;x7 z?ʵ$>G+ch6 D Dj ț *<@T#m^@8E/ci+Xu$}=G"(Uqck0Ru2sg1rerH^W !<U"# 'YZ2%5+ԔIZG3nX+NOZ(Hpvوceod̚q7 ;}jcݨ5>8"xiy_g-}pZ>yWZI9IS+: VÃ4fQ:bijE-t .l [xxYNsWS(W% 1q2:.=D&c0&Ǜrc7@=VFJmICkݒHEGaiR<9̄' (6wF{ZrĀX.Ő*lK .55Zo %EI/ 0.LGz)OU8o(KU"EKIM+(3Yr$M"(&Z̾ }-nQQi=״l.yXC꼲j㬓HṔ)O"H5`3pdI|)Kf^d^Ñ\M_%d4{OyJ\5֣WlzenJ*Vd_oчsZ`9a =R3Abʖ@cV F*L|+T{qES5 M˼Z5 l`+Awq:rRJ_6I4k1!si24ѕYU!MҪ_Lm8j/ƭ23$/`~Gߒo'2t8T3pbw5]tӼFqjƉsJ Xk{P֘eIs'|v2JCj+ u-`(߲sN& *KMǘ@A03!T{xx([JoO7Ou \rکyVIz%+nH kj$ئ&w$.̝Oif+ ŭVuW90ݪ\$}\gBdFv{zO+~ zZB-J:xt=N,Dz(ڐFje~)td8[QICGDTy$ (VTk 9#QK&NɄ%oxYFۡ:{%=8g`F7C.վgy1J,:U9T+ZqNbk)W%DžC#kYt O"LXBZO?.քK7*K LMF;~bo~!>:oن ΫnTHW}1jύ 7%_Ps 9kjZ&pS>Ŧ\LMBHs޹ pkBHͰ@D-b[+4AMf 6- q̎BqYOoF`RI }DN}Mq4(N=OzQ[ʘNBlwMJUii/AAUϏr A|-s\߆-EG3vF,JHAvlFĺo?㍆f[軰-$oi2S,3. ћJM gPvi*Mry-p@$P*{Ny]+=#J 8ӕn!;"z_ϴU`o[Lm=YD-h}1|:yM{j{o4@bV#rLb]gYkSPtq_/0( %+ꄥOj`RLer5l TFۇsp %2 isV>TqE f΅UHWɓ n\[0y|d?0v;KEޕ3xм\цæ$e-|JoJׁ ~V@IV$,8vȒ%_(`Wҍ$;Ztj\]Q]Nus*TJx콣]!SxlSGq3k,fL8.9 2#n0o->w866 k(&pXM<ݥ]IPDTN%7O+zzsg4UW3"\`u_ &5iZI|;cn$AP~M+հ%իO\%μO}poX%K{lWck_P vgltJ-[J!Kƨ0 [U!*XBH!v!Sk9sDԙYB4pje=߷@5%\Zɲ5QTOݱЍE\mQoFXFlw!>>}Kl /qhgj8/Le<v0v|oE-NWݵ7 (xMJvW\9\xm75[CKP>4a,0{w=T.MpV`9[\_3)>q<_|7Vd^Θ]V"8$?S[[ ϝWYR)5޵ (Ϡ0c7=hm ՚,DI/a cV?CdkЉȂVmХըNꋚO_ykPFz.XWGw(fldžʠ#?/[&gLTVUɠԼ Ƒn ZӹuhۉPhG yOd!RM,fl*li ס*4\~z &1ey uvq !yRcpV\Җ#}~aɖ4j^nQqm#H@ x9iJD1)[˘ E8I-UWWVINV8L.h06C0^ Týr"> U^x>,eS{$o,/7EJTѐt`i݁L 6KhI7mtaV U,{qF U#Zܰ™K(aSfbS!8( ! %TxݱQ>-jq-X#[p|dxq\cǕ.JUzNim:V"*<( 5j>.b&)} a$ۣ"|z%,a/yɘX.sp#898Ȏwgn `ic/jxk;x.jzEff,?Dk[U.fi_^Vk:L;,'UgGAjۖ}aTP;SQun8Qq">sԀ?bN0dl:@Xc q~Hv?Uj# tﬢ'U!HevӧwqVRX܆aFo I65uA vM 밁 %gqg5zLv}\.CF!Jz_FB;0МI&b*ސ؛>3Lơ=fY<hC3^;jGԐ՘7$Ѵ)vA We26"ߊ|/T <9ྫྷx×m-K0{?juL=t$(l/^x;(w~:1樨A5 sT=`h9\,A ~,3aMߠý=l*nV:SvNL_ Y_"ƻ;rsY1og^v ޽-,>wa"1w¹;;vۻ'Ҋ Oeh$Òuݷ$k NLUz<] ΕĥpcK~z}MƗ:^F`qC4sK=^R0p_"K=aBP qÞUPF/?EjÒH g6LFd>`Qbϡ Q$~Z# (ZOes$S; F.ݶ `rC_s(;hY3WᦚDGqs̓  U^R?_kW7MQoJ|GDqceω\Uah*ZMiB;SgKѭ=:}M_NY f,KHOaw?~Ox)u:ϋ?K|9=%S:( ;<3 >s`66Am?;CSVT~e-$/%] XO?ST/4/՛hȫ_ud#zq2*{X[:?.PS;XѨ,L4z!;MTga}Lxs5{krmFkfK:?.j)\h (Rovw_4n r?4@%/NtZ$Pm?ԟ6F<=`j"g<_YӓW:ĭ)M,}ׇ( _ڝn@quYa'mgZͧOk,`t]űbX~a$Phf0P26:7/ pǕݠ˶(rP(Vw9Yc ރx?&ʮuX1]l˵;s1\ N8K:f>\$!H,mƠaxQ"Vn21Dׄ1[d1DD e {Cvm m3汄^ W4|,i|Ֆe\ ?%M YL~.Gx(ܖ_d,ʻ"TNG ;|Qc57#ik$ڡ& 0]D9lO*SPН+Q+DU+ڜJԅ|isKIPq;$3~qe?3o\Ÿ֌5? !B1(d ڦe\KMفa)Zvᤠe/䲓NZ ݡ"*LC:cWG&th਽ *}a;Q0^롻u2{S.0V-;E?8v޸z1Ih&7_Wy&kگJB%kN.bGh6#ǢFC+-DW/"ZKR#`*AB%NUsVmIVoLѢM= ٸGX[ޗޡ9:^8TD Kq_Ն耺Ӽ6{G8 x+N8;Di2uϒBtw6򊃻U/_kzw^Yp-μk6 `/Dl֟SݱȜ2z`&_#BZ&Q9#T]*20'0h{XQc;UD{&o4F c6 |y^+QeG$ S q+B8UzK UOsnz~ct.kJCVk)E3Ԕ  x ^Wω zQ[ؽ}z:v^i5ԷqևwRm(-WCr(AkN[O]nuʜ~Z֖6U5`J{Ժغ6̺8:v/7 %p:RcpKOٗ(Kڨ.؄^MGl/&(` ]E+M7״xsV;g8g0Ȼgsp=:nW0\FG\>rrI xl@O x\W mHKJO_?Ob ?+zW}O5W'.+ЬZzZ%]?%nVc 9UQ# H-Vh yQWf [nyZjjUDs4d yU<<-tJ ":x\i>I,3lhZpC%hp&ہ : Vꄁ,]մbߴrcupXZx6:bK:.a.ى7aJT%Mϭ 79(~T\9;mL0 -88Sv (~*OT&KBV1z~"$(E3aOʋ=q"d!t$IQE>yW=rq)S0\ ;CJCX'X+m=sڗsT n6+񜩉;v"LF!8CЮ!9>?ӎ!쉷1Qwlg֬zT l| rβ:R!$fO@)<0N4"b=p7DL"&;M9 O?'en3HE̍IӰ)d k] A.S*CǛc΃9lŌ_}Gq.!fQbG@& ̩N5dc^WyGLF+r39UtOoBn`ɇ. f~{=ay|g&X+n3N.sȍ6`I w&b~G-# 'T:c=x]qcPޫk#rғQ"n"?dt^{ޏAĆ;{ޏgU;:פ 3+ҼmjpaJtztXO݈&4FQ>8K`Jm 'Wec1u ~쬗|q6u]֢vdy&%2YڷQj.Kk.]2xU3a :˩88dj#⦧{C/U_*AD3A;AgQ'\](9.I$@D@k lh%@\7ph#`&w=밺EےlZ[[:(eU)NX6fOj|SAݼf:"j{hT4Okjs{# ¶|M?u/5R>q쮓1nG1![|3eVO6b!R'2(߽==zxS/-?? 6#D^z/ ]cyTZw|4dŴJI[ 4!]܁ll] JT2Z.`179VKQ0؟ }~zPCQ]{wxرD6-^Jh3߬W)*w~4Qbi)W}o`ej!h oi6^ lm3sF :^u"l ޅ|*Gekjα~L!^BFzQUx؍*U,ߓ!کC~tun_|b- JɿT WoDN͹uR,.\䇍P# ۆuP,Jp JJnה$Q?eFYр5Yx%DjFKj6Px8NP :iQj{޾g|C_<-Żeʚ=ǹ!s a )(j]@]WP4,,a'G6;sL1u ͶctIB__6:J`6}-f*j& ܟ5r-mT5g§&1E*&Jm[}r^iW k\U̗YHf?5sN\W8(,*th{]jM-;u hWߞTZ":\p_h3d?l3{0i`Z|\={o=}2|^Ǘ o>|v__}޿zx̳ûwǧGw݇jBdQ rיkaYјc%Q"{竘t=!5l7;U*\_'U|fwHy_Fr.gm8 9-~Yq$ +L\kjV$u6mՎxwGƿ,P5ne):<'1a52OQm]ɘ_\aL:j;n%B$]Z%iӐ«j|*D%Xu Jo?iCe>Kr2Plt-&=8*lP,o-lB34CyU"B OX[p|_$ {z%?9U=oq8|G秿+"?e_QZ+~ߙ{$al_5teP#BBɥ_?^5ԅxQaѻ=*>x{W&=gnuC+{ĸ~=,G}ήF 쿧aR*C #&gs?e2AP޷|XJvL#> e`nw 속,g[BEs&*N nB*=xnzB)D ?7Ԩ˚zDZ🵂Y)ϝ㜑 $gs_0Jw+T({>x'[rSPN>-h{C!P/oUM>A}zM?aNDQ hvϢ c\WtsTÝtov(@kko+so]zvz~` ȉqk8nUW=]FGȬHp=cM;2m t|#;納e>$Gm^Ԅfʶ@Pvo=` |?qЫ.a>WҘgFZ{Im*0#XN/4KxY`PbK7XfaK-S-J.r֓@r=O8<@apeq˖bs.u6=l̐2^2;r ׃'QF=wz_`|M&8)̞m n+qX/'vw}׮gPz$[7G&qdCYNjXŨ As9"M\ V(4e~?Z3m:Hb@x$LL }  VN· //螂72XHs |m(DHHwu}]DA%x- 䧙{^ūU_~֞˝WWZY絭I5h. TI8zO /N&M9a!^Ksğr& Nտb<~o_Sp l$ڂodկ ke[\w^;CQ5?V &ݮ8\jzԑ*LߥWy[^8'> )cMm+:YDaQMds5ׁuz6$A:t_:D',ҿ;I9իW':_N4?Qp}S= t5.:WZ[]zvfո+6WnC$! -i:Igcz;p;rb:<%t!FS<)ǔ}Q Iޡ*>Y$,N0f(F;4C#J05RNZ6" K7b], @.ZA爨l"sB!<]tNG-kl@fwzqkoyo>gyf>>dcªfjA-Q G7oɲ1%ۭP`tlhD: ~.ZKAZB͟8k(m6V9ϛjͮpMQ7D,?X Պ w.Rn<@3ܑ*s_I=d 3FkDZ\gN\( ˌ0hIn6[CWҠ*/,j9]J*SZa$͕AfS#^~{Ӳ+i;;1oW29'0KWl` E6#`SjUBY%[UD2F&+}lowX}&`6ı.Qgd(dkSͭ3;AVŊxgSB0&kW"4#yJNV (]ca(A}#<^sہh, W:y"ZʶG;lBY-}(P~2\HuY̎$jj6 Y[42̀[m_D246j%Գú6#!XAg|NYGĩ46kۢ_tک-S uf2e](44{F6%x+:ϾПD?&U.韮J >y?8SIJ=y9_wcK%?8ov ~yyȿ.~r1W ArnAq~v#/; xx,/ ~sGG᣻1{ȿ(XQw>{}~p$ǯܣrR.Gszn|= *bg)~ /XG%態S2*ct).%G+$wsł&ү=E>bXLGӑp OD/HQ /CEc^ƔJIySaʻ5m5M9+fRI_d)6f+7-B2r3'ߌ_ v$c~)=qI1;Nseݣ;;'\^ C-gK=y(Glh3~(O7/QpUKC.&G @GWG]̀&1_E&3?9~v[~/ ƌcܷ{3%<\^0Td𛧜U&܉*nuy|O!)ά:`/9dAMY=0B(y*[ߧ!i1/3;͓|r| ~7e^x6}١Z ӆnz0,Dl"|WwQޣ\c'c10%MNSKcѧcxCouuhNi%܇ܞ}U< Y}zۣ'l ~J dIX^~^ T ~,m+jjKsW=/"fᙚ4 tZ]q*8kʱK]e {v0c0'[]H RG[6l_GƋFa>gFr:!k2[֝Ő*{?er1ˬ2Ybpw̢\_Y4h+<:l̽6}eBYeuM9,N#|C1w$ - MLa$ Ua?e)U̓QO؏  !&eLQ{کe28]򤉜'u@= $uUckRwg?N ؓ5{KQ*j? :Vh@w8L.n@1=>3Z[oB`?51-)^7=a{stnE%[Dv3:bQ+eҟвE?W܂oHeb6X펷D|5JΥWY2@儍%;.ձ4Rΐk^6HeOX%ۃfFvkiAk'Şg)N9Ip*zF (Q>LVbL(W,K"x~2 "nP9*{hyztg %3[b '~5JfIuYL@5b w 'cgd'CZaQ{tPqoĊ!<ZVL=_'3:~`oښuUt"[J1qC*ajfnTңD\Ȩص-:ǰ΀{NabBƗ (э0 +[UBrdҵ 6\KL35M l@bHhؽ2l,[$uz+w/p+s#w**uID/=9seqʉF\p7pA!@}ԲQS˜"`]i1m}+7@brfAX5j=YIXOˋu: ҍ .#*|@ ˌ&z4⩋lh?Թj} ʻgW}OSVX^7)G۩y*2{?~@t^vǽ/{cחfj Vm`Ço9؁T\h ]-}T|&q4v֐p:2pK٪Ɯ ,Ք֚9Zh: -vJ%tj 2 {S+^ި/Gf\:@!cw4e@ `T<]͍HKRJOS~\Z=A<1ӝ5& @>T}9[?={RT$>>ܕP/V,B#aW J*P7`#ç[^V#z$l`0WWG=/"m8:% j#R(3縉:߸usJs/Y5|;3WG-zje"yeN#Lπp݁mE8y)f|!10(~OyRt.}`x nB:O`o0x&^8gNZdѩEؔkX!HYdڕk@k̑lLGck P1t52a.XF ')n aF# ߶Yҳϙɉ3_o2q.;$'-A\65@lO~\]*S<A_}9CVš{ smӺmq}DGG5.b؟4rsNM$9*l.zAÛYϊ^8m~>{FEY ꖌn!*Mq|>4tɶ=2E<-x3j>^Da7?s O{i>:' ] Hx:˃,vVͨJն] е"O-*dat!fÍ0694p ;4D>"mz(6 ʃڜn0TQ_PζNB3ِVkel;e~ `tىtğrV3B>nm+8U](+gpsJ^d*=-g4Kr,(H :L\DP ^}o/|_}_x砶mo>>}O]-z߻ElŘ7CgϾ b14a( Svcf83*N 3bś$FO!xG-v.g#]X 5gHbb]G8*xC !._PjGQGpn!es0¥oVG9K5]ùZatv9&IǟMk$ GF92xoBp*y15Fއ%QzspA+x2paWdS =a7 'lݣ ]MllBPdLo2dzKzO$4pޮYsEk3R9ګҨ@Hp ډN PK鈓84+/c@olAr»%j>0j[{ÈQ=<7;&^vг@ fO| BzI123PvX].7I9[6vH;S&cD}̖GTALKsZ0 h:Țrg;`Rc'xBvvW@0Уt%S:&p2Kqljnim)ɱ GXRs^Qwqsa8d)_NGyNn깻/q譫'(Kƶ;jp\u'B4^"5=f禉eU\[ƓX@` NsL ^~oQb,)J3~D Vf?`KLmQ;T xu'v-dnemqg=2Q6[Զ].^8͔ ~@GŃpke/ Q/8\T{ƛݝH6#%ZO-<6Euf4^ڞ-boaYJ~D 8^qbs8 l}>71ϡ,xHPG->kZ6VwtwML05&yz]\1u O&$~?ꘑ@za3 PBn-Ml"$ j(L-\\IfTZsV~ӳaCժaݺ]LGL0,wfGǸ&lQO#XycDMj3]PtC<@( Y6i}֡lN\;mmN@odY[֏U4njG=hv3~0yel_2|8Rˈhokf٩06{םٲcj}oi nߞ77P?3ՠֹdig:;v& tH@n[o (-3n>K[3_=UqeK3/N=ܖF[XvLUhΖ|D?A@`dW-e5WH>ʄe  Lj7/ik IihԇF\3^nM:P6ۥ?,wI%mD4*{ctIp'g2e#.:'8N4\L9f9yd>|z0=XSO֞HCBgCp{M颕:cgc(Lj<P&sdzB +ZXd.<\nMt%p#g1v|QWNq0ϭ6=Ŧ^͓|b1[wYdA0w<v SF:%Y'liD<|R~벃텭{C)V$ꉑ,י-:ՖvlRaV:/Wx;')x|Aō;Ǐ_?@>|\xO=drs#߽ GU«OLݮzKyT_cxW{^7>]y?^X'՛rsV!pp"xpr Z Ct.;3<gWM B7q${٢7t? Rj~j2فXa23_#\:m OtAmknF" ,%Gq|lVVZGd=wj-U%=}u͗@I* B,u-ĩ;dz:k&2(k|Fй@03[? c&ujt<HR/l!1j6|Ӕ,DޖKy0T.iK|}&QpYO8x#9Se R.WKԂnMk۟&3Bl ݪV6Ώ,6DD~@gDh/*w6yI.5Լ1V FfɖڴV79sjr ר!" VI$벚 *-%n] }㌪ܮT!$j ;칹%TW;."U8{JBLth\r( eMbPk_J;76Gi*)Aff+qy}=ػs;G{vPi|7c^Ly|C\/W`z5T Gb"~/]*Ƹ!Dh5h s\c@ۨ#4-HB9Û6hm#%җQ3I0D8hDUHщ-{s"Z#`B&]({ypxؠM/ox=ci{~&O<:Ŏ?y|TduaۋðNu-Ֆ /hG'=vT`n/7LUim.9J>ѓۻR^eO lV HR[JMi`jx 5s$]+옍=23 \=~r\+"|ʦT̘i?]qdӱ^X2ij' 7`n(|I}ݺa?U3' J#Jޏ2UV0$u uTrwu|5=Mk٢753LNcnnnٺw:FF0m(EF١jp`+)2`ՌǕ@P?wlxbl M#ױk %c6Md5ѫ1(l܉t=8s#͓HNΣflϨv`#ܜjֿX7`Yt8M3&<+vo`v\i"G"{C "N)5 ei.B`TrK0t (kۯbUs7 ^x ~VQ{߰w2wm5]cᮔVqT595n4xifyFv5vڼU Z??г༝%7y:7u Lrq_eh.mw2 ԁ\O0‚&ɡN>GGz*Klj@v6,R9{|߰.d`/ߋMM21΅f<=I4.q{Zeq˶Wc9hl| I1ƤNj.zh#c_L/)NN{`ԭ1 m@4f u7^q`Y)ֱ:Ev wvhXhO5M9J{igEۚ$Y4o:HS< DI0 [wf",瘪7ͭ%8ݥ^5± ~sᶬf+Q|?{OxӸ'̖1B#rѲ!u޷zB"TklX~Oܻt·щ!eqܘmL2ԅVVdOߵF͇8m Τt<,u 0~u|oeggй9+, Шspߣ o//BYڌas"ؠ*W-y;%bx}VHM1{2ߓlցm{ǹZF8 朮}hB?! Wi@awVā.mr?no}:J#*E/tum Zɐ-@_`GRk (l6n6dTs@ NCGj6#Vs,A%.:b |MuOW50 BvJ?n]yWjSMQY r35ڡ} @rĝt,ZنQmş9 GU-De󍊖1|q[NeZUwVsn>ߦj 6E1^3U />n6VQ_t4M!:aؼ0 *{@hUD8@*#jE[8VJMʥe8Sgzkݿ F}[+eKZQT~QF1:f3GCHombVEΧMuǺgkq i\ѕynh? Ħf[VMٸU!ΐt+q3[EmՎZ1dxkT@#ZCB"i kD>HtprDU7o*րUR͛M P6"-|\7B.H|i@̾BxzφR HYl4[%iW( n8j4XGz.W:(YnOV+>mm߅iy-4ex>taGxa3x2V5?p dP]G8J,fTL38F-{{b#=A%gw@GjʹELDX;&-?9HH¸ 5 a67ng}w j1nf#n;#׻C@*%N3́.&Njz6.2{Ůq8؆1OZx hY_9'^ DtY5QR\)t SYfJmgR03:U|+0޸juijP7jI_*S E.Sqeen vN1MRu# ٯdj5{IX@6.&F45Xi>"f(5"W_-Ȼ,AlKDl'yK'o:wJ68|^؎'mT4"}֡sQwb\ IS H6v349EBS̘6OP@+~Ttk-5rKVLG#c)`F#^rtYz>rojefޮ]۶[wf{lE-z!Kg.4PnC1+< ӏ3MCHdρJU,֩>o+f'HseE(9&hj4+]>^p4DQOyCc~k<߭̈ Nws~JfSaNgZ1Ag Z<1G'YH: ~vq->QC`]\d%(f7̝Yw~RDp.F#ȴ\>KRׯw B!UXnAFciy4PӐ.DmgCk4jR&RR-d>Sc[nŘi^pA55,r'S*o"]+l\غGRasZa@B28 5͊hi֭tk{F3>)s6dVZmb ctр|l|.Ї<%omA3·SꉋqBJ[·'G > bX2*wWgNfӧ4_f 5QJh6hxBq#h~-BhyuU [<4qg=C@ۄ;;}'ˍx޲ 1Tx+Tj)o.ឰ%8U0eq h㞟Ub14XVR5 B'pCMFYd83 שun8yMΓڸ)lu6ZL; #<V!e{ī<A\ cnF!ND>cREPR,\[ǞU0W3G`C 4`D'ێ qo|Ss\ &Q⑹ZXaqz `z;tm}oϗ+VEqH],5ApluhqkTrbYq$jYd/wSȖ{is4V % Dr⼥sm eFA|s%;*yXQ4Ëq,ep@';lqqOx/1d*ӧA'-׏5xEC2^purSV- Fg5ice0|Ϟ;{>C-n埪~YTY0Dp!tL3@eXV|p:@Ja@ϨX٭ϵ6c+mc/y uL{K㩝Զ=}a#lIZMΖAfoM.UM1r}e"\%m'OӃ*`[\ua7(i:ЛX!-p8ISUrD5+N{,5O)&dԏq-5݆M `ЁLc8Юx n_=!VΪ;˝T? >]Z#W+kOABiY IP_Z͒Jo[(t1rpÅ a^s9nhsZQH}]V' ~`2Wp6PX,qgP+ uq c v5\s?1\/ b7BTu 7]\â-3Ԝȋap'76o!i'@rhUC\gqgs6ȓl'QrGC+Dzݳx~: RɉJv}g4_DCR_]Ւy+^Zj%zo*vT֦R.P,#8HbVYY5o=t|Kn$ 8}]KܴMMV wF=vv!֗57yqjxp6=96OUC];,H)>0+n721 څK;P?9&=]| y.>Cnlܤl5, K23b嶋bՃ0c#I=[8o,obYǠ ۆsj$nDgM]F;;މm)).HceҠ'p$02Z3-"{PIu"c]xp cDNW\1n9e^ <j~?F5[mPgSIR$F4Q$xAx 66jHn] OX K`V ,VB%nybmUk2s)PF2y-\t1/&_8sXzus2oDC0?w%b'Y:iИieԅIvnqp}gKS5 >5j076ە3ٶNlhn&vjAkϰsYߎ;{ŧx" +] ?;ىJq9O4ldgcQ\D\NF7x׬jW r)DO2>ofӗ~ ֠Lm@gZ]3k- 25p˝K皻2K\2],N#G}}6-8AnM;&뙸"M9u+8UOމ4}qm+ ne#DS;Yk;;` *xT:Wg>R'ŶLy+FU\6RsŲrG# 6^Oyu'ļj{ҞQ!Ya?*-ى6ˠ)yb1gnĊ:V&ĭznxFӸDo>{6v6-g#~=,LsJ:R\_XO8!•Sq@&NX mGƑ/9"jPfcDS&A0Q/#R"]UFy-Y*< 2)ZfJW 6&d,Lά:Q0U%X݆h㕢J qkqvuSWQc%58KZ+sFUV7ͣb!HwP Wm۹R9N:Ҭ%c8^rzpv^isz gpPwש}-/u\0frT,ݻ$@~C<:hOO{~oaAVi t>^rxVfƱf+Pzo-;?.{_eX4.u_~koIrPo Gh`_ēv?ç<]2}SQqZY*b?[L:.پN-_Y^vf0fB\ڜ+u"h+K^uhfF:ZOp$pZYG '8m#\QU9T c1,0O%ڔl1& s .KDFje5sHn2Tw`")~ūUWtOWQ8Yk賍b?>{|UDEqvsr |ڱnC+Dc%r;q!鴃Iڑ]; ,wwy r$1Si;.apCKs5%ے{y/GJ'oqhsj<)fRU=: PiIy/ލ'\Zt/_ 8ܙ9)d.t;n$x6Қ W9Bx=4n40ek}Igcm4"UdЬ~|vBRfrCkr㍽Սc/&`.b}풡N T8 ~&qF-8_YgLP?sىs5iTrMJ4ODCRq%ʍ_1/,zu"4GN&@]r\ B-ÍJ%_츐c%TiY pOdj.wT氦Ee_u.rf}o`*oTƉJN tv~N颜 웟>4 l"TW) mT1anw6e2)Z}Mz"yaGR;F7qb|J^ SYPY1!e gU^Fm/a7tt~ 7Y NZ{{v8sڔBQ$~?FMq Zuۋ:U#&u/> Nڋ=𶔚{gen++zkGJrnҝ@aWߗIq":WK_ؚ!imk=宻G1r:Wlys_g[,QrWyD̙˃&/PnZI%R= 7$'Esdw(Fg o] NRi:<->٩7JGF >oύQcms4ٶΦ(fxb4+75enqWUI5cDf =˰E̒Ċ4ڌ390-0ؔm{,v|!S)`m^Q8ɵi[j&i<I^غnp  xK&0s}M)RMJSfgݴyznF@+ϪJ8J^.>FWZ[Fs ;Pg&haicL}\WuKIijhf{EV=oVDs۞5al;+:Fr</SeZ}͚M:3,ᦿIwv>9hKk w®PJŅ++ER dlm(]#̙|%9W0}GB16#b_yW.͇C_Y, z'G{J|C;0 *IqM4Ikq64'~F\JE|֋zS@)f1du[0 S;FJZ d81;'Ix,Ef슻s>.b'̉G!Q? ?ͦGUNs_~e{s*}4DbVA;77ۏ6| jx?2-栅_>Ak7/~; Q6kAySfWwєN.{f) 4WN(>`QXbCf M\ 3?fwy?5SA<@rQ߄BT!8Gz ־ХdaNd[OrjRIMeS6ОKӑJ?m:UbN՜XW'u]CtAcKywv@~9q8;I_Oğ #!59652zœIv|ft!op#s}Yc6c1'|4Tд0`tp4l96EA*И!4SbL@M>0D85J#J&9SZ6J[r./)9'rй11)㇦p2N}<>/;(.]?TH:KGaZN_;E4T~O\ЌHFωk}h}7UҸ{+,2_Ieס;kv,G6'l {QKЖ5/+5R+,] ]P8eokUAN\i(kZ>=L 4 CYiH0J3݊JX0v$EH@:(ajZ8j$[@rrK ~y tV. u˴eph֠ a1q<{pSL< pfĿJ-%a>PGjљ>mW\r9kk$Y?!?JCy怕t,*<佬 SE檅!\;(C!|1+Y\!)x% Xpr)q[u 0ԍ@B+f 0}jnGuaqr3im,oEߟ*9 n@dMw Z9zX*U| z13 jEDTKU'/D/MQߥE4 SoŖHܮv⮥@'du-L)r/M'dL2UV/Zk~z_7exNROG9V`qYQsRmT[j TJ9w(S/WBf6~\NHĶdZ,tG&,veױyW&:.QuhbC[Wg* xQ>'jA+qreQj{2(MROBRsY0Ktq"- UR> E+f2Kwix$0<)i˺P7'l)IO+0~w,;`&shSH>^SYZ ^Fx?CNYE(4wk ӄD2r0EoR58ZLN6vǩ왤ab1u9ț$[|AMA ?EG292y@Xe 2Ҏ\D!@3L}p RG>[$ )4"tbA^GgGi['r%2Bqdm^P,v>,-΍`WIB55l᳿w>zpMY`RO-NȋMg!ۊ@`Q$sHptl9m]^ԧk6j?t!@(jno(Fػ)UaWNY.%kǵ?֗ j[qNnJ[ 2̖^ `4%"lufS^fFm.2|P}n#-}kG[;Tx~h=!Efx.~= \6J&LcNOIzD?d*J~~sx̓fX '{FÉ5S GinѡUħmFqLkeb1ٶg H!SG1 Se2t\͗EeQ@Ź2"N)0Y:kTnd$4j]Xe~6&iZkKퟶOY7 oF7Srigp+Y [hJSNLiϝN"8@v.ONn<0aVb_hX$S :%,2qDYʪO?p$U3j0뫦nӇc _s[Bo8[9Pe*ߌ QNKfawN5t,IdcP~Oxh>:0u^ a}$6ŷT4$u]VW ;t՘#-ICpt˴1!aY+(_;9qgB0 -&٬۰3mU AFVvԍA7nae) 2f+/ Cc:é%Bk4ˀ@klGI D& V3Up2Ot1~f=A`W4еG5fD.̀:>YF,DjWf7'_'YXF87^˚!I%$#F^f?O jw91vby%0j͚nEdG4sk-ղի573{V-{Ju%_OɤTY(cc~3)+gJ#9N4%[If$ӄOI6b G`MX"u Oޞ oM:q_ !;:ПT~om",b_>$6a+2X+*~zooIY'`7%lO}%Δ6٣ܪXJb//hL ;,҉|=?-M‡MCc]aďz#jE|=ajIYGj]4Z1㵻̡2EM55{"Ϟ~yP~z;&aԄ훱Gѹ68,v#sj>Oh7ې~n֊G{Ra/ 3UYeS&L^(o7{_,雱1Y/R?:簙߂}Jtx"$c:ч C 68;R4 E(L-б{anDr$-BcyJ^ϖ:%ctHw;[C4$>iM9]f<_4JdA4Vc* ݎԫŲ^WSh#6S#]fÇ2V"Iuv5lȽh|E[^!P=xkTT_v܎`)ro[2> ޖ҇$1f!a<㡧·f5Co5?^rZ1& `ΏɠNb yEHϑzHԵ.aցLUB^ƈQ{9{ͤrKnl Cv Yͬl!/[^WITRT)=>Ըs`,L>?:'3XRh%'} Ҽ$׳!`$e|d ˯1ZTk; hdD3;t8[-^?l:7/s%c)վdy81eU8O3wi~ 2I>zSӢzS-))YedqUOi} H}Xe7S2bVsߖu"rI R 1үwo0\}W|-(^al,b7@>>ܒByltnOdgIjPk%Sc 'M񰂷Zʉ;34GpA%`75p:GV3dhs\66 :fd9%'@{,r$MlYOx<=B"=v ~ơ=agviwոRg5kSy;< po[9F6zL707,>λ:Zh{ Ί>=Vj OBE{W_߲mL4h҄#-¿́g@1+];=*oojG,7MrEv֪jE'hq hvPlVÆzaI;Btn#D9kbώ'c|>mⶲN!t^QR|=sљS0nosAocLn 3_ʞPl4\`uȾ WQ~> s3q>4zk2̶̚ p ?:tĒ@q|6TmkZU@2],Ch9 3(hc)茇Xy߇sI/uusObУx{]ե5}6RIows0~ YwF$oĘ ȒD'@ ){gΡ0mW+?Z }syeb*Vk6bL԰=:ET20jugt{*m:S Ek^cVO`ٹ֑UNA$h Ȍ-0bH[VgɊ==/L}d~L3aɅ뿱sN#Attns{Cw4t7m@| V oX]3t*Ǿ#qr=N4wtYm+u*1!V[gqTJ54I{\u??|Tlv]Gl?`nYc{*9u2v!D#boh̰w՝QW$i5"d;!h68lM3Bn?LN3r{MҽH73utH)ZPHa}eyJ ϤлQ;Nq,Ԁqw<$= BHL?jSy&pb9R]M*CQxK]Ws;? Wc!poi>) E`ç{ӆjg.xD$L8/k$o?xV‡t-a1#M%ߑ^v"8۽>)i2cO/˷˛=ls̫f hl#\epB(>]/HrLB.]C3?s>xi<ԑ`"y^D:Oo6#F+ g$pJn2eV ;U|-GPld*`!H(MkfGA4 {p \zO4sAO=[qB#0p[.6Yj/F?Wjޓ1h~Y٘C/?8ofƏ ASh}v{}L&;=<0x=bjwTK[h'! ԻR0J[8NJIS"? db~f !j_)-˴UGxL1wRՓthfeMY|=_Gb8"[+t<Ɋ3+x,pB9gVzI =j6Vr=c3@ߎ!WnLT01בֿySa4_Il4}s:psmğxa =L݃qvuh-7{GYl4-kCA!s4EL]6{pb)[=R+Jg حri5r X׾%BѩPJ'l+ɛjӜLzݓ ύ!~uΞa{ڼqK{O9 -ezIm]е嶦G1.VTcEn>ؠרGu.ӏo*S le|eU̦?EO|ErZQ%jOPKɮ?ޔ*WYEU-zyUB% 0dOb>c9t%ub>nXǗ3KbiϬ\xWF4*$Ĩ{;}x%xI^̧=>y'i|-Llfq<})99_wZ Ӻ`jW6iQw۞%|5u-v՚5N-g8ζl CiN'Ө}K3:p*P!45ƹJ=mW5+C\zEkbbȡ"0< 9 2Fi}:AE*we̢SsK Pe08'pбXܣޞ{c6pC5FLnofzDjK_z+љ89PۮHr:L)1#V](W| 'cQ|gk5g]M ^.}3D`]NG,K~jR"Ɵ sB]]p|Q xeKܢvFzIM:t!j ypg"g /92R<*2q/lc~ݦ xgixV81h0oOb㵢ןj$ta ( G^X֫+䅦hHqC5_:|eC 1S4_'E[VHYL (mqh>=q= Z3@*(Qs-}I:lVi]`۬?WͪoН}kڑ7%;C `xU{Z#(X9v2,d3oA$'kGA$J]Yu2eyWj[_iz<-Z Hƽ'>(HǑNܪk {rqdۓ2@ #]๨&w;z'OKytS6ZRwNkfvhJX Og_R`%z& nKy KcaA %7.( ~IWlاZ1BN6-sS]vPSV7rD!J8PbHj+iUWs{^\ zG0@?^5U#w`x3}l,:X%w6&9?!=} NZd_ t}'6ENP]Jy>xt٩+ӱ?9,`({8ɪP칦qp]wnt-'CdKC?1uC,W;uǕ݊8GTf۲ST{jNmݶrtɶ.VƙCAʽ#"|q0/o&JBWȑ֜sܭ]}?ri1՚8`8JQoH͢ =\_u3ֽ5jp+ 74 әs3Q<әyk:kix<2}Y<:sж6FlO^,P/ :"S/[ZɰsΜaHO|0 Wi;ƕ-;!NQ6t 4踸-fu1r˻'^ѦiriiіA9uʭ,Gՙ%]m)şjOHpѽYVUackWzGKzx0~/ ^[جSem#FTO>Oۏ s{vj'ͨw`/* YEAeY y:k;bz:|. Y(z8_mu^zՖ1nݟYK;Yb$ r0gH51w@fJ#r/:ey/NeJd&s!gbRщrXzy^(؁\ DA^%N*eLʳ:# :Vcyn;:?g2NicR)#x(:Fjoqܝr"CgDwq1_.m^u~m+9h$(,~DuJFqP `w~k^P5Lj19ݲ@վWޣʿ gp*j^V,_ ̜fn &1O 5VT:7&mөZ+C@w<T 6ڷc=[gYp۞qaM'p1;OmHRr1M(,$ #6P8K= O/Sֳ2qMeޜЈM[l8/C܎4 K~Z7z65%pˮ(C+B8WUyid/tF&sQɓ#ȬA /g o=UGIE:BDv ?ӽ?= ݽ=µtO>={GLD wezlJT>Kjd22^ tz> H诳u홁gI h] p\_a~%,e'Yye"e۠'냖'FɪBS<oݡB]lk*Ѥ'o@'Dkퟓvw;XxQ&s hztuno?[V6qC9.kWO] nGpkBcNRsZcu;;6s ]ԧ~n3|ٖ,f y}6h4J0歠_f6~oö~^n7 +a+XFT!ᛜ(q>ʏq4.6wk;"e©D(6-E3A=z, G*ۻ6 ɮYl:bEp l|]" _B(8s늭^~IʪJ7,tάDQA=jaWAc' T?>La#-C.+MBo&'z:[g+5߬@ cwf^0LMVYt~6hJE,S!:m=ˢ¹ W$C4kF^o\rз[]>UL\bA>̖ͬuڕ㭩ZKLފƤb}XH'UFp; ;E˳Ӓ֊aۅӞ@@mm{@6(sh[E 2fxFME;#QYiBXA9g.hl{LqƓz~=jzrED 䰾9ju>gNUS)(qg]p!z}..]|hJ$mE~z-1lsׇͣmz~䠹*= |ێh/'/c6F9 ZlE.c:BT:ȧ|ف0xr%p&k9kg<NU04 [4>YvR9I[Llz2ͺYK$6CV>f3Դ=Dr1#n<qdS|7CuТ܃^cN:fb=,W]w~]b4L(cMFFF_cî~ %p}}}?"16i84ЯgdžebH3i9g>!X_n^wr?ϷiSh nx&9 {;қ{.vꕢ %gFkUekuHMHE)[YE{T[Ij@$! 3*ȤBoe%/pu`o;zʣ_5#G-pb<] GTS*IbJl4H^/.#q8 :ݜ6.2ҍh3qmDs2iLo|nʢH>P uy +m]Y8_pxDBDz:|@B!w[pSP/ ,ԭy Du&~ \(ٜkn;=z6TWj"^yIЗZWQ@<8b]žn X&3pi;SJR4YѺY&hU [y}3=phx]7l|w"Ҟ7s5x^Ȧb'adH):6s ^>yܻ5~]-[\v8]%}E#^etFͷA Gq ߛEv`[!/OPey*/C6,5 ζ}?saXIUR? GLcd SF&F&s\.١09_P ͲD1avxsbd >ik^"[귴tg[hjoW+)TyHP+g}OnKzqt:_@~f A[':[A籗掣|.ߚg)o;ζd_FcrՓwB\|{q!ʶQ0Y 9 3};/5U5=v,keSfpUuJ7D@yiìt#o qV>%"f"B Eô}j.8?xѢ ,qճ 3KS'?S\APÃ$y€<疞\>&=δROüG  ;Ѩj.~bݴ|nlUruJUonVn|I2 +Q |'gS5(+cxJcO=UsBUL {EBsBdaq>|b2(TX t*BӺ0Ct61SvLg"jv2^ F6{v}I}$eԓ{FLԏ*9_2NjƚPW74t'e,=K/ψ'f7I/Icgi=.&G6 JxC29<|/$~;exS~ؕ$=Ge4HvV+; ϥ0Gۏ/(E+IMҀ`KDJ>׼8F HeE+dIݶ׷E,}봍f$.̴#ꉒ@p)2~N"fVU ń$. =߇GDnJ~ IPK]'Ǵ寳rXMnI5gAɛjA[tB0!^|`4aQ+Lm^}zf(h8L^xH%&=d2b!2|ncL y6]?X,D-@V"^eY5sZ 9\Ύ3{{ޗo){8ۆK?K6A40mtI $`ke#/$n=(47bvTj{AB߹Elːٖ]Ϙb1_tO}ǻ>ɬGvcϸ93ܥ>ik=r% -uPlWMo[ рcDz _POG#Fײ۞/ O_š*:'9_o-+]CBʷ;z3@vͧ9W720 8 OJ]{[靫ֶ-Um1`t[yW5.ٗT6[6|YS%y_G|W=Vh#"MF 3ܲDsYGw$(JFO7ktRz-RI[*y:1zz%s,YaNBPR82&m,'j5rvy'+jP)&"g`mv6<]/'{? 쬠-6q*+"O3lO(GF{i]kq2<_Ёtr"ˈ7$5Uρn1V+(rPI2ez(++  -ߑhc?8Z- DH}J$eYN OMĨx g 2w:[WcMu~J=e-zP,0n_Fjoya&'ɭ/#ʽ=x|n,%g/nG *;Xk-7띺^\v׸nyMYxCD3k5m_ae]*!^Yo'aSe?O_~Ӌvl?~͌(Cx{ž`Gt]fv{ǧ$~YT|fۊzfJ77/4IT&I'K(jgqMt7 a#Cd8@<&2h˓A/z0 |'Ct5j\ڊbKMPp`WēĠ\Ƈ !C~Χ{Pi+z\{EY&J*Ie_Η*Ol&UȆeDpܹ(򷅨?er'.hLؒ۷ΧU*ˀ}<Ɗ6H>65[ *GQhο?8'aq)d6rG>d:Z .EV%}.ζbEήw*ssqMqxæ܍c}UAbf9JyC&np:?c= Ǻ–BG ڤ?/wIV$y' -I]+ӆ˷hp,3[vQ';$G[!@ju<ُLG3b-4Zؖ?˄?;|&O-qi[څ{UgƇ߻y?{O45D'N==M$;zcu!"kq]'RaU"}GʤSk!. Aq ȡ/i=rځREz $<@_J"h;f]h Q֠N_AUcrH})tXy ~5JOe \2VNa;~~d(\?MHչon~տ7L]\ΩTP}/N8cw<y|B j^/IP紲c.}7xq}]L\y>_.+aNx]pJqk"7ܧaWI|L_%= A<擸ok{|tB[XVSA/ϓ$~ԝ{S ƌ~~l% 3E^/~_FTp; ?_ܥ7_x5mIm{n؍V x! = ?FSX1K>`Na.R7f c~L*4uvvaaF瀆rrQ?2>? [q;C@hn7vs4tIڝݏ ~Ѻ;=kҽPr74*{xqظ`TN QR7 JD²!hjdd2J36+XTy.f@j E`p0QF4.V\0=$v̆i=_x{z9 X>J0Qr71?a>Ҋ] ~x>HʘL^Z8dQ=?EC]DGIX_$ofY4gagѢc[~ 8~]vdQ O 04~O8l߅H3f}ًT܀q,kG/wD`X'hˎ1VLC-i)@G cnyGS'}O' `s`afϓ4'zB\C'S _d1o' RJ,^qrBSS\\ExK f2Tr}鯶[T*[xVF%YR bU*5G:PmƸϥc405VF9N꠼V 3*Jt~ W wDYl.Ic:(vj$8`ibS ",C/LC)?ɜQX^jtq~ҙNJ?鮷=,V& d'[!-|u_/Z}s_!0ULzϒ3OOTd^l$1M֠qLKN 2r!"͕iĹlOlPbunJ]iŸ:[ m;ViZcRDX3<,p0T GУƷ"ߟc I1< lĺCޭTs?j::[WwQg}@wv/K>/Lsh1tiIGt\'b0Ή:X77p 3#$vL?*o 4;~qđ[;dC?i4|+sqS1^/fk0:/Aޑ 45_\XוCtP~NڼWNK{vzu=[pLf\f#6/{#b*7ˊD.v?hiƦ\ МwY 0~g=c?y(0;$O#VۅC`?pV^yVw|V0arz9,E†14㉚e'E@g!? -~\Xt^D/Z /1#c)"]!Ε'D)! <2t-v fj>k}G$U{!#׬;j/c&*wELI7[uYsTm. M,Ko8N^aR2r:6% {ɨG|pk/ԤYe@eP̡;rz%8Yr~Ytp#"H>}gƽы[X`NY0+MD[&Q0:waCY=)_Շ FY1Dr3 מsu^#>? ?ay[Yzk+D( vƯzo3 "t WerbrS%Gd1Psb^ a7#B9amED6_4UuHe5u rzBl<\io0^@- VbJ(9 1ٺZYsE\/]5%_ڙUR^/ .%e };}+o;H @jqV4VB'~yzh}b(]ew]xɞ({t-ρR'4On/>ckZ(a6/NLF~$[?pr/韯F/?>QΣbI_}?1ܼ_޼%_=L.GVy_tRVֿ"!^olca_ZvJVE:ճǷ܊W,ݳtNk>;!Z;iSuz<>cz9kbZT^w:Թ.H#1ƳtW1ºU C˙"j@¡RDYȨ3$::FR-2G?Ԁ'q~b1ĆO'5 80r62x.a,fV'h=1PtO:p9^cOfp3#\I=8f177[7![yWwϮ|^^q+fZO?wzƻ*ۦWk::P7qm=UvLOy6*yΫC*zM06y+T2"gY,म9L+"r⃉1o{{zd4j֜ɽ TuHRm } 4m-JZ{rI.7wpB$Swe"ZV% im@V3U! by9-zy&cA9~;g'G8FzsϛN.lolCЯ-x!Ĺ@)v$o`Oc 0 b'9r yv?TY=e'tU+5[1mEBVa)8"/+Nʉ QHim| 󧷷Kzh#rlU6QKB|mUto]#T7żE) ^l咊yH~ !͠ r.9pt-Nc<@ 4f2 ^ǣtKs~ ';LqmΓ/R@g%P[Jka?q1[XD#iZO~]L1Nj;@r;kH̫M\u:SeQUca xz&ΙA:ϛ 5Ob(}z {Ck"(GIoz<9hl91ڳ(:ު'Jz$2܊mkfi4yN/9ԂӿG|^먝5kEa@ C1=X'Ko,kx`o29 t$lL<Do[ 9SSCWUʳe4x?xC5>%^` 84LܵVpȱ>GjT-nb$fV~>cstH40{ӄ>k(@& uƧ~0u޽j7 : EJ@slFT8 6ոQi4ƇK,V>L^~ĭ~dt|`4RԪQEpH[5tn̙4G;` OjP0Ҟ2mu,Hr~U6 08r.6IOt2u˛5P!, :rblSi`Nz%Qfͅf|4$\Er+gvr3K~HC%x "Y`Zˌ6|fw~j%e/ -0i^_fa]я+j+$?^ΕNH^0/{\\&?읢qS$띡 ݳ8 81hVTD_[Kګ wQfs %=X>s?ɪJj|`ퟴPϗD.]@>ɻEWT )[Tref U蛴~CIej^!CeEeb^JK/^JK/k%TIKrGˁtNGu}j`~=r)߫0fQ6{٬{ >f\tR^µAGW ?/~sXb&RS+5BViTMV."֎~cr4JTx%ަ2z<{5t-T{^w:©i2.%% *K,P{DmFLOCeP=2ԐeF$.2U U,y׍1Pд0ً)׻zWՐ .%r?Ě`Ƨi>wA]1?7ύG10xpLԜ,xd3pK6'fh#(" Ρ:)ZNsmu{L~}6l2uMWA:F5z2.\$~EC9WM:5@ÃFD8G13'gb:zu\,RiRǝ1g1ʷdPy[. <+$v'xŴD$b Lsya$pHڬ%VOgcÓ*۶QYgA-kF-" pU%5wQ>YY6C0m7@!3"7Yяgaғ{O$J{E9eRPYLI:oӝDby:&`LzlyN@@ <몏ӆPKQZM&b]5ѦfԽ-{ 0Ƨb ϔmkNKӠ=SPMUxZỶc#Jv{:6}J-\# 8O{UskhqAr@iRo%D  SvΣī !Ƹ p7ⓑ:7oQ[`==Nxe,;H=vXj ZnIϲAC(+ŭQmH&n|PF5*=Z`hI0C94i'>S|w5 %y(鰻J%$s4zQ3Nm(D8Wq29eޢچ\ "b'N+ul}5aN: FHKl([0LΑYb G~R!ptE T@ W^y{(;u~4c.YsP9{hb}*LTk]!,q+~t?LzQa A7?د? sxۄx1ia/i H >YgD Rvl|ZAAit=г<&vO6qk&ypSH'Yep;PøIԅaI%|'##,1@b.kAw'U{a", Ng-p4w ܹkSw@iF䃘ne(xIJ(e -$`9+fRDc'aXȦ~U_JWXv9c;a$߇w:ˁ%v򆛸 ix1;h“Y04bFghrFԄN P@iiR7`Ѥ&yN˯~wpQ"I{c}O|h;b\Ce{u M-p3ZeQM&7I ˻K*ibG_Wb\: ~&e%c.״GfìˎQ~D/q"p[^a*:#iSz5;"Xl<;ڎf/%<@ѳbaFλ<[rh$[]6y}V]" \F/D?:ZZȱ}Sy'7Ya Ȼf\B:*m5q'2Lf\QՅPnSP^ ӻczp$E -gإ77 لScIpl R:f4uA'Y"k_ …?p~sȅA{P{%G:Ώ5a_C rG#fV}Ԇy:̑0P+Emdn !s2ɟ}~sƝ;<B3Ɨ ~{.c| hY QrmTR} 0[5qnٻg"pFlΆ6ظ^@ɪ]$tL!tJ%ro$+i'=SE~C6[Z$R9k)C/LH /lb,si4?>Ks~嬃oBEU|-˟"#q(ë R q'WiQnD1xܡAYpUC?m {M"T"wVAC~9K^tRuץ+-0m3vxK'qV׿-yYˌy6/bZ}sv-{L,Լw-E8`fĹ)Q>aPܲyV=1pSR䎮4h^nj{Amk;mrv\vM.&;ODq!5t( ov *:ŧ=G9Xg̋] 8땩P^~p+uA^1;U`y 3[f &it-8AZ:ݬ{|A%]$|J8~_E3}HFeA f݊[?l j ^ 1S˵)L&W`cQN(T`BD m+K *% *-"SmivG7j"SVb.qU"NBfڑ,Q/ܿߢ0apzH!g8NH2;My6msKbyK`"%L?Uѿ&Rji4cP|@߿yzXd-MjNQt :aLh4^ϡUБ[z,L#=8o^YQzG7J^ޛ< h]ˮ.S̻YxywNDn[ua*3l Lxfc:֬TNem40ru&dQfFNcr30Rxq#A_J.Qh&BMjƵ Urdxprx>h kPjViZP%,l [ud}> BZoD?OI*=5l,JHh ŭu+H!B+"(8O|5T}?svBt:OW?^doHtlWIX45:\Ws}GwL>'dido+#hBJE&,=`#|7.u_FԿ`y`GvZgiK+nT}|+/dOhN/}$3c:xKW{=Ls#A/@dl H]<`&$۳ġR_Ť!/ CNRlf;N\KSRM2 |$Kݻ7KխtzG఼uӽ8>}b\=D>?JįV^P]\cU" Sz\!vԦC%3 :i T?|ңïzs#`b YhO)=8H6ك)NqBM>Gw-  kÓ}2?6i>KgQ Cj- w$-Lz(e~6?agVQrN}%h9,fK)lOx7|s]%l'4vX"j`I@Uza".`?hƁI[Efh?i3i>u~"a3qu4.%FKWD?h=%tBEK):X􌊊 @'$yƫp&{Nټ5cjy͜1xjp}X]j5ZLb$ҳ.;`IRNŦ7|)͂`rtp 8A7:xX!ytp%eWTD/6B&r= Uݹ OnմL +^,nиr(Hb+L=W>j!j`x]S{p1ړR]̼p:e{#ئ~t"( F].,']LTDDN8V> x+jHsz1BzF*xЄYϪۆ5ڄnvq8]Xeg6FyMʞOSQ nTV;OS!XՆJk"4ޘY8~>Lnn 7GwFWE^>(rLltpȕF@c=a{|0pxrpPp4|,9ol;FδLn?,0wl|WBk=̂GrapN 5KFuv!NI֫1^ 3؏ͩ]Y E[r='wU4@q2Nāfy$DK@hc 8[c88Fӑ]M @u8 Ut@dz^ksw "@߻Wm7 Ʉïes0I]%+JꄦLR\R۰~R%W`9U\UR J/$90W=OUNuwsHXi f$:Q6_z| xxOPa9%baLrHapfW۵.ԑ0O&<}Q2Jl`JW|# ZΥCg詾n꙽dfnĿTHg&"-?Jz#AAgicKwD1e!:u~]^V3g5j%1=rϳ2s& 0[ bmh90ޏ[Y!}_6ilx /.JS * L騯ԭ4X Mz.WK+DF8%]H,u25JZ/mVE]ҡH}:ZM5X|к{ˋ0QSI,$Ạ!XwKF Jl'k݆p~-33Rͅ+3hj>"9ypn4r2|ƽIUWunun'WpݰhJmGqd{q]79I&Ϭ~6>qSp/KPzR̭+tpGŷΓt/ ruNrΙpb+L=LcJyqhKWm_t.n6qwXmօ1;{zQ;[Oyf? /ظw`gYg:RgAyF.g:\۷N~\,C 6ZER9;d (A稐FVVg]MzUd*=:8TΒ/2f=L2,LUΎ9GB8>-iN57𲭶Nŏ;RKNTzrNBh\e%$Ȕâvݷ ITgteT٠͒Fh:}~k2>*JӓЌEd"f!/uJC=8a(i' [cO>ē̃тoze/.ъ.9776o!?~ȩy\q ](G,p =/zWDkw51fL!93YH}XJ+%DGm)?S4l2nFuwg£<*GT X_r0H]#̺wyGFD;hkܽcKTvE!5 e#{|wъ t!#n|h =Qk{G*ԣř;Yt̙e=fTic L 5_ -A2IתC^1+CIQ~\xYLt\.fALL}YvX,CF MeiVK|d3I|F9#l-q%8-o`t֨  4T8>?bj}V A^:jkD<V?YbeGa(2cC85 Ty|+Ic2NDF`p }gLY/PDiv]զj/- q‹{iE_c:3ؘ`vP-P-Wc9:XMLa#Q8FgLZ;u ko^ &q&)WCVn5qtֲYbZZMhT M΃L@LonymA/W_(Q֠(G {+l28b ZNeAԬҴ ,ۉ7#u: ZmYe̅`j@;@p׳rl; آ84 P):c,1/~ӫ֪+} #jgl+`ocy>:Ez=_Ͳ0ps{sjLiy֜GWiWi?1ӥ3yUa7\rN@d;k[BpUA~hTf:Ds3qi?P0&Hk5A,޽qZƖTǶVѐI>h#a!haEl :y(eJآ T!P#GSc9S"@N::C])ĕ$ @!fe\c ?.o.VΊ)WÖtcxP!6OU. |b1H]43S ։Ͷl%֝|Ng݇ԡҧCZ@5[kVEhKӥ=hk-V} %J0ݘMl~n2c vxmyv,MA]9ubƥEh$roWSqb}vfM7AIabf1`"B_䦿w^trIҴ OլuiVU9\;8L]u77nſ:t!Rj+pr0LbOyN1)^2!jΊma Y@DB-1ݮhMjk:8N*ʽ0 Y>5xʼ@n=T־bA\n{r}ӧ~MWHǹ2 *$'ܔ-?.,xotIު@] s ċ̴jsui>rt-Cbj)?mkPV!1?ggKO#pR)6.vzN}CfTO|;¿Cө)zhl?2>ga-0-b>ѵ@vT#PœTpKؠ~!NxHb*xtp2;+b?zqml=U2{V$o+Yd,\岔Gg;g#b`?p\[eNP\w=<'jX$/wxo4 #j|?Od/?aaz|ٞkx%w?l9SaXI--a+D|fe@o-&!6t?01$`HFxN) ԽI/U;%{}0[LޖJBqly;g8W@RnE,[R!:`aڎXx|Lg-{Brxz㈥gIjD!?&q됈JQęr%:OtfDL ˞$TN8"A1aLa:G >e . Qἥcr@~>8sOpdĀ&O78GYU`^ŭx-}4xEdq>([)(ty[JY%Kްf9uF1}404}YKV;VW֫H%\Rl+SxD+r(SɪO~DD3tŊgWUA:DNB(g1NI 7ژi2|P]rZ#']b^cb{IGXd}C}gPV]L6#롸բ‡f9Ht^UġĆ/.Y )'Qu_Qhne5an+X~3ba<_Q:OIQ L!;{j#!C:?@:_Mi*W iؔg4>Rjߪw;{+UŇWFyS뒖L|&*'\s h+,ьj!ZOpT+޺.Ҙ~U_֣͒'VsGܚ/ɆkWԘ~`3G)/~ux0tJbt]"#h8yzC̓rqf9&4@lq,nz yU `s_C#ʋ{98񱨪D긑e,sazFzDUjtР\v|ZIIVq} ,# a VE_#D µٷJF_4"l,~·1yqOqm' jJ{'?oC4P9a@4 `wZ*9CR!eLNCM9#xdQ)Tڜ2Xqn>Y.!odh7 ϒfGotV죋0 dyC鴺8qus9?=Vzx#=GG:s^.+u6YIXsEeWhCQ0U_1d"^ 3Qn8i'7; A kG6BPoԍ橩 s1RCOQJ̞NG/߽eG6z/RDjJq ylUgЈڡ!J.qEl/q+^x;C).&q16g"`ǔǒA(H* , $IGX,5ǣe!q#S ~!0kr(/Y-dDOn}E8Ӄi< iīP~]wkeR A$ @2 2O]vOq]5pҿHlhP/9H msm AS4f}ȐkYb.Xv-w ;$/G{Nmbu\l(0w9U}8Wvf2o YeQΪwYUzg1s%uP%[)!aO9{ j a=} oFm}&GS<|+Eti6#uG1M|A~Z7$ALĀNuI|S/rDfUAկAtNm[9(aֈ35"&)SAl|+aۮT2 %t'XAL !y'57YgFϱv侤X9W0Hq|Dux ˨ȣsec2t2H*׊Ni0y$odZ!Z#6>p'#w5bLT?4V _1xQbmMhbt{ iGx7Ӵ I Z;`\O"? ae 0 ?f*<'6]2 c;D@1(zFq`~&o|~ ɖS@6[8>=&q?Uv8S;m}e.҂ߨY<dlm'sv(CVa; _w?˷_I)Ps8;8u〙ـ8?[_b/#Y~fV~O ,r@Yd|?* *1#j6E͒Q=kJ3JYh#>;#j$\/h̓X J^XLcɗa-6N]}skhr#v;4;RC"稿ڡzQ?]# s.=ljGri$@ zIsXn)#j/:*-HHK"_>ׅ.SZ찕7Pc?Ȃ;-$jVZA&773+YҼ4܄ w>f$^gn XLPkzmwq$# g1҂n1 E )d@k.|0M/sE!1z2VLY֣wͮrg4Wojw&YdzF+c2%.^cr0a|tA̔ XȔ ń1йN;Eg f,>`}3'$dY#u>PpBT sͅ"c SIHZfk;ͥ=  m>֬v> ^QYp ~9 6 ʋrWHdcMQ\ҹk9O{);JZA$ >a=R"VK{U@5b̰nX H^ 1 pJAS2kdC[ҳ7Cg[ʧ);88P5KHyjF5SřȞЮdTֻtaYmVs=ZA#rȳ0=mCF\)h?F &{,vZ(ut9\ϗf{˩ eFFvHԛ5ɖ͒bFHfkrZ0?53E213Œo$a?ӯ Wȓ؅Nvuɐv+8Kg<νcNLACK>(A´.hv?h'9Ghu97_5߭]cY T6[@>Hj DwUL*YpاW& 9uDZ)Sߣ$?u#ČR/ s* 4KEvTe.%vfpMjZ)RVZ&+).B>GH* װw h> ^LVWll fc=6Xu^$>eoU1lQW9Xdev$]/n#Q.C0 |Gk>w%#Ldulp՘'YQvY. ͫ<|L[1-u:W무˝^"wZ35O>|8qE,((*g,]p 8eb:ԆGtZ^"KGlt Kr-IRQᵢ]dʥG\#/ܹ亐DK1y;**(VJfi853PJD`A HP#yG$_6r%:[7[1NS([/ϴ1[cL$!F3`K368 q"5m"-kXJ ̨0AϠleA9*<]С|ʷdvt޼nU(m*:ܥZ@!aAGo<3s5>5͜b ۣ)ޭ+S.^bz$<:o=1(+y̬o :3';_)k~scCX?퇤8"mY3!f?$ dm#1Ù6DܧNvnղcJ~[$*sheH||.O/榼U^p/јts5V@ A Л `ӫ9*[1ڴHCb:wVny2IL4K$>$e}o>= 咎AH4Am҂jx~Wοcc~LAoBW xw{빦z_SܢCpj6#)z#S]+|5^ dp7Ʋ5p}cz~D纘nx Dޤ碫aFOުCKޥ4+IX_@HaN/p_2p ib8MDkxqYPޖ- 5w~ OwsTGyj6qQ}^ "!*VP pKxv@ͣa0k̓a+v7ƔMPUא2R"'N5pJ$]1f}zɉN%j {tv4oǐÛ'uM'o/Y㝶nF"3O5k8_+GaN}+G AtW0Ć`OX7^w24cj"1zh^RW'I>ʮx ܾ\L+*vqWy=PM#IT%iy<:ukN1~!hZ⚑kx&?(r:Ygŏ'dolf gl ."=EB`~O whB/nhaX4Qi.k4!]J; LS\x`N-%k{<>iBiu]{!_̬Gu B}hNC3]吮X`-gfNo^;vG2[U{EW֯uQV}A [_^z(1 "{.ӳtۑoBM D_m]:TbOgjhhwv|Ò5!m3*\gY3y`tӿf4ft{PYQ=c/k:I<{|0|t}?;w>zpjwٟ ;?kڴY θ;C^۽2Aw5PXKi3 B+Վ&M:Pzxt%޽7qw Pd"X3{wn޽yw~) ='fIAj͋S  zYiN #־M7/~~}֗Uyd'9N%1ήj(/Y%>K;yľ!‰:[`_fJKss!P]" vJkY+֩/s]J.Ut~^q3f(JJ^1A+F mwki"Il`TIQX÷hWB eJ rco^ Un!j tNvvɚ*E̩@/xcY8IOFY\)VxdN,ݒEupY/ޯN,aD GȒwT{'~<<;c48Σw'oWiS֞P-x~ C,v~uͳg]5xϘ:7^'|5|c*hl#cGdS0s6+hlDH-)ve'N6=;,B9 8. kǖN{#or[pPi\LA07A|sÿQ\ԶXNòևe a5ͯf Z49w*0‰zê 1HW ull Ke_wtؒDW۝lhx§p8$+lu.onw~N3~ԾµCU+SrL^NrꜺvVU *̇@u#pKNeq8}Oqmc'[7}lHdud\Ugk Ր;9{bc␕ ,vMXy:n7{ 93 vZZ 0E.Dyq6>: n{{#4({8γ ˃C_D==_++ZOonvokSW?IBPN "΅)wmDV}5I q_&KWt=Iϱ!rӈ'T$9f0ғ(2F6-'zŦ;R?R?/֧z~UPY*Z]&Sa<^9s LsbE .Ab%lJk ŏHx#aZD : zis*ʤ}ICkUM.yZg^eoˏmϏ>c4)8h=/2k"Ap`O7v-OPLTngڹ\_u'1D0^}m/zޡQ|1)ooLD+) Y_-XtIkTgۭy:Ÿ>q*8_D{VC=@ bpF-ӽS"..POi%@f=(c\?%0hLCf~zlj`$B⦅pR8qӶylϝO>YW̃ 6 VSu-NwIW༌W^iުUܔi>-q #}O=a\z|ɍNУRw\#2'Mw,Af g 8{:`' }v kIq:f/_L;jzq.hI\9X+m94dׅzÑ 3'r]*t8E=w]%d3fqDfp~20Y+zz_` mwh- h?yX}74Fkyt?lX৬Uzh$KphaS6.hl{$SDzВ]WM.:\$/?ut(o?#Kى˪ 5I;-;PbHbnG!R-%^ L0rZ Sud;#凹NiA<b}yy2D9ЌGr-#cduOnzq {%}zK[RF~+5WHHS]Ɣr>wN@@9 J=vU|b0}8 "b>lrko$OLMEWKmDn;:"yFl/Y\hInn"@C襹5$6wXbأw10;ٍ[OSZNySiʸ : B8l I}gE0/hFԫӍlb| wArnp肃؊} [ݯ%8*h Ԏ:{{)9O ,oNEq;}8v|8R;FWf^1vS:o^ZV"]o'#;};z<:mcO$2 DK+`Gi:-sO&3=v*#frb=V4+<;qSgΔ F:¯xZO vW$ݮVqD#RcY?K/luW lYQ$z>=Kiqh;Bɚh1n/8µFwE3gY6uf 3rE;}s?n>w? cќ5vϠAeŏڕ~IKSIbReW?f<@pIim}#)"Fj\HcPԷ!}{!ڝk1n}!8I>Qe'\7ZWV;㴷3Ϫm+fg7@z;G>3Yz;i}Л~F9s3ߛ {t՛)j[XENՇaԝܢ[1qf5רy6AP u/hM8B:VO%_jQ G#H[ٻfzp"y4spES;o[dkgLFlE,{U;a YF^3_=ScH }=C6q۾,!@j~ۦI\W rgQeqmy Q%f0^M w\i[8ODMeq-fi" 0f8OyZwG}ֹ='C=@fž9N56mR)5B+%=ZZ;]7k48"uz|rlo5jz7Q|6˺z&rGdHYQz*pBG@Pϗe$ dCCuQǢfoꋡ[Gor)O`5C~zp)Eߨ芊d] µ\0hGjN2P40t}<@z=غ;44֌`48v0b.c |Rٷd圳ۮGGN.*$i Hᬡ#v\!̕P#2jK!}Ĝ,'M5mz-%ơ n1oIF,!iZF7s " c7悱w>~{k$q>볇SXf zӼW*[MeM[pMɊ/fܐMgd䈁ƦbRkN\6anyUv'U@+Xg0lo9 ۳#t*Lc~B~In e加 'C`{epdjl<ռankqGmŖ(hTt[hfiiiZS8޼ޕS"(]iN;49<5 Bfl{ OX[JpRK8]ا .u;R8־ I0ٰnz@FWޓ`ÿ.{O1|qջRVX(^Dr# 4=z6.8Rfҁ4z$P} C{pL,Y@l߁"JƂ٢^ogec kկ7?iTzƠSi6Tz{5.ԯJjUɐ[lX]& %SԮ~"v{eS9J>PGS t$|XؠF\("^v|2^t*x6f&DEK ` #=Yم\7pq5X<i5tŶ(u l+kOBMf$@;"Sx:] '`i|SQ]HU* UdQOCzOB tRlK)sApbQ#fV:w#nξ.E`Y_^I-BRSZBNF]rTי|Y8~oVzaC%k ?gN~OE0D*>ҏYL=9\B]0;zXW_PeduQsb8d,܃ymvĞKǯ\f^o?H~)ύQ֥PqiP/b\ٲd6H736 -5o&?^a<=GiFCuC$O4@ Yaos.2x[>,vPY;z:`3*vڿa9g͎DBHjئU.Gƨq~4\E;[ܲboqٟfb7߁xlF{h|_uRo?o>*{p [\Vf~ͳZ- CGw&UMj!Gf f%:DN?8]iLkWB'RI:zj^z4_vm_7N;VLp {cR\C@]B'hkV I5w`C?{|1Mg& S+m˶T(N|wjS%=;`ߢ%[Qgɹv6)=ns, cb\cG`̈P$GS= # gebU)8DV$Lv@#BwHJQwLuDO%иὰ.u^!^ R|Vrp9[W6L+.~޾N ot^PVVmcJd?ړŻU键g =g2x])f& =샛xw~|CZM2~8 z8S[8*θv-RU"[TLhLA~&^,o>f Š`J~cX@C -(KhBMNL@~ݨff =L 2$nHM+05G@C=5R(! XfךkeF, dok#޳F|R CJH#Q/9xJ"S*,.O"P Nlm(&[BP"%KI|ۉ='ۙlI•ěIʲ#|SF7Nf=:^_1}f|Zge;UZ8յXqf3oxƉ#u`4默D#i|nV:e)___bf~e-HKՖhoE7 G\l7 FSr7qk.gfNKXV g֔ uz^mڱ6.;a^kVT __#_+fv$&VЏҿ5x ѳbNy= 6Ŏѩf-uu9WK7˲u|7^z^O$3VD9:\U4Ö?ih,. 㱹L QI-gڭ(dS(2Xܾ .i/w(YnF7IGewˋZ 5;d'>[ SWQ ",@&!/6x~s;ڬie!pG7yIJ)wBBܚ!Ꚃ Xt=6D̄TfBB_eb)s}}MOeCW nꞨ3:$%~7/~:tZb9#L۠J9W_1r^z=x'd/`±fƑDz6_-hG钰ϯfU9PZ^_fݿ$QT-,k 7ڷQ/u)1 ߋ%`D{CpNlL&YAEotV\0Va)BgX,-]O"‡!a?Sz  ^O[(Y8Ѿ P}-k}UW XrxyYT8Ԏ̢ȡq_5Ο΢֕V˭f {^ϱKulΠ1{728xL#}ոl[:d}6 z+F X38=` bt+P:1 gE9b=e9y6M8ÉCim_G nQ6i]yRCJaT=ykz,Im.iY [ռ3zވTG{XLP.cQnJ}smWf8"DHͅI qC&ӷ?`:bpf<7`1 U_o7.5kxu$˟. ~)AT:*/EO%+g8OR7:t.XJ}A=!v:2/h͎kz_r m,!⵷'9B0UV ix^7#DɀA7UzJ c^fwnl8!5 mE} `aȬX}d\sk$F&KEAgq;8=L4|1ЫHa[Y.m]kQ)YU O&+?‘#9U[Dc? xKX9S\BVBuJH5 *=|$ڟcfVH(ĿP,=7{Z3r<AqDQI1 6jR] Q)锥}sO i{''^S ~8a(m\7)e 6aW6\00ZL'H+JV^NC`ԯ" D'oE[6EK6>ej&7.hC;aK H6%ҔC $Lo²-rNQfIEg\r<[v&d?-y{pfBv?^U7{!Iލ|JG0r;"dHGs%LQuEdvP\TrY,i/*wĉcm3;-L sT28m_Q() j RT7_SR3WO:=2:^ju\+`.) ՌfIx;|/mRVPO osseEUW+m:uxnWuX˲$wCtJ%^}\:mQ+Nab䟳i}2G,]xuS+rrAڅցFRZp:eʓ'*"dTDQ*3XЁKznϢ2L?̗Yד &oPz]wzm0tn X }TChPx=TP8ٸDXǎrhչ0bg C r֖T-bgh#%T:T%ZdNe(n{i-0!9).P VSҳwb>QplүV/p乘Zi"A,jza'{33T;s'(.\z<خ&HVڋ勞)ie>ѯ/:VD@@crb{ qLM͞.gz(ޱ2zG9(|W] w56ƓRaN/CLϧ&Jkg,?1?9c6_\\htYd#Tw, wB̷.uK<]ZQK(h M (.(U fT_0{Qad%~`g]` {XgUVnux]fxlT˼=V'G0z=%(mVmUqcniF~^3dMmZ|SZ7x^tr",>F?;<<%8-z^DT_,EU14h"0\,EOZ3, `([Ajj.=¦<3+)g* rrr.:r] DU^|O׌w*k g^ ̤׫UE da !eđ:<GE,|ZLV|̡eznh&ZR?Tv6K8N|" :@0߈ \<9h[JrAPBM<])%/OV5?G릾,>({aC ??L|) z6^`<@"Ϛ|{W֝ܩ +^^٪>pSǶd]Msb! L6rT+t;}Iqn Jq ݨ o0Gbd$n+u lxn!,TLȼ IF9DT%9(>6o jGTH;UBXY qhJ4"Ǖ B ?V1=it T;w=sL0 WGJALMI c:.2\/&b-Ƣ\̀nؽVӀ&:CӘu8`Sǡq˾OTe6; |% EGTI\ 0SkwV衺nkn2:QrmkHVw6K< !v; %yCc %R.ﴜ-.}}Oo~y[jN5_ݹ D0Hrk *?‰ #L\NWH Pоw ^KxXߡRƶ66JҶU T% 8 so;R)H]_۰ -S${~-$YBbcF$_#}Ԇ{KaN%2ݾn@PvާcmilLy;xpHjPJ bw>U#:{ƜYl:cUcUA4޿G`S"@zU,r׷4&K7a}Ϊ{7i֪2$7S pJ`J77k= sUpk+ e!&[b#FL EkNFnZWJ ҔW[I w!1pj|ҝSfWe p"ݰ#mMwFgbYFVΕEc"h/};y06(9sԜ$ JajD3q9=214,pX7L̉(DFd0Hj4j.ET?ӛї.V4I\ O$({)RFٻc}e: P{ZS˽נL,]~6іֵBs3\ hRgoFcxFaBb&H S'Ԋ2R}E0(7נȬ8`nV)&E+4G*̢Tʼn@nI6xz+g7(F9X -4 czM>OPƄPdhjAJ )qB)VcVP\U"DThKxx}+ T\ ל~,K^9o.OG`Ǖ\Br/\IQ16 SNi_wv8&!-?eE(5.} tY ( zQvTÏFiuɷlEZ\j[  {j[VGiX/R!,SC6JŮsP򗠤 M))K R+G%cuPO; l$ǕdfG]ǭ0 VhO21Wp(0X'/į9#\q-c(*ml:T2aȔ[ӹVf:}_V z8Q,-5Ym~9˗F4:;3C뙠bD QnYy}܄F`Ez,ş%O;Z b@XxFleudʙMD%s|FP$ qde&d6꾾&РeKx&70䳟\_!3,+s.'ܖ'g\ m @˱ٕ3Py?~1K}T#uu㛓vp|;1Sߌ]^ _-(rHK]}L|8&}nc6J|oD۠_*U#t5C狦&UҞ"w t5u[D/> ݠۖDE,h0;L/r3OTMh6 :=3;6QKibNń|MV9gš:k%bNXsX.,d]."|XeMn^&~]dx.^i3UC]]`7ʳ1d;vm\_ڹfcygʉeW+S7e֟Wb'!=c0Nn>llI h|wJPa$_R$_~mY7JeoT;];4*εy8RnjkN_S_O;Ȑ8]/OgZh9ag6^ (35)k*"?XbJw|,`e4-T 4ҭ#x% qY-ka؟U;ԃ3%cyBIwGJw7#94N\!;fյ5Je] Zpkr>H}ų V2/b"[r ,ލ6IV< D1zYl!+rt "JP6Q \DK%GAdY1hh4M,|=^,C߾O˜ޢK݊l8pibw9XyG$֪,N+jIF52 JU5``Vuvq,:TzUl.ٞ\ {-ad.+z݌)TQnm(J4/n/@NnFGo\j 6Ո$2Bfv;^A8vMqs3u/Y=ɽ{aS07#z:{¤]z4 Y'Ά7\_ar]@+ }Ko8 '%5B}.GXv<{"xr,zgD=p-¯7rT+AA4>4J_oYUz6B3v-vE\| tWe_ jl8U7*=Ns }'VNuNgz*cJSZ5QR.g*'慯[gܱZ\:m95Į__y4k: BOs kiP=mšrma hGv,3PE[fUϴf$՗:7#9pd7r! -\羘LnjlgDsῖa g`Ui&!c]p<7nسL]Y)V[Bcm@h"Dy( +EfWFXN*v%^4"@#kuyܗ^lo{?oR73|nFq Pb(f boU ڀ8jJac[T^NY#d(I/A8^I,_`KumzˍKކb`$Sh\84AJarDoQ*0AKp. qW$n{6Xن>4"e@htRN\*A+f(XzCo4@wurq5+.T |8&G!m++1P#८/YȻF*ږ f[5iϻP\iM"ڪ򍀚U;rMf$Xœ 7[ޏC$a-*}Gz!TT4e Mi)=/NˢBe -IdXI7ҴvLBMja*Iחcta3Ee-ws^b|ʫ/00պs0גx|Y/2l%):Hѣbp1E}3VM &)m S[U#łۻ č.ƅ]&R>0~%2 *^"\Wzi'QJce6/c;7P\+_:^ zz6x%WTzlHt=2.jP)߯t4|9tx s|F96pu؆@W+Ja%wz⾄-2U~[-m.=,/g*qXbU{Iԕ! P"eFR bͳ2Y!z$i@vC_~5.d9,3|x՜L)c\lUlN _)Q k2XtrdЯUH&ye' C+$liJ[ZMVTz*͛Aa`,\,s%s LN,5냲Z8ᬒ\ֻ72o?T+ʹP4ٴl k}1ح9At26 fG4i4Y6nt8Swfv4KJS,v^ˢ Fڭ2f~P|oS,M2z -҅0*Cny,WQ-ѩ"qPdnxyLlKManpg=e6G-'DY}cK`}XR_S~Vla= q}w$uvh ;`Wa\ S˿!J>TM!2_Yw&E|}z_<)ɴKv4dxUχ,:4#+1ЛeL\QKrT`WղUٮ.F#k,;CLrU?ajBG'!dehf OFUM[741?iwxIxWI(xo{dHnF¾1EmGޮǘp]_[߯Pvb@7Xc=4q W7<>_eF@BwP> RʢQyZ)$8~utüZ4E;g,R{P?dWj A@*cmfOة6/{-?otpGY9 D3hY$pnE4r07Ž!ERm@^nºvc`c ()nc6ijwUK[_= oH[0ft T2ULM7J5ѭ5J+ f_Y,'QNHocȶPrUT[i$^Lh$_`(}x:-inc낭dJilG kĥFh-NlϦJ,OB+"#,z^|Z %RY!u`o_]GҜJNxҵyjJ$[qR[-:Z G;[BZBg3|ZZy*b.-.MMyy65ikAV"W8Hy*tkkv|)G)̄}JFKl2b|Ô֭,8@Ȼ:.q *R\Pf\(f~nk\[R r[y}^-eNո^݆jDjK7"ixIm5nʕV>`&Űw{vF4LiUչ-Fk˪ {a+sUSmqI *V+Ccóp! 74l tA1,HdI?G0rCrH7KE_(FޠZtV+SZ:\G'X92{6d * %gIKH v:Bf"E>;e OLԝi|-g}-[,OG-*W|SmKʿ^َR@/Z/5]98t-![|r[EV].7I.[|_:\YӢeq aLۡtaSވ@P9"U4N/xS5կC&W5hrzb̡3$!ԷẒ1_pYUVȋ+P\p3bS7ܟ*vkhVp-R4H5kJ-[WN,ە1i_exV'yrh%@$?!Qi`)8\a=qB.hs \%1I" 'D%N`C.M}jت8ҡQ Й[--@__J"as@ .qa+h4H=|c (k?Btسmź̾|tٺ;Zߛz,c9< 646+%MQj[3A(kv ̭-Pýib/.%płyZDfnTC0UxVp5+&1X']峬V>wpu*vI/-E +-"5./|+G{5"\(x r'K38~љCe-W_BBBO/{30--HhaQiS|ىx# kT0a`2 TX1,PǗDL%B/,9Ͱ8)`;#p!"5ICdT߳/8VK):HU$M&Vת/sg]?amr1'_xr#0P^ mgGYh̞yz>>QflO2(Q;Nx6;.;;j'?ߴS^? @O4aqЪ0b0zT_XϪ:cSΛ+aR ugq Mv |-Ad|)84ң 8h;ľۑ=iNf g!n( V+S3TY;A{NT/:BhUwEMIeZQ)]3fGj<|LMG{;= #/bb=Yy]ӱL4_QFKj檮ױU߾yp.u63$Tmp1jS9 B]3HXhL" #QJ ]q5}~[rjj~f SJ RQJJU22AR}Uʫ;&/Ք!Q9b%dyExvIUƎwVpWs%"[JGC0kϵcCp[G +P;RL?OѸ)AeliwI )P߰:5df9 ;wri?3]lxߟaFGl'f/?Hfk6j@Y;[D\8eƞz`r?v;vkPQQPWAyRaw ٜx%bACHM*o P beZQsF\8{9.'oR*οܽGL&& >hIǮ:D6ɭ w/O8pBm͵HKpbjsmQ,4sdH Spo6 U%]:cGqʊCX_eZBg)1M c.L>)87r)gRsHxۯ*E۟ U-~~Tk&+5vis @f wXS40+O@qM%I8Oä?oM/޵QCX^bQ<[jIcNB$Gsj VP(9^}{h⭾ o<88Y|LVnlz'vjI0i_P'W{7Aj;lC+!ܨVKڷ6<i'=8?ZhaSF8lff Lab>GJFƍn,YX9&T_YQrkZQ+#tUZfɒA^I+7!^\K>+c+:ef]Y [|eLY>7*}We(}dFFٽta;LU]{݅HK !1de6:RF1f/&*V=>kW1̠^7FASw֡͝IYDxNnª{ ] }$_\60mgTHQNpՄy c,gR;DT3=? [z#mԍ[y{[UqJgǖv{ xu," kC]pVNW Ńj>,,,GH3/pn鎴jTyCRaCͭ&EK Cʷ_c4shξ/r 0:.7-MDnGс?ylחO>KSܷC(H8 )[葉敵mn6V^LxB#i &$^ZչUU5y,a.2jwͦhZ-<zkZc˶ko*Ըrz "D&:*-o],'=] =N]$26HQFT 2HG<ѦW4y#뫍**?v4=suVT ƌ;cb2c.7'y;;,ds~7;ۇ9%x{UP*gc耇[(_`}!5m9DV\#^B_9T%1=Эhe/P9hmTAWUjqJ&b=,0M*#Plb9<8?PnEGʼnvT*F@Υ/$2a,^U kl|@#9pV3|M zOA$aKx]0H7N*ձL%K=~w$4)enV)_b`5PȫOVojT#թ VBFXd4 Wz=: +ѕzo" i9a-# ߂ҺN /&S?3KN.N;U ֢fxRC.^6-pҸqcZxڈ Ҥ/ڑ?(RPlFZ\8@3mJ7B `~QG ̀,4L6חv.՛. LޮmHbze'!ѧLhl8UF Źmźyᖌ̻''k8fUOXD :V`b;x{1{)DtF(:KI~PgI Qc:߉'0Nun$~=s;{mo*ςtՀq 59>57hcvC]Xp'a]]WmH 4/ ksG@ Xc &pYŞ~d6.;^ fnN *FvQiK P 1ӻ*L }y!ˉ$BҝE f)4 +bbs\ʵ}~ k!fY yq8P\/4]V(\__qd3 !O%{Oqp \ *Na59/0mdW}sy0iN8MrHd~n-x]LΠ\6^uڅ)g\b)Ѹ.Z42O a(܊=Of|d]5b*2*(d)SrPB{ŶcA\iCy AJ pp2ck~ynIy/gB=ݕ~`K%aA$R ]\ #hcesgwKŐ?q婓E(\VҰgcw*. vVD~ؠŦͼ96W[.m`e5y? `Ml+B4p4"~yîU6|~gnbuI͘~Q긬s̒nb9-tkW"MdjY"9]j&jg۬_ uYMdy(b 7Fb246Cu@<+n+`+#.%Pۛxv3ڲ|̦VQh_ k~Y)&:EW-aYKiLXYO`|13S,c8\HSak.{6nO#)xS5[x\#tF=Fv{II9 ifMݘIq"U]`RUiYpӍ c6a?H1)ZJX}tpnDm}Oz>FǭCg[,kۊۯ>jgZl%p4@z7 y8.\YO gwuP)޶WD aUj%o!%`LS;.6G3D_mfr ;0oܹd<_#Yˣ5Q-@cr4#,HQZ5ӟ,y{ujqЁF̲=/lXf-Wff՘^ .C[dG\D-3r1[A-6V9d^PpG6{ 'R(fqJ\ p^ԟ˂@m@-c ?iU#9?E[a6?;Ŏ_YGMODh)?Зf2[Y'3oLrI>s?q|Iv摿ҋ"+SVv%_lKq 7=}DD*!Q%=J )E6S @hLŭ(!Q'919{wVw>;i`aZy6+h&jnll:1zQ"N<(ȖO7չA)q=\VT=W=(YH09Umn+,@:}׏2BYN)z&|"D~qyƷf#1(ݣL3+қ‛^be5A;<jTU6Н&C{[ kLaߐJ#OT|Tfd!C;K+2ΰ dnR;F\hwc?Nqv>D-w\L^6nB}';Oڞim@`G3]u^`T͆s}dPE]߇(/_CSn8W-t cf`aw|N؟ĕNƅػ}~0؜V":ĖlnMJnܹ@ OϽKP_TNWwc*%1o"S[Z 6cw"cz@Op̵ AÈĹ3Ayk(= 9-,X!-dli l*W?wC +4$ P MlTX/;r2Lkl6D30 z»3,:!lIw1^%Ю- #hG~;KZQlXӔ-ղ2{)jeUoѭnSӃbTᵪ=`HcUIJ$ܙ!O,Z@+fɁ/Y~s(>9w< ¢Ch=_&gX(W!r߽t xʭTV@&pd\(G"}KNVFmWS4S<&U)`؆-ߒ.aS  bb>ѥ#=CgvRS|{%謑ƨ2 LV#D9o`2;197ф9 owʕbOJou;DV+{%9p7Ҩoi0Vt>1x}/EWFB(߻cꌷ{7$}e1OX ddYc\>` &)ZN[jC^RE X%y02$\4$~&әY+\D `kO"Nܣ#2):"Eh.Yo@]Ott'56 !bL zx8D L}< W PY TU`MBbqBK }V4hwtޅ1k6gJ 4[)VHSl,: 8)ɷMJAQ}5Yrs9r^kxPW(h tp*M2-gDb pJ½iS{QtKrv9s`a߈@vLYoLSi9:ȣI>LJ+I.V[w} G`qerfl&$oJjuV)oʊ}|;ۭ'5߇^Awû %%^?u(ީد4#⁨ѹdO] y)ك,[RA݋`䲜.F"c.avjZH!,,kڢBpܚ ;طRTʬ5Wxdi7gn ob~q9f=?y%{ "UM8%C6ģ_\\soicZS/i"Ppe9k9/o)z7QsxhU58;\V~OV:CSƹՠm ʊP^{ҹmu,vHi٭"xI}4i3}nݷQi,C3sB 'fNLㅟ#+?!}3"(eCsϨpp|ø?1ғ ߄j77Қ7.0 Fe#=*85}vsECv8t?ٕq(کм9 @tpиו ZƗ:F䳇rao #8]aC/(^ԣl'PeJy"zU|a.h)PVd^Fv"Jl‚IGc, c xRcvxqtRzth ^ec~:%5o'AߤrU5P|qO b' Σ PbA# ᯝkUuq5E#4QyyV jXF;[ Gm `|\Z*8'a1:tf   r:qH[a"DMQV:啪U IއΘ2B{cA7HֵbtOJhUۘYM*;Le﨎M5'ޔ5fRP|SWƵPj'LMe?܁ᕤC&TM߻D^NJ4N:KLX19N^Ξr-1%g|ɦk SA8xEJNh@\@m$Cեt|Yn,|Ye.?W~n2GgyƘ.__@ T3:%f<Oy{Nvqhh]HEȺN7+s~}Fg~jR]qbcp. PA 9{D8h= 6f(-VyD3G:1SIv" ۔Ap,,g,?ryz ?yjco"eyI? Itg6`LIwDG똗Nځ3(`B۟6G"dBK/dpux~ /Oi],|_¿  _?c" ջΝy)yߑj-V15$ :ʺUH νH/җ/.=S-t+3'u( 0_r6S-a/3C#S=s=^^O &Ӱ`cyedSЋS(k䱱e}?z+.^yb%QEMQсV}V]V[kժ_URVYh7%{U^.S4cV!7=;G#YrY]be9s"UCːp҉(c7>I{~]\Rh7S>t&I_<]x#5ˏ"H~ $)/*=KUV&UF@D]*QnoNd\OsS㜬"3 %F-cFr5ytxC&LMD^;LDtU!ò)uN@ hF_Gc>v:Kpc)hb.(MvJz5qOx%LfwD4rN?~@?G/'Y8A( uRFp8ӢNNoNv'|:I1tztз> g0 ?eڝ-쫝H-식qp\+ID[8۞'#Sc^7թ4z1ps}w +J$XXX?/6w8 V78l}x6A~֠w  So\غ2ѵWCAU&ؐ4s\ǂgF䈍lG ]g9i/>`h{ߺnvmoseMq|t|;DAW񪍰/3&gw~ΗA0:0fqueLF[(}z>E3"JI=u@y`ޟfo!S^2){ZM3\;4$xZN>3nQ$xOyׁO/T uiȬ\s?kn0w٫0ZUy8"b˺% cz*ιp>@'We`_xlu&~e/ k`e+n3;1fxGt,7-g.ڗwb ֶix2BC.}7vЪ5ףL#&,կFKK/-:-c=c²FcwnU؊ڛ*2@;wRϛlL6ΒN_\|7盋MGxauqr}*JX裊z2/nn F~dgUAp(t+Rw*[DYo&aU*Χin7T R}H9."ho~"8)l Ju>{ *E2G]s_)ol0fIUVe 4:\ҁlVkrsK'j!4l 08R20R[vx1u**#Hg!m|ȗͧXIkfmrCmyši.pUmu 3){y*9.2|}ܸTatM Ş!Z=ΌڂH6WE|'>y\,iTZ( ZO?^I/jcޯ5\Vl>|O] \]ēMұ3ϒHGMsO6ӇI}{% zU܅-J(MvYo|(DMemp`.Af'miIBF+qfV{c)n.8U|%_˰kiYzG.=TQr `h`UhT6)8H-B UXOa9x\8#I?rj~ΠOw=aYƘyV͉^^T WO />#~pYMoK{ o'[6Pxm=TODJSxR-Xr N2Բ[eV@$e 8ԧ䠐:kgLYtTX$c':א~,#wNB7R:F>[WjlNLDP:B7UbMZ?꤂` o_,s21V\!:OSunF! Uk $!odCʹhj *t,9hF, ?;ZZ/WrhU֌B{NuPIn]["r+ >+ozqsT8 s0+oOZJ.R+!9c um,_{7ʋ(|羟?⇩~93r"U|?g_vbB9<_D8 "U˟Q2]*UB޹V12Z0ָQ R.浚1߳*pAPN:.q7]2AD -8:n=\ !:S"簪|ztʟfѝQ ݑ/.9(C-9}J%@Lжdh힕]?Z|m}2lFCT[_O)5cG U?( XpW'lyĿqyT3kiᏢ]YZ|.I]հXZ45JẐ66׫l3Q vI]߸[߬|svB[gW|h10h3{x|G}q?7|FlE`Osj$kx,I LpVwe! ZM\I[OgELM+M}JgiQwQ_(E؏U޳Ų̗-H ջrTH~IW^MuT`ax<њ;}3ԵzA{4_{T,Z7LC,e\|![Q>?:U#_f,>oC_/K2*HNjׄ!H>ƺqҼ=BZڀe0|Vr,JАyYNuym) Nsp ԆtyAafD91P\,հ[wLv4O#!oUMB;t5 GP<2ݴVe ,pǙ':gxLwVx]xW(`|7/;Tgz),Շ.V* ~h+m=uZ1G*샫 W"v~J8FS!຀]%>$&^fJ̔bb5*"6fIxpgѹ;3]^^/&''~'hz?ኟFV*32vW. j' §|%~K|IEAR !:nwS;B; YD6OKںiBEMѬ_e/v.;_>!|_"\+MDDz)Q/uK].aTTenK~OUSNJg G_@Os :{",?DyL hB-9vӠ/^{_҂xI^Y; |َ^a1eqwXѫ!_9\VYzX8CXѳ!_u&}މ!s ,؜jyglS4h.o2\__hUbrhwssW*FV"lMHRP4 hUDMk1*RZCVb6kGcX,gh^Q?7Ry;7Fᠤƪ RRieA F []o qq=m}ߺDzX5fr/X"ޕkLvL`-:cBeZD,yE^pP9-=5T|רU9+l)XCm_lJN>s߿pmZ3>_ l[u,=f*];fc/PS:+154AQե)OʗdԮ)o^]iZգ4|Io㯰bv6mַF} 58TQ5'PۅN.%{eLǸ7gs}r0;<^,(Ou4\ytT5o(z(fDk.e0v.6.+rq0l;1 =xY&i@.l3.\hom܎A= kkGV7-TkVj,LraCRM]'`}i'=ۖؒO8ww=fofs&OTz7nV-0ʔgnބAXTUҊwRYD,m)dzYZ9`gޡI]lMN-/(3:^ߊ0@uv /Rw'QߑeͬV.‰9j@1Ea !7k_+m W7|]3S9lo/D'{8NDYZVQF:JV'Lw<,DخcF$d|F_ټqIFkrUo߾cv|Ͷ9dƢG;{] S>CoTD~4o.ꈉAeܶr"4TeMof"ÍlT>+nP҇MEE6pne"qkJ%!ԧ1kxNpe`dC`0P%הa8(^jڭͯ^l{d9AE*H!73Ma3![="mjIE&*$6c\Z=_n@u4u=Ҕ"IniLIYC sT1s|h FajVԙ*iTls@K-䑹>؆i v\}c_Ovm_Uamr0MNlq焙E\rq#%u\j٫Ǽ/3\@E217nJ摋ĆHFM08-kTx)Oe_Mr/ Xvİ7OjUN xXiY5Lq2\[9f,ŧE"6 XwP<60|:l{DQqb=Rjs!*a 5U)D[g!$G`nn,AD*d6¹)BTҢT]B#͘RjTB[^/#3ڔMH`װ}9ZW"V<1OQ8=3Xm1ɇƨۖy#8Rf̌Qz5>Y:/@]$NY,jƊrl`_L 7yŶZH731B:VhUWp\g79#%2ߴwjj%5JQP[l$L ) 1lyF8׺ 7m~eq%s:GUǢ:k)"]ZXJ8T)Hv,})o3n*?|"R;hޑ"/ ))k]kMBNhQzQ3*Õۺe`VB)Ez\W7tεz[@֚eM [3x.I ȤI $s 8JODT߼ǻY1{- W?"wY]ֈ]/Q-I*ħ#ڌBnp޼z[}l@JL/$dyp0?i0 wM(דWP``lH$ƯA:^Xge苺lX7AJ1S|A\:JaM\eѽ^[Qev/ض0R(:cٯߔc6a2|E8c@Nύ݌/HZ1 q%TѓT6BeeB<*M=SR 0 r|6;=p*;.$q&ؼ nŬ4YQpVjRPkl5L9Q1'[ IeĨWsġ? Bjq/%_G:jZ@}OD*Q[jAF[~ڦ~  >YַG=E3uH3u+L\Dm]ݸFw3H^ lߜU _Qp46GwKq=fFJyvN:v:TEڞ^#a c(>:;{okV 5Aw4݄E|qӄ+R 4vv2`S҆h.@rnO@^]L,ׂ%3ikz nz+UVB΢AcZnX*X%ovyxF[?]_^xIu6Nh991TYE>Z&Q4G42]Q-{ub?aWF|h'4?=[[ݦká$D.dk ќm%Yt9!3ur `Do-ZEb.m|(M>N6UH"X˺',omr(*I$'+FxE0tA_.s))$X6r9O4ZIq$%ng2kf "cZV7Ųfu<dIS,BhWΣʺ+]8)P8'ŬvQH/y3g_ٰڲ.P%Σ8>. MqL1kK?QbZmW3]Rb7W1WTG3Qn26Ac$eAD8*yin;9S֎1k7cHgX=.nS[RaLXV•좍TC`UX^__J5i[[yOR#Du}Rwu>sϜ:g| %4"FaL'tcN7w"GyXJ:Oaq7($!ʬ2>c'︄WՂp *>jG{yO4D,.]<^!<1!aXV',Aް\2nlB_ɸRբ?#Oy3Hh́4A%YX a m؃Ǘh8n\P(AJGn&?u lXj%#dŨ|-+FAm'nj Ԍq ZD ;|ՍxXU1_CXJ'v^3XL}A =lƽ9ا{x\U-;{x6uvcQ> ?!@Ai'xdz!Z6aٮR"F ,ʒg,8|nf33{)|}C2|5[c:)9|=| ߇ +42" "a^0VGv 4, "NFnjcz6̕Bv{s{ dsongC <> g?aS~2uU^NÂYojKK~B>+\'U[~QP%Lgs2OrtNza]‘^}y؎x1o=Uo>q0kUԎC^8sWxRZv{…[ ?8m^GKXs vOuY⻭#/He%rҙm"4s_?ז|o̅fF1Ҁ<^L`l-1/I/}= p|Üt'n+7b?鈿ӥޘXKm俶#XJ,t?;B卻J`w6{}Y·*]|wj#dtqZq?ꩽWe~r{H2._*yv`2.'\DNS'Pn< 껡u7 Ll=>N|pU9tA'e{ы|?c',z)vp:?TdYM)8*}wXS}GI~gvu..ת]]lGh-X嘧Yu<tI*gnW f&V |Z7 ZZSuuYSHr|V?#9j*nn857f>;uM9hMjaRy֊Ѫ}ŧh?0^_;Pv ©~PT6c"_9 Ky >0ZUON5@l˷|hV! L>7ݘ7|jVa?xjAWQ44|`Z#dO_wӑ2I%}SG'a#e}}-jM:ע'l~݉ ʧ}yR hɁdA@OrgZ1glVM^vOP_EqvU~SXEAioCn(aկ(^Dj/ D`kc"njo%' 0RD2pD}|< GI9m @}Ϟcl<͜Sg/=􏼓 B*5ArX oUNjJVRi*ly>K̀vF9i3;m5r* 0w~qY rSJ1X'\fܔhp5m@MvnMv *ּ.\Wh`ffr1*!TP+ZHx I#=wSJ~nSvH饠^.{iG>?S~KDCx?3砸}(Ʌ3nAj (ysx?8Usy朴)?"q?b A7Aq] awOڻχxޗ|<ǣG?:G!*|$z#@=<G93(Zbnc=~JWp)QEe(F{jnOT=6{\m1{?IyZ|͉\ļ*cm0'7.~ XswcnpN8D >?y%1'@y}N)3r|MeT:rR\ʝKs)7ozٹo'啙JRO*IyR'I)Ow)OĐg҇I2C&}c~>ʸ1ȖVʤ٣C~J ,ٗ\Vʛ8KBuq?y%hX!вPht=cۻ|dxH %=9@8PrCy1${qχr|*T33} 0=〟s~?z}@.XBς?0Çu;<99<|ӓczxI>ܗay>8<PC`PZa"AGR#aX`xq?>]~Dw^>'S/=O$KezS48ˤ,A\> B血B[+U<#~&hQ8}~GOtSJ| %VRd{]KzxD{|O^~> O2,ݗ<)/z&ƽlm$Ov@mhI^G,僋I$&DbI%&TbR$&Lbyr A ?i `4y{J?}>@_|?sW3DË TǣxT.~I?z&gO ~'nq3叽=?9iWz1*24EXE>+$[3aC?ɥ(i04E$|AZ! ~3TZdqL&1Yz2]Lh#`U!?{ܘ=drn. 'Ϲ2hՋMe% !'Y'.NnjC ~?%T,/˔vC!СeR eP tW,11sL"1 $pL*1)ǤrL&1 "9A r r!QuD{{rczxGr=BѽXN!Hi1ȹ6(8rs RI8t,-@̇' ~Cbq| ` H #”1xѤAI=8=dY ]}SꏄRg|G ?Xi Qu+!)sΟ?P9eܯ`_3\&J tғcqށ|<#@"}l+@?h_h}&APL2}YJ{ΘHFG&q17.f,9G(a&OY LAKByȒC]ZJ0%ŠI% S*mHB ɵnp}!< {O4"S>ӇB2%+MIyRiJMI)i*d+q<@)Pߥm-eܶLږq2[q2nUƭR&pS-YEqIy Ɍ>Onr4oH<9S9@x#m4z2eNトD aafV@tfᘇ.S]&AL~,H?}M}% =IvQ"#`=A?xĄ8z. U|4&3zK~Ԅ'rcnl"o1y[ԓLq)&f{ez2Bˊ? &ۺLa0eO$]L1Cf/˅()a~+=N8@O&@13rL8 {?bs9G{|` GXa?[Θ8: SgO?@[QIOb|OFғU$`3 W@?@Q=_}T)_;1rvskF@RГR.Ӹ]!kySbc~X<ŌbAcwiGLcV>s@?x>_?`qC:3XAO@& <[;bۿ1[^o_m9>^ONnhD{(@crˆ`=4>?^64Ȃ3e=F{|cPФCsAgS+2q(C1[ȸ<`XQ!WEo=W[0õx'd2F㹽 7@`>~" ?wD5'9FxJfl "C~gJ "2{?_ |/~z~O{ߞX]~//>0,IB'K6H_ T ZhZ;)&ʁQ Sϳ/İ,ZLvQ:qJ#ji'7uW?7/O߿~<}_(qͲɗy^_ѹQaiAn.6@0>hVM>Y-.UZqڮx VEƘȭi+dz- zm7 l. ؕ Wq8Fz2,\Ғ2(P/v=ڌ5N {Ił#%x4Q"r6zWF-4'z(>PF=u mUIwh*5#VrqX#5d0O6ѳbk?050s姏6ooc _Qzdl?흄) 6uyTLV1ŌdRUa j-6]7R˯W[#ō]N]Bۙ9q#'nF=3{+ԻO$GnI3HuoyMv 7N:Վlr|}{es?ޟ4ŎM p' թľ#OCzp}+s )AAym5p)֊^Y8@3q{XgHDPԧx~7W4laU gȪڱTJdiw5!;fZsAZg`LkrZr4/sdCu ),\d 'U㒆 ZG9 Y5-<g4e-(!X 8R3`PT2 2*EHo0 u-w0|R, bcYϣ|g!-;TR֛>&̱2 =Ϻͳھ8I|n)dh49ϡ| 7)7D yUV9({uUNCmPSXA/8Ʞ,O4`ְVZWخ% h)}Xc7Vf7Zo$n®/a*Ah[XP&Sh`=C%}6_gGN!]弎^`*_j).e m6WV:s0[Y_~'m#=ze+/쇂VoP^V*czUcB3fI6a*x./{a4a%LJ"E)܅:k^`Oo~yo_<CY#40-$;%Q]aT|ϧ#mx?5ɶB ,Qڕ,Z6? (/kHM&{RfFyz>LmqЏ]ky」 ?ѧ(':8~.b{r,_>u< ]u&8>Y9"6JKj |:l(VlrޑEКJ`m0^ /-P_>ZiM13862f8Jô)gO bisF+6A;&4M?!٠n씂wh#:^v1O2иpGnpq<7\γh{QڃPg7 P|44p4BqJ`h]?#:lD3hk_p=;|P|1GkIY7:ԭX`/.km,bc~%̞D;YؘQ X `.#f'J$_>WijwyzU`dž~^ЀdVӄ{*}4'De$bDapMdKj,#43jqսG#d e6F҇x}A weYykO۽ Y wt,7N0mYlr{㼵ZiYDRqH?|a(k SvL[eK7 $j78s)&8;hi,Y9=WyAbLv2:ޱMtKĵDm.i .71Í YF3$58|E%aR;(-,G0|R(!?g &z\+6#uUR q#mוvied#L"bc*CFBLg77GVҹ!_WVUH*ǀ~x[ҊaN@;KT jG[][ݦ }3U*_;=iœE!eE]_*4ã^i&v͗ۊd>/?`)ܗQ˗9 w,-9lug^7EuU#K;P+dĊ|n4Ye{&sj Jn$roƁ֒UHfT_[*{sm]X֘]LaXtKN`$J"915)CXf3/jI棋gveCK"jt{MB#z,;E2AȐH݂,-+ wBsaْl^P>[5db8=Q-#F'Q1T;AR!֤|RC MNyh>L N&ôw6,V.!!6zb+f?#%vJaQ k #@(!bP2&&&ZJVw[OMdleGe]tl uppgqXUNe q%Y +j.rCb֫KUfI}[ZrnPje>UP^Zq} 3i(s}JTѳv<hy8]YPW?PNG1TUܞLyQj1Eec%PU | ~ 5B.GvHA;+7ڼ py?w8%kee*,8>3Ls(H䱙dJ9ߢT1 +L(v&uS^Ɛ@{Fi2on.J2R_sWzJ|]ޚqR̖֣˱))Νn2o:Wڬ:} 4ou:-FEZթ&;[$(!)HT6 0"@i]v5{x'h6ln7':aW53Cظ¸[s~ Qu(/(&fc qƅ {Hސt&ucQX/%3A-B\s#mKLgcmKlWZ kO]\#L0p)&@L$L|:L$8|#wtTl^X=>Y>oY9o_Kyp&RO2A>:>:}|dݐ-iΨ7YCr} *Sb\9fȻߝ|~{rշx S. cF/O4lVQ2G~k<]#?s&H'nܥ: rQvfv'K7+vqQ B'nt7ncMFK[fL܂͗; wJy(j('Ff(쇜PXlkc=4tnƲG&6P]$HM Σ/+F0ݲWg"Zu{oz (NwfE%݌  n#&4z5Pa&bP(Rap H2l ~꫔MǖM*IzsA\bV~+%@+]z<̉LA_WZ?$~ۅXv;zsNZÈ=jP5d"؋@ݜ 55wY^ؤ5Ym%mSe&G{ sh,gj?V+Lw@ŏ'}Zްǩ)\aXFN%t]y_>!: BgkP ;.C3Qg/?cfe;)*׸-en>}u;`׋d|]Aǫ%%|=^gTj; B fL&U6`?! & kߋ{d(_O'񥟂Ѿ yJ)k確 b'-rKv<V .zw%ڠd|iAqLjN'a%p#+-C.YH:VZPS=W0^bEd?s~)sQmWS_J;qw:}5Jo-e[MuyLg_ɕhGsA]:*"\.K`r[l|ETeȒ}f'`8Q+]|%rusʸXaiSZs}V xߪ. 4[P&tiD]7m*d|'.ȄBSNa.V0\g|}.yUDE#N7D*ethV2 g`Ny`(Ep%>v>~. އщJ,~+oAXK0wo=dV:,јuVO;zo y昋݅@cVN^̲PBh.}lnA3ueH- 9-?62Lt%BGEmBEi=x6j$\ٿ/XzY!TZ?V?6YPF/:9H;kȇ^Q@9շjH"[]ziT>OQڜEV!*s3/ +)n l&'j(YQ[KtggEBc9O[BWٹE+k8/STHL(PTF MҁzyJot$DP]&w`apMZ\Hl o-~ݿQ.VbӰd"~ ^B˒0 KfZoDںdsw A`"̌DLGae y%۾&h x69u4 iAQ0aX5E4OݸU4Fz>_ߋQ7|*o{W?5bKj@.mH0Ѵ ypFDPRunL;,Ă0}/Gع="J࢒2IKw?XHi8Kb9@n 3Uwj9h:ˉMix޺{ҡvcgNg`dϏN,&4fɐF')VTHJJ+zNÏO@ƔDf1_x< Kcf[| ]グVPc /s޵ ^ͯyGy''ռv CWnZwUi?_VwV2y:63(NujrD{^wssٷ]=ʏ&4k;KqpF>Σv8~=s8Gp,s?t{CYSi_렀K҃}8SpU\^"s:iB5T( Y0ZIzbڸEQj]QF>3spkEމܧuM͟#P'*EfEwdžS$&i)5*@4(C"[S뺲ܡ0W60)T ftRֹ֯-Nܪ`}sY8h^U#:\㭈~Gh e)A;uSi8R2s$;0V=:A@Jn/YNr/ Nqyބ FbM:Fl= n oۻ{>}n1Z0VWi诉t2<3Nt2CO)3U m ̢`xb/&2@5lX;=?X44.&Ʈ&qb~g슉y~zؼ G(A\ʜO[ܪiiTdi Zj:I0n\pU \jnqV%ƪ80E0Z;M$*HPu=3]ߕ-[+6J Z\ nx,  >dRLICJt>/oX$<%΅DID&p\\`rF+F$B_ބ77`sǸC{"Lu$קD3 T TITyAZ0|5őX%ͧxOuˊ#gL8uƤ\E+T`i/4F2M%Z*P;jQbU%}c(YLPM ˇC?.DVWFaa̵$Q:Eu b4UqV[Z4P>XȈ 5 u-3oP=9^=~"ZO(^y 5\{:8''J+}*%X = ,Y-1c]U 3?EۧJķ@kFIЂJB x=)&s8 Swr]nkOҬL)>5kyh7 ;t ;!8 ;37M(|ܣ=ۧw@l7+?h̋kr^n[FI!Jv.f e*Cu[[ٖխNqj _z9+ͯ0i;?'˜)(p B [n2ilrEs6ubDS؂^a$3)5sBzN߽}?#T`KTQ:930IyLo%j)deDZ飐ʄ2I 9w/QYVޑXTZ?36/OK =H3f2v%r}:G[G=N ^G-P)]&$Y_`eb> 稔bs. v[#$ʪô}OϽv eO]`(oܔܬo֭i%vSnrv0G|[(K B[0?X nb#PlT~ɨdȚ jgIM7 J⍰IJpZIm' <-m%}8_'#GCCKܼF`JBĮU}e1k4*%В{ sVj⮲-ۺ,'N"u╝Ipٚ/D(v< (Sp ꊊm(&%1ЬkC`l/>B>nfj@CUr5dUA -=yhUC]Vx,P `,`͊LwV1^&.)L'||PPrF߂F7}ϖDI[tbqZr>e T cI*_tP+X:_)̊C X#nxuV +"jP,j#G$@=*Ƃ%*cc[h3>T;ɫaDb0 BB,4SbaDS B Jޡ@hƒ ޑ.)( .0)&yKxb7blNl~ Wj[-׹ TQ1^ҡkwjg!%/BŻgeܪ^;^yVF$#"~z8uhe.lv(j_6zӍςPXG2U.S|t󙉭S{ dK>!LǰpZxVrSnl|9 Ggu&Ԏ%FGc[,~g(~oM%s("lbhJÁ.!W@^j4|%d6rգ}hid7J~QJઆlpU1"V^Xq*Ku?uigrYؿ)ln4ֲQJ ϢIud.}#nwol"zGapR7ɻ G 35F鯄d5*ܲ?7H:j;9|22iM;7VN2sO3s!=Ft[K87Y^q3?K$sJsQ/9䙲ֹ7͵/P81\|m2ͮ n6AҢN%<:Q2q}Kar[/@U$JpycO2`%7U$@Uz`*\keʜ\jn17%t7;+W%LDtOlx^b{I_%}c#:OD+T1Z>Kdžb'.@d ;"W|9GGAX:CձyȔ6M)*үצr(@9wS2TDBc%ʖFUzz܀G+HCWtCiBa5"hn0rU4S[ S7$Йzn: dK)>{2t6c|AaiIIj(IK6zӌqQ*H&k$JFpm\I -`V !@ N)zgcdGFI`ʹp%c䒛5FhéQR4KƗK%6W!ZT6mIPrJr-8k2SY d DF׽u

    [* zGj4<"}ʆY=cgnݕbGplyG,4kʬ :"ʹ3W!v>!L^6a$O@Keyt<|z)8H&#"4D`(_f\mjH> @ &q~yR֨@LU5a]8WMy)ukη.`܀jT /{S͠c3TǬ33Ҫq uі3ID˱7 LL0(k_~_t`?z~_7%Oy2xh䲠@DrSg5T\)& N2qӱgtFB{ǣu0_,JfG pV7kfp-|qFwve#dn8K*;7ɁI~.}_1`}֩B|߶F8,hhIԔa[G(865 Vd)}Sب|,2.rf,}f|GgOBnu3GZ&7$b,˗Zwosqޝ\7{4u$ԽUry:Qc=`vx ][3}yϔ 6>M9Pu34ԏΪQp}l !]%kNאBBUץh O~ٖ`ڱ( mɪ1lZ4T̎e$35..j4S`M_HJ'x~a5 ^%ndpf ΪO\!x熮~ԥA5g5)+xUq.I1{{=^[{@C{^Kϡ0vw'w'3[dssԽ0?ߞ xrl3qU(Q'lo݄tGXZHZOtISAWwXF_N]/-Ԅk';=z=j߁^ddGRZcAr<.7׷h0YCnv[Jɽ3|5ח`=h`8L}g`ɭswיCi+ RsfB17\I$6 D %9@a$6J] cXIDqS/IS7;p?.nA7ZtSwR-- jpR"2$eܓj=UrfK6L~{`_0q,n*M_jE$GL JYx,C|bݻjJ/J~'*T 8š%[ t{;cKu{6v% yr0SOUil)u{jIG/$,Pb{E+B~18̀*ʣ<}Bv߱Nɹ}4S< > >$Sn$xzX8nFd5V>^~kUn:i)%mD4yAk8seiLL1Χ|5:͝`G sXNaGCҍhi%֊ /P cqgvʮ{/G df NMϕ{L"ϸ&XmCM֦ WN.` l8 /nfqG_  Gs,:!+] -Ce(E(1mcĝw{Lg;9+M\+ C|]}PbY( KV N%lJ_wS$WD%UMS[kpmkR& weJ.[I&{ Ȣ*&:kL6h=H S{MimH  ODN9u?ק0-')h &&qa\F_ۤ)=5ps *3^] t 䀬r0 9i( vqq«%vrm$ E )k7&G:Dx%y0/Z۹Mmpͺ"MYs̎&dG+kLyyj\w+FqmFBr!7D,U͟G r DٯMj j?6_4^([lNX t6M ':P }$t̐`t'>Vr\^44"ʥb5MMSXfoS;'yJ*~}@ΑS4hVOT 9PHnAӅ'a:s5c9Z|WMph;2 A %g`9p-m,#D!`p:@h:@ :I(ʋfw|#){9 F3P@ ɗGIuXW2r?Nb$x1ΣSwn*ሴ ;{V_֯*r)[Vr&Q U :W({=v[,",st|ȺwZ2zck)<5Pqvc΍ſZdJt0RzUWMtXFl;,B #kt6BCϚ>  `!YB"|n:GP'wL & iXpw "܊hA#%(<@&p z1y]*VPa FM`&#ƽQBl[@m[G]H>:, ֊ՠ xHZ9 srYY^6WUv_cv74.63+1VKkށ([;z[i- ԮĪ"ckR2X`|l3,`P_vJjII;mon27ڵt[8:V#0WV:=y,X6͎DV6j92H&|jX8Տt:cmau3#0D0b;kLASWdík?jVK:GҷZ{ 8L(%N=Jcl\:e|TH0ZEȩ Ϊb.S%J'b(0ZȦ^^bA{gp玕 )JK^{/ZOe2k2R enG6TvROD={ I؉ C`]lAep677?xp)Y9"$@qasұ 0-ފٯ S}7p~CXjOΎ'\]TVS'L"คqtgA| 1ibP,'58\-qx's1؂ʘ0$^4OdћWD #Z?nĠ29vX ꐇn+ ,mЀ^M dgcG5*;0FUz:9)i@h .UQ=-S/`8odjwOj$f_W0PY~/UX1 `"Y*yfmθ7|Z3[  1Lx,h2`>᣾A픸-&qHUf0h@xUe4lcIj/)tvU~1Wu'8"hQ9G"r5RjGZ7etq8HkqYѧPMjT%ך}vZ:t +Dһ}|۷ ͳT2 1j4wŝoD6I_a#덾^F_d[u[d=P.'bcWE׻1; 8]wRT2nnW Q?y;!nx-"\>x^dQˆۡ+-jMUm0-9?&R=TK^BEsFE?|~;uL0*J㎥Ai*muGjNԳK(*:r<3ʖ{hn>bcRzrDT}js.iΔR͐B{0δ7urFkAd&ս7T( '2(2?!F-&㶢S*3"Bf4z̝X7K!PNӷIWkEd6A * J96Bd.H҅]%'%uAUkF"rrWm1etY[ 2bs_}7{rA$]ʆΪi[PiwIqFmg+,;#֌4#_u:/c-/l[=޷He.2iz=LȜ+X#Q;og\5<,vu;rN5IX8_gkWV,ƧgxLbyP>,P;:/+UɾYU#bqA^-qtۻ%̇Ǜ=F~*.o[M,{@) I|$-ZLp&$3]_@nlRJʖf2Pc~)Ɓ DǑ)6 HLWclYJnէx,U)!W~ DIK qEV^M;[i5EYTksem s⩶ÊJ%3v"S)ׅOe4ƌP 5c [Nb#\)'F)h\d7coT8U!R4_6S QtB?mwOji\A)޺}P*a&ɤRX< 08_աR i*Xʒy/ѮJ&g -Bj1M뀳YAF;_IJL/g>Z(c[e_[׃-[@صiFML " WejrnJ >: 4󩛤߁O;OћH"Xu?޿}jlְpGr̰V񭳏X.wq`\WR|-Ģb$U9Ci}5nThU6#,,HԌpwTp* Zo'N ƞH8~INvJI5KRAP(x% Zzz;L{3iܠsgG #G3Z0D&ז-R 3Jdv9ϒiF7 ܐU~9JEWnwQ2(٭޴ SYeG*;֦TA6[,G}lI[1#kSqJ u>ï tL"͞0OI|ߏ9nSz4MT_-׹_nw銵LM/x_P~<3ˊV~8*%y>'~*o6\O }Wt;.◺xpdN"&So.;8 SV⼋N0(Z9!_do@s pz! })TW:EW-D:?r6ݲG je 8eʁ̾KEh]d`HMq)G7"m0 \9=hPX0}({YzluHgFaoc᪣]z6.r󃿾=/`o} "FB,h}r*_'d >3[Ʃ`.NyU_h5~KC yE]0m]˻~>, l\qB187O`& 4A]gbRS QV\xFi߼"F)m_=|3E\𩽾NQ2l捻IEC- ~YYIDLd81'Α1B'%9y,C%>s &JHW١_AziD)Mł[ ,X59GJ|TbѮz;5UWli/-RqⲹVl@ eЂ;{sz:D*L$MQBZ>!>yjv]Oߩ.zM%H0Ԍ6SQ0N2nSZ(TV,rM ^ty T2XF@GBW;y:ӟj :KLCI5$WH8hd / gR^ I6ͽ1EK1_c3&:3_^;z3Qר OUjƋ;[:oBlX2y7sۦDꕯA졃br&ʧ)ͻl'y֝ERU!O4U"$!m9G ՗(MK|(Q{D\)aX5QM$jv@A FR6*tʃc&~5,(, #m/+JN +5f+"K ڭM^RmkOM>`(j$wILiRT=xCZL0gΠmW {)J'~jQWZs'5R/kؐB"`k{fE8*bzn!ZT6ک0ҭձto΀zHy]K4[_иj3B9&,'Ֆ⹗"#H"$D͚ϲ>I]>t=uu: )tL)x快ycCY;jȥNQ Z|M[aQ1a\4 _==Ka7p3m`cydC]$4Scuwܾjs0\|8&FN*T,WhJO@&QMڂ)>$6[i&d+nI@:sri}N[u 'mbݲZVi72VP{_r+dQq ʕ -M{ߖNy-Jn*=$HlS\+tuVu{gHP|j% (mބF#iI=~O o6XO66X$<ɸH<9?LQ88Q;G#,xЈ("Ozf0ӮyXe +fsk;Ur)ƶo򿜟[o:M/!m5*YwciIA{Z4.._OZ, P)pxro&.`VDۯ PDbG)@?QnyZ&0 G;('*jqńR_"N15qř;QjF|sc3 ̏ƀ߭-M\#c$ Q5x1<@Ʌo\`iΈ+bT,)#i߮&><3Go)t,m/P_LN PE6^u%#[OʰoSuJ}A舄,ESS692K&w^/JvPUa&|rU[qiC]VBâIwvFGf,MZb3各=6LT X9T, fpVM0auTmB}%@--&o`U555dg֚Q * J ]'B+dp) 7&,(AmՎS$_HC2|K:fy<.ljڈZ2faZƑDxPC(y{yЩσ dڊ l /nh܈6_h@M9*ª:<$&0.]_X=lmvտVwv"k:;Qݙqto04T$ŠWpF_^߱wf{5x7)C;f&Dfq/`+ -U|SDl33}b!ozD6׬bY}}:5 {X+x}ݥ^5m#PNnˑE%섀`|R*o(/."6m<jȯq @-?M]^6ǘy#Q/.p2H (z= AHP4@{>=q杘"vhDCM$]}qy;CIGOlKpHYpxC%(j$$ {(+k5>烏n 1g>]jg 0 ; OUh,|WߡG8.v9I&Sy(1d';b{DZ[DodGu}ztO{,"_DŀEPN9 - }g nȍvw?6;noyruw 9I|އj+Pu3 N |tN0avMewMr~hq:(xy9z7p`eP/B޵_Yjk!2R u"J\8 W.Y9 2uX—Ԡ[a/Bz[xes%pun+A"_b} ^L{OTę.;9 Ox'g)ɼo& yfs{Dvr(u}Xɹ@ݺ݁5Ś:_w?1bK8PGpfpΐىD KQ@AS7v t>nېDnNPqG Ea>Y̧y|e1$6C44{`;]P6w[55{M./?PfVۇ{T%鮟':*P i_mXKҏh$[K:j^lC\_F4qn(Gx 9KiM*9ZU|R[Sޫݰ7 o\IWRi jF 5lj_cwY )%?9UkF y# #c 278 ?j >Ab–q~_mz?OĖ,K3NL N9C#^sDNw,zM`£~Z0m;A/U 7~ɏ9Y*oBs )W4hQݾ G]VnBLCB[Jnd䯂WSvh#KEёHY) AII5`cS @v3N/ԄU39">]^!#arH`Dcd3Jhw&;-,݄h|y٢fIgmOt%#G89l //ytV>>cB-7} wi‚K>ASP\W`0M9>@=^Q6R =i @sX&o8T0C@@`v2Xu<9k(Ӂ<N8 $qFse4fȟFB*6N|P?>b~I`NbA2g1c&p;Ν34=f.P|xKޛg.1)xU8\ʞ@lV~!äN*TO5]=;-=jwb$C%{kx9`+*$%-еC9٧6*u-` 1^ ^p@n.Q(=mB#@[ vI?~\Z%(/E;@,)+ ֦ƅvp|5dBKN-7xy{ |Ku3\^pۑGjWs]$ŘƗ[ ;yRPv%4Ā[] W W>iF#ɓJIIQ,NI~8O x0-gwy?đWtݖ{ LhRK6nswwz٧&YUE|\}Ld(cz8٫sF1:T Q Z<]BjUPT]*OU.uH\-DH I,ONȧ 0K4+ Jq5Rsuk&եf]8-~2|34"G)146Q$b4}T`d4^p殁vp)7ħ$>7T$*)T <7R@`gydDIA GZ^Q:”. fLM h۷gV Q[DEQ<h/:CmFD> }Atc*0P& |2ͻ<1l2Iԗt ys2u[xrUO0DŽLFj1͒ + >aW^ g"\5 NaLkW`4B.K=hR'3`UYVQv6nŠAaS6l7)74+%WN-ڷH7@' *䀎xm>FGyH?gS<-%9sgߜeE$+fp NyZI_[b V_?:j߯8"q[#c'tc'tc'f. mՏXeQVWrh_ {S@thy oA:UCV% ;kai,UrdujoڢΏn\]p pnǵ 0 }ۨJAG ;$3YAy8A>L,YbQ=9sFڞ'AJxe68D;X" Zj)خ.]~vϧOmLX6\Web_=G#?QBPo6CNL.n)<"9wS2 b&xN.FH Icc*H<k8Y H=-/PC*[,ă\6ձ!Q (&15;ME 2S=$Mn$No(K%bN%a_"e= ,V!,0#$I2eau ՃN"x"m,̴Ҋ@cKN,II>ͳFi獋li#)UM¦~:mp@fIj<4{-_d]"cHwL'x3[c,sl]^z"x svU9l]t]: K +kڹv GA6 f o*lu2-{!OF.S~EƭAvʥ%^x9`rzX:gyN\SdQ[|{QL#^mi̛$c$t]zEP4J icba[]lSL "1N=nSku 5M2+2Y?W]k< naF65=8Ga f7,Mz=YoJK^]xpȤ닊|@"p˴j,Jtcˊm}oA2=_aAkLbx`Rf- 7(+{N%cHUڕ2[8Y8dQ#4G[IAwzgmyvaZ:!Yz L"Q9%&^IySe 8s-cd|`^"wwqZ$q0.x\ lnXwlBi nv~H Y)Ei?Ɠȵyk6&ll2d/w@Vyyn0W*oЀDPMn`e{Tom{e2Gs|jl>K΋ F D/@G龃pf.7DH<"ݾP1$?0|P]"颽wiM~ƅ 9z =a8&X8F .| zl= C}o7zО8!pWѰ=yf0//,DyVª?<]Tzܾ*X}DwcۗOq ;ئLc~uۛw;mݑm;(v_ٽ=gʋRo4ropG{xh{vCHuxO.5zOHT>77ݻakw:},zc dz[<~"Vzh%xi.a_* ܧ~)7|}J~#wtwDu(/,o/JAWΐj*]Xz )z!-bN]N.ƸfwˋRϝ!0Ro|s7bB{t&v(uCW]ꎇf$R51s5M8mL7mh$&Nr`NbP± <>%^~1L"~=i{H;!yi.6s]dA{3yAA+hR|##beHK V^&ռ qJ(j1y>ye),ݰ=-KKG AkW]Z{wuE~p]S;j4RbE ~OpĆan^v35Җ?M8<$瘼A} - C'@ŋ.ǀƨ?(x ln?ln*^YπV{*P Q ːC.ΫQLּ#r!7Yy,2k!^36(O"R4ckbp_^o 7L_m~jaLhsn {ۢ]@. Zm lYaGQOob%}YUoF E:y aQ-AO_Drl;s;5<~D+'|m L+? 1CZXyYf@AAŇӜyW#8y@kJzCO+۾9bC{6wG;;D {|Vq(с|դiF;yIL#lm~=糝t@HQLm\U Q^s}Y)#Г$Ay1c)b+h"zܔL4} NX}%_\INʣb2>9!̙3u]>;"f63ДfHF. ̜`rSR3ޣ\fVsPSs3@C`hks˵\W5pZK1y@aExԾU|:S5}:;.qE69[6-|Hr6Qi0u#m>4wnY߳;~dۂۛeWwgH_fNu=(~pBn}ɏf<ŽZK+hb~'ɾ`օh?Ud TkvB]A7jr;I6b/ŬA/"|6> qv-,w?.'izbrSr$eff ? Mo%aN H0IrK Zn,޼9wvꩌm)[n|m\ v!|xs ۻ:'wP8nFÕG;u$O VB$Df0$%҅ Y [()>eФä -=>۪`J5#|coCi8J3D畨zKEd$SIA;JW(*ewTjXۀ*:mY?_a"rgo^6ƿ69yMaG {@AH0J2D .T0fŐ-ÒD+q:-@q$@cTF*ZkҼL,ڄAV y_ 0Yι&('^vΎeLQwp0 P\uB,C- 'P8[8_ȋsk/hEߴaB;T"صC"6^1&|SenQ`5(F0mV. ?:"S?4Prc~߮ +tw7z7 C]K I\w}yٛ%N*hc0o%:SkZMdq4}&[Z:%+zgA%`,۴\kTO#u"aGB{6 :I"Ml-.ߧ?NM2YD 4qtC!8>ϥC| &kمj`2Qd\ƥ±FSXϐxsYZM=[Z* `M:E`6dJGGn{ uvcީVN_➻9UZ%{bYw~ DYv߽51C!ptSZH>ມK=X*n͝p1>z}%1xZ`C9ْpt]ܐUP0VEe (ZJI 9+R6q|;d|t_p, ?Gf]ÉSaif%MIbal!ðB|;Lju8"P>E- p\-MqHݐX뚭a`*oOTX2A%@a1Ft[Ip}@a}:3)" c=УDch%9dJb ʘ76H! "г.eїc.D~NB(c_i<=jfC5ԡ3Tī.-΀պ+*l94{8\ıo=;"BU3Rn}eNn" LF= \ptX}-B:WIT$h-T2keF0sw,+p5nsᆂhbxj+e)V*; # ڇdgbg︽}fԲ /G I\NU_OK89bdtXT?]yda#(ٍ %@0v΀7b|`[TӖlt)( %4o!.(mI;LvZP{. 0ZASVbCF 0/\UtZ7i@uhƨk US[xC6ITCpɨ5#m1)qΞ;;Y%}p-5n%k`}04B;!B߈HnLL7_CCWq`d܊Q&k~L\HioHK$GL wbFX`˛/),SF`[Rw [Im1Fi]Uc<1/~*+HiKzP1-EXfdrkqh&2cΐi)Mw#ӏ9Za 昌I†RB6KZdY=[kvN.ˆT+[h ŵOYPvϟt Xk +>m̀M``熻RKWܦ7 &.cU4cMkIw npv8gk٪:0\2r~z90Av/e6 GIq9_4I2Fj1y8L7U.Y:"9E_hbl.r 1\F[ڠpڝck-pNj9jE>N U>˽f]j5CLn>*ҢWb-: +R2JB#y,wT<Xf $vUADtڛʹyA%/m1wi۷oPϝPn~ ~aٹl CqI.I\;}4 6*&Lâ2]&*_=+krJ5X jۧ!ߏ^j}γq7"/ُaMJ\j4p[ꓥPBϓ}U>Jҁfꗲ#E!] Mrs;Q=[)b7M=Nm߬݁rCf|3@yAva^&d&AMj,v"O݁5mمbԑtpqCʦ#3Z`v̅yJ\a9r'K+giN&aUSg(*KT9CEoֈDy0!/nC F& @aK/`B@~i_d`p"ujɲֻfc4^9O?\/B ?^~^벐pOb[z?;瞳w%ڬ'"[J 6AÒҾT"j-_) q0wݘ9?8d=t~ՎؒiwU&BBSDj^^~-aC.GVp!6[%Z,a]Z3 U14m 3K t=?S1B }h)fy&7TꗙƨǛWG PdEn)v(NPIaKzmĦ0fD. C2yWI<IXY~QJYIv\`{%R Oae2CFMC5N#+|$BcO(mְYomn_w sfw>%DG˹`N3` ;c;-nkQUJ4(DƹgQàW "PPS uu'` Q;jU'<*+H X*+#hV7B'X9unv\M^10sGb:qOx&;h> =3ߺ5Y<{~N ΥҚ\tx; d{{CcUj>-v9O(yt <Kin֮FseJ-s)$~ݮľVO`sb{.|ײ'SzħuqٕqS$6&hz|!em ;ưXxW8gT=|A>z(>NѶ=-KW5Mrk&S0ټ X2vVzkOV;M)gά_)ي^gssw6{sUZ3"%Sy,I!ƞ$j\@K_Q:aG#=Ÿ$\Ei+k6jϗ)Hƥpb}LƝ@,ƉA2jsDO$z|n}Hα"I^/r5C&*ē5Zeyv7Bh߱O4At7=>Jr>W-N2nU<\SR@@fce:?NU[CZA|tYDCtHCS{2}Ҕ 9Vu,ፕ^Zև( _E 낓k3lmж@EG|QtUe8C&ܘwd]}ޟeAĬQf gkD:5VlC t8RtDdӊP#aJ=;4D-ʗn $r żc-sQ?a/G= Pw>n!j,DS^vXVՕ˚s "6WHcA1ᦶWQ(T, 89ڊ9/$癇`ؗ0(;NB MC!,=\.0$TQtXʘOoY΋à썋;)I# )D-ϝfM\đ}*;޺9>݅WDHgA`ry?(Qr͵L%?+rCE\U&v,MTNk{ƺs:j '13̤{" EeY3-SBZ͎vݟ7!(nBP܄|4P5)(Dp^.ZZצ{+5AV _Rkur%hŊk#\,#58Jz E(.C_{m@W\ FWY+lB"΂bԤTDB>sXݯcO^¯[Tty](.AFll8+;^ƞ@i68u6k74g*p}]h4vw:eŋ:m!z+ؤ:/-E~2DM5}UVS3t% ]&+^_uh5V)5IÌJB&E_ \-QbQ0iĻgq;$& RT2jJAb)mj8X?h(4i5 ']b%t)Wyp&ڭ\3s :+u *K2p&@L Lq%w|U-dvJtW5e7B0zᢲN@9]"!<;To5=ջK=j_Nk[AQhq;;{zqɡp: Ng2@ӝ*rnṠg~I ?[Za:f:r+5왲ihnCPXL+GW}eIl@atPHa`lyOu"P: 2+Sh`5ux-4{x R%9SzE=H6z(I@  ؋FXN #lƏ4vFwz8|k`~ԋ/frMS(hNS1 f1a'ڤCUܛ%#;M1mJ3Ǫ({A)e!vk74()NT* 6vΩFs<:=f1tz z_\/$cLXp#H3Y@ӖHtP3 IEX C:LC1&7AJޛiPL a v΍g^/GWZM(' ^ }amb$'6vR?n v}APVϨAAc/Ec^/h9@{*U=:X32tT6lW:!{T$IwQ2(c9SOJXMa`55Y2.Is`Ut9\"]Ζ0p`/0=}ѿ8*>@W⊫;C|iJ`Q'p*oϒrlqe&@?uY[E!4F|88[{%K[o ]k)*SR%! TNyڠ@+iMa6]Vw:bU4;% ]=NRfp ` y ? 4g؎AA-j=&a;J83ä߹ӦEdfcTw|;2!`qk1%-Jjn1AOAmCx*UHW_H֯5Q:[̲ E>RJw>` L@=>o1 K(djH Jl4i H-EX̲; Є!DK V+>`&2  ߿{ X!N&~_Oo)94%w1zσMk1DH]4ZND֚߼wB{i렀,6)_(97aIرx- 7@lMQ yS]bT^J4/.seʎ 0xA 3F>kVGaړȺMN ʹu֭(2z$rNP\Uְ}]rB5;J' W]%M?Y8>[vܨ ~x(fFA~źQVkTRVi\ok}+gZi(R(jXz$8t/R+uXȅIFu٨7"Xkifm)dԹV1bYȀ Jc]}OMu H-o8!k3TΡ7@oy>UpW˪-`‘ƪdx]Y=}@+? (WA4?RڽZ,ɴn[NVnkܐv/{15(^+WIqoUb&C9\W[z4c֤r O,%3;-ה/G;M+% ƪP0;p#A"@gfN5N|56$J~PrZd\Rj_y7^&@9ܘ(3~myAsl߻{l߾>[wl}k;^3p.,pOO_y.A(qO@ioonqy1ϼVGN ̩\'͆Ɵ~:>N' ]SSOǀksă,<AP05AKxy F{r2h 6 q6ɽt@?x`콙Q" iÃI>,? /N}YmՃ4{i s32ׁ^xh+vfm&G~Q:Clh&w<|7E|{ޫ_v(`x;vaBY0-.`܍??|#T{rё;<>xޡG;Y%Pвqh8FF iȵKS0NCWX7M ;ȓ=*YE;߻h܆M{Gh#ݽ{OҼ/7/ɠ$L'h.G_lGަ>7%VU{O'Bգ xh*6orBaxDA=(.rh7?'GiYs(J (4M 7ȥM'/rK( RfÄ,śړU}[B-1o\i Uߗ3Y fy™[= q- ᭪-ia& Il8jki*ξqcXKfT m+v%Pw{JY }w W*V,ȖU׭׬LU] \웬2[Z WT\r%,^S۝ VR.;µZ92kžDqQPLtV^R%P+4ūQ6W{%H0w\^^-ѩ Zxѱp!_sY]s\,?QVX,ш?[4M>+>:~m=,߼}#k|Y1P3'ioNգGdY[<EW@la&5)cGQcw~fKf|E8<¹-| 6J d!涋I^,ɽ2-b/!*e,ݔI(z1`(/h?Iq <|<ʤ2$`Spiq?΃G 0Aܴ=Kq ~Ecgy`Cεq'<=dכh$ hՃ0>ps|a%QM`ofR!|#Q8YąX G f7Nqf*($i x{,gF`.P~a< rkHSZ321+g $ @Yb5/X"[o/ԛg|f<C$!^ɁPڤ*<3h| ,ПdkJƌ@4'h𑀑FԐ@Hz+"`펇 9txK# ƌ{F%9 !7z~'ޖK3/})wW,9A+`_q{ރnoy4?nxy4Now;u-"}apM={y| g;mA&pK R `w.-_1ws_[٠i01>-GlƷ3`m5h]-t2 VBWB]qPNڏ+#ۤ8 rF2%@ M#;ځ+  QtT\`&< aePgKQY0$c`|rK7Zc( .)``2ZqZQ Jc 0OBN"YPD&pOxjcptߑ#]Z5w.]!ÚkO%ty1xsT2^: yz?O194j>Vլu1^TP¢],܀¹g:^yboa-`rwpKK\:`捒+Z6sՆh/i؁(3v ‘$GoW?m%$ʃ>c+8&q] 0Nb n-2jҖ*L1|Z[icϊacr|:DOw 5"y:'{n%ǖOkE뜾p@䷀ϥ© qK:) 6AlQ|8Ns}Ŗkfմрn\7"ԙ~5Ar:jYJY>iv1Z_:S״nQ5*5jJusĚUOil7Q\) ,,৴_;~0zg Iy]ZW;inu,AgKo>_Yљ?7+wgXiTO>CCJN0Vfv I\ F,߉`ՉL}W]G$]1/%x) ߥ|{T 㭦ECҥD]U<Zv|~rLF|ϯ5R2F;fUCBrY89Z8_U<\p"R& M1Vա<adOՠ JH"CyMS?ye5m"5rt0<p> >LB|0hm]YQ[)e)dc^;vig%mẳd*I"s .~:0"E2mABt#;WtJ@GPKfc'( ideW"@If"z֬VDLwJ/X/ɏŐsE2BdQ#?b Ŀ8xkY@O̯uPmbكgI0~~e$<ؔI#dӡ#8qcQ\* q˼=<i{4h?ooޚV*Z?kO n7gzoh=Iji*H2绠qь5\N?yѶ6X,B p89y=Y~0qܧw[0h5toW'@y1'D̵W0.{5†03)w-vG  ҂ZmTO\x/?[Wh/<}Hoݪp#Ɵֿ(O6^<uO&[S.<RG/N~?<:xjOI\˷/O߼>:8~}.ñ$,}m!ݜc|~?6=EN<Noywc#%rY#ؐgk;{f%6brGrG܄ XE7qT@ МBgZ]<\4Bi'vXC7͵?žЩyĥꁎ>(NUS㠮Θ"ڭ IuB f.oEI jPBvgm>o`|~A:[J.z:( Œv-,f"TYYj!2Px44'pu}  YW2s@ YUVmIZV_T2/Ng?N o9^-%!V:A1BQl<ÌNx? N$͂, ~7pDHc&=lwP1C.eU A&ԣ8 Rkm"ڨ1l&.P2v}=㚙n}9NE],/9p `>.6`'Ez¤ɄoLۭW{HNY(.kMo5߹m\[bYTb8̕-7ڱf-˹8rTIR~zFE]7'ςk1 O!mJzWc_:a5{[7/a6$Q0y'ḿG%ULQ:ŰBh4u{WZͭG꠮}Hɦd%R6N`Lh%F?4o v%4H0I FùuȘGyՠ7CKuUysT|Gu6#dRMFsESZBX O(0;+rT]U%$5}5 Y 8hː*, u+U+ gX'8!B|TQaP*} )-Ek E^R t2V@+l=XxvN]>-TàA㮙㹀*6e h8 2TR`7/|k#kq4 8ϻ:C*`J{hak{핚fMe ZBX΂d^}Ey1̀)@.a7?J~?J~?J^|։ՈsV',3]ec׏ݎxW]g{vQqj4d|pxa/ӯ?kK:n_WʄLڇr%)'gmmmnW7#/b:s8Y. ?07y,9AD K)#,I o]#p%J1 d㓍t#H[G#ꈢn!kzuTI9 um];TFq&-oFv= R)vni orԭyOl( H*ZѦŎr} zQ ]Sj:Ie5D;R"etLrI4u\Yҽ\ai'dV/hN*d:w*MhTQ<! TYٯ&|Q}w,/ 2Us2;9eAACD]H10K $p S,[u`\n[E0(9~O^~w pkc'ZEF_73ԉvv=.jQa[R Rj%J$qݮm/{9, ݅aἈ(F49+߈< XkB-+-HPz̝p⭟׶5\5pTj%@nC,"xQQz-XÀFϵ+@~ 6 /Qٔt|A< o%S^>r!0n|Ph2 1 )T:DK6aɸp&r:uVwQc'}Z=s&Ԑ(yI,1=Zϔ(+Ҵ_i~m?>;|` 7BBs.r ^7C*~XPIm&Ԟju9(i O"ҵ/F5S~勀wRM=fj ҥ ,%3]Yp"Slj^ I& 5YWp۸X̣#3{UP8j/OV}%k|g/,+6I٪Jp'L(J|X>n M SͽBEm{6mL_Fa|-uq ]'l~"!W\ss*ݾu#qvƫEQu4\cQe(*?6I݇7o[͝Z gzEIY.cELZt_LO@Yo<;\gONІ:MA6ǂһ?{{G &"1{QC>V/d$ TV8x (HeiT\@&Q:Ƭ'=UGIV\W,p&p Q5Cy_7Lg?Aߑߺwroomss8C;n㣵ek2-?@&LsJէNmws-C8BfSst<: ]ZQ\w^F+,~w{ݻw#[eN 8͒ WPR|S7=l;*Tss\Ͼ}VTD:o|E迍 PQ 50Y! (]hґ;GPa҂hd( b"OPbc54ֲG6X Lγ[a/1{P3@G$&zP zQcy8Sk '}`FamjNyaw:@BX4.h|4fbC |!T0[ϱ ^dRٰ*&zn`[9N E9ڲ MοòVłm+moݼ_]?(>;k%OޱFӃĕW#|NǾ'okyĎ5?GWV9T|V3FyŵգP@Z@ NA%P:=Ё @s@xNS¤%H^j nS\J9Z:f7BUF[{UooWᘬ*~PC/@-;ҒX\)E+N)` >z6Q^un%U4[WҗȝT贱G|=qbX aWḿpbu-̶PutmjÊ(,*Xon@9ANu4uw>,ݿ_fAw{CXƟV`#c% 7LYsO*ݺ ?g8C@at5F苍uw _' +o{kBom߻sWYkDl`q틅NJ *d_򼯖^k%F$5"xXQ18Lq8 2Z]j-w-F c7*m1K;O1HӴ&>z“R%2rU OX'`{SiAv .v}YGgX%AMI^Lz)KjYUkRD8,MJ\e+,WOre5oԯ="$ƦdO&te{&{,D X$maMrpcezvUdvh#hm(Ř,_MoBs(Mb;_άLp˯}[K,S/c-{fo?->""WBnA_OM!r:&=  :/p+fqSV c/j~<7U0PdK>In͏%PkmTFԛ'Ɲ4nԆ i+5*}LmLQO%p9 <'[lnAmonHBD_]ϓhOSk aA91vR.M}־r|NE,ľBbaSVc;oJ' iMP.NT|"FHb*T@~WÓq2==t[1^mTHEѻA  V7sC7 ?VN"+S*##сgS h2ۿѩ4nv?_['ZI)Ս(#!?%ٞp$М~4xx4?z&o՘:Z=ZZ_*Agj] ,K=\鎩 9=í yc->7 CߞkLS_R;d8~%/:;+w7ݫ7oː'GGػ$y?O1 ƙ]q+̔皟'EYN|- "$k]ddDJ حgEJg{Ֆue"RlVm٩0FuޠZ^B=+2HmPmoX^ "hF6s ȼUi,FrUwTUN{|=y__sJe)ܰ)ч?(-2 =񪼥܃V7i`v4+fBRVkmglކ}6;3ኰ2ٻh۔~ի)EO)+&5 -m'TNm-j׍HmYEi:.c+`A~WjSU(8רe +bRzu5+4f_JTrdfM޽''jTak'=!fr`L%Jra'A v+ N}!b.0xrD55*űj:2Q"ϲxhlQR?J'>ܭݻ[|n~x9*őqʚ#elE7LUjˠf,.d_Jp  [k\Dꡫny0+Zxbr !LK;0߉ ЧTkݓh0.li(Mc5I8OO1\r>1 HG1%jrj5IprjHʝ"),)ܾEn]eMtTo͕\_o)8ݓEQB^ZuS;;T/z0VtWQ۹jWQǕpOH89O=a_^ڼwgoj>}ýޛOk0޿ϧ1Z!>l4"Kk=mCyTQ:(-GD4xʲ1dV{IΚ,E * /97PMe /x64I {}{ "eQh$LbQPqyz^("8oixPy0p*i134~fyGu"r"'i^x5ugo!*{-U@@7jEp σ stG%KLn=Ь. o8A i8k~Q֭8Z_&8|QF,pPsl$)roCK08[Jbƒ9ièpK0aAy >8rD}F̋QJc%t -SHS ?w)!+m,r }g}1 \nf2>%˝ yclL+MzI>j C'gXZ{(LZ*6aO*jB62Eǩ;(6i||Xw9Vc3 P3p̢xzk6"3ON"S8.!+cA\Fg _>qRbkWɆ'܁hFcRtNxDhV)@Kyy82'@7Dt{X&;ۛ9X0q8.Aېq啍ɣJ[j_СU醵ZzWB;{]]hgF{+rE6|K6!8=SLS#7/b;xw6l{5|"pŝnEB$1LԾC@K]aG(zձW͊kԯ55¿4Mbx27Jd1_ m]:q괡;aMw(EVBMO æNQ7D>"+!p B`yh7y›GA/t#%a Fl T:bw66(nDc|8"`: kS2xD :T A P ;IVº'j032/"ð-ù#q6utX`'c9Bd@HB"c9+jO3Rλ<,DY qKOG"G5~MxB23 "HBKPh}vn+80Hn񨠱DVRĦs\]9f>$]n+F7%Dd=ڸPhYHUp2&GoFnN_ǑUa4H#TBa`hQ33y6ÉcLӦIsQJ3t4҄m<%&͸z!CBnXp+ 4@sj^tR`Jˠ#@s?8T9wkQi:]DZhNA6;Dqp((>(mEDp4-<q%㏐(c(:?|yz=}WGXx rTyl1M&Oi})B*\e I}>N` u&#jg j-OMxz(6'@F_IX CJӳY<%k/A*[OĎR=gMEȀtMuVzC(y;q9m>t?ҭ9s z 0RNغU΃snC)p5bB?T¬@cVyo($i""!L㚽yFJZ,%J$x*Ng߆*;CD:eZf$(+чb"ơEʝW./KF4lǙb 4B{.[>m ST2ڡOӌ|NMTQY %f Yb!g4s%4ݦakvg$ML7<죉'}E: ?ȵxFi]9Z(Wj,Ҕpy'lDRO(ڻps P=$}ix*{,yn ͧyh|TUxG|\e5H,"ˇ5I\c6]L * tC=k(@s@m)NQ鷐 !J|S[a>dq,=KRW{HJ$Pbu P&Xow|,Q-=Fɸv{䀙{yHZM^+"exToH,RfZ- CQÒ]`I\(@+  0]btLlÕa+R9w^(<˲aİ ^@n@#gXR M=Mρ9xB Zyۛ3äշ~FY*Ī-IAt=jxFXŕ >8YY¢GRƁ\ QNUPl„66֔P5h82)ʢL1Dոz"irx~HL$t$mh;T3eZU)3Ь,Zz:ֹIg=e}L~^/ӡ JxpXMO0%c@>;RaN4gb(XL:\D1t&$ (Ll"߃0L3E zh%mrw\h cH7|^R%.KBuvCF|Ȁ^$$ `;lg^fx؄ۛ2Vv-BmcNRt*E ]PD$Z{u;V\ihAs"벆.hR?C؅%dݔ@6"C D6U}]b'Q\;'þ^c 3m:_a}}c&Včd hw61]DdP0.X.fRqdp!:{#9&(Hl;a2ct^ |6^GAD"|3+?ȗ˫ܓLHK,Niq/|gS4 - Ƈhq6a9< 5P rS 0wP">e5NݑC~w[I4J5+xh鼏 #2>K ji c_k֠HK1x |`7Ҝ6AC]n/rYoeY.27aThšePlj]*Å:lQF2 |iu_V 7Hܨ͘ j)jW[縓Yۜ;d.&^xj$q^Ϳɟ0#JQ îF ١,*cƶ0dD[l$̩`nF h`pZ^Rp8w";r)Th!00C4&|>a&(FG[:5 Yò#Y g6AK^U. &pF4J=ݑR^Tcyk`qz)Ghf$@=r;dD(|LR:Ҥ3 8Kl(`ml *`'ղL(ǮQ\̈VLي6#M<\>XBڷԹǓ{1)m/%/Q tv&Nn&leGC #MFւ4rXV$0A.K=#5͠B);RD OIA1j,F!5?`fLled1BpJǽ*|u4`2)YN$D<5n[U醲sTOhsT5#"̧G5e<ℴ KCjʦ*hEEOhF7]P;KmC)oI БfuU T!$Ш_@j3Xhª:F q \ qQB4GT3h-%<%53v/JeP8Yǹ`һ64  E_t"!Ivw>TH[kazΛ7, E\cM/"fPJ?ޢ/M J@lX@TA3IܚK $C˖dx~r\M/1ʟӶp. FӪ] 4̃br\ASӇ )4(&掺Wtaj$rHL/ {[noG/MuhUV }:H ~oFKi1*٣.l'm.s7JFl $7 olʭTMIO$h!ipa KƃݡP)C2bj>q 6%7XWkaeEdȋ0.t #I!tLMq B6 ʕM 䒏W>/"6͉YzESZ&teRǢJ1p43pIndJI.slEKa#VV3lpXOȺI^vP8>WV{ZsS:YSޔHF5l|钶9bޘOC\,Ge ÄhZ>$NI h9pđҧZ hiMPXHWO}uS`5I2^(H"b{RM8 gV*'&-vnZXia.r.aǞlsX&sSrwW2%:۪/me^jknS|0*0j 3 >   cS`T~ѵ.Imʦ/i2dNC UZAl\a(sҹ1TEec2B)~<e C[RuWF*tclM#2?ʛE.ԒѤ<GwŋAJ[˓((r"f'cK\x`8X[pkV#AwNf؄[MR! xN.Hv'Yl0d1 ӜNT\ǮQcЌ۬h6LZ%+3Y`[ǹ0ut4C )k_=6ua4B窢ٜRJO|08^q`ᤩ֡ `+jb,+%.3.D8βbp_G| ֹ e-0e`y^ k LWr`P$WdVZ lwG<@crB,Sj ҃BB( `|A+}v嶙6UHs1UNdo2§Uz9(MъN im

    NA x3 L+Q2/IWDz@ 6J#-D4 NA3]pExlNY8|fK>6!ʞ^E}JU&ÒѫAB緯ғ@Efb[Kmv4ujXB\Be1Nk,\2`, ٔwi8o8Q܏ޫ__^k_7/yO~iyޓދ1s=s+56Ѿwt^y?+5q/R *zop?<۷5`M_=փo~g@ כ#}F/^=}@ ^{/`fPޤj?|#{ri.v{d?=/#l WG0W\Zx x{nN^[8_}3{-wuSz/^l<;h>>3C8oXkh \0MVQPakmZ-nXY ,͎hTyg8wl=6Àtn&Dq'ɿ98żG9_N1j fhs/ʙ͇ ˩d+#+rF)+M10lAq9ة׈#'943to_bs2;^qRi|A<c?,t7Y;EkIŽ]f ō.tB5>-Oe=݀ 䝞z@VlnLh 0kwvX8Ѐ$k@0觟nRLhjIp hyɂ2YlH8.k5VtΏZld W7fކCڸp "tׇ#L^j"|%,X3^laɯ(3YHP~ܦGQ"9Ҹg9:Wb^ e{h%QC Z;.l)F磋ux8wFd '~obe0 qat8v`>6盛[n?[=|{[ݽmNWJ.E_ ?l<'Eamw;^e M&9[E%q`QӗGa+wҭBA^Ewo9zXj9F^b8g$1Wڡ*0Ђ*82*Eny:6;?2瘭pV{_Jjݘ ׷^ J}#^4L{Iݿ ň֑p po0P9'|8(Q&Y/o kg#@,ס06P&qg"Rqh\Ǹ ~sI,YPiܾL2 ԋ -aA1y9-IyZãׯm<ŎӞfS.0p7:M8sLAZsyzgAHTո|3or'pqeBHXR@K-*碃<}YZu&H1" ?s(VpB'65FrOZjb` %͏o;$>$,~JCy'Wʹ"8G3 0vZI/mӵ#h($z9]|/.Kwaڛ89@K>0ϒxC @  B ݇:6Tג3ymQna GBMe;ȑ%)|V85QTYFT6u\m.Q!`7J+iqJH>D| Ll6RƦk4ҭ[D 9J'2:b,bTj|c%-O-77Yn7VT f|嗵[pM߃TۛPI!S[q#pCPۏB` oy{eQ܂ Bl7 o3+( na`XEXU(8%U^JO>|(LlI$̧l񭺥٭l 89懕=A%54{#L0 mkʒCG|C,e}WjHEi1HT:dnn9 d[M=X\~Qq3.,%- rsSJD;nᢓpC`THnSƤ!n Ϗ<,GFLIqQsd֧vLЮ jʜ}βn'`hQ?6Y{ e>&DzFtrɽrRn$KFɕ$(tuTz{*@X` \t|j[jzY)Q8y1 J5`G8dJcX΀KO^ks>]p|M[6K-_mKﶋ]Of54 sX:SK&LStsWJ]X=! ĸj(lhkS7d#~gY [oޖ'11ef|Ms.; ^CswV`|*{J=YAM:Klb{C6i9y뚪rhf:ɇ@%!+ $0B2F@>)3T!=;D5W`J,q3eguJn~^d U(??CD8\d忰.gO_i~zd7r+{Wur["UM^r]=Uj^$M -,UR%$'B%rAN. J硷. `~'|3_1N3O̤֡q^p#H""nlJ6 A\%Iʡ4!N;4Z.YY+(\fdjX}jM, ߠ9M!!=~UV)$u`k>x)h}th3qX<~WpپcM Wj,[=nkhh s J G+֚kW9^t$SL0b;&in?ǶURu`΄4_auS@VyPD?)[#PD>-R{Pg?m7Bؕ; ᬾ13ic pGvl6)Cϓ~\c]ybT[&t%}VKO,}3$p¿(=n&*0 00_/o( <9B=#P@;o r ՐXP x%v޳Mxj"E'%_:lPe r$UOJ߈0,DRwp'8ci+" xw2$A>0LP`L&пB;5 #q|1f*>RUxQsG^+?Cjb=sĘYo#\7:X &/_7eO#5B^ 0B!|園죪XU8502k_$V5dtim+b=sB_]5J\nrxo' 5(Z(d:J~< ; u}ZQ:}KhFCXCOx40 %-hMOP ?m^Jhaip4+h X 돻n޽KQ)tK2grp#}9@Ƈ0u [Q_U9@$x iT%YPfb|dH\ZOӰ,FV+05ŤV,PP@%\ c5>0:]CI&1 a V%m(D6]Pપ\,Eh(8 X?2>%;yѓx NR$&؞WTIk.$s$fnB}B}[ mַooo{};vշowH=}{׷WDa("?O3?c""FlX&P" ,1B-h>NΣ'  TϝfM@&(0aHpdn6m0?y&XjZIW5b̔E03EZf"-L؟7S)۩Zɴ9!!ӓ?GYoy*^Mx0͙@U+1ۮi2Ew X_ P;^+N%v*Eb;awlYyUy].[VeӺ,/VOEZGPjφDD p({t{'/{ݐ~\9RH.Bfx/E%A8WN:u`ps"b4nRҿ沜6?T{㝠qv;e1IܼiSu((fGܞJ{1=m|$|kSɕ?F >#bD|H|B*Iȣo+ \ uAh~@hu՚X }͙Vk\%+SAC VAR @4Q~GCZly3)Ẃ#ON_AAz K"*T1**T vvq@M4;Rꉖ,QH͝ M'_DtgJ^ʝEx88x$A*kN?IޕJmiri/=Mupg'xV!~8|!+ lxR3;zjԇ8e` 0Dj1ttFp4 a`zH"E`7@|XX5@zY2L7QMO{hqTUaM_?! eTv2]eH?aj2J q6iO j5#$1\4տ#f@'^r^6$;X@U^:Pq ߦry\;п9K[x\z1<$1E-p#-iefB9*7ܑOסpF"i~< ޗ')w-`98z."q o\ yZGUN8xWY [NtP>jS)QpipD  p}-̂-,Z6,tI2XC(Ff )n.l``o۰O_riڟ4l߶0+8nJwbNNvY=C or|@'QrXHkĕhZgeE>|nAҮx/Fdiig[R&ǰ=nk۟;8I_<Y8RN$z!v3$ nUf-o*> (bŇvEEdiC0paG7*Y=4bG81@H٢E*$x/kW~ AZ`Ǡ8/J UNBv}7=-8Rxvf#UtYm6M)HU+E{LTd\ƁJIēG\COhɅPA1D9Rf xͤ'uhfž?O F26}~6hS7 7nS45\'AJyٞH_:WfN5s-*Nb>eϝuy1:I̟dv0NYs9? z ς/<@݀듩rϨKtƑdwQ{y?:nՇ sץYt}:2w]8$n5MJ3ݔ=ߔϟ? ՚ ӓq5r>s"lN)W?춓[MIH%w{^R'k7.Y1 m0mϞ?tܜF'1Po>^RF2{iަZM_jv@&}sUAilg$i=eKɰiJ9qRkBBI_:#h25pʜ 4$/|#/×XU/8˭Bjw'0hGs^O ,av]J ;yӯF nX Zǯo5sAh% ׊><6 h!# 6R{Lڹ] }@pAwOƣdžv usYw{Vn3~0;rsK=wVrskGQ JC0wWi+f'Ernny-VYDXh+isM{u{e mV3~Oz}T'֯T=3c.b݅/\nUu/h_jK߽t ̭Tgs b~ U\>:q?z8q{SUoWdص#G>Tu $s ~ۯghdzaCߪCzscƵx(TvVnh㡸~ <78eRc^l:j+xy̨)0cy|m2uT`<=[Z>;v n='u)٥+־)rF\ۆOqyfBBRu>7_t+tqS8y6?WWLm~6`E;7L>]4CN>.{ݺW8n^0awǪU=_ڛzfͣ_f<[s}+ hӈطnV{ߜvu8}z=U2<vO_. VkYމ?ڳ:7=V'[i+=E _wu; ^d"w+Ȃb([d#wby/l3|<3B.u~~`ͼЖSe=@aKw ;ݱka11Fνi=|Q{/~ٸGyV~jqہ=?A=jϛMs_4ܾq̟?S#fyLx'8!?S*ݸM7nnsa|Ի=X{v8G5)]S:oRo:G=F_4)r#ڶձw㯕n[=j˭#}]ehaMS{`y{_(7֧x;OᕫNN7(3d}Go=:/W+m6l~'Tָ`\G7/R~qZO /ֵ\xj_m2VVno:[hy%5 `SO[q-6ukȨ/V\3mz?uX}ѱ>7o C'S-ݽѡgn̄&/;-ᄑk_42(ygZ|/lyx|AqYsu /ܤS# [|`Jx~-ghKpEEYh73h4Z[܊e&oZ,x1jˆnn̙Z$#Cl{/?noeeI} W- (f痚q1-qVqȎu6y_1o[#"êpzS7 ~yurav@+C[)Aӝ:w?j+Z[r{g2.?6bwVGcOz+be{G}hAدW4e-; DZi_lteo:|rǗ~ۥ787 zh5>%7t'W?YQi:zZy|Uk9L2mKxG׀aƲVn`䗿㴡%NٶyW ե*O{KyVa:~5' A!D[4շ~kU9A̓IUr zBU-zK2⭣/XΛ5_SƙC_d}a Qf5sA.j<ˍ?9{ӆ=Ƿ^I_M_hk.70&ѻC燿IXӫVE/V©UWۚÜ/ߌoԽSԩW>od{ "dȣG?ne6MU!C>fORmoZΠM.̑N/hBs|won4 >7y1=eVqgDD[|@Hb*.\YǞTC |Ԯg7M8B]hƲuO=:}صy7S=OcjO6~{3랴'/']%}OR:>̍33{>y_z6+_KM7dy+piYޕoƯ\ב6 _ޭK{k>]YF㣭[߼fx;>:q%/N48/9^ p\r\SNwK~{5l i~~S RWۈTyOm:o5h?]lt jlO|4_p>wWRDz7Q`Gfnnytأ *p\{%KJ<>Ь^xK(pDW~/o.= uQRfFƛmۤ:ݛ7O ?W9q>È% x1o޳ umy&M_mr͚{E O^zq>Tر7^? >yyzkÂ_,ZtP!q0g=~ɣΝE.j{qb_cǾ曗֡1\Uϛ5kެ^jʗ˖\d ?>^b潛'r5ܹs^$uhy8ifX,CMJJ0aȑ#QٳgO4iɒ%y/6nX@{-Z46l8{lJJ*uwYYo޼Yl… _|իݻ۷o6l͛+p8^|dI}vw/׮Eq5l4#ܢ_y'>Jdeemzò23+yBEwfJ'YEϞv>~&>_;`ǝt8T6|Tg*0@GUޢ.2f,iVwO-}؟`f[4s`a+8UP;`a>6|ۿGrmn֣kyc-/7?oAO3[6*擯O~8'mQ҆/seֽ7#GufNr[fOاyjo5&_쪽E`uR M{BUu{=2=6,q;tɯ5=uUn1S8{}CgGjUg]헢_ ^ݫ.$NdW3'e |Dzge;\sC)TukY:䶬Gc_ǞWz9oJխw$hXUf\-_=:~Ly<;h1wO{l+} 92戀?>!Bխ!nYwi}wދGE{1k505C:?f"c;=_}vvMzfML\O]9z|ꯒPncd9_F<O*^}wf=ynUs܆~ܴz~A~u&M4 7- I+4nڠ.EӺ̻U Gκoh]oЬp"OG9A WRװ?iѶq] n;Ç?~3g\r֭[iiiGYnb5^S-[YHT#lMt/>Oqݎ|"?՟^i+dUw:|JتC^t~͌ղcڟ}p[#cCx7wIܳ>={э[d4uW*Xo5hP8n%/o 7R{Am#z?߳g"!H4?K-z۷ݻ Cs^ڶmۮ].\py:t觟~__~ƍ7o"RoG<@O惎(qj>U: )koԯ+17)Y3a}|=4ɟP0ڢ?/rXbmx1ecυF+6*d{]Zč3m<љ['5iW&p/ߝ~蛙nOܛjGZo|>&[(Cvo=.KȖ'*<ۮfnz4<50ֽwzXIiKqLڞ!/뻿ֲ[yNvfPrgݚm^;Ka:ȷ}&|;إأo>=;R_iKy}?;6 װL~ǖ׍kԱ[-Xϭ)ng?p[?"vF|ɸ">WvNn}rkj1i{>È:s\ݎ׸lŕ>|י~旯2W~Rg,)eC?-#wm\fѧ*5(犇*n?<_rIƲC<}Ex~VP~{ѝsjWߒn+<*vFwKKGV`dKS+z{qx߯~uggu+.CWvoQA-V93rӲF܏ZyB}X_|sFO}f׮* FR1}=|]zpNUvwٛ?^bh\ʍAO/~xRC\AiW5k][Z[^ņZnqclع>V^zLR(ͯ׋ak2򭼿xcn?[]Vw}:gw{Sn3UZ,yh{FI{F{kirZG?uNd))vƳ~a} lػŔR#Чlrj⅏+[;7.o6}?evN=ߍ+~``/qy+sckӬ Ȼ&8=|xGǗ T;xs˰_ lxы*3.zp5lfw>)yS㭃v}ԻlYWw(Gw 9cz0|jfU2rtZLOʳs=n z{~ZS2yoc}_|Ӵ囍S7n]wE{mi0ҰrSjtSYC7XNލn7L _}~鰩.# \߼-ㄪxl5~:tD{-\-!m{rhEuOLzv䋶tWG~cҷ ,?8/w?G[܎i].ogLo6y^һ~"OF}.zwMM]׾u{[>3@MN\f}|];_S^˼_O٫jMmZxǯz pvo3СG6GnګhCunC+818}'\}tk#ͱ'Y.\5jqX< ¢$ޝGK~J=D{@qFfqz+6Pw`fq=KfTzAϟϷVä?:Ωgᅧ֎VLM>Jܿ~%* ݀,4FO,67xeCmCu6WF:̫r֕[yF%@<նgg>ܘEIKq>w +[?|ro7q󌖱ҾL(jے[NͿxýί>u>e,Y',lr+Ҟn괣şyk nE5gNr|oۛ*vƮ߯r53ش3u\QnnE:7h9nqwe y.eߴsOMz']~,ˣ~ŮN=9y5iv4t츔Vx/{h{;eY[f;pĶwA;*}\}| 4\_;܋ZVPVOf[wFw}feGIpT9߮/pd?茮h֔=i3QYS+,Io^two9o_e-UH-O? :tw-߼urޝw2öM]+ [qtCi~wUog|9sN{*9<):aVBA'l4Jܞ f;vUgsZcVb GLN{Wkiii] z+Z!_[siukUv˯YZqg;9(ox1}7ሬyFN3'9zAѓW,ݢy&]xvn"/9dhQLA?r]Qf~2+7Sli?Ǵ7((h̓>k워k;mvg겢'2Ky[w\W> vlŐ?$yuY>Hs;Y'ʇg >k/gvBz6asI^ ƜcJվG՞UYJokx%nݺ <Fw?wDDfY_?˝~Z~YΟ<}ڹcΡ礿yNj6Ÿ.<7[7oޜ_e;|ng֭.mv_FcuAS$mgY۷o{a[ǻ^ ,=Y^o[ײ4%9/.1;v&|8e3 -N4iUS#W>J⁲K3~~iaܻ.?-[a4l3,%Sz5j?=ըYUS|k?5j1LmOOZU5=<<0 ^iۻj:jef5k֪ʠ?uxש]AyxpQǣz]A@Q՘Ҏ{j=p^h$x{Dx[DOу:u@ڂЎGe8g*Pf͠TuUQ^5=֭_~]x'w-Owú S^.@fj7hPBEZk ^7,&UO4wwTf]ã:j LP@u#l<ؽ;Qd\ "GY˷F ʕC:k2)A^)-%k1 tl(GjUTǰFtp n*\bzeeE+QϞ*Rz>9BWeTyaA7:Vb:=ko/u}>|q}ұu zwv;pEʿlJ#mTJf^{qA&Gfz ͫk0pVW΂\*~(ߢ>nj~v9>ϼYaF=ަ^zyι~}OkP&_2h&AnMѾzP㟦̼T63:4|ځ(e]}4I%7KWwqsRV쫐 90n34jk֥V,Yq \Ѻ ]zͽ*%V)xpj5}`块}Խ~z-Ƿ^wSNˏ/Ulbڼ:5ΝgOo3ڙxcg|W>?ތhVA3;`Bo-HmzO{m7ZZOG$yviәk=( xGLm<ȶS:fڋ5H.v=_Ҷ66mnD[_Vm+Oo4~yK'Y5H<1Ӱ@f7oյcݲ ؠi&J$ŭw[v  Y (O~9kma W>,X7ǔfC}x][t@?)tUF;;Z\$g^M{7K|ZhAk[FL^~wLKg M<whU1/.sϓG{|kKcM\~ٮ_nzaeu:yɁ}w;3O%\![&M<^3f׽M:LX}{8f,ЭnlQg#~Y9Oؒ_03~*˫i7j (tpŠ*7>[m[ژ3_y~oOdZڶ!ʓ'mvⓟM|z:$<Q$%viZ&v4Qg7sZp2mvQb-sE1nk*oY`g-g^2WL8༘Puoy&mozwLG<\rli'Vho='6\dفJWjɒWj?*O6>"_¥|?m aHkfcww)'~owi>ã6mdL)G-h@fBp}KvP`۟.N;Ox)'DDo:8؈:uJ!kK7~X>ac {}j}u:,˕h47aU#;V>o=9j%ƇiùUIZK52X Y8oiĢm~sģs'8dyxkZ6^;cK/|VxC&#Vm[HvSMkg2N }\=1oVCoy.uq2WwqFőg.u{q̘>\/xWˍ|c!}z|{rÅ KskңS>;nf>XuD <6+bZ[O*3˓Gp0&.=Su/_>xoTz?WӫGU|TGw?{ۧv.㣩!+3od/oWt2:k9ʖ?2&'4]:_v+xqЅjZJo8ؒyS\獾KS^ M1cƙ[{78pB.}^3sv{/w\y]윫_WE_{ͪ9;1[Vy7f2umڡO/W?}{ܛ-&}h7V`L

    >qtn7d/ML/"gc߇ڞmqa6t^}_'^}?ݲee:O+i)[3 = ccwwM7۷"6:m-[b>KI[~^yѫa7@SX=u#_Ia̪wMkޥqz駝&5G M^SN2|;w&Pq]]A8|Z*n\R o3}^ g4l3K?_ꑬbv>Sޕb_HVKz W+߮%yZyJUzGo1IJ[{߹kSwJmjbQmxט:i i~5^_QӊQ簰3ʜhQrjz\@zy{ ܡ#neŗի?aJurR_E?:vUo_ʪRuvo?\v螳;ykʦ5M{}c˷(s6C$.ޯ_~䃏=9{7n.ܣs+lM k=ܲ֜e%:.{Y=;XGVr/gucsx#NE~g{rC}6L o՛M7t_֙7ģZ՟wG?UЁk= \;GrI?xdk;Ϟ0h]3n(uSnnKzŴRϽTB}-`r[ǭގ_q{FH-W'GggmxtĽYOu\ /ut '{R ,X\rhvф*okqfnv|o׻n-A%d[mXվVw†[X[.'Cm:fDUp ;թwvyF[߸g^iJPޣGǍnkʹ~1j7Wf[-=<ۻe^@G/(vk7_u#dZ;mz,|6m6qK/$KE>1,Z2CMuŞ磶~YS߫gկi` Uۇ-V'7_؈uyƮ/L557t{nn;M& 5vjP} q/a`G#.SΊ,mȒYn x3E-QB218=J=w|r`iq d~9rFu PkRI ?Iw˽|SKjψ?1N}^oK)Y]wǔYRC5=]qIs~ԘذSv{2wu.%6Quc?yu:΅(]8_[o-ЛB[ξ4|:/ņF/4 G)z#7Ze_&lx 0@{gT2uRT03,caz]ə$գٰȀ*x?7Z.) ^k-H2@&9z -D15,})ުLP^֎dwH^NhўSI8 ¬5~t$>t%JJ΂Npt\DYF(AQ"ZH2`9 5 KtIB.#!>De#p33vsbQITM ˡIj KjhPĘl4-ɐ#^#łבכFrn;gɄNH4I )LNDH>P@t؍_ؿa¨ (LhtU/z'|gN>kRfFS$7S㯮K1E'nfn6ﭳ۴Y}A2^Y^p1 hHEIJVW XfxcvɄ#e oz"#@E0Q P^$tV*YB Ebn34(k6rq0y }Yɒ̃YUsh6LzkÄFڄ[Dgܬ6BQUW z̆mk ;ضqG6L#ECģy![ , ƚ W űÂ6lk³5,b xG XM6")v1% y 0A$)4eB")A"9M" wvc`]<7NV֟f QY-XĦkLMV )FCZ5h@c + c1;Yh4VLp0HF$8D18 ID1i'{_8C,<dB`Aө#jSz&#UB uu Bz`ANvK]U-"|=0%:q|H h.%@N͈~#ӳjTԳFuV'_?QhJZ1 K%jǰ:Z8$'-Q:z rk~XAMDlI~a# ~SJ_0J2-~9*qAFd G%J'piAbjZ B J$Gsі -B/'VwȁbNnM,p{, ځEJWPȈ4$:M7`咱wZJA;ٶAdimw2I J(6lAeVm(>mk o*\h!FDwW4fLQ _K=?e&ރMk$9FMbu|kt&!(TG $\2*5 \3gy2HtDnROW -T0P4.RCC f?m"  t$ 6ѷR vNTP)VbI`DìT ؘ C,$`P Rs.b Ԁǁc`0uVrjΆ@]mq5IǓcF r-}4b:b߶Y @2XxufVK"ZY Nz0蝱SBs̋-!5fy#:C(!*HsW`AM*b2k)@љ9Kºc)1ޕ`dmFCJvHi K1Bt1\ 1zMAiY!N+ݘB((v}y*KuL\"06+cqr9JhB#[GDZaG(6igE[WLƄ4c:_18Y@jk@ē{@ph$ԍ6DJnbuF i p1Fl rtBtDɽ.5T0؆f&Lɨj0!f:D0 gQg٬5 pQB0A#FT}!Hd6;o}h+auyI*rzV}9Y0\ U5,3:AfPإla0 mTZwV&Kƴ*mk4.K~Lh #QLiۊ /> ^N8c֡b$TED_z{} 0 h(,y(mƄ,~Iϴے8U)Y_& l>M56$ "nw6A&ڼ]uv+WX!#\Ft:@C;AܿY@LM8ܖ&D`rCP[lv,!oJv3uXsxE7G<:=4 ^@J%7kۡsMiy6S"t\\0ZhEh=<%X,)o9MMa[/"Gqi4M>uJјpv[Vj'~('VxU7'jKT7K#8QQc!nv62$-s7eAed#@!|kj0u_Rߍl$"i:0٢M"iX9>8jhTbeȭw#rhÆ2/cW0X.ȀUg߽He Qm8D<.W/#'lŭ`=QlM@͹[!@08amJzs.1@t'u2A"b;7N C0hut1kQЯ/숑D"I]jlj?h?YaF %1P|F`,7K0(}e4eXAҼ {M;ۨVzj .ঔ ?Q%BU1l׵/[9Tvj9?#'1 QfX+ FH$EuF k-!nst$Q=`n``c_дcAL3w "[SU8]޼ cVpBw+w){hEԜhYL9 MB @ _sMn:d:VAł V4sND1["wl(AP ЊA(UAD#T y+-0Q\ŮhɼfbE*8#">IX")KIHgc*j<j'^< R3!fT&2 5 kl?PjbП0H, V[ϒ0nZ[pcZz(9h W^D.`4t$o20kD5o 0@`0GE9&nLe6Č`Ff>I>؀x /R%1Z:D$L"4l "!tK)M? 21E4Wc7Fw<& b/Zm AD:S8 3̫ .~/##$cg4kL(Z v,h?D9.B^.Qٝ;R~챬#=JaroN-z Qws䐀e-!5JHQHQvpT{񡔚OGGAMr6&8TBHi LH[27R!i o3V":Z U5 k^ QPΚk HrՌdF^ @w& L]7a(`U$#vDf! 'e1\:oYo%(~ .ce<!36YREv8uA9i(i\-R1h7vmrN=s\Xy"ؾF SBv38Ha5ǓꁼG™D lA.K'xPUV`zvk׉B; #!jqCyI;G)CÎ*%hld 눢2I"Q"lÄ8p?P GAIUfWItoõ+.,RqQzcmf&TKMfėXǑެ|"9HYb;K^` g0II%4JE7+ͺg? veB啁5C*iqN|v dM T7A̕:+!K|)&*jLu$'P01F  up ҢwB=o>&[t[,D^4VKҚR=QdHʶEuwhY(ȴ] 90ԧ MFZ%ZQ"ZgI+Jrp`Qp$ng6DPxCğNg+V;(< ʝRBKHऐn B_dq@:͆D_-[Y -Fatqp.wXI#0 X5 n|/F-tjaH1 c[;v5oIGR\;}U!a ڔUJD)At՘.דXB %FG'u@@b9p[3L4m yd 9Umxb.y,%?Ke6:Օ4͆.|!U6,h"jA*j6tTUb蟺oPT_Gr-(>h>kěӅWaM^<,:W)EC 8t_$qK"/I[ʘ/!?COt N\~*串1AaAD'B'yAHD6ըfK)s,+-H3RC^FɏI|Ӣ[0Z7e!zQB#/!@Uf$W@m;үV^ѱvUqUU 0c(cr{\aI6t4f%Yc;@ ^BV ]%RJ$.}'eѪø(d!sF`F. aY'cy8(fz̩M2q4 _R{ q&K>=> }D>1g$Jj4UWJCC%.s@fev] jn$&P-F*I+  la uJzHJ>O8IdjE߾P$ gjE3ExMiCr_ UͪJ7A8Kͻcu)un #}xGX1%av\8UA-ٛwUՕ[]TS:F+8lCq7-V#݊D!kZ 4[frORz4/GT;Egd fvZӇ)>!ae~ ù& 4hRb yyK:7(Ա2B$,N%\#@21"kwҕݲн.yzNL!pHp6H6 v8Ǿd:(T?ݣÆ gPWT V_wrC_#t4_MIX;fvLB{=oHM[cS;\*]wKS]tDo9 ɌΞrnѩ,RQb!#'jigt[K60O-h,|R_Lw")GI "] ;Ĉ*ɍ-FҋdG|GSmrU ,jO; 'P$VM =*lhyR6glgJf9 A N3=CB65? jS+.` ZƑdcqN]M$/EhS8E;$͔]B@$ չʭI|ڭ$L8I`35m4YptVG))K`AcB!kn`,Z$9TN_Dhhv" F">~)\OORu^Hx\FVb-JEri[,SI FkmH+V0$EB(A-oП+d UBOM+j"oFI h`fE9u- V!+4ٿdDn5b6$ km"GT ="m}akvI2 ؽxDsCUgҥ P ݑINmhduCU#3:t9ly69RCTh#$IfFYLMMx"(HFfGfsx:@rp|@, L\atS*WR'VIAG$Y:xMl*z!RhV\p}hEb?.W(ӗj24kѼDvwC1@3G/ կ_cfvjnvOx,$h'?ʨi֡kU^m UPl)֬H74!9&!pőXIfzJ'ʤ*{@_|EDFRa D S<qq^ዶ8R@I|Z92GE:&@D]^m_>@ImL,(awBvz $%sFotHP crt ђ6A"BS!2@sm? j(uJ<(s~ܹըsks+ΏQUkGpcŷ.!'^` h 0U Prz= .㍔NbDHjLxRߦh@nm '/Z/T/ϠO|p'RlzzGx%-cduN mV6V p:5sTpIuc!^=VT܈A~D!Gy?vzKLdBg?FX,GuUWB#l I6+8"!1۩3+ږUcbL!`NoBg(2Woy*^ʳGj\c!&3't Xo\e1NayM*rD/` E H\T")vDziONjRJrBq!n[Ve̕^sX/^B`](Ԥ{@Bg!^uD}}΂TC3Ua+6ki`w.7Z>EKmӾME8s$f&j{Hsց@0RZgbtj7MEgAm۲!֡<#"Rb 0sRk]I8@h lu=hsZ:ɣ EH86I2wB)39|!E.T7iYH5H62nߕO4C49ƓZ_Ͱ+813h)(B! n=~$#RRQ Kgȓil D#,IMz~VGs9(Zr@jv@v[B4(*ċGʰkaŷuS[c-6UA($`5@P:Dȟ']: CEB%q])4B3BxugI",yj9 ւ"hcM4J(QsEb Xj rYb3sC!)EQo[$qM&"(ع S0,)'SJhRxtqDl"$b3B,dTD{G:9DW''պӠn $$^пD4bl:%L͑ 5&ZK"@~`ۄrk M_9 LΔ8%}՟钸˥0\bb$@mDZ,avd;jêufՑ&1*O_ǃoMg14eUSqH$]S4+ß5u!O#1# &poh&ŞMIaCb3kMONXf?A }R|479A{AM|EBz|4VЂ٭XYIL6ۜL @J`uHI?_&\Cup8StjԙhK%ZCz1~:dCϮ.D. +RHqEW[ YfCKZ0?AH*%dM_UC+ D.:%jHA$bZ{& )FGs%"{JljVFE]ʧlXWCNRSFnC"0`QxOqNp0BxDpn^b;gȋz M#;'L6~, <闀9nn@XtHcTO"mt+3A s N_{I^Tzf[ LH+,Iz+S BBo|mYmL:C I$iG!KkYGpCV%gD~vLVYHĔ2lb-AV"uśO-.ICDxSllz#^d&ץ$P9OfN={l;0uI_e,2B0A49r ڵ8nDP@]#zjC" &bZcFfG"rhV$ Tu;צ>_L6ZA:ؙ"L(J0̫ DP(Lr e[ՐR_hF ̣xBX;Rغ V*aA 6GeU@[EiݪMdEuC=½,AH: ZYh>=͡lY$ ;"v'f[6͆UZj *<2bVaRL`ygN4d|HA4A~:$Yu+җ+ۊe3)abhY h P :2jEj^BT73 d^OAԉ -6mDEr 44e4@ +#`Qx[!dkQw>F@>e ^hq|x-bRTȘ < y5anBIkTj6!ˈ=lx-$)ZEЍSn VOEJRJbu,*W%}tuծȚ& m |Ld{J蟄 |+8û8x)<)3 :jj%4ޕaKe}-w Z눁KeώD]'*(Djk,$ *+h`gȬ`y6A29VN1#V`psd`v)8R ϒ $ƙVlQtWIN XaaQ SyI@)S!NhYC\ot0 fL{"[[lFM b3Ðwr0J'ıQ8Cğ颷,#G.u uX}n'2^j^PfHb0'ߵUyBzblOKudʭB#6R}o=RwPt {Sp7j Ȳ@dė_,y#JLZIH n(ݖZă0ʧARؒS౨mJ0&$B'qn1`̗Z 1|aHL)sxRk$,(SDԞ\B&+kbl ]}̮q--E/8._dF .M$,*N2a!҅R$^ATLڦCMU  %(4CQ`rb ‹|?qexAu %u Vtд ̣abDE4SU|nK[*L;n&* vڽHhW{J"-Y^z zP;=- ݖh%!o'Eb.:x)ۃ0,MHd.N4ƃ q y xN$#ڄeZ:GbGj0qQ"q ʪ6Fih:9b!`Q9⑴o0h? f@ۛ4ϲy Gմ@h߯4 -6&ft<b* T8[,³| #N^ J;n4ǬtJ]X5bL;m?mQ>r KG HLJ1XBߐTLI*0T];HQ788 x'4`U 7#%pZH߰"6%X J!(W0(fQ#JΈ(adHp޿,rP_Bi'` 3R T* v o$ 7oS hE#rͼ-h`-¸q6k،BcYG{\rxDz${'l$@Q_יhEclΦS1er0bJ":I'Dϴ^6W@p)RZP- @ĞA5*d0-#CEKK<`t@-vbʛ4 I@gE Ik m=Ln-=>Ğ# 7t&b/6EC`ԳZ+07&AaF8Flʨ*0.\Z$lyDfDgDpEc 2hue5Z4ҍRS@Vw)@ *9+5jLr3d I_Y#F SγAh;̶q8As;I+(FhdC r=iűWD<! !!AV|Ėx? ;kA cy`q䊳z5mLi&HX39C'dھdGJo0 !V95c~^ =& ؖ ^m6&c+Z9T ]:;krSiovQU~΂"{ yךFv6Z4sPPI?:ƛþh*n;!tBH&q>Q(!.IШI g Pq)P O__leQ0M+ X [E}5%mCSHFj(E ')@Geh)!R(5+yV- Rf-ۤ %PBTuX7]ZSʉ53m̤NkdKg8ɞTh])+>*$|Hr )K8`"4(رQYpKSSpt[Ý7i8hFZnTYeK , 6W SjblԛsNCfC^%/)e'^nFc=y6pt`11I&@t[S5B7-bMJd"q띟V} x@ l[NC~Z{!0fp  ?4H(D9Tm7]\o3w#c $aYXH0|jDՐJ}+GՖPDa\#!HjBJCX~rm#kHS bQπpfk4Cl WmԼHkD%""lFUH%6sm9Z8uAxnt$k1r8rJZSJ2m^٩p R:e,3:yL:Ʌ*1?y;/H+ -M!f؂HDT1r9!lRk pP0(C1bvAukԸAƍ5߸az'K*]TXpߠ{?!EH+ 6P%7.}ՀNwE8D*IʓJDuPC,zXӗ:X;p`s*Ja5c9D&f.vdK(D=eY|ΗA 0k#}9X g9kf>J*۶"v%fpw*WM>Ɓrɑ- <r1X(ؑbg/cb:GI3j5&2F/"3̸_Kg3 DQۑebUO  ]$bx:X&6}ǢyYQK`NÞlbbу Sǎ% nŲ 8dZz`Q G;lΏF#BkB3;1awƘtV2i sIДUW=U#Fe&joу׆)C0$oB2MTڌ_vxD$.ÆK !2OK!"0/`=jl dc O:;+HL@ų  S=@*VzHi({*kZo;  mKPCRF=R[P6&%/@u.1ZRE7dвnU G4+ ? AA㤭!" tA+cʹC}hh$El2Y{Uqpi W3f ^\)ڳ:.Hٺ cJ_WrAwwE}]GP*(dO_Qb:ud#& 0`8z.$L@NHCD!3cnege ^;drHJwfE]96=tx!&e)918 ˘V\(9.9ٖtI!ڬUَ"& F:FQRϴCPx#!rObHnW3oGbE $$k܅zŰfƹL͏4}K.pc):Tݕ*0Fh[cFg>! <) Әf:` 2B$#(&F!I RUȎܥ 6q8G g *% S {oR#ǣv[m<DX gF݆f֘rlKAjfdANhʘca1fQ! :pqm{*lR&zg%Z%B>@e V䩄{"&4ʻ0Zf2a5@oc*00i(E V:rY]   XEȶ+ʏ;k%3."nB`S:F8},*rx~mpbʐ,}-@}.38+ƒ$sIam9j AN6 &;xЁD!@. 9?۬X@GQSM%D 0Q' B X /jYG2~HN Y+#B̘j\X8Pkd#FAT4m:а^#tT&#FЉӉrdJH`6<* ukq)Bn 9/gF-rg\NE_`t5/e$2~xV53kK@Ac4L:HOE>(یlm"IDAEsC3 m R qX;X\#Y{&o3FbCg"YqD$Ҋ= 3h4&UZ0Be.!` 8A{q]L+` +-|第w@hR&x z=0gh#/5g YD0`& bek6WZ{yE &(:#DU4] N"Dd¯NtԄ* 8agD˅ 6o ʚNK[7<$ ʃ=lsdU6\"%\+2(VpkbZHmd[$ `SL#ZDR"\NUC|'JKsEYŇÖJlQ~r; [yEIJKo)1(V7[E#xpxv'aZ' AؕĝNV.]xir"l2B \g56kSg5nK1)5Li>Nl/q(2H:2>5P›JHjlw lb4HP3U1qVF)rgtLOQeq*ѲXSAJګ#P "pUhpO kVjĪ3(N #5ґ|8t"!Nbl ~: ;AIT  bC5/y(ar(ٌy$n!Ɍ[1MU^˘3 v]] "Ep]XZѬ% !>*,.;sĘ6xbGWu4UNB< S`EߪݎdR!&b7X H'DI^;/[x2hj%`&琻sxΖ]f_ر$ՠ~CQf|3C ٰ:3Ϡ `) ')J(_q&@1[VTe_?5SvN*I{I-arLR8OD &Go+/" 9-NfrZ5bI=avc}jbUN^34jĐQ(tfDSlVX<c4}PID@V3!Z+c;e`0dr.[!J ixC#ؑ!U5kl?ً>15Gq{)KĻXco5Ce^" rSS]Kg)#!0>`TֵRڤ`v"}*.kUw&4/-A =I<)`+HbnPQx#œS|p qUg?XeO2gU5(U'ٍhSٕEj& Ö$r@C827( vtUUCc0=SivA CdV]hp0lᎍ%~".́$[Ȼ~"]5&T4%i,,$jx(n4dY]iXD3ݮ{[%5Tv{dAU ]i%ONûo -A2T_u#}$9WIiӄ)$meۙ,BDwSWZ+h>uрm:yՉOtZ1q1pG@b[J%ђ-:|mI-,&t4><*"yYY>e# |`4$?o'KzP&Ǽa z6Fgf9Y192x=B,;xnI_@pm'A]2[uPFqY(h!GtJdRɅ-RwCX9Xs$XFYPؼJD6 +k2#sL$_ΩGFDǂΛWU$%Æ<|:YIlYSH2B%N?&\'ĥR<>wK0LJX$O8@]C#>If+nPRPrz@p_O*W9nhGPφͻHl)k ^gʆϨS:` h42RՊ<ğC[+ d"x rA/$AU:>Bo4B˒4!(}rZ&,P Ɩ9MD–4}fܵq YbkHXC@YZXFB G-s6>q9ET(.$;#5֩,v\}V֫G2s%Q&a*k*ΪC5_٨6֭_O_豕#̵ԅk ]J* CqXmg,k,),TR3nbĂbY 7%w id8DZc\Q3AljLn9Г 5V&hEX! :hdٍ5e %KʫE7k7X&iaB1X4z3(Lθ"yP'X!Ko*e,YWҸyXY`]j~cw2łjv'L#4RHU_iQfU`1E:!T5Z}J?sr)N.:/}h2Țq.Y MaLw6j"t.3BhB&T2;1$ EDgIf P,G\1;V ]9LrN|mzai(e H`F+Ye*'q3xV3I kJ8`VV*/ɖ@᪞c!; ܪYMsxeP%D1+BhU6_iy:UU iPȘD)]hV>=O d>PcIk6Jo_9q x?ڙ$}3HfG"rf1*i5-ꈄĈBՔlV$WʌЋUhDǣ`ؐoC$@c<}  r|2eL]`bTiF`aP4gD+c" ƊD$[Sv7 ?bCdҚzCē #*,[qF;cJbP88׀l6'<v@޸Ť/p&$pOD/1Pq9aC!6=3,-4аX+*IJJEK1  ASxHp2(F@c1P >< #%B9e2M鑩Ǭ5qV36.&2i7)$cš% '㋲mp@J X[)ϹwFecW6x*R%aX[&}Hcڗih6VD*A`TTDpXHf֗E3AuK,MH/HNZL{F%H\SF0S&d sXk nG'eҌpm,!ә5v2)f sw/d!@PϪ=$d% H҈ņl8].:"9h5Y&9F$"`lM޹gvM<{Hr v1!:N`n #H$%zN6 8tDpӕ/^ jn~pqp`BnJ,6{ރFx TɒI\XӁ =|5l Fb6i)3ڸgE4|޹ȡ,L ȁ Ye!YZG'6꜋ 3rJA#hL*J<͔bP'X ~/CDoj00 K?oIhdߎj~ eCƘb ;vbh 9Ig{-0հi4ۈ=D_̐dHflGbBXX8!\p:>뮈P.NܑM0d1+)+Ӿ1 W9#*sUqVjVZխnE5j\dۗV= ihe|_QHQz6Oj:=TGEq5 %4 GmM0]CY=w8Lxe#":AЗs>B\Mjw*>|М-W> Au_:\C/]gQgխ۰ݠ Xrl|cc2gX+Wq|TnԌ2Ou6flg22R<6o3632vfCwR(d|xlj.71m~be#T ej{4(Ñx<72mQg[rM! N¯QF`P.CM ؁xG*u92Ԁ~QK`0 m؄ވ^*J $?4^k1aeΗQ%qSDȚb눺E$G#D0{ &`;nƣqGzz"KEP,K06J <4t6``#Lvj w UD`Ghsnv{Ʒm0`4H'W@EG|GIrl[f /*LX d3@6D`:pv18*Rt HSCdzf!Z)R Wi6C<:T6i"_AݛL9jZi U & bzf8:c0¥ |2HQpF-x $U8lv!*[j aa6~X Iή2 U`:tڒ@CflkB"fǧMEpHnǭNk J1Q,a@Gnj2PąSp >,o7Yg`~sH4Q<ܖ@D0=!^ʎ]ꎕ×IFZjixF058C#M!*̜Ml"E{غAWv %B:Zg""ficr6Yn 4eOh4k]oZXϴFrqT8ɮyPݺ/1ư{tNP&7A \"/<猱NN!74ڐS\t}hRO]g Cۂc_\(=k6D0C,Վ@Ҳf36Lt!2g!bX 66 @ c\#r%JtHHU0Eb&DH?-^G#ğڔ0B:àHRO=cu6|ZJv/+B:)@D!2JP Z8 *< +t@HAqX#1++Ƃ`CK0CaTIbLAam @KJDF Dҁ4abcҿuA@GI I޿6Qyֆnl{v`d XA??UUC'$xlf@29klt|+^ f-{^=_>U-;hbpWU}|ܒ-g#\0Tqȭ`)f1\\%Y' -d$WVU9#& 9BSH(v.e/ꪃ͔W3.=>" VBoikczgw\W3GN#h 7abyYrE<De.,a TE!+Otۡu|Q.EfSժ;*$ Vtރޑ+F`;qX8tQ:Lհ#7s}:+KkfWȖ6%T-Tε A j ShS_oۇێ<~"׽x#x4˴;coə{OrHw`A# +ґErmu!Tk95xYc :Ĥ4LqA{UZ)lS"ap0=캘ʭSŽcqO,$X~dÿe}H{Q^zc1tQ-)CpQѡ;H_4LXFSbϿsV7~L˰NH4+q !Z $Ѩ;ό掞B$}!Zq,uy L(*,8?]Qh.s"f̈%G5-&RӤ%ʚeKJ1!37j4QhQ^P[_߳9q[.{;ؾV OIad{1y:1p}ͤ>\woNE֘wa=ۻ.Hs2a TP8u8tΞ0OvV{4SF/F^Řӟ|Ϫ/p.UyOH3{ %?)T> ?R9*K 5{ m6*; RO"2fVm% p(^y=c|!S=I$Lg+4f^:2ᄃ݄oq$kK]7&U0/BلT$Y]UHUԤLʈ$Hgpyg}Xz;xn$sk(M"] u rSqQpW.װChq:u믂Ø^d=fѤxy lwMCd2"0}'x7:g\zklaֈS@2"#zl?މ-MJIHv|ui^=ۏZH6=-la"oY2i+#xr&* #ѳ:˴cځ H@%VW3y M.au`TT<fT?e nbx ѝQ\3]+gM90nHm%*PƩ!}#utT3fܔS֌{ &XϽȕ `j#Ӝqicӥ8aٰ&n;u.1K]Aqqw6Lא|Ē^`d1/U֒e6mq[^TH,doۋ¶EFI;B%~kR;ÂHXc[[#ZltۙSV.Ch;mEoUܜ)\nm h7Z:.!B>e>˫[eM7YfN1G˱!׾(M:#,|WќؿnBK@_|ݒ:gIvzBb~ d'%ސ\sUi ˧#MЩqjA;2xoK)B缿1ir~;Y'Xџѥp/]'Ȗ'bQ(L K4 q'tvLדιz_czjK @-F$Vӯ0 /`']>eY%mgh'}/s×$.z+mE ΣmSB3tx bvb>-p=@τ\{'|70(e~'YTmia0>6[e^ ;O[*܁Aaz ^kDCGD2ׅUlWS. QƲ$ЗZSWLWi32v -!Onrv/k$S01 IYrWg~ "I> 7#G p$%'Lpo`ATG9ʘ.yc x=u8D\}C1O|ǡM;4 J#vmIܱ+]HᏄOg;0 HؤFs{ ltj[BuY05 ]b$iKLq,//Ӟ13/v7lQj Jg3ʾIC9•Kʂ]{U,l ܖo a{8Y'݀4'ݔv&XCΘFaGwFZ:(v:%3?13qRp6= $Ԋa$2CJ^A4u2_z6V]C2kȖCpͅ7ʣ#9Lϯͦeͮ1V|Q[dzM_9&MR1Il؛krCUe \L.$;CIR];+T]S` {J:Ta$Cce&Od;`j2]JQ9~k+ Cѥ,q֟?6b#=~mn>qkZ16q<1%̏qdn7j>'x \␛-"qN WֳnF NVgbi_s?3XƱÙ)GNxJ靰W] 2DH Kdf܎uu=FI(s̩#9!LޛpLл f&59Ӝ̄Cė6~bm ɎikE\c~'d1ҍKXQHIX0.aE9O~tܗlxMз3"Wb͋ywQ_UɒНcr鲌i͉.'|zۗ?߻7z߻H{{?O$?ޏ&{コ{oK;xKx4۫ }y /}m!H^)E&z ?"h9mA]*^zxqv 6;N\~* &q;5(O;Mi Û"x?B+NrYΊViz{Zv*ĮON0vӂ`$NNt= TɮY _hܷ~?~[ ֏1O_;CxaK!`;tSf8S0Է*rexe ϲ `&X X4v=& KvP ް ȼEJ^# s.ۤY1:MAZ/㐒Cvi3oͿ2O* eW4 $||ECc!?va^T8람6 :0&8c;k)t pQ .4} ~S"AP4B!3)&Gƴ&Ὃ FbT̥d\73佋ѓ!. HDzP5F]>( ?KJʽ)3PYہR,$?:%GoM*~sJ3J& Y#8jKoaIƣz h:Au7&_뢌98WzcStg#!W 1\!eS09{ p7VKpOG\〿B<&I ~ljG Yd~ 7at'nď]AFtw6 P˛;ĶN ͣ,09Yez?kuXs h1CwFEkէr}z)ק V&XFVqU8 i&Xt ϸŞ7Y%VQ~[bU>U'K$_a31e'/!)!AC~#/޻WH? -18Ӵ-ͶuR6C*mUneHX{U7MG,~cj8l6q}Ƽ-qZobRMZ`=v{8$wwVг:XI t]z4^f}sTl &6 Nues=! qˣv8*#V¾^q|CN8p봓2@Ivz؛Q/Lvg[oOwyRxWf~3,w0RF6}R i|T1{-1 Khw2jqfPon'f54gVa+<st'+O{C]޾t<4-tO^,o!c=E-)1e =sg_4 8cQG2#v{a @D,xޫ3ruKUf/֝ȝ{djb:)w $ i%՛f鄚w+9]-!'qb^b;\mps"1_䍿j3:#|] DE>i:XSxc_ZuhpG|po FTQD{szH{T־ : @Ktki).^4]Yz9n>4Ug?4y|y/rO?z?YS-ϣ^ nKTc(qfN&PO F =o9[54 my>}1:sS7Us|=]lz:rlR12o9",,bu\UڛSؓBOXRwOj9jΠdو5r/,| NS:\͕c K ԟwzo&h:I䐙s]M:e&QD *CBlƩhҞoQXX\*C'U[-n8#Pottr=7Ax~i-eri(*%~8ɢ.V'j'ɱw4.}9ijWYZ&v[6qjG^҄+A4㖈dXFu$y> ̓"J 8ik?(/*2Apín7<_[kױ\=Hj\vJ6?\+9'| ЃE/ue]I5m2K_kEԤw1D)Q {\Di>&znA+ lEӢG a&_Q &)8/J=0#LiXhVUjvE38ټCi w+hZ!˹|ƉHL"nko#-~=+@wr .uTy*Xkmh,Rhg%&❾.6雕{"wfdl֥uaVZo LSc}82tw\ۘXq?&V%S(e,4Jt2D:|>ʚd89xHjnQEQ^7t7 ,oqP=:Qw5/TE2CL{ha4o#0֝oe/樤_LcϷܴCy)Ofkx<9i5T]6}·C]t+C4paSAIjmԪQ*HG*3)hOhΎ%\(*DO0<] /iiYL$uۙ-IP"g [W ɐ:ӌh[J_3k:Ԗ";ǝbcm62 UUz?"J4h!JXу׌TG@Ș6~ n  dUKc`K;.nE@Ư%Z;b}=Z-N; 4jA`bȧk%\4.2fhfN*![PA?.2a@, IiSr\f,)Wh cA5`N`eKv[i-l*S3>"(f /R1kVvp#axOm~Մ/  QCQj@,q55[Ls0%+MqLviphl_pn]-;7Ϫrҽsє#p4Nv0% +s,+;!tך8(/Ym2bnH:{sivuYJǼ4zUZ{*p% szޱ1 VoqW%< boKhk% $V#MuX: p9¯Nr֖D *Mb16C J&ޜUfUNjH6A\ktVx³L#`; s7-&MRa^4%BM?bnAq(ʅwKzBn]D5ocJA0~<˵'| w[T ۈܮ^9uc݋!utFʹ[93 .ӖvIӻ۰so_{SmDtv۽{)OtqXOkNJph3~0݇vqҹil_e,瓒@خkI8sNQ]vTl~=N|UKS0vziqi-vK)2j ^ZYYpZ(f"x`rP\<~tlEhYAJsZچqwSrz~M;KIOӮR+ᢹylj_d "Z#DӞRաʭk֨v` h͵եz{566E'n^Bcc4k?dOyՉ?__O'n%{KdT/p {Eد,w3,}Ɇ<`p2X+ܵE f~ 4p31${Jgny֙#gXlG3BuK)y.U+yfbLK|dukP[z><+ٺ}RB59^$K+[y// jHy(Ƀ֮_7e@ȋl |u:c22}h/npߵ G]Ӭ \aOY(ޞ|*QZ+kmHe-'ۆavx`Θvpj,>ݙ%%:ڗUu wt'm 90IoJeC戽S: pMBLJn 8WfBh<56cvDG251NsmyVvhB9]bTЙ Kיt*irRJ9QZ K+d'͗Khn0dfuPh~§Bx˂Att)&P(8]`gwE$tZ$LȬe qtTZ0ډ63DHyMZ<Z$Chk3ޅBz &;v 䬼y`YbW C,g@ C3nwP"%Ҷsm^Aqy`8"w햞`VMvOҭCIu 4֜'7{a)m녻+_5gm4D2ϼ9WP𦨮ϋ'~^Qf$!o^l5B:FdVlE)RDiՇĈbR ِ/u!IRꖬ Czp{VLG2rxҐvW@jRnv!dճDd|HV'gE vtcߣTn(kP dT J[ 쏦1-Hq O>Ņy{#frlYP>ۢ|ccN$KEwɁk6(ީ67!`G]ugY PN$XA&ڎff+TVAt`NX !ԙń,! HuH =])@ gQ-=5%1UފF?[tJLM!%`פ=3ф>9b׶"l D: ]J†'#fu夾͵6%l"C©= .p&< 7vEе*1oGbA8{ڲ`Pz1[ػkEWt]4Ow?zjR<F:NT{uqg&Y /24д)D("Dqr53$zۤ9B3P.@m'hm_fCM|"K3ciP{f1R+}e. nzRb mD 9;ɝ@  ^T4w"21hz)J,eu 4% &Ql[5J7athį=_]'2e4R ,9܂@$+,o]0&.s(GqfkDb9 ylFJR=q 0eJbA'߷篢dFgY&05Ăy "ȝƜ (pV)MM*4*h] !ym4XL~.HXYSͦ-a$Mփ3ѯxy"8< P0ߢrJxK+ֲ#b֙HM1:h Dj]s/J}SC)S+bseK6wӵvl)=L#iZ*ZRˡv'kvQ8fRBCp,yuv;X<"~:<;c罗}J%@O׮_쮲t0@)"܈IImOB:I9t;sȾ#'`D`p32 LPWjrWIiSdkU[Ϸ&ĜEj M(*Dp6&.^Qg8&˂ $TLʭJe:׍xRppU \wNX|*xV=A0D Ҋ ڳ m[P̉?QAvG1BW_O;߄vԢLtI#QyCHz=ďu݆Dz'N!s|L[yG+>SWNZiNOZSiJ$:bIf-s9:DɒC?eji^KT}V~ }J~#Yc)Rf5PcLk&fDJ|N[nPܺ{2"Xl1]mrt XB$Ŕ)sW4]N!UR2u;uߓq<_w+_pg;]PIcHdVpvm-asz{T{pn:3v% |T\k-]^w sք$6rK;Aa7{q4q4n$n.9.>P9$D7Vlf+2ОA7f!^۞uDDԺMr3JNd[`tk!uξ D1'2eȂV}sD]J,&sⶓ|'o0"ެL;+P`׸5Os|yW9 ТaȹB&XCܹ9n݋W&/ʾzai&if) S[qDC~N ՝=[ .t/.BkS+tN9GnMU++EHpQvsI"!'͊_F}jGPŨbsup.|!lz/6U`u{/z*S918HId+ܖ[]t[i^Z*IEr_7>GvEOp /G_nW(b?_qrf1NAkAޒ6W^ʑIi3!ܠ-χ/TL}*M 9q \5v¯%"^U%wG jHթ㼔TG ե5H*,LBWݎ$!*|*F5~Dvu\Nhg#-E' yQ&Uul%t̝4{2؎x'\%:^*f:Y;nӒ8F>A䬴W@=S&&:&ˆD!I)n``w)UܙW|yNgu Ifrh$GrYrmS#ET.H?JWi(<^Q8d̰`֚,~'ĪZ-O'(0^'XYAUܯlՁJ(t*BW%N+$XSDB)[gP)_=\@(`S>*0p̨ {YiUV{y"ֻVۄ>[arѾ[W1$`+5b=%\Y49殺&f~?îeN؂xKN h R/0PY:P%cuV!\mD No[o`թ3B'x 7M3?MT(3La7%f*#j]7:Hj2DmAg_grs4BNk]X9W҇Xds 8 1+̨ %%!lUg"^02AZb^V(bIR6@5|;eb[Zí"镳` Z?oT3YV]6wӜAWkt1ެ)>&~̼$naIN?uO+f|g9rquMNä#!KIs@fsI~G*<`=|>p{+ IVZ/spLJ [lv\=ѓw3X 1TZ̒6N9ta83\""8Tl[xHin#n}3ǸkcTԱ4Yvnljm3̐h0i(v:|>B]oq}I8i }~=GnJIF7)w]T=Zdcl -SUE.%"|E#ӜTWQwh8^N@U6`TZ)8 m?kJw5E~~ Ŕtk{*XLL,Svz c0ͫKJۏq ΘI],1mz҂7H5(m\'^◟8^e3Uu0|etV}_J/R] l2jct\kIېa[)[@$4cv?]4/Rˉ:SNLc?ؑ>HyC)V(ucNQg6~6TGU;x[ntI=å?t|XH#PG)&W}c{Rn4i!3vba=8T&TG~kֆi㵙v0gzl'ϜL٬ r>ǛnVZ`X\鴸`:`1؋&m|$JWkɉPt?%7lv( cNmA>MlX &)n_]ETq\mv 4lp!ڝWZ}՝klJe BjԱ_N8җ>ۺO̍78wwxy/t/ܸ@ߜX`vz4S4ʕܸzbB/tLr,p yn\gȦhY7'x;7޸tń^~^/jUݎs/{'@0tSk8U5hq heɍg 2v ;.c / |,o˸@1}N^ٵtw  OK,Y9DAݞ|ij'hwg6ȜhӃsyF;ͅ-F^5*RL>wͳ7}[N5|L/&!A9$!>./g yY Ӵ Tal,̛:dU2O/[h̩{ɀ3zˀÄ^qF:\Hx*8) +2p]Axpst9aQ-$A+2,mᢁr 0V|[̽Wh~A+ZO8K~G׳ ;HEWjpJ|O'i-]_`q2K\qyΈg?KeVfo?Ísz>Vg_tůۧ["vJXQӝmu*s|,WAcY+V攰gQ(楴SeQ)HY΅SWа/~^4q0A׻&27zшv0z o/)^ <E%1"< ',^}m;)AJfdyxjңK%14ڳ*n%Rr-ˊ*1Ա{.ӆyPDq}h/0#8hA5L)Yu91{XZ儅U(R\F3 {vbLѱ,4V #Bt+ ]-jWԌ٥HsJ8t ރRUts/EB!P:.hm}=α+{Cu ,ޞt%#6̕{ձ4r:htE95C/ eʥ',aP|ϵ41J7r7| \~ڹ;ho^^Eg9]sc0r@X(=V7ߗ3Nw&>sb yB_Hkb0 ϙ垗`u`=g]zS^sB!)|LK^jNBM\Tq~U m~Dw/YQ8w`zYD>sCaßoy [j0I`1")+%,j5<ωǤ잫7YLo`s8XY.l XG&&w+VQ?'DrBvEfftZ,\v.a.2,vxN~fyUԑY DW9R`OR-A,ls#1:I|Bٗ^ϰ\"X ygԈ"˫h .p=r-˚!)N8uWew.A9\z{BLD A^O '$A*TqѰS/U&$v|t6# QLkU Vͨj4q<-gM&6ED faѽ7ϑԇ$qAgd;,6#AsU_It;NI-g4Y5b[w8ԝ^8׸StÁ3|^!֋tϺ*r@/ dg19oQ*yγH)]UI׷V>cbXٜ$^֙QUaTÉWfىyn/'Lt.TFoM>2+ɿ] %E)}M^lկѫ" sݖYE L<%DAHĈ$W.Q㯪uY@g%P'cYheEFד42Ҿ׹j??B^笿A+̶ yx>r3cEAAk-*dP5"x>߸ıxR;T&X/7™DkܜxO䬛܀L;v{|gnWvvFl4۱CwwnH˾ GUݸ0v_xJNO5KF[|莾|`f;cwTrjTP^Tr:\ sUVޖ5#a eE7ZਘSyoY,O@W'ٔsBqՊ/pIXKsJ^!ݧUU߽j  #]dIRA,Xga#vv9rbVsѺaagI/=~֍-r5* B/:D=3{߾nmb z>5ҩgE jo^)Knt9ˌy.0 'tٔGϽߌҙ ,KTa~n芸hT5 ʑ|^*LM<̍+Fn.427ԛhqxgtο@"%Ƃ7x2\\.A$~~^0|^grvVXd` =J]_pصҞT &7{AWL~@}^]7ɋ"WR{J-,4z1ļƤBE/\ fٞދ40#nB7%▾4v3s1=gi~=heԃ+6Rכ&ۄ/_t T]bd?e2G goF{NJ@\T|1q.Y[s Gr}ƿ7\I׉HzGGsE,~'7L KHwA.136IALyPשuv`/M19ݜo*C0(8t Z[`*(%N0Lcq|wO FʹjZ߭;)7~sr[GMH&ٯn@ϋzOKcY^\wGǕ}V@n,ҭlEҶ?WHtn]{ֺ)3&f :21ͥNihg3Rz"Opvr3^CF0=;/L2U톹bo[{k>^fQynͷ=|f+DXºL6@7R}czgCR }G\E4)Ƀr;\抐*yuIRi(V}2iV=2+ଳͅGqV$~\&aI {dPC^jjMH=| 2\o}Orq,ovO[7Ľ}}ᶿ~q5GFO[=ۏnڵ.Y*'\ 8W*ozVeq\/{qǿ%~ȫ(|;^Jͤ҆oj*aIlV8tn۳}$m6͔7IUulI;L'|M}n۳Z6ȗ7e5۲Jdn"(Юn pRuV'NLޖ>9I$\ ]Wu9謻 =OO@ȦiR{o㓀s۞ǫh"O5A:.W髖T%mRCvj6q* ]fg-@rGkTFةſl} 49GOwq4YiW8o WSOr>t;;zqhZܛѬu:Ue{L8L@\hdyx P.hkVgpXk=kL#.k=}l?37Z'VV$wYo5}ݳ(&Y&VƬ]sڤgk_Fu+9 t]1?ܮ'vإ nڬЯ {:R#aD=[,oEE;!)h<|ms_RVޥB"~;WEuA*&kFC_[Id_I8v G4ٛ &9.&+~-x65A.[ϳ\C}O6jI1~< yfG)q47N Nu!=7t!NCα#{.$+dD/ Bk7A'"Gntoy@H=X py6~s౐BLdGؚ`S_wm . 3/#4/yh@|4}jGT) ʓBOj%yD5Y 5ʮ]_Q-;|O/<_鲜2sHYȪY+8}}  .O;PRwq"Y+M i` yc[+ ieL`8K# 6zID4.$ 467-|wVhhDeq0w,0ԑ>6ESF`P|8Ƙa,է\R. @E6V:D)D#RV: y2NiadNIHW kd_E њ1w]uqA8>*Sw-MOni*%W钑W$O5Hâ=۷`w:xLxhaZL07Nya'zl3 Le.k%Koe-X 47]vJpY#ޱiv4D&)fynVfϰt$?|R.M)O YqY\AD8z%c$BJy;LkF$VveE̸J棉iBN=IWbzoOMeZI^ũٸ2$R]M =^]jkjwK\wBuJ[lzeQ$!vW5 2EqvAtQ|KGx~l-w[rNjaBXw䣔D OG8qi B!G?F,-GPc5Zp6YxTӌ-<\d2YOk~%-b V5lY,qjmW^J dkfm15Z(spE-`սR7FMKW X (VCKM%7'×o6ɈL Bo+l,H4IZlk\Fy#&e@L"pcЬ0xg'3("4ݷt0Ǚ]Q imO,H_+T$a-AkI2M/v)u"T7M?HY$*tG7{;=ufKl5z7qC];{FZ-xp^a=- ʻ;mlDc-pP% I_`!6kA^ KH$L9I̋Nľ#! hxbVÁ,)/:|B7@♇7&v tDBֹۻ wi]G)ۿtmZ׍(ntҊ΋u+p0IyXL&0 0*! ?2ů:율gXJb#ɒ7Jڠ.I8Ie"mZӧcl𴏅׍F&fM~4S]gKKeCI$Ma0ڧc*,Egkwf'[R | d$#yNPM?&Kc搱%ϧdxny]lY:с]8k{SֲIW7iO "W͗4_|ɗ8DʝhD3'ADΎWs7a# m.g B9!kvdh èO$OF4&ڱqҊx}v_e#cnvLBkl=&[2"w'd(EVYx%@YkHhKt-#cY0>XflvDx/63oӜGadиsմ'C>n_MO{0F_ÞqW’ ^wd^6# 6~Ɓ>JZ ;FM2x$ޱFWͲ(װ/ī؊b )DIo7Rn~fz[wn7 ҎAbbv(nlY},>K7-6k<0\7YU m4.Po-{2~}He3&7x$FR6}((I[l~􏔸3I- \7Sc>9go%eMx[^jg.)  fߎZ-zeoP+u U‡GɊe B(#pOOP.48 |` Ei^惪0]=7x|[Υy7HIK[4UZ=8BW3mSdXźY0p d{$ %;yhI[ .ٵGKV5agkВ4YϫQ#&4l͉D^T46>ۜ!9L6 ^2wJԼ8ugrw Ny@%*iPGoqqE['-qly 49scC"`2Ql,YMp?L#qkځ^ޑ8?74]N%d}21 ፤DLv~:\1TzPleش% ȓ}v?~f<#8?)O& ¤~6-!+Q-%51! =gt iYp@+y׽wV2|R!&my5=c xÇXvv!meBj=8JV _,I~z +cD2#~EӜe;p.z[6X!]&Ho8sbl0 hr9#Ș=u@9 9I,K:I%b%_jT&#p|Үш%2:D.sK̐ODžI\|19\K!MC4ͮ3=b *g7Za ( P Bb=w؟>ʘs<ނEc4b'{4OPQփ緦9!3B#b (d}X<SP<2B:}DWT/Jg|3Fg5vڮpךH5] lA6[L\΄li)b50 Il8f~ m)SfÈN,'\cm UM|0 hVx(n+DY;wӺ+8OIDV`=),ddIgWEEu&L9?ٷoe3yɄ P>Y{289W ;Xt5sU3G?3ՑKrX*q9Chٓ’)F >(Iz -+ТNJe sRiMH]F"GIvr19i# eY0 $-9Ӌc\TqO6#TF%aDjlk,wd520e(ќ.)iE'܂", QHq8]8XtZ<t+jt6c0Mͅ0$!Mh5I%m@#l& )! +P 5uuKsw3%y8&t| y<|e,=h1n1gJnI2`a /6c?xHyd[ BB3!7*=*M,[ pTQoWI@$ݣ`zcHRc;rqLوT(,kJR՝iPliogeϴB0.*-f GԲ0vd)XjtfÜa*tU5\bw O|-3YlgX]6Q}OBt<5{ЬZ1O[^Fx@ջ=+ZDC}0IbLnw}kiˣ玵utꞫ.ʥUJ. tX8QQZ;k6 MۇE^F][7eW Ɓ~=#H0w{+DR31vIR.1(oٵ7vLFuّ|;FK]ΐ9j8R!4w8=TV &:K6JrTy=0rv֝O8H!nKPZ"i`0Fc ;K9RRvyKE,fQJ. 2<' 4riBLU#䍱ŽR6╧& ȣ^4Tt4s9:a-1٢NݰzW5[25g 1IJX'K> ޝ:>B6z  ,l86㒌XN>okM=:)QD١4U?.ū6A8`AynXe* *Лs|o9ƫ'w ìw"Ys^&_˃P꙯7=r[IϏ")5GX)K@L}9 (s3F=QT4Qp43Qd9g~PĘ-tA#lW g,\tf"l1 D\@:֡Bӱ= (G2,8yZRۓ I^*t瘔 jm̒j*Unk{[;Ic%Yh='^6EgTGuG,|gDy6V𤠧Z7x7|J"qc#x ZǸJbrwY_&!)MIRPe%ڸLYGwQ&N!)竢 /x 0t8}HX:/0׵nQ(/REoZuhSs%U$Wuzg ч,sכnr9: ']GRKi'DԎ ;jS)#c!\BfI:}k{v[8T3ZPfBm&N}ۑA(^ ɝɁ~Ij 2̦4A"0L>ܺM$^b3hmR `iNxRU0HCʶQ u,=|%12ED8Qp7;-oNc|:{ aZT ;ZUԽ(LUBzܟXuT_: fa؋9y9LS`X55NUQs]P&E<6a,Kqӵ<۔:Ki1/_WjԭI߀A-*߃HY[L֩`Q?hyG:+`Jr7 !XؤΜU,G!`ur*E3SWIZK} h(^!Db^ TSI; V[U&dBeU XǝZ@CMyqEgmi_+%D{Rcxj+s\!.H-+S, d Uk^A%F>o#v[</A*3MmD֥ M &T J eSǺ4+0cRESw0k {NgZ ^%.ȹ)V[=bq.a r"z'ǻt A6|Up6 - Uk |+gp ;ll(?ޥ[>m-k$I36%DϿqlkRknzK[[q~hah^8ğoM6MP?g^Y3l !%E Sp@la_|8c{40ldhؕhEpHh-a $X[d݀^k(Y`̬#c1]5o%w{9PmK/EP)غҢn5(XS+nj: ",n}!5 Wm?$}lfm(+i귖ʒ[l{r5zsЅmGj4+%;1a˩ tUOo![E+qCu€MsUaP/iˮh*w^̮sܽiR?oKU/Z8\}p?\#?Fo=GgN+jxkFN]?xQ[CxbOPy(~L7KS87ù>f~{{ԥN#dz~7sN_+[?x|OU>{@S8(:GY^ =?}q` L/): 'Ly, O\Xth;=@Jq./?OO˴'h=?z}R#{,>RF|~ï~3~EqF^Zm `ݫЕD}~~p,o@E7w;FR?}to )]?2 yYL|Z i_9wnw? xOv0~|>^ߜge~ӏpNK L3d~:dп3>xiMxn =Kȋa¦9%)I=Ϋf"C  zG_7?z=19tyPUk4!.j _9efᏟ1"@ӧqhB}n[N/7Okx 5iE$I<~xpGW^c/7K"o0,KC%&m%F_(N1ѷ^PчOL${O?W36d.=W 1epQ +cC03, p$>yVhiQ_~$JsL0Jo3 ,<z~חsoǫhv<GI!iX^x;Tm-*S/:_$<7PFX@DyGKؓ͆L6jCUW.vkubUȑXQ/O)xuݣ*έҟj1 ι9X,AsG_y2@FaiH?\mo}zeHzm3urT3n(x8hƸѳ|I!EHT\`nOݞ9iQw#k2h{SgD%=4_]ߌ&'ȮN)gx)Zvp2= 3xWe/WRݯC >g{_ǟсu..W?`:1VsѧuynpykNX8c;*c,8]AW_ьg-^9kFBX7{$r#8s?O/|n{mZ]޼zj>M}abr4mq3a>mLq!R[?x6O*ݫ<ɧ_N)'m:-Υ'KH-~i'(S:!ν1udpICmT~~/:9 u%\y\{;_+3o;OuiU6LV̭s },J+ȑۗgdB IZ gj(Y ECc%;e4a6<^]r[p9L:p|Y%6Y6Ak}UH nĒy: ak]HBf4Qi㚏,K+j˩Ӗ7E![ oytLtFp3'Ѡ_!~ UA,GJV$yժ[#*Ƚk@*XVF^MyTtGFBBkx_ #ZOܮMl|ܤ;<4!"wEH?EVU9F[G H3W:p1@YL ˓5wͳyDMHdHK$@%oSƔR(`SʫfL[`H2QiF "jU8mCubu P,{hFiFF$&9_gɁƂ@Ad2 @;d";ֺq^ 2/(\= #MGt?NR\~ "p/ 3!R$T,UZIL!EbfYua _n4U< '"ū^Ko$2|x[<&Q9P;G0wSFQ _Rd"x|{bJ:RVgImmeVqH4o\a%0\l2Уz"rVƽLM'k(3ӻrd m!L*VmÑm\ @q4VHX,e!u5Η\ͨ2\B ЬGS얺]]IYZOL}\Y6*ID ];`1-8J뛻ߤ*KJH]M9mZ{,Ki>" $tٱx;Dgy%oSum=Yjq0vaٔi.rj[L5 .74:}2 NS=Vjv;k6iXc#8`WnSla`1:dC/S/yFx;Ä/c6VnJaFh}ti䷠b}WOySЪIƵn:;v@= }<5n䥡TB 7Rf$:z9K\%9|X:q'߷zۧW AeHx{hȿE*#$He<2cE:ഞ&M:@Re^q )xdI|~mO> =r- $}i麅M}gW*@$:'0Vbo?M>NhNwPnqg#:4GM,6B9_:-U>}=7LkFTxbתdZ*\3|ی' )zĘZb9 CA'Or }4 PuN463,&Rh(jd?LɏUjLZ+g׊HSk1x TPFn8AB$+"ݑg :Z9J-N(cY D~ ݸlJ 3&Ÿ[P42FŬmFr %6x›#C$6\(y2#[_%f6dqYPnl_XʁcIS !@b5_"Kw&Sv.^Kpdv r0 UT9i''I^]LL8t_Nwox IH Z9ʆM:BDanDG*hKqҵhpn:y?۽8Ǘi3m˂TӐnP1R4 * J( |rꄓLz163| @`\ʨ`iQPӣ*04TŊ* [7 Ȫ5\[D aA87hכDYpP.O3VD; րN>uK̠p _d6!M@c#&o5xkY/p@8cǰ8)0dk {c`T[~ `~A ߆UC 9" d x Q߻ڱpŎi3pBfY"G\}^?6Z0-aQ2ġCVB w{,*cV]ߤ;1lgsFgXE2s* ܞ܍$:GxFȅhzӖ ڴcU}W녃wD kw R(:LFr<јn~dOw)4_C(YaxAef# I!E6Hg}7gvɕVIez!]Qu %F]pUHc|HK]9}brTK%AE묭ٍĤXrM0kc4=D%<z9n>kXrwnRkApZcsO|utIuDR5S,αN6HMޘ,!hP1kz(վUk{`}oL;9n<}X N9V{&e~'nH\#Ș❄h:):5i[r!k^kCGfI<@|1\w(]-e +-+ICUZ@ˢ!>tWDdJ|*x#ZOas½@=Wi_A{ERWlH^k}z | hV50SК?d/#YwsJB|W9Hyh8?' %6q\$L9W Q֯T"7xvn_LˊwYs8gVYO\O4m qF]K Ѡ984t:3n{It [&.p崣˅ iyRs(q`@ ItᤦKF90A4TI<3RRA8cL"(gd3 5#ᇻ#"*E*򾳢'+$8Ԯ7بY:nn5d lJb®yL1uUlOl3ZkO4(ٖ=$m> !OePⶤI+=N,VD~|%J 9[4,|GrtIyR{uʷL6K\YS `"G<<&UTac};bcZ6:X/H귽5,:L`;Ƿ#Gɇ逊XVx&K>^yʚ8$=`p! @'ḬyLWg`1ZTEnMl z=1cSqK|H(F2 b.SF)dV z/.cdD}} {FHg97QE l:G |zbjsyW~ )TԹFS%k%c^!ړWR`2Bܚ[+$ C ]EX3 \8%D{uF',ͯ7t>OLj 9a `εs}) 0Msdg=/od;Uc@_ 1d~܆_ /FEJmCcNeP5c+8E'W kK2')sE E2NQ~q a9*7\/sf )^jܸH獨5xl"]}#^UktC968h9A^6%%Di rMyLy1s&)ԮN |9eCr.E>j}%Tn@ORWIFSvha_O87 >_lqe5 kM_ˋg$~y*zDܝ+1T"᱃L4=tb/>fy¹xvV&N]i!}Ah_"L΂D%QB:qxu i7UiC8i^eUS >"&0 a%=@4vq'gqaXs΂W[%̯tf ^mɧ+$e-J8,?*|$a,&*@rX%pla{ׅwcqMm GxD9 1Ļ i%W#6Zr$T5<%uOlb)[NSE]hSe_f#Fy7)ZFŬX|qZuVoPN(&<^öڹ/7R&"5QZ-Z}C,ANIz:ApIԧqKt }v+#Nx X2e׳İGaP&@R$B2r?t&me3JZ0m랉Mjr"Ѝp_=,RX{K1u7G\YϠbYh7wJ0S|m+~ kȚuZT&5qvv ؄- 'U*9odXWk1{&.3=+M(,v>x$ dt%ֻvׯfL+N$h.ޏ}sɞHA7| ɇi I=A 2;8p˩Ѩdǚ˄Cˋa+ nD8wTk<۪,/Nt2ḛŏ꙯hCVHʴOMzM7 DO%pYJBkiKQ9:Zwܻζ܁bq.}Λo*Kჟl׿◾%u?7$=`m%Uh:+"_ˌj܅H$QL7j<+rb΋є>W.iԣCiqZϖ[aUl775LfX;[NVk/("csjZK " Yl0I{OFS>Np?p.L6~&,q6RE½.G[NV[M2m }dk^7Lk$92dWFCn[ƛBnI@'ihXǝD"jGm =oVU}E!3-|\'!"}b`O2Y9/-cQsSEn}#.P@9k3hȹ੹oE!\~4TL|-"ŇH2ٷ6:-G]j0V}lXͣyf a{N&2hVO@`1o4`;Vv\E42qq̈@* [o+%UxdVB~vj.Z$`Ÿbd.<+[0jʲvG(H ; /p3;{nUی(*i:]n]\ٰ-66  H^pޢBzL1+ԭ|%&d^+-V-|yHfiO봱]&~7fB;*l6L؜$v|;n9g(,~Ucoq^{,E3nwfkb"t^퓘ضޑb< KlO|Mkr^qÒA41,a"aʼn竛(r7RԷSs>ۺ1.ӪQyZ g$OPsCyGz"/e,j>43S}ɻtټM>-4U r&L:{]#Rz^[Ԯљ75p?5rPq7%ԉrkMU/$JXBx/ӖѠX?/\xQĭ:PZX"ke U_Kюf[ړ@ T6xhk=U3!Ebt40n&*m ]bW̰ۏ꽬˷ɍECtIuJ\nB>Ө~!N?ʢY$l%n˵u\=]% ɻeR7\ue^Xk/Ь!Xͺ֗mz/ݞfVD[+QŬEYc <欬 Kܸh#\66ZJ|[fw71ߞ~Rb%лěq48FmdMXYOC֎#FzB<2 yW2Nf,L T31LEbaA \P4/E9aNMdjɎ2Sr1j՞5 ;fwPP"AX2\Ke $mܔ$cp*Lh @8gf}KhgG :F.t"AWw}8|O}H^N/dM }`j 9bV5y WՀ0 jOHˏ%vIwI,7v[:S|@Z *WN6W0!Ӌ̪9Yu"j٭oUM%4 {B@Մz/TEOBR.Cv RIBefz.(R,Y{GlmM>C+5AP{eD<`ݠ2}xT G\GEswG:~%_ū5F4PhNr /,mT]7+\hHG @h[M[A&p9Sq̫wlAMfzQŋT$k)D2.)H Н< WC~ <ʆrZA6bRZpDC؎8)DLa$KLq1]3,v^v0o-k3SoӵF, ViDzɌUS= @eMa(ЁRH$SLہhcdtah/N0v1q  !W#s챡uGZFR3 ~zrVrTqnU _Q &Dէi7KvO,ۨH>`M#2}JE\#"`'N7Ty)Bѳ~<g'{Ia'_uz9t (+UQm7|0Mdhӽ$DG<2ny^;{ K_C&̇Kݖz_2I,uq&t_z~zN4*?jc,ҺSOΙ0QO޼C l7P}S~ 1<$:H&f˄rqzzЅ tcdUVc * 7g%= n2Z)tN ]i:$)k,aW:db+~O+fE ܁vPIW0H[ޚ:Ot:޸ !<#}ac ^KXW9ٺ|YvF6=iFweb=8Np^7x죝r,Gz[!Brp,-iW$2҅ԋ~> D4cde2TáhKl xE6$;x͜qejY$gn["hΓSHYiGZssMwcU=ٵSV= e` ILr9K ]KpZi R>rB+0j5Z? qF7e._fctWh}ҽ[l,YM!2J W./؍\s0 |g1>'*p( s#uMWKe3[g8SklE<#}m')ZLށ܅v2l'/x"fOt(?.\rHCR4g6hEXs Sv.&+F]%J&t0qD$R uG ;?Gn;A]ɻB\ҥUz~:KKJ թh!ߪ//_=։e`~:׉ooĪ:-\-c_Z#U?oYe+Nе5Coթ 2.ǁ&Ğ1mB "aAvct/,޺xsۭo/7smmw;}MN/v_/l?{-l{+w֒sZˤ>Y"tJ"Ogg,HۤaS37'˓) y7W7SyNrR7zӤ鰜o?hҚtRV7;l?V0܄L~vQJPإXӷm;N& I$5T۳:_Mu^ &-l&Ҳ?3iVwk~Jv-XUPKR5|y56*7|1=I>Weo5iC ء|tVӦl$/) )&vB$nGA"KtcARS~]ƓMj.d-ަ9%]QҺ<.Ghj)R*Kۡ 6Qdre`M~$Ӻ#9Z4w÷Mqr_o@\{w'kT־ӡ"< 㾹$s. V;g&/XD<]퀣x%[_%< ȚUgW>dž ~qGh"[]LbIXEd'l%$[o&pVc]˼rhW%y^0BFXo&Sb6{&LM]lݮ-){-f"ܹ$$-h;C;,9YS|'<[Mo^f7Gٳk4ck9mGվK2[(,~w6,Hh)l`K·+ L""QOnX'EJʷ f4أEPkyҵd^!kbXnGm4PgnmIe=:ɘeӄn絒k hĝ7|EAˁ=q z }>AGۓa'S*IM| 0a~/۷Q|Zz; R* AH :8%GfSm` hT $XфoI rN hl =Ke DuLz<G/ܡWwǫk{%54xg*_'q0mۤ&a">8YX݌_k'׈сp|!1%l,V&_ -.W>v^>ueWՙdFbܨ7qΐ /& ɺ_dNnLS`PecwreM_jWlugR =k4r0@$,X@ t]S81HLx9)h`-iJlE+<ܯ4<!AHݕKIЬ5ኩg@g8&VVH7 $FQi' 1 ;H{LX9=CӿI~ʱL+}k+i+Wv{9 V紁cޣF\]Ӛ<;sOKxDGjA2vL #\nR*iMi u*_4]І:vdN>U9IuD:UkN !H_k$&9O @cAtH:s᱐l||a3%7wкa3k.Uf^N'uiGYo.:e1耊=%51+kڗ[˄ ,yU<57Y9zPb(zCwwUY*C{T2DbL4ʵ*4 ]yGr?dn|'t^EݳyڝI0aݳrs|ڸzi![(j,\O=+4Y^#c+h& :tJ|P$iT:<,m$֡Nzj~>v3kKt-ݳ 6yt;'rV9=ArPo҂2 3&h=~$2g܅V7`3gQOBq:@P jrz\(kdp~؀mЍ1};3<2[j)C[fSܪUŘ{ǃUw0| ;[ŋR<)Iݐ"a6"|HV![ID%;?+fg8]¿T-m铀6M72JnRVve;E 7_˭ 8<Sh{ 4ߜ,)t7p14vaɐk6X&cE*1g N=IXl w7ӯԙ˵2a*OEX%,d$k]ɘ -R+s$G (-.܍}5 eup<(Rg'ZɷO5AstUZ y$I푼 :ch^ᚗDX7/9q'sۗncR^$GG9Ii-1fwd - Kؽe4ػS)S^V6ja!K ˧;z%vH.Sȕ ǢI9UD8pu|=GlaJ-$5SѳNzzh;2ysh4٫w a0a;'oFܬ3t0'CB.[\W9Z="QS )=ZdJK w%MvHtK@}P[c߆8%JkI%]Ln/?&%8Vni[YUf^iA]mtNOi6GA:Im L.4Q7K YMNF2ai=oȈ?<0YX[YfĚńKǟny50&ǶWb^&[k?13W  # -ɫzDaD mRhVK_zo3p*pk[Ry`+6ڄt5b.+H\ 2@LX8J@7Fv@4pzPTN;,dKiR{<ƠLMg1Ckh(F0đ@ZSNV.57x)h`7/N^~ÙިdIOMJbtE6IL0hv8l-_ʈ4Pp͡dc]MWULV $×;I];ŽNE>7V0o"k -*,X,ѻ]=br<.i"g.j4r-PX4r:mgWM"sI"5"j慍Bidr M2W~`D'V;UՁ:-g%'4E:kEbծ!kXf$i 4,xa *w5+;mrF|Iyfxb*#@OZ}\B28Wh@PFdL2\bo ,yR:b1KB1~Vd6LCmN$Ō\R7nt\w1qҚUa̡ʸ&b(Ac_v/=lVsQaLҦGG:8.- wAig/]Dxb k(VVξm,Ĭ)ܿOڃDǘ#|TLFvA8rIUrai04(|"$ʐ@$l)uڹ|4ÛO=uK:]cDNy:j(~'Gdg)Z'hM;jɒ"-ɻO|t\\kܟ#{]6Զ3C\AB@K눅Wzr-}|~eKgW;vԻhȝsVSd(" %jvvVK9l%Bl&S;TP:Jc.o\]A(sBgTPu*!IqvYlvsvho"0w~t< }q(B2ᄓ:YMth3R|5aOJqMʜf&)rzfR vҟ~\_dᇍ "ZO{=x$"9XaȬa[ ~ i ubB]U  OSoIªh8J,q|R{If"1ډ|#-KY"P;J1,yYerLbR8e 0`jtm=33Fm:N,=/6MP_ը]ݙ 8!tp$ ehc K}XZ&ZW0YDzo)я{3V9Fe2׹#{м ='CNݴut vpzPqCJu~ʧqe"Pɥ|ձ}zeڰbNh+q3"{J!m`uW`ܭf@-LpxX^Jg.f\vW zL蒜TEʪ~.Я{ "K6ŃH:I߂{x&*ϥBV|߾O?z?f'"wp*=&Wnܜ؍6ۤNm7"?o MRUSSB>$ӬNW-u~H؆K6yیl^ژn`V*SxbxiNldr8(,&yY~=0!)5.njX~pC;0dn&@D6:3#sic#*y=+RK8Y^䄧/.TZvUHu.Ax1:sc (}O&k-t̩\pA/sF)2N[= "vJ^4A8M'bPHwɭ_cRXU.3!Њq[a3Ӗl`( sAQICF)YU՜GKM-96I"\&YNW;Ñ5`.X2;ߜtDS?]"v%d,[$P.&Usb}PVQ-0la*ȃ6Cqs˜2%*!yYdz!Svy6?6IK6o&[߿Ǟv9uw -yS\9ݛJֻRAnX9`( ,xsܜFK&_/(sZL!՜<.GB߰<@vp8 ^kM:zp4LTIGj'a}q. ,LZf@d鵄 \@i!XA`^;k0T~gz\6QH(L;V"~wG5ɧ´n7,WdifOJ!kT+<. ˊs ȫ ?}t|>vQrf{* G,8ހC1kkxT[$Y /zN,1 u^ յMqPY/a*Jgm`L@l"fѠ%#2\(~.-\T@=k0wړHuW&/4,YT_>O>͛7io8DmfR[$s)򐗺=܌DJVc'a0wpn$=̜BłSy:#U\i]Up2%藥frJ2iF :qe,"(Ʊq p"J:ȵXD,Oث(kDGN JmqhFle=h:[Y3Xؙ9)dkaH YO}'!ֿbۧ?̗Jw^H;owsg=|kkzwO7?y;Ͻ}wL/yLRRdE}I(w~Λy䝟&4[G;o,&Hc~} Ow~K+zM+{ Swo?? 0;EDR䚚63):k~_%>"h$@7X[>+w5 (v8r'to;gzNWHbM(!/ w9F-Zϯ1q" yv|-kV 8K2} R2yoZ0#&|%aiio$<wa^ۯk6@t~yȿ[ϴw%" H_?EaIux d(c(:YX/*@8`G!Bfƨ2A4˓46Oێ\Z n%ajLdXLax'ygYU g/DŀΆSш5?8D+x!dcW<+HOP$ L&u},ƹ$!X'h[OT a V,go0,Ⱦ|S<!rቀɢֻ.zҟ8E^I_Z,;Q.eVp&feWMIl HU 7HzD淮w34sbx[Ċڡ-ыASwx28Nw~3·~xX]_alJ*n̋S<ϡjuŚtH 68>QI tY71zcJU}m̜TN}-=y|D_c3Ug Dg^p@O㷌aR8]J#1X>_?7 ǑK/ؠc{u=wɞ:{>(gMS5pߢ_UK'I,G\Ą$ YiPkQ`TMRkyUSfp;iNSqTW8k(IIulql~blmC~`iKRIUjx-.!K&I&2<c۬5_x }9:ݒeCi&X>}g}ʧ3er$$Yn3Bz p rFKa4fkD(U?,I)KTB=0x>gJۻ|8(j PqDuWe81a>xDuƄ*ax;vdMPu@ z/,Nr}GȊQd??O_VY. Ctg4B(6Ւ.z1J֕Wa^r'lCa{x6; e. p>۟M7M3< W.l7K=e[Y(SKtT]e>%l}<\ L ?% = ^l 1Wyv~$N-w z&ZSҗG$RhD*YQl#hw XU6J|5H4!JBm8MK,4t` {_$'4˂,gfʚL *xIHkN ć6/~z[ڏ"Nd؏ bHThg\}aEO%vWpiJM{ 8,`^ ^ƋqY sC/kX ytyߚ0B@ƽi6 ȳ[m[FL6sھ/\*a -^\[Vd%(;yiF~G"\f Gn筚~[#><d*`k5䡞R7+(=[ {2VI(YY2hA[^7˄YB*x"-n%-}͟GJ#.@j:6;YĀ_TUel'aY * =`W6`E;et# Ht$\ӭ DD!yyY]&#G/M!bd>./j XDʥ$O4.r6i)9Qk%NxkWN漥~䵯_Gi&}&Qۛ∃OݗIq^)gRX3(.Z=.*|Y:(O_瓬% Ok ]C+uHk0+; E ל\85}mq*/NgyP; ԀdQ}CHڥkNG>=(+;c+uǛds 췴X"eۄ1f x )+Sʤ,Mv'!2h*W'svՌHup\wuKnkWP*v.ے MQw̃KAxor){V%c]; chy d|H@4X^&;o9ޱva%8iB1xL kQItvX u%fkdI;m§2zi 8RiVhmx)l]+#Ú{R/ "w8$⦀@~rc CnFF;oEZWhʄ[2f.$J\߯4-+6;*]Yck:H2Ghyb1r*jh7]M`IA7:C9 Wtx>5]颓Fhp݊[9>uTy ]?8My45r*nZVVFiQrSxFkJ)]m`RJ@s*xOU GC۵@G6dކ̫fVPfԇٕKm*Zp ƨ0bIMM7*Hi3RٵV(|75X pR@ԲTO`%pS)<#@ &K2Jd_x^Wx77TM4[@M׺,X"Dfߐ籠: hne_s5ڌh)Óy`.RӀ6[@t̙P$݌v+@R^q1j󺕺R0//#{)3J ~'ݬ%D ࢙Lh$ <.Eҕ#RݿNk$Ƚ]#x.ffR^j_4Ө|9o4n+!_uP֑P='Sqɢx|/Ee_׎C|q)/ 4ѦQoFbIPlߦ5P7Del.;8NqLNjmb3X^݊YbK*D,Ԃ5'TMݴ[>c wFlݸpotrb]b/qw,D,ܜ?mۓ@m Uzkro޺#3Ec;E6|Z#@(Va_Ve-$ڽf*z3{Oٓvg9k#z-` Ch Wd(%ZnJ[//IOuꝬ;=DrI#_y6~hfff'u9XfaW|촹 ДV$Ќnwu55b|̲4rHM'{sy\p,5 FNj- l?.ݣRr9{n'Op!c ),>(P.˱.:sqsWJ(7.P?jK4z\ȫyvr9CO2Ǿs \}*KUD!J`V⩗,״p׮yRO_|ߕ' 6uq>Cx}5 MkqV z%2μrYxz5(XHl w/@)F%Ó뵏Nh(?k(')q6N'g^0 VT5:a ;2Rp!@*v;Bd"] `ko*y!m:^ KO@BYԥTt\.D Ua+_rY|ܰl6;o?Z^0V9; Lr1/ܨq*,YCTKiSp% r14} ̼]mfyͤ _|5s {6$9877mByF3'㖹yr<식z]'K'`oxRR#VB/+wHr}'vO;<Ͻ;L>鉶}­21;X$́mX0OAUȓj Br`; VH&F<]*\5Cf A_ pK*ѫ^]R9ZyKL&nA01~uĶD `qL#d7B:k䱓xOK*(yUh]ar ?\v]mwT=l+vƋMm  ͏兩o /uJciH Wϓ|V&|FTw?.)ڌy];2mՊ8bЅKvձ1v<⋛{kn79^y=O35~= D;jH#?Ro ibP8Cy0ktV =S`"B1L@)L0\z-TE<#a#2+@)\͎T $8)JVqNR!Ts ai:aS ˨ZrA!1?I{k#q^f{AMF eiZ <*1y5ԸPutF'ffFS=/g=̗ohsE%v!U/Y.r3;w8^ p!u>ȼ=dc^~Ƚ6zҼx={g}b9~nՏ11|i7띅1?{~>>>9]kb䮻{]{]v7?]rg=0r=9Ju<[Z!aw"[s^t;ٰGE-VփYKiRdiXDA.FA'[}u9m`ȹN7ggV.wr^-Wt _U1 W+'9.HAN]6ѨmȺtV|5j6qRJqlU㎂啅Mdp0B.l|K-p>fd,CI)k`x_IT ҥ,j?/f0_.MLnk``/_۞D;vDALh 5_}7Z6(H__ s6.V_V`rj^ sbS.+6`)5=yHZnQM꫍4aQsHU貳ac 6Y ,,_!nA#Ed܇h8\uRϗO/Gy ^kB5pƳ]X HPm娅7QZ&e_@/L5N`׃[K3w DaԜ@͉`Ђ [EM,Gf= 8b}+KAdcw+kL1G`ЊJdA6lqtM},ʫ4?ưaB#Jt"f0ͳ+N(B+Ǫag2I5XqѸ-?| T&a@vG-=⚬rUs.̆w:_9/R@:&RT5XtA.:K˫}"0 9i@eXH껳iŨUGX̣AVA?ӨW_ղ`)el$nKF]TAB+mw_E}jK#N@ӱj kt6³8IRCd%J#qrAo/x{~"Cm YD]2ڰlqaDŽ)DfC$D2r!)OB/m#,+\ ܖ!9)^Sx%\@od˾Ԁ&h E\[JAUU/Qy^"B 6`k$?dM AtA~8-7y5@EyHB&LצmyI;n-XtvU.V` )Lk#0P^5A` "-X),쳰P恊 hLH?xw|P#`'mBҢDCa6Up,:c˝-"b#'p΂Գaz. >{A~b,jZsjnX!Js`o @c'- d 1Ê=G/i-ΠXBpAQsA\<2dGѦ/*JmB+ Py()bWt⇲E0BAVj ݋+JOhpe8h1ruVrcƅ!>$4Ea Wϩn=0C(D}' -s\1hA1|u\CZf3_ }28vVx~ z*W Q=ؾ~!wɃ-}ͺz㴱<B"Xo,Eκؾ8ѝo40_gMo (1on8p%pOyE]NΥoh^pNJ~Wn㸡ifmAQ&'1r4ד5Wuխb+'|~3.ׂ.?|z/Oʳ5p¶ҳȕ?MǗӀ";X E5}Iǣ'/.UPUj `@Eĕr9P ʆ}"'} r(,bT${| RYuJy9LdKhиn (]y?ѕnxWFj/՝up!Fa ?|_8@ƴB 5ǔ-d=%@Y2쇯9^yWMpJcK0-``e k핒=.$Z T
 cF~pmvT×6t̖WofBd3իk,4PLĨI8Ӡ:-%[6?n=964bK#o Zͮ* vDu0(ˁSN+aiTߧVl7&NŧEtx)nbRJ;d6hX Ǜi޲rڱ2q+6t6p]F.Bԃot(2`e [lp`H(6v ^R% z+KJ! 1*p/g!*ǬT*+"*sM챪]{BX:Wq&`iDful-T a)js c5tl=[a}l,5s-߽y6T࿦18."c`Ӵ RD-gbpa|hFc#VRߨ%;Jn9/k% LV`n{6J5@3g b605{m@3պ pƵ4K2:J"5:NJ49MU9( IqXJ08!+=Jd֢A:/-cxxT,hɍ an7Nggh#N=$l:RJѴW#PI1[4@ ^D 5+ߠS ,<cdQ8M)Vl_KX}|8 :q2mjF-鴂-3&i;>!08=!HذdM#[AW?1>149U8-vhC }h,̧iflqv-pii:=dXF i #0S1f3~울{r {~l/"WghxD>&,faM3CxsH`HOɘRH٘<A ngAF[I8;aՂ."vpKκKzRG"^f\/0qvia(um21cEQ B|mB0 MԯZ" :l{QNC *^0I7.*.$nkAɦk /Rz.Hh#D.c xQFu`tnr/0v Ѽ`i0y \f!/ kQCrUm^9M" i6 9hxۍ1b(E:lj:ʗyjגԗh̗|"LW`4W5 MVj:pъyц#=t)b!w/̋yŸ)bpDX.j2.iB(ݽ= "a:pk%z M3zKeEHUNNE23 & ,W#9x\k5-8BZ?5Ȼ ]y-Z^T xWZq頩"!!Rd!e+vG pDt%؃E;ƦIA-#{%],}4=»N.U9 >™ ö>,Id+$l{9*.̢lYܾ</X)*;"X]\u[eĄ*_Y}-bR>qVN9(J&2V8=mv<]&;ীenËwY|6< Y,:3l4أf}=Ǯ@sA!d8dz"F&|.FqOԹA>sXtތ3XLhAڸ"dHF#rB,.="sHD%r5!s[!TI?X^ kKq̻%뼜Էq ]"LPΛFSlڨHm%f$QӾ{nn.ⱃG+ljЦc>@>>wYorSPD?G:!Adg31lh~=K#փC1p$O5]*Ge)ň.Qþ_cu6EO>n % ;W_HqPN',Xx[@- 3{+*ඛg46c L{4EqPSݎ aMo`7 ٙR S6vѫa CCC8t0DCi RamHӳNrd9MSKfwZټD6<뙡ƆU$i4}!<ŰnKߺ(Peyِ d}g"+#7R-0bx-,6Z@><%Kl& ]$-x<`;ncfu2.?ܜׂtrX"E8I ;i%ŋ{rdGA4YIt:r݂kܢs63P {O%CFCjSaz.gJb> ǃu BUc~ n(pΚ)2(7mO%6ETrjFF &6Xco0@,w5o]Q2:E-vMH>N_^Ip-oћ, y=<۷3$B,ʻPIU>p9TJ\t Ŷ,2|9pћ 9=%EE1]'"9@Z wZhTċNW{@eD=~EHx: (9l%VDWC\St|br&R[Xr6Q﫲X"qfVNV4=D@~l-kj=c|*PtȡvbSpLW.xݴrY¥+}4!&e* RJs~=qPW]o#pTgiCK5aT:vs4cn"σ~hiSM{bfQLcWFD(E!({$] y:6l8s2; "eI !) LeJ[q ||s{6Kwm2)EYd0Fek1 @ahmגe_ QXgF脴?eyۅ^y X;-O t>rN+3\^)>)'x(ƸOi@~_;Avb9J0:#\0[2Ul@ɽ퐋M{&vYص&wOOO):1'NK֗gK-a<ߑߍݜLk#V˳n/8/Ϝ:|if-͛o/3X]9rn[_ͨ'~vpA4y$!÷VlR&H "sxɨ9<0 c&u'Kڍ[Dy 2|]5QrI(xQh dw"j,M#S]}3o1%l (BL`~3pZ<(Vk~dږE0[0vP?X|姩c8v7$z%v+ݘ[YxA 6W˳Qq !Xserc*L4;+%z)YOi,$(Ϩ} 0^r3,t5\q͸#`v&=J.[VlBF|~s1YBQl@I#A \?,9s]XQ8fx2 ?]`1!^1B L_X\}G[@ dUZZ"xu==+ӑ꺜8{J23΢٢&f|F oa$x]%R_1zZ} 2E\Ԫ $%ဝ2FH뜿 V ~ڈVNj$\b0f@A fiVga[Fk2 L:x:VKD3naFE'rJAa7 @a<8b<$q ;tAa͑h @ͯ}v>-j7ú 1K tj,OG,fy&eBu%3,!zIQRmۏ0(vw89*8!0:cmEKӘǴHilw ccxfW_k SCk'@0O\u i24NNll,mz.8e4m[;{h7SdbVBhR[㥦R;b[!iivbt\"5(F[bhwb8^Z'9v U?=#6F<_`i ОAI DTgH*9 ~*biUG.r Hci,GPzU#i2ҚNp `~`bE') 5`i P-ᘲ7J U% MhCgIG׉7?&IZh,&O)avJ3JH̨V|Cj 'KGtX#P!5^ +MR#< _A3b̕,^z4#қY7 /Z4 n"GqkupMWF~YASYV3'?6?$J@QzH\>BP m VfAK?8&qݖاAX\0œ̗x?M5EµuEZ(@5 |gK h(^ (l?+!R!_yg/Qv|NEr`"JxvB{~݈NB1$䴮E5' icW֏\q=ADI=vTnfb8R}ӣBcKGl#CmU^ il[fMk[ɲ.:i-σc(-!!Btꑡ[40P>@p'WTh1`|`Z}m~ m.q)*E)P q?I{n@ȑXP[BO,%b[tGG. [xJ!mӶVe_+ʧ';SĸI>8P4̂9^cT^"2A)o7}yۧ?U#>C ̖6i"ӭH"N=U**{{'D닀Pqu&a ~`"6St |hY_@;e~p@,,v~M,ǒL$5m~*ik{E'T ~vt@!`^'+{aڏ$PL<10\d Bāĵ59IԔy^4A!&m54I@㠨vTFƫ_25 y R,3etۅBƒ`qua4,lAmC%>nbuI ɅhdяB?2[@os,'C٢5Dؾ: Ñf9Ѻvԡ )+bx)xJrRrsxC% B[geFQm0.ZʖhV!.  9*Ë}ٺ_sX- {PmX*`d`zWq,‘_ (-iWsk/.]!&fN=e-m Ҋ,0B4gE,|\ ׈V-uK3=;=~3گ>zbZveŏ^{l`.]蕵`kW.Q_/ŵ.A#+kF[k|4 m͍k=S(~g.G\4v'];_CbKX'>zjR_]~ !|Q7n3#DȻelCzj(qІp&@IkW.Ȯ1+Տ^毧f~oߋktl^_%SL^\e_o, =?H;VskQ^v<;7? N!t~ 4J0_ehdw{{UPƢjڏPނ֑6XM{@A yi)}6MG~4 I}ڛKd+5Uˤa ,!cz}ޅpjGࠥ~M_^F=N pLg޼M \`AB Q1 P=6kkq`wnPZXBO#q$aM|UZOB z/91V4)Gr m".DJ%k2Q3|8h6G?blЎW3.}ߢz<67rxĜF4/m ^蹪^Ց}9xY..wDmKBz<jC{WQ bzVV*9AM.wM?1\b|! $Aw,DKJ]) 2>H6j<^}N^WH;C#f΋*8l:Y`$\O ,VbKi# `] tY GL>hY܉\NЙ ͅ kv 30꛷y}MKe V~>(j,_cH=)W( ـPn4f`wgg`0s؀6E%XE}-<{%w 4Q4kdȑWȶQo=SJ Oz&8<ȘzQX4 ٺH7q ZJ$˸q-@8Fy'+^7UIyy^XB:5 ԕm* [b|ĘJk`5a-܅e!֕M2qQ3UÀg"YZ9ڭbxOΜ5obmGO|nqA[Ӹ&iA]TۊVb&+64OQkAh0¤Tʷi^Δ_p%a< &KI_i@AӧAOjbu@R,tdH_ v4rIa?IV'ͯZݞ„ ڑ16 |kg(b<*Tb$RO/ :N+p1&$̲U$L}ҝ"K܂3gW cѽJkۂ̸gh" Oȃ')s9).Z&fѯ*DIOQMY"z o0P;=V^77vsi oXpoEm:ae/M)if8=hQ>06(0(߽' \M=HjI;w 7+ZdiRXWz{7ʀSֿ֬jvۮc7m~GE~fmuulxA`$%{G=G>ydگK(El`Ax3ˬR54/>Le;>%~Νꔉ-B}@)pD0ꢩ Iˈ78WSae hi++8eq]3,_~+'k?^{qs }eK 2p^`Y4I#>E[e Dr~,! 4%?ܧ'MQo=Azt\F7邐r>E\$#=Xˈ>&6,a/ŭKFWTz t6.k-%NIEvf?ޭvEJMҮkHF0څfoB8!)oI|6T G2Xh;s~S,4Ӵ8R Nak=^ )SKEybŢyU3p>:+둲]>$ڌ0q$`oGO1YM`P؏[:h6A5pz_2^+ J{2a'ELz۞XC..wB)V62S2TOLtQ'"-떝Z+sb/ vw礐*Ht,m[b^yhy>]jmUm3Z7yJw{Pgf;K>X6]rDuK+1p1ϥ2C : Ք6iKƔ$'dսE#Jgl̎;P{OfN'9АlI*Qlu+^ӑkPVS|~ ͆Ar;Qvk֙Ha)+ k`,kTk)(c5;(/ 5J3xx2_ rT8l9w-`Ct_V񦙼^lUIi.c}7$F;Bj{!*7~d`nPR8[ٔMfm^mEP'6~1UaPf_E^VϏm7#L/ׂY. R зdo{uW>/1/H{^wE͇gsP^^ux̛r^ǒ TP\A +汫)|xnmxTwP!.vK5q\%꾼2fad {iw9\tۇn2j0K$$1j}XޜN!|Y+;N`lqX3N̶ݬ@46v(=o2g;B6I `#ث%WS/tgT}1+:u7ME9 8=3;y5:m90&_ X^R2>݋==N"ziퟗf5(Ho?{$r~s#TȆoviTQK2mWi_oN_u"n4ɈKQ o؎+/RIʁ_<+:7`n:/|Cζ-tT*[@g]'uEIgSiR|o F63e25fj)+jOQ+%<>h|N-@^Vn$&)0Rl!@ԙ:qW?#?{ ݙ8}PPB b9KnS_?\5ȮYӉUd:}2|֋t`9o+=^VS+He˯s ,}>M.[U`rX*Yt2 5(46SFT@'k(>@Id.(-mtD8kU -\?R5sLLv^ upYކzQ&OQ|X]fed]Tg9bGzTNۉP'\PoS5|C]wDJWHpe^O$Ax!^CO{EgNFuoD Bދ=/Tu f 1GNUP?A.zUZt⯄;"fgGSbd12 X/OCq ]WN.\b+z/0/AύK ₤ڇ'dmeE 35AC\w=Kmgk8kz@@V Urr<(6sHk=fo|%)932PL&W TAȚ27IMoQ΅h] *l2U~Ɠ<tK,gkغ䚛@f/ȫwBusG|z] QS_`{s@ߩ>J`*ԇ3 /Q} p .xNv$C^pu˯!0s&ƢßS2nT}HFwAՍ+7ݼ*;NPJߤxE>%KVTHI/10zql?0/|ED;=QE/ .ryL WbiP#ZZp5Nu^FuU)Jf= h ;U3zW+UD)JwU'pyb>GuؕP)"WDtu q('7AU;Pl/*R`` i^r`⽴ jg4F/,6(R6ȋ%Dv>^=8l ۷5_МGH-d)RCḰ),ΗN{tS]63fΦXʽibf -▓]|s5S$޷'xa^5KkV~YJX+e6b ø)㊓B ^m"6QlOu|vE;0FҴ?yTc"u1_:S&sm໇s|ʨ|ȕr^"She|gKv+l! [|T3m~.2vXB_6GDJVNمߪw:78ٳĞvݓݻv O3Ltѣ.oG__}Mg?jhz賟+/m/ot?Oߕ>n77~~Ͽwg?}) 7˧nO.}/߾[z'K [W뿞q Oeql>hg?sVy_~?_>_xgQr7~3o Wǿڍ^ F}z37~/賟vgϑ<{?r'y>W􏿄ׯӟ j}zmh~pwOM} ]o\э_<镧or_c.`4U~^\_>~u6 /Dew~pY>{O Js'>ٕ>=Ro^|gٳ/~'A??E.|]O3Sz/.'sOނo?7Ӕ UBU=== /?w^t_~C|o?TQ{W~tioWZu?y?Z%Tgq.+ />&}vRhOi0#]H녿|trkho?{~?yWK/ק`zϞ=wX?O|Ko]WnCǛ`^j(eǗ_\w\S*@߭ܘ OzOA<^۟'~ٟ~3oyGdֻq'=_3nÏ;_o\?)=g>(cEkyUKh.9rk{?;=gc-qDs~jiJxY XOEL[E|߁BI\ pR8TF;Ab1z|;p%[yFATѭNA`N&I!z`Y _q{Z&M'=cdazem'.?~>[蠝x.R%(;*7,g5A#fёkFn`uЈphφ2A- US\ hj ufl썄FĪðζN"si9UQ? W폦KFζxsyW*q2pq/sL|~?Ի_e,NF#{N@pN~ƛOR3/Iٓ /h䀀2ة"Zx=gM5nFvLI𓏯WOHDžYI+6o6eF޲m%^|r)%Ir@*RRNF~;xdV_x-2Q'?(x_<OOxO\/<):'~Jpb/ʷPG>?~韟g*0󽷮_{gxX%\䉟AٕO~+ݍ #t٫wKғ O./ZlS7;'MSg~7A=(cq+߅6>}VFH+~Oxc@;mK@pd Y߹vOO_{])aMOg.rƌ>,̔Z>HA__R -aI~leThOEۭ`] HNy $g?cOpQ~S( )UI`-$yG8m? s?z뻷oi]J( ?xj葃:a^ @o/m#Q *D1Hos 8~i_O'Ctoŗ:M0Y <ʆjCDIWP24RH7kxX/SN}mSѹR$ X@\7!`D0$uq~bmxh:ˋG]m"0T5Y36M~s?f\  Ղ!K4i05$0CA=0Y MBG#I8W)CRHM$NU0nwpXp] vIt-#QrJ(h `lzģbDQkݒ*Fx!נoy}0ϡiDEb}&:P~q" [܍ˁm~W~n$-sa~c!P}<(ۈtlG4k ˀl2/] 7xD֦zJX< ":׸ `9M~[.bcS9]o 4mj Q9Tc|[)GKC¨ՔO/:CwQyaڴkfZulJ;rWr0,Bê壧nNÉ4V}z)3 KIwBR1"7w\n',e r[Wݽ/3Kz4iSq褢+$:OW XyB7E?!V! @W+*STkJtՑ^z[=vnFhA.qscVmM0N`0PhI~jǸ 9 XJdc%;˅ÏyVeCo4[y&TY= &.}KA\1&,iҰ;AX%c 5$Z;d:V4528ihz;3X<> _#~#TR=ԥ ^uxaĽu_R* @C8]/f/?< ᳚X_)O, MsWT7ȉ@sg&VrX}hL n^j>T_H0a2\k(z,jt tCPPba `#;uvT,x;tCPiv>-Vn ;{ԉ;i2s6ٴd'3:A f4txh6K䑐|Y>Vj{vfc5ˋD[ w7;f%6&}r<#Nt[vJDXW(xqFn,'Bv (:}?vX(uVQ 1f )?r v>fd>I86.Ցd$foCC` cΐ7E7`O3C7w&Ks 5j1I#)YsVS[VXC'Y(0Vuh.#ƛ0 K8!a`!WҬt)V-^ӌ;4( |Lx]+)NTfv s=m)~g I 0ގ k1]kh wu3ruT7c4ZQnP}c1Psc$݅vomhex#06ؽsrlOn?oڀ]nCL[=~Qݹm"=a.0_'5 ׍p~t(n>OtD  "!fhE  _5=6ACwq`sI\t=1_wȯoMN"6z)M1g H7tX%j$aLt'~E.v^o-w3W@++%9y$?EM0G9أZ.{0O!,YV܁ &t ̑v~$!nkE(8&2B%i1v$A0  GOVVjAuU q9cP[__ &9Ra^5La o.6-aveu'nk)Q`F"|j1o {x>;  1" ZS5 'Ә_Cu1?tO\yNm_gb2 ߉_X.T)CΤ'`0':}^9C܃}Up?"06GF}}e6Z D~^r/B>m?ȗy }k#\2T=ۧ}]dXZ>֓ dkjGټi5 0Lų?9*EԳ4L#S4(B}X)J䞁{H)5UٖVfEr6{uYuhP:!b"6 n+P`|ȐjF|\*w|oʱ"kS#V䷫\SiζG+ RIqsOT>s9{=N㻶:Ï[-@! M5w+Ԏ<.7z}v!6^6-+bMuǤ*QAַazLd^Օu}OLؠ<KSsA\V4C}W>K,C:⭅K95භgWّ{CR_E0>DNc4YxÃ*|"%5֗t9Uc}_4[Gan`}c@+ *40(7F~C u?7D R\&£:՟oVS/*/\WpA{@ # ͪQK x-B$nK[AWiӺ?&pJwc#z xM7y8Sŭp~&׏8q$>CZi8 /AIX/CE/E!p T ΢@ʿՆgDmu`85ᓧ?!&zDnM7Z|͟ [—-~*7-X]EPЫ5rş>.XVӽئA+* J7Q ߪ8x蘻iIဵ}4 /!*OGu<QcpznG1ܷf1 "v:Q$rRl֎$p]_rMA.%I89n=׆m@-w# j%h<~c ~u%ҝд[j,d]ӶU ޽TFh-XT TDU%ko@4Nʵnr5:zCNE+c=^R- :>@щWk1#WtKnmqs-CGNĻnrٺYՃS[q[XvX]7.F{ݥ}MU~T2@\D8[`厶e@4a-nvll55am9`B Pz+*{^ƒS})Wy,|n|[/ X <=<$Tw;%^v#m\;fDz+Li AAxbduW@Psm53mko2 bƏ`zO[Wv9J&F?W^8Q7gB&g7r9,# "Dx.YU]0 R̈́y6a4i 6rH=  9(n"]wTIǼ0/_i5#A;~ "CH-8ѣt,eJP:ݚջ,#vd`tiS+\@p"'\k3FoY0<^2qpŮ\&=Ly7R%KB;})ӷ5[J4AN".@kmnl7`IIU\]kJe_L*]0{Z%}oCAGpLX\ԽsrcVӽg|έ_0'&Tֵihu^c AƬ-[~݉/D~SDڈ:.hΣI**4u];n /ߎ<IJv*̛'BLs AB<8V@,EC#~nNGaLݙ}"~Y4V2%42}~2&wD~:\V_JUN]C|-O蟤&/KXEK5č0`-5hڟOHDUnۖDԜ yo'B9|yl/ۨO\>%wݖv y>D~Juh40#P-ݤ9 ", 8L_>_H Mg*IdXט jG鎋Vo,ZTͯM !`~Cca~YݬfG_{8}11гrvw#;"gA+YI<#P& H`(*&ۏQAKQ1b6ӤafHX#WM V@7+_ŞO@@DR}i6kKP Uo@yQm|%dh&#^.V++looVtV&iXó2)ۥc/ j̨.33VA4Ykeي2K_#/Gsryz+e„\E'_oO~ on<Ҧe[3V܇xĕ3l y?$D+{-R̃n  ]UΒ@T,y_abS3Ii8>d͈grL0Mo)1SptapGf؁ f$=L<[)bhEE-㕨%)7tI{5TosJx!BvTS^I+VU5ōhlzq)2hU ü4lw=Jv-sZU{-)=㪔ӏF0Z=Z5A AD3𶒈Kîxyҳ??6ϗ~HBx[ 3o #`b׮qGKDiTNjŒ=*T>L 9VA6j9v9ySGN?mJE>U"o9giL*uhWOk_ޭ?Sm%6Ku{n-=.׺ܚmAaFUJ1m;o*N,;Xun%۲(/\!{Bo+"Q+6\4;rh~ Vw\Vv//ԂqćI8SA鴄7F磃z?cAk<~ყU݃V#gĺVa dQcQw̲zi>#bMDV|]4lP\C1,gk6ਰGV*Q[LKeV6=piWIa q^1"ؗV1-mg캰1~:x`w |?P~ӟM={/߳ ?96#pAW`ɚoÍ`r|b"] NQVvg6jn?b#X@f+8<EST`]Vz&4 LdQ;- i5!jr&}wA[-6c䉇xVjZt3y#-fnd|g|aϨ i;a1c856v̙rLhDFת6b. O %J1A<]O?v l. s+ eIG0&b=%QWQœ|5`{Szь 9QIمhm )#@ aU:LD+Ct,)'\A6inHzH= l+g7f { nMje*Kۥpur k0'M )EZ#prvs l G"*^6 ~1YV -ZH;PO溭Xo9}O};ց';+| PK/f9JI OjƑGNu:{dp 8q#Y~/] ;vAeg9&}5{c1Xgx枃f1-JPcP>eL_:^FG߱~kܪdhx/HeY1Y1CA+'ʘ~Q6sb()"վHmnGJ*b\5ێ~y?,yjrҮ} p& 4-/V: 3`՚qr%r'zq5Q {Ծ$@Zާ6sIo2462mO{hQ&Cy&ۙ^dڴ.r~>k-|ڀ3@=.}`+~3E]cC4 6mܭ|lY=Z U-m;K>o+KKJ68TrG3n$fOpKMS¤-8m~5TبQt+Cz!M2+nrǫxpf!ţ]UL3DxQKU]}K|&[Zijcѧsm|[|=)'~OTxRI+d?̄Ґ <.&nUd!]aȄIMobtP}k{yωmDI51;oo3bZ]#bX= VvAAd[#7K?zmVoɛaԽT[`+Mz+̖y*lP<nT]V>dU7/ dn05o*$;^y-X/jRTe3Lٿl)wR7>-u+.鶽? ʁ{E`5eQ^tZ ]{Ʒކ}yҊo+M (0ۣrG糸I˱ +S~k 2H[6;Pw8\j0q;|lx;Ղ3L<;1JLIPԹfqe8iz'l6)uѭղQlf<4kFP)X]& {].lXp]Ow56׊;ڌ360" p|!l:OMڦR|)ŀ~φ5Yyt6mr05p9 HKTlMbAI*_dIL,=5@=Ԁ2 }P>, 9xneW.ɘ6% {Ŧf`1]_h=n3˨j\xa'W 'Nw;K$C6R>aW$}|aoG]<oNZ1.A,OݻKnKFDKq2M?lmٝ\Ҍ͢1 VWHIps-\D q%siZFQK)DQdi tzU㝰 b8:B0uwL,G,#k#!ۦZF[`'\VJg|4ek,&&59ΌgY;Sf@`5&J]9sBLYsnn3O ccF֊ nGH혢Co{\x Yغ\ˎvX9Y7 Ica;,WTs#Assp,Wٜ'`!榷?Nd?{|PلxC5nԁƘm )|ѧ-ܿ%juorzUǐ亚7TX欁|_Q! /K0Ds8}cPL h(ܸx%vMUS粴=Mu; Z9[A׊Ck)|G*/֋Qג0l΁UHRfJZ}WPUδvYOL%ށ)%ježN؈E4Ŋlb#.kD+\[4%>vqݑ9W-/J* *cn=E*Mطڭ@\A^%1*t%!;LYV.^#|"&d들b6%J;G/u/#y!#2`M ޑw仨Λ45*\,fpKØ_X70H6=@P)1v)J- J#Ճ#-l QCuoݖu6-3XOl(]U5 ?XRzz;F?ݾKv 7F ;RL=+Mǿrcx(4bhhōaPE'Z㓎ޡh.#zr-xdE6<ri`PŊk ToE|exZVb⳹zn, }i2+Y{$10|I;#"=/6{ lG=Nб(&VIJ/Lӵ:3Njw1G"dg`YCnͰ_X>wj}eVOOR" C㉸qszZ:X\',B)qA%K abX)lǒen6[t gOošQ`+b:+f" tr|TS8N1ae )N1ny cjKn&(iCOd{4xbܗ&bx/_:0j\xn\0 e&i (Yl瞥=*rAWvAi& Bmd(TY+h:1,{#G;SSج.Y2{uJTtim ѭA/ do ؓ X ;Q1\6,n]IR_e ^~ʌN?0:,yONo35hJ;XˬLc9 Xx^80 mc*w2]qU_ [CҲ@t@羅Q^s3,'}q&7$UGX8Is|A܌@_Ng77w|w߽g6<]^q qujo9_yo=`ЊH]?"tgc|5:yF=Nh ( .(Hv"1StI)TD2 aJsqjoN^H0.;Y(~4nSVnTPZ~|4@4-Ƿ3KnFۃ>SQVYCG=&o{HҮ'<]̦1BWڄ8VObmBӂC )*diS[ ;8<)6k ܧ*saF;[Ly@5[rlx7f(V{oCDdjuUN[tܐ;`)z(k͸uomY_HE |Π'j,dva ~Pf/ τ[pFݡtw8Wb^f#Rh+BY1fa/x"&,VE#@3F:.AdT+Xf89"zt][}WOwY; o@Bשf]$C"R.:|¼j=we_*5kEԺ/y4LdA.pzWeSRؕ[ '-*s*t~ 5 hJwџbXSGsG ]\X/! e#Da'ETyf_Ķ Dc &jm,s|woǏa;ed6R3(akNO23: u L_ Ʃx9Sm+\vm_ϥjS0%(ى0}`9ŒqaVDyv,]g>ܽW<=jW:3L$.=iB a&ڤ86#w;oh:CUV`>>_sC#341m&4#Ȋ02 cU_ǜR_֥/ vI}G>`2Mvar޺po-P3N ZiE DN: \7 eC_zBlq bܢFPĠI)6[SS(T&_TbY+\ٴ[j{n1h) 4>fvV*_m3;aV@'cQUc6@07xV)H V_m C^gH˘rZ)H417}rnR9J_+c Uf273}xīRd LWoUi4[6n~|NvYSo^]Ha d]'{q)^$ 9*. }s O~lT+Yb@=n6fk=;cL>&oʚ_*[3c`b"WN\716;v hs`/&VV˩sJl`xp`}sd7A@@SNo!94jr;K=m`y6}x68?YLq6 C2v??"?H|A}?&ݓ[㑮T)o\ `/U}u#YSH l!`-هuzLϲ=I4 0^EfPYGs Eҋy8b;u@}<i9-[?~駏Yڳsh59=4Tʢq J|ރo } w{k߆6rS jPgCdew,u- n75:I-&Ea}X>$[S54 #@FB{vv"cGFLX9B Oy۟E i֒u9 +NB5Z%b%}YN9l%=mRZ(5Y//*2 (F6C8"ا^N{'$3`rŒI2&s䭓A /2sҵ ܃_Y &TUa >P#%B|d}Bq˕=%yA9dG qs >r]A`P ,mD 1ߊNˑJ3@ck:TOyJ$ ?#ޭ'w,ݞ[_1ԵB)Eb,qI%Tŭ(-l-NJ[ߎkD3Q2ߊB;f^trN͈V93˶9+d1%6Ì=ooا.5yj;/ٰT˼v5߂a6K̻KqqwYEnqsŀTFş6n4MBj6wS"[&N=!&2{c-t] j3QUX/n'iQCXTauSFBhAs_?i]++w.uIVJA5ZZq# B{ Ms!QbAS ӟ2`_7d;]߲nb>^} YTB[xE%ʇ0=eskҸ I0'3z:Wo9 ckfz8\jaAjغ-E&MG*x2>~$:#d}=%[C`N"=)n>ɟ8[;:H6)!'ڦC3oI6%GJ/Bfvg& 7T-ˑf7!wLm9Δc FmLߧ2lN69ͤKD 0_^}d&WpV䳲JX#:ݚcv_$}AU}쟨J9.Y_yq3?i6=[nǏyC3Û-0T܏ D5bTw*Fv4+¤[.kAD-uhg&r ~//"] `5@ sλwo'?ŭ>)Riyҩ>6[ulZf-YgqyVVq [ \o2@U78<-\vM{܎"j{y9O<. ئ.EٴX覈E9y{^yfɧ62Yz do?UԿ ٔw 7E@\On lzz3WթJ4cV3V߉)I`gFX͈mz7f̌y;" 0~~,\"ouaw:7GobD51vw]8|ߑc3G<|mwn϶V%S`1LO fW,XݙZ-(/akt6$( >p*x TP% fq $Bes - 6wHh8#ߍ#?5ov[`L/PEv`!mG Cȩ3gΔ 7y0@ YQe8#\v7XIA6,jhv lIs ([fnecn!q߱fζFp4nDI! Yl+܋"0ro} )]jAAadg_wZW x$Ր0;Q#C#Ox4lhBSBfj;2Ro7J.`,r1!bA3Э( SŲCR(u9L&Op[+8A:8rN'Nxf+Ya~uYYED}>11T*@n5YZ sH*a=7\ҩ2 W +9]9 \4JO>xB@T[CQ2੡ѱCVuf ȱ |j۠^FoCh:oL .88C33#Um8i H`9g#=Ee:6(LLr"u˝ .J'P͜:}ȱXKUhP5SAs%3f(0H{ⲧ-ytv mJ?(VQ~=H[jW5NokvAZuÜٹƒ P׮NY(/:dv[WRR$E˨?\TܭƢ338ujfF*K%JnQᡃa4")ń(h#ݢaf\$^}ƂEXAz#̣`HW!ft1uB?(K{MܜkJ9w(Di$ ewA6"Rq0.|V 8"9C紙6`T"?՞66LMqK(O1X<ǡۿ/oMus- pݓ]܎߭ߞ::::9E{N&bySGB<f4۝a%a2>v(Mhl;!iw"#Q~,,b썐r=Cl*5eֱ &23LPnnĒPrky;a⼐ *Z* !Çjf2M惠f %'!7 iEJ!F4Z>~/{geO,/79kb۹g|V6l=ۊmO?2h O$4q wCzڽQ_>ݪ湟QwC @ӟU;$|pW,l@q_DQ(zL^ ,z!Ns)XCXmh0~0>^Ӎ3l_#.)0 OlaleEثn{܁hN65k0pHvpH80,ef9= IYQ+,RY頝k>E:3an*relYm M2ƝQRXu{(nx(64ބ_yX7?-yCL&1UT"|Ek M +;$%K9UC+}"Gn q$}ɦV` )^(|&ـ*YUwƥnGsVщ~`r]P7!F?q|χ*Y@^LSV"l#4)F_&, z3zk8K?=OիI^r_g啜)sRMi | \w.[Vp&d|9긪D~C 5` lslSc3֑0&-f:Qf Qmkƪh3jUӆ@2,n8G- `eWKwU:/?w 왣LZ!%%&Y`kG*@n ۵ zsDrc~^yG*[ÊBч#Rv-\b"[yӧ?\hɠzX=}IN8x,ҎW$$ ۤ49%FHq 4RXEuB2:;A@H-JVzZ4BX%4+T8rTqbڕb"H֔S]SsfTo赌MqBzyKb>o(SY96~.&Ll?=صrX>*"7i}ޤn܂77 =w۽{+mGfP&~vA%t[uzz<펀G(BVc/~c>TLDmٴ(Ҷ6|ؿm۾~`0 Ơ6|4XPb`tJ 𜏭_<Ġ+l:%Q2Q,˼T)%*B%*Uw;IØ Nd!x(b;D'7Pc Ծo9hxQdHaҤp:% x0}"ЈlGl%|{(EJş7ɒhzEGy_0)~ I iy> +>t0Ƈ&{<8WxBͩ`91ZXXm:H.1'C)@ê 2&DS$V%&nI;74V5 nJ !?n6nߢf<ݬBl&~Qo?bNG<͇ RR  膰sٔrnviǷD'y\5} g=8|ЗjQڈCD fY^c Cp0zDlo`$  R0٦.1-U,y"6L@\5);ŇYp`boW\#Z݌:BQeAU1XTðqP-D(İ j{AFeZmG5뛈(Vl0))CMzMg ~-rOo5O?p4@6f"8J~<8Ͳ- S|&Y]?}MO`ģn)M#{֩ĄdBD-H~KM +9bn*^4GhYfR51=+{ٽPzOӕ!ZӺ@3VT <8Q;V z+8±"Yu ,t p>ZGX5KNT_[͍oTW7^xqBE}t@ %N4ĬGUܫ5tzƖqsVv|~K~ m<-m!V>ޓGX7>]_ `kqk6{Xgts}u<`S cam>' Rl'wCb]Nny[^ny_$/֤8TTPz| |jOQ"AkT>$ u beF=?e6#s|][l:m]s[Q;5dl5cB(,2hZEaF.eNJVXEM Eb9\&J24)S|+(Yľ"hڝl~2퉨jFw&!J <eZ& qwJaxQCoJ&I&D m 5cXUu̗paֻ߽`q $,ʨ}e]zL۷8JC`3x;MI-tGu[2%qf?9fg*( Jڪ(])Si^]Iei7 s|کIT>0t-$`অ4MRL9)p zh"\P$q$3<:@"DHo~r~`Q3 Tܣ"GUR%ҳ^昃 I}q9S<el$¨GFf#sɵpJf'O =o-hpIhWJʥYn"j $ ,L zxI`QqcPgCwPࢄV aud7z+90Ap Cs 1Wт2)a )Rz\MQL,ΠS-<[ޝ]\љ yI(Ұh>y9Iefb&eȂmsʉ4ikK0X!]eb9-вf05|%NƠ{mkJO X)C3s7\amNZR28 F)Ů̀`O;*`~f f0*-Wc!2Juez5eS thJX^ oݬmM }Iω.)E͵SkAn~%2fhYcxJ !јHo4 ԓ逮nJrjl6oo~9jzRz`BI[wH>2Ϥ&m|!l])d݆b$$Й,fh1¿+f]A'$+|ent#ၘ1X1?_JiNyuj+Xi=Q&CTLsU#dsf q|]kҔ|NB)U 0"k: bUbr`G$@~,%s@Ί}b+ڎ؜a0Qr x}A HF|NzJ6x=d3Ze"V =Oq4Xc%x78bNEg,۟Σ#+Jѹ>:3J!|q!2J8%A6ԐG 1Թth'\QtAo\pGrr) DF?HmnB9O ^q2{e`VAkQ>+V7NdK<"z=z'2{zcghYÂ}ä՗9w7ՌO-{ͳv0/yk .֪#k$`:bS`P L4vQ[B E%Ke @}I`"ApFF-`^eI;Z/FF/6>LēG + {;5r#ăLwIf|TGgSXsqkZ | 6:k'A7 = k#,"k( 0 ^ꐉ;==@Ae4@򜇗V9'SS`x~kWlE}ͨb% !#6a unmI{GBh؊drf<ĸ0Ef3XX`՘.*t 7y ͗Ce]*Y]8ZƎPS m- dL40/NZ!0gW17 B4ČA /PS*f>Sn;ùn$A'̣%)9LkQ%Ű KR>ŹA(@6ζRNϝfݼX}.P {Fi0օdRډt^H `5 ZNGPa %P:B`T@sy׹D@O5tN.0V7N!t1LeK*F$@YE8%mfB'5 U d< BQQנ@Pole ʈ#F1%FmZ~ zDu9 9 [ЩjbHa 0`֑8}/Dr_8,Z •5EH Ha;_yhL^v4!"tp D݂4 }VPRDB,*yI5_<e@)mq) `jAXWt0|+f[rIXo\&@jhSJC[Z]֌LE DL1"z=Ġ#aa8@آ@'dGm d 켵(j:0(8@*#4Z tr# ڃPwύ`zM^Be e7~PPa3W#]$-$l<+t#ƝA9ݔD _ɶABfSMܓe9lWl( ]pl 3 K# [FCʬ-Y؀ V<ͳa.Yh~ i${1fMuj@l` |譋6GE)ez H_иy2&ၛlQDA{zpĸ-KgAؤ1V10#Z"8Be2Hΰ}rI̕Fr%~f_R? ("tx8-im" 5iQBr͖`CzcұHg%_{nk_6<.Q"`֌Oo,ۭf텈E?TRMyhމV#AӸF`=8G@G yA&m X 0]]ME:K,]. #YopGpx:mI AH$H t%k7!;8Ph-h2WmQC4YhKd) CZEc#.<8憱gѼ6anbʫZ: q+7D1ބp s%^ fDmϥ6v^37e|^6 i ;(#J[H%e  f6}FbK I=3 6#׮n."$7 -笍YbQa@ |b{n>,1BXM-AAaNJ\ K-ɏ{6JB.k l7Mߍ#/T#3BG B +f C0]4_qZgK$ Qb߈ðX?xD7۠ ok\E@&| <o |&v"XYe4i ]`Ny: " _ƹ-qz9|&f+X X`n59ЌSW\Ykґuγ@+'kHiTfLR|σIA>tNWWJd)L uy.!h6Zm&4nG'. (-[ :PyY/YC =_e1yb#h+ Ty,hR!Í~FM 5: ޹{`zaH2W5P枭'j :|'v{[ `!b{aQv*b\ z+`[ی'ڒ1gY DnhI7  2wlN@$/||YPq}]H،UqԐLp{szm4bvvfVAËk,gCAFi?'88Ġ~^Gb<"+~(l܇ NAK<3Q,of's"tiq(tZj ␯^ɂy◮?Osb.lϛvbA>׺s̽'oݓwOmsi7K0Y1W8|lVu.l_CRM{L(%M"ʷYF.bCBsKMzpeKg_&eNqVXDF"0&n ĜYXx!\&RZ -tit$?SgC`GCNWټ׺rTMyem1M']1D=2Cʶ#JH> {=(  O9q tY]Fb"#IאӚm>(99ԃc)L%7SwD& dt AXn&l$ tj?EZM͝!l#uqþRBF0b^ n8–׀nQ~ j潊$dž fpQ0Ka9IPuh1"Lοe`x$= %,$ '.f磋\uxa#Cx5%~#Q2heh] }iCb-2KLH)@1&L5ʎ\3XC7t %. e;GohI1ʌRicZC«oq(6zd!̍}xo{T2jFf9ȖSLqE] D O6p-5up!Kd]9 ˀ`$tZE^R+"w1 -4iR:XZG /`[Gabsd]7嬜P[.wQ%rHTZCkmzLzʀnПA Q^83-Z)ۅ'aя$b6@ uHAR ŽV2=iMŢσ%~10.N;{S@uaDlgR$>9zoچ]ա["X09,G|g ouv 1B Qʋ!%je8Ҙ1\Ub:b'c78$U,)f?c*篳&Y9+'Wq*̿CsͬmBu3&U|^Q ov}\ErA$D F]'EDΐ9;:,w P* vSc<Ocg*CaθǻWRw)1ZIGKwl# :_R (xƤrN@PҶ(R^X%uk=6+-:> p(o3sZ26Z,O-אBKYBo؎SQ*y"o${dsD5Pߵ1t׾'Q`PfTd)SR6Wi=!& @bC&B>_0p}\&6w(?V{jϽx= աRm t 9čI`ё(rtW``І7t$рBqdD)qr=cWT|z$Tݠ}154BS$5-ܳY cHXOAiPHө05@qUwl.v}B*|E 9XH#;:Jǁ(+rraSX\L'q"2ĝrS;7[P9!eD7pttiYhP pؠ{VS#gRʢE>7F[ oDc9 )>+`#$]|Q0(?6Wc\R: #FCHY7~6]ߩ y 2DEI VQKڀ+E[jyI 5Kk@3U_r+. e^7;jFi'`##Ѐ,ibVW=ٳexusYmz}f%EI屢g'|`6d[Fmb ^͡= ҅Ӧ6$ektVo"WA&goI m2A!o]$z/J5pI'! xV9"@7lt2A81jvkyt`bxIL]溾 oYAvQip^K]&&WSzxϩg;9L< Ă-0#Հ j@FY]'C1ɫ԰3'[5L ֎4|Eq=.Bz$SOSJ5#:¦,A.*&Ѫ^ d@0M`-V"DrWs/aƫa{85þ*7 zX.:q5bLRg.0t&u/+p\5%[:v7CiTpPNl1G +E'u ^94!(4i^ݒ!Ě\OPAS^ sӵ-XrcuhRG)&a`\]5Ǭtd’bT#F~*ťㄶ0;QmL0)r tR] V1CpuiJκ:!Jmn*@7m`u*؂%@8Cda]uL0  t8m{DzD4.*һE`4nZhDcS8oV1",0-6tqtq(hϤfXƤcE942ЇK:LqD,y %@ڱr%衭ճj9FlHʅu$+ё5<;Z` c4ƣX"围,eCS&\mm4or wߒ̒QwS;&$iځrrbۤuVkѐ^_eo';(nqb ^_"l= [:lN:lGV !=@(AmQζeLe\s?.D6E' لxɩx,Axh"р˛ 1YA$F!xF8TgC @ށufTپV2誄Bh8gYDmSg&_B'&Ke,)̨ٴGtLٚ؞)[~5E~@>ISBpPJE#RO?e$ixSfᙅhH$ka2݄*bhP`%RTchIM|jl햢x$ib>qvM'0 RjQ)3NW|M6 HR΄> aGLȡ Tdmc?g;øxg2̔6(dlmbٛ@Q M8VNLD>4Ruh#d?ʼnz:1ت}_hU$gji.n抭@O0W [`3ܤ]zy> FAb˻Cx@IIu & ͮ,JP"@ɂ];Ŭ@R3򌮊)Y+2`M1kk` - u'h[a,Vf/B{h\JXԄ16:]op@"(؅t>j!VD\FBh 8Y+'*&qLC.;M<'U>zuҋ׹NE:To|:UPdIp&]qPjWeݪTaQp 7b"g*J1+8x%ewl,`Bb.ɾdU qPAmjꮧ)$z$!=i;.ȐOZ?UPYY];Z$h<Ĕ |iױhC/&Y&iu&&)V+̆FĶPl !uy.b19`:lO& 'z9 v**M: f9߯8C&h a! 5ŶF?D KI%U:Rfra)tpPHJ" [ )$;0#OlLj7`$l}n ql3= 3UF$$dL6T29+tȵҜ>>#K2.R%BE7;q08<_<ؿyX<%\lML#6lRdcs;v'F97*c6-n^pݝ(s\"(edR J(}17<(HFMIL(t/nч+ *4"s@1ΐ_IbJ)J dٔSdNKZgߺt%x`zfX) v[F5NEY<D.$CNʾ˻$w4wf(u*fL:6܉_)hH^X(]#?Yx1~"c#.V#+(c ۘLf~05kE6(̒e@E1*; k\؁ kc,,ʧm`A{%g>EfLĕ̺Qg]^TKG9k!ݰt2{&÷3`K5pm2^C"(1qzmv>pÝςYo:v'ed>/% g¨+ND/ ̻W#Hq܃e `o +FSۊ#kZ-әh%A((-ɆyhګJO d9h;&%3`DM٬aSHHa$00nޚd(arozD304':/LVJO9݉6mw,_UJܩ.0U(', ҃ ‚4krG:]nh?"0y{O*% <9g\P4h!-i 1̪}X3t6R)6 ጴ[0hp0Z.hcVyhqiỎTz R`@c4nҊDucDhpP`rVQRTc@;vTw+8+c\ FJыXËf1/&ˉhP HЌC؝KY._wb3LɰݺYDUQ]3 auG.5=Ȅ9̢@tiw%l\W0 jA3'F Uhyts}H\3`Ȋ &( ,Q5JL T!ti !S͙ $;K&" U<]lƗY#T<M]g˜$\m Jr(2>@VBa =Is-J Dn.LQ_ȡnC%\#!ءQrnQGc1{`ӷL gb(ip<=#&š%OBMb7!bH5>PJ!b%mfppb&Ȳ5_l;6Dh-lQVy34&p q*4;h;}Fu<; 7_C SCOA1N>sHc.6c7S>W&NOZ㛃'AvCx3xp -$͙_v}[&qc,pEbhF;ډrHX8P7a3ᾳ6S`b_+XQF޹o3 2Ƴ1C.x0WH%1 ق>"ʚ hʕ(DwyBG_›Fw%࿭_f Ue4a)=]0G.XcUR.#h^dLM>,Z6nwE\U^[r^OT:Y|M4Q4v1ZRVbZs(uR5)X[Ė!4REX0 #\|xgeE?%tr:3(s-.Te(Մ!q )MW@FG^eJdۂcZ}la| @=I<`-{~"\{7cw;ί-?oyגeKJ;+*u-9kKV,ii2ޒZ"]nGuN7k^ݺGvu^x իݲHXgg9g;/]xyJ,N{b{SGnhqԁN=o:4^;q +M=MҦ:0#PajkM퇶ޮSG5S{O"Wgx<8u4An/M}xH—}[! wzz6tbʜ |u߉aw7b?/k(buB7{ƒ?u_gq^Ģz^=q!"5$k|WqrA+?@2'LJEvmxüz-C HxPMcD͎xcbAQHwE,sZYYx :@<5-Gf1ʦ)҄d&@@|Jcʞ 9b?5s"o#0L 7hQx"p" 7iZ{=rk81H$B!2'.oQ+ $\ktg >xG{X<*$ш@{d WW dH;SD"s8!y2kŷ X֧)y'Sxለ^JGD ߌRu'meDm+XD#u-xvE'9-'ڈ[ #2Et!.u 'KicVrˈ $D+mNщ3"\Ł&Ab<>h+=q(HDnE&xF⚀u4?>{WO:Q CG)<,_ _Y OXLB A26J0!Pp#IrHGM t3\l!j<>1b^pmF U+}5(f=PH]%PqEH+(dA\ѦdݏM2@BA){C>N!\GQܭM ڣWͨbuNLad :UD}V_6%Vvaw#mY{>Λ}M ԮJSKb"xڄ+rWM;"{Bv4 {4$CR 9g/yV_u:-'S]K2<أ3 ӁNi֭h95׶#ԏlD@n;\}p% l{1f.Xjhe3BHFdbr>L1VO,#¾]٘WN!ӄKe ub#x %i y( .EXGYϦncۤ氲(xF +IGX@u 0ipm)~7yPmf!2: =*gL0G:iA5Xރl[JX l$V[a8tDXbQ߆.J"`tm]&r) S W1+cvZ@<;H 9WAV8P,׉y~*t KgG1F&yԟƎ:j4Da*[(T15fO>n0፩ĬJ<~Fp ln y/q96WbtN)vFVH*M᳍S.B)6Kr#F-q"cw&vHGDľ7u8"u ~.\8#WZ\fG[Qr,H|^=^ m%BSjH\բ YfWw&+GGO] y2!qWO]3얯NGj(/Gه,х^j4'sPQA8Kj uF4KԺ0)+@ X DTrm* S fB2ɵ.sS+$ bX@ ,dew:Q5"A)T<b! ') O߆*+F9gbo*i纙zgM!J{R[L;N8XuGpvp$dl;x\ oEC4GRǣ:~,SZBRO(4eiJx4Βo͘JIFŔmRMM1/4X\> L!M࢔jK; 394G} 4A2O`،A׿lQZ~dP`U}Q9~JxI[OI[6hCB7QrF"%Eh>{E"k3~v<@-G$7wxfhxmE&" RtWۊ "ew=?u z@݇?L^)SJCD FO-iH1q%Oh-Jj4htiЙqd`"MeLL^CЌ(Y¡]VBy;NX""]W2qL3 ruScv1%T&m 0EG>̅7wO[ v!$h? }/M7qu*p O`Ԑ}Z\mj;/"\p\@]wp).UNP)R$ Jܐ_"{@o2YU w-9o]]V,Y|y3+'' ^> ?-],c\HƇ`aXi@oTo`=2wY!" TtǶVa1[sIb@7V p|im'FL$umR[; sD@4۵1?1^u8CS^2P޶mw.jkeSi+@{'—Oo5=x)C:4wbAR_sװ1(ibFa,vLfGEik]4R)8:k !M dqb:o XgN;MW8j8pN+2 &tĮk|qΆ3cs,hrHh  ˄iV M ̑1.Os QpJwH `hدNb*c V-HGv̆I8j8)?TFI $ !H”` %tta;FU. ƃZXOH0r::#ȋ,[Nst {\iÂ*;f+nD+>&SW[ҔVC">Wc_c+]E\ըDpɺ;|Dzb1kГ3N1q]3pŠ"!yzVN :eĮecLk!AQ16v;# jeMlB.⺘Ԝ􍚅ӸfW8I2X̰CmkF߁qtaؒ {Ĵe5 vF%'d Rɜk2C*w) thr4ALzaR@4+4d†7I?}`t@ I:7#[n<~+Z:͞XJ;KriͲaXd Pl=Et s1ͧ]SmFLN {kn"f"m0FX>cKrEdjf$34{捈DbŬވxUl QJK|m|i1Mo;l k#^c.@ͪzpCQtricz͇I/8C(j N2ֿy>IJ![<{-dKf a^Kq\ZHmDi3%PA64X[ Mx}{Gߡ`,dՈ彋EkbĽF-t.4KiJh5^L՚&끒O Q0@:&ZZJZLsmJ% Xe*ghfQ}RGeW!dl 'B3D)8`o$&N˛5-޲_@2]Ą,Zo0wH]$^?D V@"XsLey$2Ϥx$B)Os+{РNeEՅN@XP,96氂Z]Y(;$0 >N= 9xncwRi2#)ۃ#Fmy;޺ Fͬ^쇣'fm;4HɞE}V@\o-'n&KH1ະ>2yiU~_ ${ ac}41Ԉ伱)1Mƞ,Zr*ː}l#b׬!7eV>S7j0oC^fF<N*r3Q?ҋ@((6*0BL#r[A>;h{f=o畖EZJKi\2d$ A^v@12: ៜ_ܶu6(KEEs翳sR_fȅ5<̈́.؟Ye_'g{N_h%dc6~/GB$C*';XXjc i&"ݰ@>Sjppqȉ[s{/zRƃcv '&\X9 <9*yN|a'J%6MƌBGAWoo= j%}X;B{ }(/^d i<0袯pĻń~⽄43_LI1.91Aje#vMlU;?m&ғ kW'jg' 3bJM.R_)il4{TC5cFZt00mVzT :Vl4 Z7kUT<2Ș]h(dؠ<4+z -t4PrsBuQGfnWߏp+tbzfca@>ڣ ,:}T<%V]` T>)~/8ֶ*6qRQNt2>F74e(ER>PәeʤR7KSBkfXYF14Lxia5Jωx'n2-if0|1n{Ƚw1t/;H1{pJ;#;*0x`_5GI+@cȀդaS4*1;]G=e(PGPa$?qph7P @$//6F1Eu_ة9nJ hH *U@AgD]ȑ)Ա'vO+cո d`lb&G<#FIqg DQdȇL0ui' i&ٴ Š ( kBw 815NދވE%Ŏ<'GJ'%`1ԍz#t@lS0*p<k┆>%o:K.nhM|&h6.h@Ή5K2('*=p+l%3}M&z|PSm0`:[I{yxL9t#cji [b|h4 IcpbSc3 R?~p)+|JscU_LD8g E8*8rnDC.L&ƭ8d}2r%L;o¬e`Ok3%#sr&4?L0A#^,̜ Oz(}d`zCH佹t4E| JN!1yڻ5K,2*C`q$2N`ZR)ь[! ,sb>@,}+C7ѩ RRM*# Zz$bi+ ]0*d]drM(K-p.= Eb?I4M1XJID!A"8+ o@@n"%e1%:䟌4{W Pj1A:Ql_Vs$82M rE_!|+SdˬDyYGMr vzBfJ< QHOTVQ.(Eeu)Ê`//uLxɒxPo+:P -O˻{+F!*)AyjЪ[D{XnA@]"$x;SPgBOZۺ^>a/Uj!^5404npqqSge\\NBvAsb5m »-ǙUʆ4gx)F[!hmhrf8f8.:6-]Q=]cD%0I4më`k(  x";_J.AS䐉7jvF͡>A7,b"`6(㶘R(-2,Ǟ#iUa} Vj]3mߥXG7רޚBCa|9bRJre-!3ZMqkEh]W/۶amZOe=[o|Upo'//"w P碾}.G|;0߼UѶlַvƞږ[lSA"wq8y:F0V.&\^Q;S.#j YRQ[v>!-5L XɒEE" %7hwuuuv-YB>-m;}|ӶjeDxҰ#'Qv%r)fRk~_vc-ki0z;a ce]+^#͟7oȴ$h3jcl8?%y0!׎*Z^@+x_ ջq1NHP5|AŹk1 FqXâ֡]]5 "\J. nyaKaWԋ: X cܱx9@V/gk&&h}˼7 q%1]6reyhޅ|\W GtJ'_je@U-'Y<;xW(Ɯ|ݭ-8;g@o8`̥NBB4YH ş$= stӞ3ɢW|P/%#&LuEYj9L8k8Xra ԑ°t皋 /Y(GݚgDc%UTO.D|ݹ:P +ZgUG'oz?gU]bxU-ܾuczFZ^bLWnγkxiV -Vmzfzu:6WZq+bx5VPrz%x+u,jkwuy/UA?c͘ȽW^эn=jDIfݎ8K ;n9%"rEo%EGc|*|.p]v'I߹(i%ң7f# ;׀U,O zpݬH&:jT8e)F6Y &6e4ԧ|DA.slj伎@pQ֕Bt) +9(kvnk ;:K/‡dKnX)9H5dGյ( %ܥr%J2ldq+,nȒVYBt#;.mtnNݭuve||P-lP,`9bti(/l/a4O#Q*D5J0Wdʼڼz^.,[}p|\N~ki MwF#HKw> *q#~=mBt=r9rĩHLN]H _V3H(Tek*>ˢP-ﰻ N~rDʖkXR~%d=sӥmr^I~O!k;x:q Xm5hK1WX0ejԎ*`;AƂ< WL>M;dWhveA?5Uwu 5ɕN1W7Ty@:(iE~frhqۂ(+ciw :"ȻJ!1)f.PSR .G 64F7Т?Ėydݼ>yF~u%jy%K?˗Ν`zhTUoռy}Rن [\< l뇿7ʱhk #Sň#8OCJw@8WLjBM {΄,'AqwFM䃰UY:נ æ;4(6@\d&ZfUThW\Uռxhfi(e2ZhW.PGihHi%nZݦr,&‘" 2+DkY_1r;mj!N4hoRWQ} {d9ՠ mmnl~50.(6PEwp0#:P.uw V`$5oooxF&k:x`yLql*~do"h-Fl9a -Rb0 |u2QG9ikwAW\x?L} */c I ,q8EvQ=pxnaA<\?n 4u띝˖FD?q',=X;aJpi5BD֭{j[kETݫXuoG T!eby;r׳p"cU˒OkLbux)*׬q$ [\& ~MwytIUgn ??0q)F0WQܴɎ*:ңZ'hIx7BCtȚ•vMF!ڴ"LKhvx"E[#yi>dLE>e{qAtyYb^T;)+OaifP@Ap!1Ao4lS L[R89q:bb'*#NCDL)G:Gta7._VxwCٸYV4+NWt%dK/Qg I\Jv:"mD۲<.ɦKӖc'NkڂzӞ#>3k*pNS5*Eʅl(v^[ZYh&Ÿ<_tR}4.KX6'0e1ȏ8(x >7%k.9;QK:,1de WJ:*+iٯD # duH\W6ɿ}]tøGb{4^3OI5/AB򬔸W0}fcv &PpWA'jrՆwFp]6:icTR-U3>TE 4!gV9` R!BX*TW9F(7&w ͒'ŠIt-I,_53?desCkJaY&pP^*d+h^K.XC5I1v>$r{Y\&Ru QψNi"QO 1SYiJ$a|VMAàTchREw(>[GʷWŦ1d3<~(S4,Т缏@q`uuSO-I#M&];GuN'=:Mcls?'OKM(0>Z.Y4'nlo~d?8˔fAI̝si:Α\r(>KɅXV3wzF!B~7w6\8;\?7KF9iaGFF^v0:,ᔈOw 'vu-g_x\mݘp/Wլ`Rm1˶zþ^;LOQ3x51@n؇+-J.mˆ-˴>TXx!iWīa1zI[k8(krE[cheQ~\(({)E V)Oh?=eñtod":66^5otz f#Մ tAsWw /*crJyD|%.::M<^7' d_5M#iSuuNSbW2#\/>=^iwoxihYԚD &9)nYLF a ZH_20:ʴAl3\uY&``g#wv9<.k0 θ &ǫf29؈ÇMneNv+l0چmO.V_@ZE?C6@~LNcej3O|!fL[Wu&󦍻Y3s]֟"3Du9sVm}Iiuc_2{j+#S3z+`2).U$I f8^w+kNNo>-1ѩXKOYuI6]$Z ֝fNTouޜg4Zw&Z3oƄS7f^dUObYvֱ=F5,C˲_"nO!D !^hh1c`)X1)Xb̺X!ݩNHE"bOm.Q) +Z3᯦)J|eĨ攧Z/3&H&bK:=`9ˆH:aD܂$me#`*ș( #F2Vw[M rrFry\ P\DujCTHԤ g[*Gj` OO[{\AY}Ts/؉"Ed.m W Ɏv' L< _ҁ.-jOsΤaLD(zHwBʮ}xHWMxPBtVw$y*Iq.h"^vʦ΄f]#B*+kV_ڢ뱊,e~8 \Kem .r9xAp%Kma5Z'\9)ҁXtn,C9BSՇmFUį5¸L\軆ܡexιtA}GսrQRw66"Ιw]i80rU$s5dEe3Pj!0ļsoUNݕ۵ p@߬h͊a' `_[kViI[٘ApŲ\x) v DMV:a0b)mD!0B}Ƭ=|ȯ睃ix.۶am..ٺH]1&T]Dt9p;gSֵBE}]mzPz-=[ݾge-zKh99X!@d0a]VF1t ]TInL4y5;4[B:lfEm12ĝ$;'ŢgUJEm@tc jEmKruzXrSoZhmW]#5(IuBqX.V.Zٵmy"\ FL(TMkgݽ#\(hm"vsmo>gxVS53t<:;״i_$7Hk 47ш&p1$3Ѓ]ٰxbKmdɉ|zHpv QS,}C:r\? |bBJ ] 6CTL(W ҇UwGF}rb#[ ST@Oy!lۺwUZ7V+]lxx;H{N &U7pTNS !+M 0<jcxOkRt-&6zJڵ84uߊU-ʰvزS#a 욦Ko-ܿL@5 kPwa nhwJ6]juk"ua+0!q5v46j3btaC!$y7 խ% $SW;MjIwT绳rANQZ2=p2q`I[<{ *lnvӪF^l'^ )HGrHրqsE4|6(KԤPړEZi!55kYf!"PT+ưf7j R\7XK xՑ xBzE TEֈj0E%ZiLtymqV)wj[P N?mơK"Y6Aqd*2fJɆPJg_[ T*vkԲ--XQpM4ѭ?8mk_&qn ,+pmlU5ݺ*n]ͬi5T\jl 9JUfUIiՑ|cZb bx򂙑_n@)=vUauWmm$$ykz٨0x0 Ð 7R kVS) Zu!=1}V'BD;X ̺/ja {#m+Fص ,\AWe{WvLRm"Y[unJtelK -y|~e0$5bVjIZfS 74#0^wyGz@S \*xqtW/`OC)gM<.$^w/ڤpd x;&fbs vحu*wulM' k񸁱xv#H{#|.FVmʹ`9X=zV6Ftkzv{$Em03nHgm0NI7g-Zj5)i%sF 5**eh܅&[/dHyڑbƅϢ\lݵzCڰVEQqnbAS*E2ںa.ޞk7 nڼnޕ-Tزq} nٔ{6!@ >PDd^U|9A3k'0ϒ=&XXcwF Zj𫔯u4z!B>s ̍um5&tы58 cI FLn\mJﮊGku =")P@J%"|&<; D 4SakXژܛ&5'19JTI)rkcq%P2 +C3v:?X|bxU#[L8 R|,myv.J'Z\%zx8x:aO*Մ$Tg…DS4$ D(JT\UE=5Sw =GP,Il.qkq:>ط.Oʽ&PUf^p TsSs@ )'nWE6츠J:2…ڥ"ڈ=׏,`|gtҬvW: L(լ(%j+;]~=4dzvì_vޢҢ<8s]qf-T[%W〴øxʛMuQz̄Ld-eEjqYVQ6z˳]U2Kzx6/ hګe$E":'Tc,PjI=m[| fR#riQ[-+ sbB糧Q+.aX{P4vq U' ,6+۽ 6ćdY#My RtZN:,>|51T 晱-'߄0lɑ}le#WT)uz'f"zm#{Kҝ.1 5hCVuvϪDs٠qN F {66" 5'}$ X/`"w5FF(*6&zGD'sӘf/Ԫ.H(<Ӻs'WѵtZ\sEKYiAR6 r8Jo'oTFSh߄!! e Aء,ڌB"}BH۸cUwOGyMZh 6mWS+W^юS~mE;T,-Xh -ݫU_7Ͷ厂+#Lk[y2}J|X\u6/6Ⱦ-cr$ƬWjkռ|B6֑dy@G`I[`fu|imPcJ/$q9bic( UԫcܶD`_^M!eʡpL<`62(FSAxT^nGR,614IQդgz7lR$x;&ەZ9hOF&\ 1v8xIf!j-ӑ(yH/3'eSQDSjDO9%7HKKQv>A@ 7~1—ȦCBӑ~qSf3vm1 J+-`#/VcGH*iV [mgTN D[mBS:"%rmiV?e5Ax9%F]6S  ^'^xn? J"/U08^ ԶYBngWGΡԇ]f7N4&7˫Y)b-R[MH8l,4iaIK-,^25?XA3֮ "'ruĪk]ŷVłM~ E4JV(5];a墦\h\2O+VM` 8sC(H H϶ &V}тn1x'5l})Jth,aq3ڣW]ԡΒZ`M'QBz-ZU k^ۑHsK&9Uʴ`^+ HsMP1H¦-/L_ [o&ET]tҬ8=3V@ёY@Єzŕ3-&+o^Q^FH^>B*)3vֵHMp$ &E *o?(Sjv٥dحE` 0yE%=o\gT:A8(>§g~uͪVWrW!qCIwaņC h5s0bd$kT|&ѩT 1ca¥˖-Zpɢz0O1A_Ac#+o\yӖmwd_ YqCxtQGR &e8@V7+ ۇg 1Oɓ[QK|{\I\ũ']8T-L8JnΈCra[S9ZPOi`" ߛ6K襎>H!$o+ۡ hV lT0JbdԳ=&w=Rh& w}MkijO bf 0J_j{6-(Fe֭Vu(^*,mŶb^tMw3={w?E&DP&dD@+^ )w ioݼ} εLH ~Na6J[)n"Xp^룘aiz.X`\@\jbh7s|&;V$Hr+vMZȒATFrMt 3y}_R RoiQ IJ»N:p*I4 [7d;Y'F&-a( uC,t˥$Vbѕ(Xx2K!O_f'"j[R> n}-qr4!h=f~!(yf[E'|> o[6n ۖkU[sm`ˎp 7*3.dm݄?jtsl;zomk~MD3&@6tmd =Y7><# OP 9bdWډI&F6!GG/Q..J; M t]2SM=+!k%c*K;d𗈅&"! ;bkō.>\q /.!>r&/ܢ *Vo/J։V54m/gŚL*WNo.8|Q+,@o%p0^o6} VmަLW_DͅI}l.Z+dѲ9Yja e:y W[E)l4rҮȑ u2leK#߉/Z$eqCM.F,8? AhIFogxD0_r%ΌQZ޸7ĖC4*6>2c5W K!) |r !e?F)%5 %($r `N0XUȝ8 [tږvYu  V;$0ZbrXxHzpiy4k$&ӫ09KAkQ]n4oGI !AZ3VCrx+`ٰ- F2^ewF픵 Ψ.0l XiX#oQkszYeV5ʈc&pӊ=lHzLvӎ=b(jUF2X-x-W-Bܚ&W䞤8ITDpI;aWWQ[C10u1+rFym˲A."U@PC*~3-OLkj&}4-]/^4w6~7a`3 1x ?R U¨yggD-iz E M-'yg  Nm5d:u O RSNlTlQqQm:rXXbq'^8>J/YIT'޻|&U?7ƫz_ X׮͑s9} /z^׵kګd'?ֆ?|ս~z>xncǾw;}{m~ӽ_K_o~800P=/<_s[Gß:`?#+>s>K>~#_k+}g-wFMO˶o+}N}+O<7?~sKF2G>qMm_py-oySo{/}/s?uz7o}7||{s _:g{->g3^ksu;6n}mG[n?:*u/p嗵X,[s6Vl lyg?U=.:^'|^>v=xV _[K̥/ڷ_~o5wזnwY kф/]ҵ<ϝM[/>k`sV߆u["_ߗ='7qƋӷg?|Wo?`O)}w&浿sޮ߽oyXqϼs_;'[ϸ=t'׷Wnio|ko>o}t^_=pv>?/^WߥM`-e{]ʻ聇ïl^?Ջ/Op鿿_zj8'_Ͽ]{ͻWxwGcSS~^7ς~'ח/xj['vT];ͽ 6yt{g{ }w|]/Ƶzo|_qmQ+O<6eoMms6/_퉷ye?Wvk?//|_ w|kzŷm|ݿz}?zzo`?%[=Ko{??~~]uWu7_;//:YgK3 /^_?~;_~?/xՏ_YW>mą{7~zk_۝v|G?|tx_p׫xѡwWƿoptӫ޷zo~|q_?K_5^qo{|ޟ}jc7Y }}myÃG󉯿h+Z]'75L]ҥež;.}n?5ه~w6HMW5[wm@_ݿ;7x>gnY;6y_WtmwqϞi]O_ϟ~۶ qѯ录WKlW](5\k^}W+]?uO~}o̊ɯCox_~5yɯ}{o}3+~t_z[C_O=5xAǫoxosG;ۻ^xo|u^oT:GXy~oVSUY?=zF޼bO_oGJ7֮uE='F6>?n`{C7zڏw_~}#X|??^u_rm6xMLJ?yO~oWv>}g]C 닗֖7~~ͻ-xpmw}9/=ZsO=Oij~ޱ±ܴ̿}3wvo?Õq?t7~ؼm[]y5 aܿsɦ;o,\5_i}5__;;Gߴ~e_|ɭ矹5g]t,{_w'_l'[7~W?^?~o_:j >k|Of~Z|}w^~c d ů:];jm/-?z??Mb wKƾ{eo=kV~iE/}GJǏ]K.ҩ/Xwί_Wl_}ٍ\o\zҥ0vYF%/\Я_qמC_wO|oYoz_5߾oMm/~R  m}kG?S|kvu9?O}~???z /7tG#M9ͥ?sG>ϵyӻּm?OYg=xч^[3{w~=^Wd^[7}˿ofύY㾳>[ђۿo}N^y/_=;߽O_e[vtxWW'^Wz;/oc_l}{nnO|Uϻ.u/xxj[k{^O7~w,/7^ zkڿ}{^eY}С-^xƦ/}k/ٮK(?|yyuG>|wͿ?Mhw_׿?g7?]S6J1} {AA9k5а$K%.Λ/2QqU&i[b=Mؾønye8ubv]ġedA8l2 pB'lu2Jtv41+a-hun;%MctSH\zE&f}\6u8Q2PY! 6mߡ_.6jc/՚Pʍ@ #f􉋸p˿?~oĘum:e?#U1$oq0cV^䢃LJyy/VmzTS_4Eth`$MVtzj05fȡa5A(tɽH'E?:` 8AE~HPaCB1Pǐ8Erт8 -ו=aM(C-h7*l/m.uik>9Kt@ZxhwrKbF; [}V[:QGa@K8>* =8z2FyY&ptW/g~2T7O=LZT(XC>އ0';7J% .F4$.I)0TKQs Js6 02 }U9ث:=ժ>dZ9&p7 OdZJ4;[(pE ^Tp <AdeH\pВ}zi]:*lpf4Jww5Fiԁ?M$B/pՆA|qI6tAT"y閧,\tJp73:4ޑcK @E_Cݭ;zNV/ë"9usH8/OX7n"\Tj+a {Df#@'!'?1sM ^kV/eK% 39SLpAҌ2zfZI%  ;`W*::O-_ ]kAyGl6+4#gA4<5@]=S0.4& FҊ~X臇L@}6kԼUgwv҃`mo \0Zk!!5vg*I:μ-<ұXd<3;4S쁄6:>ZIcoo"@92$$*y!`3eb'JEi0CiIF̥en*o+쐃[MSV|fYK& .E-|5F}x-@p:2mwJGsbӔrtZ;ՎvygGN9fܰaa0Ɏ"Ao2%%j}G؈w#Zǫ8F̓Vgc:":\=*ynU-*'Gc g{5~\1q@"!^{\w= %OnoH?`nȯΈ]:JEf5`-J:f.: ,/4bծz0 ŷ]MB1E.u#70_Fظ1 >'~C׏a6ȥ`xq0L !JETT%#}IKcKļ%hut/rH[T>[Q-,G&ّa^c, \W`2AX ]!`:_b[dkV!vB2Sq/#+A\'-'S&PmHU(ZR¾̈  (֌7g R@%Ŋс$v!{rTxuC^sw% # DNW"2(8b60]FqtnQJTUP !oߢI{.2o&ĵ~QgkH)-%9fV}hBvCU\tKuL[VpfNRæs LeSn< UV~ݾR㨫&LmxtD NVjWڞ,$T,b;Im.BQvajRyE۹~2?gg+KYt;O}f8z)srˠ)7|8O>;雄;29L)s29Kd<>ǟ|jt\W~ݧˑ:q~_g2ߞ%^-48 _!c1b!G8hqYIKfyO_ԧ@L}wp^NyԪ"Q}̆ԧރ7+j]>>fIkO۟{ɲ/xv?KW,_,O3gYdia93rjҲrfi9Jm%OkĵS{#S{O8q|HO\7=S{ߡtrSxԡCǗS9q=Apѩ}16<{3uKsԁ\d:w:D"MmCw@#~+jSwx;|o˩C)͆Y"4!p4q>!4SGOaSh30`4Micbߪ>4lld+4S C\FN .Ñ;_^ACwB7 zj:q# d\SMEၶp:kMղ;"w-Z]5'OCu_:Q'ue?-Ww憣U}2R1D6Mhc ܊*2ڄbt"F}mڙ3L#5@+ *&1 []v_iZ &4\?qT:/ ^ZmdouPf?q@d,(TQ(]L? _Sm9UmPݶbj=`32F'7d&3T=LDB}ljIlT=9ȁ6MQ3Ɣ'jQP-6BQXM3Ճ[%V@L?n[uYϲ+1Qi.xFy[=fyDBS e.=00gXZ ˄Eg/pTĻa`>}r=AykƤa٩6KZy"n ^W8z 7[^rSѴ-O Ҙ6bWa'.,7`a>OV;GMOώv3 h#u1m AUl[4(Y0t Wph8FQ7& ҵI[n47/b=fMƥ4"!#kCWCi#;z6/_ V@&[KW = `ڀ)*Wpް'Bj*lٞ" BLDt9<Ne4U]%BS*\YQ~ $= \:3W'- {2 :0HאM7բ\iS)`|NH(cHH*B(Ŧ΃O)܃E[]KuIN\)<XOMTfȤKj[]H\,na7X6\|F&''WSNî֐+ L_5%gĵ&F52%!h #.pD 䀢sqi*ZE49ې cH 5=RZI2X:cZ?- ̛1 M1`j,[ETҤyؑp+vD "o3 p4ּM|` R6@q=THD*NM#?V $;o=k(`Bm2:._׀O)횣 hcw1F-n0hO T`,TɎU7j0E~DX<;k^ KG:$K0Q,?2+,* vb&%L4c&)5 nN'f?B-f_cPZE l5%3h)vդ4D(똡NCeJ#_ k+`\EͤulsLT!ML0ĐÛk2P_ѯ?U-(]dزx*"=F Aܩn`&ݢ?Zn`+;Mc' \H,>8%εi08S.N}NNLEP!?jeG0W{,id a]yrMC"~ªP&EmhXɰ 7\P#ta- XN#gD.-ćZx n14R73}xaS3ηzTv<<θh 'уۖY~y'ɧq":%i2D"O&<ʃ*ɪbFSZme5H/ͫ3,ˑ~AhB|N +13- QuRɄC+J:DE 3{9dmSâ'2 2d, B8:ERo7Yˠ?׿u=m\[o6h;;#;]0ڱTZ(pŢeen(*|Q鬀H#=_db*`̓D(BF0(7[ Lx2,LG42QDĔ }3"Hb2@aUFYt+¾$K䲲:hd?=x; \$lG_ؼPb"h$LBm)O.bN, gp18S' Z @|Hi bx5cx!-u.mUuNsynՓx7!X-mкGsBI]ź 9j8j``<2 5ݸ7Lśm8xoB&BMerGZ ؉ `2'f'ITN2IBB M| q Kݦ]t/kfՔQ0 O,5/mqiC<7҈*8kD+2ECL`i'o:i< -%]@"LM#% p/b,gB`~F(e{&} 2@-sPpC 8`Dx)PH)m7x{< BQFm "7T("1PCc`j)5xJȺ˟x cDm*g*%SG%(,=ySFYvuH( {0i3Ht̅D$G^aBx΅'\;+u-J,]61 ?Y=Pv,l,mDk3Z3L_o8֛ K0\hAOXtzäː=>j#u꫺F}4j20L}xCWgFi@{>ɰ&y]?^#;6}'ǿ&yWЅix&#27?A@LtG0]䑛:\SױN?&=ͰG=df|i:.]qFS7#ԏƯ1}er4 z%|(7 rl3]26ſ!X@w]-$Z5j&f=$%_.vim_K~޸DzD -q`08M8^82bkz4@X,5j?_lUqi "BMT7Om_q3d"F~Qf3eGH|JnM' .+@/k' xu&mۗi{nA y-(1 lI`lJ5%:aL?J2j&S9 },_BBkf.?yCpY?'?iy e p"A: a)||rB%rkW}u%0ITcëw.;(]r9Y-⬩#NFsЦqn?exҥYb~#ܵhq4id- jbGfnU8 Hg׀'HΆn𴑀> vٱ |$C ul*;*ʨs Pņў= %T"@f!!` fQss֘~ 7=h24TEK Gt[rx$h؜_G{؝;! @bվ'L&Ohc&G}AReXCH`ѱ:D-JS(J|*J5<7tvAܓfȔ0>%DaILG@ ~!tp2< 5Oxh=6A%,b99v1 d2X lD܀DLVh* u@9'& 3ȻlͲ9DiT,Vi_ $N!x"tZB8'TԌ9L= pFiDz !P:^ jbFqkv!ij):C9[!Y ;-G˞a<&of&S"u=eL`k򌼓KRbg8$2r=8yI.,)&(&<"'q cUx9 Z`[<躰144+c4 dʂ9~$55C9&_u<9G$2 f$WՌH g]Y¼D F8 0$w$`Kc'UYi`[Q߰MAPCHmآq,(d(MGxhdM!XA-VS6*2 N*uq2s ja=E8hVP^+0) G׺_au$Q0s_vTu:9$y$FC,gK%z.+fǮGn˺9Z"l^׻Dpg.9ѕ +=i}bc& 9gT'fF $0H!P,Fs#~­h{:&i(^l«ZuEG]J$j$bB0yFM謎d14JL3R^k=m~55BgX RvKXn+jG8#b)փ&mJђk[[#eT 7$mU3F32)clSk0w 'q[7g&.Dy -!UiRb%D[1/]ڼZpr y<.M9o=9o ,\,f]dXp#'rqC S%5cLISK-:lFs 9M6F{o @<=[gkɊE+_Wj9~=y c֞>?O=~9O;J;ɷ7ׇ?ri~}J-'o<~)1ba5ӎ?`DP ^? #KOѠ}8B(=y @7̇||7a@KiP%9RoGI\*h>y͓``7@mhP&*QݵO9 :~0&qs# ! zQSydn8~8~@00Z V5XsX$pII0ӢYsfHهY8p9~,hxYvN!(|&da!xGux }>]ø :WhJa&֌sZ~Q8ݼ@ ?.nA@}|!|v]Gf@!&}q1LY kpX}hzs2;7?Yy-)H%p$N Yort"[m P|[""5= xb ɫ7>ySU:J4aZOފ{Z9J8 E렟=HRװ ދtG4G{JgH7R,EG>1} 60-x㵄ևiX}ܤNG #-7k AG/'5RU,Fxe6)& 4( ;@ü]FnQ|QҎFwk@ɺQ%IY<Ǡ}rATP,kyt03u_H?@3RX"\ss-5fq5Q^,XH4^pbIТb>ym pO|*gI8"!Wj?K]~d1\'(:H{[E{!ݣLkCQ?Vj˕9h,X!b aùF@c5VGlA}Dݸ> ͛1jL`{*KIL{a'$,4fuR~慘GHvх~w1NR년A?$㮐c./aZB*. ޹52D= J,ۧ< Ov'C]K@P<Į_[:r{@K1w "R6ê-q/ü!k@tkl~@F8ǙA{ ;j yM?=yCD(;E<d~?4s~$SJsDC+xk€,$Z7ܯ,Z"U<04($d_;Y4a z}P2R n `2_zM\!LRzXF Y9?JX\;#>-lG:D5S_#Z\Y|G :.jB^>Ŷ'f9Ed@+‡lKȵ*qDbXC$Sµ %`[8~K<̨ }Cj+z\[<d+ #VPB+1M5&hT[ yd!JX@့=4uExEHy Lw( pTjΩGrx},7eZaBIdD >̒GY^.+f{=a`-dP[DwdJN֡t>ҵ,_>hgdf@ :TϽ#o00IYGj &yBo JCf}䞦~nL )8C3Eɘ}keL ג0+BGDŽArBS@D*XHe_E&#'PI7;\ ~&ycTz;ӗc2fZ17uMܴQəyO6wJ<"3Xߣeq%FGUҏ4ulRi}@+7 u|CQ'jP}@ $dueZk/+ks~"))m!QEͦ ^>;Fm YM>r7%#C(ѨF0O\ĥ眴_zwhMҫoĘueOghn#|;xĦ_Tɤ `t>|c,hCk9yHє R8Sy3"#F3\v0z9Ihъ yLR1ȄQ&aݤ8ee7ݳ:h?.c)+'HbljDfuϒuL"2 *&tT ;*@OE繟ԟL;;0K?,[u-OVޚYB ؐ7`þR]c{-p35HE6ATP1=h Be-jS4xˠ5~c|5;@Q(j 4q*3jϥ? #Mn zlr4VP/qMp9N=GѰЦGؖQVcwϣe}6IS5*eP>,&&,s_ 58 60=nE\4i!Bf{ ;WJX@-ؽ:` ֡MhBl2if%/~zV 4ͤ%GAz& @U?fX#^;M#.֪>f5;F;±vDH RnD`7-bNL1T7wV:D,  F lmv̧DQ8P I-Rˆld}zD)C:ӄ ڷZdY"g M|# *l6?v7i&cBs'HCwl?z Ԉ)$ 447 wdF(<|"ZrH sM<1ݎj8u` NUw>bj(\Qw ?ycj(8("P6ggF'(fP5Fml!5=Es0 c'v=b)3C`vÇoKڲ%sB ˆH9LmQ=8 ,^hUX 72'*1+60K¡k$3H *1j*.#yp.r'_Uf_S"ϐt1X \H $:/* FVLHlw`7M ITdn"rG,R,aֱGꆃ;țaHaT>.cȲg,3 [@/84_QWكت,5*c'1 N,V`Yn :A7N} =-biF-J*{U23UHć*J@ʼnOcyFx4H&2*hG ,sWC+#| vм !y˄!QE5w =7F^,L" Ҷž +d#R4Pm'u֪^"+@2BQK3Ei4@YdT ]AE h\E 7֚ᶞ>tlX?i[ӷ=dݢe *j/LeNҸ ^*V@±XPV Ԍu4#[t҄@3O piZ"+ZMyܴՑI8FMFjzQOlQ!RgIZtRCE@ϫ @qZi5M 2Λ}iץ6laa$ڭf C$ǩB4h .5djH6qGe]',vK5?i_[wn\3(|AY15;ƨ=k׎Igg,Z*)P6~f{6ݬNP)}/(5X֤T®?(( l*sԬ]|O@5a|;I4~gaf[͑n ԔV|?a8f+#QnMݚ5,5sanuAMvNz1wrz/zjᐜ{˖3 ac4GLl_M/}O~˜9w/ɽ̴O~ Q4w M̃aS2X%> +ZT-W,f3Q$. Z4Q x1@$,c D)3Rݾ 09 YDb&Z5m ɉp'QŔc5Jci;iɨ \ڨcrp^` /0:g/z kĽ7pSz&Q+Uj4 Tan5`K"1Q7y-1e&*`p1%'iFabs3ndn[F ީScq39sG:'5  (;3rZ\۞HX z/:Ֆ!Hm qQcH{v~MY"8Iza FVmC9:C+X XGi_|? ?eF6qZlae֌?j 7O 3q+'6Ozœp͘شڨd}jcȬAA뺙hEz!cðMnmZkji$̓&(Lm9]`*$Tw(j#euMԂ>]4ȴ5@탼oi@ V3G/ak#elsg}.о; &u6wFaI; }I Q$G 2|PYCBܓvYi](vv*!yI-Zlo9{&ls Tay9Lu%H.uaؒmjdnx,e۳QBqp !2`GQ,}Ą'~M&Orm|-C_J-JGWhI7q3$gy@"OWA-Vf9`5j1ދfz`am'97Ոg Š/(ov~CYIҹ/gK1999g-YEZ[oyꞧoԞo'OkbSی4=[O>999ΠtS>iXo}8=So,,[ Oӌ,l4]d0]dH9fhpt7\s9Ŝbt1g1]d.Hhit _zȄj?}sSK>($/#OS(~  AfYLdf6j$=}<)\U =aRi[ơ4UHRu^ç>>]{"Cijjg:Pڧo|qԠ=}C.^(|_S|e[޵dْE+?+u-9Ү;\t㲮/]QZik*r2ޏ +Vw1@rZtWRb]d;u/l8Nkqy^D('!|68Se}c[+7oV~miX"A((.yԈϿQWfMK8^Vr`) t=aG 7CcPڝT2][`LF3"#eoԷ86 <m)2]"H@1 ; ^sj6cy>jjz6:1Ӥ]#U. 4fpE&IoM]NzzL/a\51EJ'yp6 :ޛHq\wkLJe_BvZvH-2$%0흙QwϠ] m } YȒЁ % qI AbG8dslLJzXNv%fz^zޫ^28S"|sGrĤx4Rȹ!%r p;~9i\ŪLa1.ge `{EQ㌬i 2N鳜ȸw;OMUFJ)%Z@t"$&VX]@@yVmblq3IV<1,$Qvc< xVsgzZ#|&A"vl+9P`{b( 0 8M1ODMVm&iLɲqW8$9ܾ~P$Ё8)o;b :W`r.-<|Y]Xtd2]׊}A&e wq\>):l%VAΘl`۰SZWD^,֪NQ ?5H+H$+WU",K8ʖ A?f\[dS)WIݬ˽ᔊBƛ dar0\ qʨ0$Jpg:Ro=,Оrt/rT 8 ˑ@m|`BKI6~ C3mfRy|}"L2S9mEυ| g1ehJ4L*jmff\xַ׶c锅*a!xC UzNG1c,Cr#6" M8r5Y  +ݒ$6ѧlr u\Iԕ+;-#Qu :O@3R˔ }}Q { V0l@R\[: w q ^6ԟ0*^9>%v5_P1R?\$2ahB}n V턏lqZFOF;CLՆ[B)Z~>!-;NLH BBrq2k@DWځ##V6CB8UNOTSv |.mqA  D -W(8Ŏ+ľI`I.kܾ, 8Tׂ6CqpoفY~dʆQh$uWtD4'S<<װy#f\\A K` ۪z҃"_p4\T9] %Hhjɬ`hW'*)WBŜѭpӄjV.5u`fMX ,d^]ѡ+O(W12_*~ެ9DViSMWi"W+T^$j|Y*zv4U Bf >{$\j%%\$X"l$S.DK|q1@$o,*o&Wuujc W}56xI~shy.z\Uo/yӷ}Z- *-B@/COumDeaTzeý"{Uý^pop/{e}&11vW?UH0?zF|.>H&٘<T_(2ӵ0A|yJp0<1>?x?%J1j\w%>?(rsM 绎ce?\~_mp%| M`\Rlc.Ɨ9Է/.@1"Ӗ_<>|o[`ї]Q}(R߁>qcZ/~K<. f%1u|`Є!(& LCՂ-ӧ78~xn> E4cAO<%TYwV4Z,l+DVeJz6o53CU\ ,& *KOI!PlP/YUÏڊ=G6HkطXMVu7& aoK681C:L;cd{'L5ZZM=/'5muz@fܮ*ێgAclrM[443c?Ϛ&b&BI8n3z-=Ùѽfۏ-H=S0UnqV0QU72R@GDۍN>,!-ákOK`x!Cm7>ά9oJ،>ŴXpdO1y2f6*zOzlܰg#ZX27fL#&5AMS5ڍnHv()$py{8#u~EQZ>z ޣ WLYeLS(qcFe{YF1k4.:TatlCT{F)iRW X`x]?˚-kVH˚$MoX/ɂiA''|fx#X0zp%W FReVE=9MqD#K$,lwH q*BiLK(G`y0fX{Bڶ'geD5!cFqg:1R4oM J+e 1sTL{씘l0hȦGZ V-jD Ѐ5'r=-VV4BP =BT^Z"}edM/{YX5[3hkY3l-kk̨YҢ2BDz1*U0+mIoSEsfJf,`2tMʫlqLv̛*dęc@ڱ+ZeLl|e1>3_y=;AZzhs˚+(%AjUXN?Nlcv E='-++@ʪ1xjڲ0'\] k4V9ҖAuZ\@q\0u& gR~],E\bp"ZJV楄)֐/DEJɱb$+Ic*[# N/(0jW,E%;o hK؀ ?*ٺ3 ڠj'9_8`U+hmRyS,dEԫfAf\ꝮViNDXӱd3zQ^d+PIiͅԔU1cE-J8 #,  +d4qṈ́\n-#1vNЪr򉪏^[U $Mju fnzKrU91SxzځV6&DE 莱h-&Dd` F|L(",_^XdfՃ`F`n' @4wZ_bp*:N;ZoǢ͑znk}d< w; ]u6|R~Jl .e-`ǕU+7N,^k 3wÂ~ݒw2=יj9n wjW:h]I%l4NYuK"w]ml=ө (ɣ>UĢYS* ɒumTX#3zfzѓFӣGM>65[yeA!eWGp=mp[̚mӿ; +v?G;jh+i6qq:ElxA~DKOI89xU,{S_릠$ڃɂ2?=XH%%ke  zVnļFk>TA+oVD%3r8DDǔpY22+l_"w5/.$6Ȟ#ɉלa ʥ=or̎QM ${~kpiQՈDahPv+C눢q($(cg75ߨu[ǎXEgIH`ϡ*{Qۨm6jb5k $2`jTWTa2m$'*kw?\Z[UM*>,?N DhґꙵH)LEZiT͑}.)l _/z ݕO?q@YveY iCtYǮ/9q d֠a B nk&V8, 4KflnrmBaO4 1C;jV[Mb/\Nem\9䱅xIL,(!ߒy ;^H!N5l g  h $a'Ӵr+FiXrG-mQ67W493kznZAfBI+ !R)vZ~W ΀a jd1ng-4hdDVq0(1E؊&|ʶV@%>oMy\t׏FSͱHRRz݌Cj""nF (1  s3f vc WTJV@H|+L #aBre&*ǒLjYbĤcC1ҭ"Xd=~(+Ⴡ`Ud}(ۺm}}ZN~e:m gx)(rhy5nV.4W"񀲁}8#`0~̕<] v9U'h$nj>Ǜ$Lla b:.|TK36AUsfIyQq3Q_ب/w6uaF]X.txmq,"`qE6Ҵ2QFrRgDzGY۳uQ%i, ++_a_ ]xU]+,>>gT=Y.O>ۆַSEw)9H* Hp~0_'qzǾ|TbW̠ _@jg*o[iK+:il72s#Nx7Y~ ryRI0ݖ-0*;e؆v0ELS`lWZ (Q~(xPt~%q>#g4LKpEqT>%碞Ǥ\#A+OQ 3ǿ`P-ۨw4MJ#Qp%su?c$=͟6'CU8D^^>>->夹8PA" @$ I-h W赹/tx% p ^‰|N@E'1Ñ@#FIxXnp;ctdW] eQO/8c@ 18A [I}Q]ި vŗ|nA h+f=PqtN~10g蓠$en ٘3n6)vRMCZ=8~nDVb*"d.T4`L&Fbv#@12HAgt5Zgcy |QA,M۳E"[5`7zC؍1 ڵQ~Gl5%.FtGD8\IKJ$ |72J$ 'Kh=TGט$`[i+ 蒚\ cIBB6#C|BM 6)G]TZ 8 ko+;}^j;NztDb0m*̪nEKKjԯL 2_!V44aJ|g@=$< l)CLh >K#[2SS2BmedwK*lxhoAb ^ZT8q(D +OFa}n,<bUiGWyYX 1ŏE*n2')"^ \z{On" %Qў,L6Gu8 MĖEB(lQّ ڮ Q+s11SR8(˜y9n|a]};- -[Y_iiES 1j5 ?>*l 8)dV>$'3R"v"5=>X.քoCڇu͘''R8TɝsSIAt-6A㮖Tdb6&=RkfbdW BMuDF nة 4Aljΐ2) wapyݺnlh4ln!c@&4`ƿzm6/ T t?jWVϺج!AIAEs1ݦelniqh w3=y w;nt1-&7ټ Mپ.Zީ4R<}vVX7BnCTxKllnbxR){hP~(@|uOݔ\$M ~8[dpFэT6RU{Ǝn>{}MBHZ0`fWP?6UOHg? hf=$Jܣ%xIJny1$C;5ϽB5_hFۚcOn !ȽP'zo!v k# eqzeY?4{Uw ɹ%}0/>W4ҪZBZG*l5ݵsT]bݵI ^( zmIݪՍP2:G1u6$T &@XqveiPlqڛ{{¥&-fhsT"o7Sݟ㰉~A٤V$}ߪ@{n$śDwswr7U tr mB-De]|>ʝj}zɱL5r,+gVP{Ej4[d2F O"ʭRXtJ#wY⪦NŪ\BFΫ_~uO__w-j^K׏_^y螧~>x׺kx}^Р\@{h˺׶]XRw_wWY׬ {hlc'+n{,q絭k_;ڧ_|Xn?6NQ>pC>~>w{_ IEI "TWmyh1mn_DrsPWNT_7wz.APwe'*+Ur˿7!GvfL0 ׬U&$mRm sZvzJ ^~䵭L:ayLxguނ^xP00QAO`\nwPoa@e]wt }_qK(>fЁW: ǁ>|2fEնݫ xn_p J Xn-n_Ўq\#:xC7c&u$ZMKrSד"DXd1G޲<Xc<䚗uY%k#I<]߹Bj,jY%VԀѸZQB{'YSY pm>SR\Pˎ[պYՔZhԍr@:jF4֑IMULzh4o}4N>~ ajH9~i{VsOߎI:G/yR37I<3;a#}2=יJzҤlוaN+v\`< v?gؖΫ8$k{NjFxFFb9]El#M%"krlYQHX7P0ޘFigvJi3'ը]wׂ+f+sbsM9zXQ8狀URO/á~  AWugyB oM0 Y81x\d ncTq'5DG%i6'H~R2ӶcM_ǦJir n6Ll5mBua3hN:t nܡE0mBofD{iF%U{W|ҲdXk&Ej)TʷψEp'eJN"}keNDN,afo +@q~Gt*'Z |uj)P*pcݑV4<2 ^̘s@a.&x3A@b )o׌eBI(µ :Thу]֖H`cD&.i=x1,+_`E d.f7i̛q=]T24kZ$vsϮw+V|;Y^M,f@EZزJ@ w@&(f+ӕzw[ 9hHԍnzNWV²j"m5-P 7ld3jFf9R%Nn !.z>ށjgFGgB W[A73E÷Yd~ĀȩMB,7gTU>:u7rn8TT;bK ]:!y -F@:qn5VVss3#tEVGvʷr%'m4'>-Liƫao9~qg:OqiW߲p//jYc hBLO\XA=|-{Nx/‘%sQ>u.|!$QC| p AH(.Oy7\?l@x\q N>iz>-pGgE>O5+dzB-h+ֿ><n^uPYh)zLb|{ +}<$<0e?gg] oOPB?U"e.Ya Y2Z6R:L̗M36`1*H)% ;Y#6Tى{ X~i]9Z;QuFG*ԫYQN0 !@7ƹ%~SoI6fWcrI8#:GO1A4+04J#8?/U6[1ĎɓZk.if2) A`@9C{3_y^9:~Zx=#^ㄽ%SS"p[ʥ.A KǐC @Zep-kV,KRY^ c&)SY>0 #c [נIO],'TH5<#?H.zuīcЍ,Ά8˴)7"dvc&Q҂#a3'qF2^2!|a $l7.UG[baEɀ΁1mICG*Y<"D]٬RYx/4SD,`LXOѕ~sq5MYzY<.O^VPfNS^ۗ,ͷ3xdn?cuNhy̞] lDn~:y캖^Ux p0GpеvJ*]OtnELvQ^pqd;YL;Ci)$ǫ]a8Ƴ'A)Ӓ{g&39knZϓ xqpq C+b1Q \0/ HeUΧ%l59}JE[VNϟnUx+Qm Չu>d4}lZQ+J'{5KAu`&\&USIh^Dǧ*`fQ 8P 89]Q/= V/J!3mP3 <8ٯk/A:fN̳2 p86rpi `Wu̔3H+P^2< rX$wB9ű՝xoj%^ޓrK,BUܲf)h=)e$dn0]zyjmKN `Zd& ,#[qGesj&)0U x/j&Fc+NOarݑvfV%A@$Giسhtr~qHDysg6K-"Bf{jGns['MN8s48UXPS}rE|2-p@\|m"6:\Yio@8Ƞ%-B8g*NXFs; +"*l-6VZ=JXqZ5c$ ]BqJnuj1lŅbœCPDC?E3s%h'Ogu[uI|82&>dMi1K?2AvS}2R+떄19eCtXK=(D fIf$!"EdǴG,Q3><-a $$hDwpD b(PvM@nӽ~u?w+H+| ?YlcYQLsɸ<ͣJo]<}O 2]Ga86Q0nQ*.u0ĮE c'.*Z(ࣳT6'* fi$@ }pA6`*@"Kf6QC``.Di|do`!_"nXG5M4t SiɅi 1A7> "fQ7m cy]<(b-5H4s |leVj3iiUL+vc~3:m#Ι%<` /R]}.k:i G;#ȩ! -=i +NEpSDBQ h c T 8l uY3ٌ V:?(ƺD,T484#*A|N^Jl; IjQ6&;*4$82Gc,A sqLP"F>+crA`eFX+B=-]cPutdp' 8Ta n%8(XЭHs.ul&lxd58y8WUIЇ7r"cˀLP3i =%`)Ќ ƌ`Lwoq!?nz`HJ@|N$CM49$YkU.ZEFݘ4|EE-&*)Te[-n;]ay ˪*MtY}*)%}`!pf=}K$1!t * \ fƘhH{,Y »]cI7hԀ}Q?Ř&hW["v~ohz sֆ xU+Q\02om75*6OO3$B|uCwDE{f+&)f8<@b9 :m1xTUf0\Za #qPiaB68E/4c$V'kI:P!uHԌB1FBX΂N>,0P]3\ϳR>5 \ G 7Џ2Bί!T^zRR}X (ü_D^E5"E:Ivwk6P#[UnR dIbBUizr }HwarďM0Q?8t wSN>@\dE3DW O)ɺHF|PM?HzNӢz~C Ӑ43XTlT8\PȷkQABQ y7zX](t$S>)5ќx(JFWsK=N\~495*Si\A 2GٗIMZ4Y$.kx\\=)A?G(degeceԽ<^"bZT+7lP/떔l0x aƪZu B#"h\ĬZ5nUi )t9TA1Var:4NC3,\c6="qÊ`X (GB$Y{"N|!KT;(_BNzG +8Rj+=Z"Y[PGq\2!Jͅ𬮘ԓ~02! 8Ƣ0O͊@#Y4͑~P,zYhkȣ'c)+9@ÂJ{FCX#'5¢ۑyYsZibDW+L ɗ ma/s&(Un䑤eQQMMVT5QCA^eҳ]YlyyQs4P.ҕ$h-, <=44Y c.))et-$$e6vD'IQT |5Î*H 8<ѝ.<颸d= HZsө")& VF\^F'cI*yˢ-p6/^l2V[N#"C[txt bheGZּZϰqjJJ\ޘ,d_AUC%%"mgtcFܒ:KlBiY?x颸T_>԰kHKT%i1Lj%76Mtڃ!LWꤸ M  OOG I?G_r Ruu蟮$b J5VB){Ն> dsrnz_FB?UP̜Rȷ>'_}&=` ,qxx$ub{]Rl4{A3"52b^ Jcy`M XW.L˥*nBCc ! 7=)`>GսL=o3*Tʸ*ሥ =.U/4-^1:vqhiaUZ][ef봚E>#Ԭ 3>QG#o 'uGZBG&vM>}4o${ vec{tRGSvMPjJ1sEqL#SRDv++~|nN0&6|7(:خ+idTl庰o@GjaV8THTƥD ;vbd i%I^ӎ/QC ַ)g BHD޽{-ە.:N3:쿓G/;V -XiݟXnUseQn,i"rXLZocaC;+W2B,8.UwIT R]ׇ'N%FK[S]aR1^; :i;Uˆ35U$Ik԰[b]&NVQ! +ҩX[v+רPYubbFS͔R&-?R pojz)2d>iv EXo|;7qi9O<2<9O4VZJ5Ŵ8q8SQX|ZvQSQEx"$ n)BFK7dr0#(eFhOa]8율;QqKN'&UCْ1~ rt%h9Β r&E 9ciGQ&$je9r%@ ~6 8f@<}H g#ѕxo͏ꌳفAg#/nNq}.p!jz̋du|Ud@<nO?LWi1iv c)cH.Yd|'6/|Y Ɍ0dЭUYa@"ί(Nz[ „"J+Һ66ָB돨isȍS>T1/V Ԍ@$ `:JZ+OTw=W}E>CF?!Q- 7rU= V>}{*Ǹs U(ǐ,!evcPX4Bc# =~`E M<$L뗜/{v[YNL:qFEZە1{Rʣ'<)xGx;E)ih% r_DVv5{Z[ pAqqX.x蟎hjuպ=^FsZ$bb)PN~TWWdփ8g"vSy(i>CU,WE6,_:߀sjy= 0T،҅ͳ"iPD7즢N3ER⭣m[3׶PW@u%XI'̈~8J4e2ܖS,"/`CUG=duVÞ kܵ_+h̷OG 8,N  d r$&ڭhI,Vr 9qS.@ r2Ÿ'!{^9-ET&6<HfE&8O 0*2vQI0MesQ$bmG!M J }LGQqn,1Fšlv8 kd0V FEgP'6BlWM(y8vL a_JDjAh ($9:&D)dT5PmMUV'&$eU+DD$3 F  q?aT'zqQ3b@fuL\$8]_p ǗL%)ЫF,r5 O~+GW-˯1L8|؃#6Jэ}g~J j5~XxT7h | N94N73_xA̕dԫI:h q618>0 h5?#9"HL%9ObM &6#`*v0РP"2j"2j5FN!$B|#vU;a`-vr/ ;3XGC 0E@a"4g|S"(Rapfw"xH!R(k2]"E/>UnI6"-B jJ TY <~f] <'$c. 6lJ!,Fɔ{(.R!p :w#*@oPpP5'! U1|xjDL[8smؔ`"{" i7fElH)厈b"2{mF!q:Ztʂv&OŶ)5P#PT)*|{3MbN E#MW2J)-R 0YvR7'(<8ubt#Ȭi[]\OXq^T 3A8 .ټe"QQ9젂fw1XNVHNn`$ڽXυS]GO7[# c;Jr4>M\Ev:">:j|wX̜ D{XZij`1>gEZPm^6m~1󑭅89B-z ~O@ %R3Yʼn+'] ՋDwxE>C#.2lowJ,Xw8چ~/'{M;,^4MpLjI/.;G~/+v/-haWx<]kS[Yנ75Zrèޘ!)s'S7h=/ mC389uϳbe˞g;XیS-kHxl1[WQ sN*`iSXˀjGm|'7K@`0Q[n|e TB.cehK @5;/[ź-/#x"$F,;J${u")x"דܹWh&)2f&0ׅ# 0mTG%Un. u/4yV_`EZt[3Aoi7+asȣmlPy#MT aPmQ-K]`vm:Lt;:{3HC&`{-u~G{`"RXbd"a{1a{L^/̖9^h6/CZ6 C/=G*ȑphY2s!^uAMofN1Yi*n ز$e /JaSBl!.I% k*H kJ˔x K.lb$jxzr[|#+iSNXVJYnْbs$Aȓf"rerj2N {'F3]XiYKjaE62k1:UeLn,Z=]CY1>'4WئweCs1L%_4>{_Q9W%3P 3.N"uhDz'uEVC5۪ }8y2+%8m v- ]5D캦G``Y<@d9)5M0)(; 窷 !Y<Ŀޯ%ڧ$_ UH~YnFņtBi$ /W!MlI}ҋJjmMWԉ/v"ޚ `~ǪSzAA«$aK28{.9ժMd% ePcފ:E5N9xhT ua+-q1± Us^>{YNe8Uhr3\Nj2CL^> 6Qڃ:^͗Y_eTf[Q:٩4; 6 b'Jcw)B3Vp7 xm1bCAP4Li*&gKLą(c&~j-چpr'%7"aWO[9*0!H$;\W2[9Bj`շHHQFuVf֍X[*,Q"xj\֨H- -56PU<+v B۫B-}[eϲJ_Qln°!Uz$["{6,!T"pR7XӉu8"$_(-Zr&mV<*P-d[^k`ՃdUt|U [*,쫪Y.moӋR3FJ{|a_Ul2ϓT(~ݠ4gŞ9]1Z&*Cbef/'H]B;%ް{ͼ> >/<G:f^ͰS} Qջ+Yiw7}(+F8(of8X|.] M#O0'@c6|?)ϠMGZpgUv{AsNnbP ul b^(@8_qEeE Xl S Ҁ2o$%l{ َLv6mqq3KLX)3K0Q-ݎ~ڀߒm``3n#x(ol9/ru3}QsK   lk6&y["c"v4J60;4hxb8`EޑGSj$zzn0`䆟stwL%6!g!g$))Ri oڍ K+540hyHnݔҠ% D}&ʁ<'%4c QNTX"@hkl( XBI2dLK=)4<8W <0vaǑ1 ??XaWgbv6wtKPH2tiON0ݔEWl1&Դ~3K5ca gIkHYJ3?-!EV"[p=M'YKK$KF$˞QNW?"}~)@s7"(!:a7 ma=nPHQKdF8FioZ?d` ¤@N>E fX| g Eb`fFɮa*5hM) +&ǹ9-ej9^֬ G9 C 2sZXHi DqhgGnvNLK#[+qgG/,چWC,1NA2(/h Ҫ^BqԸwmZ ɲ{HWM@T6>0duu`D`*D]1^/U) It",r>y3'}I4@trEqG1cbuЈ4yQy˚|/72ИF>/9ȋ7SF"[5* ĔkGM"s`gLZN՜ɧvVaF+fJWzWݢ*9CنW8m3Vr%."x8f@<}TGLJW[pq|#|XYOۓ_Z:q>$+x.dxJ%| _.P3>*{|=^>$O^a9{(w=sjGҔYd 3z ?ߋq]A73!D|[Л0X7{*(qrJ5ͨ^頎Qϡ8DēS'PpZ XɏVX ;|@ze^k%"9DysE 8>xAB ZQ- 7݅tO8[ <8qo؎gbƎM#pw_@86a'̩ք0Wz|K \+ Soc5Z4|m8nʎلƏ-.J"wۍ>7J[?XJ<"ana<R#$v@}0KPx4AZ()3o/4i\&iehM<Z/" $%Gj^kxawbO3rpl췉Eh '$4_@ZWռz&b<\^ceX+׃gK~ lqM:g{@~Z8Kz#KU؞&vi"z=­.\E̋0CĠD4P3yBaH; 1܊zD  C g芑3]FU]jֱ7픓#ܴykcL&PH/#QǢ- ҝn4zo9ԉ| d+dz̙7qYMW'1@!+kjxRaoɁ(Vd!q!ۍy7C1c30ƁAAb[pӕO<s=EQ;":= p :^E`wMo[NZX1U 3BL|0pȹqх uLz/()l9BHw;)niy6uѼ75]K,c4.KdPz}jb` XJ ˄!LgSKY"ɚ©:)Kf&xQFN$Vw^B%W*n]xހъQqZ*zG U}Ǹ~:ߓn_hdk}EP1+4{FҒj}rJJvbgر08A۵ހ&uT]_jm[fD")K$ {R3A4]u}ӽiE1ҋ 0F$,bE7׆ɡ7x+7v]mQG"t@=9 [nHF[$*qKL I`l90.p]AI} XZKΨK q<4]l9|7 C9eN =p-7&%Zeϖ(Eȏ~>t ,+<%Yd.lk:@#3x%WRDզR;r]mOHVL)Jο)E[&o#sYs#wyB){Ih|TnZWs*wBy=LzvM\]9IzU b Cŕ9Y b%b:bDWwOD'7k@6@j'V&\SILբrIB WCI/.ɘ*l QLT;V! c;F|6!r5%NaҁhU ou%9B[yHՂ&*/t}hJb&GJ %jꪝ@M (b6讄-r%#pJ!Vq+V/MṢ`2ǰ(}mje"~CYUaH5[KU@t\!JV#2†6b,| %/o UIy`Q2p&n>vIK\.Hk ̵4t~A OVl74+"`hEz[n|&#6Kӛ$T, ,]mbQ`, !!BrAej i1 !>fQD+okP &փ3yX6 aYd2*,+ >)DH!ӎVB(qh&d%| Bj,U X_eqe 9B ID:uЋ) yD(nbM`-k TLL `fEMb,}Norui&BGtGCjqiEBr\/5¢$a]+#B`֌èM U#5B:ja"a!­HC3!":g%Ϭ<|#A'r%++"dj$X-u:SM/hv|74~zx#pqfph r[#gB%qV͘`&LT \#ILi=$m'gghQ $ -~`ByeeRoOa!X8w$/1ٜYxu׹s.0.Xt L tL|䎉8Xqz{3'N0yBˎ qV{gTYMh5({]-iֆA~|Zc5T62.jOiEɝ ?L0s,_~H-7ᇳH8N ^CƎ-~$Kfn4g4e\Op<\ Y+h>X#t;1g#ՆEPU!w$nA$Zr#f(pNIFA2űI ,dÝw!E7C|ll3V3R["`הi.TÞJgoncҶIQ)i@&u[&MCf,~#D%vvXGxg T'}6d@&TS$'Qt<?!0 A' 1Wd44zLB#3Zh:Sq39{Y c2˺MN!7RIxp xƣc:7(G$±6Pu@yj(p&sx{@60"jDrņSO4 WPᐛn$I7C~Éa7s4i>Oʀ!s92fEr=f: Α9`&h:D'hg]'Y;?hfMّ~ D:j)bYMߢ>ȗQPu{ak  2*sk ~lF# lTu_ky񨜯0NalB8+@,HHj HֶH]atMy%0H\ D]qT/XLԹ\`iABA`$`t D TmG 8jh!?B ŸÏ`R3EI([yw3%b]71#@[ln-JhxV:LjVೀD$q7h:E/xEchReCEI>g(\DQ́**,O&1X+2 P2skNJ^>1;P />WȡcL |D>U$1 5vzܜȡ8"}ru&Y(BOjY3RE8)(+XmL+.?ݘ%Xɱ<l&b6C &ŧpIbk b.C,'dJ+ELɽDוB%NTYnQEL5eK5Ǖ`NbDZHP9)+N8\io\A@Lѷs VU7h(bA\o2ҽg7&Mf5{,RK  Yيz!V%Dm` fPg)%&4ؙ@hqH BdDu6c@\/>[v_.HJ@Ђ|MXz(L7t܉`J+ , b0y2UpI;;;f=@KErzC?zXPUrƷ^pO0kR;ԈQ/JyN#s8kp8]hN؅B9!$~*$^%adN[R`@h,D ickQsTt IWYLQBQ#d'Nn:ݺg ŦNrxMcr$,X5ZS6BlR-#V,^t|?:OL_:F?_Vil"@vmORؤHv=eIG,#+mzvΔH[,*n +A( Lՠ+ CKW$oh<&*G(9Ҵ՝=$`dt2׮v?BOtlrsp3k1՝3uÏL>>2ɥw=]* Vy4Rc{嬑Rr'y$6߉ \÷]=RL>7ţaL­lX]͝|T$cGE=cՉcGC= 0cB1z" m~r,* (fň(6B^F6En-ͽ+ԕ,C0Djxh20ZٗUy$2`(,X_E*XcXʔPo6W B!̟q;14$^Ct9toa`O2qd'ڈ>6i |gp.N+M3d$`7a*r:bc OL.d'`d oUNۭZGyx ~Y)T.7zM2Z6n)Dz+-FU 5`o) +xIpHE([ >q:/Ҩ \- Ho@"Yh(^37 \,5=B>-O_G5i1>aXq o-C1㜶_ܢaZy,6 gPuL`l̼a#$y}ߐ3qv'ߦu z=2j$1 +V3/RkU=5}]O@V0 LVJW΍۪Y v{P_ els=kߵaXAwJ_enf/fW,~|)j=zֽkOWs{{ʞ->w콽{힝+PM[ DnT`lhn;7=^^oGHmkU{oǍt"5v#7wdD5xn;xNԃ; =/~{o7{/kF+sFoZwVPk^N=({Vp^ްzTUzQnU=GM6գޠzSfsj[SKm5[C`~Epl{ykw6 Fqc͎^zE6F?ˌ}Gx; 潐xc  b{^$%D @y%Kݒ;#r?ݎS]͵K`⋨]7f3=s+hI*\O9G;{0y^T?Rf(f$^šsS+,HNs99;G}:dNBe$/H]M|9ȧb+k;knݳ Ĝ2 ]#iU.`d3$gXDvc,b%Ja<*{k5Kgvϭll$,BV53P6 =xA Kb`Fd[+[csۏuF͈/S1r_ASݬdɉy rBơ"-jxcȩ Ƹ@v.r|ٳ(I_؎=O &TiAGk[}ԠJy@ﳒE<+="fĺk[!WZa ĤլQ ҼFp!sW2W!z S3 ϳWUrQfc.=wóum @g$l[ܨq?&"q@D"Jnsc2+"*)pU "Tq|j/j(JC8Á$ ł nO.)M#I/5P:6sdɑIRץuH,g 9trDC#s["@)4ױb_% =w1 qBl%z!OzLB+ KB&ðtMXe"Yᬖ2GE@ ؉.i P`9/Ap7(. f\%Zp{< Q6yiyq{s7y^U&YRoB{W-wo S gt&=xU=z~k;<жO}ѵ7o}+EɃ׮9x﵇A#>}| x%)^SOJ{px\ۚ׷m}koڌ;k#~w>{vz\ܲЄލ]`_%^;躃ݼ+qFy5h#G3 采vЇۈŷ ;"3A_'y}ݯ^Nlg_\'.ԁ57LOu\D._Hǖ*R~?_ }70rn;x:qq^`aLOpkgCqn{AN:=qMw;t׬|6rrE+6Qt)kU\\q&>Q752']xN9?wi=V xUIXXkj/\ڎm} Ozx[^Vdu'そO+Û?OBx]۟.j~>>=~ƧUB[>Uoמ=hȋwo$$رŊk }&^}W9ext{^&VBKTQCOH=F3սf|-_A]M;x+k:s#(zeQ/yxk"b֎C/m?wВھ+1lRzZR]KJr4Z#AEr8˺R1$ְURܯH35/wc7<@c+(Cuz\ ^YHtCox&P}CU^ʡ['x%EX _ M*NpK_Ky{l"k_VBAt\O,O?a'=$'-̌jX1cNI?:i[̞V.isTHIZnPE )SO_s3s1=Ț|&r-\5h59gu=}^3Guʸi3<kmY. on3*q3nڬK_2>%lUjۺh9)ɱ MҏKrjρ65Tp,+f 4ڋ`DcB{Q 4zZBRf[ԌI$i H,@GnAKl28-H;4 \ !oEg1Z]wJ˄גeRm Ҳk2Ś2|{s|3\f5T$7Rhm$jGR I8P!(YҘ 2aJ= k[h~{hx:3F2% "m[SORcۄ+A0}q-n6^%`MnX곬}U6CtͼK"lQ4HMKw/z bz:Tz1`LM>zh12¤;Ψ&1zvw%8R W 8S\Zkkh48萼dKGfF#sG$lԘVt5D2Z̤V#Ua*413WR$-Q̜z%A(ö J˥vlrvܹY1WrWPÖ.W7jg=0R}=ejX Gj##)Y++zJѬEL{s_x~?od'^?boҫ : i=Lb? i$Nb\[a#ių;w!8;ܱSn^4&zT%Y-~E4&^| "3.V19уeƋ{rVWTn?F?vYt''1ḷu {srKs„Ӎc6.( F 6|9y4ܼ%vS (L?~ʕ7p]/31'f<3-e$0bg,mt];<ށ1'&"7Uzy_<|>`>g,,1NY{. c+eՂCݲ}RZ SߒOY@lq[yC)DWX=Q­}n;.l z1'ӫƅs^d1}' /Z4}ONMݤ=͸iS+!t`sYf̦ϝ3wOb/ysϟm`1X8}93̝Xdݳ ⓼uw5yεLŖw7jE̔e$HC5dmw}n*6ɀ+=;ĆزAsr4m'fL:`2b?n]D'~7M7 M`2%njQFɖSOO*[ǬRdWT[3 ,%\ -Wa$7)ZV-[K Usl3Oe5+gKe=f:mjW'Q&a{ض}TIi4CYl)>ӣM$`;59w%Hw߶ts#yk ;Zrq-?cHZN0ԯj <+(z֍;U[ #VDW B´距>uʲsZZO[6ne rz{I5ɬXTw*S5$o3F 0Cq6sYr ~@)_~Z9S?ZcЅ, V\w^2eюtxcP"~_ x^uRXخG#*v){hB1kp\g}1D$|maUF6PK s4A:h-]"g9x՘FxhLE᝺N[7#7Ce,]bzS>')Bg ?s׫H|Ř$Op' 7NR4PzJc.p &X\Vϥ QiCQ'3|I{4Qi+ﰝ5uL@2nhR166bRwMÅWЩZ2夈{"Uq)Ա6E"-׿t:㈟{"2ȟjc1ܹJϑ"[s%,9)=TK\G53R C1sϜ .VX0[5ҏpRWqݳB'[ZFyfnV)S>bH6b#6AU@P!i3r-r^{!Ad9-gH[0U"Qئ>7@N`Vr$S| BZY ZxuZTA+I*!q ?|E?el; %X:ޅ5 ,XD+J~]PG>X׺g͝5cAE c gZ4жu8`bU$ت19}j$L]b`8Èu3l7#]sf9@h4l(ڜZ!t0rfe<6Y~\+c;i뷔6)LeP&&s])ZUg]R)0~8[H3n7ȩFY~yFX:h1gFs#(MT\3k5NdVrN8$Uѻd2˓81ΑҞ# ]lIm26cl3)BqNg[pHbCsM\$%\=mΡcL3ODs.Ux!g%f'_༖ZOR9rwRH3\،`;|zj5Ycf3.uLhuwL⌫jpa2'\!.UNsQ9@0R&a:@ WKJдT|m]Xn&jˈ2)(;![Yg V$\Nndl \Q"5M,xnۢuc HDK2 !R$|-_ ͔ٶ;M˔rf0?s]Vk0MGa3D*φPrBno/ LJ=8ۨhψF)"c110ѽRa2>[94~RJvZ%?͉y}qTWV> ~j5W"Pq5B$~PӀ6 ԧiB~6^ƴ%7"4/U32AW51)H|K c 7\6ٺʓYBW^Wз9E)S_fZ&",:GEC.aXUs!Ǽiy#."k -tx[IXk) n5'PEXZ~В6j,{W⓸S#ZaUB=Nó͒IlﯴZI_AgSͲC^>5,ji\(%RiL]&NؕqhBFF"_e- +Pup\MM(^<).fuVxBE\K繤n7/\@ߏR{E~B@cZ,NlYoI}YQ&'XVv/)sqܕZq WEs:rXhڔ{ys mк p3zR.M$2G=2#Ɵ3m@*Id}r9D'a5otD-0A`lHJ1msבٯd3aeǒTr הE=/myc (\ބe,[R"b<4b^q"3Wn_#HۨM>cwv.]ͽK9q9ܜեvL;q*HJ<~E˦iD}rD³sfj^%ËWj7+K_$3gӖLOف7-葱N{ƤKl3[<{|Зbxvoҵwfz^BZpMWa6w5" 4+~Uj 5q]͞(w:3,BSXu*zޕ4eN~}=jj]E)_{ a#|vtX1q<(0"Nguj..!A4fqrq왋զr;ΡUߧY| ~0~Sӻ/YԦۦi2γ=ϧw p4gpVAsfN_|?ւr+?㬟<3vw4mß撓83 3?_p. ߸/k׾~ֻK?,9o˟ҁj?ƻϢ.^~s.._ywuٛ2|o}]u-}˦_TWCAz{GM?S(c63W/K|qw|颶?{|S?~v^tC~MnO.}}_r 3'3[[O{ K{ o_wkj٦x39^[_e˖,/>;CnpӤ{+|~lKߜz|ק\Wr=~+3z}'et^t/\%K iGW7;K7׿?nTW}?{{w?E/^~*gnDۣa[?^yCkGS/{G???g>tՆOzGw;{O|/~3{foX=~Pz'7}ge񥟮~;SϜ3+\͝?6}'qSӇEW|oni^׻O07X~+->MV;D_>qO<Ͽ<0DJ~}F+kz~2Xa;}9`_<򴷾z}w9oզ/53@^]/AwQ Ӆ0ɓ|Kә'=M^[OJwG{ۄŒ1lZ#j-}x§{՟L 5mӛXKY?Qg'RonO'j _:YD}oy?_=~7$ذ'vM3,B>+OϷ.Ou/O{wKN|c{x缲匿gްrC}__oW w75o9V/KippOغ67|?w[^7oye(~k/޽/|ԃ|蕕<:xOA]/v%K?z߾}O??g,lK?m??֙7|}p?}3?׾l&YzweVz?oƎZ_뾷겏ش6?~U^ξ}̙y?]l|3??-M7r/~s۶mZئM߼Coon럝ߜg'|{ }Ck~MZ[=匧~g4ؒ%Eяx}Wlj%vx:Kv|5?%CMOmYuW~U7'y [h67ΡΟJ7]yӿrӦ=Ŗ'65m??_\dˊUy{]-<_|%χCVg~sξ⇇~vxnD7tܰGŦWOƗx'W?]W,yF~pÇqQjӜYg>u5Wbu1 GDRl{2t<M7w'o&'KMWow?w<9筯>n͚[}߃?ޗ.gY/ߵ&G܎o|pϭ^/vOx|锧Jƾsu _dg?uu/Krj󿈳ߎodwTNz\[_Zt\zি8O<^;|?}_!_O]1=WXc?vϳ?xzw}{W˟_#[㳮cПoklWV-׷nqa龇Ƶﳟ[4Eo]_]3k?5۾t=aws~[mʟ]q/=/VѸolSϦ/?~"{xߩuї+nPX?=ls37]sC[3;[3s7,n~% |-#~V7<>)3Vj;g:[,|\Ʒ6o9w=7ƿd[O~ז.7?y"^t{vzO>a _v}v]^'~sM_fOlOWnElo|'o} O|y?>CwlљO^ﶏCO6/)οo=gϳ/ҁso⚇&JZm[M^}cN}u~Й[x؞߶O[2/xs׬.u_~1='=rţ:ɟ܏2xaM{ Soujos//|_NաG7$u)-3wBbMG㿎˟CLЯ?^ͦܺ vW7뮾KJ;ibo6p"R?S>S6)ΰoϽg8g?etfow4=7s[(}|wsy;uh|g?7~抷1mkzi{[ozy[Oow{|o}ߘ~ۛ7߼;v_ݫ7wxƿmo{jӷN_{o~mMFۏ|a$\^~Q'sI7#9qG3WX&}p1=9&~[S my3cdFw+' S=g㧵Š)$MИir۳򦝛bn{~4[)7K͍"!*X)N0>x^*ژbLh~[(vPȼ999'RܡK-TSK3VU+z2ͭS/S-&cTm H,ɴH|?M#IbE#pj1V̵̶T[jZWY]T*ߒ:8uZYSR+LںzrRss2SU"\jܸVbn]ޕ8|hS]Y <^\zT tyٲ5X=5GBR/2.-Pi|L#%& [;Y]>6eYemMYc֔3[.mȝzIxrǖe{ն)uNyƔ˚[Wq^{GG*j7ΤJQ٬γV; *;JTᴘmᏞ֩FON){ڲf0#TUS:͖;ӺUx)ek_|x~jt\O~י2nˣS:q5 ?;S ; }^=k\Ptyb2𸫋UwNxq{_4R˚iy>u}\\Z~V;Xu(:N &F9] xǓ=]Ŗ>(kOimW+1u|=i/8]ǽs;Y[$rg)C⠭u31 Zx`ZvׄG~}i0˞b:ma NP#U+3ۻ;>N`ި"( D,Z%SLtZ;&Py " Mgы$W~xȫ1F@bsyEWnMc%QkO/'hBǝE@<^:}f{gcΕOK *!}-Tq! &811):Ȭ^(iuU]EXL1H|}3с  BNch[^gֳw2 LcA &xⅎTIVEHRCQW]V?跤1F|C0~Y Li흳@:b]݊ \\Xl~K 06qEġ,ZZuR:{&wf4 jLΔc@c=8ϣ1ɀz.$R;'y1ML]OwsrȊ p=(箞 Вi{Z#ՁDnna[-h[:uVV8؅ْ;NKWǹ \yG/#X\`YܰcC)@o[D#+[%xFZ%xU a8M%(u9B(w,o:5u%bՏ˻22TӀUtEn.@" YbE٭'Ӟ̕O$VU*PM\U,SB_c_A֑ZE(lY{g)%NQd`s1t?T%TRE5SIK;V͇>>V\u~ wO]%pC~f"/^'N~EQzN+Z|f*C/I̪&DK/ FߗFS|Ӵh;mi3-[M*,A:H l0dzC|nBf!򃁜5k(p)}B ֱCћ\m Ҋ{Dn* =9қ \fp(?1C|ph5mҥf X}fɦ88kt9koll 8׷OH[Ȋ98f0D9A=?\Cf:HpnaH&p6ysrrRChϲ3} ^$KJIrOs-$gY㻹b@p^k <$DZL? zdƇrV/!N919$JxsM7`$𝴻2zA/ @J󰅟Pnv|"A5ge:߁4Fc>OpH?R̞y Cq.c#?G~rWL 'MyCȎ44z h\5J:ă?S#jTLE)AI) !%/d*bh8]+z.2lAۄYG<xk.N\.y#o؂H= r.%BC)uOL+7:ݔe1XJtk]R(H8wO-9xМy<7k1-Gs3(c( s ?gliccNǶmc۶mc۶m}ϙ99yg}zr檺VժZo/QWԅֻǞO4]Hޘ,+/g4oAk?70`_s=o?s}?"VM<mi]J"n@5z$S)lHb1 'R8J\d,”QcBL!.]U֙CO [XG/.)bcnB}Bsk&seZDhC !<9WbacתbbkwGgxEic>6An(fGZ*!a麡oAB**sB]J! :?n IF=L4K` @xh*1pkh;A> KӪ<0}ŝ}%OrQL8ʠË{h=\i*8Kk%/,XJCOv 4,S(Naaw`9&~{B_]Qo[x"\8KC@1?L(Mv$;w=Tn'HB`d40|;ڿ-7oh|!\-oXXƀ?]smW}w-@p٥| o96#6( >CT@wՂz<<<&G%97^N Ȳ0Y[awH17Z$!V*G.uP b\!z(ch Iw @{{2?t+ף{vwa222N6!B,+24y}⤂#U췂>T/ѵ;Jlگm+b|o*KȐp[xzY-6iR(!wҔůhOL3 YZxE$%{X y&r*5"Ep@˺n7Pg}PHR_kmH-Ohѿ]enm2Ui)=&YZd`R,MZ$ؗn1օe蛼[V_v+W[oIbFZkZJʢo sezL :\UQx-lwOw?-CSEߵu%8) O"4k!fjwUD"R+w}_6kNbsMAh7T'y}qr=|/x:Zz9٭z5=i1eWwIRB~G-2,|ۏW#iL0XE2R@pW@~~v'v5#zunPWb1ow%,dң* XnNԇi!6agEbC LVz?;~]sc|&!7 _(Ns=mWڅRyxT\GCd{앙t(+#e b"pL+tɒ&Rin2vb4SJDOglNYѱ5/lE T8O;Ӎ3U,n NӏR \Ȅ ڢ2F +8.Mn*PU/䷸Kp1 M0_Ak>=j6ߨ#f.܌NBsӎ>fJ6})s3`0gD9X\oTj JK^k38SLgRv P)jBs,tG;u(Ѧ˧)1 NjxHhI?YE`2LQ|&x-N2G|XrW/QHTyq'ypt,ߤ^ ^+꩹n}ML)GRO\d6CWc㴱Y]3eY{ziC:EԈ)K;;KHWOءL7\YddtȾ.z}m1OiOe;aD{|J0pVJH @[mgfYȻTz+$?˂ǭtИR.B7nx}7rni3]|:2-7$Xu=<-bXEoXAmWD9}O- a_,S: K1)fO#l.诮fjAb#Kc RDJ}x<@uuhrU&,&D+pP 1ec:#p~6$q*uGAh@[E?A ˖kۋMgZSrsU OrEu+Sˬc“r%uH/FylQv9!y|GX{7-q K0ubMER ,q䳖b<`d?R􆣒8ڄx;(CL@tY"O3E  0L,qMZ\WPQDqxHcyUu L Ym~tXϩJn=6XnT_5wY:y'յkAԦ}дNTnn2 $.6пƠ|:HxG`CMJ|W)${9LCPK]#eWpYct(S-XZP^$2<)VxStlRi1r,x⹱^9̶eB?ngAm6yzwϘ|WQ` ~V⼓ǽ#/gAɴ/#.2SB}UM.0 Y8V,[_: w)0I|~4)ƞvHi|;~볫)RȼESĥ[- 0O^I(ɢTC#Q觉R=GsPELH#αk~8<tf:=AEcSu-ɈNW`w6GB{KQ'ȅn)TQzfٷux%'Np[T{iV*i(Nٹ9f$c8߾V;wE^.oū(*$g@Ix;M OowimVZRrX_ $&[@[8s vZs>6QXўg.k ?*ZAMoSFFBI8h=A!VFyxs!̽fZLPvhLK='e}ﯞmPx"7$wIVs'$wB/zEѝ* ˸Z8WrX䏍MHi \psƱFMtۦy&/~:]ML1QqQ荅gs-U̹ jh#Am?(]31"ƃKF\} EX GnWJ+:uӚ@5$Y;qpS>$%M/N>]Rm JZU>^ LCԅSӥ}cJƕE =@gꋃm=w0d.Ɉvp==rOY%s)S"LAG)M_a_%3~|$QQe{4[A;b9#wg%#\b =O؛L] tjixP"u@<||dh`⽎}1@w{> 27(%ԙokfˮJnJ22$$y{?2MbU$t58jsɯu4tTĵe|:\6j{$~(9/S=ވFQ|`4rw붶%<9gmz[0yoq-ScɑqhsL'; CeK[L<}a4՚K:_ZS}T+SH! ٖE$$KS|_nqQkNڂ;AwEM1Jv=YnFĝ>oo-y&m*_}rau)Fqigt =Nۜ5{u` (YbX]r_Hwc5JU]wG*ʼni9Yb?>Oqbܘqu yӕ-gb~aiTuЭR9zD׃jr (,ddr|VceVz.2FMcf=.|,gХ#e-A>Zڍ^d`.،4LiE]CnCt%KBb8-sCPQlg|h>#֡ ΰ %m[b^bܭԿR6C~ MSݸf%@[!Ɂ w+F.NXvKx3⮔rTpqPV~py$ztaD~M*b 䠂6&mT(zQ+ ]]!ԱTw-q9y$p[BR6|3tKʍbI|2Ri/D-{la ˼rW\m}Rj`ep!ӃbXbc[6u8̝r ̲0RyލZ8֦+bFA"};5$n}].b0"NOkdK?J=UX6"goۉŘiL}ҁV Q]Jg?HHJb_) D9!B\7nxGGMT;Ro GD4ω/` tVǝ^Ξ<[ID6 >鋰>p EJ6W6bic@gYA# T'㏂eȾޥ]7%lJ'5 U<^r3u<<5 ȒeY1hb\L!Y`NE 4zAxc#7,6[r;r:Of}3GE 5;Ìt]klwh"Y"I'{@xTVaA^]/fǧ >~@V$&//}s_> =]ҽݑ9jgW"`+(vZ+Unh ٥;v!|(bm>#oEe*lGGv:Pa, ޤ:6>.67(aVCI϶܍‱78 M>6?&5+E;1ɐHc}0up˓B/,y g՜Y`ry֢e}]ESX2l2SJ@3+aS8D}DHɸ[?<9V;##yC#S nc#7uPBG5/K;~ϵdS{JIY$[":';| Zu2>K$7ʖ (N:_Xق,TȂ3* =ydG0zUDG\n0U \9^4):fo7f/mBKkoׇ/EwxM -Z}%"%ڹKnDIDblש}+2l$܂! {:8$dz@h8C44cs,2Ŏ_襤)}&F!rs}Y 4tJzUAW4+EtǏ̫])/fH`:dLG^7کwՙs L+KSZ"nX\Ro~m.el8~1Qru r1ݤӨc_v$^Ə?7.s./f#$È]D+@aZ@3c/XӇWae}~ԟ^# ٙeu,ms*ޖuE`)re'j_vh㈂E(!9٩l UT6c)1&o/ӓ5S!p==g\h38 |O&K#9lܕDq$2soU+{_31y3}5cU-w˺ZZy怳{c_ DnGj4\bF 4qXo/*Ϸr_2待B5Rng-6ukӊw63 ξp|Sٶk|e(:y4(΅w7>&i9bh znV7I7Nj{[w;W p!e˞7R, j}+>a^-%޻1DI5}Ϧ&ˡu jPvTy_l%dZeMa_7?SI7}+T{fS8XRmxUݻ-a B\Gx4~5jwo-aX[o9V MnZUq. ‚ W i^|,-2w8$"7+aR";v Cwm=#uΉBK=ՁlmfK99{ Wf|5PIxU*;#DKRּN Ԍ&Zyg}fu>#Я3e;n[UA}ڕnL4G[f9$E>]I]zTeXBbj^cH?uzT ѭ47D9$UNw_:g Aׇ\դPG3jjh*ը=::ƒZ1xCEjm'D{T{\=i@El-,>j$Dn.\ ˤ}ȊpP{,y'a/V“} "ޕ~pq:cTXh$0$)1[H!B]`Ys闋ϞF8. #YP'L4Fk*{W Rהh|#17 sY2MO^o!".hIsq^?kfcXukȌsk:\Dgh.nN~"2C=)*NyDiV) %u(a"tA4UL,}$23_cw! A m1g'W~ap7UN T>VQХ+Q84$[ UV /Qolgr3 nM1MT ZLĚ[-*L.l=`:췘a 2n--Hj6{7|Y28=оBLDX㽮>U,n8`&Z! 9y8f:ӐT<[E8ńР0G/o_QZƖijSX?%!_.v~%6M|&=ܶ%Ry95Ȍp Y,$Mbu>{έX=@u&t§JN.ٷYxE t2K'Q@a$Oqgj%kBlPvƾd{BtӲxǎn«[{xK«75}b4*"AzwE#k5ۈ< +~X@ѭ$^軤ګs 195=3;7 pxt|rzv~qyu}M#\\<";h"7 /KevkJe`@$냥PEdzU &DR}jf4ߋWL-YxH+]nrn1^2ۮ9^6 ;]mPl?>TPă*x}8Wex{9&xwy ']E3XôA"gcKOk vo#t3a`3e'3fo3|)p+BcAV vv^vvbWNNAnNINEn͌!I Vnn8^7^½`򅥬p!~7G}d;%t}G|/wxvZ>FdEL[5;F*uy(CLGUcSr5szEǵKv$'[' 'G'MW3w;EO7mʳvPtHwBkg]B?PM_1{p{hIL.I/bQ.iz)/fM.Yv/G8n.G!W$%WbWRBdMe gT쏯g5RQ8w,,Z~]5]v-__][F7[')f> :q@1ߎ/I?Mzˎ3{Ϗ{S\wpXKxT=kx\[x|{x|t鼏brLjJ3ܜ~͒V^^Y/լn'!u)ϮzJ"t1x~ !qa%iMs=/B}e:Q-&zFKL`쏏3Z*7;S :A[OvޔN1^U xA3+9}G%.)Lvbiߤ%&K/EX6!z EDxp61f7adPG~ W%PR/҉-rrE`9(cC(D&rh0a].rŌdƂs )]& 29]&tyZ%^&5^q~uZL&u{LsCya]CEg 󓈌Ba 2:]e LD&^e'J_ЄL&.\ HL>\qHĺ/e. ).T.}E.u.Ҁ-RL.6/R-5)Rm\.u.Rm}. V/^>8vSRC":?tS?\GvaV[b $0xS/^b$?0xSSRb0wS[?\bf?pS[j'u['^jv0Rj'|t87\jW7|t۴vl(Žrxۼ'^4;rxrR+pzvpᶍBl R }h !՛DlJcܗyh _Hl)DE|z]7MhE&VSrhi+)NL~~gwT?e x}/Ho/6F_DzG/~Pb9C?j᪬77f>js4M.y9l d_'P# BGo6uf*vEuen `ҝ =DMޔ t_b7\jsM"f\)ϔr:1֚,ҝDSolIR9ZP-S]Xi>.6µ9s8BHdl~v~l%?Ao?<<@Y3X>oM}4 l$diPʿωb"&05)w?%!Z+4v+OZ'Fj0OlĽ5| ٦ʕЗsUeuPdi4wV[+݇]ۧǀ'b{mV WD:Ixxx\(^Pb=MjGq0xkܕ/{ /UO|OS W7Rϖ?YT0>+8Hm ;_Ъ>m;ʗ0BAe-!y( '/+RVֆ~n8GAsnRc|hU}Dy/d5I/S"mȧRcP ׈L9؇E 3I_+ִ^iO,K}#6.%6-ȈX%.;i:yȼ&ec1N$tY{z5NOrxJgwP38-{o!էt$Dt=p4\6I}(X" Îvߌ>- +LhVRhO00hK|A1a֖ ߅?3G_T:SϬQ5P#get"02/*RZD>>K7~cE$}w4Lsk Kji{^Ru(3jh\3_WŝN˭R_Hc=;ŋ뭥0䪋nZ* :' #6'V{]t^ n~vѨL`@ܕv cJ@(R'SP*2r̽d|L_~%W_~%W_% `pYTIuHN_ߙNc5?\~ D~?n/x?lڲdn֯cENB,1(ViY\H3(&0%VVNNHJC;o/v^Wm}LXl^Hqso(I2A`.V4j2%aA.'Ŏ(ŏ|(>Zp{٘Ufz`z1eij&To'RrP\Q ?r1=j A$v2Pʰ; FaF*ΈF<=XWZ,65L@^LLN'Ӧ9㑹YX, =i@9&E*D`S?`ephZ5c'i}џ72\-O"F}_K">᫐edH7FKܕJ#*X3B:~ͷ2@͹y\)w`Y2 ;\ b!mE=yUDrڧD!FWܻ\ؚ]1qG p +HDk$8i7Ĭ{] g8bKmߵK1MS,~(fB|)% ז^0A!b3zj:k6T9I5 X-C3<,E|u:NX J8)zbi$+eag`7ߏlMTug"FzF oN--5p)VWnICD ,⁴&4%wn+0c:% ]NJ_Y@5Ra8}!t,EiyHVnaT0ơ,poDW=Y1!; H۾+44ɤYέCqLHcGS^ ^t_R^s;r7:fOyu.1y7Cjp]=ZuvFÖ^N/(lIīk!|: ~.M3oX+Ej \/t?5a//|q+n{ǧ 6{N7!a8J`{6n#lIÓ]e\E3mFN0I6$T-$׏Moxzq))g( RDb6c3v*ז k}L|hX5ٖv]YoP,2޴@QoTA>1[cԓn0Ki1fX3 ~+'N fN[x#Pt>_9;Y<Œv)p]34nC!`<5҅ /d{Co-G|) ߛ*:i V 5v lYH+:Z/KqG<~ rv|EwqÃp_[ X*&*]5hh4r&2\dV#vH>)V{ZqxXt컈DHI_p€G%v71`#J\>\qnskNʷv[&A9u%v9T m_qOgvNd~z|$FY(j7ބ)I~^= n~iCML(؃_o65&UKĞl >*s=ʼnH9=*H.FZMbObc}p[}yyͤ84:=49?4=z=y?<>t=t?t<y}{{x|~{H|L~JyN}Nz~}{,x*z.y.})x} OsUOsO OKMO-O+Ok]O=ϛ}ϛ[C#;oaygy-?MO=O?νͿ--/>/,mm헋˽×룗㗛ӗ۳ׇׇקחןmL _G:#?rWGABb+Nb7u|?7%߃$hN'H<. TQ(XH@ \11,~)`Q` >`$r1rCAnnX+/ {pLj~C/ǍD/mӮǞdN̨JtY_58Ll  )ue`*6革餉ԑWܛ*gsy^ŵ-^%&u'g^Pq xa ݰuK!O:3-ʫ7 Se-A1t4k}UkВ ȏ#ݿDCa@faml 4}o#d$E&75M @=S}-4. =bNO}טMG1 C-^DrfqǴrؾα7 قW oӪOJ~Hkۈâ;_c#J,´*Z%U9kv4 դ^0r5u6u9ⷈ!vomO&O,7,AX!-[=/x5w6l̴j3˳S@Y롞A)abr"x%%v.s:9l~mzᅵG\&筕!]Zbod[6a!$ccBnxYլj4-$u|SQـ-$ 67}D{ 2"wR1;ztv&Jz;(ᕆ/>HnF25:4P/'_V8H6ÇxZIr`\~ ~(JpEM]i;!߻Hmj"}/saUfAV`XzHoc`k/ cd߄YS @ALxq(:QpDĞ6~\eѡ0f?Md$~z4 9dơĂy:zZ~jJd`x*TQaBGACex2CH,&-lGIIEpD@ǀ3)4Sˏt*_ tɗ['ZLBig ڌiք*AFIdi*C )\L 88S 6"8OOCWb2L(0Fo7XL戃 EFN%X֖]9JuTK   i$[FZ1<=<=ʠ I<\rD?yΟOTNfVygǧgF#I".& -: GiVMT1ۜ*F<ۘw 3?cURR!`)o$?kv+8GOX @ȃ&"w_K0A`~LEUG  M4* ۄ*Be߫dm,QLay^#ah-us="7 Lu%a)ŅP72Q@7 P<} 0؎@za{~y0 r`Pe"Qɶfꂶ+r( GT7Kf[mqt=8q4+lhm WD_)CicR)c\m]:Csp#90pYT9ϖK`D_9b!n(>.xt{Qw Xv@Jd6;GX-`c{6!3ݟ0|sQ2|5Ɨttעyx쀁 }0Q-Ԙ +nR!`?eBtK ?#f`Am"6{{M {pnOY|Ϗ(:_7MS$s== F 6TAUϖu /xs/@ ãu%{˂Syl@ P{!S BHbeGȎb}F^# v274FEkDƞΣ_2P/U>*@[ *F 0l}f8 #u;hoi0yg?j|P$f!6̌Ot5m t?ZFi#{ T`気q~< -31j Qah$o_ e-ZZffV"?? -/ &BJԴL4,JL oGt .nGfQ4gʧplfx)bgӏA05]P4;y$W;o[JD6t*nTnJs[2.r.{ |?L~>awE7qW\g%]&OBqkj[j{!Rc0 5-35 3#X,;C)((tSV"k_eփ Mm@3(ZSieli/.Y3#?/_- o`[26wtrVqQqUsWqTsd=;;77?<0/?:0*868>$1,9"5*=&36+.'!/)# 93059/EH^"\JZl%ӕWBpw𓈄޶et]ZܲZ`TRBOzNJHoZI" #g)FtD69z:uYI&_/] #?kiiXX[[;88EFF&&&׷tvv---7/S& 1|vwhn)U0`6a `,c4~0`OYs47uѵ24VLgf_(7~__R.-CSC vCz=!=[j|!._? '3 )naǨ%XF 4~ d2ΞlI>?]J»68(;51ֵ(r>z8v{~tNxsT= 3!,;ځ4'{ad[ha "ֶɶe c cUrc w r vMjwzvmf wSv -Nw<ҽ|?eJe gG&ӑ&.WS@)XtT.vT5&Hq\=%g|\3Wt\dwx\GGQZk|Ұ[txTxb|Cq|5c|rSdxvrxY;B<"orލ_|ރct IOYوgrOW|1@YtaLKy90kr9̲[l=@szt9 jϨ IդЧ)yiYaOq7y%7 &u7fnlfMovK,N_oW= ּѹxV}IJ6m QoE˛o$۟S5.ř=>׭<R=UϚ=:~}5}-s8;=}arb萜,g$PJg^C}pNg!u!o;ϼI2:j3`􅻰|Y2Av8DxA'(r 'Mt0VMt$!{Mxl 5T{h+˶p0; pW-=W, EDxp61ɗ~NQ:٤w҉b9r 9_.br`$5-z~?/?Phl7n;7C +x-*wo_ ?;Hv@s&SDŽ%Oo3z?'lH\?2ڿJO+PCh:Oo5oĉ)ĿttLL[@K@~?6<_Ȩ7.IMQͷ#p3 Q|o5o >Os@'U]k]NjFDZR=AD!֣vuÓ}r 殝B_n%z49G@ݦmYByb=~izyzt N$u{ b  ẅ́ûV?wEm] bke2wrelpT!L?J+=IIP$]30I1\ =*TA}Dy6>j@}ZP,gk.G)>P"_;-Ş.yq6!]6kn^ CP"X5R^YfiïeoG]! IR90X2f),MoW/Q7^GTyWXmE@?t5ڬ̗v!xp`΁oQ( hjРI"yK%W~8#NJ+Hƨ&QI|{ؾ1ҁY<5raqj7qoL ֨)m+.vA.K ixШBm90q`,pN4L^Ci`\8q0/ iP`+Cw"zccfLB/ļ61c=&)!niVV523ǡTIKvEYmYxtʚkߣjcq}/(=㒩qҢ5H~EjmoXP4j\ɲb*'EA],W|Jȥ@fQUϭ^-Yƪc)εs3+?ϡPN_)B!5UtL}lߛWp8y~^tUam}k{yK9eO\vRqB{:gĵ~r&%":Hr, ۷tT˴\+U?/ӎӳWھm6>҅H'ׅlÛcϖ)ΪE6]:'AM[.˖`;^4o~2߸[li7_?x/F~w!ܾ^ilY|zJ\u۪sEqΤ}NY[ԵEZO v.˕;-k? < u("sr9Y Oۣ+7v7d(/ph1qήC뮩M(GM4ygv;oZbglebg_S/0{g47#֗cQdlW͔I6ȕ R6"OJIҿEv&0]\rڼ&kڝ'I=m].$*u`c'oÐ٨Zxx؏#iGO=Ja{y yj+/]ӄ>eߦHV?Xx`|+~NEFpd~$3U:`ؼ< J^hX g+ȥzK4;HKkgԠn|j\α*PkP$ǥݶiFFcqfqm%ruŲɻų[w)Ѓ9+}9JUL(kM*bEņFG)Mwg\#GK*23_519\_ fsH&GF+$]ߋ$Ⱥ>=nGv9o{!kos-x1as?ww-IqU4W]%S} ޞ.Yax/AoŠy=g@+][t#he(O(& m-i:0T>.J_?.@zP, .%4+-H edO\lRMגɞNвY}WDo 'glTrfJ vI,6ID "ʵ>L3 ;v"ee5g3"}@L*4sP>v[jeSICy c y[v9ݼgiWĎ4١=^br[*cD*3 b= !TJ:M; )jY.w!ǘ?jk4n0K˜):nlrsOB(Μ9g'ʛժy VaQؚ2]#J:vjHvMb )゛F,qSk~,}//Nd̽Ѡ*(pX?({k-WxO5e}_:O)Eq_]Fj+2=]貧EkZ5չagDZvj4Gmcp% u]ӕH]{6_tTZt U2N' Ta|Ok&iDƤ@?z^û_J KSwᇉ-dZ%Cbr{)\y;\IIsAvoC)vz/Kwedy9@l 4M(Ah|e7Uo]+ ѽ9lVcb্NNݹ ;-/dLfsg^Mo5i;Խ3 H %n?>C 2v[nKǩTMx.窯T"+3}0%cC`{%uVyy*xG6i弿 ?p ZV1VNMX`)s99ro}fCW밬!оeTNC<,2 LvC@ kI0WK[5^5/N8R ٦}2I9HǷ f~X84 q 0upLkbƸ|9JE_߸RU@ʜܔ j{4vnym/>r;cwe^v׶r%(5$EۙicuQJRu[x&,Qo}Zaү +IlR_mG&,-mֿJ6N^޳!cY󐽎i.czKkc4YiQ*0wf5`}lzt"/Y&żg?h[Kk| <W*yk}+O69%* Ʒ =JZr݆S/W]x8*ik靦iX5-6j"ҁ{ECթHIn#BUy OfN=ISAd8Z.%xbtқMVy}\k#xLKyqi VM}W?Aۦ.YQz3I~_Ċ x|lы#p މ4uGbb=wvŸ(v-W~{Q΅#x&$&Q /o)7LLb{എ:``Ƴou5lwrAA-)٪5+T3o9tc x½r6E>{džbgcW+n)1ޖ\~T13Eo(@۵y0` CmgWNlV^1cF0?z'ֿ"<\V4McQMk]?ȌSQћӫ&{ܔߋu1U}C{?*Oͧ>< 1Un;DAx6=T f~bSmcˡwct{T?`ƹ6=E saX}s^VzK+ZSv>IkL[X2S`" NߴftM kC`zrdǙש$%5woG1WĘ,v5p^xl刈)-A~g$(  Ƥ~׋o -}Wm[srԯaqZc9?cLpz7y)xσV뫤}N]IV%g:q_^C@xxã"X~ړ̓. k =jvQبnYVlMYnTzTui≉lcGO"2 wa2~]nu Ƈ nx{}l[kY|w.r5nlMwgL6&([W{_Kg?Ox$nȐu(G* ϜC9=c︯Zcz„:͕k>7e\ۼUR&]lZ)eӛ}:G3j ę=#yAĞ!g W~I:Tp|doq!޴=Wg ^0>ub󄊙 ok%Qp] Ct'Xz=7wuw-=זzi:U^J/}+7;܏WE|bŷGiT8*ao3w-غ`}xNPܡ-wnM8ۮk'ֆ Sޜ9l)[lebX.b atUOZû&fԹ+:pi?QO 7N[pza`;V8eqfXm_󸱜oNj%1'Mw*kƪX`v;6Hinm/÷,NXa$ğHaxKa~"*Xu6~̛e5L XF\^= uNJ^iOCDGQ};ӾwML獽9Q]Oo\JQC g0ԡe`״M;ca:(h~ */]q~hA\{7usgTn x^4ch~dڻêGeKǂ ͩ||&]_wy61u+9!]&Ki5Lٚ#r!tpת?aL)9C߽N TkeXΡ}?$ z<*ׁBf4w60oloJ3yd`΃qhCn{9?1e5#_S6}Gnf}#I;_y+EtLX&ݮ1T٩Z"J\sek;(2T@QKf.6Q;C~GG)j:殢n[Q!VzK5/t0[ɷCz ^_B S$zJ Cm"nUbI ]ؠ}=pB[WQ$GTFHr]:v޾Cړ5g>3mRfOo7+~w V]^?3128cugo +H[Zrdwtt||y󦳳۷޽{>~R䲡r<O@n6]gSCz#.[xϬG"Gjv?goǕ-k6W-_lsK {_K ?>wlz/Oλę?oM/x/N|:=Y:sc󎈙k>h??ӹ CyWtS3;w'9?ߓ ?-x)[KĔϟ\k]!7/ _@ dNMJ?+˿~'R>urrNKe3HYyFY: d&^d?ظu4ledzIV9_;Tnϱy82U|F7} me_֖BO4xy]#M'mW+VOYN#~MOϵcVkhdgwά:͠;!tj|5w~Uk ~Ss\~ ~]->+5Bj.~l?qYGG"0 vQç8VLl4d?;-bgmd̖8L!/Hkrmy*%{yci J>fVا$,ǥيjD S|#АriGa:,x.+(})kN|8KyPFCQEwB+_ *_j}Q\>gxDbKyPmږdSZy*k} ;|VUg݁Z˜3umICp޾O↯_V;F^:|j`3ť y&:^T1xwF9"e4<:*Z# 6%uُ~끸=-ub;n~ ,p>f}rTTJ'}z|6+R'bhJ;W}'͖;,AW=n-]IkޱƏۨrX;p͵Jy;F]h,*(0V'Z|G ?VoRR߅i0S~[cѶ(i[nD!_B#jW* ׳w㐠뗄 x=Sx)Wv)vYFαRϯ=ܻN|Fņ^7-ULW}OM֨0be9/*z&L%YOQ))oifS1?fr}ƒʑS70*Z~U(j.>:,T|d[&{{4sY>7?lQ-=8U10VwVe0cֶ޲q0ib{ñFizTGdn5$]e(gۮzY[d[ Ưysz{E{KpÖ&/KN}mhj}kbU\ h*oju|Gǧbh/hW7:L0٧:$~e[5|YՉҦ[.6M6bQ|jfFr i`Cp,թg[*g&:Lt2ߞ}:=exኙo`oUg;fGܮc]4}tL,n]Y58mݸ\Vc\xZFUeK7ډc 8C7 B˚*-;=Z<5M>cm}ۨdیǂccccc_\N/ hAq"4lbblCJFR4mZ2csJs[GF'Qb[bi g#X9J(!Vk< EG(x_p#.  |esCLЗ֠oA:A-cKooD b !4v!X?dlC[9_VPvܱbh0~00Aa"ea0C f$>h&u%&}.KҖm,'y@&f]hlxYd[X27!N&>BWО4›9 )i[=omc\8OH{x7+#O'ĥ˖omOiN{I^Mj.)_RM~I7lƑjqZ['3tx3Oצjf4˜8ߞi2iv>Ɉ7J+˦<>˾<˱=y<˕eO;Ǚ._F}0~97{0(cײڳƳSxsds.id(f_.mϹ{Pu{+qW˯lR9~e*{Zskrw˭mmm{2]/>5.syxs^wgXm7ӾnϏ[}Xo&0YsBfvOB9?v&??$Ό' PĜ%?hOm;~?nk(yO`8.V G-HbU,$u뗭񿧫ݞ̠?Ew#o\٦^Q?<]b?'ю*wW09/ټCH'>=]?':7yyݧ1/O=XSY x W{O—Yo?u֯dL-1gdpJZsg຅iS) h9#N.%֯?O.66,g#]LgmT@24s ={/[S??-+9j>l# ybO??ig?KA76&ƚ\d+u$ӸEzOI_O*YOBcG1iO?/WM֜ or_R&9y K]J1m\yG5LJH7?} }pQ𿦲ƋFrه\DSgYdOEIЕ}E:doꋡ*j*#'{Oݮx=8R 7;i!o_i;[IX큓ߣnvI75:L[-7n71p|iJ2?3Cܞ=٭:3ŅjH, RtS?V;q-u[M cE(;4?=96O,3UUXk0G)K6/zCEb'^_!>_\,PEaȑ9_%o\y.?reyz>|/ S~"G_wXOgĿmxCfT]/gחJ< bzB%w#}J 3U!<T."?g8o*UOQBROi\\Y"??Y?ϯ6d7TL]`&E/4$'M!h,r*u:خDߘ1}lQikR彄z8tnP82G և7/'Vt%%j,7J՝S=Ϭk 'WL ixN?C/|h} /[nyjq¿t&%?]hۘAvJϱ/~?w_ǣ>DS+n:4OF+:sIbVLZ6W?d ɽ99#pwϒE$giR,c('SmGr ɊS-GJbtdG`Y'h0߃sO5BޓK?O@gdF?fSsUƒ]s$X?,qXyQP-he:LY3NoD_ ]#CgN|.W#m0۾eWD3HD)lF23LiGUnf/Gejܞ2r:n?3H? voĕ(^_E 1EHk;Ly> T'9 vV;V"\I>1ӥQnN/"RMu13%C4nbE'lX*%rR- G#!`jnBG1 a!?'GBO3O,\q..d7OyzQF?x"쏾xEhBe1cj@0`M/,]lXl O\pqD:d(4 ?6+~]dݴ*k#wjbvi&Զ%4%`%4CA^&%?z,'݌?tCL dS}^ě*ʮ5k7`)мidmqi"iI=~itV:>P,=]n<}]zZ_RJrI%5G23j'3ERE3Nfked<_ia4iƛusV},E޵3f_@o_;dF4eW>=R3k=sUu+$?^r7Z6^9--<=7>7l3Gty/^%'A+_]9W:dXK NRmן'Ш;JfxWuEjȎ"P~erf#Tv~\f;T7JK,w_|?f Ms? wҳߗJ5_sj~\=W06 n\Y=_Tys"U2%:312ExdB jl*qE.MϮ㾄1X},7؏"A_{ER"":kf?Sj= uQJWX"?'T vT nwp.pu]dO_1R*$/ 7R ?[ϣKw{_{TxfR3M[J %[lG|@c7Ox"__g`f<$xB/`a4bEs`|ajP ϰ5ߡXOʲF01ѵ339/V ]e_~j*x!~݇|ôP4`kwb-#J0SдYWΓ" ]VLMG0Rxq AK  RY PV357=m fklۺLWs&h4?6cRe]- ۫ѳ'Ͽ]n,xJmkldb)k,8.IQ.l @k(wZqbzIJceчuЊ&h4 VVR)_lZ蟑={/%OpLV\ŋb%L-ΊKȈcX(!jigbk+jbl: ,,Ι6O(/k3#K  q 1ϔEYRMZ155#sM-.Xw*0RrQ,VJkH W6?wnG0,NHt_@]Z L,$L_O9cݳ nu#_4KRn^󙸺d 1æg.ZXբ* N( ;21XB ( ˧ȃ:m(E SgŸ>}s"k{'4ƕa.To5 "6+H8ndc`݈ lJ_mxŷ҆fƙ%/UȰAm39-'7͢Z??XIJd6\"Q39hrQsc/s?q[Ywys&ށFAƾ!af6VQ61vQa1.nQ^ɾ iayWF]+^TR^Tq,vZ[T=,W{aÍGMeuo6<ںg?G/:_6n~g:|;?C]}[חo}{>420<<2:6:66>1%QS<'H?XMDی[ J~} a?WF,.~ǑoWxv^cosm7uk~~Kh.#A?'_]ˬG ds?s$cS~cO²qG= )|o^3xwA[Hn|sͪO&t_ɂk?Α̼D/^qdiʒLv\G()x\o9897O̓3g5GSrYh;ky2<rN?'YB{*"YPwah?x-]7? 4:ͳO"KQCwǁOwPr HxHc0a$$B/F#Γ#C|hEU)~7N͒9B87_QQC.:uߍ5׼[ut["!ҥҡ;]QQ7R KV? 2z%$W +SwP^C+q+YF_,+X'K#f.SbYŝSa6 zf?H??ݢG,mݑ7b;er%?sq?iDZ?8+aBa~E[d3nEf+Iߣ OI+ Æ[\hH'gV$ O?O#!I+,6'$&Ub?ҵ!/%Y,?ibF ?,#?a )A|@4A3! ubN:+3ҳTV|qնfڈ@Q4H=b";7b{5S!]mb}W% u%}QTӮ{\kv-0dc^scJ֗I6%6$>+=O|[:Vb8J-Tx j#1}M_ͲACi+z[w:ufD.a;/)Iqb -n:O4]'YPԜ1|Spͭh Sxz[Yr7 ڛ:®z!7+Hj_ERC'qks:ѝP*N8Ӈp%9aC "'4?r" }Ue{IsO;jD[$=HoLI 0y\~vN;XOYt>g_69x''IsH/'~ʝi _5ԛ\=NML^YB 3KP^<` _?xp <|)Ef)%e9w\TWzjuA!q7~[4^SڝY[7?yS]a jl*H&$!z[y N#;; Kgmڰ NE]sf{ng [K _?FzFXBH&nyh<,q'pB}vNZ0.)`0' 6.b`:0l eP~p+J*PGMh*{m$$6@?9oo:u[pjrlX)_|~S%SȖbV{rD?z힕G̸#;35&dm=i,0ۣ@7tjb{ [?gȨ__kXX֝pEH eBo.׏wiqvקfH/._kom9U:2+up[o[ ueMH5 XZ䫽/o+&.ǘ#hS.nΣxIqFmgԨAe?X#ţ?o ?xY+<-/asgלRͲroB~3' 9}iJ34w q5Kq2Hg'G%K[sة_sV8W@pr UGSj;?U!%*& ޵>uDYv KYCq7k"O1#?CD<:;_:W%Tnqlb)|-C>j0E{8ds8]Ym ./:]ũwTSh|;8/xxt(?>h>Q3SP]A:(Ϙ^ χPE@^4#cuFc݆Q<o3fb-^ &tRϦxrwx yuh)?1gx?e g%yi)?sr>?p-|I3BAM|oA5gŦkWP*?Srř6th(?e=}."V^C) p&[rp@B_XIϿ}0ڃ}a`^o¼d[bf%K3Lޓ~{c*C|v0+N 8|3۹E{WGl'-3J L)oңBH>Fn]Cʧ$Љ^EA!+s?|Vo^z^5P<{ЃOu[:^{sSxv]:f\}&opdž Bץ:V[36{veX $ro/"tlfdFz^gYvImvsj1nmcϏmN[^[OʌuE?ZS|pgG ^*'mGۺʒgT{} ڏ}NơG0F@&peJ a+(vq[Oi9sቦ'O?!>CfVL/eûs5}FF.>k`Kh\\W?tQ!k¥V7R_K$OGy"i?$'HbkE,{8`N7qS4+ yw^D]e[ fe>E6 L;d{O[V Hpug.sv<6 f(gDRS+hiouRp%_7TVk֎zS?%ߧԛK?ySR1.Iuѯ皎eSz6>![ %ש"5VXc'7<>qF ;Δ ͘Xw0|Zk7HV#/(C4['8l{8 O"WĜxmhwJߏ1jA_Cu?ja!2 wX279,J<[K&Pqa\SLK-& AopE]oyM6Ӟ}L0縿H׃h{k@&⋽=Yoe[+Dy~hӘ%_E1*i(M*3:6Jv't9yr BYyo\肭*u} W2Z,u( s(;*\RBK7L.>?%62J1j>Ի'RLp:!֔05nɓZubY7,$ע,뿾 <&u]/+_4˛<6|qr!CϟKɓ:zxP!6 yԽyiH%Sami;n:2>Ub!KA&7٣vI[+q%C&.Ju.6ҺM}xɩ^\!-&%_,Sh.{h7 M[;y6e燄vQ1"s0x5}INtSocC& tr /j]KuK7 ׺v׹*@LYZW _фн ʪ^"[|TӦ덻n>A7λZܪTΧq'AEʈRq:UzڻbDf*{X]zJmz| `eImۙA"Tu[+*v]j@ oe/TC{l>a1aqv8 }lzu-k]X1Vª+E  O$D_z3ʆ)Ɗ?U~DˮĈliC~7W.< z{f]EwjGxw]6UTY}бm!=ϊ{'N ɺ?Ks~r&[ϙ97nF JA%<̢ꕦtծO#[e"3,?e~iGzvXzRX?^bYox ot{ Vkہ >lC>jr:W*KcV{|NI][}&`_Zu@AU]lp3M׶Mo7O J& vP$V}kO/v;kJm ڙFLł#T9W3Xkg4F!Liêb)Uڧw9L?u0n0q/eoݯ0W$6>;R4I=N,Ǔב 'c[?+r4Nʗf5Z M%c&ެM"}5_5vsH~4-IiL'¸GZ<,&η}|N*/.yb=qM_uȥeKriY2,>ǕpOH\mk|3뾁-;0nd&񓞬̏B'ޯ3k ty&Rэ`P.[l};(WYePF_k {Ի\}S,pW6W6P= F;YR[XNv9d]Nv9dISc ¼GCLuYa",7Oj_ (*$zQwV}΃Pp{*&XV|vspgΓD MXٌc| I"ss F䉫$ϖL®]L[5u-zdn7b(6.y\PQ‰~ w5ݸv]b?(JkwOЈWNyt`A^ⷧƇܞ9ciߧ67ʼnNl)rZ] vy;Ҭ69_Wo!VI8U 7Wr-z!?I Uf UXH !Ǻ>wn;sZLd_f -L1Hs6^g?:<^(&k0-S\NlzksZF&Ir/](r:=i<93G+f6n9rַ=Sjzoj^+wsd? 3\g%4qSE-87wa]}b̭)io7mv>-~e/F C/ $喌_uz2쓌vWJ&btըrkZ>O&]}U+٢oF>:ӢsÃ%lZMg^z4j 3B܉{զ5O rN7zv3}WJ{ x=ɩ|7:JRJo[=Iy2]=o8&:d>xMS>硆.vG-[Y<ެ;\T3/܇sxEB_#T0w<Տxmd+Gy"[Zk1*|M;-J;P|js7@ ;\s 6MDm\^l#[rAW[E6sCfM__nVlm<Ѧ_,NPQe팳#*ғ fj'?vlSbWߜLLYsw <fB^&f F6f?3\CrV,Y ?+$eIwס?`ig*%fΏ$%{o3?ΟvsSn{Pm:=zK?<=P|ɑ!~WR f`8ٷ)T3X'r?\YCh>C$|a(5q<pi)7?Y(3D=]T!aO,(d8uHCG~yL/NLH_/RYqtL~0lcdρJ?2 ڧI$jOSy.+(UtϔV ̙y+_@r|HȒՇ퇋 wη=^}҆v5ۍgeWK7Rp-r^15K.oY?sÇr7,M"q_i O'?r;`\pjlD9edgCG)YquՅ_r?7hyՖJ 6,M"Vym WT2[Vt.a;jчHυgzu/nInћooMr,LO#?=/.D9U\6qLͱW *o9 ~ySoKT qFnLq1]|;U6:VuTv>վ,j _b' RoNH-wЊh5NG(z>+ljVV~eVs--K'|ۙdc+WWO-_F; akI':>dkl?Ƭ1mmדOSm5+sZ| [\_㖯7NWsA]>d>uP'ǛFm;ufM}}[S㻚\fhz]i: TW1FoCt@HT1ZMXrՓk.!1)9%5-RFfVz@Εܼ (rUw޻aͣں[%M͏F=7o߽𱫻dž/_14<24/-^%ӿ 8wN,e#^Aa-#9aVF/+nJٵH`W%0<ÁZBn:8G`h!I^[o--/|P/^`zPad+Y`eo#I`;a(I`*L iiq&\eX+F+4aJ̹Έ# I##0$ ?_V^xKa="/%0s9x/Ž*I9nA`e؏V`XXTe$0Z;G`H0^ʲ[t0o_>S?^vԮ[ykW S|dâM?]^ 0l1Z%7 +X'qҿk-5*^J`8$0AMP]R`2yV`fH% <$0L%{yF}gɬp04sK|@ayÑry"0dظoo5bi,)0me4' VgCN,E`أ[\y;ӳC4c¾%gƵ"Qѵ 3ZsW # suh,)0IVArw#Fk(-)0T(r|V`ޖ,0|ԅ [c$!y8aWz7.S^R`ܫձH` >/juQ)Щς$0,S^R`;WxO>0H`ZV{qoiPAoÊև*K UF;n}⩙'0U F U@ÇUoM`XPuчyaKo W 0' F`/ga|&%f3lIW0kpEfp RLS 0K>Mɐ aTc¨pMgk{^DZ سsCG5;֫@p3&eM`0fpo.ЖR5\V 8jd|%8ƺfUp~:7568Z>?-U 3 Nʇ`-KZJ.Z58;GA. -u&8l|1*)ZJ:$Z߆zISSPQRQJhWP_/0]KךNrA"HflfbX֭_^4 `taмdN '>%riY89pdRTwW2HiR=FAjZV6VZ -AG;u7 lyQS {j = ]5eaamY/y/zTg`0iVmV&:R`&\AQA/ m:e3tptbbtw"ihtTf,tt,TtgS |j:F8=6g`#гr]d}dW.Fc:@ V@[rqB?v.o= 3qQѲq #! G K_>$#%c@:#PVw;7㹘V"+W2"+VN|31fHZ$~N =INgah~Ct~0qq0ׯgL,ӹH*::J48hi9翿leI9ѹR뤨xJRdRb2R%?5'#"'O:gϾ-CP>|@Y@B (VlBcggfdPhT+׬XE2в1򀞱IOEHJJnjEWPSQQ"5( 8 m%JfnZ&= A@%/*qL'Fb5  k5+' gg^u5 ŀ`[~<,+yXVacFo^Kǀ@Q1"I;-pS +=}$zJ'SIU6Z*i.i)if--`4PU Ic.NiN?4Z4)'(68).a nBG G~g\RO$ᒢSA^ qEEGlmj*rڍE47IQUqpp*Bpz84C/3L:XaE j*jZzfAP;jZ8 -ٝq=5A-()  GRӭ\S#5f-|-~ l0\~ KSÑ0܇fx*6x8=qvF"'9 x ?8݊0r ~4 -5upF}< Lh(&$ 5q-\KME$^#U:#y=+ᢰЎ V(\R3U&ȒkUVx8VСp5 `pUhU$Ob*k 'X bXYqs(tAi`'`ܰ`2ނ}ݑv)䔄nC타Rl2P/"'4iIv-1%_*#hh.*-OdbZe45*P(:Fp֕,+Yh<H8F WΒ\{֪8403Ӣ½Yğo蚵upz *6pfF.^n#cjtB11CEBǵ ~%n*NZ6<Pp3 HHyQ7R]1a%UpnЄ6IAC"iWps!V0qfegcy_~P`{ M aFf?rqa-:u3 ҳ/ L|JxQ#a|La)t0=z%M19M19M19M19M1 8ӜR, f̋CA<8oؚօY>H4l”?Y' ,e_[m ,,ϙlELuLM oۺn#j{РEՎ+߅?&K\|b{TVVf/^()fjqV|9=KqQIH[APҠ0&ۖx Z D46׵ҕg`b`ke>mޯgljjUmg,js)mhjq^TWF4D=g69ge)jf`!j`Lֵ30/$7-qP,-ϙ=kdgfDH u=S}@\X6E <򌲴 VLZ-IbzXAJ0XQ,#&I1%%X4$X)1b+BQq3 'ƈbeİR $GnKȈIKXF#YRDgˇJcEdd0A˒XI4($]Xi4#@c@s`2bPP9Hre}L Mq6 JFЎ@RIF2.4 J-HĤqhiABKySO 1!‘*cLhK)1)PO&lTXJ@e *$F81 [VOT'&#hXALB7{*hm P{I!P=~^S=acq=DEivP[#u7#7BJ[$̫nCyOx41HRPAjUx+0Дd@= =*4#@ @'0܂1VĘ=ă(4$@~SPqe@@RR=,L264ʀM3C|t>?vqcgO1 )wİ`'*C* 9 P AF^#@Ѓ!H)G2hY2Ҥ{2)UK1Y(7(uTUIBQU"$WZhI)9p@([C,Tt+ (d xE+QhؕE;Х@BxsMAdJ,]btfLPM VR`jo.f mt_`n%ͬ@`ؐf:R䊆t FZ@:@s $1Hܤ2- f8$]{BY^Mv(i&KRv8sQh" MHƊl @/m$4T/ O5cpPCP]CIH)J *BsP9HdhZ+ZZL AVVU "$inE*@4KS1^NCEAz|Fi/eРf?Peq2HCz?8@ (tU?HjxA|4E.%Eoҥ$1`:*x /$8 `(IvT EH`K"8C!8P#ۈ0ORRZDZ$hIRF`j6CW@-c#QCMai!M[0h1@P()Ԇ 0Coeh Ia@62XsXTLc 4Uh }q⠮, };}$A)$}@  E)J -@[ctUh!44AC]~siDI)*DC0`AY$IJK`I38HHt1:dH/!Q$A! ޛ(.)My@ Q^X j &yBKz}b"6h$'Xs2%$I!tܿ!#jN LiRPQI *;@X/Ayq$Hb R68 rK=USAk&TĠ }1A\4;z> ,_6y=b ےg6{7CF}tNCN}^/D44S7ATƊıAݐ?j_ Lel)!JA^4+pYIX(ˡ@5 4)) PUQDJR u| ezEn!g`H}? 4\ 5XhFгha95!~3h$bA f&&шB2' A`OJ%@c!X VK4i|%[QM G?HA P bZ(4KC[#)@ƠW@7KC8)h4As*tGo&psس-gS )-p()s7QICs"+(%h- Mna4yz y6怞4 XI⿤iM$p U)0IʐfKLz * He?;Ӄ>n@GCv i _X26"H'>KB ' u3h!JKk $#o#< 5n02'HDŁqM@E 60$DDt !#!B'8Z_ a_R`8 0NOJ` Bb̀Zi`%Hc)h%n&J. C  ? 4"XA(%_( enI@Y`-T>T$1gIC_.`A|P?KA4;ҤZ Wh$3@"1@_A I c%%C9Aœ::<j$>%5HXKC ,dΈ` &y34IRl$VHl([5YoeXo?RIJXYYYYYYYYYYYYYY!}-,5hz? Jdp޽G`,W6/^k^4OHB!8nX pC";d & jx;0Cp @~Lq+a$Ƭ# Y 0!쐄X`dD g8^0!epȓ]]E5MG[aaHu@K<01~R m+VB`0 sJ6U "8] ʔ);k5c!m$ HB6xh# mFc1CE|EkI*-$m*to2i,o&elĀHtr u$+8a6a`~UU_%ȉ##'& 3-rSR mRPL9ll& &@"^4B@"#ZMM?c8BNy)/ocbW_4!FEML EEbDQ>ppOTG==#jT_WVFLFLPJ "ACq#2A7\_5":"8"& 5b##= e 2;3cc|54D9Y|QP[O#bOȅ<49cQ劄ćđ]G6O"B.pe.}Lȱc$bRn?JAau&` F',L'`#0p::16ND^&z88LkL&&y@$"MxGoGooD8043t<E؇$f"cID푈~"2KBG,\ #oGO'N>&"&G}oZi]i]b|ATTăăG55OpZu=HD$qROe׌KwUGIL.BI68Lu^xz&G1&$hb1;--9j.n x@2\v#F'8ii6ѶQ֡V>6(bz(A~I 2$(, A "ziBE$G'C8##ccBBeaar1edgiij``olliN4!XEG':_r '|Pa>aBҢSSSbSb3+13-))1d`~>^^ή 8{:=|]#}cccCP!q!qErwvppvsw p @W+3%""33.zzEzD{16cBbBBPP q}|(1$TC@[A@P$H#>~~~>D_o"#ADԾwM䘠#/6v O5pt0qk\ėhEX9!HTL$!G&@lf?x?_? "Z$z{{CaaAa!aa(]ϑH ]2EFc"#D'7WoW($uMYE81^aaAD}}|BS> T~AA!~aHbxPHhHXP1 Et/BQċ9^zM_77x`k"HkGwwo$(zbO;\Dwk Itvb xb${Fd J@ ߑ(KAEHmzPnCUI eP`phdW5}oRRND_ӽ=\\Aez9{9:QDDv@3sQQa!Ne5';3ЃNturrtrrq?)<"%-3 ƍ訸蠨@ = ?T'~ AG`>zoi|I hW/Y'S<q\bw[[kKKk[[w!Q JTHtP,1*&_XKD/]1phu (.D^Lt!H"1|p?OcC (Dt&څ8F8G8Gy<||%WP#ADD,$e/9R}}ݠ"##Cܼݼ]}4pPsS#hξ..ޮot.W8}ȿ_@ȳIIF,r퉶D`pp(w`gJDpxxd4o?WHv1>993wu?+]2kGGeb9zDAbAbvZz*=+)'&/&/4"ƀkxY Ia]/Nm6emk&,5?mo'zZWY Sk}13 #ZᠵH0Y?SSH !vH(  _^MȞ>݀ՃÝ^!÷;OdK]wArg_+Q33F=LwbB ./xcv0ՁmDQٝ/oY/ K_K Wnk( -ui2C;Ra2zaXc&jL~i J ‚Fc0;v蘙''ܾM_[ 08c4{U]Zy'՝g/[#q7S73-Am7 7Zn9ץhI΍+_{ިCמ=+c3sܫg7=xdx/q{_L͆(d,7=nFmrUFzf"߲nWմʚ=,^;u#WlP6^>f W. r+d`ځ~a:Rほn6Vuvnrkxmz &tE=݅~(;37ɐI~U#/wFd9N}rw6'o H s6Ρ̂C񷞑R%ߘ 2h__})NHF~mfͤq@b){u*6%z\'G ޷z2>ӝ+b5֝ké<^@2תqLIFP}`K~N ##|WgoK@'vQm  ,x?<`,|6mvt- 6 @;6 9n+miUMđaT ZP0~vZjcZLEp31yt2gXLĚ{ҩi#7kK%9l{qmGK7S9 ܴٙc@;g<ˈgb P=70G^(Q/ɻtWhR!\Xƌ{J@Z]$ z3_aTaӘV=~8}I6".(?}=o,X9c57^/nBƃd|Y6 ėJ1[Y̲1UL;_\?Fx`VY(/ht3_='c+ZtP_]EjF筝6R#~>})K*qt T_ Ah9:}sm;UM9d$0Ag{ӿ8g \w}< |%ܳWq.`B&p!Խ*j+]n?+VVV~}yYʫu9q̽6GѣR/?I;f*|{g7dn{duva9d"]J ZaFB!j:~j Mo 3"x{}}퓂 MXR,7Dd&0C#Z{ A@2،=st=%"YZXr+ D8p|Fd}+{P$ |v.P!EJ+" Bo;/k;$;410_V(A6W4e 237z{ATH.PpScc6Vil ';0w !a:Ýr^ӡp>lJa1YYC7G)~R'a6ٝZ'"oEc'3$eEJ$#LXr%D褪>I>?`o)={] יﭭp3tH X 0 $kKRfO+}kpa[r(^[I,@lzI7WI:F Nw#h+^J`ηL޸*.IM2 >6Gr|ՋKۻ8]*oKًN)1f7F2p͹aާ"k!6B5|pk"Zևxw?l 1y֢;qn`]eve}n@6~+6}"O:RDWj^X2KOgƒ}11?П. 04:A7a|o-V7l8i+7\R7rIG$"_㦏])ڬk*0{{Y]f?~0'GDUƱH׍5wxѺNaՁki{vuvר̂;\Sl*[0Y,`V5GDҽS+\ɓބ%^'SFTz{je!N.#gD.l!u%& fŃռ.D2C4LcDs N"K:.ʅkPjӅY( B1~V.Lfj6( ? QnV45:~1~'&YXa f @l>;gA_.Z!mv,T@6"x@ ɜR}-:w.fO!"X.iS%90}?3[ wĜ܅4Dp(" _ ^vLsf.b Kc˧_=pNd!itǡ[N`a-@ݱqC%uzfR5hz:8^ѷ&%."1DP,' 6Txn¬dVkXW7?H!ڠ}އߓh>Xy Sa.k_<Ւld9үkǘ໗x~AFRlxym 7黧fACP|},TiTpyA vϰ~u]B;<)\xH to:/2 [:}c㬾 {〃 zn}bEvA ahTnTynofShZlމj3r`NsgF}D,c]dWHmF Og*ʩ؎ FC]Ȑ4%l̉MT_i ]X{ !XRP=Lqjq:S}h lP91;>Umel?O$~fx1 }Opdk'n׭ˮE&"~ovmyZ]˕~G(R?.ĦuՇZyY~sJGȦt ,^8B+MhN,rm?DVζЪOu0sޘFn }|4'\.Lgb fqKuOxu]9Zwmeد' 8Kg-2Él_jcѰ?cj0%?"s`ҀtʿP"KFlUMwBBrn+q?}?jN wa"a:L1foiH9vCW.Y`l[EBޅe#8VI*Toua+g}6 bW奐'Lj_\S0 ,(MOڥ]]mϛn OqHv]W4[~Y,W1|3"q8VT)#-䚢d[2pѬ/Qwn 1̆^)0P,X$Qx(Lj3tDh'gY t`O|}=WCmRAѵ k}Ns Y 34XGhŮGht\Πn~3)H7 P|Ge@1Z uبmQfp>cMƗCԷ"⌛UQ?n*i]Q_gJuY}nl ׅهnHIVZȒhp6D=s"5B;Ėu:1,}H0l[ӕx# E=t/pe"ys.r \&F@{,5v0+ۋ^J|!>~*|/MZ8eq[ _21eG]Ā,D |Df xb*Y`Nf}yt"DݢSǖk ?\:>v>;9B&U1G׊Nޱ׸ -Ѕug]GWvҝ sNabL-0g%墧@ ~~@Ph]י$lD/)O7WA2q4[ciW;7yV4'ICP,Q=h>c׳ PMe.D5ln<>pC| 'J^gjk]Fe` 1>Z%$'_lv"4 (y~a(Osu D!w:L2 yљW+FyLA j D]PΌ xm[axGmkx= /Zg>]m{lj$ $$(\$̴4 YF T.~〝dUX]+@*Ri+3 2v,XTWxs<,LDJ06~T3^ViN}txY07v~h´q;v<8S]Q9݉>RQtURi"Ʊf]{Iu ?-4&]G ?3.*xcN]*ނA* Gh'r:Ev2@Pub1ֿ'THGE Y 6$RXP]`"1'q+TN 'Gg̫P 4y$aP%yXYRd{4RρKO|.3 2=I*DIa~与t*R)빁8/i 29]KnCHE]70a71R4XL}V~B#"zq%v$">= J 'o@TG6O#ף[;XX= fCNj3I\ =rf\O &-\]A_DQ%~:3N8\ ω3P :Φ0ɝJa'e驇N7p%4͊)KS-k ۮW" 1yI}懹 U ܽ3/z)tA5KD}(kf^h֢ TѲJًiHC.fz7 C@媎<;f< r]ϥK|;VTҕ KZ-Fzz] 0RJ ۍFn~eVu\y![I &͋VI^'x+v]O= mnjC @$:ste!?ޒc Q_;LFG d5.\=;ʕ{:-?qtrI4 s1+$1~W7N[OgdwSZxxBMϜ0eozA_?d@Z 602VGTPem1WP*t)!Y vz8@`4 Y!?1}f(ER h|dž7q1׿<5vG|Ǎ)(C YȏDD`.a&t5*+?p[=/~N=ʏG R$udN Y9ї{5 ,/($!E-1*Yi*fW|0y]f86VѼA17 |Du!YW$>wWĸ8g?cN}LV%Y;q<M¢U toϾ^HҬ/K0[|DFF\>x8t]!בE $Oב{/,{(g.P~]qᐖ5FT\:ɯ- :D?]t@eO6e׳"=Kki_ً`E8j0ҎP|{$ۡr-U? c˳3GSjضo1Ae;D*-Sk[xҧ=C7wXi,Uί3,Y?Q3Dýo.lpFY-%sEY7Vp" &60!xr|B|l'Ll.4?jBl_R[`),x3dGQ%`wO C: X C] `LIFĸQUj`b盁LÉ YGH{I1GE{F)83Jy45.|As$;Bqv|rɢL*0%ht' GʽqN {=2jpX4Z.PG epى^Kwr'7猊d2D餲~#? yy<ܳ.3{6͸[= BkSDp,0vNU`HW3E}5Ѡ] [ׇ'DpcBza,*+54:ߋρ>Fh?8͎ZMĺlN$K3 ~^i-ȕ>&(āꀡm̞ )SƩ`9羘ZvOxy ~v靖+4Nx;}m;:UݣKN[P_ѭȥ]emVAjZ_u(&<НʿoOPs1q̓*HITIC ?㾵!AMP'[c#V6&TكWvlLV]Xi̼1PP魪۔8@/9&kΡW b#үx$U)U<̼B Z jI:Fr`9wfڦ :WxKp;nE2Zbd/EO,y~K~:ViboZ5r12*TEu5[ǔѪL@(KM pMq>%Xy(;@^%le'C󍬶uR>M gys9 k]0L{T3*xLQfl@h4]JB/cd9MF`}.xvV]%ܴvtv:;z.Vm%wjqg$뮄X$K!e~Lf| sϸ@@πu/֡>ZaJ2wHf8.=0 ::lL2.A'K擞89GK;v ?+)S&)Rafeeac`efs?R74iؾQP7sq7t2[:;Y;*s0TIC?&8X=m?l\\,OH'/Ab:W:>*;;LF0F ";2hM IxI1zh01LԴb8nygq`ӋҪL']gW'''Dć8F* ^͏;ssɞ@sP@|50N06P;n+Zq)]p1",9yM|md:n?:<$mLf.",@d~gϹSȵ`SX++p7;"8$\UO &%A x4֜S؜3pHqiQ5#i>W[ 4.8k)M}j)pi74Cӛ@ :ȃE ^& l XM|72hi   .`d/ɬ~S*dO瞔}KcbnYED98U$ǹʻH L!HEgOA>!٫( Jx쀌jr'*CdjY7XaMzߓՙׇ{Qtj|) ElLz+k@>Фa= ճyt0V>ᙔ_]X`Ԏ s ״GdofB>` 5&\/ xjQIILx 8.NdUg-0E؍ }APµ-&߸u 3Me6⑍'ݶ? (gjSF@T1BFyݢT\hdНN=m 2G0s{ BawWBðȟlwu!` m'=-*pT! cz&S[?bϣ3cV+yODT5=OfF$34Lw]AT텗 \- A#V+(e혯?j=peЀc3Ka]\_~ B/ָd![jgOLE h5 L&4+Fs_9~%p4k)8U׻wtۍ)Xkr5"p"<8Ʌ;u-eծo/<`^}9PࠛyʱP y43ӄe)>xXnhE`/C|`JxVZPip=#8dA\c[h[~\ kWLS_U*@tc9a ,)'jU }J'm "* '\*+,3#N#r]CЦPU!%}s:SxgHIa ph07~oҩFC#80B4 ]\gM^bڔXwBSwnpjFU>#)L<@i$=}=kax֥w dNr#dv#R7sSѵ(쑸Jk7%|#˝[RCIZ(}T3.%3z6r*VXHHՀ+Y ޯwmfJ>j z(uPz OGj" ەu~VFX/z$@Lml@P+<6" V%8ݷ}wo݀nuZ A낄 AP3A#ūsVj,GuFE0xN(/GmS`gT⨿:dڅcjw1e4qvԣt,~r5/RZ$E\w~{#ߺm*'iT(s^'9G sAg wfX|섴W~M]aj+}*.Չ.P% &FSw$\2s?':]T fjFY,1wNn(op޵aL+"s'(}Q?m*ߺ@+8Ǯ!42pSHȏvPI ־Dӣ 5ٹW`lCf%Q(Ș:1?w>vx*\c6i؟SM`|_)!Vy,-{:]ʺ>&h sg*(vYPlxh~Y"ٟ+kJlO5a$> +x &pt-EZoXuʱN  jY>= &*ܱ:z-%F4S-qwgS;|o](-%1*=VGg?dWKwLBtO<;iBwu~-Ir#V}ˠ}(?y:7!gkjBHE3>9/C&(gȶv馯|sxDB*nv#;1<1AQ;(B:!i4q5JSfؓp_!rv,ׁ*ᝈ2u U? ŭCDP\&8'?>9pݘ.;I] }%- ^[dK=dCƜM_`n>8]gwy]=D\u/"LI i ڇfFu0^k:}tg*՞[LҽlhyD>A,j!=]Oz`Hދ;WE0<{6T)'F % m> O!++[ &Vy $QE:.~Q6B b\m f+~EptƬTl]qHk>o|Vx_Ҳ$ 7{=WrO{65{ fCa8<* ==.Y`j{OL"nܕx4.٫bn|n*E d||r ŰKK(M0鸇9_!yj505OO"9I^~_'SHw[TWmnWI/s e6(H;g醭`m]8k:Nii!E8rUqtDЅoi6e@h hZ)A?o8b"yQDQM .5xV".whUbS8S-չvWtοu@(yLRL4mNJX,%8cU$irQ7Ciݿ.*a`Vpۙ1r{8|6=_La/*]j{}{a߲v褰hXx߼>n0 yo}B(-d?lħ~ )i5wBحܷʗ1k9c⶯ Dbq`Zw>bq F>? `A 9K ZpWg@9!"ß@:QMVmՈh.oG-/’]}'Womk֪0Wr~xtnF'A ޖ$.[p6LL۩ct)b7kԙ@eC5]Q Y-&lhj߿Iq=^ ds<]0"y _ TeZ#CV LQr2q[8ǶP4^cEVP޿Sh_eI&R כagnOfw-`/KWi}i'^CL'ϐ Xet$Jl%w*/"^%Z%uk5[CcX3lu1QmB( *+1bx^F{R~]j"#RE0%+ن^Еa$a eE+[]J&K)9Q(9=W&xYHeyQx^۵TQ"$RBX5doI"~'E)Ҭ![/\]J7[m+QMք0-yrX!.o4ϹY E2XIreِ]8Ί^!H2aĚ%ޡ XU胮Md oW:s.[M%j#w떊I伉Nf@ 0L Κ[om-A|O1xNg# Eѽj2P1Ch"ˎU;hFJjg:&8fl ,~X%"ǑY-:P}桢drܪLCb# /Dt~5QAd RN||%j B>V،XK!ՁjW}9ldP#I*/Ԡb?]vۢE7~Ui'W{(~y#nD4uLHkdM'>R@Rί|ݸUqMr,Ѭg#À+r|@{ }68=`3׈qֆ+G ›|?fRYk+t{'&|@C']"~PZzڐ|#_wJ5Qy1:ͧ 9]x|€% b-KZsZ'qڝGW!F\N^v[; uƏs̃0:,@ـ!574{<7QK?K”+" mT |zhMӃ}eN<*hХ"N Qш6aհcWٛj)Ҫ\‰ۻp2G9d7 .1h5Ơp#),bdM$Wu%l-mF'M8{=L7jAS:f4A)Y$L4  ^KI39SM3"-NaKk9nfTvcٿTX_N7ەS3@,D '{Fd/°q;Zŀ bkv.fGз,vJ Y/k*٫Hw+cqAHH"f@3t,Cfi12x \74*xbo"eU: lݙuDa=Ab7I|@SCw`Ff̑i!l4\1h4{iL[)b:ysL[8MuUD!ž@N`v'.# nkX"q]K8rw6Dݻ*/~¬uߞd&Ȍ{;Ε4AR~fd9nBmJ¹w)ES4 r 6~9 *=^+q#7f fyų~7/,PY3emlCE~ ίWGf *>'Ӎak,|vqdF{=-ެ'?Af.J$`qccYY&$P< ) õ_m3_wRaeqv=N0Ү(o̡mH):{i2iS})<2o|ivL# qа=O5?Gsce:L2 Ov[p -m֎HVtF9NIQ.VTD#q.Rj,2 A,`U aW F\^  R dT Wͮ"+QIqͯt~0i}1kX{ke(6xɮ>X6Bcv{A\~ɘ5# HWe$z? I'Xz9YKr[E3-]JD)iQ2"v&ldRM硅*2C#Ů\ǽ$uc{YA"v,Zbf%I$O_rML{ g,d%嫜V(JA j+vr9d(q-!Ų^\xXKj6,Sj,:{F?3*"id5s#tSEy13q9|=3ݻ|W fcC?FRR<ٵ/ý0#w}N~ޠDe3}<#<wМL> -,@|U J5okG v p(Ԏ m۷Ah^=:K|%#ʃFƪk:9)S3Q bb]RR;G>SYZ8 }@M4E52:4'9ɶrEÍ5N@gE"{+O7 -VH%}Jl7UЦݿ& 3 0Od$4'}ALxR+je`f@qgjg]w i lOU>X,M)'&u Wy~}ޙv#;3 ,4 SWlqM 8jY]JO SOuZda-tf2ͻ4\dlϼCH3c*c؟LgZ Pā+Ri"Ю_-ȱ`5+&*ZޔS,l͘g*Zk:˦0𴗐V}3.`5#6$vj"Uje=jkDZhEx˨ В ]=heBqQ֚V0ݴ_AJb56XZPZj7 n \~ kEO\HCōP>g2k_a RS@.5˅H , Jg 5sb6kŁ8 @/l+Cwk(pd&w L>E1y@E(SV@\f U-j'N<3W4C^e lX4[-|2'Wr?!;?Kc8NdOL M<'L`L*.20z:5 z8[[^u[s2:ZXJz9*{ɩ{Y 2`kbHakcO/vySDJ/".Z) YbQ{'SbFcfVb.FvzI՜LxZ_g..LLlNL,<<37[c u@$3d(0FPwϤOZ_>Ӿο n_l<>|L>ׅ̚1[)cIex=~jSxtÇ0V WgշLJ!{Y|ppׂoRD|MP;)bHZ*2E𚆍=u] l|9x {Ac6_!8uAzu%lRe:,kگ w7@ Jrn$=sH"^}ŮDrZ#BUfYXI/곔X'_P1\ш;cLF~7!$XĘ؟3>g5NȿbɌ+xv\hE1$OǫEX 4mʊtOSB/-~FZ(3cP}nZ2]4Fv #T,=FCf Y8AU},d}+FacLֱ. DW;7JxڐZ0P TPL+rά7x:=Q%` @R6 2, ݶ9OiBUw![u&Jɷ{od+5f\BMDNDFvIcs)!!OPIJ{5}[DNk lQ~͹EM P@>g}XTx7;fdkH?i" 韘ҋ@z0__`8RdY! vF&](贿2U+-K{5s?AnجLDYnñj;b7`sO ViQ%rt+P~̝ADfϐ A:7і]#C}('fU˙XG<B7Nm.C Emѹ#=ja25L.['Յ 廉8Fѿ {G*wa5]Wܞ=ԠF*} `pd2o߻ ^KʘֻO#']v~lJˠϫ,eDmq&ᄈ#}P* '%4ut-f055ޗ"xl]IhUKrg9z+Wv?n̶?.FPv,&mڽ}7rЖB!8=7wGﶂ:elKma?h|׋،s4?fe?(w$9A@9ܻua82/|G_ DV& ybcLL 3KNZK7!qb$֓kr֨n)CoTXmHphXQ&WhZjW"qShVnRU ֖|F&ǂ$h*=}&=Wemc*B{A':͒p9-% ܀E̐=sQ-gd\Z[NŭG%rXR? K$ 0HO6!ayfkCM.V?{b*e9C+My/ߜy՟53=(okTiRj}i!pb'ce]7t̥dOlKrE`0YSm17YESwJӻ>1à~q>⍆PKN^u#Yiapskj}Ct]Az>8>oӟDg둍_he]eOkzPr:3HF,n#R52~|ڨ0!)ji{=c4r'ai?x~ ľ fG< R^dʖa P|w% z,]|m(04 )BXJ m.U/2d&يoJY 7$~9ಃV,ߞ< TuH@cp!b5Hw(d"agQriNPN>t!4(ծ\PҾWsմj}mHr֧S+RUOLhFo19q`-ǖ{f(#vt&5j{oeuǎqR4ZcCsz,c:T9ܦjUK,!\GCy'  ,Lӟ}uȝqr [p#yDܱ+ZbBڪoZDEj*u˝*0;_Xejّco4HOrGRA„<&v v@Ag\jإHv[v 6mLU<̆Lz 0>2V$ ڢA "ڂ"F–=rKEɏxJaV0ټsM_*IWqGEqݸ {jZCx/D.p&/MW"yNDZf0hH|3 +~@0eR084E n){f޽/H 4&p)+&SU%8/b@kL 'Q,-zQ%' ,MlӟEP-=9WO$4ܹ׬5rgA U|? OIŧDi}b&=Ym& O`Vy)PFʝpxvtඣ~yݛh@* (3wѭ=UӮC$lMiW Sot'`efG^?`&KIc&fEM[(s6~)YՒ |l\S/DR(@>Ylaan?;Ie}@bMLl(b.wi=_#npv2(RI{۸woT Q\71ȷ\Kaƿ`ɮ.z1q\RF̌ݲ olC8xc:W7A%F[m6hTVڍŲx=$y#zpx׎r` Jc6PG![}Voks(>0Rn{IB2M"Sʪ)/83,fs9\fir=N4Һj"RLK B^ͶkT} dq")|GӓvZLy9/xVQAJX FJOgx5Z[=s:g*Ӆ>ZYvfQ19r1Tl{oڬㅚ$b|֦EUmIΓ#+IdQ , i:ҁ;OXA7"\5}J7 >VA&ǿ"?e}4 ,#~aLxWL$QA@d|G3d:Ry{zZ Oi_4; WKɕ3i+ jgO᳦3L9 q@_I Rg䳸JG?}Ŏ߄C]2 x3pX9|ה9ȰI-ݓ/(&~32T+B[tڄw5u!!u̳kW2̺yҚ| +c=\NR$eha9]}Y ELskpjgdF[sn󩲒?,ڰpsw} FP%;R {V58 KL XH >Ad#Rd{61$ڈBnO ҙtD'jHM2 G(\ȟx?L"@ )/'cMpzcECaܾ}Dw)䑖/]oϔ#x\kKJ$UގT@(txth埿&dFlR{U_I^mD:Ć,h%7p݄glw624@SvAW6Gr<<M3ˎ Tw4T'xQ9XS>2E`gXD Ƶɺ 2>G5=GL|5X5;!$Z ܻ ([ I~Ru ιg$CiLHjsY:̻-t%Ǫ!o 9K":;yۛ¹xFxQ@a _:ݧT#} .|R8h-v9ty1jY-GC¿ v 6~?ZSN]WX Xm]r:٧5X tkj&)1; GHk2-dY'!tԸsdEfQ"4HnoueVhߺQN:HwANV) ѶySOQP3槣 }{6cp|b:b= xV|LcweKxFY/D\sx;{%?q؉ !|/L~(R B +`׹|I> EU D.G;& a}9EYܘӓa57X*v85)ŏcUP,}nT`%9n+׃T&"׭{70pڈ 𖜦n=O~Pe0|&>xAӣ\`(dDT^3F}ҌM,/ (C$,3caY>_)^D`ei ʨj ޤ2L>Hj_}uD&TmO\zv -Ktn|> &Lt{?f$}@gV8$!␑ G|7)FuIN,ܺ$DrC`Ҁ,E4 G> eL"d}Ȋ|4'B,50dhbh}_\ =IXb\ϔV3-GTyG͞镢lV-켧.7&C'J)ڒIڪ`K|˗+ޔ?+ISֳYE/5b2CGDBGw@j*FDN|?ZtڬI"u 87(J(Q0s?ru'C#$MP,4 @Iv@%BqUHSw>emP~UJR,-7Wlu8C}d%.*[ڝk6d%@ϒ֗J O Ct;ӚCIt$;$rYOs*+Ů*3e)\C&Jy<L;qA?uW BRy"~)kI&(QBNk165#Ik_/t[ 'N30!M_٤0ɱ3D\`.PйMJ*g|ΙzxR̕G,Pi: ftDc͍nq*؝XFg:Ug!?SēdR sjUMFoKQA1\U21/J6i|{[83"1I`ׯdZcQZ}A7oOXZ:%v͏iʵ3+6gYW z4uģNu!d@DKk_f"L(;39)C᭡W^;Mϯi6z~5U3Hۺj vQdppO/fG;i:䘧sɴk֖O&ua4NaXd$t%*,Ct؛|YA]!ܧC(__υWʳ/(Klg{-`B,>HL]p^x7O9o?.s)0)BQOPp;~@7'uڬfHI@Iě6:JX7rħ/O $̲P5pY FRMTqqZat[T6>0>i6|\xdyyQO:4Rlw3{J YN* LJb(B&|fst..Lc3R2A`T}f! ѠgGl)\8BKf7!?++wLU2ߘ8~P!P6ZRVLOy!Z[>0a#8&2s\= RȈN)y̶SaqDXE62̦Zk߄6nu<`PiR>Ӹdy8qCHᬬ,O!7R7ONa>pt2"*O]'2l1ҭ'ϛ j8m8?RGI"AA6[OjͣUXg[IgFៅgŲtФ4/$)ҷ<}zxt]@K+(ޜ8 G}3e*>'X*p}gDOC^j/sҮvDfжH' xqPc1REeY/" ]?}Hˊ-ccyCT *e"v$ \S`s.]Y &n]3[Z^>R:w f$JrڌND3[4kp`gE5'@<_ zgy QDK8mOIH La}Z="e_[CbZ[{a}=bqx{4s76vLbѧ=U2 ""r[8˩=b(<5GzNCIܧC)YNJ, 1:z2kkR}CQOp/_ vW:]݆2D9c r` I`)ћ"z|2!yZwVii=m".{ȉezwmѓeP,:4prҡHN~;GApY3ĖonG/ Hyf5@3fxl3J|J!0[vL\Sx7}0лr Hn2RB,) bUifG9踤)dv*ޙFq zozK e89 9OSDž!s; I(\Xtin5jJpг!B'+eG T 4 "O3jN{Qe[7?xS*(ūeG5p23A a'WV466 zPD(H^oQqb~p7T 9tLۣ[*UE40C^Oi/QPdr:)V\̰тA1{=0[cRxji=bz DSy9 MđҀMH-d at5A`> b^Y=QSR-Y( Ye ߥ'!L!!0w{_]Gf5/Y:Gb2 ;,i5ߺ43G-PGXZˑTMiBٝ+cr՘Ǥ?D"Kɔ,O^"!rɼJVJD sϰ$I1 1? eku}g%TJt،" q10 ݾx&4.-ȍ}@ .i˽ai 4ZT^d[:mzj:+!0T6 ʽ]0̗$ `v-`Eq(ܴϸř"ىVQCi큭*NO >RȼFo/ 4iMk (w8 J,Yp8O^P2DP?&$؀{1x.Z۟C dN0oz7[WgjGcd˿Db]P>/#i`ATM/FS?t?\ (]s{' dsohQ&AG s3F![nrAΠ Lưb#Zwo41A+C% %'w1&=ZSfK@PxE[T(t Cbϸa O}qrF,f4ܣv };ܐ ӭ1x!fCӷSxJ!%53}I2V"~qSrr[eO/ P-Vi>òXz1E{.$ߡ 5fu5}jʝá][39{Yޥ]NP\J~)roTSrvkX ;#'K ւ2Hݓ?L^Sf܂](Ny>P@&J PZQ3Z~d˓ 6_|͋UqBd v;0y<:8v{g0k_w?炔XA50=p\8M#:[R{ *-q7@=+0 lAKNj>ĩoUΚ*ieEB[͟#Nma#qt Wy{ZI~Dm>%ʢb!5QXbl l3D.`KCn?O@&$GAyxmti<{5 ]݌IcA"+ǐ됇4 w:U)/&k /p廓D9AR{e"\) PWpi,ؓ?#@:#]rKFt=NDȁ5;2ok/ 6C$^'AE?HxGL"&с* "8m%I#ZV{9M_$%9_fP,~־~>Wf*E,Pȱyo1HϴG 긩:HZsQ>[N6{M]um,[A]FK"NGz>4?1DeM!wԧ*6[`G?/<~y#C<c6;i'zA,o[? c߸:oݫpu\m՗szqUgK_@S( [Q`BoH&b"!$4+XaA!*aWb syߜH2{f͚5k֬6Gnt~vCwڱ ɏm&>ʎg~u ]W^>.qo]Nc&o/afl {vZ'ڃX^iIsoʗt9Fdt+X8͡7뵬ێkerm}y)?jN˧<6tN=e];xSJgw|˅&:$wXbvvNv׽QL[1w{W)/nBǧJT N%L |47TV|L4 \(kcUw8[-/I{\/*׬>t+%vME?(ʾRcuɸEýZjQ6aYhn:-76adgċԠ=˼dC/h5ihlm;+}VΈE5$f{GԆ }c&4m†) nFC[]0 d' fvjo{B&{}am6l ,;-#IgQ=EYno&~W3*g|O "+{׉`w,Y1z)+0ŗ߾ɚ[(!FlsA[mhP%GjKof_:rɀ-O1޽Ŝßeoklz]D㮎K򚜏Ml79]E%"|\ ?7-ܽyQSSϲ, 'l?ԧdDmK,dI)+W޼an.+7GAqJwO2Vysb\t-<ҧ/s7lɨﶕe8 o>}oPVGtO~E]QvZ%ϝRҭ7)vHl[v+~HUي%#H9kZKOXl׎;&vh595i:m_9)[)6ķuTȌYq|EϮ{/Ͻ 3h+G_֩M-'gyT8ꕶ괌_UAGd\'˨gna[v.<ũWHԵJ5O3 =ň1P9b\s~2|>kI*S@5Rj|C-6Aۖ-̓ye7$)?~e*~ TNQC然k+}ϯpL9h̺W7s>wM[/.{MףW{=[$ϊ*bv;c笙RT1:{URezw&4mM{}dIn {Twmɦ=/ҔNT~\QeUːTabH>YM2lueYS]}P{qCR'iq-ټ%}ł𗴞Q[9? aѿq˟?::z?Gi Z0jm̯(/({xOrpYe_Fǚi;JYt9=U|Y\K[]+r큽]HEaq{߭Ptl񹃳{v7/|N3)+C}kCW|2\~n ;tC 3 AuJd>y.a{EOZmڴ*乥Nuz![H `RU!O`}'dOB ]QYi}=}×Fׯu8XӲʤgetEU4L:?~GJ91RF%?4}vWy&0^c~2X9fū- *:^揞{9e㌞I#~̗8Op=ֽ_kS+gM#=[|f[w}̶"vIս<أy3֏/'dN/d{gYgSX*{z'wb\}1ӭ\LKzf9)>~Y+=.WybjgIy&+h]er6疕I[%ڶ/{MV?I(4ew,n})*5Ni%Ӣ"ۛ7q(9Qt{aݧ.>TihLg8j[:C,x[N4v \R{ﵓ*X4ڸUa7Ӄ-qN HX/ܤwaKQ5lG_?36X U2Mwz^8PeA7R3\Orvۦ~e g|S%y~6*)^7.6Sq#m:JoM_{aNb*yOI]giQ놩 >\AАuGGw]~K34Uo؎pd%v?| =v/u_Ri>=J }~[Unk%jͻl|ĝ= JO]/l1#./zhe1]I~I˜~ C^fF-]ݹnMJ&Kŷvܫ92mYҔ_oYr4_qq7v#Ml"0_crVXfFi?Jnm=o,m,׫J^hNmy;[z2uS'þ>ሥGB:&a%ZIw._R:+-)ޙYL]iiL1~<ȥ=rO#vrȓ3%mf`> LfU74NaCh>9rF>+.'Q)ycЇZ3uj->jٷ/;w҅p67?We{CZѳ9gN9 օoLKnbB Y_ItOɳ5{O#y31zVw[, =Q&r_4Õeӫ )q [rC Ԧ7^Ƹ3QU3|49XңlpРѳz/dQPo}R(N`]M&*xm+wq+aЬK4BYۇSv̵W+`bήrW͢NtM 25(*PI]ws1V;̟lYE } dF:듗Y#&x }@!T4KA/[*De|άf%B^.[\CJM^.}C 29xZq^6fCC^2*xS'ozFWR7]бowy*r9lХ'Rl6?67{h׫l!Dfk[<.[%MqɠLK;兲#-Ycslݺ_}:sS g-;$W4ã&03$v3ce%O*Y oXWv֎_Pc ST=rpf[!I?=YWo-FM8`򇟍4jҦ#Yy̕6+͞S#UXtt&{6n*IJ;ۖk3Ϲz̻PVKsܦ:-keC ֛FɊ'TZa2Gڻ?6Auif͚1V/7Y*Azc=ut2+V~1}t;~janz`h}rZSiZ.Ŏ)lclk|q^ZK\؎KO^5}/n1s|Hk7&PX _)d;]́}>8g׭S °r?}qtsԭz29ҫvi60CwI<)Icϸtg7}`w9&&J7$_4~1|0d F+E*n6|rժyOdeylՑǻ&?tB^v_cfB];+֙ShF4:KtTY6U2W=0Fi|"X;$Q(<i*DFwK:+BnSssxǮ9fHϋg[7ha_kɷ{"iR C~ruVw)2hK+ C'->1/HɅcTm }jd_3WhOFwv:+q"gOӰ/ݴ+aW%5HS&Kx=$yƹ&qUJ.GD:nCeXp_cƺ_.)siU\P2mQ׬oG)İW\܉clRu_T-s#[kΊ׺YaqJkiGJwd>to{ވii.z=+ԪL_̗h /Q]o\tKbhbc`|Ww6=]]Fy]QjYDg8{}ȅ! Te m3!sD]}|?ҬOV/]r=_tx};^~֮]pOSmL)tsy~̹o;Z3\pʼnv%?®]:*Qm%}ڱvT5oehȒ'0yV{ZCGՙuvЮ%nj'ee勜cTeO%'|ݍR9j/ifJqN Rf)+ڜcAW/ ~(U|\O1 QJ{rg3CS<{BYqZqldUzؖvR\>:[vȰmKKޭ0IwsgP$J6.t\DMIGw:W*ǭk#M.fc19{<+pVweóW&7nEwO;*|՝B<~)AK|>ۗ )iu>cZ<6$oXRyY_D9 >\8tgѵ)?vIY*ڶ;f4[Vz|sYǦ;[_IosJ74_/iWjW'KK1.J 7ߓ|6hL}!Z?wkw^\ȱV2hF_! r8 }!OWHk` _̠aMe?PJrGz*@]ZKNt{z}]pQڽױKmv[;X4 "sebڎ/ N{ r}6_Wxo/Ͼ }`L<>]k`[N<,ˮ7Чa˯s};t,,˅y/?=h%Ӟ>.E]}E{-^}Eھo hΎ.QNtԇ!>B> @{rۅsQO_~!婗~;}n.?Q\5; .K@A}ˍ}~!s܎=BJ3Ctt4l}o`^Aa?>@i}B/ǞEuC; :,Di'yC86x y}Ҙuc!7Kfzo p\ T4nĠAepúu#:g?D $Sd߉?::F6o$/_J?6/D߶6i?ǏRR9z祄ꌮ;|^Bϻ><+Szbwv*F{ekwx a/v/Lkp(uul_߆m-'/;;y>pG,V~rV!cEP [0A|,jƶ\2F{5^oRez3˘8GkNWlO<[pQ63U[tL˕T_\xxߞ4xWk.YraQnoQ3O¡#G|4>rSfGzhyҧC {t!jWSNw;*M}LٺSg+ pr8,cKT_T8'e!m /ވQquF姱Nxt5ju ' f=˴SZh;/Z޶nrU1O޳m^dĚ[#-,QQgUm!2-'eָcG=eb焚cgo pRoL)M_vmۓ2l4W~ȜŌprꏨe.;XvUp,!=r;Y ~b8zH@ MکBB n S|[{>bO0?t} 2r-c)?& \|"QX}Qt2| _WWH_ko|TQ 1I4f&a(^$(b3dQh:qTz}%p ƨ:) f01(_aءp Z=MbRI4 O !D"|OHp8)1P -#ÄJbPY4QH(7 ΢1$nj0&S(A6# DSMAk8IaG1`EId3("Dw_< D @11`܌5Lb"FNFYNX+Jg0mZ} YY}&F0FXNx u#RaSCI ƈ$O,hMZ, 'gSi40 ]] M ԲtrB'%.zx6b0Q{ 0$,!$H_T:<0L ~DU-N(`":0|8MUdP O D 0qk<ĠER@_KL)F ƔH'I !C~ҩ`* T H E$F0#X@*  r"Ia$FE}4*=,1D bHZԿ (PǰL aQ)8Xt `zj.W"N)g @gKr+T٣M `124IoP A[ 8;<{$f)@܃b`pDYde@pW<ņFA~iT@FPC TQ3v/d| FM ҀFb00!фGN.L#AA`㐛|s>3UU`*jxЫTUJJvŃ7x/>(.QJ[Tc6UN`W?`lFHPgk`dE =$g5@р[C.J'n߷-&s)"QD:4",AP+0)x0o@ R@;rV3Ls+D7=q?<ykT4~K =xtj3_ӿ Aϴ!U(2a PVو5vQ"d3,Kc(Ŀ^mZ+@ At¿@~7UG~GqcB`!Es' ` D0:V o4:[ XKb@\W;Q&]p/S˼TwH*+ .pF6D&/TQB,"QYB+++CXêk@,È碭"PMM-t* X8؈\PdCgXԗUT o +FF#1??yfDT^L1h6{ a" ,~ o,]-th< WZG>f.\IͭQ&$("tLN],[X1%?8A1Ȓn%>ǔLTBIB}A wE%"^=v1:ft xu4jDcee8Pf#;{1Vh- /cLK*M2 ͌T )J`L`<ȩdmN",lIP:RDE3DJVDԿ&P05J+ ȝDTc ㊀X"@:̑ ']Ho#{%ϧ[)l')$[2@/FZ b ggl>GK};g$'_ZZ111<X‚kJmB>ux((v(Iؓ(:3|_8O0 ⡁>*Lk-րmB߰3- -.nFypIml06N=Ā<Tr8 ΢F 3eP9CC©lM|Dh(! !qF;0ZK3QZB;NWZ@Y0زxR099dBa>4W,Pg[gXCQ> Fa*b^ԄC2=Y h9Iꎞ  π;, w*P^-ġG H !`Ek9ρBUGF[57%_`P4 h 4$@U~q]*H ο"] ,*UXD%MڦTMM5P"ۗ,b|0SCJ(j;JAmzfYo^m@"~-0G/ `-5`v|D4&sg6 f* L*Z5 OxF8f1h(5hPYCt5X h4U*ޏQGB$2As%IIj`abXPBL4wB0:86%PYs0 @ǁ~Ho ee4éq`<Á#B!3r!U-AjQ(:j:6^Xy`SfMuZYαD?ZZZq1wXniiec`-De & wU56…jrǫ,sŭ Kh`qԀv ʕ>2'@L)80C,_? r8f-Z!a Laj ꡼@97 sY;1WfG[4,8ݡ+s;SK@Ad#Es5FaD *<}p<[<1Qܶ`TH5t 1sK@*8P*떉ld=ƒ9;]x`g %T8 u] cB+d 扰FGSޢ4#i҅|;T5s(~ܤ !*p?G*цH) 'B s2FOCґzQO@:_%DqLI>UڦIIJG{^* `BӎInk|WY_S{EXį* s`q=ŭ) [&-UTqgs:pC.HJnƕ\~Cn׏#q+2+ؓ93[W +mMxG/}8 >D" ;w^uc%;n#" #!(.t;19eeIb@@ZP\9Iea΄.LAQQH4J:bPVz"I|N &X9l1Oz"ҍUQ%hRu1+ )p$\0J|Qz8OD@L6`x?%oD79: `rÄ (b7ۗ XM4OCGNx6xPż,E.B,ax,LR$?p$q) H4h5<+ 1(A21$L9'*DM'4$1I '}<6^ ?X< m/̶gS)hN0x"!`5D=orNx؟ꇅ6AQǗGUЍ%f [ 'UqHH`ζӯ<!ҙ+rQ$P͹u]bh0H) -s i `V*E16^O/|hE/Z24PVD3SFNf, 3[" 5Md40M@ lREAX!-!v|&5fn4ST h"1"#~;A9Z`p!_XH1s@u8sQKp&oAxTQyOAfߨ"><ED5C :GX /E jPRp:j39N!KK5h-f?)сIA2r@"2ѤCm?_Mo@HSb :vF(+SEJxPEbom"U8 y*D \S|{AsRY棞z{( y[:[Nb@ 'څ1Nj"E U<"[c"QGĐCY W *mMX X Y+Ga5E( `t!(R,g(=DrHhy%6<;Gri@o@|?y q]SC2||< 2P<DjsJ b6/͌  L?<9(@N/F"+. 1 |Fϲ"g1f18Xj0gqH_77WPj!]?mU" tͰxgONL)uOZ+ O hZyZ| nXOF2e"PBHoܿS4E A^ Zv{V~hOK `uбnYKVB0D$1rɁ$=ȿ3iL )i,s #$\0 "Or֞5%q~"P,U@'s~jcMu938%BHw mII?B-fТ;OW̭| d tO~~9G >ϛ0 t9n~ s/[GLJ#& )>]&". M |**UF?ī9 sl<Ŏ(X3^Nx@}Y XF!dvS)l 'ЩIw[so8Gtt@DCd34ĎR|B/4E};06}7 n!dI^MZrh0%S R5Y("N۔aE% 2h<[QDoj̹V% 3ߒ@n$-#FeQ#LQNLNb@*Y3O0U8GK_%]F_њXX ~uaMmhmd6X'xO TǪ Qپ$wipS( ڒDhUCM$"Q7DW6`Jp[ & ;ϫME&]N8h=6GߔDA@ 8d"S#ʔ+v C@klN`y.Jg"Txs$ 4LEq7Ȁ(5ZcHp#!C7߬YyޠwB0})T"́_ No2 DT*HҎ+dJ|%1= +ѹJt^-؅5&F$EH6"%6SY8w2:)6 EҦ%|j\9[9T~3IA7) `ޡ񙪡>P1ƽB&ϧE ,N㟺RF#?D2=])Ol_'5EyF(+p<#7@l4[Q$;/@}ڕi^^@sZ8r0c93DQ帀cwcP$S~0]c;$ZeQQĜMLDSCH86+~5t~wTt gE x@?PⰚX5ehl/5.@Eb-E$'!a{ 1tfa[`|-Wd1Db aRiVՆ{FDpߴA7P^`IjgjL-ˍ`Ū%&"?޻`PS&+#:Zb782݇ bq** k"fo.@ GoqqD,z ĈǸ`H-z7Cb+:^9ͻh4F`TW[[[ <&(b?g葰":tDž!J`ep8"KQ`Eȅ}¤$ k|B"EIFTV `>} x_PgI8}u:+&&D}T(`Wwe2bz68VV0 /A hfNQrY7&ѹ' DQP_ȹxwKJ[0I|^ #2Wp;6=X@|ߤpsfs̥Ftft7̟;~$UXf¸a񓡖ʈ+ZP &"l-A]x{*%/Gd` K)P&8%@NB(ȫiW #jRe l_6wI8`ł5D G^hm"#ٿ1lxEhlƅ Q.$N-K VdAc-a\qO_BJBP5aH4W1 Fc*b!s3`{gpF*L`q[r,k!ȿZOj ^y* 9Ř ŐY5bТx$1'I ӤX Q 6A{/p1M2m UHϟ %@B0F#`MuMAWsRF+0"nݔ 7 p VDF?~ F8I("b 2 `hc'E⃖WI4 #AY<[PM$n 8& /a#N'Mi{Q蜂Ʈs<(BBK@( s$:,g*R@z-Ghq":@'Pi%C=+CHV hAi '8d{VI\E5Nt8갸^/H`<3vR)j$rfMQ'Ɲ6mX\z8l.xM;ϹJyϛE'ap k"&rD %;K-\ŏj V&xk HWMI T}r[w6Bw "FѐiJBY@!fb@205YQIk`N7Fq Dz`[d8Y.puleij#]U]FOW ΚEݺ>m =]U`)M G@J1,M0ANX$ Gus*45y#H@0\C!XHP $*o iD":QYWURugE0Q_9"e*( b#pwxd-_ΌqN1)`b OzĝmIN5PLHr<-uLVa9J5wJUTi`t͒x|BJQ` B(LWF?ВX|I "UXIoWb?tpp@9sn`1!igHe%3ĉvԟDud "EqvU8.q i 5f AYl2[.|^b@`s+;37,f <y7(tp }?b<ld$8#煒 #&BH{XT : Ήn (b <  ؞j;6a]'9\)CXMx"R[ 3ʈHc)Bx^)?'"B:DYPzD0_pWLR5!-w%=F( 鯄|$D!4]^;F:cU0?L"S8?+qI"`&#[(bbXl•&BCoZ m=Mot&C{Gcq!Өl6xPR4ETcp7'!g$0 :,hm a`EoAr`6l8K@=Q3MԌ@KM۠*=#|m`S1oj#b"F'j8)d'ZM-g(V?^T!W2˻(:rMPbШ]`87Y`?!:Iy4xov~j!P`4*1`q= Ԡ$d#OFr`x "nڢhbBPW"g[`*ńF8pY 2Ӣ?z</BoX߀ $[@53A[ =pˡ EgRBQ SUpȓl A|+_ H$` M ]R =fÊ <<9Yjo&!*t9 B' um.z'*@J8#r@!ϒa`?ZܜCaTǣ?WlQиl7Ĝ;`Fԧ&2 F(s]c$Dr8%;37,{9oA vUCi-FY~as'澦+acF6$|qD>Dj p+kA2s+R\0*oX(3qQ(%д$NL?'*!?%Ā\oI⋓t͢Ӄ/;)^haMIB3R%0v1>e)t"4 wABB+=+hJ@6)=Nj: y۹"$e;qH@ixz LY"EUЍB˴*b#?:)xVo¿뿇/a"0"J鿂 GA: hWaP!x*<AΊ `Dka'y E \`!<q @}N~FG\E @?_qŵyn1$JB"탣#k_C<5UNB2TBXHw`IĹ`Hh7h JOy *]D2G7!`/:`;Z+"=v H>Y A4Mh Gjqbb~y$P={6p檯`+?R,@|! ȝ1D\$@X@`G 0 k͝N`p~ѹl\h5b\  f.)0YQ$ Q/! q#rvnNkl/*B 59H T@j$ 8fsT P8θ>fFL ±CF< øs8מ  }s5ra p}iZd@9_Dpp[ 8x|1EP q$Ba1KR(%Es~<|ݭ LJ&\ӲgV0b 9k&?8KG\OFtx+tA_':yFXHX4X\<s>yGUBZΑ*ݓ3gKܙZ& GC>~{_@_GH/|2]mǎ?hAGJ7t6;Ĥ bR0=%)A  @hdžG }YFaB]"y8i;EXQBvL{9>l0ǘ`.D,b-,#bQ8b`oIu M`>лttM4utFC 1 r]Fcbb jhlR&ą`MAO)#w؂ߤ@FrLgql,)BKŭbϧ6 ^x5bD1`>}SX`CpąޚOA N>\5FƚzdmRvN66&F6F&`14202֙cbm`mkϹ}ۖok۶D/f0=  \Cl+¨:@Xjp8R@Cw?c"b ki ɚ&$m]M6)$$0lWn`GJKaA=֖?\YW$Jφ;2/#)6syEK4|Kj:/0jEn?|jƍ|89 TlviЭ;Z jґuǝ/Y]Yp1!c;e1Fr bkʄ)7E2X EJq5`u.1eY7NvDO}gfٸ{Mߏy>ir֨]r=X;^#sfx;^n4^ws&ӄXs|ʓhOUz*=̴)ӑ{HBv-+֍r]R14|fLarJiGf-J_XzYƌEo߷_[x>zzjl[Mi8?8ƈsد^ܧhѓv6{LjIbSK8Orǯr{޾#Q~ƀ:6^4ŵ56e 8VHJPr*vk=s3OvZGkөpϬ 7oO-m|hϚău G7ۏ^ѺC/ q-;~G|DاÞƄlLI95X}TC N-fz)8x.ZE|eLRFDӷƤkʚpFV$ yQ3Fh ~^;?Y?Y|-/-ΐY>Љbe"m=;Y=ݱyI;Qr_JAx/6=^t&T!抱qF o!.Ϣ؏Ҁ3}r@ J%I%6Ǡef~hYU64yCV[\Y #F04oM8t 3/*(jx}Κ=5wPYt}8.? ;ʜ5ՍѥdV#=mnf}=t?s}/oHAQ y'B.ٙH忪-zq**F` #N{n$mcӈէ&O:nR+<霻M_lpM?ɡ{#1Ꮝo|~kos͎A'iE|z͚5u#Ə$QI!.IT^ Bl*Ռ+_4[az;J>.UHzqЗQ-kD/!6qAg1UUY2! R0wܓk֩ogLc׭Y^kЕUQoVxZB_tXݯM%~*^!3khDK/_8-sSN2Rh* VɶOs7`tJAC蹏QJȰTV=pyp!Y> thOKgY)i.x턊ͤ zmDMFGNLxoT;6hh;鿺vmYo=Ufg8䶫B#fgo2Z׋zY%&7\V;>{{VưJM8ͼɺCNIZ1e㮵f[^/3>5jCϬ+=?F6-Aƴ#i?6hعo;ͯn=eV8h]XO-_nlUj? 7[w<f?>xw5iu3p Dt|q&iGW{?y*q[X)cvt]3>p㳔lwM{m ([8n;'\{@wyfsN}6|ZdgYG]H{Tznv}˾!SSeFuF'i`dz.DmOnV\tڿMcd%~t۰rK(mǶ˸>gYWYaJG)zW7e\^.{ް%c7 &'a s@rV߸粒{S.b6G$uT g{hʻ'INm]t];VKM35hD\DA^e֮p7;=8C&k`Z jE\uɱ7ϷOy)"iNu| +6%8Zhy| (~IVA9wߒ.mrKJmъVĵ,M` GK4Lrfn7kMxH[;25LJyo*CZ_Em[4_ cd9ǥ{t*|nwɣ[nhs [ƒq}3q:aM.T[j=ףo" gWhaIƽ'o!NT4L2|xȡ}ɣ;N}jz A/S~].:߽BKzW?|g\0G,tmΡ ;bHUkOkoH~,vՑހ [Vw)^s`k -՗W~q3\K^C+ {Bݖs"!|Qm21GHx`yu'z;{H%vVVb-ts\xr:RSZIj8Sh㛖g VUlkܪyIm;f emח.x g˘딆>e~>ӌejuL~WbzimݧB6߫Wc8c幟GRS7lmriOGϻ[P ,j^4}V/e%6Msnn eeV&ޞu4q+;$zVmQ3:}G_sq*&2 NɛR㧮Τa,qŋ kN"c9APWޟe Yb9wyׄC. ^^i?Yݞ9iҫZVnkzoY剉dy53IﯬNiUwꥰv m_1irhD1 +\77=XтE /o=1Rces"D8 ~Af`+k|dnڏ4ZeZ"a uW]уu: ;z|u]/ f\{zkնuTN]nPpmFqlwZ̗68f;%Q'e?ϰ96QUa# dʓeun7)v+_\i,^jۆ7,C]녹(.> !Gߴun%?#?fu"C޾WP>2|UsIbn_TzCe|r/su\ 10C,i+DNn5N"*|崝U7ͬ5ӏj\@F^O‘A^:S6 ǒ&_W0gk?=DJ֗镦Nnhw<-V@n!ǻ휻;acwknh^}kNZL}B_?BGqd%l_nr;;YL s))_vJao gmz\+/qǰC.=z!=0QV鈬IkmTiRmͿxtƩ)GB Q_ڮ>Ń'VJ/9.uoϴֵ>mgd#}d]RQbKXku^=&Ye")*8^fzɻ19F4i|u|mqNSG/.ȗ[Tve!9yʩCNb}y.孶 U,Ҥ?:ͮAmȳlԍ]NEۓ<6NhaФ2f|,K匙-[ v4Z>%W?&rR.? .?A=և )3O+Mfַ|žʐ Hмxq73e?kx͕X6Iw}XbK7>}4)B,eBRK9}M74kr̓i&2ESeܭgo;׹=z9?3^cԌk$]pN28o7y;gp_'D>{bp!B1UzÑ#,[TzEy>m#ߧ飯yqmG*X\iMmޢc-sեobOBN'6|[`R2ӾU~Ռ6,ʙQ_;Rwu۱ ?AEk)Ύŭ=}m* N/RZ!g 2K.,h}4$<ʝ fD_{#C8l.7%|6YSWʖCיt!\wa׬".ɾ}aaDɉSʤPF]-91 ?ۤ,iBN^tD5Z3g$1sܦ Gh:zˁ93V9ikFyr٥55ׂOdT7|OZ?-R6_ߡlyA텮5 .9-c-敬 'OӰUua^ xwIn⢰gGb~sPG!F((XQ{J_]`qmC4uذ#12햡GR}4MO~^}v ͢MeMķJO~6[h>hCo_"10|6.iyUe8{V6y|ګ>`JUs T,X;dxх֚\ci}~Kf]?İ7~7dJRFgs,f5>e/Xp[d͂GSGf0yFjaFsÌ p,\w.g_j׾M/>nj.{'~V~'M(2j|~;斴`\m'8./N=bmnqwSUj.y2Ty]6h(ɷ+".G.}Dc-SE[N~mf~ !S[[mP6gP*I=H M&ϓ|kZ͹ƞxOX9I*UJ, Q"E)5X..r9F%1k숣*:[='\4QF1Dx/aCquHa-S[O Oȗ}h]eJΥ3uoxk3TJ#Ʊ&yv[}?`Sf [>5aKeZtk憐%װrucXFm >]y}쳲RXG s}hsHiRɄZRCط3qN=oO/R\?~ű  U+Oxn$8bs.+_7<bTtΝy19 *˓tEbqO&feG$I;fdS_cc)[zqK_mivN[SnjN >:?C8%eNV0 8jMu1)G)K^Y@ץ:۵#ٓ/1v-E#/̜9ʶVJ$cՙ2[=;=m^o:[ ]jkAi~n+> `wճWbʸMuB&k.7]]~2Gk-ZcxyûTva7i4̟sܡzQ k3zW-xt=uJr]kU^ k.\<('_=1;wgK4HxC c񒳣Yt+yI=S7ʍ}]vqҬ m/>ط^fyv;_&]0L}_PcU=?GW|%M圱nofa-x0(.iinw[saI,չUS>_4}1#GN zc伝^F潌}ZQuq؍Y͗ƞ;M횱hLœ׎^ȹtD^ƲEԝi]7h=)tKeͦ܈~%VW71m涡ֆeJ&klds4v03{YⷸwW>> 9Z>j7(sB =m Gu4hN{fU;&/y9]>&k/N08fmEC,{=G㛨%/]Ԭn/ʐ\QkWG=?G{~5+KVRO#U֡O FUmp^pEӞ[:y{|@STEּٍm~KH ּӧoVTFZ]EPla;sR#To,mHWzGkyhӾQ2vo3ѺrLF{Uw<} p?i^<9=m ݽ{l2KjmϬڗ2]e돝Nu{TsBwfm",V>qˆOhluܸ\eϖEri1u{kx+w.!,Gj˩mso4Tu~O6n>WX}cWOD=Lemck:>l(_}o=lub11:wŮVe f*Tq>S DC܋Iw}FfhSj"+ɒ5?'i9>pl3˯^?(Jt Xͬ;};˗9)pgf}m+џt13Sn\L9˚V܄/XxԲbٻ/>y=怇Gw u5Ku/ӕ*}62zF!kB'ʓWem((ĽLhb_+L4Nzs(T ?ռFτݏRwV!Mh^-A0u9J Z2beg_u:A;M3Mzp$Iw5z#VB}GW}Xu5f{x$CϿx=hd'ǫ3V6/'N5$5r;{tn)Zk&\c3ΘW>8 |,[>5Ԣ劑g09c[bz?ũ5B;*mCS}sG^ih9;i ;&U]-Ut5M_ ffWʗXzݽsn[]\ڸ3S$|'㊿l=/{=I}wbbg:W<|5oؙy`xz~"=C ͫCO޽tjk'_6HȾrkEu'7}R͡]מ.}Yʏʞ96/šzMngBK2Uqukġ5ir7dU\\;y֯y'yS T}[_-7@}QkC|tMY:zUF̕'Z<:sѕ'K0 wfX'%V4΍Oߑ>?x:cP_⊖*Cf8Tt?Z+_X5򕊢OG9eU%{zg`}܊~ESƜ>𴮱{ܳ]=^i5>~33~~sD#?>O1NJ?Hgm /}<9얮jiGgSκ. w-ss,ح1ZZlwm}80f8`=Xa?[T!yy8YxzմYW]Z\ d O:x߂\Q0ՉܠZփhR i9gM㴷ە"ALIZw{G?N}b6'no)mYtu8!dSNܳils*uviD_i 3J;m[6[v^_^#k,%d*F9oKRr5{mwN{Kf]:JYMc&nkQ2Vn"SG?aٔo#݌+2Ә٧uHOt.sNw]h` T$J _7؊Dws[[KKɓskO g=|c~_rSvBO{w$|rn9MFAuu§3JL- ӥSRK}|~w ?ܓ ޷YsH6^ʖ 1%߬){iuUU e#I%z/t~FyӘUqwM|rrO?s+ԗlz*H̑u)5{h&_Aʓ=~1Ƌd&}OV\`UcU) Rk=v™⟪&ID/Q09\BE7W?5zvL7g+yq[[/P:+oU/bꓧNL8MU) Q05/h;JosWa˺qkɁ3wUGm ~i=pvZ H/0hV|޳䤦]0mDJ?-u,hKْG"M-y,QI*}쫏݉18=ao(eVH#*+6Y̴ȺR*4gA*۝czCڊSڣ6d$ S0Ν@%j8ϕo(:NяWS^ܖ)$3";rWl+g0zpTFɑ>C'{dت;!YĊ쌛'JpSAi?d1(}cvIz5^\Vp{ѣurnB瀥v=_cYSnee.)yn ]eѹ-3$/1Öɮ:6mYt_ޭ3'ZJ(xjL_ϸkgX_|3F'~c V@DҤ"36%XbՋY*i6NّϢ)>y'2R}Jܾ\K.}}2e޼CԘ `%^1*SKVě2qfGGtZQ*՜&?4uվ4Y Sǻ{oxL?ʉ1C89c 7yWzдÊܯ{ؠ>zh߰a2&:8MڶFZ|C[_/u$~{Q{P*$NVm}V3.ti‡ ˝ӊfM:8ݫg>`ǝ x;P-'&{tnKge4s|gg| 2CY>YΫk֭/;y9W 'Wnܪ8múRcҽndQ3guUEefNwwqEWY멓űV\rtjUnpuӽ԰~)N{Y\psuNsgE8G><beױWmΞ} yqe=..ݭ雎'V8#yԖ?Sw i+Z\q{l͵sn[N=BvT~Qyf,SkYΕV޼i9+~go:gh'=lgjI)+jDު_;ϊ!M gYT.|6n#Fai?ɢCM߻oUux,ZVЫoV]3VrKC7l˵ϱ)5||9~#;Y %,WnX9i W+7sxi/u [u,h792e_;pFm[ )Ez>UʑOR2ٺ*[85R=X-~dF;; V.6qƹ--c1դ r-8gmqBѫGް5OrpBYws.й3s+&nY8v݄wJEs)Ĵ-ʸWc3:vrЎT֓ gmi nkVO或DqS.|軜I]U~,I2E7KoׯiJIxJ)\O*l}S|QV7mu5,+hQ>:unO7yT>#K&*OSIxuW>k ?^WsbDj/ "RF&~;Q}3pCIJM'Un֥,N^jIJ3kWt;[d]陴ʢٻ5+庺ŭJ, ܜJ󩥪Ʃ4݋ O-Y*3 :/SZej}ѣGO>ž5%ѮUo;o+\)}kk0#Π+*Sݾ٤Ȼ/b ~u"6xy,iϕ+iqt"ŏO)iiq9ӰC/.h&GJ,<3.Ƚl{u[Ϲ>d)*g]fz1 :n,~Pl©ۜyo2u@oY/,G?9$9}}M?Nt؛/v(Ѽ_yl\q 7[U"?ʸWpwVUʢO_}**y>.ꬶ.:J]cXn7~~/8%ua=wY">i}z\r[ʶ{)veqKk.6NYN|̝<{ 5f|Nܚ]6K"^~4&gӖ5Sq&UǮmfs!K7,_i{~ңOS;Jg5HZ[ksʿ~3H;00?~4:CmFɘ7^4vZrsċ=p3o,0='cWP}8&7#tKua_Ⱑw,WCuməC_~66Fh{dӗF۽2~ynoH]oe]VaZWڰ}sr.x)sҺaפw(ܙcqN:'yHnMc HbcI&ihͼ>oѓZ%>;KԂͫjVVu>بܼ=9+dBXDYVEgWgO-s ;j~f~/V;NY8u97qS3/?nNNeeþOS}$'.wSv L*<39oIf@ *<݁}[T/%._¤m%}.ttFx<[" aG'LBMQCʜ FvP<$mF6'Hx{)1e)3^-h権;N‰&0QۼQ\Ѱq;Sk _bRCT NʗRo%MR?@i*|M;$LYNHJS5|uħDȊPcO1 ܰC>ۥkD@k]?E߆ɥQf\)n.כoY LRջ:@_٭ I]{c&01.q5v23^!ek rP)2{O\00HwtG`M0K>#RNPctC5T6YGf)MxT/<%Z&ף80ODE]ﳄF g4uzyMh+3>F]=aPփ [>snM3Z?U7 !@9w1+w9X:W qg6Ti΄MN\qce ~ pL@xwL5PD4."۷Q/[.cgZtY37?j9,6`Qé>{`&,LXuߝ\.µR(lzaRZ*sSLi4wpH28#o 1PrUlX*Y&P/{I/[ }\8j 7y\ܠ6ULf("jeqHٝwz>i֜D*ݰvվ(Aa&^>0)B!.[B扼q'wgafƧWLv v`8@h2Gّ(]__i{:*t˦jxlmEDc 5ffvn1zFש#L!FZp ڞ.8\ 5 {tmN~mGǹ0Iw2[Ȧ$ 5G:m5LL!H(MɞH#miʌ35U, }=r+9~333->eEbU4vl}!.@#; mʟ~Vx9l_ au}nmV.k}m;hRv+xoM8D:LXyDGԸf`d3My8AlZk^DGg2UJLZ6 `"6q,[{Pk;Զw{8.ws}ZUcvU(TG2tfsY*"F_xF$6qͯxL広mu}Ejؖ”@pk)B"j{h-%`o6넣*=|E-( tݬT\~[<&<߁m|Vf6br_e}8Y"-"*DR 5Gp50|nD>ܸv ##ØCgfFoK:f~QN?~L,$rDb8bW4-1Mۗ S3uz ӷ'Z i$yv's>5fFҌ՚. 0f`|f| `2vWjbBZh3}Uw}zDx;=wȌȈ 32{qi g7j Y-.]oU>N[2:s5IS&t(KpŹOMY̰|-R)xk%ZVt#Y#lk(Wph(zls($ i1k; r ez[3&tƞFtɚ.?,wܺA;V5jm|%{OfXWl~`AĤh|?_Fa7W(9UJb~Nk1XgTܱgVB]G~wT,@R#|HHMu[[[r/`Z_\% wn{lh6:PH~](}m!4LzaBtJ hF?I ?oj#!$xٳDd!Cz{myX$b-d^tATę9O?KDC12q6GPPyWT%f氾BiV>XX5u deOyǤK^VV=X]fsi)ws_lĜˀ^ӿwQM`߼ S(?d¿i/\9$J (VWrXWX:b3)~uKOzvP pcQtɚ 2Yxs9dV 2@YTF DXNd`8݂ӏ[0ZŃGX_'EX\XF6McW`7y"U9Qk&5La^M4Tɪ[[B"b{w(VdD.i펅&MdD=R,bs*yG ;9eB"Hc a%[y>Io3LJ]&(K  8xyRnpy}J %&Zt04R(|~ۡ':'BW"$>ݻN)d$ͽM̧g6|Pֳ_vyz维m&Qu;5 vwP)໏m|Z 7:8}qncci .N|©BC^C?xʠ͙L.JkZ' ̔gRɚqs9dty qhEڟG̪YnY)Y. {d@/cvG"l"mn_^ʌHYCor`TD1% ' E4  @ז+rFBʏٙ4%5dwxzn4'+\=!l(Zxbt\;|3_L_0'W?o1#oo?#84ɭ܄='5G8 9lbP7Ǔ%$1"s. 4W& q?'BX͉&sK.ZDsn%Oۓ3Fl}dY@!\YwNn04ˡ%m4[OSət~sEu."mzD0fe+o }cQr_TPwhْ ;6=`ˍ \-!LS keϼ{ }];cR$<7.hIͪ8{9I9 ,cCF#,gf *̹OE㸘zdrAb7s('{y~./skvE-C]z1KѬK%o`8]Ll@q9̹g4yx<*Xr/x3yv/HwdqD2L2T'[}PKP=u=Ý\yyC)Wq"g/\eXeF_w77']qiu5j/cZ=*H=&>*ϩ'۞&?~DS^쾜sG&y&4O=rߓ:w{{TIM&FjͶ' 9s:{:.WʠΩ.pl&Cs`mdi,:FNΝl\Z' ࣢$:TμThuDL-Tn/Yp'aƷL&\רÐE 6T]eT)U$VA=:M>}vP$$zȐɥT('ڱW\n!iMBᰬ)‘J u HQ WagJb*Gh(XdCN5Lg0(=x[3RU jOV$?V:]0df+_D@ôo\RJRs l<0YׯX8:ZL(W1;3XA6ùT )h.닭B~D9rR.O3V܁ =r"x:o D^(:~k?~7bQVߣnѧOq6J=j]y.gw)ι1 aTITKE4: ?B\n/OhaRN Z>̂LDh(;hSw l`HC6  sj+A8NR=y6gwZ& " yfM0K3 i%E ,*ŊށQ<#G%qP1  tU|ah:O54::F(}GkvxL6)f G泬I5mHۆ!(EsW*Pe0 h-4 3s8LsDX[Y7"Z9cc!eRAZAH"RN"d$<%$\h&b8X3ܺCԪfRUc,Lyt4*FÞy.kNimס lkBzK=։/3[f:yR$%5܇~p==,"ltkqJ?Nt * w?MA<̉` Ȝ]P@zvahco'&޺*$?E X[LT"`uk:33&bNh֒HA [_Z&}l DSHq1wM\;jA"a . f~RX Yq_$MH\E$=37'lOaMeDQe3j_8&xWZHGZհl8}{?tZf 7 ML! <"qzG&H } @@0LY ++d1n"!X~#D*ImsV Bdgb9$ d)~B'OLZV)Jd!k7 X/*q\2?v>[V+Bإ"^X/ו֮bxMH$d"M3YRpԇT*K?;뾪Oaa NNZ uCÖ O@J`|zd2kH'y=(,#}uJMtj|%愈7|?,,,qfǿ#D&33Y\6hx0FF.[qK>śYv/!*7|s(ҿB{[hs=nr$SP378FsK^9KXXm]9*J](~y>k\,6n#@СD?LT #w WAN-^8qڝcnZ\O|sh܃׬ƄO^~0i[դr;+v9A%9oLNI4I+Gq?"ᡦDNs\.3%ԴX!T(ړqVe}multڳ1G:E+Yuv 3aV{E=` 2;yž%} x SM/[&gV#8H4*AK,֎ m|߹EѸr.\fwW3.AݧFD9 PuFؿ!֫614^{9ƧI؇ꮈkMAꖫ&0gc$+B«BeOQn]1(rQe$XԐD"|>c(;ͮ# C,°CA*iKC kqՀ2Ϛ"zdE|ϛ}ҘM_ӹ8{|N'~zh7QhBuOzۮl;j; ?;G asC."MEf1*fhVr׮#30RqTĴ4fc! -8[}czL1=atD/b}c_2$NxOeP\LFJJ+5Sy,"[ujYJK<=i{=O5$3ji0.¾#tPA ff:Exȯ֛ME%vTq>K' " Wͦ3ΨR]P  9*ݳNMr\QWmC=&'?)6.<+py^vH3atP)rWh:Hg2 cdVNɄw @O̬:t"H%s pł[-M˼Jna+> ݪX9-q߷r%if(Қgmm '& s\3j{p.`;d#z}7_}EsKM oc#_Tr$iXI4+{S賧{ BK6K8~Q$).ffMıP$fCGf6 EB4_*Ui,iz .{fX(#^8~ oQ܅"cwg ]5l2F@OZ0BPQ*V)P];<1ģMAssIeDcIs9-z` _W@(V|j3sHDCWwhtCAX"!kD1CY`@Gt |."u``jÏ`i!IA4[(T:X426s.KQ6(c\?203(jXXYB:9n@).dy9Wœ'#ҼȤaeZyAInҟ7]\{ bJ}DhL@s^R"W("gF[>D:\<"Zչ9w_Q`uZ@s@<'ëO0̹>dKrw;\!#\6SZ|c$~-κ(74] ҤKYruӧOlJdN"I~>hb ^ PH Ua%S@֭P|w5Jk?vY:}[_;]tKDZD4DVA";Lj8\jɀp<1$hh_;-ِ̹_Er?__YE8ąn3ɇpK:]83 .S 꽅VT(:R;Ch~;%iG'x{htό>>4 㹌HKI1-n< (Fuf֖ai/q)|6|h@77`umYA7W'v-n7hsԙH+kkiNdŵ:gf;M6k$:dkK$e6o}]X9汲Akі[${fP|HE~#a|)Ϸt[2V7DBu#}*Yf4yN*':n܈M w%)z0YBYupښHxD";TZ @&v-/ @wMҸy&c :8ů?M@;weA4/7JƇַxlȤS8\ܸ&%Jq1.X27+#L""l7yh]'"x !"_fcf)-^zj!ܷM%%l<&eD/G~? 9&2+陵EH`^3/৓1|3I"P)ŋ%Ay: ,uݏ`cη0e+M!n'YʽNce %]tEYO!A.R$Z'\24b%_/ɟGn}~RBP#28L}*?z?YNQ9ɲZKH!{c.Ar31G7j dgg- KuߐvBY 28Q0I֤q|Yo@h V< /"Y4;s٦P ߏVǫ3]1,x!5DxS/l:.hyGr{shn\R)EeK5ʪ3v}/L/Y>ʷq'ƩùZOSBCɸGdgV66eMn G[})2 LP~JtC6't6 4%P+dn${P [}&Ew(5xByA\/(1 ۍ6?6N|!bタ7>$eu2{:$2 (p ?< k_{?}E*mܸq!h$xv."YqkKamDJ05\qp9/b!X\~KV`@Kƴ1I4I4VxnM6Q2WczLdvyfƕ|~u0lt:.x΋g1Z*#p뀐͙.+kYdֿqB^Z4]jޚu芍UsVC]]ڧsI-,,w2=HiYӬm>ӂ\Ǎ1=xA_D(r$Vb'P4Erh'} ۷9Z8N+\d!B29wAшQsA/ x=+U?-f*}i 6֨f2mǟ/--VȇN%ѡsUr-'v"!-1^vřs*B$c,A+͛O/OZwN˚Z"_c>*a\+!|ET޳}g8`h\]%La9h1˭Co836'He>d$$#U|U$s 99պp &{FhErJD46(N~‹#ַa6P)BssViB]\%? 왣/V4ɤQEp*Œ(>U y-=g{](,,*iLNoG]pװ㬗գ8JO*.i!ۤ*'ȡJar]KmN:6/3W8 F2gDCss?9` A&p>Y O ~:SL?v6[Mdbiq DvįZ;!&g?e4|4jM; 2Bo^?mz|..˙ Rh9G#h*\ y̹BrэGY/sxzG+4I+;7^N& .Q斁J7sEftt 9B& WK,HRHY>)Wrr18cB.w%l!r}tnLRkU-%v?hE#+j |aCH'RѦhEuu2f t V{$krzS7\ڋlWi2H"ng %ڃeXF8HA5=}kF)M(9كRN (."z{p1&x%HKcwwxmF8 {+)t լ^J ="i9E],"v@@GȜ/XR(J#]%8=z9uKӗ=یUHiK?:OyAڵJ93p(~ C !҄δF4[ʴ)m6+61Jm#/dCK NB!a"Aklе~~ 7$PS$p(&?0SVo B6B @AI[m<0[ &M,"6!".ʈ'b 002_AvT2B9O"zE,nx6N6Vdv1{680H+ DP1Qrh~)ZW܅P1YRp gɤI5Q#!:/*&fOiu{^uOBķ@F97)d28nI(SV1&zK3DU&:H4(ɍQ-TnЋ9{7wlUYdnKJ t<E˞ KoMk5 s1to1wwS]$CH ;{H%( _qBsЍОb92bPTG\C#_#89Eh4ya"y03局 Fz мZSYZA oqȸחŜPJXY<'`T0 XNb 9 .Hݑ>ق ,KFrMk;Ú[xއ$$cZ ?a6gw^-"8\,mޚ1Xޒp@oRk#K>[iyG]UT1}aUҧxFi2J^BzF vqs=kFTjdc9 t̹䉘xa)pr:F/n0? baEip~@ɒM&EXhݸX^E06+"ҟbQsJɩKR;5,sc+oL.M6-c|Gp w Yf =~n?W}`]:#PnXڸA4( |ܻwo()eLQɞqQW~G,ƙW5_С?ͽ}"^bǙR/IAOz;vmkE:Ndg/l֮䫋VoJŕ#ߗ+CN$rKξ>:Ki<vPpDm\MpH8o8I`uϞ8 =qa0LˡXk5IdbvtJDu}}em+ч@6XUtiaI!ktFJ $3KȦ—<̹RܩǯXl)C<%ìVUGv윫Tc>s yyǟg]׿Zm0zp=pH/4/Rbg}| c3B&+.#3z<.8XF"Gr *87Tk u s6s -& 'Bh`jq7_pU맺05 czL1=U3X& vre$M+L6b 0Xܾ}-RnkHhS⑖ۭto7 eM€nI.i{?#y<'yLڕwI.ˤcULqȡ6lǛ)Y!B/b(?^8stn: B=)T*m4?b/ccLGqy)sC4w$Px~I/ϸC8uM1+em&2 Ku Ǫ7-4N\XvO@[s*$oDf軆Cɭ;rxw7 ,NGZ^ZϺfpZ ]'nufCE9MfFr8U'YUٲʜCCgRaowӖ}{^I^>R.'kvqqTsL2)xD*).,,iߛ~ 6~ǝ_IaTqk+K.ڙY5Dl[ihï%!HW~ @u/miaR(PD,DN|֊{b `bffkY|OhB ߬ѡ5r~[;Ed33'{ զNV0Y6Y(e>os'5uM^ow n8}\@kr˘!eq޻,{XT-\k lI.P dmN12,"^wyc}_sfF1 0ҡ}D2@YD%er;1(;oM_AP !c5:B*ޜ;^CLfoӃLq>wC?dIӏ_Km ,Hps nǺk}2;/}mA7y*Qa4p<~‹={^K mݾ>lU#)Ї2/!3˲.>T.f^`:,$p؋O7#ͱ֥5ZxJ &K"Pi&WVnU2O·ɒVdӘYX*،bafY,X8k17H/`>'Bҕ ! Vk3u%_*O`qq`$G¶Kӓh0-I٦|dOMJ'i>-t"f=0 K N3f­۔ӤE4@h(.yF⨕ s^|eZDD`$Wj J퍄\"%M2$%t89/DcISSW&Je±!dyZ$4HYeaBDn!0"s.냅ZWYwB<acbvMRsiф$F onqs&WUi3Ywnmo&YX5ܻ>6Oˡ8sz4:?"sC*:wy=3V:=`0x9s=HbG2+<&2aB~þzk ~-6V"qcU02d$&RI1pr, v3Bl/ޕ}>E34R`XvuQ+ļy.9X U'ҹSk +xpCH9!ؽɄ] OQ},tpljz"ضe5p Ѣ*>4o~ r\P&`ËtZMծ`t  wjxC2mSz0(os;ƘaIQHg0ot6{LU7T҃TuXvv:[KLQw$2-@GQF7.8|[J`1LNk2DWtgBLO KVh^c' i ZttTEZ8e$c7]"$䘢{5rkiJYIkL9~< >9Nܹ}v/!'@goc1V^G m!K65HF j ޽*=[o=,P9P<\rl!9ɹ]zw]v_/iY"T]8ϮK=ZLf4=NWdêTb^%]CVolR_=FUCaiYW^"/rRxCM **Dd{d3vw^1n-݄= > sdm{KbRfAf/GR`,_0 ɜ{{:c!9UvVIL>ΎΊ4iQsZq O6XbgKҩ(UxGz6LʪFՑ^Ae7d@p yF<a6i:{;c^+oZ-.?9 _֔Sry[c@zWp18q== ayև1&S|I>y͉7(=@]U࣒BIFxMb0*Zdq]<~aey{td\o0<FΏyӽҲU+GPLbaqPHF˔ b$HI6m1% epuO1=B윋Džʭ[:'J^$rWt(&`ǥ8nVh;{,"Γ˙Miczx }ruTx#%Xlؓk{yW}K yKOruxHNȨw[sK$twV&zg>E:ǀ'|,d4 z95g0_/a8WEo;>%9Y-䍨66dR$RbB윪pz K/9<^ҦKtJm^ XŪ&j롯X9IH8dʅMe;1wMt,Ce־)ּbgzyn5$}'WIbyn; ~@jH[ vw¯OrlENU*FpIsEQm|8Ёo.XXn+q)dGCZ%^- hE5VYPc5E "f-X_\BT/JT_@ )GƏtU iy )NkzMthFB1a UQDM?oom_]=O*0Ir` {̹\^S,,Z,*tNIX#Do\?NC7l8B~1 a=XlLπ .Ƚ;p:A#H0Q`Li!_?Ɵ|0"@)؋h7qw .Ӹ'ɭIKyD422G2ŏ [DOk_snqo֏6F74AB3 Vٓ' hu>SPu(ú!$`ӵ>ګ¢ZF"qWmѡ\:\78,bsm'@S){ b-t~[8pLoV_||$ mwM*1O0(GZDo%`7%Y0V0f*:4J]$erAnKZP>>hYsJV@IPu//#8Jlms jن?KY5 Eh0HMe007*oU"UDҤ!1d$dK28|B!Hrh#"2^>[ǒL@C0J#pGcE&(=E 14c$rdAc5aDntexX^(yH c9oF 5l_[X -i6MKZ"Kr+MC{'0E$ӭs_۳a|ӎNO(="'Є̓lTeIsF$4O~7t Oi.K5Ja"WsO'7'9Tֳ&(,upt^\>?x[{#}; D+X޸N&cw~RƼp;l:!#Ɵ.uNB¯8dͫ@o0̹&Mq|vںp݄C$虬/"+8<|JgB,k/[Ya뷰.+זY0aN992LJ66nB&Lݼz=QE F. 6slYX\jwp`1wҷH}{جy/p(iޱ17?+U? a ái=8i]g[-PoHSn[4ymc3aH^n@U]bHV*I̯=AL(9y4̜ C1F~!ڳGxn[eZ+q8νPS939HuكXYbI)Yzd3"9ՙ4xARPm:qM筏)ߒvȑ%"}89=9AyN:`դ6I7Қꚓ769u!cMkvfr #yY1|hyz krh\au{)Ŝ\>~U6=?r9}Ė&_.^y zW^#UC4Iwҹy:y{۷2M'[܌,a+tD\FǠh4F#WdҘX"-%!;*X8FzLZ^~3=ky/WS2|9IϜ[3|b[yjRW:E0g"S6텎b&<\eבCXq9T[Z&zUE0N\Mzc*ozLKO\99:]ɋ'l_dM.TCdIЯbv u4pe]ƳD>i/&p'h0(ޖSx9:( 20v'tx\Hygw/e@BsetiljATYl5ݱ,/tNjQ Κ`y *=XNF}Zp(G$It9 {Qi#y]>flQKG=sEKwH8gnD6eS2W 2/?ݳk*\">xZxo y"Xo p[C' #WH)A<(>@ˢkkp)#)ezJ sN㉴qx羪ܪgDSDžzx/p ^GXF:; SiZ8IM.قh5kE=&YwZm|CF  3NbBL4B FI'%4.ý2 𪪼w-{Ƣ`V-_1sK(0t3V l6v$HDGeU28Xײ.Nyeڬ"a+d7M3amO[؁ _\|­6V)GX(9E\_:y&3WR]^^zX(L@Lj0sG &"Ʃ̹ Zu!뎹9ZÜBcyXL @N si3K!- d E/i6$a(lYu ?B`|UxrA`%M(XFb(XcR*]QAŅPBБD .Ph6j0 DiG h*&9YH҇VudIg1*7-Gv&csn\tEG0=cF׮]C:~xӧuAk5(HHX2|Scǭ*۶z"f,bp&@CA,D̔C AvAOÅ/pCfP氇?08KNvF/P,?JCb.Gʢ,Aɖy47TPPtXq5& 10{ndĔu}ģBs[b\&FNb6ޅ֥R&Cm3Q&|XĒ}U`#ƍ4& G4'Znn!JԢwlτ`;`~ȗJ̌В beB\FS^_fA`J{{k |u.,,Xx/5tN;9sa̹SKokn2)lDFe*.b]3M[^> F_5/xhk%jkN0f1əw]G5pHܡx"EiH-!, @q  JK遂\jYxp=]U]WVVޙqGG#Ȉ:;3#7,ؚ2q !́8nga8֟MOVSryפɆN:%-~EhvRv4H?ų{˼ʍ vBs(A=BOVo\Sxr=ٯ5u^ԱPuQP>`@+8׉2]6T 93 p<L 1AA@ ppiwvۏ+VXqHiܗ̹UhHLavIJ>/%GjMbA wTTm ɸs[[/&N\`YΩ /Dw1cd^ d\o lh`yaq6itZ-8_H|9.`$ύƓ0mq}4NS8+~jnmq 6'|Zg h dJEuGua朔5ZsŚu=\&-~Y7HwBs|dx=ͩ0:`7;p}%[m a8ADϣ-Yk1=$֮Bksc1\cs7/ӤyX|gBQG퓖<mnmCOfd+]2Gx~jxZ1F@\ё.K%'_, 8MN|Z@NR"N&]32߸O`wc˺YãGaI@e ,qI$SUHJI1D !\!6H@7HX9$D)kXVVfSuTbm:tIا&R!@oٲNº^&4_ЛPzp^ˣka*\pF^&*:T ^ߣk'qiq< R0ֵ >x-b&wf%0惁6R$C{ԣs_WLT Ld t- sOwhMT40w'召A￸tdD)I:Uդb u{hVs/ p=#|z㸞]‹QpF'k[3`>%@ui@Kv0s@%Ÿ{~ ~+0`MX@r}^l CvQQ;O.zSWO9|&\b2؃yθx..gX~_ԢE{,@r@m1 RO7'"95!ܐv ?ʱeMy˙>9WT(jQZE <bMXA⧉唬-TORؑ\cOna(NsH qT5*:GԢ܅NI0O [ Et`A<Ō;.~ }&V|f~BQ"`yПn_(; r݀:T\cm_(81%{迚݀3Q $eK62$ .j]9EH鸟ml,QΧ0~+hwLԚm4+dRp, F):wt̍jw]YZ"KSV9H 8j|PF0hi"k1tW ӧX4}.zSe5QV] ( &ιqOB]Y><>F ֓)%^z;[{𒶬5-$ =79);[hM˜@h'| 8o!%[X.}n?jׂ=U[U?2i 3U!Mt@WJc#X B@z T__?"A+LYJ_ر>xܹsG9w{{[;1FQ-ĩUOSMIOmȖ zo}?&&Z>MCN3^5/ZL!鰺}Js /rLKGklU;Wim-.B~n+.uF{Jti (6~|}E5b&M vtB&Ŧcy łd휶7Xe@Ѩ`VG2E'v&%Tj7c97&K ]zz!1<<2I[0%\(F(uu_<7OIj$)|tjg}6*6m|_{iV ĵ^u=?_>fham GÌ/Ja`RZh,pk@sďox7lG OqQÙs.t„rW^=r ~0域 ]\΍unm#$=SFZ1\g[RAqnQ({N_v6U9703d l외@Mwu2㺭\`o ײzxZ 3n`$X(Fb4 \OFleRnl|]ĺxx諤0{=RruUGG70SJ#̔0W.j%?̏ӷ\\{Xz=QJbmvN *u26ݏ†lBGـgOl LaQ/`x]Us,K!C6/>ĸ~0@|\^E)[ܲhLSگ fW ]2ET]|f1@X?s.9Þ/ 9chsOFax`uՀf9\ N}hL *>Mr0}@9Ç4gz,@ԯ=x\)|+8AQnkd ݏO<֛AJf^-msO8ܓhos07bνr۝Ն`jz>=;~p qvsv'SG(}PJ ?N/ 9>>8|96>p{=1\97K9#=cӾ3~4]_wZtzY9r<Ƿ CfUcd#ϡN]\Sf*SLGY0NQZԞIJ_u2-am|ϹOY7:wx\Ή:$ZԢO S[ qh'=&!AxYGyn 2HF훳f |O b"ILQZԢ6N;iЬzm7tyɒL%oZlg *Z"q^tǷbLX~>p;W bMxOz0 =+KҦGbaޕ?0oKĜ{Q?g'pR.St(y]t |г/:Gպi.ּV'3!wiⳫN5j3tCsCEW $p#uqz蟦h0K*sO(e?zJrff_'2Fc㽗KȤb9tErfI 2\ƚR|=|N۶9[IVvB,;œԱ}) 'Z&D圵^Df!ZI` 07QCPB2ilv_P=aŒeе{Q\@3?UAsBH芵I͟=zA֛ϼs`x.gGnX*{ HqJwm淉2vU+3Y]!d3¤ʆ9[زV{2oӨ1u(%] ZZ\,znϤQu?CY+? ]No;Ʃ:v,\+PWT7%?~YG:`tUI¨;8segJVmӲ+=]4{뼘Ľn#Ni 0snc m.~133O#={sVJDFURWJLSgaֿz+Q*dGbe)7i6x}PhLSydmo<.ayqNh̹R$Wcw:Ua%[.-l~v1;-|fcNNXEF9ϋz"a`gWkf} vHϋ~,vw1CC~#=Cnx}Q.8u8s.'hp_~;;"IЂ0(f@#M{5d eTk{p5-C8̜;@ rV XΗa] 3$jn2loAp)!@έK+9j绱'Bc=< [l3LӒ}ٮbusx5HRybY%06pX^{6-R6#}A({vwBFQ 2ѬU/u)C:Mʻ@ ְP_%#UVs >O} )v٢1Qe@_5چ=*D [Mڟ} _'^w b@JJZ.ٛeqsE [.ڈYX*m22Z]]Gcoxf%? S OׅKiG Jog\;mdoݒ‰jyUq?3X )CpX61,9d|5⺣q\Lzs9/I YK/b-"`S$7|G,._tPGjs{E\30?D w/G|7Jsx7HH-0+s]왳7&h6$M d}zP,Je&ݛ?/M,`-+/]C@n0sn;hѺ(xޟ= \JqIߛi3]VzCsn 3f2<m"y9m\>FӦ% Nbkx79d6g:/&{`7?[B*pΰu`q169)J3Հ}2B0qػ2>1})xTgu/VK b ,IB`$3Wx5ϣ #ޔ9&)Q4e;lƻ~iH&-OiTs+H9:9pU4 b ΓR}C= r8'Aȳ.Vz(@qbz`uGz^C?O^gٺ渌2&3M6s'&<-OF== rwqR)@pČAqca'"jQZ.P uz$5"BNne~˧x~EwnU o v什ϳu1߯ ,ֺ *[OHwh¯ p\[}"AB=>O:D#9w1࿄2E9aŒ$&.x}< gs6'-$ئG?ǔL,Uh]o̥(`1W6؆}9`vp^x5p\4;uY<r0~,",NeܾBURtZ&e8]g 6.}I--o\) )4?3z%K'j<.4)_d\v?|NӁq*tll 2'fp,a}Š!qqY]}o!LlH6LSFһdJj43>El=KR> C{J\_= yOMii30[zB;E֟B,_Ǥjıqt|b[!Pe2MD 9amDJI?d,9qZ4VM,0&OeB{6Z_V+ V6_l| 7sJ &$wJB!&==&ehT lT*bq[\*7J O{{6ef U9Q%GtQ۷Vz'k(/\v}-4DB]xSֻ٘Dѣ>Dz .IuiR&aŋw/RV6-U{s ݾʫ$lOK ~iaYդ.4{rLs?|%&jH$ i6vJB/ֳn`csdM]V2Փ{3+++H̹<%Ys0##33XZ٣=DOZZhXM7#X%K1|ݤPSzBݍno^@%_ 7X"+#R&G%m')J%-  G"H:4}n9L\A_89i+_6Ύw894MZ-:gsm֥I,%+EFsM"%eSYD:i!fY-tYIxy <+sY~innƍ#B6>!)rytHajhl01&*ut: dSy2|Uޠ3Mnl̜@]$`bc41rvb`W.%p"ucH;U[u9IT qOnTdi{HZZs0߼WBL-~/ 3xWk9~ДDu$Ȓ̺2wI"Lυ9k$'` -n fn>:e𹽽Cf _]Upٙ~4avf,,~E{FP&@!VtY?⤿}[oK8b`r\c{]:҂cvJE VB!~Еorby $+F@<,6/l{]17W>_Ɗ7")1& DFz͇6{qIsE :d ?#^F@DLK `g} M3%\jST]9Ʌ:Ǵ0sn.RLK"a@#HLb޲K%8Irpq-h,f,A㛅ecrİBK!~F^Mn4'Ŝ a9g^K`1o3i]O!C}#3 Xt >ـ)S)\Wg}xws.+ f GCbƃPa0!b뿎J%tRds 3::Ej(tͧU2/xDzj}B"AT\0,(7WdK(sO@;İ*ρ6TaMF¡9;~J, \dϟ=MSR}rP)1재0&EHܧd2{ ΅i.̹ap4I!ȷ]erTaZ`6KPNy EdwݎId-~3 |\tN8r\ϱf  05 eĬP?r@{\cft<ߛ8Ɓ7Ni!1+i^IuU@kM `X|Z<}1Y*@߹p:t"gLLO#Tqhop2lA3Tj /''9EafQX4Y@b)S3w]unbQz}7+ Zǝ|l& YTHYƊLLɏy R3tw%.hUċ32y0paOc>DH8=dfz9Ӑg%Gj8JY9_>u |Zs.!r| c.ip9Ǎd;QZԢOըMnLRG+.iQMԢ=T?:j"#Á+Kәn%)r!g&5 }cjF QC\7#g9,ds'j箅ʯ< 0d9ܼ4{ v*C_CRx0'_xPϥNpWXp= ?SgXxS$ӑ3%2P*}1hu-P8 V8[m^ir(sv{ M^W>nSD>cٶr5o=PPN+xՅ5h9DzJ3qI=kYMZ\ ͙曈,>בq͈ UG@j&~C`, $ml:F^-w$)I2lf=/ߟn{N 7t?CDbf4mڙFhW̻`] @xzvLݗ IF#)2 He:EC*Ste~*DFQk٤(fK04}ĞՆklĔzBI}Xazdn ̜;3jU]..! fS# O>z|qB.6(#m޾ 5db('ut1\[X"^[J5b\./.㕛/cwJ|M|n}^k ?܄oSI2YEe[1$|$=a<׆EmT&KKX}Jlv sE)$J[[[h XMs>мkԚ:`WE27l1QVO66qOcB'Ut9wq.Kj_gquyʸ̳jCjX{\EZo1oGT&,6 ȤsSz'*HAVeT4mhqaB&;)è̹WE-?:O~Rh\.1zf%e{nw+mZ\" rWVk`{m_{ࡕ¿s#ϩ~j\S㵶Mkk-/>{;}8 8r8+&Σ©!;ppn7sЄhL3P$k ͘gF\kZ]sy:˔$J9SLř6V,._&E 7y>CKhA%kɸ y{Y @ΝuE";Pc2kCHՕ e94+JҴ^3ȧ[]$H$>sGϫKllD#%AC{>r(ox7KϭƁJ"e[s1ƛ8bSa g4޼B{v] #@Ngܜ伝=l?&vx#@{X`lW~ =nuU:#B ƹ<w&b}(̹|IMc K/ubtɧ|D,jOwCa%vJen~fd+ԃZez\b}qUD*˹Msbc9V `SQl15fPTh>ċ~| K0I@;/#{Xu|n#pfU}J]?VH2MbA, S)Ԍ_Db$)dh~ 8bd8i*sQyj:nj a*5<˹[-d43ɩ!f%86=8 M) * 7DPf%gg\o|l`I"WG*~8:-/ <l;QPylaӄTC7%Jl2Tu\4Pa's;_BF@Y ]kwM@-aLᬾ2F \dX`]0h i3Nwqm"=ggB,፸Yr;(}'N>974b$.6ih9i.&zww< ylqA<-k*jljJPȻu"ufld +*&|&4=ج32'9c8(%{ǭM6qsV!E-j/zS &==(/55L pԓF e"W.´BD)q|~;(c~ۨ5-43q r^E)&.|ӄaՇح!/!JW87O)l@s߃Ćɔ(#:lnZH0'c1]Jx[x{%rԛnl\n0c2`a} \|/_Y((#ۢ8֞<"`!Fw4[HeHX1x3o!KF(̹ &7Ѳ44l#"MD#T!FzŠo^~;A"n;+wK64r9jWyv1!g.ԠG&gX[Y>qL৮+Gp{{{B<3mcƩ/;fբ{}Yσ )zdDq9q*ob.NyE%h I$ǶȺIpk\YtPC~,d5e|e3%ܼq[kklԱ3$[PP7hq]ZX3y, [6Y9̐բxth9H$H\^oeɂ4304b[E<|!U1b l(DW$\q{Ti&(45 1Mk^S&$5ozʥc=5l&Z/N3Yz$٘vۻ}S&M3U3{`$R&Pi3,H]dϮ١. ԡ:jXNS~?3ǏRLKlGe6^b\Nx|0&#|*阝YÅޮ4\ rl/OմGGwT΢ۈݗf C00#3sJ aO OkByiNN=UguhNF!؅ ~^c2fhIa0E*yղ{\ZP)-a{ZIdyd0CtIhnI•%+Mx}9-sfxL]E(XpUcaDI#V}J&/cᷛM%8WT>wbEb`R"`eӼdtP ' *9 GƤ0+Kx1wF%[ )g>kc1xcoM%0WHv)AT= 4oy2|4'_(cV*UѥSI<~$Zd e,t|Vx}&OUwzNNQ;[px5 U} U8,\f/=vXµgsd e3ׄod`)~EojJC\] @PɁ4UǸS92q,,>j 􈫈wRқ:y%*zNzkC<ÄPwر'-0?e;x 6&zO}RL"Vp ɱ<{zZ0SXozӳiޅGvBViF VJ9%6 VA(5~41Sb$Oeߣ '%ۉZ^%EIr_ld}9ݏ ĭwV5EELӺ, `;_ћu~Z[&d=C3|o:#&? _{8e.OSd0;ڵ?P[ ! .jx<IkE[N^ edwTR$J65F7Z%MqeZʍ l"K"tr\94$>OA}'!i`_%LjYaAO!Yxd-qajS9Ƅ6Pd=};gxlU9W?揭{ `6xcL=C1%s?h}fMFBrLUU$I |+H1oop˟YB&O6ǦjayB"8t0`եmV*7{cqHCS阇+HkڱT\5GcwWƼX*`ArJdJ8s@أ4._S" 'gdV nG?-G&g2hy8tέ4^iBzhyRm<b tݵ`{Y]v1=.BɊ Qz'[>T}OCk^OIQh2=Q" "G[s3=ŒNVNWŞhL>{H}G1!Ӷʤ$OkYo!Au:W#T6B@kG Fl b.(88u٣Ʊcҩ"W)~zm>I|{.^JM%>;)x܋k[r)6&atJl `d 2J ,:|W>0AI5i*YYEe=tN`bcN-뇆<(BAp?g9zD_٩ZouSbqin$/4s% -MAm{LkkI֑A Sb17>GEnͽ*+̭+?+wT=5\؏7aB"8)~-S`̧V[K֬ks8;/l H~.Ơ g (|h׾ړu^^N%ׇ;_ʻ[|HF˹.`STd:z,Mh`7w&ݬ0[.5AkWP,'&Im#y[kyXŐNg$9\APwI`+AB/ Y~Fd q-,b6#1*^dilTIFti.]feBj?i|q)ӱ&qaeE&^AU/g 4BL g|I/|#0R0- 7/'=9ke+WB9h"}*\j|' mzJr6"j;;; {\xRD@w6 3;D:lvưzB¹XT!*<'c޲x3j6N [{uk"o:<0 ۷7$@B{_,RY & wu@mod< ,,OS~L8=R?7dt$H|;~qԞ>aay!( cl>q{:gP77 P߷k̹~KXiY;w , 3}/؇א5&Xв۸XN笵jH>sjvLg ?wwf {XdWA^Gi;dJqzߛ.KrTmaϭy7^Eq̹S]-Z+x?ÈɎt]GlP<:u|aϿK*& VaJ~| X A Xx YxUG}VS}WcxuZK >;xn-`g"47M :5lm %B_R#Xo۵G038&~ +4^ۏWa4Mlh-;^.uU"ydg +>ߘk&{6i]sH]uZ#J< /^8C#1LM䇏_C>.t" %Gks1E0+Gask3~dl Ϭ;;;h@zƁ9WCwd #W@,ܥ%H -vx*+G ŒfΝ(ΠY@5 gjwCO"Yq$=)aҸ~*W0Cڬmbk!ڴVf]@K0Gj YT݃i{җT\=XQU)P!ːlIWik0$p e,.ͣg}@(?YjRe wRx+ODHmv ^Sdv+ X3P5u\(ӁIW:E ;~ץ{lF^޴ꛯca8s.yRE^CJSW<$EZ)!I)!ۻOie̼#WnS?X|dc|* 絲A]ý&8ɧjk>I銍w$Taj^YF1|H m=BN6,**߽Zgs9j ±}isi }g"r<.Dj5hc`$ ]ـOQPc{qo Yl&\B钅A`so2) kbF6j!Y+\'+kuvhгb{?)?bamNYdDCI8 ˮMTC4GFmF2\2Nc,]qLL|"(D+z۸컛&[lƓ)o=Z7H'Q![I T(1AP .)MĒHL8X52 v]kw}94RPjg4f.Y!~ QpJq k ofMʜ;xy2 {xӑ!t 1kog]\ָ>$Hb+s:"\7*^~xJ;I O\Oa5667e+|hǜ*|K2 $97qhxA:fm#1s.? {]쬓Q" (tQ5OӘ#4 tI(@>SDa}RL<9UBcK8Gf^4/2f,j'ŕϊk0Yϖ|Kݪd6rk 0LHąݮYfFP&DYX/pakZ]3!gU'I0r $ӈi MU=UڽdbY]Yx[l1Mqo_a$WoԅL ´dP?reiܗmF#qMir֋sql6 p5U]z z?r`\z ^gm3e0xkkw 7U 6wpWޚ!W |fQE1>e9:{8̾+3)_638_;2MbkVGCaһ/(]'02ǰ GyuòG69tr`)9 +rNj YB7,~w}^{,CRdQTdYBd+Ap$0 l 0bBbȈF` (r#JLoU]}[꽪ΰU{BzS~tCgwN7`Wup7q4dʹ+;7fјu45ma;_poDoFh6P5HcC>J d'Cynl-mpL9VK0V0;6 Eu8mH$'%̹Ge9 S$pHK$תh0;a tm8Z&M}ODf{mhzBQ  ͈eNYl5"; b{sCp!0h7QX4<3a]W0tK$FR^&2,k5Vc<78تzi)pA "lBMHfA,ҿGGGr.bh>1AM43-1~2`k}Z0T*)>h6psM%:zi_7/9׽`Ŧ(|_G0=nM6Ǥsp己_ )qZ7`.GL֞ v Ȗs ] в/)X/w5n("=w?,`j/hZN@B^(-9J2~$31N3@TBcu&'ps3Uh TKKCu ϙ@]ˀAqD3-"B.b{c f5+&|ia%FG@> FcV]\΀nLN a+{CJh 5/} Hfv n/ǣ>BV&R1`imS0ꪉ03A{HR+zlJ"8-ZUu1t͠+X,d*!Zu*-|:Wl*biJ`aaZe]Ѯ"=eeddQ(UHEX.xs09Z6n gVmC!溠6g{2 Ssـ&\.+]!c&x4P si'-=~wAqqDoZcZN~Y2FIYCy[h:`*:aYGՈ>m!Edo r%#~6!Pg8ddR)mmmq}ޜsZ"J.?Ӽo"s.4|khOMs(U3}Ȣ!z4ufjҲ]6SK )XJcS5aAwvPFe+fP}?[[GX$G?!p ^gS#Ch-\p #tl(h϶6Q%AH.! C7ih y[Z&"YxE˚2E Hͯ`}]ū_G*f nz-ԤysQoE#w[|kkI= R(Li[yHC8 Lr\uR*D*!DX -rRDXNo-2>c$H K,N:B8 A\t|.ֽ F4qHFoc$9xګy68pT婸@y[4EMڶ# |PpbbgG` h{:t&aTl/@ g΅IEQALʔcccz >̹[vsOН^z!cc{"u(48Xb}O:Y1Bc&F3DA<#6<*),BbJq4F"CP8$bnm;S4sy;f5`!@ٸ{Q̪`QV뢖*DG" JEuD,R,#wɵ4Ƙ=6]x[KlDX_Q|m1 :@,*L&-|L| AJl:\EL֠6f*2N A\8Ӭ@JEı,H-Q,m*lQlL 0sMN{Z8ex̹v? A}#CcYq{YFC{3WDm@gxH;cUyWfpj+7sf-fk`<3*oG] ,̌9ly t 8p2spIK \_fxz@W],Ķ%`yIճVg;Ϗ N8"(q4e8 mN{ Vsz̽-:n*^׫xTrSn6;&Szq|2')XNpT3kwc幥k'!;0*T2 /V{0hUܝ| ȭ )sAJBX|ao 7-/а|ڞS.u%k>v=|, @s49,SA"32a/;4tg EDt}Z݁pcOWve@ `9ؕǭݦr0(1qs7^oĞ׼EތFVʥ:\w~?tR N_>"s ¾Ouu|HrK"ECs[\ù0iZJo5z}~4aᡵzV- ̌<9W$X;;;pFI~4M2Jynn\n" ~[V ; 7@&S:saRHs [d½ZYXTEE}@.$×ʹpl>% [w0bPS˿¯nN6<&1_uO̊t큫*~QR{|x\-!J<:Bnp Ͷk lovy ^,Sk-!.D:sIyV.a34:\x̀5j S54F2i5ţ p&s0+32 c\^~GG1IvyE|b +ECazoFGi5>6!Lk3q=Ra9DowGxzZuhoC3UA4չBs7c< X\UY-UxWr!  `2hs3JObqFy;,@X 5g^x*4wiݚt@Ŝ̞X*2|9MߋU ۫ 6A*šg6zuZtJx_xxwc$26vwOf%:'M=A.tu8s.ǿ;bh_]{\cx0paf %pH㥘Zrnchm8'N&k`sksDⶳ ')(YRՕ-TAO ΀1@`E?V7LH-l糈IEB(UޖŠ^R]{Xu_̹ AB^ZJ8ӱIg?x[]A R<F̌N -ud*H]ǝIjM(mZ}1}l٭uA|\aaiōi_cs J kPM4jQheW_fέjǶ%$>/x3OН^z!φ6Shֱ!K &]?V\<~+?.<8bpd[rkOZGY291j1|JGHe}c ˜X>E"lj\KUEb^LC[ f6kJ\m G ,E!h7Hcx?E^afk 0CZ_Cޢ93F*B$⑈_Hcu_AAf* C[[zYBQLeFYQs8@ޥߍ`]ӱvynCkU}r, -NQE?~#AID`onXx{Lõ_ԇܒA$h v6E4[E''/b䵝̹1uyK/:z{rgu).#ȐryLwfa uѽ^t3 \^pY.z,n٪{qGw©)ŻoUNOǤ岭 {H6K"6xOj !]AC8Nx~pIn<˜Q@ׅ8L_n;t& >) En]PEOQ6ӣb<uR_.9pߕk]QBg`lg} Ƿ9nZK],d_l6Ad}͜rvz7ve vܘ|74Nf^q]|t"˹Y/59~|R^|e#͋~߃߯(u.R;Ӽs`9ξo, M''$>yKII"E.>I2@Ex \ΡxD)R\ 8A3e T> ^or ǸBz})aKrNb҈ ~ R=ZkOQԱ <8Lqt(~Ey.E唃uT."[/w3]3I\WUjݟĪ=BqU2567hVsmA; bh7@[p3g+5TDELQی T& 豴9z]dXņ>6<3YǹHr 嚂O)0r&@36njiC9iTs8$DeKiOS'anh@Y Z̜.]DX%f(ֿl5Df8A@dJ͠e[me2DmL0v-!Ҵ]}~H,0U+vͼ3Atk?n+!F_?D97@֡gdScnP|9X)_clXE[pժ(dou\s Fc{0:MOWaIG|n`<LL{ s/梗ao<)ݭ6@>Z'Obml<@'8w_C=>ztxZELs "}nemfw&R9^YE/Khno Nh?Ioi2 7 crFGhO}ϐxdƤs 1X4gixσKj.vI>FuNgS8-H#;5zsSi{: V_;hUrX(c|bD 4B#hJȖJȤSbޖ)\k(;^c8zwF,J8dYZuEcPIA%K}I\‘ւ f?k u{.tD-FvQ{; L3,(*,Lt.(Q Ø䌞O}nFmMp͛6oE3 :W8؎=^pץ!I.1RP 5DnOM9s^!_#<^lPy(@cW`~=$s_bϋ5ht(@K"QOl{ʁ|^ 6.W[荆MWidžrZH(t/"8l]Tu*Ϊ_'{!1o7sj;+IΙQ.6T{g^x%鑃ip]Lnrs^sZ9/ o5;?)-; RrZXh\kùpn8Iz)r!þ9~O~ p=?nRH"*Hi_З>KZ \N)E)WMJ02,j֔6s Y$ۼ͢qXpϣzAVgsp# \I UAk B3X{nXGJ9Epį{yf(B4OC{;x#EL6 gcUD2+xoHHtT%2 kVZJ@<~4-L1_`έ0;: ΩhGE'X^/$p9CwV,mc#i8.{D H3~Awb^&z϶ $pge4[P,bd wcQ΋7gf[,b-CLd ->>:NgB@-, h\+JG#nZݲEG'4QO#K Y_Yƒ-ZnYm"?o֝pj9Z]N6Mв O+xVPC*μrf}cgG"xV9ފfs PRxOqk&F#ÙU5"GXȘ`z[< ۻ[&WFDÜr|monMOcukʰ FZOQe3ẃm`\DEG~ LN/Xh~ ɉ9k-8D($-H d1w$42&Jx7x2F r7g5h1N ;ۻPBqWL$ŶUv `dr33~@㇏x4*4]C F$h ^ݻ(vH%H&"dXlF$dPˡ=cn%d:G%h P)2&)dg.qjEb)[AjD{(b" 7vK&1$['G3oZ3Muyl%P袂c f>tˎE>?|º^F,ImSfɩª@ˊte5|>:+ IlAGdps[?3'dV̥~߅K@ 6 >OGp#c屘+PkH LBgr:SE3a"{irUAz]z)[fws97 r8h~Q#IRg^O DhxY,=(<\79$p.L-r1tu| _u)k!FtXOUVw> /̡V-#EqkF[pA&LuH]ʹ +fn# cw @$]JHSb1l&u8F4鞗I!0s>z4 V[*%܄-$-NUE.ɤ>zB aQqff& {biuRo "'%<^\ dRQze΍i1|=QC!W׾ /y9BіvܟrXS-԰(ǺsU$")XyR$qOW19s yMry7lh4oLR O?G4vM!3+H> E:W"Aʥ\,bi!)4K4P &Kem69U<[\&:*; zOZk芣cc,4Zuۈ(׳bns_F^o)A Rf۫FQ&6y Өzᎅ/=.A2mHc(L"ldv$hX!A&0j^#R2HMZ[[ё _jaۧxy\抎ǏB pڂ+äf Tֶb{vbr,bˊE*)X4EZWŭ b&"4Ϲ)XSFA"0qzL**nn-Ww(Ij X/xy//+AdL{z;\Jcy}-]ݙɜDb3ZSf#ۓKlԜ(f ̸<> ~~Rбa92dmcɜObq[O19c[t9~Z<KQCTAztLTu9tq 1lzppL.{Um[Ƹ\d ;B>O*G٦R)8z+WdI9.d\lϳqHkB@7.wR ^ϩ紮 &s0Xɏ^j.>;0uōsDi] r*㭦ȁϏE`ZuZU2>Nb傝tarR 9{Zc=4|dνb]߻X;\!<8b y7SR\\ ^0{`(ОgjG8w7T9Q;] ?%|\(6]T׍כr΀9 -|ҼHC+xK9[^"׉cNդ $š'1r;rw<ߛ'-cWz Ds[ܔ3Y=O<α#YV/=_ϰrX8f뢉}xv~wIeeM嬑 b"E)WY\P3cױdϕ"En- Ӧ?XCSv|gss.뽟c5߲7 .۶m۶m۶mֳlYmV>goGwq#:Fܜjf-O8w\ Kʅ#ޖN;=А%S˼Yҥ|}1eI%; c3655Oc[Ngε"Eos,䞐os؟j}P0؇W#+ `XnsQl7yŸED'gA_|Y>3 T[S'N姞yO=|Z ^,lC " 7Dt)C5(&Yׁ# +ӴHwe:x2eFHё;حsՠrĿ{So4!ƈOzSE@0- Ntaɏ+'{&(784CEs8~@dVn#I1:lmoǕI8 LVzM3"&6QF`\_?.uJBY]¶_TN9/af'X|z>ϷQS3~/Ym_74P ci0!~:#?alyV΅;& ciVqKYY"#˩bA+32ؿ1v+w5{u? \\̛ZAt;s] sCTʝ~m&b 1{U aEU.6!(FsϯE !\5jA D7rO&M?PucMǿ ~u枵M4xGRcHĽhr|l_woܙGZD 2g"+U,c.6'NbH('{A }Ԣ^ldggkd5n7cDƮ ;A\IД)\g4uOLS}-\B0=4m͎CO% `(w=RDgU7z`-2|fCmMKvD3gGd 08A3"@CЕ,\"FVF7̝NCt&mrr 0:/Ai`AkEk,|2f{`0oekJNtYaFzښOe_܎g}Dz6H%9՜2<T̴GjU,M}93"j,hZn6l7_qQ")8U" S:D7#f56d<̟m~1ծ'DՎuiZáZj |1n{;ئEްFl=.GF'X9;H2b4VABP5n/IM"Ql!Wk-/H%:]a2H !a\2M"J%Y%BFk"2sfvgc@#Isn 2f@'0)p) P֋ yy"IB1,qMk"2BK_{=mbZc HOr.SD 6*U 1C MԴZ.g f e Հ[GQG:vc~eAy(;XHGNB2g7C<usUOr+vohڌ^#͔\CbH.1cfBp1[XU.٤zb#?_2!S!2D"SIEa92۩Kl-g$g8ں5VotEq1b(S*7'k0j_WWԉ >HVT @>gn\"^, upIBjA֋Zne_P@smcȁCr+s-+ Sߠ2j1'"3),kYЏgc?`ʹo'/Q;y)&kg8'7SzO]Y4n̳㎤^(|MSV6J$Nܡ-8J N'φU{NrbQ0لQt*e "1dD*H}`J%9oNfmN^5A49Ȓ[۴hY= ~K_R,!uetReد˦HTAz̦%K4(\͚peSh1@ō["1ߩrjc'6!r:ыgwm=MS \sxͭ>03P0]a/UxڵPekq)kdcA'~gO`Iz kqFjQ#{qPZ1Tqfm(":<*{o`CKggkN@?p5a4JP7L\AD3,K5뒻EZ5ŲǛ"1Zux|˜ ܆1rFf@p~8I{ T 6v LZ= RYEECKUeqBMYNt0}p&֛{+>>>zMww/[2 S2>-cLWRNJEp"Q$v R4q㇜2TFIrFShMA%uF[VaГV`,1oJA9D̽t@TPcZ~-arfH.=EkKLT@̼XX./XpTێ.:.#/oOTAP!a@E?۾C|Zyo Lqרtf&-vS'NJ#T,X[z|pv'f%ZɗQtd L(ٽWSI?m~wj^#9tGv~hbi]M.=0/\J>@ !i򸁉I]L.WW[ob[Wnf^r'<6.N6Y%Y:>.u]uy˃1<%R {U( 0Mz4K7766UxHRJ8{b@_d=yi[5؜t_>P{FkB}i344]CM(q%Cz~=ꈓB MRfŚBauFxeS=nDԩRERF VMZkؚ{"V-: (p] ~CX{zwy]> ki)WxUgo&›hW+x;zg%jqbvwmʢ>PRWMq㚑`₸-sckaF>WnY2Y.;<(>,j$#yDXCFF u~0)fWt_ƍx? `WZWzJ"W#vbdݢ)Ez^`1eݼwvcp^̔t$.lF ԰U7nV 7T5X`%ou.e?jr'< 1(kj顓È^9 BLPƒv| Dp|Г !WYhox^.(H#%30z(6Ε{7-Uݼ~n&cxc ω?r|Ȇ"靂= "HӻcE5[Tg6[*/O¤<<-L>`l9JT`,[MeZA>/Ē[$7}_hq( ƻYx\C9&$Ŧ~xgDL/fP"3k8{Ulm!_@ݤb[`"?`zc-hm )G lz~7x9g{b O |%/@BАر:&#z 'a1Y!>Ym[ε]`2NySAbئ1):^nnݿ/CO  [/@dkE3b¡྅9s"> ZB @0^k>/$! ("MhPaZr!&w 'HZE~rzܯh*\|W?Hi#oM fy;S)%2H, >$sq,~?ejsA=RzqW A`ݢfloug\Wkzɻ ǝ9ɖUB'T_źm#삾Fn g V_ڌun8dqfu-vw}]9/}I=Ƕ*<'R M bo&mʧZu ﲃy ǾVsez*ԫ!|U(G0Zc-SFz).ˉI?]d?< YTzfa^b1bTyiE#i"90 #Hnv'o;91LFWcyhy²4{(@8 eZgp:#KT8u6(6g*2yclRe?SHٸ67(Pp߈KL^҇/d]E6\CZYF,-P Ͽ L@T`y&*W Cx*3,:e2}a؝-X&azBV#qtIqѦny8e{m&;A|8;ФXKZxF QdT h=かJ A}E|_NAYRNf/ّ-(au8a =F˷UQ0^Ewhk>A_힬ɼ=L!- tg@% b,_Ա}Z6Te#tUTH%0}ŃցȤV[ 0ᔷ؏8$jU_>CC$ȊFuqD'^^AaMR0|b+#P`g&pQF8э|oaXe KbaP|xSE!6:*h?C<o@yZۖeY`T|Kb2cb=J>e쉦ƷO]8iώhE";eSRZت1=x@Jx86i5($UTˬ{LϖWhv., ~CB X%S-ɬ*t29 ,9BvF!I.:žAp(aQ IhP>rǂ/CLHJO.WfRJώ%ٔ=3 D"(%[>M))@>`XzŬB )=JS5x3<\1 b/H$*w`P-w|ʗ2םW!јWWBB#=&G ~5Gp2%IkĚ`"*r$~TdRGJ @=^yO~O}}V骹\ #Gj0}謆[<|xP #Kui. 7\ ǝYP_y]yg1+ ,l}&P ' Rӣ] 7{ o"67ag<%ĸhFjWy[ebD}/2}C.Mi`PZHD0J IÛ(0ݔ eZ՘|2$@/ |"1V.rwa (*iNGWb'0umNLάZ;I,@{r">~&BgOw2qb?C+cHe(X1ax `kx1ٚ9 | 1ΚYxT\ԔTZH$řl4!Y&uL5dˌ{I4et2%NWz41N|d){«2#eb80B EB=zB5!@~FC \(-@DK<bJ%>}3|pԁ·ÀV6ue,1/+ ̀0Fb"%S ÈY,|ݢE"@IIa#. ~d[PMr De505漣AÒ9?L&H:amۅ*݂6dŇtPx* o{>S{bH]B$ W*щyC=ҥ#ZN =$jPX] 1&AsOꤰ. +XBgCdU1YN6g?-rr!TQNMlG~TX-2j>t z%,M=sga׿V$ P|sz#X x"Ŵqγ`K (2 wPh0ͫy?F u}O'аgZHI]\PC?D~iqO*1Z³ {x(inXk;đd]8wf}X. s1#dž&0h`8+P.=WR'bCH*FhY:YH݄k440hD]@нBi'Rǵp: }!%Ј-aRz5/-,'AyD.-Ҍ+P/3|zʚUuzs# !/9Ip_KG=Z8 .fX2g / aHҙ uƁQ}+'zD.t|bf w2mB,Ch|583;>pC+>&xOcYe5RX,Ǹ`H-FFL]tİ$4v܃wd0#|fԔH}o-)5ךibn|jxPhRI5ZiDWY/w4ʜ`&=G,#==ۤ Oz<ܾi24ҥod#g:^%6˴3֟, pP]Θ^@ Hi]EO#iG Q\R@;0}ak-p12iRA3ơ$w uM;a]y_v/3s1)/ Vs*JMICJZݰ#s?MT)gmbfPwPme|jE\l._vH_a6H!/~%k+?3Ý DhJ^ nSҭ%L'υD7l]@30UŔ)Su2&2a)68?cN7p e#{H8 I}qO0#&!CTH<|eT0Ƴ'y^fr1uxvj@HDlݒO ÷, Yn{?Inl.R-'B{2r1ybc$K΋mh!I\HT7MQ b!dGgst"&!h$&yZk} reTrlrZ{u`^{1:}"x .?MRp1YfxsrTd91ᘠ2 2:=K0=-pײ ːC-o@ƲrEd9Ũb$Q*"}2dP!""h}[WpI ßoZNlICiqia7ù,`)v >&^Yp`eb  ׅ_#(4\œ.P)Ћ`z3B,btQMlM|C7GX0Y4j¤"K0.ݘ1gʏѥUpUƱ7)~6\縌.$]_,Q;"kR:舌P^*UoaŠ2-jߐq 0z cO-Amqȴ݃aJ i`$ 0b Hۍ虧 47A.amx<&[[Η3=)nB; !*4;idBM#\Uyu963 Pь٬ZoI(`S5wE|6)pP_:fF2%2vXnw3Yh+b|SeHk-v$A\OWٹq * A?̀\Is4kU\>b1~D xj*Pְhr?Q=?ͰpQWqHS'S ']LT`g()F>b`YJq!L]kd LS~GtR eB땓foha:J%H gyC-n|@3BKdHZ %Hn#8|ٿSjPvb胁yF9@bseH|/: +Ptl03+ ᰚ i,Ӭdh5\ah@>ZrxR!xGf=ϟo';BKFm/%ؗ"{gv}g+5q@at²{bWo#{@[RjNבȖJOR&B]&0RzPVʀSSB:%A է{͞. Ӿs=҈ >v<{OdFÝ'FnY V˽r^B}Ч^Fdh;*Olρa4}Lw/tF?"XڄH,Ql*TW1$z0\ Ǭ01@oyv$Z̸P"A  ؐ}i: 'HD"a0o?9]Dcp֡Z/DJf%oÛݳi}ܮ9MÛMk|(8uP2W3κD[ ]K^)$kXTE'/R T1ɔh2}s7"Q9 Z Ӗ#t"*Pn Ϻu7,Ϟ#ǺGdɁ<%ض'O{+,Dӯ pg ->O#̩7>=p:M֟Zֺ2i|2?NT^T`D9HaPCV˰K {W|򠵐<&XH$o ƻZ.F=zYoM&B 3H?\8BA5H5 ^oF^$~0PIjI+60_ )*'^HkL8|96r(Qzd{ 6ŞŰP!1C 1oZ(nHnVw Wc]l`uHLuYk% J*DCboqY8SU :M-=C"&|8P'(ߺW[s-x rOM1,N|!)Ћ_~=(3GO?Pf\YMG\ OZw!lNCtz3o\Pi +8#Cg>4u&ވm0s`}`J¡QuL\:ܦ|-Y}ScC.PyEdՋaY`=6EZ~S Xˀwiz( 记`}.#zEZ){D[ٽV~z`ˍjC F6XX(mjR`=э}٠)$_f\SkćXvd6kY2;K:G}J [J Wy8(H[D/ܺQre9adQ *ڎNE-ޮC/8A]}N4P|ޏs^ 5`Yw&8ܮpOyަ$CwX[GAvxBD`cxÞ=#KG )7hC,\wjipQ[o:B!LūcW4qvON (KlѨ򤑌),xEƫ3hHsx_ӤʳgF.>LL3>ħUc)o~&5¸H@D3AƮH D/no}3n /9HM*h/ǐ~yM{& Ve> J DWy=O߰>y!필.6\y/p4hDAwSٻA#M7vkov_ Xf΃̶%Z?<_n{$J T'#(X;QL^XmΧg#B]vCg4Z0Ńa+᳊ټqD!Zٕ@"%:|X׏1qgFL&4tv5~6FAe0_A#k]W\Y.%ba -,Dlk<^G7@&Rm S"]^N6Ao{"y—F|1:f-I҄ph@TCɮ븏zua V _ÒKuhőb9{5w̝("wFR ,0SȎC"Y[ҿis^W m>Gxone|n3qV1ﰋP]z?;?( :a_,:F8m/04Kr#4`X&Y|&!ƛΙCyF|aAL|+a/O<{D:BfJtsy\9ԯ4=R#Cڳ%0, lܰL?tU ǒ -O<514$p2RsR%ᾮD㳹9ݨr]avƷH:ZbuJ9^x8voaKN!f@܈C6ԦUd|٫Iީp&*B'76Y*yi~6-ޓ%kğFCa2_/ Խ;yY5]N+uM찺E;}29x<~>k:b璻K\K&PU>!zV$;9 E(AYz2v:XW^^dD:u vjYkf@wT^CU0/jqKŎs5DVNGup4 L{%/uj)?Oˉ`-k+R?rvEK_vL?Lb,6qbzL4·Ǚ`NIb+"Y9Spϰ&O^WnGX9R ;3{s2sK@gˠ+"¯XRq/(is\z0LT6@ dq<|m <:oN-y o+EkiǟT]P2^RO?D&0E dnZ"[$m sM~^ySs}xp/?,m Jk`Y;t-¼^l*D(`w oף=n>YP:hnd35Ц!sWDF#ӓ$4 -<1xc9o:)Ф}ЃVr!Rm 5MҁBÓLqH,Uٜh&kbCo!r[{m*9*H &P>w4=/Ig(HWG3Bgm&,@'k}h8r"ʥI5_Ol^5LŇ(  I`qP`z`x}:. 8 ^vY,YAme_;bnbVqL O ^vؓf֩_Hp yn1HTux#BsR5/ER!]aWmA:!_!p\v17ø'JA8r8%u^N\CE TI ?-̀-NBEG ~~P #D:2U i+E U`p3# = `^#ӼY*[L`tAnM IL^YQ>e`QBO2gȍHsql~hO-:'r@.{ّÚFcYvB`SPq7"1R-s@b @>*yHNpF&?96_F~6nÚ_Mʗ!u`ZnYJ$؛*sV5RbqTr8Jlj^4yR*CW x~!wm#N Q,T+؀=BD`i~ޡ.Exv$dEb>TӑC*2 K0ݩ-i˃vulX}]@|;182ۓ=)5c#D?xl+;ik7n?ȽNھ-7" 1pa!=IW{ZZZvu̖i y}"ϾtW]3o yԍ* .,@H'%Dn, "1hf;.`+7 Fm(A>d%uW"BF%HC͞] F{{*d*~ݵޟ zv SM~pD,vl„!c37 uXT2 ʝR񂟀2[O\C>>UzzZ|RzfUT9ܩxT2]y|>^Pua2<+P&n( yFYzoH~BF5+o8*Rl0D|3$)}!/fm˻/7ܧm2eB#*4\9(WZb/rY|`_k \_ Lk?@}gp~%HHJp A/NUj;d~Yy>SJP\砘4˪4?U\ 쬉;mvJ`I pZீPI^*GDiQ U"y xԋwkfS5X$-%pœ(^d+՛V'_3?z{뇎{-ޖRϿ.fFY=PIRtC<=yKIܱh[,|-ȟǸ@[oK+5c6ӎLmOe^$^҄<I{[3Cµ7 '#;!d'f֤Y10ѮB]׋Gj LϋpѤ W4\0A0{\>3Uy;V2okDޑIZ4-ҳUhH1O!Pȇ5Ma 5U,x㗆To !wZCx =f~ ཫak߻/LA 8$.b,~Un~\͌ͶT䔌,;+- ,J>ޛ*Wޓ"ͦ '2OX9K>,$%r#MfW~DhQuJLrQ@G4V̜ڝɵh{w-tz @y5 p'`NUe #R{W%~n&np?oz32k;3;x]^FM-=vwB+L 1ХۮS-M:ȼm ,H*CS+d&VfZl*"܊l(Кf&3bs*[I?>W!e@F?L8ҀXgf3ržq1-㱫ۿ+ uŚh\t/8齏[O+mtCȳns=^QGj=R E!ݤ4[ YZ?gR mŋ82!a_ u=؉" s,k:(XɁY|b+/o8eIg}P&~^ Y ʋ;@#Gyn;gRUW1\h GɟY߬uNc_NdAutKUK)iZ?Vo8P P;bIcf3)Zf4{F`TmnUlqcw):g~Q6=A{ ~ G@Ov:WYǑ iUgfL~u981+vdyN଎j1^ GDB^G=od5r%r}6|1cE%KNQXqX@&KC8\tVV:p 7$H_q.R]{ f_JCpRǪCPpIxv{.\WF۝NTl#G5+Qgs5-Ҽu%~UFX&[>#pnQdKHY3_8X[|5rz}8o.ZAYRG,7jV()o' [u 5pȎu(戜ÝFH"DLb]/ֆ+%PJW-[|QztX6?OL(:Ʊg;HwOr@&9S@{y7u>`0w-eޔ -N\fVa`FS(r8u-y(?.nK~P/`GPRZxQ:b([gG6Ds7$?d.Bz`xޕS1X.2 Krn~@308&\N?@*9,'&GcoF,H믪rl/]ѧL.zb*W1tE=c9jnKcM(ۥDpx h_&%5ʄ8ˌ$1$!k.Џ*dOr{RYyaG&xA4|}tmFƗ@lzhlàpҏ)M6cM85mGYh։-t#'> HCiv:)>PڿCo)jWE-0_YʋYnmM ל&h~4DeLsh-A Jt!5By:'*ߛXEPHKNl]*?lѕv|9{b8Bx~=gz<zX0 nwu;#{T\~ 2`:a{׌ᵹCEov đFvGܑCYQ IomJp1xPR>N%N|iu:46 fb5'tEL/ȽIv yz$~?OoC-?=Qʐ*5KTpb/%V\Zң%tN `:KMEsQaMp w#o/U,aNi~f³<XO7eF|Zڮ"#%w%#s55'v(CMmSz*K=Mte]>E{x'pc{[hBROKShփ7nK/Gf11߉̗#4H#PXlT(^s#M O9KW]XVﵧmTiO_lFhS0|^ Orzىa<'S  Ge, 'l*Gd!ɿw±({(}Y1.dAY,[ֆɻՒ]2e2@ !=fy:` (Šu{HgFeQ v"<պLxƮ(CoR1s،N XbV#m߲Nk{gOh_o; L*cF P|Mq"|ޒT%8:¤REZ|%i&*́$ ?1 cahu+ \Xͧ+5`YC*0Qp$i|BZĐ8 'v59_+hz Ыy 9Cx辣QǿJϯ*dkQ]xGD5Q@7P9jE$Ålw"[ϑ3٬#({() ,ڈ]NJIg97vMjMOs'gՁfZ{%&5;=Ǽ5O n%vgF졪OEΎZ6^-:+kLܻxIxס=V}DV*1HI>q:VD=1Ic_aU)Ϊ#>tQe*|g:eOzlk32x "e^zu"YId (ciչCUZ&= y qݡ' {Ֆ D` :aR͈Ѥ - P ZCr3I;G )+`j0\;XF2YE3k.Xaȩ59Mz}\)23H@b A#PGWi qK%qQ,a["f3b?E!v_xJHI~,^_dH6`aT`X xKOD9Ư=5*DtI#n!cYfQׂ6B} gSL($ej]R]T0dgJL+{nP`.?*z 0` im Y I KL a(:S^"\>9J9h`nGsΚ$6#`Oisx.0X- =ksׅ@IDX "ٷ> kcu=_aqD顴p#Gj7fM."hA,dWrs82hq .cJpm$Ɖd0iodTs[thXGI}ߣ}Ks?yᤅZip 0+=D 㳣7?rġ5Ux8QWlh@97+>7 VFK᷂348|$BCz>$t :ˊ};\^}i$ᤤ cuGe0/sXx&Jx01 z `r~"mg^Bv;tO Ļ&4L*)l6$CB#!&'V!|cD0 *&<$}L!UeiΕ?mKfa%_> ;b)Re1x0 t\4* X)8,]uWkw9b}Ty# <V?]>䏁뎁1EP3폑WR9bAMTII}oA)^5LDs2,8Sk!B_2uɲ}?Ze{]˸^qe7*ndJDjl0jz`I5Q4yLS I%,w;:/sHbq4WJW`?Oˮsl5gWxECu cdUb$zpq墙Sχ3ܢKfSK6È J1F#v'oneHS[0E aH=15ϻ^ɤCg"t]Lj ,ݢ0#ih9㋃jp̊q $6XtVӁE-AhQga\/Vᝇھaێp_G? +^ 4`f9<:DJpMCʢh5pX-zKfS]}X'QI8ZR;!5D,!1"yvht8L1ϚOpa ׁA# ו>- o8.E]BLw!LF :&/p} wE |Lsl8e]BVXbcf)Ϩw %f,.>yi@\-sY|< 2of˅'["Xv ]Gi#߬?vOB G>G3gMۜ7cˎ7sM0|8t*l@<K=FSs,{ۼcA8Zv}W>ZBbqK Rvbr,2ivR(TXIVK ҂ǁ-~BM7.:J^eVm]ߚ' Rҿf`lV>pxߐAN _bghcW縡|;"Ci`:53.IJf7/WG=3<#ke iZ▷GVh!DEUJ;q4mց|| "*BfK}5EU'>T|l9Ҭ}672.pX[ABɉc3-^lR:]ȹ_ЈimMѸ:䙁<*t1' K(He˻c<"WH'cZ phc" ,s̃_ւ_ =OI"cW掜8X 9:}ĉ2̺ p5mlTnxߠyf/Dw>N2R^_PC{fmݱ *j8Ķ| ({[lL7_^?Gv+L, MC8VY2b%2x~0<qU~54GZX/leU}P9HO8/Da[ZkW7NܢW #|tb Ӡ Itr4$GP|F"d?Yc"ܧvϮH,~伓.,V6ZydϡLX7:C<)AL櫯 w@ Ri ӫ%SD6mS쵀wKѨ<$%p'@C,tllUa˕R&ZSM{~qjl}q[OWx%;R6yumɻLz?{71t^y9N ?e1u_%#2 0 &*skTVder|'_(S'^?DJt3ڂGX]gR5c0e\.5E@᫲Mxo~Fur0[4a\djDg>.OJT)k-ٽt?< UDST@B:( b2B) xD,L;#Dq٥}fnj瓮$ms3uuu5;-/(h^e@-.A84dxht G-=*]`1(E̷f [Mٱ%V{ی@W1'4t\?Sq(WXɰn~r(aڍך¬~J},H8id#œk:9[$ ϟ\"D F lx9E7qdfyWDHL\Ř:޷ٞ V9pXbR |v }VdPe(νrL w{EjP-#eg`H2m1[ED:H5 5sMZv |#f{zmWQ=,RϪYNdtkiEw#51`yffI00fK9I!5ܑ·aͤwBmyJ/h+= D6^x]6ٰD e|Ls`q &"Kxc }ɈD֣!*%QJĈd5ґ +;G6:>VRBh^P19>4b HAPY4=MjNbH0<'z%D˸w#"{Ֆu`X 5 d;;@9ӆC=MB :-Q)=-QNt^IY|Ɯ]9Wua)}R!mkt cunֻ}0ȏZ^?EܵI{Dc+f|`BY# )k!s5ɳ01ՍzB?Z.l̓g *"FXY;n!h ~u9B `/O1 f6C LR.(i43I>YkW@T$GϚK&JKH6_Ԗ..T$2=CF8C>gfBg}Gbe|l11iU&c^%pϣe.@q-sIŝJa~2BتEgl706X3gt(^q8R>۷'J !.@\2|.Sm.3v/NN- ]ztEWڤΕ=[J+=+Z*G *\'A@V&߃ v 5&3UQ֤B|бR6h {+-L=cW9 PwOst v AZPIıLcf q z,M:ԱYFdĩIB4RZ^"cNWjbxnCƊL䉄Hie=C2I裐](QvbwPm%$'_#LX[1g‚jlM\w4NXDW5òn6 2 ppcCI#BvqX<aG$w :W(kBgƵ+M'ѱ9I['p}X zyDo qP6[9i]e=)?vP .0˿iYOY:JBZIBK|iox'l_uϡ2Kx+tRlO;:Ӹot̐kS8y:JZ0u"1rYBYJR00թs#T5 oKc,LѦ'g̜ʕDyDGy%B1Yp3l!Ņh~ )tS'8!e¯aKWխ= ё6C\'W߾LGt/ үu[¶}]e rguLz%S_3F6"{C/a.9%ź.n| 0),908v|G^R&`Xax M4Slr M#gXPza8z K\yzT Sf*xvu6Nƚ>C(K\H*VEsvL 7vel7E>-p˻rGG %2ݖ-zK=t5\C{;o_?X $~s!6BE6un_o[Q Yt8+Ae_ӊ&aT|!⎮{y462ib΁̅kk$5rIj)d2QS U422{18B9N۲/IF.馅K^Xl$&f]Ⱦ@OT.|8Q ^͓> 9NѤP FՙvmVoZfΦƒxAv QbD L[H*Wj(LjSQ>J\}D+\+ftxxfиwY-[#(Eu̗WJ |U_ѨcHd ubUJӭRBp$cWlw(`#q|j$`׽$AD)9xzZA߻5@>HLγΌ!8qإ6uΗy'GamJN}"+ՀdSecdiH 1ŖE~GÓӉӊO͓;Jut15tG{]6M #4D[żY.RE 8.r۾57jSQQI#gIorbfyQ}`[\6%IEv6El=֎rTCsZߚnAgH9fZ Egku( r+VXf0o'5M"֟>ϒgџ⸪df! WjݫhI*> |4A+ >:mo$Њ!հr*U' =κ΂%4[ a1Po1߰fipbkq;^Uo+%*"@7aarSwf'obgeu? C;q.9dy9Ba &MAut~2Y>L~,>%r ڇdx*T}iZ Jun";xELRJsVxRZAUC)> ː!߶^Dv0x<&i6GCCC/z;o3osdJCTLZܳ oIMggf6NY؝J8,g.&&+52!clx .?J֌ΘR#eV?nuLpvNhN`ObXEh$;e vvSqkºd6 &;=5bcN@˺8ڶmkڶmL۶mۚim۶={s.{߻ŋ/^utZUYY_eeV_F͝[snIn MasF d3&nk lRkJNqݦFB Nh_㖞fiqsY 6Z&þ3{ì̈xSO,t4D:CΘ:AO< V:pX7~ՐkY M ?kIz]YΘ ' 믑~]"pu3)z> ;QpX|OJBݥiW4w#^& xT[c"MwH3iS.I9PV&Gضs7XŒ.A{o  '<#@]dSodڏ$pW%t hZ [/Mt1p}0DY؝uP4,r$~)h!l8, ^~}n.ĶqښGYOLr(sP%{UYc)hscSoQڤrmo鮋'@pKVfAGMZӯvVG83x~.eQ H@n! )`@Ҝ/6Ӈ\< 8FaiOL I=ӽ8i=i1%TCK>f$\\/jBdL̈́D)NR.NGa!Ju'P7;BC2f.%{ZBF[T S‡8+%ta%Ӓumz]_ YeVhdJ -#JZ(k3K,^:M=*c/)W8x1@kwsiƪ ǾK@\60m4nm0ئ[1 Uz|;Oj #  B3gjKX>_GgkvstA6 ΰIfѿ*F&V)Ǽd&G>x1hbۚm~͡jB{w5S]ZԲba -QSӟIzNM-.2duQJ\*?5^XjCDxfy4h}ӫ$MrG/(\(Դ2HiXeCD[uDytIb}:c^E2 Xy5!d 12ƹAA4 TYZ/=&!I׹bV[ 2@GU wIc e\?]6 e'5%*0/)`EX*zPKK GFZf3ac팈wGÃ;5g $!&1Uuj?t"^Xx/ž,Vm ȣF~A+ԟt1͜؜+tFBkdnA|j@!A;WBIJ7T28fFÂx3`06+^`6L̓١;^ g1!J(뷞$ZUr 2qsY{q mG1rͶVށyz'0BBn*\0uVsNX父˼`}DVY}N3;Z|QVHM8`<`gcTa>0e #`XS&$Šq3hi훎d,` ]+[TBx6w nBٯK鿜%G=sBܜ Ǔv^>N _"ίӭlD)0JIgzl褭: ia`1j{BC9 #!;E c%' 㻧0-lO+OxtEh/"AÝgnzL V P7UЎ\9_M!ʟ&C"q-ly]$}Z@Q '  p~oH*`*hHpNpΑvV4쨆7Q(A0"'^8Ʋ߉k5yFzx^(fQ+5p:0:N_1Ch8Y&~|xAGbԕr9+=7scyB x׻q2")x\5%Cb(\e29Ϊ^(Ȼl~5S#`m Y]J7"X TJAc7/̽ q/̢?@"gK4:4"P4$qP2l5g)tWHL8D 7Iy9>=Nȳ;<_ 0_tf*h09#`@S$!zY'x^ܑV8>J^jۙb2ymP.W[ڽSg+y4E0lROs>_X/ ؟! *֨`BQl&P=[@]i::+V>Ը>Xi2j+n:ԁrzmCEhe-/f̰N}-l$QQ| 29ۄ}r!L]6)^9*" }fXăIHJ5t1%ҷuPQ&KQT<̼f/D#fG6|W΀0d6f54L'Y OjZ}|ђqkH-Y_[ Ss/MS$\fhYJR!RE,h*<\Rli&ra PNodW9|[<` ^)#d#}īM廛R0ԯ7U=k0m˦Kx6iz$#`-;R-w$w5g0W#z4_ fSfPΞvꗪLtiV”}RoL7e7%-)u<7<-w&1w@J;4tܹ1rUPý +R|#%YH{يN Dq!8^j-syvK7 1/ثݪ֛2['Ғwc,–FbWH09n/6dÜ9Et9ydf)kHOvxE6WP "_kǤ^M+'><^!Vw[K dxﺬ\Z''(L*\iDs{2K'CXka/p[n8+iilNxtϤT$[=}#5ꢱ- VtQĴX5eLڼ-I0eȵZ BT0QB2\FvCLU J|5uLêSxM\pvI0h4 硿 "&xeާٝ"ǎg~o%_ם-np3q09=id̰MRWآQ:b}?[7mb{㈣4FƠH?cLB ߥ}]+)bm s4t O59e)E'ܺ%A#`T"$W(oOtV!97\8 Yg]"qno, iNٮ{=֬MT2lpEc%9Xý|^`-APϒ D:ࣉT79Gd{i~ `cr;@Xwb a-PW`֫4^ANO3*($vCi̪ p؇C)vsQn7y9#G†Vr}@av-ɯC /jwW.2R-Eb@=wӱ"EwH,j 6d|4flJ>H*,.qxc]\6_jpYġ'Ab>??wR07PNtaOeb2u6H[T7u/$a_XP}&bIssWO^O%,qJg?fTm)bHK.z5lP%"32jTWLFI"$cンM;RKK !¼テHf\K2,QCDW2i:y֯)(T{Q1;G5W(IIZ& =ZM? }Kחta$\zɠTÆalb죁uv?!E-zevX׬o/ޒD$3`kJy2ԊG"}7%1ׄ;YgqQmJp&0S`acZ̜S$hRxc4_ri9ae `TV[9m&!K^cɣ1w}K9x]F5{ge9=h'6E?^}ׯD0\ȶBg-1˸%hApi X_ƾy0d5%X&O`gƹeA,ƲhQU)p [6u˿0qi1+ͧ[8䌲?p#iW)1P`G%Q$YI`B@> mV-KG9`6.[ #3 Ҥ$mqNXTg59,Y.{ ڰ/Mi&py|/S5c2#Z4j g]7Z$բȳ+hWNRlj񁿉kb댞w*CB,+rDMqp @('$-4 4hgq5%@_RjvL=L*w٤ec3F ܪjkz/dwley>س{*Y 9it,c-'AfLF~o͍sRN,xO mQ՞a)Z@'z 's%glUl./ 5pou7tN(^Vy=Hh| 6hS1M)TL4(z*qPwUlgCeΒ*gO꥖ :0v-`O{+Y;z# btrhK fݖ"y].,]v0s{XlPvQspnk@ SyL:מU !wΘ+r>{\#gwIMX5j8/U+=XHՉQjPDzZn"1?u3DY"m9#>9SۧutlT)&MM ;s2#N*jr %8TG]!.m|laϠv~;mԴuԌ`)f%㙮XUN:0_D)w/k?m )Q~($O3"7W$3caM(8b]b]yH 6bt64j4+~M7ؿ!׋YM48|_ 2*} p2r@%iϜ)#XY2=GQ\ͭh> us׷ZۀIGP&*);}zTTh(O0bdB.j[d~}E2@ѭ Ŕ-B{*wcSf?%BBxl2BziJ8G$-m$ pmPZl}t?39.V(؋z qmV{T)Qm49-f'QkP,*Ta2NJcZŴ19 ul]GI8pU}wxe~b8Pk}X! z&t `ބȰ7KD  ͪGC)UD0JĹ)N0#k" &yڕlh-+p|~?_v$Z 0Vo?['{s ]](V?q fkSӾԍ-gV9 1ۑӌ`MdݳP#óz~( IP!5*DQk$a cWw=gql6Ğm_J`&O8 J$B%[\sY 9t$tc*Ij/^pV+ ձ쪢E\L4泤Ki?^ *mb@0_J?WqwTtaGIAW b` e{w?N'+zT<Ǹs#UE+N-a"N[P#+py'1*ԉTJW=U{{:z}) mj)/K| -暛O59=l(f̧FA 1_%y&\;녮9*PLE 6eûI]zל>UӷsBOeZb59PF&dwt!$$$\t@!ӥ@f/6U)ǘƯ(^o?OF3-C&T>kBb(ǟ KC4*!\4RRb3Fhp]X!`ØZɧL_k M1'~ɤڼα00~3l_wc; HdVdcLO!At7l(,r#XO_cBBw O'$02:2A# `inuM:U2_j<ゔՍG}+CрƢarl)?1i"-[>+++S,BBB>\iVB^Y:xwpﶧlmPI=``?_"AzEj:Nd?h(:,Fh @Uyr*zNR~,b9-] zl;g~saYHKT3R6HLZ/ym5׾ ڋ/\ROgc-Q&=4yzNo1߹Ꝟ'Hաph^ .픀~z?Rm64Yx\rŅ%]:q}gb^ -~2,0Pt5yT"[{ۼMQ^y|zZ'{Gcrj ȎU< 2]j7zA7uXkAyRaT Ug'2%O ֹ4!9ǁ2+Jjhq`̥62ަ*]T"3w]w]Pfx#`{Yt+e_yRݜkSD un?.wjIN{qʸ;FFf(ʌЯ|捼5;gƤn3s NyeRm_'sZj|odyԗ[,i#<8ܰI 7/A9_xyyO%ExOMa_, GKn,)>o!خ<ϻwKo2 }ayw϶>&*/܁'N\0ɑbw .`>aEP"h8kֽĶX4B\}_ḽ`:B,Z=vCoWnbZ*X$Oo/:9.=u#L8E| aB~Y:ur~H?rgNF\g q`_q A4?S4Jq>9A[u <wf+09-;ƗKe uG`|z_| }"ɑ\iD+}TafA}j#w<9ײzpnQWza|'g!*sj)`TR48~n֬9"Z(Z1J9mȥscX (d FQ[֛0X2rZ٩L獜mJ>fY~ CL[JC%E5GWn:'kE[ }hg #2zT:SmIlﲛ7{$λdI AF={bǵ CeU]:cA|܅uBꑕOkܼ ]ƂsOd0 MUEvzBH{v2J#+⎮Dai/inu7L̦f!T3wqma~ *ԭ27)/Ine3|*'Ⱥ ֻʘ=E\EU7<+-o<<9ۿ_&m4b%r]]wPxP d`Eҡ~7=/||v("Cn2Z>#*)IJ~}zκ6~}d|sFT:Q0L}1K<Իz{rA:rLv`gי! yc{3Al[q\  h}wՙX;n+V`mR-z? RÞ8\F'itӿkGh)'| ^*Kؖ;R w%ꯤcb=?!ZఛV'#:9-h<W=i,ỻwiGB]?dY/z?S6A27.B{Z"%eȫ.-Rd~B2ϗE1nץcZ0p]bzԜVPN]hj5%ӃϞ Spk45gQJu4r,G?G9y'OR 塋_Aky[5rSa&ЛhMO)|;;a\IrSiuUӛJ]  MGA`/ )?|jlS鵃vhuWW5__]5~+ó` f"u:#]I=zќ>9ߌ{nJ7&2_}kry>"L+z1ȇm\6GT-; Dx|)cۿ ѷǛ/jnUȎ>QLع)fw!M*+u.K܅}w3ʹGtNnm7(J ٭m>tgpTBṛ2f*Ty@8ƮP'k;E<*Y{e8LAFTMk=ѥXxH'N9,q4)(On#6qV\wYzp*Zpbq $j29 Nj0F{[^>`3B/Q}]7ƛiD մ|R>vNex' VƳLa'rO"mńcͨN+V Ոp_}2_5EVImps>{zlPwg?s3Cd_܀䨼TM%0Yc"x.?Ry'9>zU$ڒqkl}Y -C'(3#~ x."e[ӄ{ 0qm͚s_Vw~̨T 4ܬ0PX~LZۺ_zݸwޗ+'!X(&x'V $U)`i8a]¯SX9 i^Gc ?͵q+Y|KjxzLj/V'Ÿpm9tժye#Q'91Md,U* j@}_42[vQ3=W pG?e֮-U>}̓ծZws^_):gjuBQ*Ħ#rQFl3|ꅰ%C1pA}ŏ.xЋ=7>18r|oCXM ,=TUvsfKߘhIPlkN~ 8ac?l55'rXSF$$ >?MlW%SFI˨ڿL6ϋ XBO Zt0DQLsI k?GpWzUl<4a7  Zoq[b}>oٰ'YxKLgU; H! w*t~=E=aa9GCqsz2F&>υdmok)nlzPM.4sL˜e0`44-huG45Kdi"(E!%Gdpijv`8zlC"1 vwGXERFqLv-ki >Z8z%t}O̸~.|~]#P~hnCm)~J\"=8Rsy1ɹ2F I˾̵?Z,>r06Ӻj _fw s_:nWO0 Mi*^٦+}fk3CC8=m<^VNF¯YQ4[GrXWL)N +YQ}֧>NؼU:ݕazS 6TJO,mسFwj&Y2bNAfiB!S 밎Nwe:Vt<=vs9>0qsǂI{hx.Ez׊,hZzr霁,+sgy~HaY5fmf8~PWwWwp͛ӪWQAx֙*#O%5W=6ag{:}{ ϬqtS',]ftH W lgeoHhnmgeFdh@gmk`neLcdbnhHhhlcLkgc5waee_32100201312'u8;:;| pyY1X(,GX q^`5Pp*$hk` `dk`L aojX~Ԙ45_Z7kfohiD``ljnCtMD`nC"C/c'dlf.`!daiaDKIƑӍ|9VɒB:вC_{4#Ο¢ɎՕ֕曂IߍƑ8;:9}7uv!"7㿦{h1!7-TFߩD\ԎJvt?m E\G$o;ۙ::>vBNJVfe##Rd!74 iؔ9Z$Ɛ330+10q23sҳQwĶF&GR#CN[k6B}?pJ|Cc aZss ,B", "L,"B̬BLW++`9`N[)j\,u} K^;x{8myF`ZV v x.z{W_A`h뉦\,-RZm,Y3̛asjo_~sO)3MVNٱ?t{!yy|7(&ve;Ss=^6#)@߱q" +R+`E'ho2[1Juk!(^?(ݿ f -6YS`ʤX: W6İeGO^xj|O?Ff C ̲<Ec5J1skż S"y{5<@HS4D.; R '~dM u.V%gd6IMq CTŴIzrc?W)P&oD)1lΉs!Oͱ:SbKRg& |ذ fU-S~vrFEd / .g,./^ԁp]xXA GϹg.[NaxfփƤQfid9,e^a{'Y3#;cޠ)7hdAJ:}/?\kǫEr{)fJ+C)M+wƖ!yH4y\o0VdҚ_ /co큧Wm gVD&ɗfns+PGŤݳa5wwȭ>-6$V"N0qo|UiZtFM68ސW=ܹ\Sp>y 4Vɽ?Np vY[e/r3– \3dX\勽7<:dZSSiQ*U/2Xk"=>=8\rR(OPJ!f =F*(>&/Oj+/&Tub#IlEsOYf+%Kd(&8jXߋX!xzUFW GagaLŌ?N(iӵ[]1MD!~w𺇡X!  t? :5|3ݎ$]um7z|e㳞 aƌE`9c jfI,}㑑A BJ*rH/wE΋ c ?Ex>퉉X+˒oI;<’(4;OiW 냸,Im*(L",Z U 6- `ר@pp|CbsU}|\_NLˀ{`LǕ5'*~#Ue+X%/mzS]UK}3/hro40]R(mdFq7noɱ9lsf LJ}l>U$`naVdr($VSOEү `gs`CwKgL[ב^8}>@Oam0lޛ>)߆KA̐›?HT p8AP눖-n[ ݠA>%ĕ}wCWK.\m3ヺh]OOs"*$Y*W<?&:ή3oe>hL1}}wS/D{(5 1s(.ML*Y I] _oxb;bk;79n Y7+rd[m-N%[}nU]AuxߺGT/ Tw54voND\K=֎z?C,64m<d63XUpqaSK4њ{Į0P]a\@(F@H%҆#{#=*xcb 6zM9L<٧z={S-@Q]1猰 LMWfj[E%prمC7,YU=߸,0 \N ЖݥCyT~e)j M 3oi4Y+PkºH3у,e$YG+'pe1D4r3fG=E7a4AsO_rwoq4d-.(֎'%{zzi drOdi)yGfeec`b:vnl/ʝG}f!}naFU 됀ypƟ]OvA.v4NS zĢʯeQވ 5V~&}(k=x@@1ytl?/9BCPeJ] fMpbwc[qDkq&B{&nV  dnɋ:l|hcp Z,c=8Dw wJhh_ ߉J>RvkF5hY2U|rb;M%cySƣ3ci4,%wQݍ={~醱fvyX+U+/dxݦ˾~s8͈d%{c ާS'2/V>C9W"p$*@ o`Ql&,ŧ$7_Ԡa>x{Қ} TJ&ۤ7q<&h(0sXn #Gd7ho)xQO"va0,UT^4Q,~ߌ~Tk=E%x9\, IO*bQRe=ʨ9:9145M! ڐ9ޣ\jN(hXWnZr*ikGsY pBKU0|f)*Ԛl#b^ƮHΪIXwg~ ͑SLjNkN{CeffwW:qJ&ۅl*ǫ}V+IXƇ[nk쯺KrHJE6 jѲQa0!x4ɜM0Ga u*ey} wHbknR) 1ql|Κ&8YM rN #T%*r_?@KujSm/W$E#x57oxΘiMJS%r9ljz7\4Ne6# ;@7 >Gb }3@XQ\XK{(R4,th t! ӝ`OBsYg,^#x'Sc0JTwD_zܫlO3XE5r$YL~@D`44G9ܞKhgNlQcCJZ=FL_9/;x6qtV OVGK bۆ^#5Mq+/ } $~~R6Ie 0%A*Izșaߨ7G]Gf;\rS(TbNSLA!?$ЊI԰c'Q&x_yO%x~UĿTO=o(^>Q ](?lVvJwT6wgi3AZZw`zœ \JKzHXZChcͺzBg`q6m<tJC[~Mа-(%MoT>Ʒ'OjΠ,!vG^$jOh)NiG^ۮCjXR]T5Z. G&Mj;z8]kZXWM`Ei=LOÖl 1ƪo7Mfڻ2Ց# | 8F;vyFGttdƾjL[1p őVZ lB_q@4Y0 yBMtqjE{Jf4; 8`+ͣ93|5ATp^&aO\ k˕QϚ PF=d\)4:١C 9DD-Ǭ ;[sd> ,3`7$ g]/ ae<47D u=[Esh?&{(Gds|zkS40܈ :_5I+P? K۵esZ!p-q<&\[>UǗX=[( ysQ}CRjh8IىEńmiTu=mtM&eݲZ-)d q_O2ȌF|PIGdbod./ܦUkSxkgX\^Ĝl<8*_nE@eb 1x+yC%i1웬^}F hIr"q 5\11"72@>旓|Gl!}JVSpfLE.z{G2y')V(ž{!,aµc6:4Z>:л)U@.Ybm-FzlE;7i*݅z:0Mlʿ9R]rK :܌5/ lr[1.ھC\YB\yAbMY k#ls+p:xS$OKb5ftb 0/l[?,?o DYK Ƹ[-acCc}9s4ihq~gojNuZ=%ҥZ\1P_]$PkU2oE_itPph~)*0{PzRc_М݅kKI5+WB<ܕQtߏp9aܠ?oղyD7ÄtD^no#2W?O=aȧ`KnE0bi oƄPX"Lܸ5=#E=j6<'aաSr T~0[J$ow)4֬՗mRqNbsyeq&Ү{d)նŰwUe7Ys<T֕WR\<%@ e>>~h@vOu(,<z@,1>#(\#Do]L %{X?y1% =, 3GJk':pF!v@޸|^4ӚȦ@SDcO8&@IuGv@`&$-[D}? cڻG/ Q}}/^{eAyuLYhUc0]3U^B 3w$ȭo+E[NJ+K'=Qr }ae[oOIKtTiA1zk|f]AӺ WyԕB=kE)(JQ*Njoq8 ,|r+&87wLq;v >k#qEbE.8a9F;Xe)1б0?6tj3+3I8EWSէFSڪ[Bp%0cfVNjcJ#[Ο⦏̥ICJE)]YYv.FƠb#LthfW&(f~E<Fiqه:9 O ը .h-H܊ >`o>Y]tWo@UM똰oܼuHST 2`ۄ h$AA\6&Xd47ynd+2Q[FC89]0RBVS鷹+CWDNu%A su?Έu#q4U \(M'SkǶI\}Y˶@~ltt~0ۇ)_sNκHJnt ם iϰ |\KHbB<‡`BQf .(v֐إ!y "Hg$:fZn%WS2SGA-|B MO!moX:1ETbo[GvH!w>"<{I7qG) vYmo~G =^/,&*}z`D?=z|4Gy %39Ѿ*AC̎i,6I4*`n(Rc;p`zA)'&Z)qDjuŢ6FJ֭>T00"ND1.r ,~Bw03_a[$s>Y:++VY-M_1)xE r ^ mĘ0;y(Phg5s^gv8fDuW$&܏Ve6/nLC'l 9W0Hh<_dlu! 1P>p`Heif/RF}&bxLw@D'xH#^k 幦՟ݑ~>"}-լ 5ڇ?kQR*,`_[?Y^ڵ w6Z14EtCy" +xrr>6<9vjڤL\r(YPkF0C1])X!P$dE)=9M8>$I@*k%[ݸ:1Bkskw]d-1M3\5alS0лhv\rx&b Vm}оΎ|_晞S 'RYZT>}uvj>9br~HHq7Izj0`y2$<~4Y7_3k\><(IAõ)+A&HL|j90:bJd3]/>daLZ$ W\r{\|O?P.ʪ{m41?Sr ?]7=K~ 98*/[B!kM;pYscg_0lDq䩌R<gzz/4'#ꡕŊ0@2rT:L)Ϳ2m0A{ץ~Fۅ(QyDR$;ⴟ~V٘U Gyղ,'ʜSv4v" ǥ Q3X.r=ʪ!mj-LJ? v Ŋǩ }G|]U}RF%@u_W7K6ޚ-ËC:9Yx/͑KP>;g-+.;2ƍ^.'W$%'WYG?>ļ=*+=aCeK]ڑZL s h<'Җ>eM?XqVw$ɩu ]Փḇp6@i\bwߎ,8V lbFkeaFxpi_~$V"}j&m\OR.7 f s.q)OVDP0 όֿ w$7Oyr e"t%5ǧWh~= |~TRsg?w`=~qы g[KZGؘ5 4Ôy Dpitr޵aLfjp3QuUiƶvg`T65(É*׫X#i\ io;-=j 珋;]$qR4 ;-Q67N[Q{1y_G3_#%ղyTymc̡@ T};MU !tIGoeJXCf;njh0zn8v=36ӄSmJQc]C g޴FJXW͓Saכzk:_ #lt+!&tI NյqT3g"* ˎN뽼 sW&u8cT+9*Ox(c 7T?e@ nra^ol=\IDf `+ ✹l %&f-~u.)XlLJPģ[ﲦ,?xVS|ķi#xoQئ~uXƂ;*"n2r69U?Qc̕1mRk9}>F]ZqˆB5bk5QgwY⋵20SQJ!d&rX'ZG^@CaLi7[xֿй0f_>Z//27C1ox71NGR[ zAmu3E3VOvu6ĹL VCDX͘)?|Hbː_*0wƻՃS+N!}aTj"AN~R~X`GJ4$7gL*ffpDL2!U* 0~ze' K_ɂC H.u=v4?&>zثF(`-k˝ %%T)I2ߥfMpfr::CV+ڨZl:,1 `LvMeT*b|*c+co~9"X5M1H__(;ڎH\ů\eI«ӎ-VQ؇7Ÿ A,7aހ=&~/:l1"=0UԞk[4QL >kga{lT.G͆l坴(sw*Yf5k H\SG 5\]Sٲz??_4{ɸf۩asQBc<~;aCCN$fkOb+hE tJ]`HPDN;%&0ϧS. p2+ ]-ѵC7]f6ׄ 'ݽND V:l fzurlЧT0oU2̌k)sIGd o% ҰaGu.R醉9hQp6Vvlqb{{tx"9yOqmD&/hU'PEAȚ-_`mR$ݸɲZ]O|W'&,1c"qDtHQ_Fm uQIƲs'U>KYԇã pLqn0`!3?]2{VbÒt,P*tz$q|rvh^Έ2w8ġeWYS(3R-E(T Uɶ浱@׃ 騠!(WU0(_R>(g r)"Ÿ!/!Oe)I#~O?L>z͚| iM:İ^ Co)y]ʉ+2+z^qs L& 3!ɷmc,"#ؒ9̒"b'wNDL]@yܧ_Ki+rT˵#2ڏ?U3$NBO厏 u jwʔε]HOOOQAvv$áZ$2ʹ_ini)md!j}jPlY(Dߛa#`us,z G<+bN,VHb}>z2 a]m\ KK\Idg4 z\-k8;g_`NjD|ޛ4YE86|~N>Ӆ՜du\Eh r)aVs Vmj&!nemsǛfY㈬VAfm;6@d:SS-PBR!34CAjH=uo=`4'-aL]C+3;k![.a+@sRE~L:$sy'kĦpX !4(3`Rs=p~w)8Ej+G>&ͧ6KM@\[^48xU;+Vmu4[ X TZ;4$96_tN<p5'3@E+m*A:|uCǕW1`WLul\<:~[OR!9=D*LÑI0U m%CeP8sՈ*vQ~w9˼ɑKMQYDבdUhMp;l5My'N I7 %nWc;qv{X#҇qs4$[ߵ0:)|~űZAxf:DP8Q-?ERKpdg  .֐On{X1z:]Cۘ#c2 Rу;W#"K10^m)unPJǯz] ;7PG?t+ F(;2F O:po &-[½d^ K18~g̽n{iϫk?r ߽miQDt8?c/CI2+9y崒y{ K.kD!O,bx61܋! e>u'aD EqL`CJxgHAgh:S AZ%&:Ț)t=&,&)uM5[ó(bE?]-`[gxແU7#/( ds:GЃ cvWx]0~]ZŖ7@5ouG?>5o\<8q{⧢=[t) S]@>)Sg2y-vU /<whNjl<*O̢fO=<&/ws_2w4WqaK!һxb!Ixv.롙LH~ZW-YpMU6mS[*״;>.Gz AUk&Mg 9+S/蹔#Ӡ!lܵVc9vaV?:%+W0ZU4>Y*o L2H0\I@,T|D҃x5÷a$z"N_6#?^Uj+메Jh4{BtOk9COf#hO5%HdQ%cG6bt[ -PBv/^O^}x|r#3zLFԾc^ 5lKJL%V~lQ9"̳L'rJ-DgM$HI0"K3cz226n4^\C*{?>5UYh %)Rk'9=)NݣE <̣*Tu%7S}Ͱl[vyQa2QuA\ tR /E͹vؖSߨe7V5U`DQbw1Fw.|%ĩqqmK5 | GF5]Jnʴ% w|-1NhåӳOe꡶յl{=- At5zSPkDl%$F2k SҸB4LwL8 sڮ݃ٻ\v`i.|5 =CPs:R//y9\dET(qiDԩe|+p%Db7ũсGU+ztX %ԴO2X!)䋔;,8v$ɠ/X.EHۨ,wK^//UL̾;/d$*zIa^'i=eBaU8r٬>=rJȄLzT:h F<%02mf?i8#&vz[0.xA_^b/T Lj=/O82L9L{'a kT k_@%&^tj¸oҿ#_7=&N:Aw X-¾[9qop/|TȆdးLn8bM!`Wٗv?;v4@6c]mx#P=#n< %ٯ[& xa">j-_WB#) Ȁ?JYt xS \G4$c$^0X:9 @ TU7pk[}rpZuVPPǸWKqC*5^#R=қhRŽ?s0ׂ;D 2?Ӷ\d6bH=o[`C20" L ut *7=k{03<T !}fh>k8㢯\bt1|H|'; Z& +<-{|us)x.SJl$V>@0ڞ!G#𭵼*9+0 d^6s}JԡW1 +!5d8txN DDl`ӛY&|pk+;1NM9‹OH@P^]!H+}/ V3n۫I$`N[0yQ; mb 5tZM8VV\U2Q)r[7`LQas@cg!f7ryЗsl/\URHC`j01 nAK-ѫ佑Ng!k{ýriCY>4^M"!bH_qm| °"NBMѱ:FYIJ5D**eŇCʘi"I8s`f2/އbZO]w?>'FCNsZhul,.ͻυyA/e<>&7YRrH"Vivd?hho80 іTaϑ>ҬbC=iXSr#HAQF|]&am" # R"FEGZz *ISj 3&ML&V籴ԫ,Ѡ?U3#^joM)lO :1&"DHj.\>~\ة c9^E8Ց(Ɠ;áP\)F4xW3\}&a  BsisN}VHzH9Rפd"rAl7n8~=BQ­gb|%Ȱk32<3.[ OR8$ȁ0j9r>ͤPqk2 IYmADHT^6xQf!ER6P EP0 +:,*5y 3{8%ypЇCdI%n$HJX30;7oDϡ EH)t& &x'4 ^ZdzzʭvT ٸ jXX Wa7ѡy,Uz|s98G$Sh,W]7_D9PdQ]g`yStæ U$r׺_1 RY4i0&.ey5U~A{|.O~JdrR pJ B2X3LjKfàOK* pe{GcTL9Qrvw"5V$=QDH֦<ߍ6B]).j|>+o%rv| &zHl. 6sB4i0I _XE T`Baz/$Osb^{/Q->pU-Z;ί!,u׹eH-lRKV3m'Ƥc1Fqu j=Ұ5F[*H1BD;U'uKLƒz0M+ $e3ei*ѤdB3k{~ 4o+em;>w!V!_D]/hbZ/)}I|=|sMQl^QLOmbe}״*)[&R]%DP7Ia\/!>NrI1.ilIIFaFCH#sETKbhm56V(;\,⩳-<ȣV4-Ͱ=)+Ksfgܾ4Aw]4zai&#fPHYAu` ~M먔+]E.N yZKsw(LbEwii!b$DfGP] c;D>T'bP^x,-f--NTRd4/HQEdA:FF _AR`Vd061kryɟ^;+|yzF|_bٳv]AiLk%np@ᩧnv {=kul_z &7ڸv,,yLOMhcP]%G>´P%!uq1ۧ$}eJ.>uwq>1:W$ʕMVdVʴ-CyNGDZ9xԜWWG̜\ ☱k#1T<#g*J󓦵<~uqoQk9cj&uXD8XI0O X64q .j)VSu!?s!يux ?{N-V 7\>6`imݎ0l\eՍ=*736Q,Q.ٱ؝6Z 2-$'4fF @Q Lc-~<֨|hmǵ̕O1 Z?m~AkK9 [cY3M & =`M;c3sZaFj0LׂCX'~?S Y2yL#ZonU.#E7@Tb wx}Le2: j)vbZ( X4#8(UWf.rPJLVzzĻ5̜c_| $fR=< & `z ٶl$K!,@q}ET {%E~!Nx}'~1w67_ҷP89Hܕ`6=3+Cfʆu[!LU隬D>,J% ,17V`; (4-e_mȨ@k EQ5Bu)ij46ui:tmrdBk09C (*[[DGOw{=o>c$t‘J9J/2M~W/^ŋ/غz?3ٹ'V<Z°EX `1E*,w= ^TW{P_?Z-l43u2riڔ4|m̞gB6u鼐 &BBaŋk:]SSSm/&V8(3|V76qزA(rRak!`);~<ʉd.!i80\N!͇~;[}X:~*aųO>fVf@u{;ip;Ͷbs(j9ΊE|HDGtyiRi^%Te"$Si\eggvGu#Y`<R +7 ='p蠳y \U\Kx&V?{@:vPpqmJ'}7wLiy'I<,&"rHX">o}xdz|8~b9fӿ+TR-ȉtszYlՋp翸= AnM x?MfFlV3Lka'+ f^r#`SP2!ej!kh?H3~k<*ns$KƾJ~I-E;Q'>a,-Ev^, &oGȼHC}2R蕮 e05#o2Ƽma.l3p.d^4Uʼn/Ý8[Q>?`$l',{MCzu$X9&$++¦@ `rPSW TI }8x\BuvO;k%QUo\#P"eTɀ.X%gA*E IB 3sSB*:WP$>zZgFhɍ27_:7HG`p¡w" UnG='fT ANҔԥIɭ?V\[BUJAPI2~+Y6-199VIQM4p0' 01kǎ-G4M6!_464*I?r.*bzZ3fꚤ& &o,k!:#T8q/F,H+66AwͣRSI70%;GfI0miи<mHĖuI`I;IBɭAI@iĞdpc_<&Qzko*'Kˎd #yXȿ%b#鼉Tȷ)rKo5̈́s)^fv9+gę=>8׾=qIL=>U*%,//a~a.p!q/jpwz-%uĭh0R{ /e5ZovoZ0gO'9&{I#\ঁ!kZOc=G}w9Z Crs9ɑJ6D`=ílxl 6E)e e*TjeDrce 6Ȅo<8r`wōi$#dq9eEo=qI}oj{k"6|ܿ3|cTb8Re3ND{# [κ0x`~00 -9HɉgE>FFPbů^iu7 &e8 D2T bg>NP:^uJf}}2+w$9l;ǼҶMr^>zś Le?dc7B6~w4R$O/͛vR מ絽 z^⎕2%#h9 |+Q/ZsbfAhAR4 {gV.2 ⬷?E'g12(qMHr_ /f<9*ޘǬk-XwX9`f =_G~!iv8R4<8@t%,8@ᒀC|Nשmm. ͮeƊC=vq{FLۿ%L9٧pùoJ[3XK?F?W祄U/1 DL B 1lѴ =Cǩ2>i\6VX˿BRe< p0mx>l-Ơ떉".o:\w^!ZLw}s(!^ C=+8I<ux&yщ8: HRj߁4:+ rY؍O9!v-Qywc}[49BիXZ^ \+۸Z-4@sx3HF 7I 23J"A0 8@ǚF ^#sh+k z>@a&1|y .q2?( IVO5@)I4BΙI8igv\Se.w y,:5]_mژqzk=̱cC\\ +V}(NcM~/!ȫEwZ-rRP, IW1֘8sغg-Tw:1<XXǩS' _;N)|4| o} >^r}?N:dHȤ8PcCWTJ$oESWPS=LjIKDi(C@%O-c) a0<ȕr9?4HNJh1Wix]Ji\sx*yib,mqju.X́L2h& > /} LLn 4W{ I<{Y15 @H(KöBeE؎p8p$Z!"%aӔ(HJ@'  A ;s_QgVU>ˣx=3z{*+? MC8a`*?ĵo|LVK|>S֎bcc.]>|;4 eΤf/|%_?ɭ:Ocrhe)*7nLYEq  Ky _{Në_ x/'B^31lE|{siut/ dcNd;\n](S -au\j,|A(uX;;AgmDn:ڻ k"-4D6p)ܱs>e XxY6 ]KOj[5Y&>q30X)CΆdg%9ڗ}c|_YX L͗=ֹ9d922+$HVg"5MBB))aqKBg,4]%ĄӵUp: ,$*}nh0shCk{Vqb[[;Whd8g \۶l}},rS[Mvn>q3d^5tsD{O֭UeO =SvkU.\7T &u TÅi{EP}E5ny/Q!?m :]:0Yg ( N{قld}Z/V6-dtHxHUlox1#K|TZz-0+gm=>xQ#r4.,,\(^Z'quScgOjʣ>8q3{\\n8Tכ.,h.X._;"rvmloKfKoKڸz晜WfC=bᡊY;U!cR $0رd%ff"qCw2xK v%ef˨qNJ:T–%/c_DyqWiLNot J >Rs$mRGϏvvctB(nsaS^ox3ҟ~s8a>FjTbVkUg2Sܸ+lPb#oFf 󅂊u$iރPIg|^x+<Pdc?d(vwyk@$h`$2ނiv( fNRfE9@Cq tLܻq -@uOz"Tr#s`Hh4ZV"|#;!s,-lsnYkj:8Ж"%BX>;;nLt/dyN:he/ W߬K50¿:}z"${ ׮8tr\ n'ō+א+03w ӟTvy%}w8$t}eĆZ~o/b5IКeP#Mr G*wh+v:^6Zn P*4?{qKMRjdCi*G b<,h!7!l1),-@-4J%ܼy㮂I~n/ʰBv<_;[F6k ¯~ū- þv.޸| [-~6V[^@RFs}L^Uj2USː+^zU28jCzCi~a t5c4m|*=Or Z6aQ'y?q!b ?10dK1nDpQPz9HQx: WLB,=˞kg\W[ɠL;d>2=J6w LFZ?= ǰ(.9+xçv3' 3i睯p^q_OԽ8}9B҃W~bWRpGג@|fn[#+6&m|D /0Q!`y-ײآuT50NKxPk42wDbުic61g{g_b{wᄈD5|q\BUO<_ϯtqn(Cdjk[=7/ n+畛V+2f{{{s;Dq%|m bV݊ H|Èq''}s,Iοip3 $MKkb?o`=T] }q7TJ{p۝=NqM9xK{mS(WϠzXc߭ HswY⾾J L)C=3 [}g~wDckτX :,*9[0L5wI7 G ճP*g!h]> ,y: ilй6h,&yLߓ`WV;E%h @%U#iz+lFXdy\̐n*SE1N5”04=M-RW:Os"[/}[4o4V5V}:(,:WH>G%qO֖+ұX)E#>,D8NT(P]~c n41I5{/TT,Mnk&^Z1^x R~NϮbї|^Ȱ2`wDr]{\@ykDo4p6Jli}Kpc,=hב C>"Z;@t!06Q`E.q/^ITiƑa{2藨tE'İ(L򘜞]fnG!҉KxH~zrOi)\=[c)?3:`\q忆?kpr$.4FSlN5L֯Ihx8#IP]_l=I [$qSg<ꨕm|In;ǂmh@:nDbp %2ſ :-KYWt0<~t |wq=p\S >K+Lϳt13IW"xÏoC|nApp8^{船{[9KH-o}0{/CuAZf~_WvSs殏wd g[h)O1{x ~?rӰXD0e<9bT O؝8 jVrK}VZA_`R`ҷR+O?iX}u&;>_>=f[x mj䇶Ȫ^ ;P{x+nxmWx2 #徹\0 4E,t9Fl:O\ Rw㯑X}k\ $F}48|}kU Z.OKAԪԩa fP9p{;@b89=9>AknYÎ+@3sδ^]n1.L7P.-W ^Wݱ4ǿmo ;=YGo'z?\fo[m 8yx]B(6wwQZ{]Lc~&gk81;/^LrmGj4R+oR?*νq J.^}")vA7պ7uFe}NܹD3n'})q^S[G ^x1Ii\>W!$`>NO Avz=*VU'h:Mi5q5 !N)Nc }A?ϝ6v;*665M-cz(&|um6[867((!n^C U.VP17W6rXU`҇ bӥ,^9w^~r+"6As2ݾ=- lg49>33r an]#pIitqō7>IQi{Z'2DNty FN Tn9yߺ~4|C^#/+r-qnkxR^ D;-S^|2,޼vYYLKΩnL!};k،<'r F_xE7R.6#KŒ ˽ת 'SeuHMv3 7VUwnvf2Y/9%Cfe Cr\![pT!_Zy\MYV!Iqk@ԁ!HD+ nwd?;)jZ!VP4r0#11g2br D(tqz|]xչƃGuN DpO 86W8{=3LۜO);>ldQ^Fƥ&B}n]x.^^zHBP߿z^?O~SthҷCد`w_go\ɱ}͝w7v@I#tm@Y^\ΖdG :>gvd~*E8٫pKcGkvJ6TvV'pnkp~>imbaA\bHiEEU"ʠ[oeX Vr g~u 0)J $BZ#uT/x.b,I*B1)ba<r:mWul_"E{& `6![R`"\^}iMA%omZ8|RQ8ﭫMT9aeZy&@${9DPKRimZ! #pisZџ=㪔zi_??ӧO;d$e"gL{R~R&*LG=>=]hҿ]C$)q3L>vhˈH M^U*Uy^>~~B("VQT7Fx;38̰ѥ΅O'u|Dm_Th^_nF4pxbő v,R`7ʎKVi32|BnfXĿ ?=#%|.H1bVeQ(gg]pCbD84w;ΧBǠ Rdc1/:XHj7~OI;Cg̍A9n9qzij>[bo?YC`¾wT!N iFm@+^-w'8m8 5%L"+e^ p񧴎$^CafY6?* CaƢ^M̒UQlKv]-ڦf2f[E"Jн6B8Ʒ|N Hx`KLW]>TiUV`q(G5 ݾݻHH)k?4;mKK6j/+mCDd"6䊊ܮᐛTP}~H 1sl4~&E\U+R>L%$J[b@ ;(<ꛯ`_BqAX rjKmۿ7O U6p:?gO*]+‹/OujʲȂ{x"~__/ z+.]QB\O 6aj^jkFJz)]lѕ,Ev~xW'~'ȗ>xtn]u5[\΃~&W Xͥe xTyS Pc˨75f'$4Q(2q {yDp ^xE|"Z6q;wu ]<ɟE?lo|r-T?\v.~/g>;7Í7U믽◰p~~WյuUIXlLf Nb24lj5;8FLWVΎ+ LQL/(&LIP6 '&{[`'Pg %eSdT(j.X>E? L$ (A{;)G&>#Q1b<N} pd@O{ SR#6<QvGQ#ۑZ}ZXdXѿ#B-,kd$#Z>Gimq4lZbb!J_{DUđpVok8[ǀ,|e>zL%OZ}]2nIѽ*TWP&n -+x+7r@|鄝05YfˊwO"T{.#®/0(t4%[Im+}ױw2qQQ A_tQVךO `PRI{z<51)KE8 z>r,݅nEw?9R<(IDz''E^Бj^V8;#1YԆ+إed8~=,8L\Lh-7Г}&'R_K٨ˊܜtXBӊjl rG\t5e&%-_KZ EW$S X nfds*lut(i'%<*F_Yg }p &젓6>My)O'D.E(|T&9DĦ~ǻo,=rڀwe] "GAP*0^oz '^UztQa2nJp8I:qx8oi<&Ӹ_`rt1jؖ562KP8 =4l1ށ>zGȢUhb2Y;|.4 *> lJi`oVfxe7<ѴqA(jo#'&qK)CJvngXf7"CtucRDk~7n`\M6!D3vY R=GKhE,< a7o,~I;9. X-ٗPD'j9%2͊Ᏺzs`ݿ#,k_ RD:n.kzX @&nmdcqShVGc`j1nC Yog8\~-y΢G/\-S|{R 3;N-45lheY};Χ[`dvLGdwsLl&Dht1Fi5,^Jba"ߌ̐@`I:p5 tCCbV:7 oAz6^qAv{ȗj_FƠ+Pcf0} r?/0ޱOçIIc+`bOu}A#lQV۲3`[VTXЕ2r X27ג+GP' -]~pM59󭑒5B76zlFKz㤇}]H6IPޢsv8JB.TI#5AB|o$-sei<6Z^Fw1=Ck=d5ꗦ轣s9e9,hu20Zɥ"3n^lC}m:fsm/6-%Nc.-d>p sai|n@αݱT䫊-k& ?[]lLk:B]ޱ OO8;3{ VK؅O1 qR}/.&_WUtRRTyI~niPLqn`#x,I<gRw)g`gWp^_ϑe[z-`y,85o9\`IL}iy˲`%쑀dl׎1〄"Y$,StrA,.&KtsXۗs^[,xRϡcռJ,B-3e+`g*yl'?Rx:vM Ӭʣ뱵ACNk@ڟGƏwA95^kMczh=5CّmSV#e%[R3iY g#Mj- a ĹbuGXh.@c]{m/MDž#{l.ͮ4K5P7c9TհD4 GiA&,Dlߖibl^N;ϯ1qr2zJ HFx=<Ǯ-Ӊ%7jLf$T%.'Nt~&Œ ֭ݹ{}~X:.;s*g0SCvp>CVG.+<"H+3 (\pg!c it9/G'sv#ݗ&֜tM[VvO51cPWà*G J >.x}\ cXm%d6l _mS(3qeYuo S@Gc@CK\[iVWT^5N>I1 䙯gҵ'897;lZ${T9="$_%Xݦ\,oG{7L}^w OnKIz$ {xt&6{`#au9Jӓ0Y/_A_[[ ޴q¶f@Eh2`}rϽaoA̢sX#` a"._Pk3:IG(g8\5 >)-%DpsIh-<GDfw@sǛ \!D/r@}^[$j[Xy=Ta7Y2p, .~T@MvmBktT瑭1X-=: rʢYa}vg@Nү*uQIAX` f]X! *3ΓSC*CI7)2h\bzCdH78+ .*sͲWEZU\;_~v:MT Ɨ_{/SU6 L#-XٵuEɮJJYmEu d zdݴU 6L CR.[^ogLdH(nv+pvJᩌL6=Ub 3yf[#&EP.,~dMį= }Wzd77%\7;E[ s=Q3쉢'XIQp\@9"P/mS8AZ4!i υqxx6K޿K뾰Lw o]ם8]lO!5TI/hj8\hYV檴~p52*8zHJQO Z^Guzǎ-zK}`¤}z !X >![ 'R$ww" Bo LϠ (kXicJ1wYDuB]*#uC$}НL7Q㈔A@s$MWB6_T.UkS $jݓirXtb_ wNQ|cNsM1FʍȘ8Om庁\XQppWH!&ޤH1OP3ZQ2.F VB@hHՠxgq7 3%t:mZσwP=ӏ]8<'zw`7(ߴw#5%ORPt?2c(;Rq <0(bC?*)qsKCI]9OZӜCi0ctֲz>;;(S̑)?v|hȃAt_: '%SȨ}o龚lI`8#{v!/g"F>3_L&`T+\nKSR yu .d^+Vs+9N=®>WU(]tz:B7w|BF'CĮ[h H๺dg1bP!.LN=jv L*02Y 3"̹npg,Vs1 ݄"ah)ÅOJKDZ,'Nrc9r61,*LNєDgRR&a2F "s^WvOb,_;mlW4)1[a|/lnٍ{\̥ޣDgG04f|L Z,(J[q!re4v7`eϿCxtDHBh ׮`ZWivOÅoai~ ,S贶p9c=$ɓcVЗk/@%͗,L턖\Kl2䲙1+݆^rO"xI4RQ^wGf U"2fV(3[&?PWpl[Xauh?ddqEHR\N -txdL^`BJLJSl"`_\5v tD.hE}bLGk]kHr/ B}4`6p}:8rg00wp5^THxcQ UN+.S#!QWzc.fa6^}]TcbgȖ!]?op6Rntb^d7- վANJl=ҟ;"`"U/cEQ̌pƟ1Db 8^wǫX%d!EX1iwpp8{5PdqW7{߭*FV^/:\/q \}C _?]xh-ed} J~_ d5 *u։P,_lth>UZSot %+A2Y q뎱#Ep;CndNx5|3ʙ~&|{ 6 9 `T^6|V\^kx䁂Z'``Y~,^kwzT*.9œxt,\yZfi}EnwQU՚k6FNNK1 L"}]?l` ECNb F/]fоgU`bKJ=I 5&b0&Ʊt粜D LPd2Ja` KlgBב> Rf O}C޷{L$8z/xӆ.f3Jk[Ssz`}SфM"~v_pdTL&+Y7 9"}#&k/\l>3Eӹ8`]\Vo/h/c;w~*6wMTj5d[mog-{Jb (c~VD$F[[[J)ꩶڴً輵 c؄INe? 趟2h5KaNp0ash j{` 5sG@wmx:DPh{ZzN$~'kDǂOhX;u/u ./8g*^7vϑ E֧lOƬ?OQ*N ;찖ʷ1^5R-ngJo')}A z~z_8ĚZ!_-?/f?qX?W#@❳?{X9d+Щ^8}%opƛts|Ǐ`k;zَa.7wȾ>tʀ "!R"DrB_XHB(+`?czwwr/u"j6v:ݦdIV>I}ͮ.DaxvD6K!S5l// |p~ҹ4QiOOA~Ĕܩ|Zeޯ*&Ga|#uT]: YS/hsBzdxbCCS}qi:wmZ ]i$<`i}WDZgqm}?xM,VbIJ'>K8 r,?ˆ+Og۷ZaQ}c;܉V8>㼌hG8_m?;įO*TJlYo9ˮ Xg9׌FѠn܄/1Tt]K{=SE}z3p !]fr"]_ud}+4yRpj~w|!,Rm J3KG8\1iBw5 3∆q6{~S4$)h--eduRҐ0gQ5v[*dIO ~U$&!X'W)BDžD␾Pe_BH{އ pӪaKů7ckpԺ}'}gZ(e:'nw0Y;wr@eJJmYo%C5 3T3$Ŝ-}{LΉAqRx|nC[ք39nO:$6R~/%&}϶Ujɮjt,3  ,~0d3&T%Fk{O;afO MUwT7ͻ1wك (NĂYFCi.FBs\1"2fE-E1L'0t 28#*໔U&T^^d/n6,Mq(/p>3m*"  ͎ģ'xd&>VvhIe* 4}t\ Ӓp'븾 S89[Ĺ>.tZ;jxZ)|IVv_e-sXkqb nΝtW7zt.p=X_kb20I@P Gcju^Z6c͕'{xQQ|B;tegmɢG*`K< yvf09Ү%q܎P%c Q C {?h/ەQ6v.4mV0 * KzbĄ ` jI=sA&Vg*$i H{;nby81.r< #I47c4I63 K Igfc*/=7=иvеy -* òs,zv* Oꓕk?ڙ[++(;bUYv2]}V|+ L)lEK[ ;Y®-%k:@鯅H Sl*5D GST^jRY&Lo\R7rs}>VBGmp4#kb6@hF-XJ@<9ar;H-8PZ8Zs IHH{vC/<$qd&N O'MnZ% )֓+vm Ӟ"g8X vq١psb8%/纆kGXAxxIe[bH.&hZ~z@X}SUO*ﭭ_& ԔoߺBft^}@!UN&0 ըDX&|xHs;IptP==c~Z <)LqU&\|4V /A.0BFAbs]a!7-. beF/ XGnPt!a9Q@@Vڥak4`s8B:VAÿ/c,K"Zs":zhdUB2ǒq}>2>cdsYv!j:ժ |PP|bL@^-Ԫ0{ Kt$+>YXj['n%{#Τxa1MȂgݯ{>qߗ0 * 4%%73CmfLRy w$q8+xC՝? uA-Dq )*sLU2e+fCqp2 )IHL\qyš}_RceX:O*3Fl<-y?~Lz}*4qg^q0`|#Qwb*boglfGi5ʤٟ_MOfgs\"c1n-һmh4J-k1I2T p 4Qq`68|&\BXZe87NǦh?/OèSxXchnKbZ7;Mec"75{Kǜiv'Ⱦ{VVV !}=,Qҟ<&yq֖Pމ(o+;Z<[jz=-<$R:S|`gIΈ32A EI ,.DQL9^sCq ̘+U;\:^Æ ;n(R 74ȨշO3[0GԔ$w "..XFGo#c /M=drf =WH0fZbQ&S)~f*0l2=/{?+B$f+n.HEe!%Ӆ eb1QI 9EYIUVCRzUYcK9Êtj` R~\Wc A9&R(- KuNPK(3qBK`n1Iii{.1F0J'3R~ffv&>A{eԚ2$0#FL64y@3cIV6~ٌjKMTS,6n^G&_zsUՙ2K@sOShg2sB_Y"r_։Y^Tc8q 3jIۤ9Ю&jߏ8.hn$ }5ĕR)!;d{&-6Ыoz@Ӹpwvvhsh7vd/ -ԫ%N:ZmHSDxKZ{4 p uԗ>ho^`{TJ?T н$ճ\ǟ hr;Ky2F_Z=Ǘ,zoAK0&F߰}gB^?i2k>ᘱ̝stMj%id䘉?kgGc&FcخX 霷c;#T^]?+X&,(8n¯ji>s}B]J Z/PȢE<BQʔ.{u;ƙ|Kݻ'wąy07ca,r tsC Jh[&pNjkeHwCse-U&CꚈ^FG/Ꮦai$.խ461,dRUKR˻?jxRzhfl5d8|k§A)߽=5ҿRLx/]OkY{E|WcW AX#x8sj)^!n@pOI $ αҋ'ntk03sjZYmy zYV)F@lYq}.zwG*\?-5xst [3ijk{ јbпDQӢ;.y=hx0]`S 6l5;gG1gpߨ'? z)Xat'ř~ߥzϮHG=&Yh;!$=jϵLe"!Š>;^R?a"E)8tZn \VxiLf"b@۽) e9.0eר"aT&[ng lZ| ,m HwI‰%~/WE/# u,\BhC`=;㲐n{q ~E{) Nkaׅj١:#@Ig ԉA\haLKX18CnzƴFberDE$K g_s94/ovt4YtCo l0#m:a4W#"_"lSg=,9_qM`dHQ$ETlIweْ>wdNwI'['ˤ? gY)Y#h$H" ؼ3;y^~]WUM؝ouWG?)Qy%S=]jڇ_ o'msm{m۶m۶mn۶o3ܙ}󾉘7dDGUJԪ̪G|eKqԤ#ĉ)  ԧl6.c4VURr-/M:7Q{^|:xpsɏ&>&k[y9 O$z{#i4%HxDCGv%lh@}:"ZA(_׷Z7y1? ,ߐA#}gwͪp(bL&K:P$% ]D"9;>{ 8iD&wՍ;*w4rڥe+X;!xfeKv&}z's'_Qt _3:U,`=%*GO*q>&M ^bu:"~w9JDIe&.QH)kcOeX,WjQ>77N/'Sc)O:Q4 &) tkqH!Fz_dY ?$e>!u{FQcb߳LT%CBo#bύci ǪNƏ}^찪11DaOߏ uFVH +OkP"-L+Ti5d/.\ifI?;٬>l2Yvejٶ \tu4(r[5+f(@vY.XeIDm~ΆU|c-K\YGĤd IGo+'l+L}"hoZ>׈tr P9Η49f*|d~E~TӸ*Pߺ:bPD676l$z7羝XPquڴ/B=w3RҔw'DWb Ha(J&|ҌL"@|pv1gasjx RH".ӑJY$˗J;-陏&Z.cEOרPXUŸƇlu,^o vF997&:J$U?}7˅قjv|Sfrμ(()5`-cJ2f*VM䎋._*Vq?a濠DEcf*`4IS.0*4? Pg&U#([Ny,߹$XpΚ"RX㜘1gpY%1X@v`hgRF[E5jǥea`hi%R;@r>s !e (JعU7ع{.y E:8AǭLX JaPj̻_L&CUw& %ƭ;2gJ߻(P4A1=^ Ho˩ߠ gH e 咎[u% mT1Y#T]dC[ZkN`s t %bUx0OXx?cawIV48$BaXY ϻ6\qUwR#H픵dw{G@%wеL7],bwtPX5rh7~"" - P tY= XP+B2}SGGJfUy=`ӆE:c G k;Z/PBMcI8]VM*ÕhͨF(&k b9J!?]/S *+Ǜ}@XS{\/\:+,X/З][Ʃ[!np;|T9XY G(N+triK|$9g">T.IbS4 Q!%vck}>Iy A5 (MLc9K$]buTS):Xۇ["iAGxw앢B Ɵ?#c1"}Tb]I)d;_%/uTwٽs?OCĪM}/olk[,VC{E|Rk ~-zgPz\2gj'%t8|HF9ǔIWܾŧ Ek}T;ھ@?ZEv3Ñ*i\t8a@\,+|D*̲1z3gaJ up4Yy(-v]ugz  Znez PBZ3.=熇xݺ7B0`3UBx)mL(nմ^F66"N{Ơ0_&q2)r: VSO&Uf3 3[[i𷙦S_( L@"5avٔ{ 9-S `iz֟bU{,D'%iw*=+rԩ\k"E UW&Ӳ3R{}@s1ҨQ6ZwXm:ؘ9%بƦjѦKDVHӰԴ4Dܑ61]_RR1LyS]za/u]76y*PƎVUyT.]Zy+'iiXt3 =xnoi9\x"h"q۪!-pPtݓUi"Q,/ Q3z{Fd۳S]_ (i{)hW,՟8t0WTLseL?03;V6.VtrB٨PLdAq '++bʒ`Ϙ0Vχ}j;@ŵԅh_"jQ>%֑q~9'='/ZHS"sm` qFf=n@ T+I6uʫ=IFG#<[Wdzo ó+8_fqXTx9XxkoC-dOL^YFm7T[!" j)c*) z׼8@?=8E6?Zn f-%Gc85X㧣 e/if=\f}ܧ=HsADJJ'/ΤMlT笜mm{oiHO[px߽-ߟW2{ O}2@GTw =X_NSc*''P$ Uo\6;H#nqٵ~L%=;1/p;"tY_'5N_(=ĩ;kǺ.?I[' 8>"]T[-+B$J?֟_cdZ/%`<,ZG&Af]=Kl"=P* ij؏q,k3]i;*?zz'[JE;!0AY.V@Q5لRCQ_zIkHɄ$4U# ч ~/NE5@H4W  3]AϟoC20(-[W,? T"XZEa>Ђj.GimVUƍ$3/=":l 3J}j*?m,_ QP[S .eUUKVFxmuMtJ}FdVmX$$qyOo9wN O\cqG[ʏrX*}NRw+޽5cWBݩ|-ZL:BM)<2@ X 0*J6:p<4F'xC_vwqhS韫</F̘D1N:Z*zԾ2:D?pxlB?ўptbܢ2! 79@9x^G']=L?̘)W[RҊ%P6YBl,!U0lR\D}P>Ou}~n^1h82-|]in5s\Ǒ TȆf_VҵMJoja `]5xV 4‹BN%N^@wK̢b^Xe3ǘe< CypB{%"]&[XFf-1lKW&ٶ:uuuy5>HZmVmPf 4kŋŌqop :L&w'%r0DR1()QY 8b~~0 P,lg >"J, qBa#slK6bN&g'GD~K=2jZeW3/qU4MYs L/,NPhAhMPX},F)3׵]ztCXm_N`ju s-ຯ/ZYٵO2e޸No^F~r/8CpOeƒմ.p=,=H;'P/<6|@HYEJƑ'a,Q\YGS@)c$3n̶MA 4)v]xj#k-<6}򠪹jŮ"VݹؽFc\JVNuw(Jg`j橔C J?? Z/Z/YC#` G}3(йSΌm+% _HːV䷝GEA4XNȯQ\!xrǯuѥ= OʑT<ȝL*ź~ə11.ǽv]97q~!'Ry2Yw95ћ:K\]:@kWzFǻw~Ԩ{щv=t.#%]9d+=8uN5`qn6ǒ~[6P'~Q™Yzү&)Ne#h|*|04CtiǐFAμ>WÔ%U> ]3 3}/C|A$ ԅ~Z߶pRI] XK޹95΃"JcDC5|-Kw l0q6;Ju0=F8v*@o>>Sܩ٘BOGU^o[=h^ySP  ">*^~B#օ:D-@ IqU)^%5ƛ?@I=n>锍֒Nb`H7fӘc~zVvW"= U ^k*+2Kh?]W=fRI}4lDa* ^2ZI71lw|37z:+&URj!ّ)C vp,0ԁ4!􎡯rLoXnR`_}#oI*rtƋ&x75 @ʽGPU\ע!`Bim2vuVyWJY#rYm;hˆÆTknPA-ʑp_W\Z[6t͞]0N2.(r&':&r/&$L̎*if3cԹzhK>N7+K֪J32 7An\ԸX?G]lX|_Z6pFT$:nmSDm) _:$̏HK,-r%OYe ]=p!? &E+ zcS%ua, H;kgIə``h%(.љ vPE妎ݍ1 e`yl@8O6a*,TW /c#f#a6LMIՠ,il <},S!D8dJffzLcjL "If L"˜`Y!TљJr'[wh`򇁋iJ"8 ص cZ o%k2!2u n{|<@H6?:Bn V~\|v/_x .O+!#"t "*[pKgvz⌚.e\mv oWůOt>@ww^ ,AفfTB U L]\:t!HސPfUՠKdž2,h{-MLa V ϸ)>ѼZXfd1%4jZ]\q>) -!d$ C9>v }`J $e3~Y@7%M< Cj6?ZD`͞rUJ67_?}n^6󅥣mwGwKd_R1yYuh̔>} i=0;lpg:~"&p>M!H,̇Š<$!R/=2;Krt!Km-z;(y49~ݯIJ9dw BrSQ|gk97y(i*fMIMF'S1ۑh]ΗRV /=H֧P -'[bxBG6- RDgB"T=dGME`W6-I1$ܾاsݱsyXW4Dž ɟu%ndBgjZ6}#H%y^m:Oq+jnrDqC%sa3oiIRJ@xeF}w6t dܡXٟ%S:taBˉ`l[V)%+:p_9DV^JP;IbT'#sIEU^Di!/{d fu"cd2 PBPSl^H>F?>!;gܼ> ӻDc _ddž=VA^5DUDzc>Z9- tɃrwGlD *;I[zo1VDOzt|*hm-$Q ֿdDؘ_()類3r\6*"Е3HUT[{gs ( çS-,Lz26J{גۦ!6NHӻJ<؞tlm{s|=Q|n1|n_FQ?;g}{St޷[_ͷox""W3'gez{#gÓ._$t`uR:cw=aذ2Ǖu6Bx6/P o;Rx1%D+*v9+:ý*d#.zHtgt7bBhRJ~g&s1s;H ^C 7)a¬2fˆ_Ҍa_/f旓 nwp2gIہm6,eě5 'B)U8,Hqo*P($(^2t +1 jr3WƻRA\R/C;_z1SNN_s ?Dzډ|t=(L+;FXoNlU7V];u+Kvc f$}]NCS`gWvbS+cyĜ&ZS`o 1Xg+3oJ4`U)WA:\!?/W)BJm89BU =:EPN3Y>֕y]I \>ϑP3Eb'^>.khKĴ!5$x(O;mc#M^ d;0U/7WY/dhI|&$ 5˺dcqάcfi' o}8 !T^_E~*-~Kp±¬lQgy^ݪ(EqI'tA%mq=pe!'kde Pqx!@  =hU:*)F<*h%t*e5#;cDFCf'MhPN)R.^iCI,B ED S;S]D2度VSv4V[ * >3;^ЀX0t>ͯCT¡0| J˂?/_/YZ1Z b w#͙ӓ4URV˫~Vm(>f]rNDO\GwL Ay}"{@z1MпV!} cIBsD-`l^s0%I\Eɛnl Xv 2,SvkK$ ,)؛(j: >Ukx>!dс"ts2}<P@ZAǁ+Ԍy:H(%~cV0 ۦ1 J!+,/aXC 'փE~%H-״t OB} 2E-[ =!/^GhQ#mÒ:Afc޴hhUCuX \=~1Q.a}u1?F<Qm6#V :$ ?חAy!;t<j$l z[c2ԗ{ ,S?mQK#|Wi@_KQP kـSF8u^g<6xa-Ķ^9G r?ưT¬-O+P/O/G~C -F[$5ҏjN+gg0tFk:PKh) /Y;"2\Rrnx5ۑ.H&@Xɾ7f729KRKRޘ5X1݋G34n~Ij |\M\ .G #\6Φm~][==J_w >Ff,%tRs-o)bPpÏ I~)߸I`֨X8]GSI+n&^ W6P0^JhtcZl92@2_%LMMmdHMH.u |;%a=ݽ؁'ݲ*@@*SB^IDۖ$H<荋p$Rm 93݇ͱVoQ%-"ys> Z2 #7kQ% z~Uʄa-J׳a'Fkw2muHC'dt:ouT06bM٠l!T$*+`Qshb(CӌH`NMawQ$|RvqLeV03l*yg9i~6 }wXkjVgY2WvL鑺PKkveQ?Zl5F>Z묋1Z'eM4 OŲT4xGH e <]v2U9xT@WzW0=dCz\#!T0Qtp٩5 ?axh>kC^/t2G$EԪ$Cr 3 :tZUNW/-,Om+Q Vu:R}Wk\؏֫z%aM2O]Kd:oWK56—E -;d-MR>$z XLPhR]s0̶ǚi_zʴ6(Vь@|H>}niyL&n7A:*(Af6A %ǯISHO50Ul Ry`NTr*lى8 )7a~KDO Cy,JœMҲj .`PR7'Ҭq #%o-*s gFڣ'_ T'h[r|rnc870 1F%,Ye7ABGEXĹ6*BL'RDo[*(#ؠsq41SAinC+8A#RgS1 UDI HÎ]aT[ipxߎז93@4Ԙƹ#-- aM[Dgor&P- [4)n6Kyp_o P'fʖ"F q8+)-_<@l0A/j]]3쩊wG1E_| LVk@d(GB`KI [F˕|PnHڶrE/hzL)*GN m$c`qdEBꥺ&bHpR3}"wƚ 0HGU};}ZQfIKryfߑe@K`e.`.H^uFp6vzVmT%@/vDQwQd JZ`'m]P1*~d@ttNrF P/ֲɒD^)B]agW,Xz4v=٤ojx)j,U+0^*FyNFa/I@ztKX1OOjl]E {S NlĸTLZςB+7ϒqI!6 8{lB|lrѧ 8)WAqcO1 {nF}MDu4G:WSm{=6?dkoQ6QZVSV Kni "Y-zj.6n0xerPFa&>v':b F9l9[ȣUjCz%-v1h2dnv;28ci:1Dnm>w/{&UփXF5"& 9eXLp\ew,w߸ص4I;/%rF׆K$-3v)2ktjw~Q-sDT,yobiOu@^Z'OM,.X'!+ت$L9;pI԰*1Gپ$Q6J eHW|ná}[6kFj62ڜD14_Q9)FR!KrP|>dYXmp2z-xXC<4T)YUFoɉ1xĝ]֬&Bc5Y D!$T9A &{s}vOr;%Dbfօ3gaAZizyF$ǀߗ0QZm~7:`is8s\@AL")yfSl2ux%uS/8' 7U AO jrM;޼,4WLCcR}:]?d6kaū!_e/+_Jr)3EI{hآ'p6GI~8PSSs"`y9M,G4K/6{zrbeN]g`yTI6UPSAZzZr1%&q95hHR(sS6%pUMTb%r` < pDTDD9[|Ɍ 6!zQ nXKB(Tͧ~bP 1aOhZpJAzaKmtl% t\(S;Aʜ93Ӗә k3 Qdb G̤& |2rTOSxkH){JZ?;S0kIrF]R3ڳy[p̭ %4i~8pe "C[q <<1/ؐ܈~E4u_Aa9(%=v,|ƿjH?}Ttć)*^)WQo8_@OL@]hQ=L^.߾7t5j6) wiA>6xIOKꨪE}傽L$X&`, I,؋tv |ZsOf@i$0f q & 6k(o4nA*9.).5"d??E=90f6m0iS彞8{}{ a֧qjfIq1*N-2=Pm"&$c$jW1s&CZ p:X^VSi\J>oꘆz>BNVⓆtJ#b'a i) *kH~ p:PA' ]\d^O4'xkB^i (ԙlA o1{-9=zn5.V{Z2վo<(gV6Ʒ̬M](xw8Ap1Fajp{ߓ/C/+$AR3v#qˢa,\TC.ZW}1)=bq:"Ѫ;{ZBTk",W[zbC"ҵ pRa?t?*bTi L,'7 2wܩ~!Kua 2C)&Uѫ-S,agFTf:s\5DPZ|3lѮ*9(ki{`CVߵ'5?SQiF0*@Fy$#P'K^խK S=iVN)Z5p߮OTq7 28'Mb=$('epJ 0<*~XYyÜ e3Tവ7lByT0#(SZtDR^0^ʶ*RA?ڦD&W^QW7䧭 }#\A,J.aԧ@5#2L7;\vp)sȇͻ8Fn vuR,jݑxq;ޛr6M2L0Os9ƷeRN%ĎV @hgDHtΊFfV X06G,^T44Azdl*"/z؝MnAۥl7 Я~F,zXX2}Rd\r_oes"Y Јw44 'ZQkG腢&fGdzJ'P@cDPS:#s2"%BI,ɹă#h=h%^%YPDM gjǔ\TA2(J `)^*+Rv:j]%܋@LL3HU, hF@B=eQ_N%?v@3qsLv /BׂV}ln In{O6PHfFG+$o1`˭E@2C=k-1P3o'rvm)#MgHժ+jE8,NzZ$Yr {9$.]-LN87g@^TU!'%;eғ&Ide"[dđvHِ9XG ݠ!~>D48'+ &JA?D|ś^GҲ9`TYi4`kToða5zS(|?B-)ac$iX7҂^HZmzYc2ֺ h*TB䑒F;PӾ)gCӲ)*6k߻ovJy70pn\爫7NeWJSpRnS#-빘 ~fߔa,v?WM:}jDm1z#끸Q*j҇(WWG/I+XX+RJšWaT\+MGʺbw6lGV zÿzuP6XJW=Xr mQnI*~\,7V0{74^8=Wm+7h9%  }XYAg/ d#ˬ/D)X&9$!I xJѥW[aX |!mɱ05nYvwer}fXIll+xqђ 2RϥԌL$պ%@<i$4[dXqVG⛪zr,Lk򪛨<{oձIozHukܙs39NBI z!Iۮxis\ÞղfDeEx|Cm~J]hT] Ʉ-I).{Cߏ7 [4r; ҡ@-CTU9PLFb56Q("JTDѡdY󜖖88'x҅l(E@}EUH*d 3g`ΏՂ$'f7ASG5vHՋqC6} <.jAz U6o/$ 'r7V'n[4j'j%w , hmx*L!۱P9_>E_PX߻Qv~:\*DH-i`>fJuCEnnҬG֨,Ш$tGqTU;w[v/)T. w'6[SI* aTVS+R y4 GICCE(Y3MO5@zTO((Ԛ"5H떱fi\Q@Y\V8'q@*&\P@T)R(N~GKrLlDeǕ|tI = 03TiXeJK6aālw$q>W+1)6gr9lE>gBv"' u;=q-W/#(yE;,r.Џ*yP:!s`>B R1O0W@&-. V(AzBTTfKc!@}R~nd@-O,"x?>;嫳8Ϥ)Mm&8sZ5U4 R~[d4Ωc+&#H>ya8ϑ'$Uu2#ANHmu]`\PZ0=cE<_ wVS.` u>e:-kDa񱍙x W=HwJ;E?sM5d81'|(P@*ww;.BsߠAlLEr"hԐC+Z__`'h}.wNuĘ*p("&V|YS #2xq؁:gET4U'w:,h`\$coS,ȯn:ȃ7?2UV̫y<u?l1T F p hŀqVR znˍ6JB(%Axw#~q3Eq g Rm)LC%ZDDQtzvl2S.gQNi0FEDv\m~xtSuFUg׬׋6a ;NɁc"GlGX̀YJ߶Jk_Zٛ=٩XӼkU߷ە7̺C^Ew~Ks{?Fo&Kqb[ ~釼IX/uFX^AK Y6ZYu.4(k@G|/䵽}jQ[X@ {y^Vr4 mn$p?؍ʊP-}=Wvԧ"<,P+TZ\yS" x>Ѷj MAK)}"|o^ O{u{ (Tk8녋@BRsϚ:i&iರp3U'z_?%-@6x6=K+V~}2B-ìJ"طh1dII H짧_*(lL- LL-?.YS;PH>V 0)^nw=),}\ sbDRC^YNRy5p"䰉a`laé98R/?o.ӆ6'VPKV|_xC=_>{f f2dZ5bo]yAOT `/*UvT@59,K|x.~m`R4A W%c!8mR԰ WJ½P1i = Rr&5CeBG}V3{*lkXtr};Wbr6MMCP쇴@䀶CAݝ18>,0A[ s,>B}>sv,+}x&3kP!BzGH&|[& ӰEX޵FmNOH2W5ԁٌOJC F!.0cUM0;/\)2ccWLݻ-=A<W𻿏:mR'{}4 U{7X<ѧgݗak+wks~oHrKS:%AJVmjH)\U7I+%9ru[c C/PC] tWͥjY.yr4YFZxi{ik`>6? (bA|{DzFܰ1߀2i0LЯz۽hQa>)bDZ˖-Uw-}4( @*Kv^2kvySrx/&{(fsW:Q(a~lzb=c;z?HK*Ǧ6]WԮJ>E{݀;݈2dFaӪm˒3giTZFuڝXaigtmݮvݣq3Emcܚ6Fh+t }:O]^0 +A@*BiY~aǥ"1c eZ-q"ѡmiW4:Í klEdr##nm&z}kiǷ%"ˣ$XkqLxmᴯK,e{.͑~ 2P \EZIp+[}D-uYkbV$|zH$G$oVAJ~B5B44 %B |::KSKT/h%~v0irW~{{5R">+3Y%OVn%BV' NS0:t{V[;"ogA䎌Ng~O(^xiZn ,{p|=aQn[T}8& E_xӯ9osvJaX p VN%.rXD[G^I1oiSa4gX%-P͋P/KAܗP[2v= ~T5h;l;,_ob/ֻ exaTe`T)5-tL*$>LE?Ӄ' N)cw%H LfsJ?/6;?_mb%y,8q:.]H"pKiX۹q-wK"ۗ52* RnRS[ۥFf܈iMŧHϋ]SggI}{N|eZ*\]~/>XC0 zI^yӰ#h|xmTA*  *`DB\S,Lʹ.v&iS_5w-Mc+g._c lj yeu$uɹ< IOߋ;HW?_ @'gy*/?7_S-yܙ&@|5l DkڗسcI B必Z;(I-ݎXH"8O$ߍ*\*K0xUy3Jw0'/Jm f6~5Ing0'tp=KM:SiU(4~t;< r;ԉ=p,W8S4K& < V7+K&.FB\d+4p7pӻΟ&9'AT0Cgo 6cjo)4y @wIP ~eJ1JXaciДp&k{~%'n/Ok#Dewx 7C`V[GKy`'"P"`qK"(&2+w|4 "2o27:6\DjGl[H.~k.ʃȑ͚ğ@m ɼMVdxy*J;m 0[A{ /=GIt`D.<]G >qkHm,r EHnU&WVFmX_MLqǿs+<9=]X"x4YG݈b}01t݉fL9$"0zHo{%"/$)WT3^^'JPmuTоa-ﱡ ߛe rgœ͑A=*|5Z8o $T Xhtٳg!:܊ӍRC,7N|cw tPSo>CZttnd.Ѿɬ_ewnCgAiݜ>|1D:4ŐO8C2,ƻ]4܏ r$4-,}aO?~ VG1/&ՂM)??@ ˈ(*az֞/nHA~„rq#Yzݷ;R]4خM(S OG/H^L,w[[aOF<A2Dc/wh2%LklY,],_NfKGk-qAL I/K fη%ro*Wo_Z||‹l;΀#bVY>َUa(6Q#}ay82j ёj#n#\l[j݉I3VU9t~95-Д6=N_RI;iN~仉ZLMgQяrDd?{`:9,ʎD1YLX(aܦ+Vc%HmO^O=*λn^p |nxW:LvoJ7?SH@e5[%WAbX#ʕuG3ۭng@\;[fMc&J,~!ۦ96e%嶼f#fo`L-Y\lɠz\Npx|w죿9)o2~|~'G+j7 ) #c;֑3}oǁ%VQeSKc;K2 Ե>ʛ=zГ}-+4M5&A{lƒfCaWL&rzӊSxޤOt(&d,R*UsfZ` 2QRw+*F .Ŏ&{<`eaKiC*M0gsi'̶oFhN}PlNNn=h~}tz(_(vMl~E>P^aU~T}S*e>{rP\Dd~ye~ֱL\]51w4֝LsLV^Dcq?%MȺ_ @4+M<@GǮ0/ lͭ蜌ll lm-i milL_beeo#+  #3 3_>3+3 >arvtw )\NF oV\LH( /fo$hk` odk`/noj`on?n lf&-ihkMZ7ks74v7065!%77!Te463p0VQ240"vkIƑӍv9#%1> - !=#>- 35>#==# '3'+_oF& B"ɎՕ֕#ѿ,;:9co`CHWw6PMߎښ_ҎN &10!/\Ǫ;NY󿛢o%dklml$.C '=3;=geg``gdff`de``da.;  0#00;;?=3# ?ǿtmft)`ddkk3uu4Td'74os5v0w16q s7f@/({ot_1ߜqPBJn[?}w/$EW矜k_{a\Ɣ 538ʫsCtT>#/dDqHזmYtN.F,2;V:-3fjk'y>޼̛5 <  )!z@UW/3MsgQ$ǧXLh+PGq0VYX fFܩ:IbL*^1: Qv"bQ:ٴs1#3mq"ʢhnnF?MʷӾ"&G.9jȎсᇦe c{#M\f#ekh"$ȣ >Jhod5ѿ(]az!tFF[eՆg-ie6x ?_1>-:4[pK6Vx,Q8s$KÿvBN*(3}R ɋ7AZBfp/:xܗIDDDorfP'҄uu%Պ/If O٣~pr?6ׂ|}iw`ThVt;x~ 9m U,EijJiKM,8M:HͰi sUE{ܶ$6Beo¼iL!:=Ơr{c< ,׻" OG>"MzgB 'I$ w@~Dޜ9??Vu6}C*TGc??Q \'S_J|s'KB#]Z*!E~謪F æW-1v,.ꄍ[&CBo0HHTfcx.PVQz27z_+iB3K3 N=ĸyOf'GP2Sb* <ݦ8 sOΒ} ioie>&(AiOoK`OFRXWWW)qQlV*W&JD UYvڦGaТGM0e}_]xB8=mg(%moۧEIN[ %双(Cvm+c9!S]7@ Uϐ1Kޔ C0'Rj}{g.2#a aEħ-tRc ݣuwNFV:&Jy`{Wrgʡ5 PJzm$)%$(h ? Xz7mYB}+7;> ퟭ0o#JOE? ,:W Oùt957/a4FCPF/S׳ h`y6DѨ[x*~$0~ՒFa]d-vɨˆTUF|Ai -jZ@ڕT<=Z5Y79ChPzVݨ HIZtЗ0Tm;:ChjT]G$bi2z(9BeUm>(6"-+>Rr ۴ЀZhi[Z-RYиf#I87%:4~[`S)ԅ;w@_W%eQ ]DB뷵Hj|D%EP&m}TWi.q`izE& > f="e=bSDAAJ㴅طvު엤*iX< * a4"lAcVÄ%h84'?)8gQSuQFA"iHx$E g}`08{-UNp!Ta˱6䀸afǟd2R_BvHypI`:ĊDͶr|Uk~\iMAߢ^ Ȅ+ّp`,Z7 P?(D&ٍI)mY詏Dj_,JEIǽqva&Ԃ\Ćػ*@wxHkshfKM]1 EQXu?a6Ip],FCH1H30AO fO(:Ҍ akNͨ{Nd"znl*#ȳ]9,;-v"Q˥#iba!@e/ P h8UVRR=I3| nƌ5YjU@>-HeT.h=~u`faHq} V<,a3 |ȹcAY쎤PDVza dk)(AH 4 VA02G>Di(9HlKTX jAB)j&?MԸ663) 2WrRn3Uxj!IWJ@' l8¯`&(ȪKîkb 3+q ,ZRqsϝ޼(;$r+$>ɝWk(Bϻ}X6l*bq&ҩw95CjܒMYHK5h2i\LrVHٷ|xmcQuRP t֡X 6(w}jB\DA{0 xSIN1sld1/Aoy7Dդtoi6-ƦU#fN4\G_eOfLҁB^QY7fN't M? 0<#DhǥV[&̺X@vLJ&/]p}L8M8%./Ҷkn)\wOCF^^ j& e% H*pBK͵jQa Z-eJ7*t7('a\#i'Xe=T$[*i7uqG0!{4 d}E6wyfŋJ93;lV16{Gwbb_;K}{PV#Zw',,6ېHnn1_ 9~$χZC]kAflV;B=GZ(f[P6Un"KeUҡ|k@V\8-vHt඼% W)BO.Gr?Dƈd -W!(;vnhўf|Ł HSKm}R "J5&`#"(ؽW:xLW\`XɇTTش\\rxTj^/[KK8QU Xb(XIT ǹ 4N6஻c3t7ŹVg24 Xݐ|C9՗ˤ<GXUb"nI4DVTFXٓzڷRA4 \Tfpm0h 6vY(!R5.Z# #>n`p o\XATKl1R]O?t*buh̠B;)Fz^l[~b: $i,oLDT 2HPFVBJEؼ5ac8>]WIТE&:q_8ޔUΊн=-Ȃ>] YOÓvݎj̝Dx0n{~c)籠U3Öo]"F\e[bsŋ⨺ LM *Avc6eH!{ŮCj WnۊLׇ#(L2)&k*_N0EٔmZZ S9]L^qLr@8#PR_I>H~q+ [iV2%c;(i;Δ#'1))mjd&w;,j#;ۡ(BJ8?͓M:A.5)qSy ^'ߵ3\0]X4ѤH ȵêCP NJwA ds=)ec=oMTݲĿ= /v n['u_jģ/Cn #Oƞ9#m7/|]dlKozfmCa խiPڅ!կ $8čyRe+WMIhqA`1$eP:)R*z#0WG:}wUtp+dЅcI%M["Jϊb7CJRViwB_t.j>0Uweth2HRD#5$LEUw^YZ ,T3J9̕S U.g0kQWu/geF3^ϕ .Cݼ8 h-W̓{Ttg8l1Kfjxd6(Z#@^? jnaQw܍PƤlń)/noo[4p8TR}NÒ~\&аLꮯg]=Bd!WHAbA<=Y Aoa̸llZ?ՓU$MMb"ӼA긼xR:h18 0`[ph)[oNZޔU&a\1u(;%=}/ XLP׸Հ_iơ7M-Kw P@abØm( Z N?&kVpYaY4pS]p6e>ٻ:Ug(#>|ljCS_ǯ#-nM56 mlc!=50Q}9k[;N'JD<+*؟3m[Hb3ApLh]xB7CuQG Ch.{{Lދ"oHrPFyx\/ .ҭJEۢVq\[WhZVWkڬCxq4_ ]ZwP%AXoBTa VQZ: l\P<x Rg-* e*l Ľ^(Y!nx\d\#gzfb@C%+Lqf E5 }^B2yPt--( C3"eLǤ .hl{9͓( 5@7 "~D޶1'4B;%~k(-qL[(~[2q<)C!hմ̴Q۷hȨ@փ-+"m@@zߗY ٵүxlV%j,N3k84J)jՏ]K@M [#"'}6=Gط6͋llܝ-7Cr%^ s 3ֹUJ0J&#Jr -v F]ޅ-W= a>V":gvUah)kꆈ“Mz\7k:7%Q QN "y5GuqOνg*,kkVzkYw7O8fWMxI0[΁nf~kknhF01jb rbWMwχpqR5eJϗN5Y3 ľ/lmM'M'p`+g#_$xUuvͥM|Cܖ* TBĈ{Tж#{^GZ5Җ^r%%O9Ca۞7%̅KŹHi +cա ):%xG ~ a+}7]Mh!ζOH.t7BT WIma<.&>&@΋M$U1q=E*,SĜa+]~gGX!5#mQ&jTUP~%TV+5Z#Z5Z UA{EK4׺_y9<<ϻ^*XG9!W:Vܽ xv>6pgQ} Y#-MpXtbITgeFt>$r'k?}4F+^>KښqH5)fa!bh?7|VJ~v5:LaC5db^BաaX;U4fRk+(I}Gjӝx4v VcL;2^w9e-wPl"u -M=+-SCל;4ZAԈHri˿^O8]qݥF]BU?Z@uyܾ2lϯe 7[HgݱacyFmOp<&JςO{ԫKDž?/;~=wy5bSqWD@#͙ⶡM `ψ5*)T?bW΄6"6Kj2޲̃x єJ=Y}Rjwr9nvR?$ق;(M6_AMu4VHshw95U?{*!mSebːt3dVg^=8gBDh2dMrE!nSPLudRȄ:M@sGT L+%Mn,CoI˷K Qgaqdr6V CF 'Y>Ѫk nTۑVk5O l&-t="LG?iD,eUh K B}}V{ihE614![^ Mo\<ď[z<'c\PRai97){- M֎2{ c/"l_ [sF&ҖGsAT 5AO02S2ΨU"PCqNӜI[ޘOAZ6BvX^Lqv Fci @ӗqwtTDeSmꏥ&Rn%(F8l%G+r緀/JA %pN+O6ً g?9YCxA \OqѶS2Ѡ" b?9쬷Vv~/!В /q`uqaXc#}EM9\zu)< k.q`쉕`ci1dſQ*'6 9Q/ͽ/B{duN}^8#71g&mqs?>{ D& "Ibm&JE9L]Ů$"F9ZƁvi~E+72W3cB o -5$t5eDQړ4=|5e΢^{FEUG sNYċtSpg4{~rJmmi׵-yr\ /G&̐eQik>mylK0ZSfRjO!֨> # 7p(†nXz s@C}h;RP\R&6[]Z&O_N ^)lA=/"_8Gu'DjnEW\m3/e xδ}qQqpe8j 7P\QEFfIM*SD䕎^]q}[s!i9u# -xSވ>`ː-!Ʊ/+bt 7wN(UQ`I60FSq7VȚ\sok=wt\)V`{Er Fv:庢mop+>C/wd>K,V`UTVs)s*K}* ]n##X4a5* d0z c4d4tȴcfҮoFy!p2Y L>t" >LbrY2$]mOx'`EsHO؆؉0PC?) =z{zxFYq6<Ϣ=}V:FUs&aZ2?ts-UX ]:}!Uu6Iw@.ax=[ðL.[juM{.B/:\bJk9 R>Ae2B7 _,ؚ5uY/A[N"x 8Қ|$P\5c^6B@䒸PHuZSQP(6LTږUSfP3s'!VMy7sGgaG~⦥|w:!H/]- e]* JnQ^tRE,eG 9+Cs'xlA0@^L]J}ʻ-F13C/]痔iggq>!r&bD=Sugݜ*y "jʻiKNNSPx(X"Ip͏ͫ/Ti YwDH/7yzJ:~A=h>bTHmtRn=g,g_3~|pFVpdRt&6yKqewb_M8) ˺SKl$ks8{Bp4;mud1)4o<}Xbx8/}ٙ r>r v~bօ~~_ƿ$M'run(); } catch( \Exception $e ) { // this handles fatal, serious errors. // cannot use stylesheets, scripts, or images here, as the problem may be a phar based problem $out = << CMS Made Simple Installer : Fatal Error

    EOT; echo str_replace('[message]',$e->GetMessage(),$out); } ?> *

    yq!$&0«1/wbiUzߵdh~pP+1R-ߣRɜ\t)wmÆb#L}@JoAEҀ$Ipɼ{ʈs =]PMlo?~|l<|w=z76m3F>mv-<u=8KiM[8)?ӭCý;F'62yg:*akK_\oe&L$@q47!$5FSN@ˡ6"^\ &Հb^+fEIoݾُ*nFhc睥pȄ{nYVx~hYPu/WrPVMZ%q3 9QڞQ҆I?ψFCj [`5X|KZ-tYr?2Sa}WesI-69/n7u,.9CQYϒϴYY뒎$Na & F8lYOh9ɣ] 6r>,OI!-/SK:(Q-li.ЈA0t`,nдŃB ~fGOJr 1P(@*i/0t8%hs#rWLj"I皟L-XUll>X<| |nDZ1hSfYeJ`~rReS.tu:Q; >s _s?`6[)ڱS mnf?bq\ q`\cȄ_N1:,2y\jL>b o C7m La$R|0F⽇`W6:2t>?"D+)ZI)GVM =rlXr, U[yn¬By  lƃTŸD2x r: >w8پor300H ߪ"(ah-͜Ȝ/ýk۝Q︯߫\:FF9:\`d.쟝a[{1ix=ղ5Á?l2϶E!rW^8d@t,YU't=`|Q@z_Մd [yŸs@Í }w;Nۇw6Ű?*Q$~/tI끤-|͋γg~~Q{%jt(NبSz %Ivi%쑽MC9)́dIEweTP%-Pè3( ƥm`m*8E-`=jx>*>SzyWenK{$]E4V?h!q)k/ۮ(+]@n5ّscߌS."r^}{H8r<maw/bap{pun Q-eUx֧᠓|γTV-޵󏣸ߎW˻z5}ѿڧ}Nt8^k=?޿W^r/xXW ?u6-2V?,?.O)jMISm45>{{!* m2m\VgU&[V jȷ>OѕWk?juI" VHU!,rV^/ژڦL:@#xbQ `ާ̹zW?EUiȳ%HϻʌREvJۿƢCH8mHJ/|R~ .믗:BsNrNYGU@/tw~0<O3 ̿XVhv?.ZH+$#ǁ ! R,dw)WkLn[i ^g?/`ba*sk93{:!'Y6G}_ؤ%cm-Ѷ~m$~0 PAhۢ@S>,eщN$l@Y. ql)-ӲDh 6'pI&qNZL')crvLvUŐl ˲oXXU8PM< 7b(:'jMUSi&a:4EjE[MH 0t2ryҊ#aæt/ؒuhۇ?v_zj_ښSۺ ɳ a6NF \v:J[Ԁ ؊{7Z.)cZ%Ԭр6ofJcx#3SZ(M y2¬`5-3Fz&΍$}|[9G| > ؄Z+4k0q6ޢI#|o[Do&6\ Ow'*JF4L6N@,bVr&_ S3оB$Lj2n,`}= Z2S<8;e)4OuMKӌLDQWo _;D,PnđRiBK 1^ꏒO8{L':@ByFd k1N)80*09-[j@/ԯ^6N%W ^'oN|@B<2}Vx!uTw*+_*~\(>XNfK&;Zv:7f錋۷ׁíGucSuјq3Ҋ*]`qreT`jJ:TJW, [CzjF~mrOvO"י|֟Af5˃W̛ tT_@(J@R)k;TAbfxug3i9! 6 RURBO* =?x_v\sc0>iatwx2]Q-WX7 >MSevNd3ʅ㹬 (jh1.KKf6OmY-_ "Vu&tZnVn<.NTCԼ0r&Æ湌 _I@,F͓{l7/fPzy}^`kOig14j+ Y f{qԊ:\(s]YBz\U132_эdS?]Bmga;N$n->-~-~*dWEPw@l=RV]pA\5&uqK,|7qO\l[ [i;bܒ 7>_\&6lfW]G@)mn,wmZvN^7' DmLC {u}#lj10DBnѭ97*=mL5q2k#4HGZjВ\U֕qor $adn*tQ1‹UĶnG猬w+j1_ٝ\D6 nɋfdYѧy tX+ܤB3a!~E`(C׎Q|a>ʨei!݃*j8\Դ}XIYƅY9% Hč|3>#f|-TK#Qw{?t%ɺ^+-tC>S "v ;hU2?1߮td{^`HzY@z$WVk>xt;$ex:zɁZQhG)ī(o mi;瑲 i,؏)QDޏ^>ԎuեB%RΎ : W1Er$~Yv8Mz3¡g(ۘU]h]aU :f|cxO%)hC4|vsd X}N>нB:9'$M󟩭1[*zZݪi^[o 4Zճd{h(%aQ0zrm;Hl:9aWH1*+q~ky 5|YNJiթBaub3] DWQ5GVi|AI7j9vE|ߩYJJǎs~Z.fV,3VRPQ ƃ,GCRmHGf׀k6Zk>lҤu&T+u+Uf,Ejm' :2V^ɣR~׵AJ9F|FuS;BК 9ʷ M= m/ ]\j?uR,pu"pnm`Е l(ԁKDbH#2.CJF"#\*Շ ?bj(XV}aB'PbDAq;Eźo7T-iO"Q/S^\gZr#kn}Lȉ8N,FQ4sp|uZ^DipBܙG騿 ]Ѝ kSN8Ew'G#zrhK YNmT[+s-$ͯQ# DuA'(@MQ=M5IF2*lb+]X'm4ҬQsZfgFA {FD#h4ظ$[86?mU2-7 ͳ1g5[f2=EG˝'s'^ ^k9fCOu,7BkþQɃ ZO'B@}9d [9XfBqH=dYrmW "$W֦tA\t"S𵊍 oVI(S{::6B`f~vpuj"ta$ƾ6Ŝ^ѥp֓V۝SD.υqmͮU?Pg0" BhH8Ku3Qe,rֶ V1@)3pSpl ƆΈLI[oxq,1ޮ v`Mv^uD~yVħ"& lEcKhG٪-E 1UѠe=M]0q#o }쒡HWr& -C8ԍ TL3.g(rW sI9p (!+yAkZg stpFeEϘ_z)RoBJa;%ՉsQMM͹^xZ9}ʬt.OCMx*727^Iv)y(\J+ *gtN9:䋏qeOl\MM]ɛ3zh\7!zKI&)Jm6}JmqX<) pgÛ *^Ր+ JQ*nR0N}'\D3A֘f?VK&..j^q8t )|?bIzGk6 R_H/8LOZoksz1Y_' 6oKFL  VmNx֖ZqC[bV zs&EZsƁe3\}dҀ?׋>.QNNq*biv;c4ĉeHҹX#"l%\n"Z z\yw[0{v:d)Ij=lPo,8EEaYs cl8̩SR4Z:n"[@*W!!< o8]*ePU~(vFL="nhml.<\5' Plj* .b\X`N* d2#]i͉ATXyN$:G&yw{ x席G5)dg`Z+y홢{K@5]02݇ ⑽{ ^lchXSkx[ l*EE4jKrj+2jF+;0[d%`odZMq@?bD׿w|.ɇ[O+6b{Am766O3beǧɠ쪠$'aJ*;jE]@RsŧkFlR-vaԱ_L^n U|)|Eblrrg#B8;tȂR:H^yLPץq#=Hja[EW@:4ze~Uf\j&ϞcDs}%LjEXW>Vl[ ]!>acoBI& r!Ľ@ *]KlxR lP褙>д( Y\&H;צۛ8gNADYtrs$"K-=G`0nB3L-hO% o"8fcE"V"zoNaP|rE`WeB Ł4*ZZq`+%]h]?AN (('iQ'mh,Rv X*nkm"J Ք`S*Bi !F.%Obli7Ry2O=_^dS݃5v~.JG!m~(%qFMi7WK`(_àiP= (ޜ 8I\/ͼjV?SNT!z4VჹW]Wܽϑt歘yd9^ӱ0xkTDT f5Pr%Ens̼m[];MU0/ kAFV95B!{Γ,/9^7| VG`J)y$a2HF423t/jcoeJw\m x3{ i ݟP3,o}  ?kv[;u!PG,'fwTM&ZiXvŐe_o?no(̳+`o!*ۜY,aK(MdH!ùDM.;x")`12W2C1?tȧ U |J;*Uap\Uc0nE7؈z_F2)٧> Y^Aܭ+#Jb:M0,؅2d=חiP S89h12*iKF m$ +Kݡ@\]aK \//@^zJ1d*U#H}oX0Ѩ`jPJἱ0zoԛ\bـcV2.r"nƃnJYh>-X{ӏFCm MWYюSN{.DKHSYU,l 2(sMiwZjBmٸnEBUŷ֗f(9&A&[y`܄Ю2ko;B2XGS>*){E2%>Ug+/1| %*et= +[l~MڕވJ-Ec&倓ܭ"dLu3BB?M zUL[0w3/[=-T.4S bVGkk%QkQQk]s) ACWYb alv~e N1})gY(,㣗7"!.6f",*W P^??(n.-7GCкvSa#\Z}xsXVt%VK ظ>~965A l+v Gӵ}At4o1Z ]Hlʖ1jt1rfZtfkf%|d{"|"l4$5Ztw $ʣIguFǶ$dt)FFI)BLUŕdCwǽHby%{aMšLjVS N;7yCA+92?v֨TTΡJaS;2ߗ,^d6l5Z*؊MOMEF?@ўaNN%#ة !fb܇|)3߀,j s-b1Аb "w&HAHG~u]ZQM#$F y q_&ױi-E5 Ғd(^_% 9)P ?5 v8J,(6A Pr렯.ęt꺖|"T"K VR+">JrSLT+Vsb16f~k2#`RH(#SHZT[[Kx{]ݵė U)c6!@;6 ;t$ nqJYʉ*vz._@=+:$F|q}&\ZEoPjp?5c^2)pocP?aGdMi4'Ѻ1M/aͪ ~/Ӭ)f=N(<Qksk>ٺ5pLc+^olG*X(: E8Lut0cRrfL`綕1$C}d[[dߪL )m|dm~:yBE&w ]M DUv^+wi:W>>LhM܉iץX1 =~A;V2F oee${ b9np?A`Du?HjPAAЛߙ>w-ѧK{pgY}[gO;j;~R"ָ]hU. FBQ\a!:$90Թ,0uӡwKεMW=[X2& q -/\ְgQiSf aٲ0gKȩPMPsjXD'Ӥ]1+0(.{!2^h>N~gXaA, iml*2\gy].b%H{;MД>V^ںHd ٔ{L])iӥr *u &i/$iI=׊`48T}J+Pjww:Rx X83Ru&nDsu&whܻwU@mLZ)N{ɳ9ڽؾq̖C -XUf?TVK_"zؗ⬼ȼp0 ~Qk,R)NY(HSe]HK[cNEoJn鎼ٻA.F&uQI\ heF 3|#^an8e/Ķrꐆ\spVL/-#Z)ZIغDz';ߢ p|Gv`0N>>G76c'\\) 5wb|1 .4{3 Gߞ.J]߇5'VʲD[sfHxLsM/VZs`Hj6:HihҲ]"t.ͳ̻".`Eq8znэ <hW$ƻFbia ş*Tڊ۱wٮS*h)v,|"S?X|:\:^@JK|]a/7M+ ͑sƻY J\ܧ#N=tCmMgF K&Qj8*$S82]rh #y0;F(Z0 q&FHO\!&ӂEg_ &}.$xf}dR i& Bh.ߤ/`I&kl&Y l*Jqn8uǙc0(vn8 Իu!R+e#\jx c36RpI_FC7L3VIs}fDy~C SU(*!*.^Lܹ\(oAFn0xRxs$sm-_/@>zs{S;^^t? 3iTGhE!BQ|vU+{4$OU#޺(MtH[Z@3nh9-n6 OOZ)5*\ \fXˆ!,R8XA ,y8u)ANy2LIDԻ߼]vPN/2"utSl L~~&X!w~oTh tDq3 jl?2{µxb-g:`W`w<nc1fP˄tJ7 aHNW 89C}AWG`GrV`u\RZ)xS0^-_hQV"(2;yvF)}T 0ZHjjPrbT3Aҝxl3vaTIY@[ ?&J5XKnA4{9zsi]k\-́xU.cCg=JNJS`s?Ly Bƶv%.Vs"KM%P!:#kkK.#֒esY4lj@<2M#Ke?xhU nSYO J)T+E*)2Tgǹ!WARkq/=VlYS8!%P G| -N S2#YYg~yq9YޮdҢXX7׵;pWEL\ ڇٲQBݦ(j-%4IeC$ x+2]ޡR$l /,WUqvԘt1!h-R*D$E&sIkD$C߷c.Hd:~K<&'<}r.[Xݬw"8lGqC!W*gw܎ߍ> ML1f;hP8ؔ;ɓ$ô2匭zػŮ e%mɯ\sb:]ވ wlqK=%IJDZa~><*<|x|n#ƃw[m?'bS Բg}+is7*T=!^#{cԭ걁1?8')pWnI.1AVnD&ſ͍֭DOSH/ReDŽq$I އxFGqaT:XB|Ȃ ^)r({U#A}Mi䳳Rim tɈ ,ߨ=! ޠ^ך4ٙ3Ohdӝ.t SǴ?CqV$a\,`lewX7 ?)ܶܲEx cs/ 0(S#u3q֛O-kvu.mI kXSPJ;a{h$&o`A HF]y ldL3~r'XM0E8V؈^CIJ@dQ;#cRq o}[<"IqAHB) y5'g]t;OwYJl%Gq (L8.pLW\\ *LUFk|!nsmtuB^t.E:6߂P8t!D(EJ+҈`zA><9x]EZ /܄ aUǃb/{V |6=N9@&eCSL Ea: Br{$8t@ӵ5cb8526q!'dSIb)+pDn+;Mݕ9pm8dx(J =Q^H~ W l R:\pݨCfXr167[lYK'@Ѿ`i! h U& V;3uc@)M~?i `aNP cq_]:#~ "5-?D r@aKj۫-wOA GıI DZ/^`V)AIY=#Ʃ}Kf+NRF[j8VĔ}(M$d= ɱMT+@#eM@Y[hU(̨e[aƋ8 !09 -aችi|(b Vt. H:iC_EKA0P$bv v,[k(kB_C ~Xgn [IiQdCvF$HF'gä ^Hs]ʄW.mgamagQۈ#`:qnuc)0hAQFEz}q YIct;HUTG2Q'fIe2-HP vVn J7dAX~l`uozbW IjW )*!`&HZh{KȐExop(}C~wҷl@k.׎L*m^M<)@Nol.=38ĭŭ-3lظ!nS~庴=eBh_Y0us̑iF TqAטQŊQrbSv j(.*%-'U\,`QUS@6MCe|\_ XKTQ q"{MY?V-ɿ$M%6X6G_W  DՠT Б$w?QC-PP6zvAFYGyգyF8#}PHch`(+a^"\sňçUCrex GLsWZD+ ! BgmI|HV`߶w`z^omו'LklURb98M+-֝*$,t .YG뇹hLí-C6CMý>eq:HTl6yJe gaT g4QS\ 9-b ]}Fk(m?~(#-lY[ӎ"XD19,]Y98k;Prҍp4|jme΅D(nl@P>2SR )9x $.kTT| tO̍6Kė'K4|.+IQ!T?Y: ώ4L*Ö&N:"_] 1vt$gPtVYdD/Bg:ދ[[w\C.ywl47EؠQo%{eED!E:&0K^ct8QJVLxX=斂ae 0z=,8SJauRbo6cI\;Ҋn⩔kÁK8 v Dx'6fj%JĴ_w΀4$4s?M٫LAɔ-a) R-1xlUa`Jaߎ P˺XWr]R\$oFx;n#i, MVwu4rqO.N Oe='ܪkT3[`_-m4  05 ZUݾ6fS8=ENj ST[$8Tn~o?gXehnm-:olVi 2Z(e'kiTqö?RBipcCѶ[, _c60%^"{>ܙQ\tGI*6KؗbT l3Թ1TZ MEa"e#,++>͵%Hu.j]ޢ>Ml#6.F,*SQ&9%7eeTt0Y-ݠĽըґ}W5Km)9eU:zWWUFY3Pd:h}=:Cґ2f4MñQG\mZ!ՋlЧ?6lv? TWǭGKO:wiZqkݡ|6y9۟u&m؄aCfuo9+<]xB]:=GPXq!7DbAshS8-'S_E<.gRӱhzn߈ 8LKReҎ#ItVhΈ4s-~^?o^P5LF XdV&vvpD(cdWy.v/ø PtJit2)ġ=KGpC |w9w%9dUU*Ni*w6Z8L&E)4$5j*#K; Q{- J0_]}\ʛ1DH?)̆Q ,Wu|T 4j`{1i  g[n^*3–WyOeW|LQ]dmtI&<(d+ʬN<ȡP6q;V 9y̪Ҙ,~! }|]}}grj"4 [bU%{-m 9ii5]1>N[y<=[qB& |Z-[L!f8s+ fΓk߼ vpwWEWIs fv4r`zЄW\+ϔW7Ft$HhgbB.y(h[G#^5`ڞ95 Z71>ݟ%32tt (%*#sA]v)ΨDkK= { .x!P-wUJheC^lbdJZLoκ_ Pparݮ#mS:7#$oWĝׇ~HF} 2|OíF+7QacsbPa& Ҽ<Ľo'dr?f`懛&~aއ>Bև%}Ŝt+{+s \ߞEȂzKȏC{3׭kkyLqku8.t4LFZU0I8_!Xze)e7(^Y(Mb6<AT8G#\lU:Hf.p}~iLHUsɒz6Q;lPvcɦOp.hb#Q㕅OphdEʅ S7CD/ч5{F ?ȏi2< Kbe@ZR- DQ|a\F/={]gURbH%1&fЏY{ĸif>g+>0Fxeb]94Ag'թ1a)'mGh+./nKBfNq0aL ^am9 -?9jJ0^v[t[s\IKƢHy^y|bIXBV{\MFú.C+?Eh$ Y{ܢ=FX[+ q]@@^BqyLűniQÄdlpc a/[{QIEbOKwҀX tOGn<2K+ ~4\|eAހ;WM/pYjbj@c7!u4KK8<{P8)Ύ5VwIfm"운fywWy|SIȆ_G4y/3ʒ齧OTm$yǏ7|.]7LɟmA%]*h_6_t>]ms?[hN[dwF 8>NV%%Jx 1=gގBkcʋ2bc]*LFjH[MƑ&FtU&~ˊaѼj;WnjUH?'v`0ܔ&P R*\+J&kBN>Me>h6Z 􏓂Ǚӂ k&XR $2QfKKQV~forTy))T[/Iz+аIf8Jkd픤4?IծcatOqs{R٢mby2ĖSmsGf|ш%slP:.:;(<^k]+QI rPs@滬6rQAɅUqb.w zb26 0a0<X7G/k@ /xm]t 7(,ts6࿂_s wwps߭nn<6o=Z_w}mGI 0cζ&dgLJ#Cz;;(h_|Lx7 u2G; q@ʘ)4Lg { }>}FAEf Rrj|վXB@O=k^R'p 57T X>= P'(0"$}sHU׋7!3\Prab:6{Oy} h%ӳ8γѨ hK08oP׳ ,WjVlPr;@XoEۺ0 JGiErl=><9xةM`뭳iRG5,t,*Ufhji[~Ce ZPoQCR KP ܫAeLNn U#XgF7 Aʍ !5NȺ}i$A4UIo6Nӧr̻n )Âh^)׃H VT_7L^up^|_b`!b5@"Ef7Zq (-IsG52" NS[_o#c8Վ*;G,"JhCkK H@[*К\Ts Ё'Յ\|eUڜco;_.N4ل|4~,Qʆ2[u]>cS')=zc_;݊WbFy?Xs`kr;a(YX43Uʰ ;O9&0ЂK a';\mZ]P/!Ɯխ6:, zF\UN\U13Uqs SkϹqhQw_iU|z 6KεG.L, oZD2k[6-O)7՛cg"AqUL&/1ǴM)Y29J#"˔1x k| WnR*[sͽS!`P\oA1ף;/;?bNFw*G,zJ+!$DSTei2D`]9JWc Wy2I C)o!I7(ƯL1RnܩK%P(\K%NS8> ٳ{RkkEPei^K[]JAN yQsٳWW/m8H!-?2=槽7̏s9nb ߃w,}(8JfM;--s;,ݑfhpGS&W&JrDhgʴwLÈҏnr,rq UU9=[W-@6iD{Nn_ufW$ɧ,]SE`zAA½G4|6mCI@P lL+,uru&*]eC((螑^ >l3NѨGMp=a16yx.Eϙ "~KqL] S`0I*t"Ta >81w]A<88 |F@ՀC>Mŀ}9xV5Fl;PIgLL){ay:H)~v}!``ch; |Ytm^,ć2sh5y{c>^<ޞ۩t{_) 6KԝEDGi2F{4{/5O,f*lozT`HR fٍTY }vvŬ]tJ'8_\#R] IWGR5y)4u%m`]3i6ҽ.3N "Zg͢6`vC{xDGa<志}vz3p^w~ϝw'w֢XT_20 K߭=)*?vGrbZ**;9XONg Uc#`}uZ*X$Zi<{mǭB%+(|b`x6_Ӷ̟W{%~ih_֍v+eS+)FdLful&%P޾UTA@0vf~: 8ƸVژJ3/ȟg@SūSX@\a_PM&[[x#`PxujWvKiݜ.hS/a 402[Pn4zY\xXB|U">exH`7brIWYCgJ@\Һc-ȥ,IuWpdtIg)CuP=aܽ|dg)Ƅ^41J&Ӝ[̈I5ÖvvᅚQ ^>k( 5] 0\؟d|/]lT*RPQVT-ڏ|0OM?11zjƣGIć9'*oqvɈ=@Q-E;kڌG+]"" jE߀N-*c,G$G*W/W^_LC؛~6EH<*Lڗ(돒(:4yb'C泟NU;gGf[㩭qUCX^@04=M8y'ÿF%sj㝔+ Kכ{m˜rHю"[/a*KDǭ # ^q r$DbTi?)Oިf4ʔ#Sp$9GHa%iN1|%8F82Lm$-)O|6()\ѓ‡h'cىc>$L_Ah-J:U@K G8D$ZOs>&I-pWS_@!RLL;-6^ISD_<)x}k~hՋnBBF߰t<fJ-kPDD%z:$Fڎ~t*E7#Ex(QO+ZR8F,Sҙg~ +hTOa/*:Rѽ@tllb Mi./z"5]_48 Sn>һzLPy'3sF4xD-{d|Rñ꡴@w׍?f=55gzͳ=^#L}C䜃zjcj.V* VC+xh]FKn}RB#yNl/4Ul#+q$+6n\u"'359b;fupKUrB-VRGƜkeҨ 9rT^jtaV>s\\pg4`,L-r*:;JPjc3Ab[ zsɮc]Cuֶ*[giOT7iq-~^s=^cՋPe?ͪtGQ6Jۜ|\yV{Wbra3QcB DWrB> -8莂d(]}?AE_;=R9~ 2tziA=pzQiXIWя*%28ğT3V4߯x:yb鑅nyqjm^LOt\/D7-X5 A9 -o8.ذx I64"ZA QQ9 UmP| H(P3AHV+!$&+Zͫc;@EFQ*'_ZzS*liȇgh^8ȊY<}QFf%Iߴ1'A5 @Lu~e=@CdΦY90v`A|;4XzQ7.RW`aE#[K͘!  -|9T_ RZMiԱֻ{Z*>Z9\EPPWtkY<،kw*֘-L/2s>d.{kLϙeJ2P3m|vqI`xhJQ V_䩤 UupE'"Q_vzjs$Qc-k'n/ҥρ42~)|,^9(/wݡ lnysy ,زƺj|_ctzuу 뻍w__s.]-K8z !(N0+#~dYZR1h(^{+ˎz#Tx݈ZU`)n;&\)&e-;F>lac-x1xT[jFLj3;gB~GdF_Pב3q.KDR"ܓMIBtZpjAp["d?*IpRbca߇C#WPFM$C(`0guu&b:j=m'[)5mDj5I 6.e,,e ~8φqKCO(ѿang p,͏*Sg?qqV.\buPՂ0xIY}Uh$CYYHT8nqltі6&cwлQZ=t xB3QknB_8#)g"G% H4/GהQ SWP+@//~jn/X$K"e!M-yѪJ!3HT惭Ud:|b?AQ@mb,id1Tk' s3*CA(:bKYWI]  2Ej"/)eReFbX(#cG4l'WyzyuN5ATR(P9үPRPifЅcň$i,hORz4Aߛ*YBz+&"S&UԂ^[ܧhmBJ\ !xrmH ?VQo94I.ډU:BQ($uƪb-WVp#-ҎuW`7ISgse.fWu ?Kƴ[#~zqɭ(nW O~>[< /f$h=JZ}m9*kMk Tq]cm'spj [Q%`#86_(Qq!;)H}ZpQ.^>!F;pL}LK>Tx6b9ʢL/l-5N{اrnyYlm4-F%߮Sk+65y%0? >`ى :8=×8ILL)/ ' GtN<ېF5 "MϸB, I0t]Cr%F@f;_C?Q% ʿz3I 2=m/"q\DѹʗĦV6p! H#?@W:;gIX)[8Wƨ\E''mJJ.Sh9}y8m+N5@qkia#Ή Mk6x϶%Uwu.t0.j %z6O2'}2L=99DqP8$iX' ;v~kr'IJ$ H6ފi äw9[ ,H: |Z\ZBËe%gv@N8q UGv9*GuP 鮗~602F}j[fo*m(P'ݤkPq)%q@Eroa>qSY|Wf Bi޼hnn>Ub՞ަk-6q%|+W[6Mg{\X,)YcT#Rjj~lӥi"x*!hyĿƌjq *gC @qlo /:mqs~jzį7UZ` 9]MRZZV=x-;ogNmLi{+8xU'=pXWDY/ԘWp%L돋\3?Vˀ *FbY*ᦏBV|UmewI\8OmVAoa`CNI8{m:Cw.~WblKi}C= WхTB̷P]LHB}bhB. fz*<7q|M5RcLb7|c]2`m;40t2`"U,N156c&-D|8ǵ>Bz9gZ#l|`cP-6;ɭb? s}3:33;`e+gc k7}&3rE&0!.C3*GJ}~fm~ՒiDᣗ2*^7wѤ<\C]P~k\>Ys  )[ `wĄ '~YuI~?"RKEK91$J]e;JF 28*07qP[B $yFQJ"5)E#r/+)8ʴ$^t$ #8:_XQE&Y(h/mޏUhN iWaaM/`j=VU(O5U*6ӿS8"NV/=^}pK|g(>m.,S@eTN%(؄NJ )G Q$٫RـyjH%ǥ.Z3-J¬u(i<%͋F<5(6Zv&bkTL{kvW0cNC?mnw`R V\<- ݘO9pќ\]㏮J'"(` -Xc7I>3i=n}"FxƘd N`(TbQW@ɉ_Le G$C&^ȃAxd0FÒL2ď Jz]Q?9R+K5FvCzQt'Gc\HXюR:o k.dmwF VN.K; k6@Ųc`zzX7[ަ>=@i]RxW^6`h5; p!i\DQ[Գ񌈂 '(wMdm;Ƿ@_ҡ[O͎mʱxTҕ K|}|iB1_v{wA :FPN^YZөfC5 :#~O%`.X^Ԥ(@2pB;AD~.!E5n flSTRK(#Gr{.! X7ARs gI+5 [id?#SS`<;< ^If_n ztTgM%}jՏ;q^q1mi!=kA#PXW4-d6DJK&V xfrWWW>.YyN_~(#Ҝ-r.]_|8J /|fQ|NʩXc]@i'ɸXDo SAw^%7&4hys yIu6R`#U rDñ_\i]_qJz˵ .޽e;pXl8q5<ןyso(ɒ5J|is\iSCaϐDS]z@{#PZpg&v!]JA!!Kʷ~ ؇;GXMm?pwc|,~K{⋉AA# gnNF[_{Q%t(YpL䚔P6ƩT Ϻa#;X[gl0q}Ffw-unGP5ZNßU{]?kȿ}*)(< 9WÕ;X_Y:~UaMfWܙ8[dt:٩!c34xN L^aR^qZ=`"*h\ᡝƂ{3 &`P [)tH\WSht 0MȅmPf@H髆q#40 ip+"aQ.9o 9R"_lQ~{WX*`不OO(;au`ʻROV 6wBa, EaϯkQtʊ3%(j4OQikn6U x#:g5:ɽJ! ɻʮ7g=JY%Tf{W,n OcuPHBY5gkن@…iJC5VKj-.tYGX5D"TC0MLފcf]E8]ȟ;15K*-Mc򴝴(@тQFiED[6w mz\= eҡ|ط߮ZI^~COб'$۠iyLk}ھ/) жQ Z2FR6]QaO{6Hp-3rdq76j2˼q: =_@]Cn^:X[HJ@G]g~ELamb4) ZgB_ښuѳ怛Xxp=xiʫ9T5]Tr.ӅcFfsNO#=Z饖E\6w5+P~gn2tWjH $.W!Jm0 cա^ x]S_/XoڥBbS?';o\5hOAhf]3S0"IYSaEaUJt?a6cjGϙqid qhby?ƌ QV) ZrI/SATӊ!rkO+vO1S-\$jX̄*Ǭ[y@]y=uɻPe+{B3ҮW=+i=&6W#2a8:=m?Pm3`7+tvx͋4 G+}]?w~?9%zpFn1Jp4{-!ʬ u>ƃi:FۍN4mF%dP\Z['fh |Ӎ JƸ Ƚa a[[hPQʍh-¯aD*w 5 lR^(?yje/Ef15 ܭaYO+@K+rӣvRاW@G E" g;:NT !S7@RWQK!ٱOx)F'jܹm}zc-I(FZl;\XӎNJ1\z֯?HNO.ϐm %MN|mEFbQ-:q;{t;{뛝uݣzx֘coMbB_W}r9}QՂjbT =9NQi\3xbg_hVa1.8.vKn5XhҜ̺[&̙[w!rʠ CASfNfC#NGY{lױzf F %qh[ Gѵ#K8"(z3;n\%?vhywh:&T(sIG@:[/™s\%KQ# kJnExqf(voNYC͍V!pY )jP=V&eYuU+P6R8ϨB_*KQăwcIx=؍sF;5/wf 1%sQO>}\8AsVoTbQjuH!_BT;k T~ cќnmZq^~ #=AD=T"@:Tx3D#%J3 td5w nx/'$s; +ح-|TH<ÞXGj(7C Sv:EBn} X0 }1eE¿pnd<@nr;Yq1냇?_M <A3-Q/屁ZL͡f5ǰM)E>X6 ܂ܧ@'Pz@8S w N[rQ&;fʫ3ҡ^2%p j=^\x |oUh'n4Kak_=^T%tKh.`Syz "'A{_꾘nYiAb[P0OACtLrhۮT.Ha&7=Lcal54ρHO6hy4lHc=7YOAa7.~{ss:7nQXrG>$URO<-/&>ћu/O+ְ6Bu`i4#t4rM+$T 1je IGDEC Ӟ7TαȐp94[ߣQ'Dwꄢl#mG'Z#2Qhᴲ\#UwR=ƴ4CKXzsѪ 3(wuC jg'@363f*OngTczFXRI$)8PbkdU֓N7g~z* LB#هM}A:QNP|:i)kъ*hcĿ s9oQhWFo*\Nxs꿓u\?]mꋛ(xR073%Xjq3ʕ}pHyCՅKP9\ހ2GQLw`UN#[-(s=Hp%BBZ#S4K,J(ijG>3`Y7]˸F{[?ܧꨉo>0f'n3v6(vpx "t5>y6HLV)yL*hj`a@ρ B@Wght;dˌOUi,0 \dඝqGؿh3ZvsFB{ -/73az0u'? 8g*OPnalidT> uq.s"N}`y/GKt_5>h>!6Taz|wsj(7 r xN8«kkq+ #q>#"#߳$d8HY;А$xWݠ'uEl2t N>8l-j} bEߞpdKkk^r+tF~/ƵVч$~dG)C{SI =pCOmG~gv vRN(#@ȸn9 {Q`֥iZV5Z3f{s5˝#rsxc*C``i!ۨ{dހ2)XMt{ nq>q^Ot !M:Nr8)F0tM eJ6P᠟-VP'Y}{1ϓ63Nv6 -\ L&k1P,޵n̿*&@z"*:/9>[|)ֹ9[a&L{IXIDp-|xw#ρt-{SvԔMtClŨy7* M\Tn fL/k8STg3ۍ.l  O0*(Ύ~chv)1d&B7h Jme8ڜjp&%p^>Õ_s{gwgW8O`t/{.W,'[CmZ~#ʾ'}!k"rJL94n1J'NiK4 oVl/$і0,nqO\kh6A ϕ0Q| -ÔCWF2트N@FQKΞSh^d r@4 }%*XkkZ-Vr7h%-"1lj=%)ك*c%>1 hLP}}xoq {O< a۽N&y6X7G;vme@U-7BNKiNB ~o@H$0NK#h#*p_>~U ᑊjARԗ=zG.dhC}L;qbV*oDqrt3@9@9W$;S:}( 8=}~T+W ܩP_|j5%TJ YSU(A 1u5ޔ,ytr>kXϡṠ TPqrÊi/G\z e+|?-Eq+P&j}XpEGs%0kr*;'VZQ( z=~A!l 3%`(FrZŞ̩DV)L&f%uނ>nLW0=BS]h^J5v׭8 i\Ekʳ.BM%1.Uxq>% 2E 7GpT5;y4v `)4 X"=~3޴lj73 (ؙ鶚Z6]YC J5IH=<174m. \wZqN瘪׈*N,ftY E%[p31CT&"FV^rSq8O)<0 @_PPM P<́l OG$θ!2긶՝xHkґvp!Y*N}5Hn'lru0Lښ4L&o"S4o&0X$!u+)Z5EUoJ&6B ֐2/H%Fif]Ԫ!I#0QQHpyz}U ]A/LDL]mile.Kk+]CÈLtw,p }PoZ|#x6 <~k vb[M/ n=Za6|P dv-0HmqvM.^})giWɈ:,r[XÍt)X(pt].nhqX/Xk, ¢d`w[iA$hg.=~,5a[UcHaEo4Ąd+H&"2gQz e $<(.9.)Uy}U=EvSllD Qq2 IK9[i,HiotɶfLƸAiSh8d/zVxdiE)L@_X!bGSP".hkfj]s&2m{ɸHJ<c f6Yi ط=Rɪw]ț9VLK^J^Y(y7`v*EY⓳F ұX%iiעo-V:OyxJOG ƵC )nguZ/Q+QH@QҥB}[|F4~^RjF{AODzM *` GHӃ Yp1<8$=VTSW7_"tG WĚ8}jYl2fJyP1$*06{&Sj; ,g>A<{Lkgdh$ʸ,.2=jz&u2H*Q8um%>%Ewɱ!Jpa)T| Na7\uNQ=ETht 잾$GiyrX(,vbO=E .h7W{xLjywTiRyS %/5 Ar*{ (Sa+^Y ~5Z(K 9քӖVvX>8ca e{LIP9 h6[Vnib''e*ί]FڷFJe$‘V:t{d0-pPbyloR0| "gSjnG7Y+T!D^u9 RH2y$4'5j8> x@=,1<Dž"*(&+3:80[F]!I`tKƭ+}_jk7CK0 즴U*BW~i`w-|xD_nQr'3-+1 >*bAr*vO6i6R$Q;۽!9W #VwzR֧iA8scLeh]fUa=[ZT j!KD'+&xwv,u/آN=+4ĹZ~,}~47:avY&|r uAVE_%+LVA8ƴi۸gJ$3"FK.{pJ,W#"P>Pi >0w"RbDe(U n^BJlcrm<ʸSW߈S7S?!y'= t$(?mG q1co{>B--cmRe/l4k̇!C+ȑV+, ˭젺wxaE!A_ zZdT`Y+"oqg 6#kzs2*r|twƆ\݅.eG1ǮR)^+C+dM.'Z\8=`]gGG'Xb2Ƣ 'q>^Oxr_vû_s.]=j^++0J}eXzƴon+0mFy`[P:RK+l]q)mWUיw5:P37WބCCvq͋g2vfwa~\4IeSDCI(f(ӕs[6HJМ 6CVе5bЦujf:4GoD _ ܜrdk+?͕e ^! &P@l+-nZflCփFMwU FPsu&fԓnl+NEhrRg3eRXQsUo9A,8qqe>>sPB&ZJDO0$:ɬojAf:tiDTEstXo93|1_ɚk v! grh;9Rolc?db}7@-6`2=?.?x |C_GyX@Iž29QرnJg%50н'" nFZM%q(8jǮ#p6 T!B@N!;K:YK 1-'Nǵoe3>jxVQpjv_ :j{N*x; Dž?,?^_3ײk5L[ \M̿̿-̿"0#vVr]c>ɦwv?M1h%S@v.2@۲8/7BM$dUfKofV,Lla%L8z֋h9& TweԫwnE{jFyZTAREBUEW5e:@tM \ ξ0Ь(0,*½gʱ lku[[-^+R]30 Sݾt@!k:V"bntS97;mnt nt#Y7kɺ$Fo滅 "{Ф)ђR?_yDjs}F)1LT7СdQF91g'wD([mS1jqvJ|%ضEbT%U8KM]yigfgr?H)ާWPlRr+q 5k{=-,PBe$.o>&viҴoi>9J5zsp۝ãn!` /wc}i%N1sqnpa5P ǀ5~AUQ_]W⭩=ā荖ԋ}z|E!elN6Bs97XK},vL);@WLiXj0_f(_5̀:YI!j*xs*ZN, : 0='?>]$_ĢCp?2)#ÓcGtûLB8.a]Kaui3E eT,-T$#yP ЍeW\T{cS- %9*.Vu/*W5hj9o@ɾ.r v@V˹K[`/|[[ '[v]Wf~dٷZ"ʰ0naUDͣ%coўhW{!픡9J(P8.9ےFeӳZZ8/+$..]3+=Wu]5BIZuw E4 S`cEq^/! _ O2- mTۓo5R Yw ו"?ŤtǔQƐ6~1i|A>8vLU,ƒdL_=Xʣ훅&OxIc*)ta 2/qEȇp3m҉Ȕ$Xe3֭#W(j3̝^,Ă zA7&7Z9IB0n5 NjSN"ߕ+X,&}bNl>aps>=~`;/l'Mw 3ޙ_o# a vvdס\a;.,L:& ;Z:jO,X*?wFF0׽i7 9)7DžX>#rAA;Hc5u+aX տAI Jg E M<-IGkg2Q! 0)fM%(U q!49eyB]Yl+4͋ͤ-78ȅir47BƼmO΀Y64͋Ψ*$z$08hJ)fۥLkA**Fq?MxHADru@?+!%}#u}LU Q&`䊪cU꫶>ٻRo}~1OC ]?/W >N2& 72,ڠ=gy^JTO -P[-EZT 7,*e=g.tvJ)eoMo/W GXliFGvPdۈ/?KGk}B)2-y\;Q):V6EbC[C'U:vOERv̅kDiv#?b⭟γ %=s#^h}\_.+;{;i%-FסRըMKV+R9vO>aug zs]oiMPޢo>Kz1e칒bԼxe0_ãd厇/BiNJ'бE!GQa;2  * v6l/V- ew<~eLzh(}YO~[HlUCzٿ4)Јd0auʺِ"u+ŽwhbgJV) K&wn9FN;-#ӈ:MA:1sBi3)}Sc]1?k$tظ?)Ç+wxs*yA4HHV_Ѥ<*b(TB$Xjj 2uit ~˸]|,zZhnkмXcƔ:+?˔/uk*S&kJȅѠ} Ocp%Ppu9d9wxwub=Osa_hN! xajJfX^St9N"33V r duT8ŦrJj"%ESft)frY7S^!010O֭BGu NL'u 쳈.RC[oP[UDbɈlqq}?țE ҭ@Yj{Xc#=-{5oWAOF9?ͥ`~>;TY3r#\Hy-ƱȱMB|>3_sŹ$Ͽ',˭]1%@En>VQ 9+Q.L!ncZy n#@ey\n1CK8.'-?xX||K| !IgW=3a+49$ 톶*-^ޛ`B;ۼ7BNahij B?uY(ʠD^lVBpye7At;Li;Ys㰖8e6|΀5☫E]wzΙiEbq:jq+P"¹5sͷCZ}'n = )g&p 5C,ՃSz]P|rIց 5STvgdֹJYm5Z(hJSzΖZ*W+QfbALxe៦J.Ȓ`2SQLZgP)_hMҳ(zM6&JtR~sjlrCNb_( 8Юц ũE.2| )Y'FUZA'jɌ%ҹ6CWVsE-%6u4A "rl&v~;D^ !6ЏwܴNp$}Mݣ5G&]tǛ&8>A7Xc:YgbbG.C`\eB`DXi.4_<.û0wqaŅ s;Dj0, cRknF e}.''C(L+Ӹa8I򽰀G~7@19EA987iFVonjKQ=zUGԭ>d֕2n&y7ó[R2@.Z>A_Ѳ7O49|noebCO!ˡ|Y*=0y%< z&\ CTPvʘdb5T[8Q&5 Y 4چ̉k>km1)4qZ6>L%N~/3b&73k壳#,ؽCl`L4x.opBET_{F\vPq8`dS1t7%@XB,¯nzEE*(V1TL(XNqA5_%vGŪA,}0e0@8,Z)OE*OAJ>:n[ע*|4Hkxn˛Bi*k$QS*kVq նKWݷ{MǤ-rw~-qWZWm(H*1q ՈduzVcbCLDeفmV]&EXA^ .Ѧy "URrMԁzX_]،'z}PZ;oe>{ܬ$C׍L< MUM}0x(y{DJ{|nuޕt)Ꟶjmy#)^9Un=>{Έ6cmalu3u@^*HZu<uC1pdiXL?BL1EWc~w9ˆi'J?mdy[TipN%n%mRnnOguH _[uو"'tCB1 Ǧ`$aw$^75`4%a1РѨ10J٠ױBqƏ,wNɺ͆,ѳi91Oꍆ9gĔF֐ \B]6&Wal3(]6NkGnáU.uISu-$$ پL1d g;JsXkccu!K\1L&J| ! X]ppg*vsLô9@xYcm|&Y8ţImֆղ2.eJU@`'VT ]"%Fbn\Mn U~P+}Uafw.C,ӽ1PIКdkaE37@t؞ fN4Fi +Zܞb Ofލsn"u3̥M 'QKϫzvxTa8. ^TԦ TusM!ʉ$뺠8 9ikvO/:+rhL;"DLN(6? !8pzTQ9j#L[Do] FQY>& k2b i`EQ -,UqU`.vcbPoԉ սܠn_ln5gj S1w)r |FB$zŎmGOnp +$sV EC XqnG%(9I2% #ͯ(+ &6=xH [^3&0o1_i=vAN>tGvMs1|^j1$5BxO/.F;o|e! ݈k#eЈK/.*=ogA7D`]}~i+uBWU}Zj- &ZdC\Yy"jjvvA)WigՅM_AdmZ=KH!u@d2)*2eX uYmÎ`&0JU޷᪔ 킶 9K6«@)mbukeIթcoΧΊZ,̧]=j!)tU /φ3sM %%"嶢2.`K ~/We<7͏K%nhv&sBz3 l;^1 9޹͡'NmyՃ@.zЗUɩt?Sdy3Y~xeg]/s.g43mS@^Nϖ-ryBDyWhis#;Ĝ0עy[Z771ڣ[Tѷ!+~!Ů³O R\0KfnC-Χ&lWc]gl0l ul7zIN<2lڼ; VBZ1"7h\Imbn wl3{x-`x>Gw?+RHQo _ VUF6B\Ą ۩ <yJhMeR<J.\S}V- eAeܼlЕc\?kzO_ ׼rx Kښټ_3cVPB2P+hnڐ* lSӁl~xGEwwYE3?t)]Fl4:oh=]9pgog:Kz=1?y>Ws#3HFoD?'_mn {qs#ôIqzV"Vi4*{?h g qq tWklhji-.cKle={I5۔l8&-P22A0^XM%Q. M`xr^JQ`v"t7G;8[<`c m #m_ `,{K5B.crw._2m*-$ZS5: s<-8%=K9CFjʣN{yMlCA0F4hk# @ .}X)HiP҆hoT{XfQ 8v `=턱z6" 2X6 O]3+/GAk%U(M*s-LAWWjtG6]x8:-ˋ7S =3~W-U$Z¥kQsTy[Vj$5筽;Qi iloUw|sjꣽϷvÝTzEPj`%yAp\îtN㴙o zE&%0-ta^ Q It Ž$F WQ _Os3^ӐqT/_WD#tG?M0ʁz-,7nՂrH_@BR*¢+T#F0̵v_L޼xmcMɤ7bjood룵@R-!ZQTX1ЩئJ8/4z̗^foi9_q#ʊf#^) ^ËAot~!T@nO_YC L"{1]L%S#.Pם;xpޘA&D&p?P&NʯƩcɍne菉 1WZOԢ=2K>EHBƽm4ϢZj:ư\ݫǫσgGe_\= gn:xsyyYZ#.RF?E+VW֖-<]#ALnۋDr- }lN{xP:UA_(`I+Nuc({a\J)~:hø\є[3!PuU@DyMq8̀_qN,ŀGѯp&EA BFntV+=˺ skG}iCA*wo*^8 Q4r L_]&p|bb,5 C@ 8Ac+Hh|{,d]t"FDIѮG!a@3T"4Aum[{ck&XK$RJ;[i+Ĉg ۧovvUm|"=PzEma3RJrNsd 1{3t]b)$,"F b@pPJ6b!̃1:.K bؾ04^ tg2A*u4G $dY'5kֻek 5u.E}z7[7i͏7D 8. N_jg$~k_\^l8XH~J?<i+\⟠ݳ1]Wް[NoqH4E6aï8:RB2TH} 'Y!2;qtq 2R9pRWd6&kD#=܈^۫EOU:T-!Ǜ 턷 2sM#F+xgg ob|z:H?dd֩#hYC !j\ZwD`oi8li S?6XOWlם^xfHPBVa4Wyڴ*/SogM;|qáb$}sZ-1+Ϲ=)yqSYVD)tt__ [Fs R .xw7* 5= 4>0q̠G2Wq \k4zGk+ 6-*x> xTpJWQ}EШO7_q&OoB8A\ojZ\'եGK%sfugS띒!=5d1Tyvݎݘ߯v}5;/q,CxR9UeZF :R.nrEA]@7c{ԙT%}.;HKiW늻24y;望s4c#5֤->Z0́n2'"_CeU~[tAP߫1cy%VI~qw#]K롽HMVS5[^ZէY6ȇ)P WPfŵKf㗸j/5zUʦv:W{m,{ApZa`W˰|F bQjmWzs^9ᇿĥr@}r..o ]x]Ȝ.CqU*I *#4bJW\߱dkZI}j蛾U@g-R?A)!ϝJkU [ܢX07LôP:+Gc36j7'BvZK8]Yty_u~NA&f\eN7(^<}rj[DJUy npy T aypaݿSӱn]4*6C$I}]%(q6un!ž/ȪRaL@%љ MWI2V/JְkJ" *=Ay'O7`_UT_UA'j.u<|s{bO;.Qr#isTwk[l!xuDeض-X؈LvJ*H%+U]*U+bx`-d^--zFlv,1r=×>PS<3l,F 2\SB _)%MW33dr{%@6]5&30)pdі*dݰ!Z6 y[YGeJ@.YעH f5+쑩e/jeS {?/MM?Yo4X$0ism[5eI &pf>\G>ZSTPweի,"\PϲdXl _-`٦–p 7:KNpHV 680Ng-Ϲm;G0ZajBw0mu ΂'xLlj*&0/C0A 9.?p#S"KQѶOiH)JFIm_确g.W2=TҁG fWYӖ)l Rca &uem|ud~t-Ӆމ 6sp̨Td*$$-vPF~s$"y0(eXqgq dzJ6f3$3K)™N-&.?JB_:y߾?yܲ-/=+0kYCnq< <W7tj6?ny|u $cChuemWս+ 0G)B(,l0[ev ʚN?Ej4p0J|@oxs̢f:FQWu3rzDDDh+:&k"Z@ׇG[{{˝u~muK`i-V0Uз9ష8hT@3h/ W'ڬUUToҏF)eIX]prsq|NpM*n0` *J. D6ockR3uTW8+"Ã)֦D *'ͯ>SY~۾; |ir h&V6 : }4BfOv^m&ޛ7k-:bmTBxJ)X1UoxZW7Wk2 Qv*j f32xvSbS Wk>]5:xg]%YYC}6tמֳVΧAo{K ;a$!׃Ml=?Y,鮍+~e7 a;>?YO.X|rk]RIz]#lfS^By]0pȘȸD.+4W:A #KPIKZENc1:%z,veX;)0 BA@?h2afqc'Gj $kpѧ6hXC?X^_3VwJ;%@ `?@ <\[FO`BDR 6dZSb)ߩh@>(z,#Е O2/MVx0ʁʃ7stysN, [/^g+M;ZLӀ ?\]WX'zFyY`MKc5Yr|E酀xO,\+K+;o0.!"0O--^`L%Np:P$;_k屁wdt?'?9<)]{] eY'DLY+͍mD:&)zSSɻCi%pmPM_F Ȑ). (ՍFNˏ(~ }s%n5ʚGU+Yi-x^mRq$K+cih_Qha#ti;{}u'iIѲ4 k\nM5" Gz'/v;\X('ݎA"@ fK-U5( V:胝~sx=-[1,Vq،RQ)0+y=tLO[Y[X\4vxۭ.-$õ:4'05Tz~~fO)תJoѣrpgyį Mt_>^X׉۰g<% )BR8{yJWJCMɟuU$QXM=T9ƂctA=H A1Vz::W#3ى~sX =~iylm*SQ7*05<\Dad*;]\UMtkgݘ(KO/. sq{X ltqѭĀ܇^)p ,I}1_̫u`7T^K`HsV@YS^fqKOz^(sYEyYr:6C*ޢf-Q6llM&G⤿hOW -d>Bե`0[ԡ]Db}QɰP T"BmS؍14,4͋W\Zfq64M0ǫ-=t068tc'iy,] L606xɐPkxj\n- ;H8MF iQUP#Tؼh7G>&ՑϚdVr~FN$媴/ $7Ơ b`0Phrh tu m&3Yy|KJpSw٤:_!ZeNb{PP%W)"|0 9 b0 8\NgYM۪DT9ɫ(w(v *GLu!EV[ű^gtMYa6(#ܭUAMniinOW1V.l[58%L%#PߋS#zU!U nw((UGQwЃI~Ov;`~ʺHx N5:BCUUⱆV(LGCkD$|g8=Q|OP?zCe Qw$֜Z K`TvRV8w '8*ʻ}BNJHY@FxSϋm-@94XPN) v3tj/ۡ`xM{4 Y*y'İdڊڍse/.z?F=3Ȭ0U8^mjy*֡+|hI/ăVfdNWӗ|Vpb [6wJ1;Ȟʅ])y}7G;5==tV6$Eq;8g6lwmuhd,"li- @oF[O&A@eށo~`^LμӇE{Q!:!lr6 p>\wz5q 3B ׃ha` ^@bdaiZpp0\Y!@s7>;̟^.h.JJIܰƂٶZɍݭI "0 шy6WP5u:d>>[z/yϗxdG0ThԤj-*Ÿė#L~}}pCz=ȉrc(Y.?U[}AIDH,wjxfhVX>q w} VnЙG6U\`u\y./yV *rdv`XaM)-t-#y6xU3<&4;]sFyu : y:Qb QHJ>̾KR8~/cM_b#UkeH1p8(A0 )` &| f;YԲ.+Q/«$jgfp6x>G N2_CMu1*arUL?c^i, z|'QEՇ// G]4Zܩ κ G܎G@NL&Q,uLY:=;C9=#~^0Vb |Ƿ/cr4?M16Z-6Lz%?9rQ.943d8mYlX{Q0*q)_=j=3OzYőY$KWo1[ Os/VS[Cnl {!5{VLFRZVέ+ ̾5ZE ^Qb61f^%Q$Rl9H+mƫWNL+tWaǙbEKORYRxW5q`n;] ,,^f]@~q(N vk`eʡ=-Y5mv!{(ApQ;^z(;Ѯupo!0)6aE @y ╯i5qFiǥM86f3QE,#MHBfe%b%Tcv ksKKBAaG$m.[FZ0]^׏mԃ+ _Y75` x>nË: ?caҨvg2yBX+](t+G\ +EȃݝVsv>$z|YbRCEih{/ն\K)6,%?ױ JUbGU< Mq4ч:X#4{^mN&4_!cDG\Sr`upj[(S\1`lU oxjy7jf..L;E^Uch@v:UHM|b-&l#Qt5g/Rim; _/V]H _eFߊ Z p=\k@Ĭe7L\jM+UBȈ6al6jM-Dq/"Ez Ke-\ו0Qv{@7.~YKt.\t4>[ w 6cA,l0jxt{{{p^;uZjR> aw7nW+v=DZåY܈W]pFz_8R:FE K P 3;kiW&kG\5t&>nT#LwT9|eK|q$"6eI ^v# Xu<Y{f5#(Tu!^j[ J*1  h団eUÈ6̨.W Zڽeѧ~R"DtRiX{'Ax-OmFdM{{¼ZIiT1/jf$)Zaߢ.Tؕ9ڮ羜g ݬh24S=֣ D?A'ZN/uO&Q$*:gmVWa! Ŏ^WVka~B &86mk%L0,WR7[_y҄5 A\f۬(T+l|أJ<<,{90i.؝ka3p AH,U m ٸ{T5(iL(FsĹLxIKH'5gQb>R3,ZgUꃉgTu="lUq}m% e)(,DdeIճޜƼn1qQZ6/S, V@=+ïVhK0Wl8hkt{lUCd1aLx1%َ *q@#`) Q \2IÚo!_J-+"=4ɇ |trT}Lp ~]`-ssЌ̷$fD]H(Cå`]+f(U]~6.x'PSEٓRTGѮN)wy!LAecpedyqjv#K||Di`bIuBm5쌺X kAhzpʾFflC}yT+ O I4X+*H ѡPɃ=)9Y^v̖OJW@;Zj!h7P12"bDvH9͋AeV ;evM<1A UE\¹8b؈VvdMo Fx6qh.H-vO\҆\ 7_:v 'dlxi?"{dUy;AUoT$'MI$/՗hnVOKԈknj?U#"/'E%87l9"!'zHSV a[n&/H {jƑ@R0 !D $O,FboSl#QyZ-ו?z@qoi Pfw1/}d$D4ǘ( V.׌''NςʤrGײ;p@'k4!/rWivmK`z"2c'2ځ7>Zq2*/06݄' Rǖsb /H-IlfU .ab" v JӼV\_5hxAG2Mlh@rn~IRNcrK5@eZ4v}wV ԙdU̧xe+7u &Vߙ+z2߷wRQS֓ {D: w+UH|{ZBf["Uc{0) OJݲ݌[D5)|Y5|=!Je}{J)U +d(m*zh.{I8#K _.O5.oqUOw6Ή=65Q!q"#&Kۧr ѓ)jE G¢ƙm ؎9\ cgIfKےWz⟌bБGN?}Zxqn&[L;[MYso$e C/!UHŚ)K9=M*;9H~}u qn8SF/[|0p#r/pZ=hk'fղk&*^5ƷpEjԢx#u߽yvIasԁ=4BjUڠLw`EP%[4he6qOöp>/U wlYq0! e )GbCmv{*yO[Zz6,c'h˱hg쌴\}U˭]ZUwW(mw$}zS1ݩv2oae'@Q2^c)13GpGj+HW%T` G0%Fޱ]+ibcYvd!\H._,=biOǪWf;W=U%է8kڮPF ͊4WORRh&rV_ч6%FYyI*١'k-^/S9jV  itj.]B-9Ÿ}?hnyATμJ㡫S"ZaVN"ZrRßUoagnUN1RB.CAg Iie}KYsFvdF8!\aWP߾.nd&}/<w {\,08@`=KquM57G2C1<0fkR^=6Y^dgKW_ɯ:f)Tۍ CS=FE!HGPjUwp \!~lay}@%a@UUYxwM. ϟ{pؓ8p띿C(,TΗI3NJ0mׁ(uaV beȭbaZQEPTzj50/w{l7/ 0/\RpX(#iڣ)$'Ol*8P.Ӹ> C^ Qtm%E .T] Ƹǁ0X-{Rc3.nКQڨy􁋸^[@A "O 5ߧjxLe`3;pg&'TR #DA5 J=K< |mƦ{ιa:EA铑^WG],i=˺-挮ҙse vʹPx1noPtR'Y,*q z_xShl>ԕ>[%2V9aORfEtCn~S|>dNj:rQϩ>҂]3lvJJR 7!Y(ͪ Qxgٶة68{dôXCJt,1>}2Ju&卒bBHG$5sؘKF0Asc|~?ڴ ?!Aޘ7B  Gpl,e&^YXo N򧹀REQ"zg:6hjRZw2~YCCpqD's_/싒 $;,BKQj^-<)eRL'()kVU_@h"j|3NLr} 5~dw*rY3Z`~7i~*rjU[J"䌼^)u/a *Y /K @z;Ϛ:xge~ئu`(c.#R7k40vԳV6睃`%v~z\-Ė7󭪷Xy38iIۓ1Èh9 i<f5HJזhۢk-nmU<$gVЪx/s vA`T`epA%U"^a z[5#\: /R ;>n>A0˅;kѲ>>/*dno@/ B2uJZNceZ(g/;IR Գ|<|}H>BR+0(l+Y}[)HG&ӑU2iquqUAh E*yᯬ:X8fcXs=jӛer'6#d ?7EnPS־+]\_\o*L\0AV_ C2 Lm+c /~}(<6r$j >a8}yU-G@|w~/;Ί þU1M wn2ܷL=n,?ˋ-mup:NY@B$Ud _"~?Źjp>B %2|VH,m)]o/ Dw-enV ]wf]5P cUP>lON'}rmU>sIx}\;䛷 Ǐ//,>X?+V>o$4%~<%Cn zJpq):Ҋ2je_\=C>gh 38O(E"J$e%4AjdJ)'<^6zt:'(tHh7 #>o^~$ݎSq0Pd' d `؃CA7佱!ɪjBբX+ N[h\kCMW$E/v$P_ܟ5_wAz{m%_։Lboa0!W;?Awv~AG^9{[ۃ7;H٫@1{F3@a#k#7/K2'ȴ5yF ҙUZ'^7>bBmh۬עG&c}Ԇբ{ AW[Q`(z{KZB3~.>\\~`9Z]Y[yD{-gGd.@-ٚqƕIƒq});+cĵ?IzL-W x)M3m-@Q"ns8-׈I^9,G&=Ͱ@CLym[qRs4 dAwHߓȤ#obaebbh(N#a;YKFC\,d4Ub](=%KR\BԵ)njI̦tQ23vSKMIoYH]0[?զ \#Rܥr/@)WSJD Հ+ԬG^5knU&5,X8`dc4<7C&ðDduxHgMKPU٤EUɶ\eC[Ϭ9 2V5z)8bȎу%hO> ֬E*3D0P_ fbRtnc a/XjC'>v^u/>/k6.Zs7;6H<+ Ǥ ew;ݱ-Td)jjF }jΣO }W*#,>;UKGs,h=> <;UM.SqO6]fc ՕuOt۬dn(?#8utN>|inY7Ih++w/RwSݩUE:jڥe\GK.I\ k-Wt%.4"ݏNPpi}8 @9Mᔜ4TH5`-ا/4ϸ2dy1aKĆҙi!DX(ǔ镓"[+GIv+(tz{i¦ ]yqv_,FWlNɪgXuC1M `Pi9+~۔SGD]A~ZAbZq`1ȗ0L/U9V9fݺԖ3T~WKåk,V5`J&FTQu(oi&ٖؕyv'P G[+=gX 1$TMu&YVK /0Zq&3 H$o8U(׉r nLCRCݰ9Hm)%'RX uf*0F?Y5 zޠaj\c`#KVj6 Od٬ʵ0wW~ǻ`"2{ᜬއڠ䖗G'ſEWM-{156c;ZH!SFOZih=Zd :RǮ[% pKec{;Z\qJneڥPmr#/1_=v_b`>΋ݿE3 }SmUYF_#2 J#u|vTyZW2/n|L#LwVȐ|4y5Z.:0nZAZi<[x,?13v0[RC԰\}s.Jz)RaU U fHՅN e} EHSݩL*Yt ;lZIvb_%+&Va[C&TvQ b"Z01ˡzY BtH1>Ӛjx;fl0?kM3nm:'sx|][z;¤7" ŀBaF\ζwygW8!CHʱU cO* j'so;-F 46KrrtF [u? ٹQq`|{R4dXSzyTϫvZ?v8z=*]Y= VBPTʛI/lſҿd){f=tjT><$mt`G%kAiv~1~?hg =YfU0se2FBIR"k^Ld1dlce&% ]m7#|" rЀ,uo>/ β((ۺFVgbm>@A*A99EAVx{x-HNg~[F~[A0Ï?-ON7;X'\ Z2YD*DZ3; 9NyCWrۥ} צFֲfvLfj(2UxbMy\ؔ9:kKQbJ:aceerVu3ҪTWKlj$?D- d9M'ZZ>YvPzxB^/&m5 K15ʣ1#!mDVۍ+7lIULBABCdzD0Ŧ]usi0B ,Jm2W}%=$&UZ#KЍsl׉+5b@ DSj&I18p{g<8 .S1T5.YMo4T @UXlF+ cFP}FOq~ٕ<պ u z֐f|{4cʞ7V7:rHzdm4ͫNǷ6oZ9ߜf'臖M:LC{^l6[oɕQXRaYͺљQiww܅jNJ߿_&lZ&YDPLS=6x FZh>+-#ʖƪłg ֠oaʸiC[դmȹrf:RX9мLuXX-W5zIkL6 Ӱ6Dry9 NIcNϖ%)RXXhJ׵,xQ1>#n5}RX{haGYO5_7_~B:a $p@UQ$cc^}׷=:EOx慎-@bO-ܨH%;Ʉw c3>,Xsi)K圿Q/(eۇ5HY/URJ{y zq%>&˂dVբ[Լ&l[ Rf 5 4΂{?(&LeAMw2hIHrB;cg%r4^^.x:AX'KwOiخL5EƩV!Y8* I-j]EA'/w=gt*E3mm!ȶt2;j%pmQ@*%b#w{a %^c\9إʥ1BP(d{CI:UGRtnV)Pn5_8SPEY?E1"3ʲ-(>DuYV;B}D'?@գ]?Z0 3I]AGX#Mr.ʢ%^6Qq-·#-NEb>9g=[ QNeV\;Э.5X[ü0Bxn->9Wa~kӚB{ӫ I$)dM=^ճrU`44M`w4]#)h帧Z~׽KNv(@Nև"<Y|hQ>4PbtRFu TEIs]%7$?bȵFHP򲿆FIv:S#^ C!e?LmPRȦODiRAjtNK*Y$u <c8SQ c}ۤP7W"HFW@?Q/pQ;ܠMT;#^TE9pI:J,%Oץz,ROSnIn8@e!ƥ m=uvP}QqAYOhƳ&uGVxC^.LuYsOCgZgƂ XXX#XRfux:B }e92b^me*IB"au@S1S*+6XF=GGa cOeW۠}Lf.ob}hc~@ L -uL,8ャK*o%[G?բbz)ack ]} J4(`.X>hlag.)e>nOL$<|`_C?Kbγ:)hƽo'DS zȟ7 yø7 y1?q(gTFVVVY\Y^ ~=|?Q gr0x$$Êl,lG:%.%g䕏_{eYwdlp%yྲྀk,\_ln5@ۋw$vl{C$l>{{5_-T9ATqU*sFDUZo3n кwꢅ^C΄WX%&]Fdwb LftK_cPXCzoT_/jUUʅ;)+?UՇNcRph8A"BYxA&'~MҾ2 k!<Q֥lYe:ڕ3Gsug@|F!^8pZΧe nTB@Bqo·╍BnT/ fWͱh.inC' BwK$@x@?\UQF;{㈅9PZ?. #%J5R8Tvr eq4C(E"("jٛ;WEf {tbS:$1z;8/ʙ3p% )] ݳN(/HZAlpNKmߓ Kь/taBEԮ_b.,[iZ8-- )$f@N꠬Ki\酧 Fm@)94QWZg5pPWyx5Ӂᔛӆ=q[-2?9И/n6/@ ҍh{[QqXTM5D"䬄Ykqߨ7z-=_t}.f 4F])agG@Hla&k\UYzUbݮ墂_(^" ]^70)n:cn.B;u:n/au8[ZI7 J(>4!>M --y)SEIpF1١~RݓdTަk Aӎx_ݿ'He+^f0@lAFxLcͩQ?dazfhcUdNMNuk+ A֗cF/ƓWnHRmM5L%teMXߐ402F!nCe= 6"$X:%}'SAe` :kh76e5 Rͫc)/T%P{H={UlȆa cČ\EO6˗t54úfcƒO(r nb RC0E^M Z"(SvnڹPlTnU;NWeIYc*K6 #ܒ)n+w&;6=;U~C3fO:-R4R_s)VS&7gX {<fN@PBmMYWMĢOMp>J@gKk_JNkmѫt:3мԍQsU1<+MP=]eǵx/YP{\Fruְ`KRz_c)r& dj&rj*LV()rޜwd1'M9ebR.%W.DA7^YڔF1(=[L-q)H5kU_ )+IYgY%gxM@-j?E @~wH]5.Cc"1jdYB:V KF  -jlQ0ɃCgdvu<xDV9|.{2i4rOđKCd ~2?u)Są7cZ;?_=9qrpʑ%)t2h4q*5fمXC`TioZsoS3<Š}Om<$|fN#?_|mdž<t( jB]je;/rS[獡f*kK.SnG`TS䋩u wDYaa T¸YKB%dle:;,vN$jQ)ZUI3Fօ2`^5= uܖ ݵ[izXf%7yؑоnsg}g.kZZ.n.)Twh`SC P׊77s{ &ҷްPbvH宻L ^Y]# H40RY1&&p, Z:'"0OvX"M~d@'N5XR[ Өr_`Nj~^r96Tu;hzpvؽx׎Hb%Oq|\%CÑc^oh284}]Cva2$8꒱t(c1=QӶY(C\A G׿f:tmbT S``y}^Sͨ_MI̥hhL(L%n)Lh$D:G4jH1J ?3tni%qsmvw[ 7;G,|&xf-FٛN9vX-"+E?;.Cs4Q VViZېrq Z`m-0ݨFw2^c-S;>OILfgT3|a 7d-y3{I]󁺥jmD+˫%^g%?9kasNttʂ/:7[Q9uZA7+ QcS@\ oPӟEt ytѫd{kdt{M‡ǦUBDTg觏fE5Zp-`BОM N +PʁDz; Εtj=*qfW?sN^e^˺>vy!,yzxVAwQ:!SXV%]"]l9%9t{CR69qTygkPLWza+mVxUQ^?Z j<(!(vg%P?Z#P ٻ&?VgΚ^Nl\ ܅_:Hk74egl7Q- {!+^, ɸB7{)Bpo Sc p[g\?K[&D)2<"!9rRzfA~`|" ӥԳb1qLOF{8EZPjY ^U<,U\gscb8~hdm2̇֫(1ݫYc~/>Q\r!Y*/v>8bۢs 3Αo ڬwv>~ij*JZll =%^ lDq^5Liᡣuw{r@>ِu'Ѕy:TPӸ#2 ekG94cBntZw9?{z[*ƚ8NoZ[y\[YV\ ?Sd<`^O{N.=[>"X!aq,>Ec!y cGm3AE\.*gϦ".4JTc1vC+9 Ty`"yU!qgLx. \O&;W XO)p:ț鏇gSC,c1Q\c1tA4i$9? E0@U^xWEն7 :`icм(Z0-WmE}&hmH)h(0D[pw^l;J~98$om/ s*y sfی Ox:M^>+ԬAr%WI|I{ Vtum`\v=58o^|KĭK.~a­Bl;N$`tmo'Oh-zБLԠwjiy]xw;FaXE=EU)O Q:HSW.#6Q_κ J&5a&S Xh؞@ e*g!+"2r(G<³V+'S<a@^_T2;t xKb7VVd,X #TTPtHPHӦZx٘n>Ϯg_%&W8IҞA["ū]h% C]Ql []F`gUg]'>7 BCs$W݊ǽtU>86[P{NP1Յj{hq 0O-FckȈ}Vu Կ\p2~%CT"`.T_@kxVAdVrBό@Y1a1oӌ;^]^%5C `{]`ם׽!%5괣3եH7%l:pN#!XR#P0n"pm~Nmg:FLb!0e)-N9~NbbSe9y%E& xZ g(A;: : ;8%O:S:W*lŗ<鍘0W:# k,E#/+cʄ6w̲k&7eR)/:`\^0p)C8<[e=b;g9on~^Vs6s iLe+g`)EgdJ_e4xtD͒wy(xqWԷUA9]ݖuun6PkAry6N1Wt\oi )cLfXէ⥜i|ӼU2ceHU&h{9P%7cS #ǣZqY Ahߘ1jD&nY6 *,X{j* 4f[R5慖W%Lȶ&/XܑĝSPWr0Mހ7 ݙj4pB)oneZڇ2I > /]&iWɢVse0*?4.?%vȵ6%Ƈt]/:p|R&C3z6̈$"jK?PyU%ݏ UN!T3I럏Wt-n'w& v&t`䘩kR)U 8nƯFuNW]mgtY9* %lD ?ada d)OF UShii4z?/ ;}GlU,Heп_,u`0*fBu!b oz2Xs2{N ȉvd }&| ٯ[57WEJupWZ&c5څzߐ3PinOe6⸪CE,j.a,?pU?G+h!՗^%==*:^GG roG;lDI1No0<#sxAʷ%4e\ENZԅCI*jhgx.>E?LI*q Ru@'PAaU/x!{w)@O( &JgLodH:~lRR= O{I3 ꄳd͑n9Y(F+3ImyCZU!ow ս6Z,JjPW5n"%S<ԽW8"k?V.~L|][$s#Gtu+0ÛS܄J}g3y! efz˪w-O$^]i74?6w*j43 ݡsmA4yFe2 Ar')H)|r;-Otv) t(2s~z#-[*V6+Σ)P :>Nx 6Fƺi.q*7:[e7qޓN~tLb,-Li S4JdZw}}h֫J5^"̽{M~2(EHLJT _)膋ネl>R,5hյxeENiP)i'a[xJϲ.>~tIG\zݺ~Z_oFKzq9|~xV>=XyW>\}-ߨ)?# hKVB_"\f=MZ>*l4a׵dܚ1ĘnXCa0(W~z&lBTսOoEF)Xb@ƚo i:6ڡylphؙ#DZAC?Ȁ`(aD( 5!^uxeAHB:WY6 ۲ D 6'2btj Q4$p0ț39EEZ,5gD8Ym5ʹ?Y`P8eaRz5#Yr@- w8!YǍ>A3D&k:UB@fowJ!Oڻܗ#իPJ7v{P-]o>c: 0 M5i-z(BIB[MM;w{xָCfsN۩pn 9:xS܌иz!w$l׸gM񱗥!Y}.fKYL 3cF)E'6!J$Z(-Z(K<,af~;o<9{9瞻 %~g!r̖:mHIXPP@NJXD!:d`Z̤AZ 2eJ l?7ZP.L B  p~f 5ۃfl%FMS!Io AQ|ھ K80@ TeM섘zϓ{=11*װ_I#Ħ"x X+u ;6i3I]Q0L%L lS "]xxCp0SE*4QtN!FE2 18jhQ;[2  N.%fIjF/g &e8RI4.-ڲnDF04\Od&&m  NqP'׉Ak4 Y1 1o -IS>[Cʴ,u (v=N7@Ao"b`FD5ll8F`,t90h/?utu'hi;|A GGо/$aR %6pԏ0.Fii C`;E4x8 FZ 8-m VSD66ga2RiV* EixlEāX:XeHKƐpx0rڹ0BQ@hR0 1FH0Mdj\ +)VֶH+pA6s!FSND@ b!5@N. H%=mDcTzWyx G(Zk CA5~(_&*|^eBL>_+/}\`@ pXj_bEHCp^`|tȱ1ͼcD< wZ~g}Eib`WX L$X6B*AS@c)Xc9p::/Zrr4P4'P=MfP a\ F eW&=f( VN0@@r| VKKΫzp#pEGN=> #2ikDf"!tJx®ɴa9@kH6L0A56М@`,[DGф8{@=GET TF. -JA{@} RL"nw]clA0d؊NpEfp::pH,`5 ñ'鳮Df0 2j\;ak,ղ0$#bG!ba }eL8P,;~uFp4L]k[e aVių p!}o01Qbpl=Ll8 0!`9F+0U W=NArAb#쬆 K xe#8z9kX{8yvqv!!sr:0 q[/.^Q#F8GIpGCݐ=煵 =kh;y;]{U.? cV0 i̖(x<'P}8(ۨ^c#$ عkF͍3ejo *O$8[0+cSwO\k.nQs/ē'57 "`X1h eEaSVVNa1f.8c!]Wh,x8xa`! GOd~44Ġ !=SED"k 8v#cJˉHp2Ꮪ S$ঔض0owMݑY'G``8s9wN\gg1Q$r T9c0M'rO8giD,1pDZs]&.Pv}:&g.od7ם@,<#F{GɳK9q‹o/"Mm{Hp<DSƯK!N3/3nΕ̶UzaadA2( HFYܟ)ҟ4ʂG,8 v>IW7L5ˆVI GO=i:φ^p V 9OP`tǠ'FՑ9I8bj~+u,:+La"sPpHfp C؁…c  irF^Q&"10tS>!GGjsv-"P)+9ajq^~g<@( X)u at'Rg?}3 r&pe<#=\ܜىNHh||73S j2 n5 Z&ﵱk51`A -RS? WKpx#9 i[<]2yOuĽɪH%g.6D$QLxц$"k ,HMc{G!V{0wj@&'{bP`<1 $V #)8Np>Ҝp?e M{o4pMM\NT12:?J'IdQn8VyZZ!+))ߘl:y`CP.*L?OX dPu2uHHp) CMx$,dJ> W{E2U">`tB*ЎSPaePStN2%^5; xM!@9@)SQX#5>lGB0e$:.@T ݘ`mIM  eeB*x@f ;hpkAb3*GLsX*V\l.e"^ąԃNlUm,IP' цW32TzAvnlÂ@"HPlB$ P΁(3*madL_4ЛQsA+z"@:aGe)a2/ERڃ<, N& rj& %EXk[ OGzfj+;+O7Gb '5@ S蹚XP2vtobp ppC Qh 74rwBF-fD S± D~t 2 Z1HE B' rD!ju$@m W$Ò7ʧJ}4h <`vrrd*GQa1 |1SHbs=hv0&0e6!6CBi+DKlƠ~(bhM5GLAsj ǃVyX-/2  A4 PZ8:xāYgzp'4I%AYa,"#B"tkque%Gl@o7Vp[+dAp6NAFJ`VK-1uEH XZTnFSK KjI@ZRӀt|H< tKGE-Pfސ =%%̕U5i}9wN(2-Rf)0^#"' *ƙKyAXL l:2B` Oi #"K.aml ]B ͍¤OЀf hWMdE}*V ܔ+7ՃZh$P;@a+ld,!8 :<.(mP\?JSQU\'"Ӳ41@ iak@NeH&"2P(YQYQX1B83FȘ1G谨9Bۗޗ@Ũd~>ãז)>eIrp`SNEvM[7':\}`Zh4rAbp!N84Ix^?pp LM/:l/'d,:N@;t;jJQ;^&Z" Y)*"eUXs0n 7Д PbD+ɂz38\ΌFE(̳ftjL&-B9ɘS3Ƹ#p/6fޱ")P"׫SՁ[ꘗK@7glAZv(2ϥ1ftN|fPg'ҢZ_a_"P7+0X#@݉$R{h K"B]H2;ܠy6p!B$#MKա %y,x呉|$AE8hJX#C_EñHhic:C66zdu3 GAwOi'3Eu;U@۫@fhdtN+AOjLpA4=3"]ХU0tYp@0(ӶSA 7Xp:-"Î'ZL_0#ۿ$jKAz4ZML486z YC8E#/E4"CGSe91҉Vx>b€$ ҤY9'798 B&Aqv}2nVEh Q- RbN Da)w;hk ,8;5Enwh|t2Ԅey IJahf855f`5KeP PKU[:aq `Z񦶔{qd-JB!UFZ4>:8MJ=Gep>BikL8F{lvu^&"8<$bog ̭rXf@~M[E _ |0x [ѭDc.X2 bMCW# B T405TCP({z]{gs'W__7 E0&ٿ޿|?K n\[O ؿhJ *{!M=?CG} 1b4t>ԟd:(v@~Ǡt6>`}n䶐H}r8H>8f´^P_q<7mf׳\*z RR{>x+rgQA1o%TW t(x1 x8Fmow#O&&|~hNg@1u?jڬ__H?G,Z(xTDv}&ROM5'Nͻ??:BkAN/?0F^AM'>l㛭4(CmoG AKl;s!AEH\Lm)8_5fIE}\q0Y+/v,MDQm@mKmU_KG_>ﻇb;QYp68ݯ ՅZdAR/3CdyHE#o~l07bOy.?KoM,O7'> }_*…JnLR읯趧3/Bml̴NJQ\ZpsR43zykk@]C, jyZAۗj%nKs>> /%ݭep3R#Az&)BoG_~#/Vw H4w&܇/ >VEv!{^#[֢&l f[O>b80GX ՋT555dfN9L2GR>=Ey=|(! {/Y/h)8+BT76p 7%K;Y~d3fvަs^m2Jq˾ lhŁgzeHފR{QpR&ie|1Y;4r)rA›{&+*I΂\f4 DCS7U}3[~"\zغGUHjųٻ D6uxs9\۵!G+JX7~٤xqXϴ]t`Ȇ5*R31խNe~_vjXzys4KxrrjRvH.ZO}7^0y~k|tU"wo;(ܪ\Ģڗ,P[PTKS!S,4:V)uE/<[D_ìZ_h:-KЙĥ="}Cn{/tSS5=;| g;2G=ܵ!;o \g=9V Df򒸒dmW)Io+uvN̥4>,9TЫ>atbI3Rj֋NE_(ijAGxEJ)ik'uVF QۢfPF&.رm!-Yzl|_Յt:SĎӖ&b_w^761'tjOzLĀ zh}y+i¬V!lansPZ91?;Z/6ft똾QIpcU<[>7̈́Jy%=:v]8h(w/fk>n'[Z/œ{z{Myž3 6RtD5v$Q_~ڤ\_l#"{G#!7F؊~kZ%wb^6.]ĽU!%OHs˛1/g_u7Vcu K ݱT\;.ðႱNEQ _6ei"Z_U:\79;񙹭8neN_Z{MM!QisG7w{[;8o^]w$ Vy8RF>o^ڜ]?(W7yg`dn=)O.͜x8,b_2{/7k ! ]Y̷Hk [Ot^9l+wOlUIm|l^GEUuӮnXz} Bv*lפm4=M.}3'ɖdfIjtq[e$8/pMeFK]Omwi"`=ρ#mMO(ob.͖TI[}m}z>sSI {kcsw6-0ijn z.1IW=t?;* QI+"yؗ+y/}] ~1N\_~S׷Zwk6/;f_c'ۏN8^^gvТA'\+4_ܟGN;iW(VDoAe*4gl}gV/s-WIfQf N~?lYn>*aSl.; U_ǝNð*T̡+yE )exH(:ȳn;5{uOoM*6 V߼67MG1r{y )|`Kzk|uW|zm_?` /hP_}SMhR!Oijwn:ͭѴ}Wɠ6}—+v˵К.mث^yt؛+3:(xDW;. ُzwGI}I=I*Sgi1RrZyphQ!͍-ѕ*{=_vV-gǢIA#Vylx;rïwC}I-ُ\!D'Ӿ-9c`HؓϚeGyM6+hm5k"3y9g3< ;V^w暘WBEeOu0V[2 |+s$wFh B6R=q V꽊 -zhBN4^qM(Kʕ‚j%ƶ>7B7X"<ۻ&j ҳj>58(.;.[K|Ӵi&E/v5'8';d:R;z}ԛn9i~iy-UFⓤ y(ޥ/f\0zuz-y6' sN?_˿zNT[e-|~߬5kpҝԼr,Y^%rAz3uH8^z`'fO+sʝt/k|WlݤtvGDWx|=dJb)KFsAAi|F>Z`NV ղښ*=Pm7|/+.6kgyNabNvh̶K鑞g-iTw7=?WvNMj A=nTRf s%S|Te;*]T#%w_|֯yM]Mݗ1lrLOSד篴.x}fz{wȹbc NQ/_m ~2,rĎ9YNV$<Ց믖@ܞo-bOji\/AMJZN]T-]gȟҝBw +LF,1-[Uq&pf|/gTPymgV4ڕM_{:S,ZVyލun:Oxs*뛢^nc<%Kȿ[4T}]E Efno.-~zF@J_Kdg^2ܸM]sŲ})~5Z#r\[7-m>7j G.n0߫7KHjͷ<Dk9xwSo"nm.C?Ii ω[O76|ce#ol jW=׭ 0-s >)4;bt`|Q*O'#vV ܥ~w ~ؽYk=G\;#ell'Wtov}&ZdP5k&Oצ?}h{qgMႺj1KUQ GE_=jX#ېkzDNbUra;a]mȯ/xN$ } *}EDMN/HnMr!Ԩ/ݕvFT#yl l8lQ6+֒%eW W5-pnX7 r-ϗ/_aor*JWXoaw+iSvuM״HڼE !^Zoj=nev/ U%דy:_e^}ܹfvHqULe뼍T yvM~{ /iC.4TcͪRL*H4_U}*r mQwhڛK ϬxG7%]ǻ>tUT8R£cz;mnt&p4][T|g]K:U͙mijز׋%uRUjIFz0"9Bu%7vZ|:ɾ?1SK(o=27N/ѯ<,QXS>9c4\JU2ɺSaUjJ?}۳79KA\/\Bʔ||>jodm4Yn7VeuoXqfγT\i%D5=U0uIMrZ4/SXgrufK}C>iWU~fm} |+sZuEf[Gg}9<[޴i%V.>4!k:7^to\#(J:cG̮m;l6/߶!QU}mn 86V5 %kmdm/Jݺ.$Qn|7VC2O裘Hv~-#!KĶ{&;tH|~1AO/3aNkw2͎j7>z@ jЇ_nԬ:o]l7le Tg,6&0gG y3kM> <.R :a߄l><]w*&/%l^sَ$^tG;`@i2~ٓ>:" ?{ŀSgE7_9鍲xz㇪^'fBns =m tt$;W99D_Ƚt\?E-Noag)hl+o_Dg)?bMޣoc ԚvnF5\SY9ܐ?Wlܾ{F>*ܘיD;^O {ҟ{v3yߦO.|)`YӕRVs?p(i,Y07+=3"J{>;CW;^VS{UA^:/X&!k^7 ~d`Эag%.qK$e8aZX+WS?X7zh#žBoF6qpUOm*, Ӿ-2] oagBw|b{k|M̧+Us6Slaݣ=6YN zMMI{"mv;z"V}]~oՌ=/Z)Y|@wnV/mѠU_3tH|Mߍ;vZm~cswIѦEN~a7$9?[~q-\Wb\zQ]oj4wy#hQK3=ooj3/@uȩeM/||ϡJ3ŢOra铛s7^Uf6ik[}~Ulz|㷮 GR~m#4xVA`jٽ"jə[<~= ˂=<ʭA6ono=;Ӂ'V-sSP~S}]a.[JZ~۷~ O%|ݡOv&nfNJ">7xE>Hd]A}J/T>M 5k>4l{:>^jhɴP5R_L+-ZwM-\E/|3.A )lZ;O9͟m[E܋ĻtbYn +niWyp^ߔ4 iW>vjo,յ4>I1+UaS~Ӷިͳl)쏯@|#!rk2F|(m9b O?˳[.>ؑ2ڋ.]ï^)1?8w]ޗk_^2h [$4gm@CKJg%*2:'|s%ٿ 6ا.6rzV]wn=S$6Eդt^/x%NMxsnGAG3.wuHzs wn@suNyMu.2pN~S%w7])ųʖWUKXB|\gG?gxLp|!}rR3Wá3Pױ!ybe<ŻzLWQOۍ\]6s)v _P8{.דopAK/fM+RGt"~d(i$vH?i˖ n)BG|rM\qTQ*_҄.?nhڕ3"c1L?Q5iG Zc9{Cj`u+GUh8g>C>z5Fqhsʏגw=ȡӪs/k"dz- _ nXmqI"Bm 6r`]{ו}\s㷏*I0RQ"a}P~sxrێm q~KE61fmhNu׈cf}m߱5xh>ߞ}Sc>?it=q/(YѕWg}}|4 RO>7r_3imku-K!OM].oZ'>~æxg ڣ;n; ljJ2^`cdv{Qˣ=ٯo8TRRsl"⦆̅2+z$nwڑC25@3C5D~VorxsJ>^ɟ= vcM7F`t™y.g٦O0̺+ V sJ34"sR7U WSf;95ž!fm!T\4'Okϖ-{Y <Ґg_r!ٿZuk/.+w*$&d~>/;bg:f/TPTm2}h^P0XIf~ObjE|: ~jY|`(3E 0p=֛ɲ)G,Gcԕ(԰hAj2)%:\% SZOLI->zr{*g1ibQ3ͱ-d tv8̶\dbZBEG[}|~6tGvk:_T"=4B/jswӌ$q:WzB$鄈tB޹:?Yg^nC'DtRs?׊,M?!2;JKU7 ԷoO>!R%~SS}nOpdLoEry*~j1r1<>x| [*\^C>Op6y )=~WzwGh*׻(BV&!K.pgĉok֩[2f܏-MP{N7d-D=F" 3]+y}̻R枔yDbۓysB \Ɯc'N wZ7S3tDƻ⭨c0-6YddZ.ՋYq)?n_$+d$x@bak4li/f %k:-@5}תω)Ib/ͨ߮u}s5rh٭1nW7o2M[;#xi%*IhEC)1/Դ?>ݳhd}^s=8*3 zmB-htbb?~D Kewm;y#rl955>iA0M  7bwZ| W³){k/ƷDy 9nv_ož[Ϫ+{Įx%U%M맬Ǜ,ZqJ>;wgH~u[Dϼ՘wz{]ܶ '+If]*̅*v]y}B4Ly 7I,hO\w5 Z̀u̖3ԧU8/WpSdfG+yK΋\)s/`}f>Z^pȎ[ݴWYThшgYnس͈̲\/?nxQh<7-Sj]Pgy\ՐAMڲ涰k{&~W;ƻg쯏<:~##ce## Ώh4/!L72\9W5j1ئ<;uwE.?w푾=1P峤RmM_>>hux H$N\b`WfK+l䭅:׆g*Éۅ(#G;lVUȼnqƒQ-W)Ys(X7H4!hf>e%]ߡӧT(ꊈvPܾB@l,2.zW>s;bF̡,\t^@e`RVL?4lu]9Rժqn5!Sr1`ԤP$hB>ows$ȻqZ7{G6gc6^_RW;U<꿥e |6=q_i;[5_CNa:贳/BK)Rϻ_%5BMJ|!ʝ%cswTE/- J)YTp̮&iyh0xEґݿ]?"ߣ ݂D:{F|RPUGoGGT])&s^=P9RB\awE!򖈐MRl6Mi"f~fcH_`т> ʇm,S^+udAȶVv9_WT U|N,HCRw҇,R|Pa "[>( }`k$wux\,W䑉@WywQrӁcaQ;~R Գ<ɢ߳KzoOJ[fqs?_ \,% Z쓺oFtvDYC:5숃Hn9dJaώ,Rώh7$Ύ^>\߇Y^w ooNЊc~}uj~WO/}/[QhZ!b-dv";D#:;ZA_Fjת\Jr=|$p[jqMOe-FwB粧MPz|eR߳ᑷK69 h*/A#7|%n\jiWUskypʸ#J7+zx =,^ڟbWKcw19]:Ppy\Rq\Ovk;2RxnwpA,zy?#kS@V c?.KŠ&K,F5vvܷع/\D Ң{3l{>t(gpjս D J-RLN}m<-=5A(ߧ^E!/g&T^~k61*:oҗ|kݍ];$9DP q;rqQ>xz{yrgq9u6mp vЂmf4mtDh'#Rǥ?`,Ҷ̥ұo;6t.e(jIkhO| }K75qzdhΏO#wG7ܧYtb"3Կqrp>>QKZJ纭Sꊼgܻ13O[,ib>=§ 00v_!E4Khʹ>f-|V~wz7<: ^J†ۻ*)z'aO>;U \^RR"&;_/|thZG`Ww1gD/) ^I|}EX׋ %TqlPr=zhbW~VR3iz+ jV,~?pN-Yߖɾg@4Hlg_f|J;)%E}3Je"k߶5x\?)GjǴ ?Or۩#ԯwǺ7ĎJr5ZxSmܸU,F~ߑMYoeYa;=AI4M!{bښwuǯ7RFyO_ow񝌖+Eq(?/PРҽq7;Ϣ?[,J#^řue^ռq&*-zL;aP+qƴ'%H|r1j&ee#RbBi4R"ZեW5{;$5|7pJͯ2bɦ7&/6.}8ܫql4Ս^5'&T )>-~l#uv2=mq>A4RUYujZi&:MJA G.Gfp݋B R_I[PeV_>eR3Fn}"e?u##mLj)d~"ijURf3g5tY^p[C _j<-ګ)wL.wu?BWV~agW7i[.kiVoRW\"M 8NPKIO^>rn=w- S\8_),sIQfdcGГ]Ś12yϡ|ߒVb欧qW ,f=|x>wOmzbNgyܜ +8C At'E]3GIT6;:uRŤmsCt̟Zq:yF_'o8(Ŀ FR.^f5L0\vzsCwgFo/Isfu7ϹlZ<[ձ=fWMhQs}޼ח9_"ygUX!Ԯ&`(َjqW˯k|-dc'ai␨̾iG/$mT= <lH~BtL܃үË_ SGmu:3NG/X{}n΂s=#=.tvX_?Sͨ\Z\wղ*ޜ$ vJ5pۑWGT$X(3Pkc*vAr%NFz;O%C&Oux.ba%+ћ`1ޣۆ}ٹ||W̹)dbgm\?W .n 9XOSNHx; ^ 3L<@" ;@r_-!e{rxd`$+}YYyr=h׹=_n&thMNN]:Vۉ1YDɈʷ='ӟXsw+}t|O=|yɿx{ƯLq m=XibYh2x`%#\{wRb꫊?3gyE3#݇ n ua76"7ȤYk0nN};M ݸTк V+vx!/htx.)E</p}D_v)vۉu/hI~B|h\%O%xL[Ê[~pG< /|K̚wQsD]z4%%D$/ʚonؘSs&VFI./ft>K,AY:Ujy!SZ\XȞ(?,k=Oϙs~c3A2e ZCW|VXn6ֳB</:ݼEogZN+GZYxϟf*!l)Lwg"?[~guUɊc9hw'ӻDڕe9ᖺdF=Ew)ϼs]I6OOVl5mqΞ}QF9'wG?2<鏫CW׮{VOqs^PKa~1ct=h&!Ci?( RѾ4[53;CW=l JtHҎm>U#“yK{M=' Zrtd|xT?'oz# 7CU~լb>^ؐ=[Fj|U\N}?7iByOѕ'Ι}mcRwH[_׵H%%̐3#uIó%wl s ܺur)_5rwYҋ)8/s't\aܦ}ֻ4K5%5U}^G{/"Bޡ3=Aux۷c;+ 5-g >/"k^oFo)+J?nݖ¥sⶻDzȂks͛~kU=y}NX <$-hU1[nC9\Ua{ Jr`"uw^~#&L 4fz7xV†3E(3ˋN<1kuMs5\Z ^w4캵!^Q<~,sl/ۙR2o%Ջ ֠$V6-hKv.Z\.[o-aM!2_ԕ=E|} n*V̍^c]0j:GLوy2F>%m9oflO?^$ʥ|K!^+ZP%i;rT]jK;DMxaٸz+K\$M]N(E] ^n5%Ý78r0!/0= l`gf˹;5%>X N:ڽK>w#5lzmM.!mS|>1R?rz^d ZY%ݹk-Y}Qo8zxmc:%޹>~^pSCU;ʛ{:n_H?-]b.lĕ 3]\nV_xɕW-umh z5%F)) |E.˸(֪Fn'Pl:DlWDnoyuQP*v߼z>+0U0`êq^Jyu)EEIڹ+<2(,Ϥ:/Vܽ^>t-qw84yUS7:4M<$)j䛵U̴ 柔 yU[~{obH>kTNT`X6V-zZ !N8ϭ:_ ׅ>nT»;?W\26OJbFWيP*OT/t=Ex;v@Z}р_cB_.upƽ3>Ү=2BGHrk\O%5Kptn]2:^,xHx^]}-CD䆬QO<g zBeWG0S|o[5d@w [<,rIewN+xxY˷M߇ns~OV.e4_}9Ǧ҅5AkF_gT9?$?pi2!4~Y os}5{!Nh]m36SP3]%,*|أゐ+Zfs"Dž=ٿ,hbّ夵#`ʕ] #o~WR<5'PH,|8QIR徸u[vyGooxV 7[EO {Z* cgq+(o3}5J^W@Z~N{c{;\2hK%~%Mk%‘jl Eshc6urZ-c:Q /e*Mi1jwPOĝ!z#;x.ũ=2rvcI#CWmo۾{H728--cʄUǻ?/چɈh&,8:g@ﭪvB<.\Yn@m~!ݧ7'zDN~:!s}KOeUzi.kV3yz'uu]xX 0G&>鼴@}luʫHtYh!V[NK{zKx^|l^񫮱'>5_Z;|f{N`~q*r#B"&`Ԗ6#%o:\ൠeYvAX }/`[ggi+ R+S.jcb4۱[eD7skeސz߱ܵk|]:Ru?940tnݰU_:S^\H?0Dлika^cI_^sZC"/ }t|27ooyh7zs}m)鉷J:3xQ>W;-?e_]JVb.Q:$h6+}<" k;Jwae$H"o~tμT` }vĒ=M^ۡpWAw%ϯ'HUoJ+}YrM߇zva.oݸ=e3 PVڷ#_&`%w:~ 7_R"ވ-+QѶE^C7[<}TOi=i҇M;tlK{6 ")o|~%t1pLN<i˿{é˿<;-{GRs.zYD7mG-'SONMyPVrLz1;^D,׮u_㛽Z:NӇM"t:aԧȕ-{:N$mRy!+J|)50&m־>Dم4Iނ7u]ɺ0\7J KuĹyN2MNoժb׿YQғ=kzgLRpƮz7#~krN*ȹT*NNgM{<ʲR?>(W❱K$P0/y~C 3!>&Q-%HphPn09^f*#OvevI}7HPL$ŋMr3gMX~m6h43Xث F+.`-[e"/}s=)U0+(~e`s_IZL$[r9Ldf&%\45+ć nKkϧׅ a;j"j.2xtYF =UsJ44AsP^4[43#F4-$kFi7籜ֽ{R|$e|__0> >Mo4D$m(䟶_)ӳJWjlkD*Oc6\^O}{qk~QRm0*@-wSZcǗ+B\22!2=DynU `*ĥ e}M <6^7&]Xa^vw ?_(?O?:17߿o7߿ofQE45Q:h2# z:z4u'>KdkV-G!c |TTO5-}%0 %H8u 1xjOࣃd#$:C KƭE' cX 4 #&#X$h e2hw8L84 'N|%DO|I" '!qI#q@]ɓx .r0lTC@Dd DTHFxGQX@"XYH56zaIhz /M $\BH,@$E !d@9 @UsCɦ:q AVD#14" Q6ÂiFGI8<1ֈJ8#4"X7z">5S@ \@#bg0Cq, GΈ1hF`, UHHP C]9WQ2NEBpqFA Pe B0Ti$'gL&ИT: ڴ/, (\UD1_$֋.; JP6ri1.X0GhnR !LX#c@S `ՀJ NDDQ0Շ""$ @`Afh[ HYLJuІH`Du(FuDʳDߍ a1Z`l` AJT~X]' Ɋ*!.lzZ1.* Tt*dTVa鄰tBTlݨc>jt2@2v4t:7EiU(&j 2'fcI\A-8,GJ 5>9j^2Ax4M!$@~'xۑDZIƓl˨܂mDuHƓ|&;NMB 4RjtԵDh`SwOˇT;Z0]&aiO#`4ؤvTcxq{Q 2zYpsBj#@=U[&xPRNT7w ƫ`tD@oV'@T1* ^#abTuB8oh f~b~ bR&V#Ο0IN`:4b 3ChC, MӇQB2Oɭ4"> þygʒqY$`P2IHP%2SV }RPȀS T8@MQ=Ma?o<d ."pd'gS$1&4jm4 0C'07Kx 2h@0(&0 #kOVb##Z"&͋NtAƇ̌h|:>f7%#Ѕ#PƓqT$'=bRINA%Q B\KUb hMŹ`nsTHz0Ι2UFeD D~jVxg*$9M@pz\6+_ѷ/P г3a2ƀ޳2OBI$0Mۀ=,p1IhEa2ġ<8_! ctPHFL7l_RD3f& zX%fɇ03i1˙)Z2± L<Ё DMb8Iqdn<8ժ?i쩜83HZDh vtNtn 'Pa[ֆ7G?G  &H`.( '0%D&d_$.7pV@%Ś*!]DaisVf OK5K5eЄPN5KO`tmUlI*Ti #aI8Ih<]ә X_ 6 LM S#2m8ڨB_E]=~BOcEL+TLGh``CScځ NY.Pr5h!>#\ L}u)6s3@3l)D> NgRĭ7vuᓡ/j<><9[]Đn aJfڛ@!l~ֻ`0[1`@_7z"@`.e$Vh]"--- +aS`0cROR hV&s6qSDUUĴIB:0!PLt>9j;HRNx6n ڎq:w|[AN$q3lND`2bni(Bz4i`B{b4Q Zy#SaiO&?@xP0&P-έ6fRQMFu̢?(CH 8IlVt(ҤZ :NL!2UzU?}}B7MTBtpB  'RXu}ƅƺ˚Ǻ8%FpD`aɢDNpL%NK`!0&9U[+ӗ飔$S),&G)ywSںUf"ǂ<;RI 6c0:B5#-5sFZeC45oNU14H(gL4;TB&/79{񸦪фpSCWzq5M5KT;z  kp2x6lft؀Dz7@gnȦ6,F`WM-RòISgB ٵ\1853{4Ncs@8{4NAޔzq &8臶KpfFlp8 6gU`4²M XW=} L!FU<5MCv2 -;HSKThxltl ,Kǀ=G8q64NG8Ŝ9NiES$;?)9Ȝs dFDu 0UP9b$)9Zl$F5]E]NljK]Nl*jYLH3^!$,9}-i]갗g/#:*곓;5@7نrW80:9(űU)sRF89,:$FT%#PHh9KbR YTE3X BxP1џh}P HpFCGqxA5 $u7dQwr4A ^h-G#KXL@ Ǣ•SmKN(~D$GIl̞O;B~aIhd<|ņSOs\J.1=8/JLF΍)G"%$ v d%"Tp+-V"cq'?1˺?uE>B),8 !MK8 kMGc˳p c X`phf!ɛ%cً!g\΋q9$rYRgp8w9aNs5El28ȈD8P 9CWM|X#xLPT(#P(]U6W7۪P <ِhL  G FrH,1*UP`B^}A64Eӗâʲ(ep!J ʔ0 BH&%9Z-Hبhп"XcJ)lL]DE('A+udž`9Y:T|3?F\ǠIHj)' U߀_#aXKjiB*4LBt^BGKp%#5^5›QLN5^.!8IR%j}mmlm},P~*~k0jo0ZmF(N5uaAǞVh2VI9,49Bf@#* 2T+rrx,!ڻ@p(-EId-6x%nId[;#2&d!lf tuekb"Z@ z?O9j$ )Ư 0ѪrL唙0#wur.!r%%?>xN%8nRy DW`v ͮuv5CM,G#7.g#{ 4&/т@k`~hְwhAIW@ Te%tFf#QUV3R5 2`3@u7K =@ΖSP',:np(u=w)hvb4T9lB㐥Xc,խ+ 8Oe V4<2I8 BjKm?`_U "VEE@ u)7RЋN8vBBg` oBVB>Tc48q,0  SPB1Ȱ\fThW@/ rL% - 8j %*tiv=qF׏c`]m$ۺ(|?_arס$+iƍ$dY11Y52S!b;3#"#SUks{oeMd1F}#i3(΃ 7|hr4S!ܭ,"%뫞Bṳ́+2si:F˹-9gf̼yꉻ) ȅ . 8|(T/ 䀞eDZ%{ y䂜s\,f:IG 5d*Lŕ|!Gtj+Ouob̎͞3Sox9Kw\bĝ3s~HĽ#rON@<䧼gf֥xwE׼ȿ,ɨOt!])F:0$N6v` vc8sZs"Ѕ?}sW j\Ĝyɨ?\%޼7%3u>Gq?mP\s*͕ MоqǏɏ?s2o}N.k߼bsО9?~;2,U_^zR,~}}IΜ=zsUˏCPiǏL&Wd4s'j~Sܴ{N qPY]})<5|ҕz}u}?+t5EOE=]:p;eў%0랦}~ wV>[hTKWC¥B_i75'{T lrHt,g]ٵLHDk>j1SDVtKdjhg3?~^fx^hņpz4q37UdEiE$iqu̅WCcLntEtX{mp&N7(p6zTŗ_?/r?~q>D4?6ܿȜ3io㜆tEgF y?'8!x o)9]^ltSmD ,z{* F_oOFJןT7fZ9|-,}}~s^mw^oomfx$:vuw{-5ZḺ>R$(W5m-[y]C2 0ߥ6xA# ; LP XM:σm}H 4D1ԃB.4"HznGϮT)ǫ+sfk/_UDj?Ne]+Ox]Y4&4jjDpKgxfĊuη.{Z=iE1F,YN"<y󷭙<*jSfmWiNg-fM""& K<#y2YҌ6+&Ej p d 4]إ8%ꇦw'79_pܾ7JMsAwqZ|kƧэ/GaU'>pba6֡Pj*Q=QCQt[Y1R*ebґglhEϼydB> sżgϘV9_k2YbQ‹t_n`o.X'ܼ13\ "2Nwdw[YY(e/NM_@$-`w$NvQNh<<.Ƶ]%j xXfg8:9Iut3 :s.駟n%^Φ^' l}{l٦3Rs&SCcJ#wߪ?c5@CeiohGnRoS/GzE'b9(KJB nfoY 0C0{[L(1utHqWR劉Y4sbE{)˃l-E QǠ0E, C6xzrQK65eI."i)[(oFY M0cuZfa*Yv5nU纪X*Z,`E(L]%^RSyjEi2ZHn&&E$ l1=7~~ﵖM$ᖑ?7hWSgjy]Ypi+{ޖSbԫ|. e`hYiavY4pD[w{ScǍϧ+U1ۊ縇k3\Z1s&"/)3zFFhFw_'A֝<*64[\,OOuf$f eP˲YɄb|IQq^}-}(E]q%}~cvV6w CꖽPoqb/Xmnr>Ͻ2"-xj> n~g]"&sVRAzx®[@Jϕ Wņl+j\S6 V[\O~R=7!,غ%^@Tt޹zŕ6́1LmLkQrwcSHVB.,/ճKI.z^ #Z\7I~MAu@:^ .WB&̢VN'.,˲>ÆVsCAsht>f^;Ulf_mOٖS,(̒]M#VƚKQb`süN;Ag Gqc{}:^m a`2|$4/$A‹$ Ga1jǜjT_89_f#ҡɂEE,CO8ۻaids*0l2a/2=Dm&7,5%*og|W'4m"L} q ӻ 'Y p'[X?[g`Eph?-|lQd`&+jK/y uĜdH܎H6L )uݴFnVgkfW+t;ޤ`QlXItLsGE'xRo_@ x,UQ?=['. wFv_i/3uzkU /"w/_S|2*\*ۆn|悺v@Z|N 7OfGo:| PKz)/ߤ8 iw2!}ɍqhkAvM_C,35ZO& 7l!6{r"Ә/gg;1YùMO6PQ `TV/R-ka, nҨe(%u8bOtNRGֵcdZϴ,',5tb&1,wA\aA/r_v&Dz{ق2~ixODNvQTEذ1>k۝#uU<*9kNE0Rx{|{9ʺ=Ɉ椸=VVlܓ#aYPt,,Ib†ܩ[]]2vsM1? {b#6g?MwGޘfi؇OMVW#y2Gyⵅ <`54ʻ>!b]zWDc]2K `3zmŜ/hs9z٧Ө76,Zy$ 8x mp+,H,S1b{صҧsqTѥL_:Է:CƒQ%}k^Ds !&-vZzZ,n:AMX- ARlb{:V?&k,z/Y84DUF|M,xĿcF_K?:Q٘ .~NoAEE$"Ji@k1u>+Z6̘=N]`SOݮ" 05~ƧY2r]"^H@k݈4!Y!1yM1f!`6UD,P<|ͺʝMGY*Ml~GL2JuRC'G:QZtMOdvNiq>[2?^t\ Y*f3]-Ʋl5o`QrpSDII$,BD2B}} |7X7^jh[|E1HO+?jcCv+^R3TU&Ew9b]ڶЭv oe%f^8`.ųžX6ӄhN%H)#yt .A.-΂%VZmF[-2 b%70GŜ.Uً'Nˁ btV6SJK t2?Fu<*CFF""~ ` 3:z,ch$KKv4Bݵ/+mvhxcޝxaZ] #ʳBp o3R}BYTZ܊V*Fґ鍼\av-: df$|V PjږTYCXp'+~[]1qS @S7O~iG򞵲i^7,jfA&A gӡDӔԌ Xj#W6[. 1ݘ4{FF^+%F5]ݯhY}Қ"?ƍpDS=`,ˊ3|ں%C@nλ>pz,smP9ڥܑq@euB뚀˄:=O7?^MUĔ4AB} fuw&T oc26Ba3OBؗ-u)R*[Y IɢWh/O0hr@ڧ,i4H_R=6xm2|t+ӓU+ă,{:ݙ+6YbR0s 5 LP?sa (E9֦71,vP&rn 2.5 $SnkOBbRHGXdn܁'aEfrLڅR完qRcٞAjy;";iWQ-nu.jefe)c3%6c5x~ 7BE {gB0]{EV{uCDDKR6G%V3IRn!w֬e:4r$MJclRl{ H$qDtfR \}8"x.gL[8+խ\B$ Hbjl9ke ײzOl79xJ=:'GJ'F4PH"T[!t!.1fKt#: Gƿ@TQ|)#~α!n Ǻ{XqP"T`4*u0e x :ԓaT)IJC'U4 MI轷)x=~R0S` ;lCqHl쫴-T%M eH:=#tf6w̰XEH0h*h-btLaSSn!i%2C5 ,kʱPFd xgqyK :ckH_(, >S]Kf7ڝs,6Y\_凛YY]YQ%-VWc`z=%,}=J ?8ȽϞ˹+adJ PfXz^EDvIiF'Q4F&BzswU(<#.˫VB5WW5VX‡Y2tU['[Xw &Dj9đj'v\oAZ  -XhF)rk, 0TgB,BOvyBT·kN|c'd=v (fk^i-|?T&T'qڿ_(lE7AT/ͥ薯8x @z-Y >72rrds6_ۓן#síx?aE%{)_-Sqj6k^2%ǎ1CqlwA&d#v>E@눸 pNYA%:tPDވi!36YzeNA2{>ZKєʤh%NdOW^ӳNxt/ wXBNJb% |lڐXMCY}LKlv{N]T?W@Roً0xdQc[iԶ#-Pi)*;YwD5mAG 4ǚrʎ̆)OXd AK-T V&kX؝"DRXRR\"en T ǓՄ~mtO4!V6a Gf$-6܀^rp ZsgDg!~J$0("]Q2fb.•6pؕ3D$&t7wM"H㑏T(jډ -:gVWظRM`a;$DXѾ]v'1f/HK&mLn{mI.L%Ж1yvYSB4Ik\1Y!5XjTz Ea svV2*Vm8hwTiC҂=/N^DhG61`:v?ZZa֊io2 FR!N7qQ ^!3[뮚&j]Nd}+':{l{0ܙDQڭѐ~,`Q腀y-u>6׷F;4՟]:ٲ) wmYrYYF:¤)v=VĽ`F);^ff29Ef·-K/1<-LVS{^erNl^y, Z%^GRy.q|@חPٸ0SUr8IY] L!ƣ`ʋ.α1%ǁbw[21=ˡG0#8˿4`'[g@L8&Ģd=tb&S G/=c|'#7-g3V:2~/Q<~l lGLգ8xJgM#Nu"=beq|;<-u=`{,^*qkD,eH?þ'p9u`1 Kp;PGh U[Y17I.>9{Y~K^$ˢKruYd*$fqemc^>#&E7F7}]JWW$11{9;bt",L=8a 36_S{3bo+#a>f(-P(}R CW**ZYיn"#~B&\P+japG?z `|v^]~vѯf|5b̌JKNzZx=:>Uhdﳁ^H SFgkN#wlb2hF}X2*AJ{LxlG{E$>)3^Z|`xs0C2p`$z9 e)nz8"|cYq6wafBbuBĜ_;o|,؁l*kKJр&OwH xSU7,_q6h#L5dBO^1}`-,Й'vW<-*i9?SX$VT!]Q;6XR:EY? lϟKЊ_[s!Z*7jݓ1"F)8[K,I|*@쫳34X3>"js3]O#DeG 8 u<ɺݗOe %p-ۤAq WL f9pm[DG c%RfM7ִ˼ιY;TAE~P?2Vfu [dYe/me0#c \\1:emo%+] ]}pWprS՗f$W+ܑ0?0#(7q4+䒋hՇ$MS̐ȌdaF4{݉AR:`0A֛^uuT}χwo^zjs DK| }9םu|箬p n%L)q^)yswDٴ~ cLӠ>hm0vQYzfo]jӞKA8Zc,wCXunhd(aNDaeJK2r Dgz71݉:ˁl+ZW'rjq'5XG)i?1d8$sPht55t v wMU(^eI練w,YuGX A@l $9rɭNd/'6!%>RK6%0ZQo2dwE<[?YQ]@8-Sk '  uHA p$*Opا s9WakZ]~d)\ɩ.̀^XgrtsU/n R=Νq#fЋ{ëW{Em/J]wwv. # lL,XDyZ[y&3iUW٠ߌ&=PVnҧs9-? &&^!mQ(W4p5!xGEԺ~ eLi71i5Op1蛉pJ9E0v]]C~ctt И{c7 It3o&,]DN_D:kglc+7bȏ$ɨvLm?D;)B"/ij! i p^Bg-U-OZ! c=ZסؘUF7}7K7c؏r^'JjXT%hG9泟 C'G%ٞ%_r?{PNÿНY bvUU+ˍTstElx䓑 G!։N>pl-y_U%7OC9dcD]nFgQsVmj5GH}Br'[ct\3npc'=y$I`lmwfhP 9W<@ /Yq5QeiѲU|ADN*+ҾM5 H$B#c@EBwsH4CHmUG VaS6΅li{}@ESs5;Rq%^^B_7!0qlyrY IN/,%-AVZUKЖJGQ5QOаD֔P\#D4wj]wXD,M$8B̐kNɺ%iopOxA*Q^c$bH+|7m!*קnb#2N(VU{[ A|[kSLk\.Q]:v-J݄ ,RRU-ͅ%rG8³Mp17Y) :DXQEz&ydŗ2[b PfIjOoY7$V1I8Eg2$1TwVcι/y . $ޢ{>;,Mq)$'b,,KZu!j4\j;ܫJo;埿8fRppM`֏H?&*M*u>ѯaMR g{ѥ0; ~a 2EGd0*ˬ0+.<N#,چ'Hk dGHj]TJ5 #U⦅PLXqdHǖ_R8x/u57=m8Y\`?c=CIVv_M}`5LmƊJjlM+d=ԇbdjcyFʘ)c~}7Ԋro>w`x^^XBqLi{I,f:S5nc!Xb-^P>n&^y]r7/jaB,`PՉ3gsF1 XJjϲ$"bXkd~= [: 4'`nME#ۯ&" bha_Ct /=jjh;,=_rthή‰6QD[f-nRIVj7%B{Yb wrX< 8 8VQ63jv->IqP_X]4\ $)%;fq EWEd s6V&0kr별:Z"I(2DMx`˪[C,V LHV"j;RqZKld$F6KgPmtRvif]t HW= 䎆x[Rc$o=r֍xyAq'~bMkrT͔~Mfei[9NzU_.e݈锒{JQā'&y&6 B@)EY!6fdQ KO OxSaJ:(G8² 4Ù=EƣtCwa2W"l5'9A80OA0Y/Gs#ƛޜ8[:;1\ן۽N#0_Ly{4bZ;v5j>пa\3Ff@%,R7FDXƋCnLphN7Ygv6@;(9?/b9Ϊm4芊1<`kdtb6gN$?f8"|"'?6otz%*So6+F|??r@-LIo<#ZR!TD+/]=\lģmcJ\< ~Vjc~AKϵ+l|^+~ֲs~pクSh.'SGg1K9s,"&_{QEh^w.ϸcy S,[}yhCIq{uI'-NV@U{IYS^cnlڛ_ҨW=目i.0zR..ix Px 2wN~{rM+JSO)_Z2l.n[1 R*jsR +SXx%icH2<B;!oU,|]╙F+"݄m4do&Cv$yw+To8T]E263w:qw&3BdgN6їն}3A<_(VcV($[P}hd:YH2 'VE*L ]EAk۵>KbBlޒvξLkCTC 9~yb8v;^OYrJX]Avb7]IC"GJC j&Fc$>qNM>Sѥ~ڑ DJf !X Ys钃utX̓!mbJ"Bzt 5ǪFsEhwV/43X3Kճg|ܒ7eKQ}2]AxٙetE 1c#͠dKGCh{9 n,*Tgҏ4B< R$yFcMfe($%pwE_< ݼٳ6o4]ꈛd 6Ď7Fb6eran  6?0hoL9lOmɮ#)lRTCχ³LgK GmN~7WXMSG G$&Ί̲Xt|Wt8r_?B.ȢR;Vܓˬ?rhkbHeGJat3T];ֶ,lIZf&9"N/=.Ad!Q_}O-@/p7!$%%& Q`yVۧ@=T)eXHDڪ!5VB@ $*CB'4T)ZAXfmF.iedb*Ⱥۊ+D,X͍Z,NUɼkA<'nguu8}^g l4U֐t=@4'Yi:U!–5uH,zC2^nS:MZ_qdètB'8OB^lA._k8$ӉѬv2ƞ͕Fz:yljPAQ%g@K/9⌱2cլ>bcg/ZIMB z<9l}ŗ<92W*U+2,ʞFwe/^`/P!ӗl,/Hu ETZxu6 2ItTIU(~`7>ck zemD̢IA[)S+%:sG5{@=ԹIlҡiC E͔fM5')76"l,XXCokmN*f̪kXUvUK'8,“K~"CD6^~t_uROI[`q2׏nW .[|Iat:G8u+B^)cW4sveކ6}5kA =^ߺNX7͊^D"cE,0N&l'6fŨУ 2QL9y LYqDlϾ$ݪOΈbw8Cc|gdœ8Ȑ3d a 3"hhܕ 45' C  Nzml"J-]m!v?YrFP݌w Up 1N~_+fBQ6a1Bm%)δR4!Gd\nbU޹#<3s/Tn4,{⁂9h+J' rG(8s-k`. d/*pr Áe YaFA;90=F^|QDTR&ZLHUCmf'T|Y!/mIJK-:`w2F̗ondQn@5چqvCシQ&[]ޙE)K_pR4 J+F'ls\RUKdg pZ|M3\tdv3JuŞ,k.HEո9~O[ L(`!v1p8+Q M9].?5*o4Ȧgycʃ$9'ǹe-E`Zه#ڴB.̑;Az(mM!ɅFOl`(ҺDN-BoʼEģ/2i?t˒.V%3ʜii8_OE3LRZы8*G] ?.Q:x:[fZTD*f/,gcz-a t 626wr"T2ly-~ ȩMEf]DiL dpcqPdF`շM߼r'7+5&OF4zϞqvnMᅶM~黛n~lA Ӭf\s%%+΢2DY]ׯ-ʠe_Τy=S is[=Ղ#s}YG{-NQ6#3]9Rq9#Jf)N%d3i˩{L gL.{5Ka63vqҽvdFt-yaDMJECmv6D~2'lC}a/KޭA*h^k=¦sJ4oPr 3L3$TzA  J:'P]lP,)'ҽC g+G o;2qt{F/Wʺu]/un'V]滻zlE议밒usn A.vr l`vaV> 8̧!j-TlX *M(Sv@6J^5F9ok-Ȇ1{ε1ic!1 fZJq7,/3/`/:=w;:+nG% l_2":^@&Z5Qc\'A'LZ965'K\ #ͼ2Һ%oW׵Rm<3r';\w˞qytw<1BVtd`8lO(|lu}v!)yLˢ5e>g;XQt?ş"E~VT '?ЩBtA;Yq8V$88 !U d[eke k*7y͙f)kyg:h]`Ny˯5A/<, w]D,o9wrMS &VL LH7v9hCOVW'c]z'N:(8cm^Tqz.ŧ礨aquy-,;.gDa.\g"[k>hb q;&l^}/FYdZQP.\67~Q׈=ˆG?Q6>| 2FQ|˶4 S1 u KtT2wo\ %OmU$2(Weto[q7Y-hH@ZD#KP;0؋dIfՓ'dLXGYxW+#,M楬K[ ٵ?aZgSht 6ı&tf;[ _z*߳Y1,d!:F>X2!;.HJcN3g=[t**l tbe܋<<fj f|B35b5"S+,Dv|\Ot4z!G3*:DHo5ii *FX@ke8e eVTer 1SW{\ю-:WKǝMReАeD=obLJnșm8q|Sظx1ۧ{@T yBb=QSփG1zu 6]=;fpq+NM 31>TPvi&?_j?&zļp=WDJz@fS $޿bJ$N j-4dO -9 5ęwXhI~=2{(vYкJӫX1,ė)Ny\q$uɽp =[`RM_"1f|eE Ƣ0 UO+R̎zΪOI{'~7yI1+p751#@l|Z<{rջ_$I|~045@2QbEvo؛vS v#Z.mNj/񎒕ܪBn's.YAvMs9͢'AGes{=x&tF9JG䜘u0S+6 9g/褟_+wXٹ]QLEr[VL~;VLs*/dʯAלv->xy( hg`FgF^Z [7ʪ4FzL'/Y0F܉, B:rjQi{~S* [Z[X}A]nZ:c["@ة=I^و#]Dk9m*9"wmXnݞGEDr#v|<)+4EC&91T)a>lhwoQlB/IX|铓D\4RGoJ JjHbnt_ قm#v82hmOѕ4 μO>hDaX$b+-mN-eІA֠Te 8BSS2~ QB1q<7,b^LU&U*R%0%‡=ȡT$\]f84ϠxnQ͚ .4S .&&Y Q/oA}/$|;hMtM[Ɩ8&s)0I7= <!C PL#- LrrߓKBjX$qd\Frg1sZ{ b7#gJ%Gb|$5J=7ϡ>NNXZ;/M&jK:Id8Kj7݀06=Г҈S$A9lF˗,p\Yn3 W[`,zZlk"l2jBjPaa->_"PQSE)I8:\t.DO3Uޟs~. $ƿ&I4Pm nYV(zHS=^GV?Е+16"'wa)XG(PbMW[IX 3 NdS;"7f,D14i.),kqTe :27i|F'kO/)c3 E:Ip۳sIWˡ$[{fv|˵ywLd% TbZƙm*ƈQ_]L}LZyWW(Nsz*!ہ 3f#tbn !Htccc}*|LZ5ϗ^w搖@yO)YF*O'F2+<xdSx b&"V!"&l4{;&cm'rvhoMCKƹWQKk`+g{fv PM]tM捫V OdMٷ[VсYQK-,PG|v3X%Mlq^\>bYQqK0U?0 o.JĢEW ,6q $K7*$6e^޹{/yKĕA<_#rF[L )0l+g=τKj]mkG'L^!_6QE^L)Q/DLfa^h}%;+̴gT05$77{q=^$_Pd2~F@Ʊ$2b^yߔU/åSمJ]/Җ#fqLxtfIv|Lro,0lm*w3|+M~ *Z;/X?9KG bnCmޱ"o3??i~;ȫǏsɌooviWOٗΏBq m̶kLqeG+,;rQxb dFìS&Wʙֳ &4 b=142>Ly,-ow>T~q^[\@lG}̑%`cq[bZ/,b@,Xbj,S <`_;uM_ 5N…LF&bYQ7%m]Ye:=GQ{L>K0,7mUE8qFPrTkZ vtCq}-meՋ_V/^nH_?feǤFgiC@ptom:MN4_ϭ MMvN s~kPj>U=~lpkx}*X xY^2t^s߆1d_:~uxhJNzQej]S!J4Ы)1z`03CM-n_cފk'Q(.f5NNl]LI> -Y]:>sz=oh;HicfDQa"a+ñ` Gh@}rus—y{>//J]j_g 2vdݞQ[ۅ1cFauK1o}3ͨovߟ)'nk"4~ J>y0􁝒`/4eLCRguK#@Q4Ӡ"QYt֎%X j\HMp=n@'Jr_0FąTz؈"fzA"~q8U#KZ-]̴Wd૫qG8P'b3_ӛJdEʞZu$Uy" NZJ/N}!0Q+[SI/yN(-$3nVh1ɊO%wwyb9N.ݕN{E1ܥRQ*ŢaM2YQ5kmJf%Z̺Թ^" Wo$LgL&𱋟B/8_F/d hy2,<==%ބ!S_d>H¦ ~G-(h ٢ l ?o&z(´ۛ~&/)CsJ6,69q$et _(qB's~n ר9.P`uraJ[])|.qX! Ɂ(Oq>Ҡ0{9E$g?Q%.[_+{}ֹNzCCKR`Y}\G?$ZQ}׏X;1*FǜBXHyzkaߐ9Jc4"W螣>}p'(J'pH)ƯE(lҰ'3~XWS.: w[v$Qqћrj;o꾕~y}M8lW'CvG OewL琛5 h0pkzt8o %' gF4ٍ>}6uMMw;.Dge-.?IU% C1*غx 7OVXOܧRֲ,TS Mt0[肉Vs<ՆqH+Yn1鵢}EX,5т&=<_/GY,9.k҄xq}X[,L*]: "{q>qF%6;7YR[nɖؤeX1䘖!s!ts̸ Ѭ;j1&z+DPIChQAlByNq.Lb{zp5]BS(+aL]A %; rD!Sp^&Cd<,{X(yW&Ԍxξ d ^0>K۬+']L $ە}.iݵ dx-'+TJU!|)D).5,>ewbY*:ٜV6F-ǟ2yN%ͅ(ǔ7C[S(r j]Q\7g|\t\"R?9gŵB\ cF&BIvI=FкdSyLJ}=^0uzv[d2L\ocYLQ,if揈{Y;!ɲR^g.G,s`IҝSƽs`_xy[O&aOY{WD\ҕI|O8j{azp[ ^fb&u-,|k4e˿k>STXB`ecpl5y:2 hSiYlݻWYaHu(v ԛ4A/a+*{F4[D${NĽFv,>o{wzWDRC7LlˢlołpW>n'nhV#RIE9sV4rzj }Fm2:` 9 FA'NՖ!y _Gؚ X8_ t5(k\cRMMucHhVT.SΩJ/" kQC#)I T?DvUUWҶD(EcDy&{{3of4ٻX^Nm*w8]|Wloe׎ gO<D~*Jr romdR+^1'>*OT̙,];="OdH:yZ)EdUGKt0G?qۆۄ[qǐ+ehހ0>9UЉٍ^L}K b+țHfC9qזsү0s.7Se$o@s*L5DӾI#h qԫ q<"t]U/<жsqlKY=)PVԶy݄f+}e&L^&߶zCw 76oo ]iōh]z dL{y^1@2.>GGρB9 @lS#("Y-<{ :aۊ`i)ī'$939PNWN,}Zcc5f.qc l -Y&(:,,)./ rRN<#Ņ](%*/w92̕4C:kg"[32ߧŸ! )}EYVKS/iRSݣ&bl#v}-χ{#UA[Y9㜋w*BbY_3) oŷ,VI~2ltT->ϝ\Ӈ\Lbtz7*QL=kZ s2ISUlW.E$ȝ?}1^6CS&9.G5wbS'$ʼ|fKNnTDgqHL3@Fqz촄Ax+u?aK3l̃naM&VKJ6A Gak(Aj->kٯJ6bcރSWeՁP?DrڴCM%A%Ŭy[ظh%!n[nmS}TB BQZ.i ݾw j7ñ}Y`i J8}`$xΖi(j(NDm-wdLS[*lB0Гj`V+^ozJݱ/K)ƁEziJ(I"t?5AөGSydwZ^!.Ҟ3>lU/2[U ۋ6B`: Х{|:pn"~-Ϫ5֗3Oڳl!IFt=~pT t.IE[Ger忹N\FPT8AAByM >h(C,(_ix- }Ժnv7h',tyͧ8JAcl?%H)Ō3sX4%~x"t{=[W^ aQu3T5Pa`hm_rASo֓aʑ7f)LOfD Uii'HeP(,Wq)^P7'ݘSL>()Ii$ 1be2iKșAkfռ+z1ԹEjGQ=K0[yzI8O2M0q 섢ҮHdPq85;U=YDg.O)GTlaV.rBYs TcÖ Ϸa1*XϏʢ Nӄi"φ@&\\c:Xj$lBU!Hqj,ֺZC=8j1t|dr}#󵄦 f`-{eMO!Sݖ!Wr#.n':3dA"M濾~qaJd41ٲuV>YM߻QN $Ƴz5+az&qC8Hඋͩ٧ hE$PQ-2nJe5LV~AK_gr"wɁB\moB GѰM[Fo^%HT]捺'ۼ\"?!7.j-zCF66ׯ_/}j+͛7;mzzb?sKP_?9S.nK6ՓSp*qrVP⥈9 {Q dMf\t)eup' K?QMW'VΰDŒ>,$oLIdtx-@`67OB%1^NoưVvͤ@B~ 㝑 m.wN{&{|=ai#Z˟vKq&)=f3DK&x,:8w@ nu:ܨ>u<7:`tx3PҜAR{)¾{Tt+/.]U")7V5 C J.vqݏ0ia~% L>5;G6TS,q EܿX."Z¨%tt 2M-QD)\Zm vj641/4E/fZ"VQS~7,S+x,٧Ve˱f˦zk:fz+muՎ'vB;Erxrzk[Y؍ֻXj*nz-9l0XxZ|XS~G@a"@bDĸ!zXqOZI&W(h:{x{7f{1"PVZ}bQy8l~` pF7c~7!0H7%$ Q[XD8Pqu=YqS,ٷq+c ~M@B \hǀy\Y؃.@b#f› ZhBm)?ЇV†\m:17}Aa~z'~߼ИZٔX<,5Rld;4Uܛ8 O5S[J4R$s] kЫ\9iV9KP nq9"XAG22!>ףg-=g{#@S h M2O}iC{ c:*FYfx5ci0}E& /k״ J+ɝ?*GmEw!PrsdN av5 a yov?u -~GNE}@^Ͼbxa<DJ^ig>^V(h(nIMtPi|$,שC[tS)OL[yLB~L(Hi4l=+8]1t&z2V34/X͎ .744_13UX{`Q&ܪͰͱa$'Heͯ$ @ ^Q= N8ᱞ]M&d(>|zaof=B=7- RO/%u 7Gx YFJZ<TQ'z9rwbD`ލB͛&3Y܏&iSâ;:`nopĵQ:F"!Q bU'ѻ!RڏZfH)'jTb^!) !Hh[qS!%Q ,`Au/:QMqOdgq-V=17} \/%$9#`i޶<@DWy$j7[ 'N{{͌h|0 q;5@v4_0xheOܡ^]|qLeӤ('JVl+܌[T VOU5'UȪ@ ϲH>0+\֝c%2w aot3 &Tstm먬 1kQ/5ұʼm0@?H? B 3ICW#,NGbFz&{"${;eW%CM1LjSKWo1ݞ9@#GRSCu͂hƔg4 s>j$)_JF_P4𠋴d^Ayq*j70HHNTp7$jPc $>hd x.24 R E$3u NeZLWzM+ CM|G"~ dE9̞^mb(" OW@*zOd2^h90On ~;*(Td{B3mB |842S\ 2]"Բڛ]]I+T6W_r4uuiW((KBqtmfZ.'c<E7A1_EBMM%MdS񵣩 KcUBˡ*oPJ}ZCs,jUOrx3ᾘi}0Z=拗uA*ުp i$j :}==C1:&a_|e0pQW2yYW)9b#X<<3eaqK@G h Y *څTU#vdmO /64& .K.-les}XZ*N근KJ9;PyXi;hf:K bkpCݝC,E3S:}!z| Xv Le(Fif`&bu!EPpĺ>8) {)ꈒ6Lyg8c` !_AXtd EdCGL,̍l+VƼy&s8B#S13w l]$j[hlPfK?5yu3QWۊFf,SA8ٱ{ Ϧ31vȋn%v7'SKImXBD"JG}Rg Ֆ|(cTQ6\ ԐHͦY/#MFWǣ3Tr;/+8B)m7sn#hVSj&YCCy:ْ(&|`8hr*dȩ@ojeKF[}hp/HS&, a/e`^ӌMm9k5@ CZer}(5ߒH9W#6`#,ހ% gy-d@Dzu{ udiGtlƖq C ~If|.BJ RivAZ[ z}3@ ͊N$MTlZ_фF|}XT]N47f6}ρ075n밵&fbMxBzSIXBN)DqmAN&۽~z&_6qytH櫔YAA\Q0B-o/IJjzӖHsr!/hݞp78{J$v]&}~-,? v3$t}F/z Y҅k{A_9ikF.HGe g c4""}?VtLlEEbGȈ(PBMPd1n(< E.[gjQ"DUp%WEZ2Vֿ% F]c4;˼W"0wF} б/:P/^_1؅;}FfWB>{ްT)g xhڧ'l9OXnE{ѬXSYȶY6R;ԫf.$W,j2|/VgBDo-蔄4 DN鐺 b,Cazm!T[OETx0NB_@wK@DP)| Bj Mf%hLө)z|#R oj+)skM/ps9C:@Os3T OQ#+1^2VZ+b)pˌHˠKM?1ȲrG=t_RF&.Bl$#7 4:, x㟃ɱ]P̔olH\4UFu)lCٳ^^xS芦05m^c9|0Er5Uml6qtZ SnE`#a'=q:t%=gIN q舺ږV7@Te[kU^"Y0TlEc1] T:1TL)}Z5bE-q":錝mN5c13}5"֌ۄM"`wgk*d9f +̴:}'P ?ԈRA,11ͦ l6)ҕAdx|*ՊL_xTq 1?յIHJ#$ӥCc*lJDіA`MX}t?b]۴{1UaTHf䈌ÄW'ykQ+{U>_Ҿ@H?Q,7bhQ&r%h҃.NJg:IK Bʂ_n❢U0:.0g7{g1t2n"y"]9J*DNrDSէKY4*ޚTt KbYp-/ջ^LPQR)S0ՒTН\@&T7saHtiBK9(KL㖆p܄GwlvGk[LKCZ}вU%<` -_hI5b~?/vSe0bm nVftRraŭ S.yo7r=,*GN+e4!\Qyzv{\۠^EVTqhm_Mw;WTY= Jo^qKROei:][jqe0Glʌ=| Ge[[S\H|_pnڑ^W\Tۮ|'ɼp.˪oT3te\$M4x}^)p> G/O%/rEO>D~Bg}Qm }J%>3>uv*3YHDKNp'FPxj(wr{ѯě!Ǻ/mV0t<aί?'o/ Ҵ|DDߥWN?ek"@W؋w.z@?EIhWy(ߦo=4uSW;E7?Ek%*F`8)wOZ>/UFثVcC~U n}qO QcW~'';2dZ%!p[ތxJ *o\YvoܪUஃ|ox@GXL5yT1<c2p1#!`"GH_7ͨ'wr((خS[ h2?Vn9ۂҷK/yc3jH/&wҹQ>oΈ2O&X jMeaNhJ yUm_702&o7{@) w^eR޺P*o&==mZW:"":~u0wG[6Y$ Rbs+5™(DƇA!lütwײ~[(yqjN;ޖ֒Tp(i*L>M."'yy4NW-aAUbY]24iQnv/ky5wXAdmR[LRz/Ձ j<>TR4B cPq[Qt3m7鞬-cw4kMj,j/5>7y:۵yFd\_Q?䥩84.GB]1f^Ilױ;>!Jjo}et5;|oTw943o2u!ݘ7K8 `JU/8;:l 9y`@k7CV}IN0#2#3m*K ҂δÁo&y!ϮQh䯟ĝy%Gd57t@+m@3r@ zG&>^E䙮հSX|rcrT2$#XRwjMh z}SM"s C;j TMKrU LeSPNGۯƜWk4ST!K~dCH7jmEG#Lyc~w}W'9"--xǔx۫5Q./;ЧLeyX0o{ KT>XFvNprGw‚yY֓cЭ5|+)dZ׍IPJkg2=deh% ||%D3rt70+9N!ٿ3@*C"69wyS[Aگ)y8gs"dHH|zۥMO:C7* s>(UbdA40G`bj3dԄ.n#l>T[ !:Ƨ7eU8}iWe&C^wDG¶\͘ jBHSYyN@@|X%Uڬo> DiP-@ Lu{I]f‘*4 ZBG N!Pw [cfؐ@!H0/DWT(bLg,b dޠ\2#?5e'|0+!2s]}ST*"PGR䓚>ϻ 62#)rU*Rdȱi@pl銿wq1ʸ/1Oy@bkQus4W=!$GySJrU{H}NW2.A[ +4Rl݌ʐVG"u ˇV2|\Մgy.(QSP.lK",{\}Ul0XSϪ>KV xAЍt¶F܂Ԭ`U+Z ⣹SN>WE{ź+oR(þU=UU˽ ?wUYCҼsz xXy#4b+)Dne!&5| x0oG;&yu{MЈN1Q ,Z۱3`ÃXW}ncJbm\_gV@d;TO i,<=\{ƄlϘpv>-]ɓkp\}z V7;("לi]T R:AQ<! KF^|vEw82$fS1'|PQtazYўUE-pBz_gX93Ai[TpDk+5Ѷl+LOuýb\֤y+:(RxJ39UDs3`7J|{CYQ}bcu&lX00YD+ӃGq-'Rz>"N,CS3ڴYUٞ.,2+#}ses+#*7#ԫ2+BY*kobMyE[K0bUBg"F$dU xԥ"q#rPPq2T =a4kZc%A3؍('9+N@D1[8m1CDirB<ܖtI$w{鲶r]y UrW@B(oqC@JSYE)̥v E6HfЀ-´q%2-| j"ꖝiԥJ78MlL `?CFWbƱ9NL꼃TUrjy!4OVTO[T2\a[4f*rKrl5c0[}(P"  9鉈1=Ljto&ӁzQq0Eώm_K[*T3qVӫJʣNl st8Y*a#oʑ::#ʑ^1BRniƨT}[p(6߿P67*B_o>j|iLD/ESJ&"b|(~/fI~[XR{%Tɥ /s*piY&&+_>F8? Y{afmZMA%^_053=lkUzK|ɕB7"R?TVn;{&k{$h3uSyT囶g̓cU%mVfz/[4VY`iu*Po4~.=/W>^rfb5\klr^c۠J_}}UDs%k{ypo El,?j(\"M]`74Z>9~?qS}LpO>+CY};~WmAxT٢J}~Ʌ;j6ێ&[F,@;G}W7 …IGk|`7V(EG_Gw3d" )V{,+R%/[~*2(Dh*-FO{>ͧuN T{ARۀ d Q@-ū_@ԆG '㏈E/b !?uIUUj iLNVXp$1"j!8u`֯YZuڸb^xlÎb,`hTD;!Z0!诇-^}6]֯4}O,C* 3f}Њbdʢf~GȏD Gj#g'>-,'^3d+zw(Vg#eU,fjW-")`%}|JgtUR/TÂPpWv sA# CtgO}T3޲q%2G*n@Ux /o{>c2)^ lnHZvQX4EmR~,[%ٮ a4W֒ExaNEl_;(tAypI:;8ƱPk s[-Q~|ûZy:iUWbpx~"&?glio~!vӲ )Np%%_ =o`tY|UWFqLdSEs ՜ gMvĄ#[\4,cYH>6bF'hc}Vm܃ kyf<%ۢ%g^8@*f“䕜lf>d쵆 XJXq:`Q7!Pvێ:ɇM1rU|qSK?FX %Nob;lQR)z8kz"6ft]-1ȱ 3S!4K:/zwl%] ~j1*DP ̈ʐ kS~YH?5[ OxfCi-3w͒DzTL!>y2 =V,R]5DQHs)N2.N8(+1Ckq2;Go0ؗy/h?|?Rpoi]-O'춏\uUNpu=M>5'k̞b#81[#NL>X}{ Li@rHα&;er M $۰pw8ݧxW^] cբ"X JmoxED{.Kj%vkSYU_:5;&CGώ!8LAr):֍VDd7t tDN*WB$ LשL%{-5I[_jPk1jX^ Ű,NK?k|)KT`20jז4{b+~l>]Ih _ہ[v nWdSD9SӟTן6Y\:VNCGʗD9 VˆknM@,;YE$&QGBfMa/{c1B%'~bam$Ƶ!- R*_DT+ف@_mm}6+<|Y+kBwcKk" mT}*v2(0g[KM*A.TU1 E5~t+gNǮI÷!kJ}"?f§*wiv0` +骖]B,3p^WFtJȝN@} ݭKŞ@d_VVJUH&Jr4DI,JT\J.#e !whE97> },ŵm݀$\ oeYq>S6B{ZAdJ"U7wp{QھR|DIN(ǃxxE:[cPŎGuUVGPf@oD"-§T8wYgqXّhOh D1zv_5U.>PmS <q26FD*TuS.mJ93%Ά E)x1jMds(hJAD{ %-怗kJE AY8 O{!l,gc5"aR بD`Y{&Ղ:rNtLSA/:l}Ƚxcs͢;UuNJOEoSbvG}G˱qÐcK$ʿE)}S)89ƞ߁l>lqJ KO0%]*boG8ݕVO0܆k0;vOD`M/Apú G:ǒ}oAP\aƧf0ł(Em_}7F**7+"{0Չԩx-WR"B~`*QHJ_Ķ"U—yR?wMebU {{b7l/ ɫ(+3xs Qv5GPI')0^mxKPH"{r_y @g1r}Ɇ u&Xo*5Q+#ݴ txԵޖHD4=!HQƶ:S%=J eX#^9^ʗ%TpXǯr@/?3øjŽH[ه- },kz dRUúاS)壯!]Q$̩Ƒ*/2HV{v;Q䐈 CP*! iS,z2/m}jnepNTFx%TDeb;*?{k1g`՟b7YWX|%20y[~TBv+;؉&;%Ng,X^sW")Ld*)M('lrpԸ>EggYASgz H&%U4㲸O`adUl5F-M]!2{({s$PcK$OC-JU5bUŅVq'W6ǮV" |yV|H0HD7RW֕6M6C>-0g'PU'MgVE'N4ȏ gy9ŨK Q7q;G.ķ5cQ| 4o5?K<ֺeP"ScSʁlRFJr;3@^kٻ569*.+_W"wgk0in'bڈ5TM|,@U>^aJ+D&"Yg D1 Ea,7,@ Ld"o-rD=P-L(#ӟž#>D~ͭy\X"#H5  E1APWّɛ;@ѡN;sI,}߿s/*'1]8NKQYb7PE4;MU*(QDݩ([CDQ5'e+8MEspEFiB!Bmbca@cXA%2#→X]Ǣ fȤenfbv>C>z/$T\~ q}WR7ǘ=sDjDa D}۴ 7?$F/HvHk%U|v*m["1$ x)nL`m1#˗4J:ŲCs_@:}0mT@ې9}-DLp9qo"> _bv&Rf Q)-{J{oTx=쿋: m&">D9φ,Սz&B^* `Px։TW_a1ԷBg aė+v8 ! ,o>5>QTrd̪XIo" |#Yz2hC=r&" d :R\ntpYh2ވcr Jb`[BRk *Kb!R(˒1>Vie^5OElqPP*X68j0!q zvz$Irޕ#o(!?a_}ĐF9'{s& u| O>!#!|uhN\"OX z 働#%\5q6gb¬r[^]2&*t;w[1 CAt#ށ9GI :~4 B`|u8[V)') &ƽTHÀpcv ܈7P[3` BT%Jn]Nް]d;1#fjiz*|0Fay2FiVlUa_ev*RcZ,Z$-h";C%#3HƃhZ sgruanUѕH˲Էqȕ2nLYp^VTb*9[ F+Ǒ(؎Nix9RbhPR2.z[5px<'!ExZު8ϭ=;ŘAAOa*Bag&+fS3†PMi 1PD [go"Z/ijS/]1o!׫4qub{dWT`PcW !~_-.\dž w+{pܭ]#.8j6D* ݨL\ nGB,! d_">eC '1]N q `' ׃ !jo%z*P׼e|Q }6ڣ:{ yq&  g5 B b); hu%'Jevf9Tw"T-@;l8laȝp+"x?w>^TP=u:DollZ +MÉGXe  lýDG%%wpw#ʣRX<6@`2FRW%{Yfה:Pl &K!<Zb >\il/o% xej\AyLSiS"̸ףcʻUci0E@|7(t選:ˍ`Sr_W4Đ;]K;TRx:Jf{;a`>oMjevV?J,o/,V<פ| | ^\+O%=*|w(E5YYOaߕ?o(M>#ɷ,aNX̪oYIA _N!Bn3 wbW9u[+_e,0s|>)SU 5sQv澈S`UDE@ЯbSm rݻl8I>S)CQM@H[7Clmi8L$t$kGx4U>S#bH$ UDwjh[<;'" {%pTVyW$U%z&k]*ԏJ20^  s*` >MOV?2TR>4Sp2PJ "ns-L=pMԜ9ځЏsNFDA5 #qEFEøaz e'#']s!QiCtn9EU%=w]mϦĺ-ɫ GV|xەRg"O:}\:J,=xŦIؔVA˒$h:S2 kkړ*d-qBWM(w OPԤfC+vj WC 0+6 Ek]( Q'3M o[gz3Ib;w-d>*_|_$8");k.D;`xaҷi)H ?ѓJW!kxuw:~6;ͮV^ٔ6gqS'1=|gL~#r>aZANt F$ux15J0ɐQxt쬎~dk߭IR[ ,_.^H .?0W>\wR:a+ڧùW Pwo-˯,`31GWgq T(StLcEҤYDTz*iD )wi:\fy&Rrq-Kk94n>r6⯺IB^q܇R 3  @e{e}:Gc]%@QX7EOɦ05lZ&^0t֕;5-C 1.KIy(=,(i}.N/bSb34q4/TMGӊ 3}U~MMTK&(PsD3_2e!))+ƀJ?2aEX\o~SDR=XJ/#?|-l@n(F<TI%QV[BpD;CPgʅGIKTaz ~;TT9@/+1÷o ޷ȔHB] v--P[;=n0SI"Z 8|7g0DSi raﱮbt?޻w%,)=% Z@D޶*JDFW9GS7#~{8q{TeeeeFFfuVI4`-Sy-A~^,|LI$Ja $}XgԾ\橬 n/`$'(j0CˎLA/y%jy]/ 0cRWLG!p`#13+ħp{%"R $0 _Qeֺ:2,wNe s2 *Mui4?D3fPF9bbi46fp׏!Be/WivȌ}nW6l_7jy̬Y7}M)U ϛ>{P4DW *|,#rQt5+oUB{WJrL͒~{ 6+M-&Cs(LQ"x2]-M{4D}Y&E6fxLsK RП8o&1.Xﲷh"0˭S]l,W@zم(0"2eb'!clegDtsd|H"(BK1EڅG1i|=QDbII6рQyZ>D.݀ otvumeWȦj<$83|A ^N绢;funnI}G/o*yFW:BgENX_ljIE$:$?H&"{- JTFuVVCj1Nf&Z]@2l?nf+)7EVuṖ5v#״T04.."X zvV0yq8Zڧ]YSsVқ[>,tSOX7C{NUx_UƆ*~+zZI=ѲnCӪ[P35Jfx>Cx۹g[ 8C)_=mԦ@bdyB]+iПGp8fXϗvM&1QWJۧF2ysRԏHkpWPd7Zb={胇rצN8Ŭė᦯h\V+ 恈+F( TLg0T[CY4)) 8`%Y=aB 1|ݥpw.WoMܪaՠl 8ZD/+mN\bm!25ܺz `/fTxV[b˅˃+Vv]Ttgn]WYrx֧rxCWFybC&C L0=~iue \&nVV~I[io'37ZS!ՙ'džAL"Q@, ȫ6Q_Xh qޮ3 ]'7q!elr 6~DYu@aj(QS,-LRJ srGTރNj6b\=qE/?onznvU{_ 44|-|A) @*((s*$M f~M )9ĩ^piQyp#j4@g/$F@~jyґځK Ff8eO/F9΀wP:޵}e-NIO`pGlDbPփ^cu7|`d[L1eHD;c/)Fʲcl#>~*?7HO3cVu[q.T_DHPBka996v@^Q, S:xOPz/2SyhJjZuC[xvOq.Ę2r@>ZG2%c_tQ"M 7DN !*#H]3{M#%+-&쒐p v-C5b{^|(4ϋg^yUY "> `_OOԓw6%b\jҹ+ H$%lQ0[:n"9ap d*H''=ZF0|Mfd)G! j5>ҭlvY1ivQxs.;JXO _[r#MPon V?X!#jy&Y= m?0gh֞P@mݦur\'lC]g7³Y[Vc=0}\xk du/|4a)5~g<|;i߅xl@*3Bc58,}L*> 2*#9Ihj~`uáNOXV^2 ކDVAudxh\(I.R9`er&[nĢLpS֞fl&%ջ'*I1u:D.2߾iOdڍUDV6𣜑WJc0\FYC}ыO̥gETC8ùRoQMI䯎0WRtD)fK0 ':/;+<a^"zA)S lRX)*S8d4yܢBl=!ҴW-OXgVH40ݘWvǯj~>n iDRV7xEj[` ;_IiQCcP}bʣTS#nBŪ NK@+i4e9YzŒq;Zq+.a GݎK#XkB3On(NO>"*Uzp\Xag8sUzfetyy(BT6Ή&ge'oNic6xQR;Gr8bJ1n_^cֹ9a=DAA/жfX--Zt,]E lۮma81zrU݆z͊ *sIUS=k}iM/Y-,B1WPcj)tjPb[j3 u!1WCYddS6dGPRj^tX60Iteg{27z/ypA(mX[)oY38ݘ< dHS `ղM^,e"|Pz/:S!GST쟹<:C!mh2_Q'kQq&8( w")䡦%9HLV/,҆ KHI,1{(J)X.~H3ΘIcԓ 1|d`{H]OƒJ 0@q38Ik1,3cnXZ,1 .B)M_{%G?%^p>y.$ SREs S$4:0v XD|~E9zȄm=JOPm>LSH eF7JDט곍) Y@W& li#y:mn)Ւ)kt%мS >؂dn3&Vs84B}`.BS=+\)rbH0%*C6Ö]_P4Af3=CXfeLQ2op.k-)7`@ˎPs)#ʶpsQh'ږqc^N$[ܶ ~mk._^+2kuBȌZ쬖:lMieÆP$SJikC3i2[#ʡ%?dp?nEj@/|02гYcklpI}CN)P&_EuhrȂd Rsf)@̬&oLjtc1^x8b&>j~S(Gn?f캹 V`~Y\q<0}%dDۓ2C61sX2~vd*/`!{eijEL\W$wH$JX6>%<(qu:I ϡn H0-_ :^o9_q6Gϓ{$WsC57PVyZ "Hrp//*Gĺ N+ȷ aPd^ 7ReqIW`0/`}mtgh=J`20 z\wYNQLDWUG9–\D.˖&2F2җZ㢨GQ9m2['gvx>]Y<geHe)-  $&nDCl) S-0V0;3l8vS&8+蘒I2hQ SQ%mQ t{91+V0Q:\GBEiqW|BWlz,;8{.EuN,&X&״CbͶw@~7*/<{~ MwJpZ.2[QXW>Lfd+M_y6||ctEIJF? wԱ`k~րN7$T,ԁzMVc]Aos59dwM}틡K,@8%8 xVVraئTܪNԡD\Q(=26\ARF1uCJq]癠&oG$cey33烽+uuҬ9U( ֲ4*LM~UP˰L݁Tmoq..\H\ -ٞ($  - 44WS{q*/GK M_Vޯ%taͮ9~I=+U!͈iZP}0Wqyq2(cfm '@@yG $=l 2AkN/xZB %n(cW@c >Y腴u(d C D_Ht*8ƫ`giL ezjkӣ^R}:؏OɚsxQ1Jb)xD4XRq/>u (8c1urP=u'z&q=sB dF|g-ZZTC*u%, >E P,FBGURXzzzL02Fmmo;*nG &=1sC bhQ`L?fLj01wn@sea8 9;K.`U$D|!,BT4;>@?(81Ngb:bLV4P9ԕo>PAŜZ!T'OKv8̻#꛰ϕğ|pT>Kgִ!.ɑy-ǰ(R, 9%L}4[ ]oW )&~Iż"Hge[) !2(rwneJDTIbJM c҃W *$<ʓ'롤jC5 D@4#*7 -Pig@L%[Aq4DůrhƎ 8Md5\ՠ+Gj59PuK$a]kjJ. =m$']H=!g+(B*%/ BqW-oX &jVL}eȢuJ܉/+v,T[hwAZI_MY?yš*Gu450aW8GUz\lZԗ iY1"aUp.PBZ=R4#\eesDջbF<8Aѳ6&zj77FPeQ~ȇ{i vt؅w2Cr)^[і98$> \VEX#L[E9U0,]Qa)Z# l;KWx~VU \gzwC1Pr# uݷ_{0+Ѧ--)Q5,lF>6^MFvT3ڢ^538.}&>mfõMEk 5X<6o 4 hBu2@b@ wEXzy@ }b)%0a ] œ =4p'}2 x+W!82GDgz(& vlYTg9b: Y_~>Jަrw!G>@ emǷ'%&:m g ƣKD1d.>Bϧrl6^oCD$I:=M+CoGNY>Dssݡ<m'{.FBx9YuO@zoߦ *a.ͭ֠*ΰw8?f/! aza4s:/L>þ:L/'8LL/`7}^ylT6ɘ%Ks$d E) Č'q{lQJt?X(tqdDS+CrPK]$-U/CL~Y[_-], IE9)RӼx*JD@Ju{,#JjV8ͧ1B˂QJ  -g]0Ŕa9"TZ#EHZpqYhcѓFOq(!&R|6vZe-pȰ]*7(=ޜsj%ŚK֚eis=@LkM|IBEf=`@5D-|ݪU#(10lsaz` auA_ y! f2o{Cjkf\K3RN:|ZcY^ b [ (@Ƅ43( 56د8Gb l9?".P Hq<J㑩[7mG<4Iա")P")ӏ15H^gݲMӋZ Sd^jMcn`O⪈dQ7&GJ %KqczWJQE[)lg~jt`u^ Жc&f0<)1Z; )@Tp-P0I]G{#r3y,A(Q:_Q+sy\@,o+q|?`̔^^y,Qkz.cbg02yW-ge,߱U#s| DLxЙ_̪k-2b=GY  ":X9 7d9| _=!+Qɗ,eBz3ޢR*\VLR\L;0h8o"90ñ-$*zmPĔD<&N^at@wߦL?h^A`2.MNIksqdވ("gAGu—NC1XmʄvAICR :#7VERᙑ m6%7PqR\W{&JK^G)3iG{ގG(N}XjxRy_|H0E.OY2-s8ϳD,S U#:Jxq1 eMP'JvH)*. &dzpV7鍅Kh LQ,X=g#Ȕsc,7Y!;"VśXLJcvŒ" fU6тu,?{&\i.opCl`Rj?@)KC.Pv4I)qªU5C:2쒚Pz`"شle,2dBXes>Y|Ȉ>-,i24EL2fpY-Lŧ ^:dv05%%xS !&fgx~W:tDsF8\c>Orv(܉PKuVibm-xdkyzWGt4` Pn‡ g!l+' 04$r?t 7TtcA!s5v+"Lwr(QT@*jwnv*vE?Zpyj t!TյPݐ6j@`$m^`=cf~&uٔՆ'3?:EUDEscbD6FP;|=pye/ѩ)<*~7*z^i"'`Յ8铈{E+\Bs%~kEB,dWf ??sn!'8bEjC #jgR* *Sׂq297TԔ@Qb @P -+0UNʑEx=P&S=Cv17Z1\cf~@@G=r\Q{‘rp Jw*‘ǵ"<b@$*KDfǿp !>b6.:9&X9zՑ)4YWVTM\0n EEŜ_UZ_/T{(JP=ɶĠm=5Q(Ο{6CVճؐȼ'=Ge8c#dn-x #!k(d;]``%ݺs?o) kK%IN;*Xc=f3IHZ@3"a>7C׆UwS aKMd<@(8O`a+chCIKVaNUN3BZNʪB. دW&W1X^3Qy>P$U|2zZr>GŘ`izݪF,-!C$p݆#whJ$  -L؝֚)rnѫ^09Q%UV&Ջ/k+UR펕WC$O#O,a #1Ε*_Mqclg.(%r-,L[\~&Z\l}RPHDMR9(/t'(ō:44SS蠨Og6H#(^Ƨ!BB; V2-}fm`ҬbL#'Zen+@CR|NPCdqmlg/t:FԃxPAF:y hwő%) z"#k XGA&e0*Jf(ԚHil6[ޡ_@;"uVrg,8e'yQNlp[l4ZKL= \_nɁ~r rEV"g9#*gս~2[=൬#=\u6?0:S:l7V];㪥>[05cfo_Xb7wJ6 K^UK HŘCVr||+.sVB$V8@xdd.{F&{2>9R"2qU2PSwP|g@t9x}#_P!Xc˼Ng$2Ȳ{NmDD6̭D"&0]#ݠ=kܮm$1Zn ЀkG!2ɘ"{6DD,fU|@3F9MB:2/rXL$*UnedXCހy`|7+| ac%[~D MD?tDg='C8c yX @:%g)\l)eUɞǎa;@DBw"yy pj b`Jl=y5ɔ>n@0n: l8F0W̭J+t U| B Xc=x!ŷp;JVP!}vK2r3X+KJ*{ 9<./,a"]pt_{%Rgl d9q/Eul774\TR"uSNa0Z2y~Oc[[VɈd( SקrH=d%`i0%K;nrdx/Y/WڒJM"*XmZBgq97Լ ޑ~D7l[3oImI^%$0Kalϐ^3.,n6A76^,,~ xzWektPս *ᓏ8P˳ \6rFཽm}`,.Jlf(X-*k_$׏;I\ǀ3ocD62,%|$2 #,)tg]˔Ӝ=UjٌsMSDр0a@/ܻdmRY!1/y|ETx|&"物;EXM+RذrR?\%&ZwYA.4 F"!9'^ژyy!bpRҖrby'?L|>ymP켚120_b`1Y`tk.<-΍LC$˙wHd䐻$|@Ԗ(QdNcdB=Eٹc+2 S$HbMܖ\3e:C&jzb[(p^u O8ojOĤcbfx5X+A*݈wz1u,fx/.><ڹ&3wh6۾QCٗe62 i zhX}.EG^D>e\p\(j.-pQ_yTEG\F~c#C&Zce_eQlR 6#7sQ'ۢ쭃ĚOLFD߂JޮI郻 *Z)>Jv2_Ay۾ʎ㤛.JDE >[T?XlW~ pwm|tcjG-auϒ,g|P߭l^(i"|ɇ3BD9Oyp^ ΁͙6u#U.AO$ŊH1a)Bťւ@PFk F(1pd/'ؤ 1K@ J 9?q# 1צ{ʛĈمC w民L^XAkGdwTK+{EA- ij.v-hQ@͠ \/q Er#2wMǡ痰K/p ÍV }&g"/[[ٌ͗W&p~\ovnVfU} @*4N1xeqH+)}<y'uLs(:z`IО,C|E~" M h%% YAs,u.5AN'V:w$ aHx;81cD`-R2cHmEW'8D8B+ ,Xmӥ^s;%"2챬d8zhY+cJQ1j_9Lt~R&#SwR?i47 ǕpX4.>2-jp$ h-+k<8*(=#$א+r>5!~< b|752a}rФWQIkCV̶u<-jGoۼYVYG#BGWŠB ޞ7֯O'+dea+SʂLҕ3[<(!k>mFs9t.}'gM}|_PƐ[m :\EKKp{{!F:x2GА\orvH7LMD8}E.=P$^蠽wy{O [Wwi#ԏrhtY,V('4}rF7 5 ,{o~gllr%i/hY~b_1/Wk+&kS.4_tZ:ɄWtc`ű@107"H؛Y7@J}DOjHV2T_6.(LV! eݵG<>l2mTLcK 31$q̬L #1 SQ 6vL^VBBQK?yFT=5zx%ڵa^u2..Ѝ>3MJTYe)d]zBao/)$=48#EEFX 6m| ] 6h`kgi.cE%Uk=QqfeY6SC_3mBfFW%58V_#']Io(gR< e@ Y4@.`'AJNxj64l9zT%408)b7DrW=u)@3d*%c58,j́8CZ!įg*PXRYZTd!rX\l'׵M4*^#U>Sv'EkvSp$Պ:>(y;0 &ZKV+ݔ@Rn 2ec2$np!VRǮêDv_ϸ_Tz[u!F]I>g(/ϰ¥r T=/'yk',#v|AC@WPCDg3t4i b#Y Sv Hdz b)ŐU9$2)<֫JVY+siWƌEJUQ}:cBX(U˕C8t^\ όwdBc;ܔϋ`t+1i37kKzi_d(}Z$7܁`ĸ#A.}pXtkѧƬ()m?  LXoOv;d_x9> 0qvQ ^Z'?.bVҎl\ʊ ced}"2ڲZtX ,牽#R1kBd?) HGFC'a Pgud<'h^yĢ$/Ѵ,TRRċzC9]Q~lIr%QMV&aAN;25.cXwAAGD@ʜP,/vЅ{'\Cv9 _t8h`:+׼ qwSd^98}U*A!*4둣/_&үInlVNŋq rD5NਆI[  H ;C8`lRp8PH&}ZX4O,  i,'A?^#D'¯PЦ'4?ep= ^ɜsӿ& ƅJ\!S =U= KHǥѥv薲/ѼYx1N@ !$oVPQ?a{ 1Os@g.>Z4w{~ RmP@.D%VZSy4bE3j -M'0E:jܒ- D!<Ty 7@<|UƣGCtcӃ;EJ}DQΓFg=:a_rOɹb`@OizyF.tI<{(6,]̏fg)F2 }B-rXvOr~n(r8+lNd.ﲲWB'Yl.s|.YvS7AW( .a/2׈Ű'1f`ĐWjV ;M*9ƪT,¯Dsih_@Ν$}*M=npzde Az?X=<@4S_xU*)i;](r^ə}[Nwx2_=rnUR^X=Z1Viُ@ꉴx{lXɷn.vj F=%e+d8@pxڿ(F^A#1 )9aE#ژ<)x.đxS"5Zѳ2_82~U_q3'f&>N$lۏW[<"w"c$ C_&PMU !*i__٢5F)1UvQG@ȄtlO m|z@ swxMw90"168;GXBU]#Gő=JGqPM[NojՏ޳pgGOQm&$K2֕SwAP?HtL8@z8L7 ӭQE`'H!!N$HMqre k gkg_I"WO`iH T0/X0k" 8@HqR'G inwͨKnbyv}Ο7#c+e.y j$5 !Db\hߧT$WmfK,s~\O\!8`$e1kZlh: S$5YL%*BB1U%{CC+m&%]A1{ZUH ̩K%bT`JI솼##/9vA4xR/$Y2ԧΈJ>e<=5dULtgjh[vCTWJ'X-ԀG'1q ~`NE]/B )'LYa#XT0-r \ˎ +OJ3I=F+i}_^wAy+zLG:-$vVR%N:OMx-='-1[1pfM27r--Y(Ho?6T-;6'OG|ED\d>^9󗼼PW%2^n5 :?} #[l%L:Q,hi!|d6NqZ7XڮKcpWH.78'Ds E$N !a;5%5%QMGF眇:NQ'v/ivjd Ku|C!GaR%NH/؄X}*y_(PŒUMvlCJ"N,n>[K1L"/Vr{A}Wb7(-uWfl!8ԤsQd/(EsK׾ThC،pWZx_Ii'P|01sF 70SXz-.ܿ7TL[fk;1@7<} x-`W8Oz4n d;&P%䁙‘aH#`pv}jRF9.S2y;&ڭEGj 5]`Qb\5`2"*A]|29959g;И2zxvOB+ s}-Fֳi H 2A&p; U wA bNQ( a16,XQ [T\lk6ڒm:uи ͎`\KF|]Q"OTFJ7R$,Q(8RH" ]C]3ж'{cQ9fXӴ:q8]'>$ I0U]M* -ٺ]}EQFM,8nj؟ $sV)(Fՠ#~~KٯEX&[KI []K<&9S9 6g_lGyǽd'w;+4L ># Db~xku[ZRE ?/?U0Pze}R-]GBCIT4{O(fW.]ɖLE'GFr՜}[#w*/gobXȽ aф)g6g63&W%q%p5? ٕUBBJEfwt \+YH(xehdX&R3Uꐻc0Gk]>?frR|UK̔A.LQl4utitZQ]u|uVL''0I_Vՠ/CъsEo<y: UuLN-ɺz GT&HWi:`P_QY\mW22G[lͲT>Ҟ<zE+w Un;a̭QniNMXiU(f!x&P(~Eֻ8|ݬj 濤dCa !gИpu{!dٴ /8P6U,Of**ϛ3QK+_ф_+eSC K**neb Uquc3 fsfG7tړo\HIьB!9^\0JZo!i8;js0B3Cvu B<'DR$.+fmHWExzF46TB&hnh[|xNΏp(ü3"@ /["+N?M?5?U90UXCVci=(Y i2PIa VX$Z2x %MU.B-a,Lh>LDlʏ_S%JUK*%YXBךS+gΥf1sL.a>Qnu)ke{>=2٢o<(ӉCyoU|>,CƟ53sp=|FF[iZjRDhkr]<%E_zMCQQ38],O8[4ss,MW=9W¡ĩxϚ=I2E2a%$a7L c+0R:5p׀aݗ ΁D3Kgogz qZYki-4yBK0Xse.YPfP\rc) a8]skG9H)!2,1 Ei4@|8C%M5y$d!HZy 2n H@eZE)q )S* Xwl!2%pFlopK!{11Ƒ 'DO~Z}&+1iqv\\u r/Ȇ:寤Dp_+*B$TLMnH5!7-L`Ș3@HHkwZ22<>J-OxK%k-D`p*y# J+\ԯٍ͑`I<KMr-E!3PMN¸rlrLc"?Q +.4?HlYr^~=ͻ6 02`k9蹑@]R^P`Sn^roE~3)X%J q,LXuF!U2jבÄq;"fi(m#I8+DYT#^ɹV{6X|iDiY&`FWCJʖm<_01kzIt*'l(qX=:wY˘x=gdl CA2'氩gUvi[d ։\L#QUO1ˤ̸p# x!?uZgp8RT)χ|Y*惶|& d9r.8rT sGZziU\MVF%l?4IRcXB\~S^B“ZloHH.-J7=fm>ö\|ǡx9Ï?1+p W0i8gq˹g{"Ή[f&ti 3cpM#^!y2HWč ̢d[|B1.t5SQGS(|Dȸ_fr7z¤Ům5#P:'ao 1@?50ymYxeB?dCX ZפN;'Mƪo0%qXѓ ~(^UĚqZM8@M&$ybӄIEi,{؈z,#L4,¬ (m nZՄAF-Ŀ·Hſ jM+~"OV.ѐP W,?5"ڣan x+ma#z6;%D:]GGB`ZZ )H%^h`ِ521|nM-G)]Fz =l1IqA吅|xnm0|710K:z#'s)`P6#d^o"u>W535Ҏ cUN;~:-JgLyWaHs41"y, !؂eYX%haVAg(_GE IOۍbAΚ8F~3%wK{$m"Cb"v~=1P_|SmCmksBZ;CϕX̸6|J\b#3΁hSrNۤd)R jlZtr19g|C+2fCŰA4">#*Kܤ`9(9?0#Ka9!$0r vn<Ą[XȋR7AlzѺN3lAmNWG4ѷ3W"SG^y0ȞHĭTW\w`hyiA1{(%a󬌹1XRʼX\N,L,Dy6oۈ/7Q2 ѹ/I1@@fѾ@P W.P CƔ#B\Ұ>9>bʘx8aKrqkyx\Ve X.H'̑j\*oE&yy:Mubj'LI}c"I״Rđ`j( PuN"H%z[Bգ(o]34u%1cbXA]#z6\#H&MBh.3,حqtod0A{ MX| _3?sOʋpfRX,Mep %:헞ܠ+<5y/58vVh]È5%.wM [G"(M `iSr8{94~}K+*1# [Vüdsh[~2|˴#(UaRN p)m*Xѕ/>A釫Jb-?S\jcQG" J ={fT^LW}HRYD 5xMcáQ$G{]@F0}V:Ϧ-g΁],68˜M J\"1O D8ȯwڏ-1cUA'?&= ލ#u FgWðPc,uwXjMV/{ra=vj<onazQX6l!R5ׂM.)rԚKc +qΝmŎАj{,|:‰~ #S }o" p/+k ]9T:m#8ɥWh ^Ub \D[amt!r}MExoFmŽ)(qs9xe c04tM T9| ;V3 dE5!|4}*$j~LQ8i7$ r@$ `3cI[ `5:3YYBMGQ*=qS֑>QJUQFq?/$7_Ǥ4wo!+7'~O6;uy)፰FWSç ]ߏ "W-}]x6iX-jR!0 xXtpiעM&GQ N,D$g<ַ-yqk_zoNS dů6y4$iq@`0jfGSW JsJi6@x\*AO $<bIJ41/" jfx"kpjk-sin>K"_${獫{+XJt,/\}Kn¦)v;(.NLzmj >A!JD[om,{K:Xqklq::/)}?LQB.bȺg!X} dm?+"NJbְŖ{La\HKEmP_Z.8)V^ VtU*;JALx ?e|HlmJ.b"mIl r?3N\]8G&VٱN "ˆMvsFhc#Ӈ +SQ|ʐ2]A4QũrXl_}ZmJ19UDYz晰}{nVY_#)g#O8q|wE>gZPf;D-gLsLp^$7`0{,-?RDP$H,gy WvUdORFRӛz=/`-5 -m! `^gSaYou-TGTȎ(uQ>h9XhI>>Wo%p"v4[r,8Eag Bj˃ # }V͞)`XNlAK1Ǧpzݤ+1CFMCgS QRk(0v,44P#zO@Հ4^%{GWX!19spvuNqt* vQOm۔#AI,Jdp҇:-J`LB dJ:)~Pu[&BWGhpU ##t*7a5*:~{pbX\dnZJJvafe"@jԼxB HwYc>"b@!3xQRX9֔?U ԅ`f}JDJ9GZ_gp')sq 2tADONۥm1DD 5 N ofI:7̷Kz$dC1&d́,%a$:.?qR-0 K7'8{FiQ.* 얺u9 =Q7$ɯ%JǞHˎ70P)Bfbʐ(xT@M)9HaGH2To$G K &9 zĚo=/ 3O(oa+U)M @4fZ~zU#Rgl%/ul:J]\~Ͼ9^krȥ!>P19;esі776 4lOq;#"cUM#vِV8fJ޻AFNRh&d'{&Վ>wTި wyEw/Ds;O*(>a22l-ٿfSqC9^ET/uƤȨy+.5-8\/l: X ?0w(D[_;2dhlr!%,蜇Yv9Exb*13% &IP0s,W:q|x<n00. PJn7{r Gpw1˻( ɠ=Kʽy]+ +fOFGQȣ|թ{VYb5C &o,ZNE1RYkNe&F+X2Nk‚%yO j}O'Kۑ66VJ4[I1o? sxCJUdt@ڥSrT)`$t`bKAR'JG.,/ !yɫ!D-C\*yxﳆ"E5I5zجjz .LR0>"%-NZg9@Ā䴿SI@NeH,`_+Xp~go4@"ӄ)|dA=yL!@GwP[Nb?4BnE[0A Kْ3aIw[G*  kHX`boq'B)*v?I5md1xU>e#T=ዼɾ`'S -/fIds N/,yGN6v)ϐCgNy2pYϝ/#RF&4yX2ʲ8zS#+}6E5CG9lxla&^Mpؒ\#y^ E LJrB ehAyI!'fE رhqhgX+_^cFR`IHBL(61b%\<5`2{j&COHW?u)\}ё[chMR+3w8 K|+ ֑qArj"qbYa\Ա(tkptcI cP,8,8 ţxfs_Gm3(*Jφ=P9Qh\ =so^@ Ł(׎⢭MR~ћ"WlfuKV.$:j nO(t^;HO!CWKۤ VC;:_yM]tQ0Ǝ<$|3w&=g";7Q_$ujeF !")x8ӺC@)B sO"Vn#6VRp='/)#( ǀ5Ǯ8p`5 ATMt"%!n[HU?쇠K.bؔ؝8`ShhU҅YhVC iRDCθA_*2j(i1exw#/*_C n*1Ye`GDX& eLu{&m0Ի]I$' jC5a* (s\(6~bnFoeOCagMhݜF@e ,rr9 dd(:|ߧLא@g?5մ2{3D؄{Ǹב<7—.8 :]|<?)2 >{HVFEZ9ˈ:R,Rz00:(j6jWB:paP1 u\+78M5LpL +iyG2 W&5fO5[>p 3Ƅi53?(ch * ٞKGt庘XQ@i3߲l~y+ck&"[SW|c,%5x*y"[BpŋמA4,6J`T#>&)RCa-L yUNF +UC$>D:B-#^Jfnyylyn%1e84"G7dKkC-l=@ZcRʰUаt/M!.|c$` 1*JfC#9ھnjxL\޴5~; up-( 7 <3-@"I;)@2hFBg\X A*}osb+038*]p'9|#NWHN| 2n>?*]؛+lG "gvla9'_L!PCy@J`X023V~.RelݵY0in C >Jx>"xFW\ӭa̧+h5^.l"d~LS$#(rPSQ&`> ) y"`LDD01|6.8tI tCࣉgG"ƥdE4 &98BG2:n%~zsp$ Y,VA7G|Hx~W3<&wGlJ$S#YN٬@W[ W$1-Ɔ-]m(Ah[H)D'o3{CogZ¥EV;>7zG,_8#U~ڵb [WVe:(4""sy{Ǭ]+;$809` yn JǣP]wə5XA/fG߸n1z_$mRtB^BAu|K|2{Mq,0(ujd]^Md"Ve荎 z.2测s"ۖ@U, KɈI T PqX8;i5o5;?7⽧Y}&ׇq^roh;{ ía"u$GGGT2'w;ɴWw]BU7enyHcɔnv>99wލݶ9r0܉zԴ7r;l;+ͦnKi+w۱ỉп߹׼sO{Ѡ|y٥ӱpLƳIW=s[| n\VJM:yUxnFMLCF"X#fFnnNZGi_q۝>G=λ m< 'Ul~uo";ww?cݶO?FbfcN"?~ pGC8~jO1߾'[{Qggh?:;{6F//dei![V{bJ>`chvDXtJ}?y| G+nv$nܘLE6z}ڛ'ݎ"YɹUwj[*sޝFԟvdwgBD=oHv=nį4m  ~PGx7zT<t@)XGc5cw#Ĭ1 G\C'^^vF]44,5([uPl_uip5gnxN5o()?sѼMcN7+nY%)m-ohnlmu{jPmFwy7l<#t,Ym2U;GcGu9k6>)Ք(ז@5w;j4)߉,Ӳ sf{x=5 !Spg4Wɯ-R Fwjv{BfVnSSg_J#)7>%NȇH'X76?g;46$2ke|{&^Fvۿ~+ԕ; QuSbkVD3QtwfdO ہ$$E^{nT eKM6uJvnv nw:T~q[/*I SQgɰo>=m/ɻACu0md`w˜rpUp3<^uGnH)8jhSE1?oZfS(CTuN_!#r6Ǯd PBwD.hNi6-鈖$ ӐVOEMRlTNN]%$U5ZެQ"2nZxNOͮ;RϷwU$= E^^⻋Cߞр6P#DÉݎr+Ij/ˏ; GҘzjy;w~{x lh1i'omb24ua.$v~\I3tNusP䵧Eĺ$v߼_tzj|D'odoxli7cYI~Sգ㋓Ża ONk%3M'Lin1ug7X>nCHq I,PIAwCWH$tWX85- ۽ƲڏwIS8sDB'ݯ9~7>zNO܊xQW2N{NLKN9(DUK;R-m?87'r)FͶr_@97ve4n1oFdtT @iUۃǗjHuMghm+n{x TUgAl:nદMZW/Fˋ&X}S*Lzyiˍi9iHrߛS5b@ingُ }l򊪫9)DV \Z-N]d{x4]n)մCxu=W[vcnhimMQn>Nu`$u') u2yhDF8WN/Fo]~|m?< H~k{JzﴗY |lzg4xe]ƳrsDnunl5uIm$s4~vih6#m^3jZJ[ aOgcCQ2^lxmESX|+4,5N'{z.NU-cj=y׳]ojƧs'ڈ|߉(e:?Q$r>D8be_HH ˈSqn=kOp#^^;B]OQ9;2BݽG{@ս=!7knķI 9l 4iN&pBw' L8ouڭjEً7#HNWb?_az'o?jO~YXΚq,Jٓq,g}nX\:9HĬI*nNU5Q\NRI(vU+]gsfsdB)$Lx _ 9K]I+{X_(>?߫kZfd[u-?y]RkPV$b7X&LnI&F LF9ٴH.پ̆mYخ (MGi zW{YKQ d'GsHltG5Sކ2!L${v^uyyMNcUp8#q;QMϔ5H,n\M[+jdڕNw~wQ^\=7j(Çv`Wk3ROTjCoھfٖko7O^u ԋ1O5ƜojqH!#{GI6ԯHlr-N^^O`vwi'xoۭۭiw7كZo;|g's&Jm{4@Q )Q^i2a}(1Í2@~H}O Aa;WS酃|n?N'O܎1RPMYatOݜ[=\{o >}vtf9ozZ>aO6QLbx-$ZÒﰢAxӿ2 Ǣ)9"##yr<9µN~s ƇNh֔[ xS oŷ⟚J?0ՂF`98C,lY Xib8ӝj|t8jߜ%DncReY$g z") ,⥈<?d+z@Bv 2?' jdg'iRŵN,c@%b=y[1ڣx4`,nXJ~*.PQOb`P &Qsc؀皧v챙QM#:b<(Uo !CqvlD#hw+ l/k 'XrOcwB^f sOY1kDbrMN}IA${TFy&Κ?4>Dkۛ,lSzոmg*& PĽ?96QWzqTm<G.lVUN7md[mdU-nc"{. X#6ő$IN 5OGWq8>N QQ (//ӏQ "g뗨]؇tC-Ցas}:NlN/ڽ jPm!/{]_~ }l"vkx1w]%Mu݄-ςsfGX?9- c8uPBةA& SO(Pɣ'۴4sMfa{mxh:;^pNYIn 'VƮQt+(|T)8=Ox\~ Me{}")A'^dOQM1Bx(v߻e+Sw?lj6Ύb,6JQx=AZe ʥuP͂'-\dg0ErF{9)qB_{ Oq$٢e\%,KT|#1i6Km/eJb{œBԜQ`2b? EJSlBQ)m,YE]VTpE47νy>cOF//z s9O, (= =?\ߑH3Mu=l}Nc7Ƕ<B?/C&-lB[1d4X#i ih7C ֶ<I9%ޣݘآRɛocm^ww+Q^BYZ3Nc G; KZ}fu&9q(^8툺愴.+Mћ&F.xjMR'O %jTek X8htӎ=_g{0ikC;ZEaա=ye/nabisqd |k`o'aߕβ2mJDY !kc{IO-eTFT[Q~'׶brw{;,<)Q@v"sNa#x֊q 񞛤D^P}?Ot9&pH%:q#"[7$`m7KWY 1)wF5%NGbhcf):)K%O^ǵ>ݕs~ԟl;9t7F;tzhD4^ 93'S=! 6vcm@vf\f]` av@l~Y9~5sIкep^?c~:ϯzy_{ g˗MQ(HKX8 6>F)σ][觨4D Ydh{ :|N&0Rcƀ{M)ck@>n~@{ݐ`|9Ũ(Ài\n)+hqCg'ֵ[m*Ϧ;?l`뷝?wF OI($Y9s4`zHsf8HG3g)o\()f@DӡJc~DcW.)?#S0MpN}0TO_MfY۷JЌ䡞"`eЖ viO~ dk#Ly6wUvl M N$14;$]$O(Bi!N"{x< t?ኟȩ'(b-"p[]&E@X;h^K:mM4'LGpnƍNV6:1 ҬMnmheRshkfM/}|g e ْ@nRŔhD>pYW/ (厔!{oѵ]$6%mzhᳩ쑽`4I}Xݡ3!ˬRI4Cm6aWIrO~n$ZTjKQw7tj8W4؛iJ9ݺc [r77o=ow8v+e~.%mؖ BZȉ_K53H{/NEA//O[op$wx[!j9 ѽXm7I )qـ xs'ٺ/[g4 gPMK7o>K e2R_ L6F!^o̶]v]N͗# 'DDI_sWY;L$NX]2N:w?9fx;/V{AJt´_^t/^ ˰\ê3ǁ~]?Hd|$44E<) ЉiyR/QNY~GBui~ܩ^’ Cl1өB7:;Gvz;ӥX4Nyi ip_cEZ}W{4r E\׿c_d~z=4$7#KOmm o|rﲋ{NA0&< FG%L'ˏ2;A| v*-Mr:Uܻ?(]n[;@jND@HǵOGLmvb64@@ΒOaP1XpGIv(ݞhiu%4;O>R˩SFڡ)̒gChoMնI4,O{a܍yO㺭8Of+ 6#82'1$w~b~|ZUcg 6֌‰攺fK? كĊ#c͌|`C|][ƱNl=LSGgH~DbF>}VN2Muf<ȗǁ=c9B-Ay>Dbq~A+>pwj-ԓ?1 S?xyS#!'HW5o4m}H#=fCD&퀽|4- ĻQO%%z}'~2pz:Cm,;6=>ﱶ t@V gŸ j/ z|.z:TzJ"IEv6Niܥͩ;DӑbҬAư$mrb]uJRnm x ؟kohc4|IAh_|xm>x>7z7GHj^?6NiܥK%,-/{N0OGo/1Mɟ?]?@ 1PلLoo6%lm} R8_SՉ)[3[nbB_K5HdU4|o>ix9:@OX[L-35C^5ahC'Yi!ʩ7և[gL?=ģ%Rљ~3jLħV8RMn8>qPɧϏO?rw(%ޡ~ͩOOj:m~ũK/{LOG.Yh]O}TЄjvnvSbZC۞tFؽ"`-Y#,oBO< J\f"/ŲPH5!S0NtM{SD|pF ?4>8/e|JGilזD[W/ts2=S a8?z>vuO]ʋh0}&hN3J UlOp %6;x w_| ce>wM%-9*Ĩ RA=M~Iq5G:8@@^Ɨ>S[(HGN|jN+:V"Ɩ7bO65#࿐D"'3Zz‹ԜN>%^^fmzej˞ٺׂܴbzgm]jtŒZ^n[}Z-Ȳz=u֚$\D67-xgW4bju *$0bؿ3SS Tb`G6 \`A&Q32­hpT~ӫmIS_1_j;5L\$㹧o&=+=3nq"}sst\cT ?twؖy%3Q'Lb?<5nC2AvrEI3Q჻lC=יsylgd(l\;㔀ǽVԃF9y2`%{G}D݈g5LP ' mN^SjK(j屧bK˖z4ݢ#*F Ob'XΣq7@ivXV3w2rO`,_Yqm>11015s5Fu{4n4՟jn{ek$tS:q1 ٍ>Uu5v?Ƙ:̷ÿoG=Ԑ2è hn9(ơ*O:{GA.Oxn0 Is_/!h7A'd>O$ӂx;Ba>=C ?Jj70ZdzԤ[/yI|SsCzlo6^^֏a JO3L=Uqlpqg;`NdSI;I7!B^"[-Ntĺfs;GOpV.,_WJB5 u]P؛6ZÆp:| c FV =c4\RZ{هp2G*0Ql*M]Z&Y!"uX;bpoKDx?c8zO)*op#Wt/CJKѴ4}©|{u} F7PvOhOM_LЎR QQJĕ`f(Fۣۘ+\6-? y,!fQ 5ΌN1EB>ܤƎS*Yc=VMgEc Ji׼;/q?nz#i?vy В/a/X'+_,]IەM8>$*0:ч0`Toڄͱlr!t~-NDlH]@Qqc/duIeli$W}7MdRV6ZmcwB$⒢5Ԁ6>eI"Q7Rb,MNe@ A39^ #9ƞm-7z!o^6%!$$bt=YJYA k5{X.Vb#ς"éGBtmO SH6Ð( g/ k|1n@쐀\Y9W |aATBcţYa%E~=y]~T°ZM>sdp&Vzn{˩?=ڌ RJ [e@ppv[Sw(p8`ݵ#qCm]Z}J2̳ܭuVBgCĞx 5AeeEumAqm2k+-7 W}h@X a'<,<31#y173Tc:J:7aQeڎ%s[ӝ7XLb~0 tC7ZrrtWlC2e0T1uĔτ 9ۇ/K\7k袻epB W 9=*iKV\ vG vC(Y>ŚƌzO089(TC|R{<_0EU3/kJ#'^۵ly_%>~ᇽh2~pus/Qs? N!Ǥ߂u޺I;f,O~gɓI>DO6l vBF}m [Yq6%+',j̖쟓#쟓&t}xS;5k9D7_v:oaaNN T-ϛ /(&dp省st_oћIo:m5 jU9|Ƚ'δwWOHqZDZ[,<=r"L&xosGNF6wgHP}p"B$'[}coCH6HlG5?)"0L􎨟k+dA$=fCEʘy^^^M_r朼 kOLlĻ'6?Ą-x}xmm^^^OK~8yyս?F4wDNI Q?,}]{CŹº8_Q_ڈtmc o@^ԇ<^C{ӆS\~TBտ)׎@p܍l߰x *а'jả٠uJ{HeC1w(R۱&aOoO&NR[IyNζT&gN|s*T;{pͿ@dE!i7{9)9'CdYAM48,zA51G 8 f Iޤڣ؞7  1on8%OÇؔJ8!\EJ_`-df&I*W|RFD;ft@,5s-++"i9U$y,@z ? 6_4bOoޜ0t_{atv7ෞ`/t3A6ï{_Nr"+}`07͵;.@ך!(H$6Dh53D6M? YJiΡ[Ll7Nkn.bTwm4 m>{N-F87N.oۋWwB0bkUh5"#\mu9[lko_0B^9N m_cm0'~5`_It}Z^#$ϴL=-^^ˁys,SN1 6+vMֿ~pnwH*^j~^Ot ^|F8K5nubY͝曽6½ⷺZw0UD.1*~鼼4^^FN& I[:6W 6xX,N#lGS8Ɓy5JloľEv}xZ>#5ǯz$֎^ gY?_bf_+ ~l,z$ϰ-2[խKFomCYєj$_U2.!$oy@^h*xș*nݟޞb܊+14*^рN(·f6t~o6.srZ!DP 6R6!gڡ)}Wk%o@p\d̶B)j.^%#vgϭm"M!Zϙ=?g[@F-W%8[m]c]dfY;̟CI|94b-XN|!~mcs~OB:\mCpl$Wy*[꿎! T=.s%'dQ4<SOApOuTD[SH-Tl,P4*O}`Ot-cOGfPvW,5,l5m6vPOAl|:۸#¦Jj>I{ў^}:mG?O3B?~vl~7w ~wk 6輑9]sZc"wѺwYl(ub͍Cyr=mH rN6F' idžbNڀo'z [A^ՑE8Ꝯ~;]x~zY_F,r5άn1T} `^m;X E$~YiIa}OO?jbzKz1l]+}4MDseWE K- ބuFĸ:s ֛5fxE 2@҄MB/+)UBf5H@ ´ C2\[_ځ"ObY󚻙#NrB`a^[V\h9qO) =E9^1i~7%8=\n16tGQac/P^M]kB{?UFؽŠbfx's-M&'T.~;[mg;J?QhIzd70$F6WI>nڮEuMԔ;-ek7~qn =xϏFdt΄evLXc2VZnmtG-vlSVԭac+ܤ~JA#er<-@ig1|_ĭ_/[a4V㯿:0rǟyz~0|G;/d)j ̺(CNyo6yc2U_6KvƳD=ќ=mSpN. rҙwǝ`kYX$ ;F0s9RP k~:ฦ?+8g(۱Jw^kU,nӵ>h!lI&e;]jwpsխxԭ5-[eaU|leO VA1%Ei%FB0DtUIUS-;|z1)OY:O3VQ}7SkW/g@]{Fܻkag[\.+鉿 V5`^dWMbS:Kõ/aUhHN[z'y2f/O9#k(řwkbiq ^To.-pgwm Qo˷my[X&w2=(uVYM9\eҷ vNNUa`Fh/hOt%ߗDB0ut"VLÚI\:pGpik8!/X[x}ExL`@"o>{U:65GƵBWcGd+:Yٛ{MEwW@h{nr,M͎vs=kprJ[9@(@۔₇K6wdl[+WMsrAs(% s/U{HE6-2=l8QE FqTbru3 dl7Z|r\Ya[R=,:U/6$:`Ro 28>Tw3ϼX3(Vln`ְ ;7g= ^IZ6ΩaCMo.3ʈ*#?FNK4%On,&DsR+vw7M>tɍ?iZWQrƟ;*'i4R)cX+?%ϲݓG d$_ELqo&ƬMƏyTN›qm]) ݫ&U A'5)&[l_b†d6$76mTO 'za%ĜJ/t^JJÉj}a֕"$e`Ql-w䷷oeι(⣒ꝄvKO,&S`gĨlPg0\lS-6 ЖkYO4j'p@ȒrH>{ߵ7!*ryz% ZpI3i}Pxڜ 5G3D)Ӳ#%Jb}sX5gpeOVJTboU5+V'~Fx仩&uo1󢐾fvn%]hܪ6nL# ;o*ԙ-!S_"-s3x4vn4{Vmqnk(8DX_`Li]\Bk]ynk34"Drc^j.M ofVQݛH4bs_H$nJNmuTSP`:(Ց6s1Dl}[F{NL 6 厈㣓Ago;:+9fVsf{u13q{阝HM$1@hW`7Zjce0y q?%%0a {&0'*0,!Anh ҎaY!Ҳ[Uڒ*ZҖD-I:eFb.Ͷ :2A@7]jaQ-rB`\]Yg$kRK&^E TrjFZnf.cil[>q\7y+J45:\箢Ymܬ] 3{4_ P^C),I;ٷcfB,]әj{2 tuk!-^G8m+'+>%-gU(۹yjd%wMpsFV7 Y^Ӕ*Zón%8wlba:T, \&.dI)mE^1һZi` Bp`O5 Oŀ{>mpӺL+WfϤBiSTBլV2s"GЗDB n ;:rRGnVZ;uKNv j܍}fL7nE+ŵ-KoTM4YL+@fG-{tZI fLЊE] b?J5pkA{(jJ drs{FqkW y]I|/~Fv6  gZIodq{pۂ)x(ytqZ{Tͽ>ҋXvXUv5.v2~֪J̷B|*3)2%]})K[+w 4(]hu eLiF 1 I^#K Bοiwpʕ᯻7e=ɇ[]h9!I rE\eJ?w)|_>YOl8iۦV ;'֡%Jr225(|h)ͷ?[#Rv@Wbp*ocrRHTy2@8][I+!=JZem S6_N/rI?x%I :k,ӳ*&8DW>+0ʏ,ZeI:Dbh(8RƙxK x'REXZ+V?:VZ;9&(@=$~r9Z,J0gg&@l b@dFtN3a՚K֖pAə7?gx\kJ<z LZZP{h=\/i[OFGLQ?WėpiiÉ~cXAD's`?' 6]׀}dWU?]F%;t[ 6ZMCylhUާF۬]Ƭ5T̄yb'#];ނ}X`atG9"䢣d_΀owްe+2t8 VR$86tIG1}hF hos\`mky"ޔv,kڎkac֋\b(^,lifK!mDHFy9n04+NH{BI NUŶ;SEF#9[ӜIm ;3>%X!-еX4mncFҲCH4w;{uXjsÉ28P6I&=8Pnv4:pؚ^Âa(I״g-84BbI" VCg s'^f!(e<,fn`))E)f_/ew߹D248XXAgڅwJSwE^:.ײ7ԏ \h{{L/ruQ/4|Tܨ#6T,^K/ y[M7%ZHzyF#T 4H=HSya@M&dZBŐ֓m3t,oo+xlP^hy2 +Z` UdKXq&Gv7b>c2(:P݆=NIa"T>QN^*)VwD۲;{2GB$ֲX)g ~+{Z6+(qߟ&,O>`Z%m><9w8^a1^n\tdČiuzN <4UKr_CN/Unor -/,_.* Vk1pԜ#`/Q&Y?p-Z3c¾1}/JEe/YsUbI،3 |Ip{R ,C9$Vh΂i%MKLV"Y1bC6'fjÂQ⍌N0*&d)d0[lxA:&[;쐩Hȋ,;6izMJN[݈"~ @SJH(xDX~"%tJLg\VM{`lD2YCP@_m?pX&+!$ƱӒV+6:13q= UO#VbT8rbNg-eA,nPMX Ĉuw_]6mi*\?EFD:JacEr>ŵ g0ũcU#|pd:#|Z?tRK5Ő$x\1L]8[KJF(RԮl*"o$$9BU!'<esp(u #.z6NQU2ٱE$lf΀1 9L?7ȶkX$ʎ̮J`W)]J6yS# N+@bI ,mH1EJ2[saFqGlC14΅Aoaz;=oM&0#z af^v 5@̟PG(Ϫ/*E90<OqXE~;(xge3m*9oæwMwIıލf䶝=]ȃ\WϿ $9%᪸93(ש!Dh$6–A:Aqr5Raiy+#]r#/`d[ $ ٛڬXB7Dh2izZ_oSǻcSpFz }Ng^ 0RwשہG!S `;F h /azk ?(U$վ[cc15 v:~bfPߒîQb RŻTqoj47s] TmJwt4[ kp0HctSV@z}`X%ؽ>5W%(}y-N7&!Ct> ݫ]a M|'\oF SRy{5;4}ZtLm\1;uC:y:&)BP3$rY(rK7nՅH1u~] S&ⶣF\6.#ĂIA;kE8|k^GQ(%s\dq^P[+#n=Aj%|R" ZAEĝ'Q,9Vtǯu.//Ҽo};9| >]TF-$:bTRƧ6RS=I;캿#~ާIN+bwUآ=%U(DxʞZSm={PU\""O.79o(1J>=NƘ99_ų_ZuUŔHRzzVXOk5<vP&2ðzˏuR T]]#0Rqwc1Q'#w5zLx5v_R%2-O,t Yle(^ëG(kR]UVz5m~7 0;me:*J;= ")01KHSK l<8I[ՓI<3-`r=CbvSQ|-' ):/8 br%[%e%m3]ɠѻ9((--~7eDH@ ۵x"9ibCg$PX WA4 ;r#4ɠJދ\@-(6ioWO&mV\ zrHSfaEF͗>-Nj8=sД(wdnP7/g@v` !#pNi_k҄Jɏ*v4<"Na^[jusǕ^%}U"t,Pn`yد~atndyROjB[yL0U,b)8OA]k)sO-"PU³\@:. +sq-,jo!{wd9{bŵ FTh-Ba$2e'3Mu-Z/%IhRDM2oRlqDw.gouzQuw{f mv,[vcSѱ:&(:$8ѳ(֓3rMɝsC7շ[\:#;$seF^/t 'A:铻RNҐHׅq7>|y?GAW0*+Xe^GcAq}Sz=7MQŒ.N[}`[ g0ةf1G7a%W^e QMz$CgǐD> 9"[G%6\#vv E򦆹}w;oZ}KZS8ƫ]d_=`ZzlbyfzE*%-i{JzհN}ŗVX(7䲅7u0t}ѥ*[z/唿tD%XY9[]ySޭh̾aJv T,*T+ldLI8eL‘ Kɐ.ڢ9x)ekX! W솟+ ~ ":SL]&_!0(Z |UU,`觾Uty17ىFK727%ԇʚe>E1`" ku!:М&.5@Jtid/H`.͝լ#sDZNÃ(?p<#e l5'E%ߔr[m-ߍ|ȂV˜zyM aOEOrq טXEAV?Ʉ4„?tenkZAAQv6SaZU)|AUvWBsY+bʕZ>Ǧ1?,V.Np`WQG'].┍[`#1McޅRlIe'-<,kz_̖cB+ DɢEJUǀE0l_+FE̖!vttX(X@P%,1s3^ӻL0;W^VhR&CvkV^/o*=ֵ5Ge7U핱>jX-[8ǺP%0Mj~"- 0|:=3c7Dr g9D>fnovh}:9Yֽw!uM14N爧KzZw {rϬHÑ+bʦo[a)|а9Zoi'Y5Yg"6y1rJ/|D: 1m(ct)5o˧d0dAY7WQ-bJ(h% (Z">~e#Ҹ 0$j:JJT|X/֐Ú3Hm *"S' 3khZ/+;`n\"vͿ~`d; 8_=]vI<=\å;VKs89{x1G]s@-رa}3B6h>RPCs-MmZ$iF}w+K8U{ `@{KPwA<*YiܫykRߑ`3ޗ{jip޿ޟщ;dA(N.wUL WT?Rd#p' zuVVfQ)f5]t~Y\,хQTڦô71QeUFaߛP9;X6>)3{`Zkf;1AM%b Wz7DtIy H3oxyb>L*ɲ c[,hTkIk+ 9hg}g7MijQM]#]. G+fPJ]%BvqXC]>cgE(6:@۠SF'-cް6֊R8cmiej&_ۢ-ˈ'O7.U#nrHXΊf.a<6&"׼kM im1pşE?|%rFΡ1=M']sOuCf`EmyH{9W,-u?S DrWGME! 91|vB#<G0Na͕Y];)<)XUXQSK0w,2f]qsFH&4V?1żQ9W-ffb涘ZDnlagb"Hj )`z1욋< NzˢwK.u 8G$&PI&$d*ú3oDc@|%0@58w \KXT=}Jloshk1eNyB8(LgVCc05p|*3U6\pg9rY (st"P8IٗZ6\Keu)ZPYEVbcDqs٦-~72H 91&q5:W"}jhӫg3G!ׄoFwfP6tr*ǫ*4Q2'۶cݯWÒB%gk>V3.Kj^S ;rܑVNSõJtD7^e7n2, jXcԟuuQ\ɸ3xUlSN7#X hvb}[ G7B,YȦ(IHNT4F*|V4#q2Hev/au/{cc8bl[`jxaџ'z4) NX%*Ĺ\ޕ@0˝*61 "#{e]T60!|@PPk'wŸ %f_ j́BQ ц亰#>8= * z-NXبcF28^m˷xT7ntA%)^-s.!y`{33HDOfrQ7EYSL$֤slFU~Ec 4AϑЙWΊC?ųTs(u޹@:ї@6(PM:{`9vI%[nI-! ЄlS[n)R4_f R̦t"@j{!ïFT1wWH*>6t<i-$oZKHXa䇿ZW鼟RĔ/d9pt x9h(\ h+䎷Ы[cWVC`B6k1t}+"6Nָ1.7ܧtV/ ,զ9 <өglk$(:&FKqXN\=2$1/x8%ƑuYvRٲODFqL"^`2xg Plx Gbԩ7=IȰ+[ \ɰ9Bh9ISr`TSR"̀Ư慕MfQe4ψ1풌S}7`@ʀ.D `\nZJRngM_KL4*-p5h9LBgd[*JG >iIUL)jS3 oLFVE$n`$Ħ5tJ*J ݏϿPdn s ll("WiS'ʨ)7(J?F̿26tءmek%^9>na1) aрq, э)X3@'uZ5iiDkkKDW-l$T!Vhc"޵VX2wR<ڤ_N%5A Xn־a2%០4 Л3yJ _]}Iy)FQKCfٶ202kLЂKQDͅ7(i$ȱ,&7`7$G_ꭈX;SJ\ ,ȁQ~/ce!5 6F-z@S}RXS&t kuZ"IE) NbKӨ2$FvUˊgBng ;W?v_I #)`) ڱX b5K+]og‖vM[Z0"dP),:!B$WA2<9#$I#06B݊ Vr VXX:[b,^֝K*L;W+ƶ>t-ނTDƌȋ !@ѐKUQBB20k~{V ~8JH|"Myޱ- cɼwf>{ig4wa& idb~"xnֿEnh؊3m}+HD7ß3bh^a6Y&6Zd ՏhlkHʚO1r|[*ʝ53ލh:3o-"#w:$)~(HS$mW.fNAŎZٻf^&Ex6inO\@SnQumוgR3Js<10QzNwe\XwTIt-7 f4ND[)^q)KxżEp(p}GJP+΀!$3 ZWX N8ɷ@EGaĆ>BB)!!(x)_TDSyK ֣ d p2٠xb@j}MI@eە9Bx#$rNCꮵ@u( $'>K~C p*bŴ(|I|p7vA1ۚJn1 jSش !Q)Z-\g+3u0IS&̑+?q'xRY5}p6t־:kÝ[jAECx KG7NROFVqJpnEe#zHeN#d#R?M =nS3OHa֛k#=Iz[WoX>bH̦K Ų8Qrؽ!.2e'1k>Dȧ-<2ŋEmfFP;Ť&j i~V( EGmr9(kh)<1 ^K Y̊E#憘<9@H&g Ov>3>}}v 0~?*^2F3m=]WVzCXʶs:3Z@ĺij9KwzгJ x w9)ֱNCSoͯA,~y׭'i K5rWԘɊ%qoSͪ zx{M+7UK@!mbp 5: eqrc 3s e(S I5.jb4.c{ 㨪*{KK^V:[{+ ;|.K[Զ0wy#.+za?l8BGySvM,Oǫ`SP},tmHJ~tߡ-SG>"nhKQ'QGEM%kV'@1F E;&B~IdS^*,3PQy^`ma(crrS$+ˎOMjb-8(?CV*e.{-rh@d:iNg\T::mv^Ƌt!XJ1akIaZz 7a: ckeePW>1D x Rje=g l{ԭ@Og I_V9RsEr2|v} К]e< O7~i`KKoފGfb[yR0{▚G#d9hTQ9f2d{h\z)IЁU8 <5TY(Ud !!R~(4t+ߺiWұVУܬ,m' ,m@w/_˱ߦ#\Q񝌋0hǸ;V }D1w~k/fhdvk9"%͌g&PqRJZC;zl^KT#ʤ44*ȭ]N(G",F3\+ڣ&{4 *E$oSѭLsmR|k>:bvQWѭÎ' Hƅwvq&ym]D>z]"_/nM#oQE ~_DLz++G/>6;#H2RO}&N4 .;8͞,`- $?my *6@4nMO@֔ޭ27XD3}0]ԮK:uD&HrvNkopkBB"'fv-8 1R'frBɛЕӗGjs~4̐z1P6iV<8,Ac %+Э6{<8n0u榁]%h2c aZ5&=tDQSm٠V=aB-mKhZWo[XOrWKX a~7tˆ4Uß䔙-WEۮ|XRqӓzWo.~G'~W q/{ n!P>akժgF麂D %RQLvcntG%Ju" /+Ff|'AD\~ P 9f J[xGCc^9_N"[Vƛ ߽tU pin)$ <I5ޒ[fO%-d fYIF?_#||pBrQ -NApސIQO{hߑÐ A^U4l$IN qu~?a.%=`զ0/4ePG׀I2]g F-qKポ˗څtkQ^\=\;x@?W8ΖEo1n jPm3r`Ѐѓ{dž6Q+Ҍs%QmL([dYgĶ@zʩؤ<ذ@dB;t6>Y 6}sФM)'JzE0W%Dqaoel-FxpX-LC &B7o/ eH5ɧ9c KN ?vEa^TMΔbQ0&߰#ЕHcX4L(^7b.#M1czťV_G2yE~#5jar?N6.xZ 7@%\VCjxh38ks xzpyןM1Oj$F 'ԃ~t[ g>3D)] pX?Xc9/>> O540#C #o^BEgxߊ&&%w*4W^\p0jx7ڥYY ^u=t`ϋ!U!i,AUD2F*< |apE7x}#C#=mXvڟ Fj5bueqnDReHUWkTuZnGi7(@"8RC"j)(ƭc)84&"0ͨ)bt~l~l3 B[Gѿ>-^ ,%}rf# 04;Z?i& 8sDž TlS:D{eΈc)yQc^%{0` 32 l4Q|0;К $P1=/ M%ejJc[48Վ]~y8#"pb(e/k PR%Me\6nHɞ:1GyQ>g) ,.P4!UzbH1pԥtzrH\C^ěH:hiU|:Be%kǫr+Ԑ3hO.]t2 R"Xsn=>ցN 3_uhR{B%V s!<ȥ!c><d#I]ϣ+!C0啯0ErRP*-RդhKaҴT8 F J!\cXoQp=L.[<gL'a kQJu8D_UOջ`{/p Z8N5U )/fAŴ=lHESwqK7?^z0[BZzVd(Gts\g~y TM x{9(蕹A1{$U:ݠYXls:K1Dr!nW‹@Rjwk$VO:*nl5Wy߼z-4eD"E/Wي %6Che1w#38]p_Ld';1{S'c$ͪ/UC#% hKQ5>*J.$|mikn,qCqrZpڐ 5 mza" Z΃ d~**ІI7D!Z#ǎGDǒi|pqm&v,kI aURdz8[bVKP - 80V(CY$2L/0ʝ cW3ꊴ@nA=,E &$x3 0Ӯ1S#pC6 *O4`c(C~!̓zJ GrFuxdԕ~ŵDzt2ԠYVRʦlQ4Ĵ6j؀WJC7$Z򴞪u/9` +tOgjsIV8>U+s!Ja$ 5*XυD=,$ƔM1tTXE[[FqF+/)V|S:CoT.ˀa&%.*\i_ }4e#tPa⥽0·0`R*p*W||tĕanf^+,/uM4i02jIU+'t$*T EdxSzcv"ӶRv?dOpT.1J K:(0y~*GTHg)}Um'Eu&i>^~'5"  "S;.B*Hh̎_؛tB&+SکɺsK e߀nSYR*vȌ `uNl{43ܲR[ 'R:aJYEQf >E \D?.RWʱ}_*56|љ˪).߳v9 awƚjlIw@&Pp#R(UħJO6v|YGIIzO-b? 7^>w,!;=5kqjբ^4`E&q].,)#pԃ)ABlw[-rJlZA`b"Y1-pOUT@yDib\E;UVn&wa>b oQ.j0ڋq*6c%u(HyԚthXܒ ~鐺n"؊&@ƞb@1c ̈[_GdZV4cғ+ D6'>?2a7ڵcCj x4:{sua?OTuĮ].+`6":EG_D6VJ(@3 U-"D|Vª2 HJP3~d} v3w<+XQHzZݨ%:i3e*/$ ѽB]! #ܿT߻U&^_qq7АS*v+Y/L =Ri iZ֏ ,%_O=\`" cώ?MyTA Ar[_>H.{ƿF_ 2ب x70[96qGǟ> ?|7Ox<,od3<m\ɻvMfvŻȌ502r+Mfll:@ya˘jLPWnm MX7_'Y'7K) F?/} &(Y2\KbJ.N3>N7vQFk UhB]7 K)hfm@ Y#GΩ6XtLZbmT[žn2XVy;IrC4Ʊεh:we6Mg65zKF#w!>N,:'#K49Hfp5(fw\@M놑tivm&tN'0^Zx<4ٕyŮNLa+RﳣhjR$T%Ьnңzp6= x֏^۷?^>}hzttfg ;z^-r6f\UJbfduE_Ŀi6~?WeEs7P㧽u8(}cQ G ..K3@t s{NN ]g( _Z@tR#Ɵxt2_:?Sƍ6s7P4:c8@3_X+\j1PpӤIxGX(=H=t 椆 p`Vg3M?~4o)a 5"%yɟǰ{XNZۈ@D2HnoxpmX;G{Kk\M`\f}n{~+F649!+ jC^ݛ7 eK f_=25-b.uѼ73Cvޢ>8grid+\J^;?N0,x}mH|Jg̤S=׊v^+eܱ,ks;y>yFy-B4~6|3?gt_+-J˘JE,Q{sf&;rVG32w7Jmt"WUlﺘ1 lw^T30~dSG8Ja,.boeB4O,)Y30=oƉ.'_''#eKr@9.lրK晃XN@hY02br* /_Msxw~6 vt =d`>Uw/~1 lMoq_6s~!YW<|r)A:~ T֯Z:Xzɭb_ah?&9yi=&/6y2|#'O A =!ʆD '6BpQiϢ`_H7?GK ׷y듿/h6s1D?[?Z*|+OS:/Vʿt ch~0| 8ϐ{V(<3;3o9~j9[)(B7c<>㡨cp%~żM#)=,-yp=ݻl4 X mJ0!VU/EފWfM&M |[wyz}nu4B``~?xL" h1#7?D۾oJ ~Nސ{:WwZ?Ig+q@^O'l:mz%2vAM%s9Z;lԢC iP.٠G}f;OV_HvWރ$:Nld1YICZnoMI4(nq# FZ $M*:]ppP&H+,0:%Z:ٳxp⎝G1aKr8;7jY`yry)XH1P0&~3Q5tQ؏U1 T0rW*\ߵѲwU/h>zfSQ21»kull]K޿/.NOҫfs{rAAw a/hCn P;V!((&eԫʷC0+34Mŀ[.R܉S4;nQKg~OKWqv)mJ4jA'`OcDzc$pl/ULX ؊c'V)F{lrLOmVC3 {i-.öH66jõGǃG8ҴxA 1q90 ߱*;VhiF]?Λ\9+Ƽس}m ȟ&89˾wdh48F7"Pt ya&Y1@`Z}7ޡ՛c'-v_3?;|.Ys; llÜ΅%1X. hiŸsGoXiZ'xAa ܰߘ~(Շ6.қ{WeĐC7b.K,$7"x1m x )Ť!Q~UϲUߔf2<PYO)*$Y֞9ti4s$V_emn>*Ql AFl2Í IW&x45TZkAr Jo}Gw U; "式ܵt҈Q.,'Փ5 }Rh<_QL|;+{rҰY7-c'l֓g`q #"QPj-J.$ dl[_ዴQaķ lJx /,%X'F$oex2cqE-{^|NHL&~QF~R'O4zĸ-4N NܩqqT5dcn/NipazQ\bjQ. Ggj]@[„|ΒM4ۭC J.uq/ޣ#3nf6dڮh[mcwG6Xitw1YzrS|ًFX#BZ -!-N s58Ѧ@wѯf]]:(NnE(,ufT/Rܵ4ffǴIkFK,]wT& l՘J~A& .(`@M u cNubhM&t<.'hR_oY4&#[lnoY$:ZCfZ&48X7?a /wq8c=]=FeIU0bnF]8eY%2M b&ԓ?c:jF0/A-; ofY9Tn'`ƽ;&fw qG{$^VRJ[g%ꢐ? _Q3L4f;a6@[xmc1 8S˜7`*H#,s8EژGJDw+Dpr^KTrgPPXiMN[zZ'A Xocq &. ٲ~`eIjET6? }DfZ*ʟ\=&骓 t3c(|S#TB urXTd 9;[saiׁZ+H8Rz8ޟ4Dl*1>fJ8#_ NܥYG\QJ*f%- 8He@i xޠʘȆ,VMcf_dA y}ްJ!sg91:Q yR9fښn8$0)"}ΰ啼C D}07Br=͊.d|1iٜ$ CcgCY+00|n:uЗ: ovW&scFPylQ;gpRTH 92hNCym[<$'RŅstҔB,DV1N[$5ZҾ7ފ66ubp͙[ujWJZDc5acE e(qYXKR.l%m19.Mʒ5L²(+ /썷d`BĨ0DZJLk[%H]\VoMP6 mf~8N9࠻6i5BhIv2n &X=ԛG6Yt}A*aQa$V$cQ*c2huPZҷ\JI #NZD-4ǤOS$QүI;#) svhoﻴ2Ნ^`g~LΎڋZb%f;(tfI*pܘό߷, Fí^:}=x}fFar4-qW:^b#vIxi?uL8_!> fv/~]Uy+EDFwGկ{jώzv Ϟ̮~BJ߈>06XtǎyI? N}qvdkb*A22-X֯ɦX庺Teشq۴E"Ir %GI,^A2@e<̎[]mwz#' A_Ճ6&\n#{|g(I8ߟ{+l$V/'c͆T$_7Wp#Sj7(JK]"bo.L$-N)9QXSnJ[;7x5+|ze@_Imx Qn4(ʸ68#倉`lXl£+ "ɝ{"ӄn݌i %ÝvCd뎡wwG2is<J}c\b34 H)Vd܀oXiEcdd:Daj 瞕M_EV1)z":wᜐĭ9Y2;DcOoZK$j:gcuq5.f>B hdr%N0X@EUȁl-֊TZ0'bM|Cbǜd ַWb2×T=‚G}29“\Tk@D+#``PY{f$KYaQ07ʖnL0SI9n'QR'ةR!Kh.zS`hEq9 #8( "F-gfN)koL?OR8}p˭_*\uiMʜo{/aT&ѬEP_aK2tLDZ ayv,O3F\(Ggo[]mAZ>1tJd8chر;LQ-V"fm$S 7犴9FI!~NhNÉ03b=ncvt )!qg,kX)3D -l'QKEmvVINĺd^ADNҰ8OgQfYw)yEqd"Ӧt~\NF*{N3? (@(A(]HtiI6MY䊔:66۹.'CU(}tRQ=(--b4ׂ#pFAU[q+r2%_zuEkyB\{w[{+]e(]D.ePi6`VЪtm ;spmL>իDѽ<^薩j5wKƣQL1ޓQAEzXawt]P3r_'"[W(Ah2t՝k^FCXkn/ iv n`WPR>\R2b{*UK-j[Y Yljʐ5mCPUoSsHy@YZ#G!ew݈ K|uc5fu+ qukiҖG8~rk:P)lD`QcI6pZwt(&訵%"s(Q&&Ѓ F7aooyK[#&!sif\:JP]> >p۰iA>;N0􆵐~sZ;\(%qR:RΈQZogCL?uu,lu+j]F M, ^#&z.O3QKg-k 6g1(օ,%e!>+2 fO; -⼄EyҬ[oń^\^tGj-Saּг3bm0~bxz@-r<!|PF}7՘#v<[/Gk^]^u7aOa fEߵnGE.92P@QϯB1r [kNJ<)o e3YSY􌲃,7 "q)m,#`辤Mʷ#dI*$~T WL?7ʑ9Jvԧ"_Y#YרU.s38wϢ'"1 FK95}ѮRJO/TϒFE֑#ݢ _/eF )N-~Ӓb`^䂉<_[y;;Nn厰g9A}~Hd(N}D٠5!¬5k˘g(SX#ҲgefA (*TP 5buym;;<U @,gV;f.} /aM1W}"‹' Y4^"_P<Ե\`&iNj;w Y}HٽH6@%~/~u's\tI.N@,J")zL򤸽-1qWi1y{kԁ"38"AJ;dsDiy\+de>8$\l傌>/L/"=0kR-i(=W:bŔ1!6G%mdc*'>3S2գA2'e;5|J!;0$YhkC"݅w7/}TMWMHr٘HDp+lb-L4L4Lg"Q6m"'&Sό&d1nҟb{Fs((hkgeԐ@eRS](᡻5ݍTFgNiD"k31j #O(u z!4Qߣ1w7o L9ߛJށecU42>\-OZ6gqG72aq uy{4bk-8E71AҠO4ϓK+'u5*NFֻd Sش9BA0V2'BHڥW΢Twwݥ^ :0R% KF.Rk=~ )-KI`imQxI+"{d )b!8Gi 扁V:8 7{/;.]/˳락5;[mxk8\|͚%*-J5,J 9#C^GyrU%Fɨ % (|,D<_K{#.AqlGb [:,%}aYt%|_&O*A$!ߩ$_bBECCk&ޣ#HGvSL!t_f,.O}bMM%Vk&QAwcZ۬f|޵;X5yYݦ^pzv@R)xtι#N7nPE[hQj 3#جb+(dei|PassR)SrCu76v./;zTPXn(Њ{ZMs7 f C?1",*G40.xP1l f*ٚ-,VѴ~]n(~ HҤUeAi@hXky meS(=pNA||ߛ"u"Ʃ? Y7zS77owTIj|򄣖J}tŢM%]i%yy ʴ`s8ߪFH?xPjz{I>`dy$BmԺ}Yp[F̶\ms LC3 ~UreBo-q/.D"bE/jSyB(ԜewX m,h:NaX^z pN}=BcPtqITU4^FE7;ϒ0 :iͼ2rv36L;u1$GXV[IxbOvd Z@3Tfk*SL9F[̶:4b1$A 9FoVmG 䑾k41ai*Gh:Dƛ%W1ʈС̋$Kv|U`(؆Uъ2vT4+BLm,IeMngΒvGuPe'$Y2~Pe 'ߒ_fǰ+(*Y'3Y52,لDD%n)-y y*яYo+o L cT[aL.,zp9̣@UG]:Fw(Y6~pxwDB#`0>o cdC֖-# fxVmJ]j=Rc+6pxAi'5?COG+C "rfS4`noG;f.M4ϛz~ݞ+˪9 "Dw2i7$򡙢ec!Z)44Br6ff"hA8rYUkXNg;_c%@̊d GH  {k|Gd dťQ6@30c8bHA1;zm٣"d`4@X6tGbMJ=׊&J.KD~'cJMQ#9ip9Z;܅AnC婍9yP<s;0cC3dhQ="G;A&7++$<ڻ}@xY ӋGS;[DX* ejaB^!!?w})1YHEF?/lY52Az M MȊS%}L* ˾QMЁg XDr 8MYcntzĸ{{߁"QGQ(\:RxdRDK}@y8'~*h%+O!e{KRHiZpRBS 𔅟rOwIM= v/oBX îa$mR()]fN nvwD\/umi0bUnABL?x0gaF(YNS StYnWc˒QG>ȎJd_Jǒ1dQ2PHoe~I8jBБ$[k?{}z^_^͑V9a/[ol+UI@JOcH+B/7޲ 1?;ω';-*w;Vq`仆[VS$6c_Z4E$X C\e]!R6xg\KA&V{PDn  j%vwl@YLS.`gQu7=oik\ Ҫ7LcV̱3CYQppEP%Ao/$&(.Ѻ]eQ6noAĞ!73ܶ c5T#AAvn=ƴO&d!pp2iC)h{,2/38CeG#"|i!iR6b]fӳ&`pϬl2ʲ443m0ޝ i p()9kbq77#2V[pԽLZ%]xp5%`-c8#oc4QGVNAq%LEK7< NQiC|NQbF-74PEkPщudˆ,i耀g<1@G,a};AC?Eq͠M~Rl,AChޢo RR2ZQ&QSbD$-ѓrD_1~YMtSm]Ǹ]Zbd! T|%'!IƮ%y&eRcmX tg8.hF]lUz)[5LG i/ T~u 1d<|}LLO(_}Iu/svIxDEf'JNu YPNM8#u\ܛ*. K{QJ$fI4uO+R俒H]2~^e2R Ԍ^[K&Jk~>(NUp^_^ˤ!hw4#KyWdN=h/-Y^ E%{ c ՕQ=mP@q#GDIeBTӞDVA`HKmF Q5BNGU2/$m+ j'[T')NL3IH#" )yS0O^(Sp0j ޺\hS$Ben :#QI@ѭᴅinEYK,AJ?wj p/[$6M&$C$(aRX mVN7A`U9Зyz0!6e6Lz * Ww.U!Q?׬Ϙ7r:|,2︋ L[ LN9PAF42FPT [m$YΔqRYQ(2ݻZk]*)^*h~]* X Y(8FUr]T6e 3JWD)Tw2SUDZ)Na; .v OMaWa\C VIpJ4+DP_ %p::Q/DT@>qԝRpkP"5 ւFl5zwr1NM˹#%7|mH4hӾ$ɂ 4l$Lep  diլd^Ub$Ō*u`x". xqoE]8WJ]RR d?[GUpMbK |Ҕ͏-*w7 dZA I$-mk;[GRxq>ZJa ]*M1G!'YFO;@&H[Db>[Q޵4YŦ~{--Rؕ E9&o-N= v PILO+IPzWg?!^T$h2gc'ANM"U6M$b}~-.zǀ%ޥ:";ddIʠF-ː8" dTu^ίsu"'WF2i/CwNxZŵ4Jiv2152b+U&6H'&8+TEIo+L029|7 1U\ 7te[mW;3uxIh6x63TX8$ tEs6O,lX]S.yEIv`=wxD`cAakY/> |ic1~+ w G|Cd[<-F#tXYHW Wjy.CGG NC -=[|ޢEG 5QU˦X P>\D]a#t9wV=8gA5⅐-9buY4=lPcUd ;xf91Z]A XĶg滨tHrj!5hH"*vm2#Mʗ]Aɞ qXRFE6 I尺L UQ$F¥,aZ_(Ϲ1d/^W@wb[X\ :,,QzMԶ,C7~;1at?x<;#i*5'!kThk eRwmiX-M"dNl@x_9j|"9=)1m5z!+Icr" zUg.w@vƀE|# dfoQ>1b\W/<+uDQ}2 [AW3ڪҾxW2,jLC+ q 54SU$d;&ˎq+L<Оi) -UR(0Lu]g(J*%r[q!,FFi++#0C픡q/YƍN]WInk3mD&hD7\3Oh$8;UJcV6erЯ}Bۖꦘ'E,ײ;rVE8om&Eq4vy4Jg\"0ɍMgjN R g:}#k[lCcФrHJ;+XMRn;b;gvk0//YS\ T+Hnvϛ9)ۛ^LO`xQMb7D)pY .4O?ӟdtLGL_~5@$zuay ~xUVo 3n|eF;VFr6$wk8؇,a8Ctz-'cx~>$d**FHg(7,9ĮE~O>04"?D#Kx|hUU\-xETj3o/Tޘ/^U+~n6˜e,J29 Kᄎ^-Mwypz0:]S sBMa!q8HR+uWl[B<3d:FE˾T2%]¢saT ʴ3΂(u=K?\gDKpuJ겷`ZfQ~/򡍡U?lF;(; k14;CkSqERi:@/g,KX8G[|es ? Rk1Q#9ȣt 庺WbW"V?T=g Z8Ěʲk{B&^ޞ)=РI. >-hyYO$`Ęǚ"wؘ@[$zN8V Hc mLba+PaJc j H pt|=6"DtgBA -!VNRY/tV  s9- >DC'!H.\ [@(T'xZST|>װ'TV0WqEp+ hRM81#:ѩ5 +؆jt\Tx-bV~!Ц$TfF׆K̋x-$O b[\fIx~B~!~8odPH"G4f]D N=1;xѣcOU tݠݦPr]#aŸsήHv1A )ª! h/imB:( (cҀJM2.A?A@UXP@*lb^&`C 3g>E3z:JjaXh/) N|TT ?;I7,YǃYИGGr7"vV[mJXK^GjR>BdîQPWAu=~X*PDp dVu?v~p njnP* 6 b#]Vl)Vg" J8-EBuY` 欁I5U5(NT`>Ӵ%n H<ͅvà&$ $W@2ẈNf lqmhz;C8nDEhiz=]'dN+[0piKPb[fZ>$YY`)l 6}Q E$ ߔs|TR;: UE[CMosȅW5t 8BV3d( jn@/eZAXI(}5 !.PΜ e~ ?%Mol$ht  uў_~ϗ٢.%$ ! :uоwٛ}^[h?62s\K2l &ϖw,vQ49ٽϗx ,@nTz bQo|T܆*߆^m|рrڨ 8A|`+I =ԩ:ITx-)+@ǒ4(E,"/W ʣ"fLV2V hf@0]D~uIG܈9T=W"iQ(〽jn$TsG:. ϜzSHJס~)ொ~$ۉJ[ iq`4k1?~qֺ|pKUȊB|RC [f5{qM9θaJdr/}Ɠo1=$r%ݫs 2)qa\p<ݤ7t2!Xy/-s}Z!m$֩ #C NȠ00M"]AlR/\dg-D-Jh,7=Et0>,WdVlg܁ N4"fqye4XFh^xʎ>|_!kۼ]:|m1\u$u 5pP*"/ezaь?s81ִwFCO7L_9lG#1D'kH0" JN6\pɓK Dt!N{Q=Lcpq:ޥ/{J ؖZYih@d'=rJK[o9z+x'wM`ՌI1V l0l'xꖎ] _fEc?GᛴHNs-ǘZu(܇T$YNaR#r=;Vd,ki}{[ BgJ=UQH="fL͡gP{0bHKX>aT\mNAreUϦ0DQ$(_,jOQU!0]`+P`UZxC7뎌NU2(IMQ@* nռ43"/t\!NIIH AT/`BI0&o#WKR4a> D9H (#7\Cbma2 )NR1)P5t>JE:|/\ .9epު~Ʋ xhM<*vY\Go%u6fGhn[H,2r{5ezLD,,"V'bd%rA"ng(v'R+IbIB0.90igCCc2r2ͥ~vs!>EtR*CKV GXݑWK36vBMCvQ-3 %1LGuV?9A!#Ċ<$F'ȘҠQ:JEt1Y(*<cnDCQQеwr;`u\)Yr E@ B:Mh[Jx Up<3U, O$!(úb_W$jr+y}r,Ku7f T2dߜ !ƍѭ1tXW ({M 1YYI&-s1gpg4H#$s{{PM˩ԇ0Ԋ p(;a6J2H՗1Ch'|P|xB*EM&;WLӲ52(BD~ c$sXJG{ֿt\ߥGUtj@9bS{x2)|BFT6,۫s'' c|>ݪ 9 CL+@y􏅠Mq+7/mQU⬪!Tَ ?M8417WX M2P<0lP֘#~7bY3 @Y7Waa3A =OB`O'!hc#U-q<Psxj ;DyF[RAد_lz]9nKݕ4"<9:Nx,0mVUX4lyk/Q/oպ'^ˣ{[ 1|З[",Aw^K~"6@/ݱ`eL" imP0%1G4^ݠ|*ND%$J GDk} x6YA%"uC]'^⥌p)9G+ fn*\FG5HL+ /+rI`k?sM ү*0;X'Uo(H_AإMW+e#ڐHjq`E+Qy=Rx><%=mM 6,[ck  ˦jI-=ރ1/,NFND?\ R-:C]|htov2 i%((~^H$q:€d9TlV4Z>;(QUٮSE@~VAoPD=daވ9 ;}s??-%Ơ|zp0O#Y|_ 6?2^ `e%^40~D9YD%tn 0y2?:uh&qM[Zt-ډU{4K1$h‹tdbP5|_Bs(ٲXoLq+-̓8sNd3S`#7j垮KAhvJv\)e<{g2B)k]aiTt _K3+ 2\8x$|A/dlO]y PƇ* pH*l-Zkتm. hf(DL_!x*4[tdk[ޅK ʋT8y'hEF'g:4<][O{w c>N#ڀo6pԝ@J 4Z";mé%ú!B'aC)Pxa8S-B|XxψY,y4(J!$7;DZ'JTV29D{> Z~2\Jh*Tpb`>/!FActOIP]zNl5\hiC#Cy6-D}66W!kWW$fE8jx)Lϳ,Q\㭦qntQu5IZlG.P'2k'3+3tA֠)ZLMD~().弋RӨ~5,B:K}>&Dz&Ҩ. eǟ8 O˻-gHCG|]*nVSI#ɡ%QẔd4ZXz' `TA02#*qoJ!uЙyodwbݖ `(^xjX?ήRұQי%u_X<7N#U޲N`7B5}6gRv.Lad?~K&Cd}fY8臘wRjcNɐ$VlSICϋaEQ?\cf R (VP@&.RܐE ILjFeҾ 6[*reY_'+d6=Yo凰ޫ对-E}DpBA.Xؕo-2.$$?E苃xu8!@%4njg"V aR Z xgsKsO~xFEJ&ēI=dEvoX"G4SgY\zxu *JuVA[2%Zdc~¡M (f*q_;{sB>Tp%$? Ȃ#sʣmJBl^48ZX卦&HB-ɱҴqѨGLj^N]c /;[36j2cy/ِԢuz@Z&="?z|',ػL<2 b:͐ʷ<0ZŸLs 5VX^ޤU<%:$+|lrqO=U7c*=x0R,QgDH-AW`?nGHX}H`ZB[ +;""#0鹤W68 Yڤ kFDY15/*;9w { bws;14s7R u:"k`g^b-m~J:XӈOXZhv i]k9Eu=,,I!'KneMo1ypn# a["H[Ej~"f3f:{=HU\%z,\Xxcэ $/ 0R\0|$CeP.QU[ ^\v֮`gƾ_>م cŮ]h\Xt;5ߞ*'-YU 1~MG>eXP,LFeH2n* Eb Tj;4F/"WonrX⮰k6ܸkLwG yũj^u+ȴŴeRoo/w ~Ŭc]]ZZ%zE t:H  UPmu,#չk2"#Zu1[%2Jרp_k<`c+!6N* [´P +r7-_x+p>(ꕻKm.S7:egSv #_']iE;hwQ_xq׎rxpԳu\`{9eC^.!ܟ7x#.^B\u5XJt9, ?docfƪٹtQP84r3e2uumZ˦b-]p6hi[G(Zήl~]ßߠ {ߏF~g_|gƏx<~#D_;z~{{O|'kop3o98ZT ϳy{Y5Yt 18}hZW-|]形NzY%GGo߾E5V+ѯ~ήNr罺lf|{_mzs`^r~T{0=0,\u?c9`l~sU[ :e5wA`q /z_#Np cهh0UkZ{'[;g9Za:hX.{yoS痛eM@O^}W~xݫNpP/вl_OϾ}0^}˗_{=?_jqX;v q7Yq⽿®qY{ V`,뼗f;d˪9R^q+&]Hj)Va쏽W9g{j{/7G h$(q7:L8?}16ǵP{[^-l>z7=8X{ß/#IbX7E,tu0U岪VTu k(qC Hus)7bsE?zWvSYNK5Jx[zUI¿m:[QE .S`W_f7_65 3!RaPi[v&.QCZ ݈}5% :QpM4dݳ,Y NS5%rY!0G󂯿k czC2 ɬl (*c [PY)BٮH(6Z3}9-ֲB@qz^ի|Y%*\GA7BgZa jQM>~Y.ل : _Rz.S Y0 5ɂ/{ 㐀X  ϲ/Q8 !!k{Sd=idc0Ä !-aG]NB2%Rڎ*5*^d0t+|/KsG-ҒJS+;Qh YDL@a.w: BB5$cc Ss;-UnΑtB4[y3, ]\1FS,ںD`Fϋ.Hٰ?\C)$*{iY@kL1jlT/pSg!8;e(lEZ`ibb3~{ch\C,Jgw_0ɧbu8FB0'gpH@E$88{H~|y$N0D8FE+˻6e8jce It@% xk vʛS]O?A8,O}`e٠n{XH!5hE1g-S.Cn .}BqJ˙K z`!CL<6?/e5̫]; E"Zc\t $C͝׍u^Wf;gZ U"&cKpcֱB $GQ##3,kiJ`Ea-WyS+{۠AWϿ|Áa%2Fr.ÅKz$?uvu#3diX@|xWw !ɂ5kB@,PbY[޿ +L%N` s~=l<[YY .-8XVGY R~%E}8ki;.6f J%s{]GQdw۶ujf'i(`컞%bu]Z]#zmoz_ݓW^|[TpБsGф7[_.w9W]UpB6ыz}d$ JWYqjO 6 ;q7 2j_( >0 .m=K0h:8ץNG,G0EH3N!`~OI#qmfbXWFX1cJS2LcBF:+÷l ky(cTfqg5.-5*)iF])5 i7Z?|Rwɐ:d"Kzr"]H#h!vJzUB,[gaY.m2ap8|. "s(BDMNԠ}85;}_K;TWrOb 4Dva+ 1eTx-vPlg$ܹlau1WGjo4Kf׻,͔3W'R.Kļz5?Y'JKDbԄ7+|{;\U@lpYi$CI:lZ׭j= RHd _<ZUY?;c?{p Zư/FLbelJn_l~5Ƅ1 yçwAz~z]4PsfBX; ! Ɓ?RYTHY<.6];1 Rג{NPGpZnsYX(jKM@ϻp7 ٢X9ZjR1'/eStRdMKA];~GwЦ>)ѻSb˽ hQ]Fa fg&|l[ Y1'jH\mMh݄P[KLXHdkFyX݉R!#~lND#|) +5 4UOXz nq).l)#Ǐfuu] A1W^2B"\9.! j{Қ^]v4&Ĭ i `3JU;]M+mJdi<,J #0 j|#_XhX(41ї5/Q?"ٝ7{e{2±o?JC  s?PX_/S}^7 U% 1LkU˪fY8`bA#q'N۱XVC= Cxkq)+/ꇣwp-Nz|Ѣa90ƨ3*!MW:[B`?6 !bq՚m*I)iEPj[F;DFHV#mT>HDUpef0s&5 E8B*`/U':ip7נ[D߈ã 5:|V]+9TB,C;sQUdB݃&a GG'?./>}myyi0hb7Yg?_Z~ȥ^~4Gxv_WG=7PŁq٧~ѧ73p?0#&^ݬRMHX/ L&RF.zsʈ]N->Zx1FO+G3Fݖ:saI?RHb$4!>&5jiHis" Éʶ}@MHwn6.k\@l{jrQP|Izy( g8 R|x'ߓCs<#mnvDzo-a|o#Sm.AG/reOT FAa.M5>N*LftCwn#Eydbr n60}fçnm-W˹ 'x4:uஇ{C;` ӳetѴxE4".{ݽ>D'wj?G;>T|s㣏f"5G1d}W7g+77@]Ф$HṲ0pSH (?̊.knO94g."H߀.Z|+5rP/:Kv]F|߼X7fѣVO}1?i醁^_o ; StGdž*՞d׫|}9˖W|R_Cǂky\a `q 0.*(NnP(dLkDSs)1*̯Od/#naxKg=P{p>B3gܷ;ι 0pVv5݀(fޑ(uCUE\ǹa4DɯMN90ɯ\ji0zE[qN)b]7 .+)tNs }vPsjhY˗"&?jV?0`hN٥l@_yH bL3pfs;[svבk̫Hyv\ 6R\An9>o9:ؐԔbAD FxqQ A| dx/9-9LMp#Α e1xHCRB+*mUaV+mD*M TfKȨDLז}((a̱ja[{ۑϚXy4EEpy(9pJ LςԢW0FLh Dx?t&!ʼn2w&4D )q { 1-}JwD1Sap )Qry$-H`U~׿R[3~4%% ̈L8)>LB]5`<z3 +Nv-T\۫rQ0ΧU#1 @i 4u] {7\ּnܷnD8,!$026afl9?d{<5JvgMY r P$wu.oymEB4R ?aK=3MF 1d|+ T \du1HFI|`(8ޡb}{i5mQ0==\WU)ϗE}#P"'-Jԛ%{12 -*4<z(ù`6]j yְkZYqbD$gA3mMv[d{It ykoo{=oQ ayAhP&MA+![ %&|vgv NK4;H W oKԖr8\P`FJ;+ E+p R{O{]/8h™u wkWz(ms q;e5!g0HyC"S"/-o1<͖K eΡcQkc$P9Ӭ&Gʆ/_e Y<^I ʧ}φNm:$<:0Ƭ3_COEB!\%qyl$+|qQ7iGӧlfaZ) "ZUTHѮp {Mu7$`t'БDV7imGLU뻉80֗-Oa%i_{0`/F1a$U3rYO {cZ2!2}d&NF 0BER wXHI;%$$ThNtdm%3GCŧ=u.w2;9M]dVOqj͊C }T+clsc= e37 v ϒ5|`aAZ\G(=R#x5Ca$! U+?EKVYiYXAxa.&Z:nzX).t^#YT`d #&qL@llC|piBյڮ(k v@pub4gX15F5L'eְ5reS-{H@ѧۖT@!o<-ʾnO͝[*k=^TWg+YH&ɴB@fĸCϟO EUz)*Ut`3'p)<|Ï'aKc<$HWpӹO_T*\ gnˏI+[qxeog->t6h֣|2 WфK% ǿ}I,n9o]b~7CvE:q&=%f.ޕpߝ秎A`Cv^{ ?eS/ĉJPXC~|6j`KC!nDƟS7#`y{Dvև|Yӕ2W~GN-ۡ .ԗ ӒFpIB^lylR^J{?BT Jx^-V͞7u ҋgm(7NӳzRP].Uz/->~NiL0juynbMo S_6omf ")fum}^{Ջ5leH0(VfKqanmz^1nnh?DRu1d,":Rk pΐρ7_-2L'[+c[thd>𿆓u8[O e_`dâfB>l|{8d`$CE6FFG"$ z%O`㠂}N< Udca\G*zl7VHy%\Bw]XGum}>ɒ(4N#FԊ1 R;Wa2e`y^ spc=!*w|R;)i[yp֐ԾMLs2.|l;|HqkؚpX󟓙^KoF/hKٔSÅ g/l0L1eibEm*OǏJX!I ik^^D6 YIu ӅVes G xjR~&{;$Ţ ^PXmoiUJj>ّwl7Ž! WOv:ݡ)3S@ߋ Jғ>~?aד/<!~ňe&O*Y@bu%x7XV64Ӷãw}k'ϩTns[#'o Drԡ>dQjbd .'ӁT2W G M*:XUM鍯v@|)Mo6TbӼT&R8zP~]/D.?ʳdW]BM{nڕ+㥒Œ8v B̎8GX0}@l_@tAFt^K*?>IZ3|LUXPfZK?w;Q;0*C9Y߷'\:1=4qć Mr9ƍ)+ctK}㺿b$&c-?"pQɕsW?֛m XG[HkC̞,u7}LjVssc4wʖȮ8lGަ?nIqϋ>bãxuj|ӎA7ӊ0h)YI4 @ p FM.z=7[9}T`u+z{-p6fn4wm ;#tw+юu/M,A%&OPLتE׻Dއ[ns珔F#yQ+~+fyfW/7&do?Xh߄x\9ӤϵXf @gHx`$Tis#,ܬ\lu=^ӷ%}-8& hm.Nhb2@07_^oZ5\xz ]eM I7[}f,X}X#P|YhnB𮽭Ʌ I6- &Y>}j" m4YM` E΄[AJKXՆBO$s)7WF)v5Z)m@䀪04iv9ЊNp2N>j{,lo8Dߟp:^Q7]U=ވ+Z9F'"6M{M~<;軑ǜ &}bx̹G4j3Wʑ՚+lcu4?>&IQsnѝH-'bG^+ޱKj;p1)@4M,^{Amhgj7 )=_W?| FJҺAi_vy;9a(kW4Ϻ-=5O.;\*zDS£{XYdEfݳͽXżuZN6թ(Jd"o!Rz{@⿮P ؍LE ^o5]p =gGĺ<6%(D`a_JJӲ|^Y% Yĕ`oDs6q>Ņ=Ok rm%reIE.H.FVSY~|?iA"Nk^ 2hjb(6h}s#&ˢj =7:&䮋,_i6*Wdk[eVn8MB<y˓x[raeqp/8#H)Ab^|ܝeTܦ:KdDHKIʺ 2sqIhs"SHP퀀_~/ ڱ^r6m4+3׫41dT:!FʎQ6E)gY3ۺ,6v{hA| @ml*~6/@g~?x[ɯ)hx\@}@Y\l x%W'[[_?>#7ǃy֤h ZGZѯz~~M? iiq2,ߔ9^jnwm (o^+齵ˏ 6^ O blk7{EP/ZSz>}2R>̓r>ʪ_Z?FE/J{ÿXM4@T(.ü^ǰn0P hKK_}zZ βr}ULeU/>¿S S&?Pb9,7o_~A+^oL_+WV~e<,!Y=;w @~ ZP6doU&-mW:]P{{헗 o BüSUP9uVvy뿢7e=髓ok>~_͏[eo}2)Ut? 0T^=پX뿢PpܺH`xN_߽ig}?w뭷#K hat@+Sݠ0wjwe:{с$/KUu<8^<E'hp-f8]6GGE,#/}Oꛟ]5_#zݯ'o_~ï'?[~*Wo ~.':UgֈjlfpW}]nҀt-^_74FI\0A>9δOrC"]#23f q Tڻ,S>md_q4]e N^"!S}r Hf%q}%lQ*w| ̟N)Ͽ`n69(+ʇ՝٤z>|BǞ㗏p?LL]r_Lfqcs%ҦIE@a3 Կ1NF"ض̇G3:Ns'R৳,@fƧ?YQor҃cSjd6gP9ϛ  ɯ| Ap}U. @*Ξ4hwݠF4鎉~^x ݀ IC*x#Y66>AKG&t<9lޗj|[<?8O|5(A͙`ޟec_w5?hf{ 1`@20jt)A;56 AՌhmGQc:>gªÁo$䄎:ƈReO0,7K(kE&+sV'"i9̤MrVFDlƫ!igR">_;oŲsW|8/uvJmBcF|-lzY99}"h f;#'XgU<*/_JGu9/.{PN`椅|GC(-z\<}7ԹHI'8ۇtڢTmHjD LBGG|gCzn ~zt?owVQdc4r/[I)}P=Λ3Gl<ym?"& 7T+Hֺu5gQ_b3»v>] {[n7F4?<jrfUq=iGb C֊;S^zǽ0,'VUKí]nllG\=1(Xl>A`b-> {Nxg2aId %OHffCeҗHiUal SSoiKy{sdZ@2z Yc@>GXO@,a/] mQsՌiWS=雪)J OL\ őޒm!/:2p6+7ۻ5x1'T%( YZïRk/0G*YnR#q5M$$ 5UK 3jUc4=Ȼ;8 1sHK#_`pu?y+ /C U\m 7ߛC1{=C|><@:[f?Fe;wgC>W۬c_hzXo]/U꼑xcIVȶ {XmB zdN8oکJ֋YkMJZ?tXOK be΢x8eszbKy yNuDpc,vz]~#Oʹ]G^~}?SR]c|5rt7`jV Ҥe 9XAExooSs[?^ZۡWC١"6@N[CAEdu 6- H}栚%r(7\;)!-I7eHx? c0Jr_m ]yt4e- ~y,_pȬۊqmhdݘGkC;c֚EH{!DԯJg˪|0"Wtk]AH; qF׍{h1Xa6=+@ ciMG0XH5.R>Ak.w7F)+N9f&ŽknuYRHTp7ɝy=0@ ?E0Ur8m2.!D=.I[Ԗ>ɇ8 >O 8^rQNד%; fAp@@i][xǮt0Zw!S57n&qy1HPuH Qo'n{>Oiܾot11Q7@*9w^F w^H>ytp&xšWif$]2uad'g==?7!Ca,I@,``D6]:@~jrwަGz^$Ѹ]'GAؒ!~w:{va>Z!_7=}lŮmX@nu:5G\ =ױ7[>Ȳ%Z:,yn4~ANG萬+*h!k8.Vq| EެLM5#y1ɞ @v8DD dDo]wuc<+jW}y6y6LLZZD+Ħ|>7wi~yWu8Py'xLZzOl/r;#w6(H~~Mޕ/TT] $$M$)#zX41[T'[!cg7 qc(a{ 68}L?SK"!}! fehA{C9?[8'~㐓7{N׷+|>l[^&%BӮ?om+G}9/]lY^Og'%X~ 0??v^͟$L}<ăO;V.$w1>euU%xr[g&fY%>8B:Fs0Ldr%a9cS&$M]͐q^.@yIJ;9<, _CoFܔ>SQ㑉GëWͤ0&.[xT۔O靝0>ySyZGTm»6\ / 6`(ţ-YF RJb ‚FWN޿ g2%F8Y u/?єm , 6Y#-8l^3O׷}  V["U$fG)vYcbO1NsͶCk6RpfSpi9h)+8x.gԗߌryؠ2XrDY?^cںY;5j#m/j֤lk>Lɲu_E/}mz@̒yq| ~}Q~࡬'FۀQT1ĢyH{?BMQF,ʄE^8ܛqhrxH./ :qNTY"3's %ʼnXK#OLqhh|osmW?OlRGu8B ck/+wl*m[in7iudnoNbsh-Xcg;[ؙo"mnuw4J߾Mޗ{=ǥ_veY#)j㒲D(Ҭυ[o]nFV$ ctKT(a}``˱ƃ1귆/ @Z~kz$S68`X"ŰT8hp NX^ 0Z^/|idV)8pBaNRܫ>Ddͬ8럾9[;[1ۻ[b۟" |5ʰa$5l>ސkM_t/ p<\߻s ~2 -8ʲhYYkd<bN:/fhV'p<:ctSׯ\{}íч?Ic :JY~|nZK}58]{;Wn﮾׮_WgVޕW;I% b) :?N>gwrwgwgU_dys Xg7x~[߾rek.0`}^Ovy?̋kH8|owYy-',+fiVU9[A"ӣs.ޕkQnۺs_ϻɗ}X9ὗ8W_WZOW)\/9}݂cի;׶wbmo{o5U诜ͻv(ǎp sn''ֻ7@U"!#tWmn\;ؾrʏFXq{Jo켶^6ԀY6mV\?c:zmٻ{dmb 㕽$᯻{{[ׯGւL%~p߾*~VȍwEwoZAܳWKlME~wի䷻r} ukggx\gߕkwv{GM(t${< ~EUbGa^o`<-`=׷\[@/+~Wt;Y'0r?ȖU>N:Y޵k(o^E_޵kWvvpYT} cݭW΃U_\*rЖ+#+uw^Ws=vT*FjKhq<'", ߮ ~Vy=U^VB/́׷v\EwewAvW`h/K;}Ł@D$AnF8Uy٫۹qg_o.7>7+H_oˍ6\b,quW@~ugwsoT~}rxjn[߾v_Ws^d<}o&Ood{o)r/g흎*~λ߾UӪ,nJ^Ϲw@ۿAz{;߻}^۹~1?I9:GCd q՝Wݭ(l+uW#[y6W3m}.䴗?n6d9^ lml~vx{(ÃWSVuW:ʋSs:KZױ^ yO^Gum燻^<8 W*mp_|XmMurgS8;ɓ:=;Z)Ev<wk[ӷ} n 5ݻO~T]z~.r+j%?v>_|j*~VQ8i׿xUzNϫ-LX}~~?̪ U%?NGu?>ҡgOO?ӿWOu뷯\)EE?N{G__91p/;k[W_?K>J~hpx\"y]cg B[nћ{ 0g]C[xYt 쵬`3$,ѤE\W{_ (M V?6Obے3Y74]B)N~7S`BL/tL* wcX\:AnMjR< ϖt8x  v*,E%ڔ䥜krfQ#5Sx=gd>g}c4!@q, 2ds4Ӭ*X2:)xtQYn p DXSQ,b0fZ)4u U^.k)?Z 7c\6Iy *p=0 Fey1 ޹ X9+@`[e>InN4Oq"_,& 1Wtm""ù6缙C8$j/&K-]o9 qZIJ ||Y p39*SN٨OxHgr[FU Ni"I`䴬NȚ0Y2YYQ:ROD&ygu>Mt<8 e>>xYZ1P<>d596i bX3L.*+!YAHN]ђиGbBNY9 Sŀ:qS9 [\2YyJgsHB(Qe!_3or€zg4' T\I2MT4Dy..,<0o-iC.xF1 xNYg3 PBNO;!ZNe8rp1IQ*OaS*_H'aijrYD\0ʲa*Ti53!K";1E$/F޿j5H.c.o#-`dzr,̟2i>,eQELYj}hL$&gQ6g!`LFP@Q$`pSNPa/5HDC)8Ae>S`Lq6x4X= UΐEi#ŽҔIINY pY* @]3" HWٓqUfR(`/sdC'b3r,yB|P'Ds6KS})SQgGB zTPjCDlwHؖ@\=|8/ˑ{@уdxhY/ |H•:$H!ۛecX`'N%a9 `i6/M.'޼Z[i^-'—-8g[Y]:EFyVcs'i2M4@1$;U >וmDH5B'i!YΔYesT$ Jjq$2.|'~,][Ƞh @F)h*d] k w,/]  0AέoO(* G|V8OG22i7l@I~| !w\ty d@Q֜fYieHb@إ X+#=>>k Ȅ^z]*9Š=#F5M{U{? PBHC(*kozbd#D8[Ӻ<46TˌtÝ KZ Q = OZ+v5JL`cZ2S*Ct3IHIRǰArG(mVis3ASIw(E:5H82H  Ja돝.Z"AxD9 "d'^DWbT PCxtN<:!˞F=Q9 ٷRеXxklymRBOrHJITטѽ  u'@;|8+u2LkKt|2!8M MjvFNă+W"n I ,2ظF;C(jcڮFWk]"ehhg}OfbC!›f\bYLW|/,ONmy)lɾq&(CwClG\V31(Iu)~w٨SI8H5ƥ`Q؈y͡0PF*P72!R(ċExy/+-cM D*,l!LJmv7@0։\l }&KԲE$BhzYR{:ӹWDc)R*\l9Rme"Ŝ;m`ʬє͊0Cd@"f& u@SA&GQ!kEq^q?0^fɚqE([ו6-&x8Ӷأ@g@~[VR丂xpY=G! ࢝Kx=q!4Ýچ ȏ@SGZVz@]^5y vv꽚+pdGh_K6h6z:zuJ:cc?jߪ$Y]'TȮIb7[U lA@WCZ2]D5S,z[Ō6:>9iqF/2 7Y$ ܭ)kQ^e2sW=爠V ({$:鴔#p- q ^ȑc gI΃..K&͆; n$%dm;Ds r8U7/)G0e(1CC <vc%$hCv"lZGVQ1{FZdȑd˸HeJ EVkvKy?. .hI^hd )p1 NxL4h Qlb! H;"b=ͲV_`@OX6DS^?بo!1Y=Sw9WahsſE)$Y3 ]8d"xSOmzb4>dr.8Sq p,* RxMt@ E0>^VZc2_{qoG1G/4ܓP!hg9B%^蔳;>ϲcg 猙htX-ca6wp10 & #t5śJ8+zfHuH8Ӻ]dBkߚ.t>%DB)%&qvYz,ĘCE}Vm\&O5I K,ӛ^^&Dtn" ^9sy1`1 UmUA3Ypy 񚔠C3y DZ Wbʊ9FbYseK:B+ <gS/dϞ_4LhhsK5M7k2/| 8CPaĖ';~}%(=D Y7e/g0?6YC?FD)jW /.n`[Ld%beYӂ/V=]Xz֐Ƙ(w Dʲp`m@9Q r[@>kofk9 wڙڑ-$ dH5-9Pi8L">P|8nH'?-gFY%4'8zU!L0]2,88IUKT?c=;/@L XfF6SP g^F|~@.ȤZ4佤='o(o}v)x{*VdnTғ3-"$8c(4Z 3 K3HqԜۥO"K ϳИZSP6E$dFls A9t3X*E&A #$qN ̛ùUs4IȰ56} qRZb.} 'wn~!6y''`6Ҫ"ݭTfJԊȐs%-SV6 zwpWdřxs#bm<쑩HLz94agс<0J=[ ÖM̔F# UEWqq~ZI WM?C,XYi M$,Y~ Y/]V%G"|DSZ.̤B4,m,v$E? 7I1?`9 UGج[[^3 XiKWlq Ϣg[ėax“[*)%Q‰=^hϖ5*ˢ@4 g7(\N ,R=h0yȔ]ʑHh&6`wsȠ7h,.4$6o,.p9ObnXq%؂ǮX1dr$hT^릜)so,Z"N_TD3W\@bhDS=yR#gBeJwB(eH؄`Hr$FZIx9nkK OQ^qt?*'j4DaMd˯-x0x;8\#j+>GI9c4K,uheAۇ β#dU#լHv^b p>HBߦOX[6D+8'8_~2 Z&d6jh̋ͩc@/缷*#ހ:"6CMl;zpԺ34NpT6 j |3X`ZjE9U'ǠswKLR@ `IK,ZlNZ?ؖme.ZwY*^uDe4* >t7&nSy\gFfh6Eݑ#gHB`ya⊵m' ^)%lHZnL kpˊY?Ќo0\?ۅuJD9 J1&Jm [o+(D82ĝ\dh}CMfzQ ktzHV&a0޼0%mRe`t /``*NXK'c#&؀CAv:l1{F$kA" }`YѴ8|xEc*Xw%6%&zBusY | Hp'xSVs[l~(Ґͬ?3x_"WyF+*4Qiy*7;e>/BƭqH[!3|OQ"^ ~eg+1&KL%ae""2`b"C%_mCs  VxEksm`Np.$Q\rƴhq`_aQdlR<a`͒-E5ˮ0 s4meVu+o4(\"KXd֘h }j=gȽcֽȐ[CbyU~hI&6n-F #\_ $BBU6R徲 CfT.TJbh#dc?zS􆓈|z9,X!B4ٔ yAeZ̳(KTF,aY86 %G i?ú_Vk,AQОJvs-U@3%dĄ| gPq>Z.6ُ!V]o!Bs gox"NMdJuͦvBAq:t̺8E;s5&ʹ,)d b=;E.!?eu9YKm^?g |E0*G!g$uGzJq.DP+ǡ "s47MZC!AxL5tX@DWv1Bjoh 6ǔ̞ .I!pX7EK gQ=Q*1q$f&{.dsi.|%@`V?gV,JiP*kBuғq*`p*sQZlenS5bFTa)}ÛjuS52WmЕս@ěUOg'ϾEwE u,8O1iDsXNZPo35eD(2j>-nQQTG3>j_ W( j\R>DdI7 QM,y$ޞSíS 0ps=L%pMú#n.f'NN]C ]cE:>.Cu̗!MrB'Cƭ4eZsd q\n<;{4JLd֊_>D&lnD_ ; bl,׸;>'VZt+BHw5vjʉέN?,zb=9YllNU(ѷԕ 7t;?}ӭsH'C5wYv@GA!ru ӆՐ+!ƀϫlאCܺ.P֎z/R|#SZ]fSnϴDӲa.l֎feL(зàJ難ʼdIcp?hH,F6Ex¿*MgX&"eNPg1ާ^ lJ~\Os+6mS6;1f)1Ũd~Fg8 B]m,zH[*|EҶ2Ý18AO U6EYzb(딂,yʢ/רR$%ż* Uw 09n(7d$:F/WIOvLG\.Vapx||.` P$mɂZF~x;DIXjh=j TVMpAK8]rtt-HLk?q?yC!UV+0ǤRbXBpU'&,k8rnrmI ISۃaBIX3{Ea]#s\"P=}otj ۯ0%[oɭ[Y;҅dJ}@b9 -(fտ&XLQ():f, u|h}\s 5޶-]ԑJC PT#9ቒD[X*Z*PJM~i 5[RLmƍ,0{z[i1'i}rNlp;b"a|hzDh2IHFK9e @NM$98AS%qY|Sзp[_̒EKlEkBjke{#U\/ S)s^BS|=Il%ZZd.+ab e~tQ8.Ten4(UJ 8!%c%c3;T貀;O\)u3)"?{}v+]EZd3iؑ9kM t5];{p/Q4c?EmI|g xK kr' Gajm;a7ht ׻[)i#J/KވfOCHx''>I8'9YŰm9$,4v-¶A EIfSKTZ19ag|wd |䳅Yx}p)2l{]]~b}ٛv/ZLŮ/V Z#`\Zh]ڊ<Oj&EϩA[ad}nFс1 0M4>'TP39XрaptY&l0<@>7lh{r.GLjA6dPY ѹHo+$x([ 0fsY(ℹ`MO_ׂ@m8څֶ d; i!3}eIkP><㜝nHJ(8G9ݪܞ82},=)TSVe+ӊo9/FrU^BcMNBE %Q;wokGٱ7+q79vj>`U;mV,\J@lyvnkD*|^_OY;٭`wk5OڽX5K=c )@jE|Aܟ[ܨCZM9/Վ[%%4`JukVRನA1q[?QrDN$.}.ux \"љJ`agfM-')*] ͢vhPTF GI!J=S>x,QuZ2ѰMm-}>] < UEf^#O]/ txCɎТø{^}ۢjd(.POi~JP95WSx~&G-7E| GKjz(K6.돭\µ/vRiPKv?lvMiopTbj<ם' P`doV휚¬${wv=WQrސP&7-os F)YuÚ4KLvqHhe"Xe-:OD2P7~jʫ~ΕXTcBBjߑwr ZT |@.]T}.=dBgJjl`nXGG8'9՛M~!5 <v vFv:V7"}*Qj/脺Xۡ Llʏ2s9$/%{!uJb[u0?g€<wcob>"W崰q[XD8_C ܒൟ.CZrgf7CZΖmM< ?lBϿ$~V .ڡ/cB| 2dߔ-i%֐cbXZr l٘܁Xx>n40q^жD\Ȱ;`59c/JvF__7ͣ3R+JNVV1㊱ߨz!g`ͥeTH1պc͍Ldڒxhj )rj mq_tvt! LUEvA[HI//xUn^"( [Щ,>M5s&YglZmnRiLF|n;xKHld? * NSɖK]l ;ح;xK: дB4H@4G#dsI<#V[#VU( 0ϣVX:dk Eg 50URtz_ H(F_ "|[Y,֕!}lڪ⥒NWԪyбj}uR=ͅyYjgR1?/fI掬؋xiL]4[/TL> 5V(-ř )}(=jŝ:rx/z,҆_;Nމ{$V%7 Wdh-kFso6Hz9h\.[@d4{#+[u փ3]Y~!r/ c̉S]M\yBUʄXʎLH_")@g4m=X:,ݛ'X͒QyºBaSingҽEcF0w D Db-ÒJR3 ~,wV`88Z_S/oԖ!gIlIRB|[=DLFJڿ*fe [a/EdY5K94Y7jD7 1I A9.68Zi*ҨwQN$quT]!R}ERt=/jh: '8_(~4? A2JiR LiBGʩ/.2pqَ Z0{JgsKYZ\ZRqP˦w`Q7/)n׶I,!Dc5#g/@eJFey2OqPSepoGYIv#tcDK~Xje^kalƭvsNdBr8]Yrcnbx84lC!@Ec}Ϟ %KBz /}!f.Ĺ-,o|/iӴ1B $"ř\'~2YLL*.LVLaI/MfqcsY XLgY^; xR2ݻ} UpZncy6rr}fZނ*pkSbۘ*n9ʤv/hhp!U#I6hiiRQ| k"C t]U^QnE*jd]k C"宮0}&f户&9]a BEg˵r:}ljMEB"w2E^{Y /+yh<6exe. a\@o}źtۑ) ER)]3Y)y&%=[{I&D5yu.R+Hz Rh^&a{afˑxrZ k *E[N T_CQ? /Xo,'P"|Hާi5i]S#t꙽пgpxGx*Laʨ aω*:B_ޥsy;3biܪ lEtcBg LлbH9jX~%pKsfK]H}Jľi]~t)$ܺrٕ\E&8ϟ3|~QI( >XEn|^uW2kz8#5l (-ɺi^sx 'C:yB$,o A{$F.Oώ;pHr,_'FsE1+Ľ1RqKu8^|9\U:[77$?T0jkRgQڊa/*"8<}ϗ$S"j\L"F7ʨ?K~13lȄV6pm-uXELM#uV-cFNI%2 72,O^e#$ռLar|ld9FE Lo3nɺ, lR)<`:l!U"[!}? YRE [;=LА16}M>NQ .2D60K6| #.4$`SqdNhXHi<-  #Xv+{JqnNYH-czI)!|i \;Pt@-5GXkA> ^"8t T9-uc;tB+].,d0AR@׃ED1IWUwm}CT[Fqwuv-%@eǔ2`m6!F-WoeFPSEh/J% STqCȳ̕O0 jץ+Jz>kqzwi1"FHA$pY+y&+cG?^3 S;+7yLbNձ_ u6\*Tߖ%h2յAׄ|0Tf%9֦uť7~%xQ/@tDζىf(mAq+_)dx$, ˱/ $ijhc뤎G/[_w(-bsV Y3Ũ&rRu[pKkXM# q, xYV0ҢX nRZr|OV2bOKܵNio] |L9f"j=qb`>_ZLzax \$:+E䎽1w!A(5;RJ~6;, xlw8tW[=}l(TE0@Qwg``6D:p.n)ZZc:a%]t Z뻍E8 :m+! JWp<沮6kx}3\>m5ZLV?pn`wP]xE<@rkI5#A\/O-5YZˤuk,<"$+8pd6Z\8[a1xtҕ{Hi \)9h=⎔N@LLarC*0VWg $F✕U2 OòD4y矶y٨O]J>?=Z`'*t R8SY-Hp*E */})Zk5z֏ @y=+5)œj2<lO.|JK%D;\ b0e5jEZQC"ٙX@PN ٻOȷ)#ґz *S3ZYSz  X.KCJZA$^T,IS.$٪-emR.i7Di}C xq u` ~<,tԅ(; k{m bQW{>!ʜwD&z2B1CXk4QRƍl-y{-C))"qS ZGηRZp-u K.X Sy='Bogra<#927.ʭC@8s+&Z]Jߩ^ 0+[ ]URKT|ђ=M:#O PKuTO0⛳lrʹXy9o;xa!Ga"CU5%\\8?9U1Ë謖\L <6R?ѱDF<*Xց,2 X?ʁiD} :Ֆ#u:dXX}f^NIO];&PDȓzvcsZ6-8x^SL1De,[Dr-1nZr̼U:vYQn/az!maee\ᔪ85'fB@'TĈP[R B يWאO3>lBPe Cd3cN6ZB~d 905;*GIy6浝8Zخdw.&f*dg55| 8bY#7.ֵjS `m 5SBȄV"ɗ$K' q!I9?xQ:a9i3|Cƍ5BF[w H"M)Jmr' ۬M4L(Y8%lt{>Ǎ_ dvb@/,h/&-K}yW ,m$0-VRܚr9HE` ٻWʲ9!R猪už;G3PBhǩdK щ:G\(8H.΄QfM<(‘A@,'ͷjtU|Nq;A) ^$eNY? ں%0\M9LGL+B سI -Tgnu@|Sh) UTEGrLNBқ+h(y:eH&,eit =¼w~ H>[Ū 4$UԲVGo\3`$:B$4}Ey< \*%(QRHvMVA,9Pײy֤X,udZF?V+6* Ѱ$ةCN*+w=Wn]_07L‚np (6*<}ŤG(O*<7 yec8)*MI9`cIc%vެ&wsd@391(ӳL,.'kkΪ4@ .cTZpEH%d)^Ha,&hRgrOaGF~D&O 7x' [.uA|<`Ǡc0>`R[Mފ e7S<,Btx kYYM Bt/p6z>a8>SF'ۃ9 g EQYW9p=v9ie>fFߋйOQ98 Xul452^ Ǝ]@I+N 5v/<E ˞?1!=,j23-jFET]81)j^̵BƒvH4zD~t_akd1Q %9z8EXv-X!N%fmiس 4MAG!8GD[;bzAIΛz%$ҳLjG U ؞yhidRa[P2oJo&,WO`ԯA+*B-*3c XuJj"JL6XE^m EOt c bN"ixFM!BhFPV 6@ڟV DBk''$ZO\c28͞BBaXDj ؍HcDQV#b ];\) 1@-V'%^"(iNPf sE4ʲ9zF>ә+ty.KPƘ(-3drw{,mk\,,Y*0Gd ,W]YOj<+]X`*U;:^]nQYyu}6Q;勗WV.ʀTxf6A,@Ǡvs|A3+/z(% u tACI'NFcΥbа^h1 qRI"~ˬŐ6ml؜pq~n_9i)D*X;4vbS Cs)Tゾݱ+3QŚlUiQgk+ <"&%|-ch3C%>h0ٱ0FsZH:*-Q:(8[Ė[OGĵ"Zhݷ@'p+f=b ""J'ˋvz7Z8 kYMβ=R!U cr7XPX3rG# I<!4EP< DFiM.* E6_/i3o);e?YpKH2X0DxQ^n.lCHu\gJ6[4+@dEǀOg%BR&e OrLnSxͯ7Xp]B@W4lտ$ꩧ}.ғaD*5!A0X T a<"pQN ;Y6 \.R5C~?&Gò \W&pSTDb&;>7& t&,gvco0!=Y=:ɰ3-:3׺H$J(Jm\ jŽ'AEpNg37tW#NsPΰ:t~.ы.]{-je$Z2o( V4ds6ype\FJAtB$7F~7.iJC}ykDQp^v'hFrhQIS#$øΜe]?ѪjH*3B f!B]\c#q3]6q3KNCR͍wYEZ vVcgPw,J1l|LWA$U̦O,)`8`m<{|@j2c^Jyμ%9K''L> n$,+rtN{*x!!e/qظxw\$!O%U$4@؄gG&/ǸzLAhEP&CGS1S"h F~3kpw]DLQ5 `QVmk6I=E'p`3aEшS#~m \!/!ic [yMAjjA^X9nLsx8Pt,Ϟ%n9n2g"E'oz{S-ȎYB U"$[C-+OI%q ݉yMW>51 㸸/e2 :E&wh|}zY+'Kvh`YP/ye)HDkqtprRh Y˺b,J>\[{>ij+ԘK3؁dY#HNIu-t)qq-O̟_IHUðd,QzF}h(r;XjI_/rzf.D1pQF1)nސSwW*H$ _kDd }W=6h< K2]η st$,9*3K:oSa kh$JʑO<28T$'5|jgӅb)2= V3'lFՄHll)\0YqNJ qbz *Kg ŐF%!+kstZ^d!y!Ҵo4 JΉb a.7hGG y<$ uQVPܱ?JGJ{qtw%]r KBf~['zV֟G7\~$Bu}Cf 9ؚ<ȤnT 1 pr ty68MGU7acC㲗0D8 ZB1蒻Ivjˣ) +*dM ;:) OYcFgSxP" (ΖH?p8X<8S*lOӝ^28EK4Mb(8~D9ڊwoNAsϔ`en!9"_J:q*ٖa(R!H$h oM{QnGny#:my&tZHX8=c2p IKSF@["~_(I\Pg+F|#(K==ZS4J,6I]q2Q=i~9YTn.g’ȍN<4l Yoc)@76HF(rsE)Ċ8 !^ 4,w "-2r#CZaSUt%IpENGۈМA,4-n`b)u<5`\Kھ-.+̝Ľ.PzP[t/D]!2Jvȸ"yEYR Yi".:˺>N#{V$, tfT&}^1)yW˚xG9' 6JlMAع0j.^J1[y(r4S+OVcIftZIDѝc%[% |)~a/\OBGN7dz&bQ,Gt{,"gY8Ruv߈N}ƍf5ORs.C}ޚkUb9S$girIZFD$*DKx`H-G3MN)L+Sr\^BQƕm-˻h T$)DheFMbΪ'94 /9|E[R56&@,ex6p ])Cqs ,SYZTq$lB.\b:d5!z]oMj.9#u<8q;8 pm' ;ЫQZ3o5 =ؿ"uH`J1,qoҫ'좗A#ȏO:BM2V#qd4 Ǣ*5ej/XiI\3M;ORD exaۚO]MDP=b'ɖU Bk|3lDԹriB& +Jlf'G?`֎m2\UByev}'^#o$@z=ƼbN**(L I: T댚DKz"`mԋ#w߱5qI&wuvygP ~pq\``U&gzB">-xwOPŹQc/i6FZ@R}C[=2M>3|>exb{#Uoڧ6~~4)x7 W2s8`p-.Z͚.д Og-$=S쩞w=QDAҎ1u0<ĕǮ)+?'˖r>cg|;2Q%}-H@8n6-V,Ml悉FGKDZpA{TV+hew4|%6=^ͣSsǰ$Jt(}:f`Һa/l<$Jٟҳ:< |azנȘ0hQעMlar\b/|$ {Us}iԬjpy܍G1RGp:MFS>hw%o44&u;vuϢ&8q^m9aJߵ>uY\Uѥ!Ҹzh/S {\'NOr:.P|0k`k#('e}DvMOoѻK/ b$of,:HR)J(AsqKj"-wx4X(BB{]ͻU.lbqgc2?lIL'׶\7 xl -;u.5ou4^}A~g,rxd0rs CB|+emG->+sy+^1|;3%6*ry%UEH)UU鷱c n3,67`jaꨥM[Rj]MЪ?Fvrk0dNdvV $W.@/3<Л ̒moP{%p0@"^A'Rw$r^Xn.9FM+zAYe CjfQ+XB '&}}9,bH 5ieC`W@:MGK x4s+C7CUu ^A!XFIUHk[&2N:^e **>|>0ʀ3o//k,hjn~j*W{NY~TsPްTfӜ촤kDi{(BiVe<쨜EB"6 iefW/HrӢeMƟN3]17^P}Ҡj&nAȬK[eq5w+-YX`Ѳ\1׈yVGbhQ'Z!Tvz7.9,M%]FoEn:H\cA`utmC5MV0T/ >2q-F|Qld>]ܩJʹhT)vD`"g{ӝbPIQJe>(<61k台F할=Ddwɩ|3Z;{ЗG$6(BµibI&?}6><4ջ$KAB:X{QSA ,mht8C?\ݸ(/B?w&1'wy(MzW!^}߇^0P?1k3Bß҉tE%G3'H 2fM }Cl>]nΩb m7l)Z}vw% w~1[}̽X܇m_=ql|`E&祥2rG#UhJrpp ɩO7Dŋ,Z[KLhi&틾fRH~pP>ͼ7gh>5FH')zrR $r橑Ԩ<^ W.qÁE(z+I¦ 3הi;*ݾ4NP"]"m]=QhEض1jj2J2|jbtΈVOHbwvSHeꅁũGqLf˚V^HݑB,DKFv6Z3\1'hW{D1q^LnJ4E]6^(wQe̸I}rD'dkp+8L&|JIC1 \ DkZ)0XօhSA})KIj_*K,"\k hSJ&"y@- !:icX/tqe4HGt!:"q5z}^@ȋM)1,aF\[ HrnGy-G+T9Ku9?cMׁ0 y.8>B[iY5qs=ar>]1LVr'OQ b9g厡[YC~\=..*.k-wp^ VhI'(?=Gj(}yυ݆>w-|+z 7*|ceTa8x_QmI>;^'qZT)Yg7YYj {<ɜQ2/\3f|~xnMCEUH66NTHA|Uߏ:g+*Va^EĭuF4mO~yD)52](@CwPvq>vƭԵoZf!˜s,o.RV%aTx (ߝye}+'p0st9.Hi-v_ 7aMc5 C?8p㈯7m"&ObipK`GZFڬһ , ~jD 6wN AG@ x,ݨf"GAn+gEx`F{,Zo~31Cz%# Ljv}/& Qڽ^-U_8@`kφb>_dX׮+uyu[٬p=ׂ|,dcy\Oi9c"vEڴ_+ړ@~a =(s<6l=zKǔU|/Q6ɱ*-pP ey0%-XNI)c GߠdMZҍt6J@56\u 5Vqu2gj0%Vp=n}{t]3i{֌o Dnj1:Zu5 VhMbY̓)5\>h5@H> hNR_fPSl )kY[c#X^gXdx] *B{Kz:|ox~Ye7n<5|]8Yd)iaN߇. g93gff &w -H30tD=UhdŬ/ɹwPk4ӡsCJ"Xi\$S`Ob"U،dQXP; .tiW{NG8Fk=gec}v9P} #'(ObRnT']D Tzcbf-F, q|eB96;iQ}TA/Ֆjl'܈|H;\_j惜kzzL,SCR0+2,rbQHcLȄ. TZ ǭUuXu2eOS׸D5&K*EPr&0A=2?LR#35S8"_]*!:eK{TجhK9IzO+L>! D2±ݹU͊B^WnutUOHLzV884P`ŗ6Q77@қQ֦a労ĿVvQ).!b6Bظ"Xvl ?t'K;z񈮖o.vek:%F (zN੨ N{JHĘq;vUFͨ,{qϪL^o(%t; 5*,ȉW;Ll J»׭>ʉ+! 怌eɁF3Nٔk B¹oF{XK2hl*hbq6KY B AhϸWѮiQM 47@V| ]}tFk;=gz'@Vŭͥ-mp`w KAEo9mOXQ Tƅ2i\E 7ķFPC&ITr!oC~ڬxC[k'( 8:?$;TlkjcSlXFrШZ(6A"@5Ƥ^Lc)}!6;.^=?Ll`p)x%R0 MSxxTPg>99.J /VJyꞱZRκ}zNJFnkC4\ˋNSYPzthL bm` Os4+)g3NT e 9;#xvK-.l>*g.8DZFxOp>5r޵?v*B;M[0P&} MX0Umxe`[ersX8+*/Z~^.8s{+]bD&(NqXo?2,gc9zbc󎅧aVygO7i".+(0D" \\#G"cNFƤ*;YVu˞d^t(`I)*`:9yGU6DO4Q v /Yu $35jy2</tf7.YQ~5{{0*|c SN3x}&_ }} ۦ{),!%㲤8+ٹu뷕4m6O!CYr؁K(YpcTbni wpVc!cW̔) r9p !1 bsrdc, b>E>\w$.ٮno=S+4k'͉yQv>ȱ;ށbKύI5_+-쐵2'.FO&˚3<]<"u8Caziе;+%nW 5[hlmUW<^Mw嬍uV8QdRɄz2̂(jA$Fqq5]`mmiYHG}lR*VL69i0:v>Y1bO7^حElmn 'Iu)4笭o7O ].-g9w VJn̓0$8h]~qz kG鈍OヰֻRLܵD%#J]Y~g)c3śߣױɂ|UJ,]GeWvOagGt#"x(*Nd/g$Tٹlv ^(18^8d/p:ef/ױ*475gŔ&XxLo9&Zۂ #SVjيE ,jMF<'}*^CWH2?@{o BrL;ywp֑ۢ`E_jB)]q[u}Rx.H^^hݞ ]:p?, @ :,AUl|c$1: ʐcC"((c{^ ^_A6t #o_pn`Aꛗ޹X~M^<إE:l*~yH} ⨜θI4J/KDZ#3)m[TNBzrgɲ;Mp곋Z9gRRGugm>\\4f繹"ŏՆvF # +l~ K.7!5wV)O(K߸<{k/-lS%p/h:oCsc!Cmh̥!QmhP|5Ѽ3)otڨ>+*UYU  8 U) = g^"{Xkhhuҙ6Y+NU(8,xAϒCe.9$Q9E}V99zaBSij`ܻvoٯG_M8F2~&<452hU[& yll`fCPoiRe(2\@;G~^lj5XBL}>P] 0H3x+.2 -|p' ~#UOEEm;ɤmΖL2=X%4VD2P]i8OH}*v1=9Vzy}!\h}3@f ܵyd(@,.jڲPTSōEUqbvɾ3@>XYY*ah&H9 # Xp| !kXHdPx4 SŇa  q"@&$bЃ ʵdblW3# Sz/YՍа4ctP<Ž^~)&鎬fݑ4Y&F'b]Op_Ht dQ4,SJoH_'Asōї>!-MW` =Z)H2DR1e蹘`Hqh3%$G7>IJ/dh%"5) qf7 xZNV^ TT&N$TwpVMn5iY-")j0C"<$kE `^{lhgqk<(<}Fj<:3:z +ްo7+ZLv¢L\'2Mz0YVja&*b]a>gr9`>[ QU9 b+Z94teHF$o?ZM; =ns!G>.UE]G^0 d0$.gO$9p|}.:k _BO9/m[i _7^6b9Oe:̊MPT$l|koR} 8k{G߾3Lneqv)htM'=ٖ (uښoZϤiMRGf*Q:FYUt$g6)\OE_?G$uzx*0QCJ8;ដpS_QdnڀoG3QRcg2/,"QWߓ4YZ+IdY"쎓ƴC2j\~J|58AƝIgwqIr{G,K~$(4Y|A1lwfEJ 3Ǹ kAB!+g]-[˔ŖCEfQed:Ϡ\-O@f)D3DZ gxXQۃRzwSx}up +mώղ=N?@e$+1#סVL /x3;Mg-\%\uN3>~KVg Ce! &j}g }Ε"s=u š*>"Gμ V串ԑ{zrLA;u0xNf9u_3Wx]{ȡ<~6 }gd A2) 2Gh~xKZǍl)F'H1!3n#¥"rd}n04YhU,!jöNsI\l[ry$h.΂7Ҵ$'?8E) /=,[)DTAٸV?+Z4v'8$'U՘6cTZjQ^Hmy-%.7 /%dLe}tZ"b,ONKr>{z Jn2˲|Hi^08?k(_Xs=E9h϶ig=7E,86)ӸlV^ZD$7C`VaV(9j,eUxYg#-yC˘u0 7Q]-0SdvmG5g&OlfNr]YU©P+A-d$_`<dMkS^v*޹FU?ƹ_KYr`aKAtSxTQ0. I?,YOKp8Ƒ'&U[x8+.Q"PWKNmɤ:k0fc֬<>Gj[9?n4}ctU{7< I(\ vse˦eݲTif jX̮F+A+ԮbưR^T<];5nNVkKZs8o\[ ]-p2|z;k=U"24k@(ZV3+cy2\D!mL?cg@; ΂~3ޘ Yh|zz92 !,ph0oHh_YZ ߼vUr^aF?hFtSaa8TG%pGis E#l[ċ;E供]H=1V4 nI3{tX?yyU\Pߢ dqLv:>yC۵YS1ЀױHg< +HVmbJfVEI jmJYsrp99.ewY.*01)Tu/)aٯcdbG9P~KEfc/.~&m‡c;A2|#Մ∟lr`Q`/ot21G'$#@{&g:DN.%(A*$|/e:!]: MDYc{)½R:H HQU;t)G%rS862$*"+u@a?_Kմju2UoIw9cFq%Qs(_weVсz)ff:L.gZ{w.&ە 2iPB RuKЏ^jJ rܠ;!AmOMu lIs^KxO>d"rbvI )c67P"F'p23uuubBnO]@ZSobԈf'w Oz:TNo p<ݢj{2 g+JDe+Η%9x衜s(-  Ғ3gxzuJeXg5آj \Ӝ[@Q3u)l6Q%JyHǰ0jnKe+ (A^YE4J, }\Go9 YBkBlTD4NWcBh*t= $x5S+G 6E"Zlyń܄ꑩBrdUy S14e]m[luoA%tuO$CWBKNg ,`:1Y .geq m)G+KsR"280oReS3<)CFU^L ݫtZ%dEB̚ }&C#2ZNoqQVCYj~p w(Bt1VLe;duT$GS:!]"_pnعE;uU|\z P1"G)5i"Yn>eeљ1cҡu,VɉImd)i {+t ]/SnB "b" xN|f8+ORT/%nްZ,҈:!1$31.u}XQ̨*TE'qP'˹T+fSB@(3L 07-x C66Yb20]E RRǢ^L1)%PC3ʨ]뚶O_ҜU[+K؅IߋJb0\X߄$@!йx]CzX@Ž`>7ŒҮ I*DĊ2$H|&ѕӜ S-:>ASgeuX^\Uhie+a I.tGGt>݋xPC({\r)5gK%Q/ !+pe(X$36($*ax.(@²$|(Kf\ |r1H>byc6"|W)0TF $ܦu_l6n [Zր8qI'9:EцDSfC"g/X)_BXj:239lp"*G̹0.WQ,@0҇{2{2-AnFitJ)g|RS px3_F $̋~+ƛÓ.s^931lPYw΄}ucD* Cn#{8[EgT9MCiŪ̎N$ HE)#He4sʦ̪vD3xOxhmguW(h91\ ZQn\R'㚔imAn"ᕦU?xtAl)2ׅ&Fv7U<ͩgך-.'dizLJ'^\ s(QYqwPo!\F}vOHlp9NSMAK Qg 3>[Qֳ¯`-?Yt!<wYCK{K($IGw3]G2ZltnPӑ|kGd1'zy gh@+ן48$T7sZ:Թ-“*eT* iVaLP$RvZYL:[w/v6|yp/u;Ud!ʢ@`Ŭ~^#hk }>L"Ac'l8D&,3f}?b9[}m)btn)dr;@ShV8};v!\^qTWXIT;qZ,D i>s5P/ћTzټtIENd˖H,̂Ydҽy֤IT>jaH y+GA?&{(ɳ dAn)%T )Nulh3p$ |CJTR;K#Y֧=D8(H& 5Ɋz==|(YY,;\HP5}Bw ن as\-zȝ^>[ds>׉taNR"6,~:E(viwI~gWtuZ~8­wzz:| 3 R(k ~G#-ss9vk8~GKAQ)7PPG{["*/=ɖ$+9”-*& مi; ' Ѓ4|J_$x"s͊aȶ8IA4DtlE Xٛ@ qVP-W  )#^ja&%<$_"'ZwCW #x!kQkzYu<j!F(+ŕkc~')"\fؙ>*q5=??xG3GH.6v&HG؂+Wt~suwkl]zuw{>߆?&[/m+~ؤ|sn ';pU}*vo s\i6usn#qo.|i nפ{:lh [>a1<;?:yq8o2y6KqHyɢ\bj-Xմz[IgzQ4.f)ع]{6?rgw Sdbs.wV*f_&MENT'2m-W2EOXĸm~^T%4v̉CޭM0Z>yi U{zl#cfzu9iy0;HȖ"`G{XelpQibwM55h''@92,NLR}Fah=XIW'ZAE.Vt\f*nz^ߣ6]f |VF/ egpJX|-L4l,6HIF]0# KQRgzfL3X@c?"utytD#4,6S`-8XX!'JTvcuM)Kq`$Dp&qtBIGh:Z<2{]:cԼ+q1:xV~w(X?.x--AMäyR # 1'0GH!fȆ&H]0ė, ' AfqE%/}E2.Khy..b4mF}R_7gFTwd'V*uB8lBWs:pdk@9ʇ[ԭxsh끉u#{uρ{hp8U>.+0S)PypxV'[BA~HLI5D0QMv&#ԿtBl*.&%rF?"2RYWZ=HϦPމjoj##\yG4ԻY3Vi Rt9ǣ`P5Xol#Ɔb7噑E) bHp\7dpz3mK|y2io ;Oh+>e?iƗgTvIR \%sY\he?-s95@D??Mv"Ϛ3`*crSp=jA*xgT[!g ݁~9 ^ȥ[11lIz1)8[,V,m_E/ ihn LT QHa2*.b(@>1ۡ:KMdf]>]sa זe-^ߘk ~7q2y!@[ N)KFQbp-&~g$]Tİ)D_m3>*m)f+ݕ_]cGIܐϲA`]825:uz4^Ƈ!;e&A^5Apxfξ7 /E|c4B`?\P v&tDlQcY*+bP5len c:@_ŒlϒBF|N)7DMxr³aFbK_|,{8&gDwzS&!Nf,Gc{n!ϒcdpɸkw %s-qBHN4 .%Ym Ū Z!go FPq噃 0cڤZU9 3+@t/뺬$]1&";%^ @a)?W7Mj`WtÒ6&UjC0;uelnJя5 )>ǥw|I˜IC'):)vZF&!2,LW~BTmzJ+~jI>3b_1D!Q] }s5u^3VÎn$27bx .tgFax3X;%*1/ДM_sR<"Q xcƎ?ȊYB}$DCtky5Ur b6N;<yY.^iεE]Wp'_֗^.7¯iD‹dBw\?&f03K %t/#u?p?}[MR=;\.^<@-VǚH ![0e]ח;d/#CJq@>vؿMhwB^K{q7q KN m*/.5 &͠zIT˨ Loq'H@;=6ʕƚ`A^D%'B4VdHsFL9bM6q1sM.Ճ m6(;t7QhTlD0k9mŝ$/-ԇ-E\ \JJ5q;V?` "A zݬ,,rIcl.#e 29MjH8$3JjXB< R;}Wd׳DԂ{/°DK ^&ϳyLWmӮ^hgV6 s*5%*zf_ ˥&|=X)1$d=A#gh*ϻ_.*xkSM%XOBRaXʣJVr L 4a4ߡjr`g|-Փu%;Čeɴ5kGDHJxH\ΐ/Y !"SQmDM9yeI8?+?yΎWbhB!vrcÀ4WMN zLw;Ih 2,4 'Im eڊQiK)7W}G/oiOje0k6ƥg2*/JVK)=$и r]vdчܹlqMFhU넳bh'%+1=*ll=$(AR5Iz;Horۓցr%riOnj֝rN>z - 0&ܼ"Q*լ{2l<( 3Nh,AߑiqNiZFr)DE dj"BFqˍ#ܭ@ANbLzW-+{=AY퓫M$@iL)klqu(j\F2gC3i쓠cۖ@lݫߖJ{hbnu9&bFFf+&J?\uΓ<@ rYEܿET3d>ZA49yHDռm$ ,[l3xpieaƊDuz~zla!}J.}ꕢ[˂$? 7To6Y/bYp@f҂dgd#=OH\H"UB5hp? RtO2fSA!fȌ&xAUItC"VBK f@7'f\6.i7(ecK J5PfYt\Opx,An#1% 4oaGW]J7YX{©[Ȫ{TN-JBf1⟖W@U(߈ufl1.G ɋͤأDP#X&Zmo!4HSAXҫ\+-Cx}k%$l.Ɏ dBGK6|sɝȽq+yg]tmт+B^S jt[IVM g+5b [a$iW|a}n%{g-{Gp=OLuQ g}p4ahԹ)L0AݯBXNbݮ*YgHWi; zEmȣ;ĢHh4#h.n!ZXOC[si*˜30&KfL맓N^og,F1`IT cgC8.Y߸K$+~\;0z3Zp¡!U k4f _./2dQ6E2)*NZёw~Wr$7mWj$ia4AO؉'nsB8q6M T!~lᐴI7֢%[ NGώ[HwWˌW2tǐo=-w,el4śB]AIkA^NZ Xs"fۀx6F.]򌇀 \ա92خ=apWwVsa/#gWVD=rGI~k Ig wh8Q%Kx5 FxI𢡊&*1~~&Šֲ&7!xJߓ)Ws>:+_Z)mg#Sɍ[ 4.o\gY!N]qCq/O6mS4gCi+ƛkCN\RaB&=WRxyCȡ֥P+&ݮrBw͊7'1UZWoohMjY7I走:bIbH'(ܷ\K/L bo LM9P4]зP.ce53]g& 1 `I{PӖre_:$y5N Jsr_M' /G_Pdan*-مi;l~" r[2O:qKu[R*{"2Ywtzo_+>nf6rVMO؅FS+wJ$ 8hWBC!{~ue>LWsIq[,ȹ4u9C@\r{l~m}w-U{&aq5F V|ЍJ $E l.VD>I3iˋ*sl#JjbE?n\7 &i|rB GF4P3- 9;.a3m.Ȇ{RMqs(cji)fggQu7:HdX:nLA2z jhO 35:_%jBSHªjwSFN:߀WФUSUkoqBVj&m99ZڊGriJPܑ{Vb (XY":٫=> e(`ts[7|J8LX#ȮԲ,ӬD2Tdl+B!֥7J$zb`v֋t!-Z^w}oaCHcmf,n2IAYY2@Rp1tw<6{@s},=kl5 Wq' E7rCv1+x8V) .k|hHJ M'y6@OeJLxIqE@W澄)\1)Q!h1bөwcٝ޸أT5MA:QW5cCa&%[GU~P8 .(+igʈTY,9xP+d⹄1Z'jN0g=?J 3Ljmմґ?n|t9ߦL8|BCĩ&{8[I'FtOy/f]y_iJ nΉ-YM4l\``zv-GdD1ݲM,IYBJ \ԙ{&xv&pT) {5d ~-4H *.6.Qpn-_J}TV҉A*%er|o0ܖ94얢еTZz0|s(MzbO9K;mr@m7ݠ+0BR7f%,s<\86vДGf3gG`}2;UZnZX*YQۋV(q_;5p2LicT sWslBӢwo*6(42[ϴ }R_vǑe)9.2?h=_jml3m] ' ԰$M"%&J`I:t%ӫ64+s5y-VWwv'NyR1{sLK;lJ 2$7?ВV^7|vy' /YN@8ꦈKuZ-(ck{ jkĭ)qA]CXXusϹma5pC)F)>MƞБ%!_H#N5Qy+;6KkB{UV'꛳E^UW326>~Z?o7Zf skԊd{{3u"-u)xwYz$Lzڛ1׌\'(iÚc&GyWT0_TcQ>%sޞۆb-a: x-YLF>ZիS4'0JS,KRtFR 5 FjM>i_CkzJ40 7O: *o6Ϩ<5f$Cq oPAZp?:dXO xϽ\fV@B1A1\/ce% ů\()vIKOAO*x̟N 7뮠M aOwxG¹"|V8턐<. K(*%FXS8wȓ^*9PVyԿfj,g^5őTbkH|Q*niLAMmX<&]31R6)F09TYrRjˈC']z/AqLk4EWlA%%e\K6kUL֢sIՑ:gd;'(2z.g]/T ]0~i:Rb46O^6bi +%l^$%G6LSoG+k0:(asgtD4Kۋ, FHa\Z7AJ5.ӑH4y 45e0ORsfjd`:mZFpsh&}:ݴl`Z4EQKkmbPReX5ؘ+L"!ۢ˄_c:FEЫWTȘ^ GRslX6_,d\J?+rk]<f< ꎎYNJYEP+:ګ$UC^_n% _ 0YK96xAW:,qQ616+hFswT8tvb!ioAe2H^Utxxc#J0)+}~Y\¢.l*,ȴ;hKcڍr؉Bzu6W㶖:3+Z$8f!_uZ+.xfV/w __{yE;XKjNEfp&Z݌~P>i:Ljn ϐqmy7ԟe3RS WW"iIj BhExx; SN.e`#:aZK <\ jO ?i(a^fr<{j=mqi;_C^-cd:k(Rg?$."4UOy iW*W[EG ?;} nA{oi$чP)jD`(9YW*%_=])#5Ҡb68åiR,D̠^md\bѥ iQaD*teo /u6YLY*fU[8B #un)qs/KR)(z@h__lSidHBB[׻lVM,j}dN 9kz&쑸lMW[Tzqq4$ >2 +eƱVaf < nvwߖ>gua%\ǹE}p[p) -B͍wrE*&v[n2^S`O#/Eut]9͈GzK]"[r9H$';# K ֲ\4mxB/p"Tt;L %XH;Jk-wI[99Nfꄙs0@4{8쬁KzGٓf]IR6#J3f/~MfqXd&wj8i[ޓ *ٴc˙x?EW/6V{m,S!Nk]P!QVdu7!>ndVˊզ ߋ6B5'a i|i | $Oe+w[ݜ_ߛ n}~u+AR5V} wazm>52>IHsߎZk{f }%PFVz➅]f=g922IrJl'хoMPӡ4(~{9ծSJGeN Bɝ>,?m4}C91~3V"x\gwlTHRى%F.Z&K^XY JG軹ڍǎʆ JKK_n+422jmiqNt|]CȀ''7mmgS]Bl.N&_12oE~pYJFgm/?f#\ԥp&; 6wl#4eY`IjM91Iz=KɶI;76z9CJrYmŧM);07^fR{s%oz!AŖ$oW1%`jq$1_KKf:K̿m,/t,w0 ( %S$SGR;E4M DܦZ?,neCpkv=D vѻ Q]'V2/I8hh. G) `zKe0nt{`(o21"h] #3 |>g q\nSD gv%DwIZhKJ )J"ޝ8 K J35p0zvS !7$Vόg@|D*+K *$V%>[ S"+"Bz8T^7Po<,Z+ֿP}w\w#fb WnN9.s=$k"_gxsDM"|/Z.4v!Er!IqٝJf;{zݠwP??e6E8KZ-Zȷ@RZwDq(JbRSN~~1Ln` /$.KZV?|ף7`2KV$C_ 9 Bsb}ٹ1X-Ll%Y:,B9? bBFƵ mIq=L/\+`^!ӏ7T @ᖼA}v6[fU\iOOw|1`Zt~̉lP%hێ.pwŃ_p0&G賜lhSW۹jMۑ9ҲMrq2&tL(LY6KN( ۱'`/zgb&e74}`1 SqӸ>-/Fӵ/xQFNSSB]B̟ur̩Z gfe}yjRQ@lnGi.=rx|n kL)}6Am8O}Ѝn4ǐpsF߽lLu;G8J9$ W.6|.;x:6 3Oa%Kx 7q eǘG|ͫ<8$߼hqt)7<Rcp?V jy[vAHP;y/IfÚv5` xyĜ ]!=q?>-C460l2HIZgK&Φyp+dմZN L Nrr'): Gw-*22[Mwgo@a`u98[}x[ӿ4j#xIOqihgC_A?=zU6 .g\IB*48z*f.yWHmg]p-a x]ȆLp{fDUe<Ci24ېwm_m;{4Si.^]ʶkϸJ!VrsK#*ۣ Ygߺ4(8SZU ۅa j*0+^@?귍<[/Ii-Mۥ%t3l;5XN,9D_Ípi 䠭 oT|HIC|_O O -k԰oa‡!cYLkLcWHsdKb鉈V, ݃C#iɬK{H1麙 {9/wfh*9tp1MbtX"g0Պ9.5r,`KtF7?ȍ/+KkR$:޻9D.&!.oW.帣G)ˏN_FΘ)"|0K̑/=cAᐰ5051BO{)AkHk6j?S*&8Ycgle_t4KkIYl8R>r3]bE≵ca7TZ.xG9>fg׿"Y?WݎG iLF@r #R]\4"m3 m"zX0 sƓ ZҶLo2~|_Rc܌ ȌgEs4eۢIIH`]Fjp0sqe~k.e&~ӊ^ğRt}i,u:n&FYM6h UhSee*J.ëཬfJeOf?S"aVwylW<ޠMXA캡?AI Gz,Y-.u zy?+#di%G֔G Pl<ȹTl\ MUA[gTS96hMicr?%q`&M{0;t7}#Rl꿲̚Ӆ}|WpzC(+.Z͞'8|,틵u)vmmer3N':bnh{MHGNrT@!i#^6{<Szb|94K Lt+Z,2'Mʓ:~ ZH\.pP6a QiT?X/p08lc6U,BM qƻCS½ER4=3<=IJś ;˫\fO#t-)4r7ay F;zJ>T-R\l]76YS?ĩαl,o|Z tܱ>6WfT֎s,EYCrgpUXߚ|s _oQS6q8Dۓ =PMmc z.'hbYTYW>5)WM)ebvaY~F^0\A71ppwuu_tJy) "7Ot||7{J$Mս"jE*L+- an/Km͢>3h]8lx:^r1 9 QBwmVA2l엢 b]ZMLy4quzA5laWAȳ\&Ͻ(ު3(VޝӐa%$ȜJqXJ KX Y& @o)h$nm6tJHԐB"VhտjlLi{8$!I˳coΎ~~UtyEasp#HOsؕbrLV7gKSsa7goЙNf]˟=@ψLh`HFdeAbk6 UGorh˟G@[ߛ¦OocW,}F!N  ![yKu-~U46_$^a$BjrYIfSP#tBC [}vS?ic!9+]QGX#cdFN_Hɫ):ރq!#rihD)S:SզR)emVIU ~'=[ i *= SueJ@ En DL)j[k"s3Z'%B~4acѓ,UYmv2/Gf89LC$HrHfL"/Dg"/7zՑ @y*N7[ n@4ϧ֍J Jmٶj#ń61kpNIDNunNlTi,` 4qBR[ڶF= hEՍ5z}@d (EVeV"0VY:=cE,+ڮH ;Jޔ@7СޑKZ'w1<#"Bi7'~')gcߺ춃u}Kv=9wUJ?f*4wr^o >5Yރf?Xi LD?~C qc'ufݖeF } *R4l Ģ|W%W=Wd肷kb$WwMaBRxWD*1d/t*GHKX(RVBD쩖[9kFk{j 3Z8:C t6[@ydSAE|~rYOsTgV8,w gW^8Ϡutdř\9;މ[j &q8:S5m Rlcw杆q-xJ+t{l-F5# !J3>r1\ v?m#f*נTbG_48$|eqCoZf䄈h9E4Yi8H/NKB8gWemr(8Jt6zwZ6Pi&a%ohrEMbkAbtO0Wy#IHM1mɦė~b :ʼn֢lZjL4+%y\ J\Q8a.@i_I.$íe5- 1뀣?+n`%Ǜ|#e_k\a|Yދz?.k -, #mg-緍g="3S~c?g:b>,WӋl0r/:zȃc ^ʥk=pԃ8R8KM8+]h@ j6ްUshFf[-z?e"شAױU]SEϔr?zC^{.I}cARQչXX[lLƻKT 3CDySmqJiE.a6#;V$#k6=J o)뛼5I4>Ͱē?'x!ɰZhT`y[R@w9s-).1<qR&>F.y2; \ c ,M~ׇq)~+fÇ *|pf3 ;|h3-{x(?qc*9be}wzGft!0&jWA⿵cL2ҌEG eFr7U"j!K.*C34m _i\ kjYRBrvm$.Hyy p-|Q<"ݫڱ\4\R\UvB6=Di˱Ĝq{YN~мzh.h:lD%}^J L&Qk<}YWRc-[˲!&7#t\m^!fzO^UC=:D]uWlw3#lx.kHw -dq;hFz,^H۱ʎ4{ qBc#4Y;)XSTR"9Dm$֝^mvm6ZzZxqf.:5hhqL" 9ksޛܳ= J``Uݒ: iĮ5uۈ WS2!GK(=bv;ZmC.{gpr|ѲެՏb,BZtlҟ!NI]Ǻf%c$[G]mBlwz-'i;+sI2nQ 21H'~GC3/YQ'y1/^`6AЅ n˕]|e| F̉liӦj2k6f¸[-KcR+ŠISp__ϭc^$LCaCD[j3[/k>-{y`:зoz IOL^J}β=fJL v$NB/0'~#Vr/a>=כbDbϙj'UR-[1&qlf2|6 ;,ØRzitFϟ K[-#C:i2OPdwus%r!vJi-- [Xtȗ 'aZV7 !d" a7XסvIE ލ*~1b˹<;T #\*FPӛ_l&%=_u6,4yj : `U.L  1@0ηe|Wv@ Gr3E; p݃eq\Ya)mIKGǒ濽WFkPu]#6>G% ͥI8׃? Y3`)7Er:LgOld50а߷@2A1YS(*Ytz`7_YIjS'hl_yZUvfw`"if)8=/`sv턕kHuF e!uӒɲS{Y~+mp')/ROhb{\N ӤR]{ar59=x> OXt][Sk:터. zWIC")u*pgYKUʤ`a־*m׃A'S][E1z{=Y:#gLˢvw،59 BrK}B۠)vg^C#哔J7T>n{;UFSZ'pgL k7IZf7N/D% ӎR9k?Xe+{Gd !)0- 1a j郿+\3JV:\ Yܐme߄ 1kO2CZHv40ЮbF[?R$1}Kb(RnH1=ƴ!*=6і2>s5AS 4:I㟤VSP?#?wIZr |=e#r- $FLQ8W ٹc|I|dFM)סҥ*%), {fcQV.KFCPqhB HNt􆣶4aj^.TA"q6Gyw?"۟`GIg8,J"nz]"^`O嫤_{\3XmT sdZ4K=!vզ5rX歴6%-OssUSɤa䋓>]()4TlW%3%0&Bk6~@ رsSw`(w UOrg^ aACۅkR .*& ֵ$"HK3z%e}=#<{O?=v?o[_<-QSoNrU<~yTCVu Es\f7{)ٚ2U /PWl朱:ӧANZYM ^[.K$rGmּ"ˏV eqn# 0'0Ke6Ռ'BbUCܞ*;[~JeUzXw!tGG#0nXUƳ5|T] XPY;fVu/Κ1+c+y5$O jv򏅶x\{!(j\T_qu>hJG6uBӨlKT+ lKD/[f(9O˶,KڞR6ݦ{8B{po=DAPrJ$F@˕hw5LG:-"f`Y㵐MenH)Y{Vs^%fd(bUx}ab`mґq!2.0R=4emG wE+VjG'?»Y=8jxS.DQn}O')V )FLo b1q;bB$]!"Ipt1M58$9  /q?/Ej2AYS :@{)^,6 0 rp Jkw`Q.؀ʔN|Ne7n@^G\~;X2o Kd=9z'zAƂg5eY4H:u>T@DpE6Ymq p*#Ǔ cKXFwe>p g(Qp۵tYPY^tкגQ[wdqGE\z 0-V{pf^q'X#Zh ]=xN#VuǁJ7iBEܝ)qVo7BSՖP֧eu[o0ސN,OEȡ.o,3Qn-ҌU)xCVL% wd^hmJ:h3c詏ѬǏ6+7WymmEqKZ?OeM {Q޷a#Ҩn%ƢqiO0Uiسg(gSt[7` CcX[ls;mb%Rt m)v [%$yW=H.G‰ S{js4X}ՠ g-ΥߤH3نD ev8ȸ5Z{\mgH7NJY0n;H\%@4!MҚOR3ums7 (Mc~&as٢T94J۔khl1*"oY_ 8s%c9yJ(!>"?@ p\<*$Shv۷j6f 7X<{ :~àYH%T`Ne.Dtj@ E{zˣL7Yq^N743'nA^) ?QT;ݹ/CAg5|9Zk~񭔕]>$U˭(_l"UvN}x6l8$,'X,b J 4@y͒9kj²fM9sj=~,\sL;](Ew}k֍tu.<,;v_XI~𵖆JaB[V(*3Ix!th`*!c=eP9x.`oxll<ʠFgR.D̥"Ϲso_y~Ba2cmUZsq4Ze a>]Z(_v)+oYc,P5:"b!rL$#bKJ3_Zh Deyϳ2L3#bD^U.}Fm8ɖZ q B JPöڬͶ2 w\kfa<ͭ ~~;\mzWIK#VOSQMqF; z9TAVR:p(oV݌P|7Μmj|aƏۅz9 6f5QTI#Mѹmv.Rv+Bq6c a;Y ř"7En!B] O VG?w2<OY߷D}%S|a+6!(X)48AnUXA4p? :kNa_R$Uk4Ƴۂ5a.,Ic"|S֮zET@/'!'5F)n=qIDc!YLc pA6nbޠ&3g t!6ۉr! rd6aBPbժ JQ]X,uܪ#mnOc%(GJ JSvO =v(P 40Ʋ'$_r!.x'G!*'M֜ҐV(c?!+3ia}zSXߢNNo'Nȓ=FAi`J>o,FZ⊥뒟zt}hO`qcQ|k#PM,d#p&3)\mY ?x/|<o{ Q&T*Uwa{ﰷ?8:{TG0B2kfzy9Cb+ ߴPLH!l(bc> ht#ȃ6UyV/$n)ـ-b>.W"u=^ڹr\8ElcrC{vݻPϴv2y!*!|| 鸨ء˩=yqj~= zSWDDU)}5Z5vY`; aAqQI>_n)Ј[ },olt)eFL\S27[G?"W6S\YpXX`qMIlYI/M.H9eN%y9zM惮.l3jJ[ 13}b̌KNL,11, k`2Gaɔy #< ;6OcMeڟz mn` Ϗ(DC&(3;;.zTc*܍e߲sgMR#c_ 0w57m@L.saFvz,[.0dw[9ۃ'I9,]݇_HRTh#V,cڟA;G%X)WR?QDL5DƟ@`7ؿW(HQrF`H+s'q#9VZ|wQ;&" QSTv_J<(>vPv ޒU8ڥn8RiN(@ǰ`>+g"e ~3ɐSc!ޘ?l Z@,'rAӷ}vE񲇾Crn?>"bksD8,b7ȬYhQrCFdnȲ'![rݺ|#'Nx =Uj 9jʱ'W^2`=&xQ" i ##$bh;}4O/rګ ~wvmVnVh%6S6ȗ#.׏93E`*:TpРG+cۇ7 ~<Bz",^9+{~Ek і)Ucmm1Ɲsl fW`jڅ,b_VνZZ|V]ap6MM6kPQ[M6*ZJ`T`D("2wrPK 2L*b9.H]p U':ВǡѤ`#@omQJ7Z(Euh1>(CWI'8?9 ,[vǤMr%avces$IAc"[tYݡq&I"@f\ՍWyq誕ĮY(;nz8|?=cNe]waʗV5J8>ɗC.C8RyYqo8ū-`yt{ u.[SK+ ħ9ֿE0au>t?%4d=<]H@Cg8'Z8+2uz= yeg7s>Vt7;[i {$ o* "N?R]vP0vW, -Y/fiK3@{#DI|q1)hP%U\. BD+ *ˊ1f j%/T;;جNtp8&Vh#B$a{\ ͮs,=˕]"NI4 %"Fl, (?TD2͉Ŏv7g>d$} pX"*q wY+('o+Ne͟"" ֺuPbp6_th77ܠE! ;P*J$+h~ܗ@o. )B+Нŷu)[r+²epD &# ov.NӡqDA3wBg h;Gc6%k"_|3PSB_5[8 cD"$)D XnXȹu*X] 7d]tE'_ի "v- nVv#a]-L\}DO<ºS§u6N_AR w3]5wpnoʼ = nΙ3;r'yvLj;3tcP i+ W.+^k/ eփPd]tA a_Jjk~[81ح:3-b~ޖ!n==qTt̿iOg% q8~6 \>-@yLv\Z LnlIgXn6"1x-1.p(ti*yy%mhxo fN>ht]a : k{*HΓf5,d{&xɍ#D _g>|` 5&YG^oCw!0$H/|,E~\] \ v 6AvG3S7E[ˌ5rlMʒ[WVcøY*e?Qzax&k}?"߿ 8؎z *\vkD|$ O3o%gE@zwф qrG ٨ytU 7^7SQyB6=%+FdҊ_^9&N›XXUPZqlh0B[Fʮ{);RF oIwYsف:8?"d[H> oRmFP= gx[ ~DKk^|bԞ[|ǚu&x)lO |]a dxgB;bt(!34/ x+. &>R jzb} :^mF~mԋoجIsmX8-:|˵`(?7"dgg6^糗\4ΛnԑZت1 feK3XIؠ2Sc蛌FaxX(18?NA[YjF]IΥt4`H)ڙp+aJL 2 VAq,Yx%mӪM-tRD BXN`r U wJgb<-∣+9v!Rd F!&o;H莞TL&m R#_Y&+V4/LYlx ud_987n~u;{v:=/h vn"uGaP[`/owyK?Je6`w/vFǘȜC&u%)}fJ"E>,W潔vr00IFWRkS%JHvU~݈wsxaKH%\WA)hpw!%m. pP8k_ Dt[3 ZnVZb㖛30ņ|k7 1i,u&CӱpnBuWݗ^U/C\J0.Fzӎ@%!Ch,CNYDb(Ce( к^(!@WwOͨoM,,hU4ӻ3剐E1PX%ļ9:x+"(xXEV_s6=L٨/jϘ-,] }!.D `R2ģ~iL{tAE/;ВӘ/nd&.093}ZM2:,WDrMj%i)hٺl-?%íaP'~; K%ρ\\a{1M;ANÐ.JBBE: 0WG0Ť>A1|NM5UE\yrDٸID֡I6@~zu@wVC3x YrhY[2cTU9:o&q w9ڦ4sAZ߉ U:̜s!Ŀ+56Ss_^m>y}i6-e}WN-Y JT<o9&v&(_2p@Dn%́a5?P9Ns?;t[bNw>l& UyqP\ZhwZ=\LS?TN" kv.fD®A #D}!5s[t؄ЎQdք]ѱC*@ ~#'8MO$x.s-h{M! )4; 黅Φ,WUPB^%"ki5r-I#U݊9rTLL#JP1/ah$  0xq8<!!%6J''p%?<_7;d0aND XMKim0 ǤxWBZN\,I9*XZ:NFSGuK_ΰey`R>HCt DBh0TXEW?itK=~F11b09ؔ+VcDBz/SѸ5ߓ"Ќbg» O0MSꞍ [ؖIC @Wu],Stʅĕ W $fju T9cpe /Jv.Ey;>jBvR9lXPOݮ {Biyɵo=t*QyIc6@yP+& Y'R$n# +e0$W&%si=qv^6A~$XmK*}ގgL&RsˉF)p s D?酬E#0h^74 Li2 Z8ό5-2M T~s2|>ʟ.$qQ/3csoUTG<ܗC"0視Tu$3o 69 jOR5d+sa#>wLZp|0bY$ t=CS;nMn92'qo~]ϘYzŒ-^qe,bgCo.!rqqd,ZR u mMDU{O`dfe!g91i^؃%[ r490ZNy'\CW #2q a7  $=PDqk7; 5 U+4 je=bG! Z H@RrF9W{zoE;MFc[M"NRL5g5YdaYhJLTU.wfPvh9Qwyzb5皇iӧvxX|`,znGf@:+4eXFBm>eIELybXTRTs0wI&}X?IuZ ۃџav5\*ӎowhNCh חyZ.N fGxJ{"WюܽIn9%-~ww+f=}k^ ՄG.FAٮ*y"xo6K67Ƹ=$z;+?Q)y =U.ą'u9kzdݺY݆anU {\=˫2H'Y8GJ:t_L$5X)ЂI|?cOR6rh+BX[E%AZXn7g3ZAUi :%2`G٤c~&͑KFK1I6>꧉P4I"BLҾ4g 3Y1Z2 ;])IWVT<9r6&}!1sXcqW'8c婖.M rsHăcέ:5dɫ[u?kSSFSml<8 $9{ '3"./hCy^Y‹t>n@1d*Ojo!MJ5]j#hRdrM;=$Er㵛L&>;tw/Yk$3"f;Xwq#WpAoY/[PdoPDv][gzDvS~1+˶.TY7HŰHt4^#Z ;ǛAd;,@E녹/wgX&tQJ5WY\ Xa')S |^>k]c̓jЇFѦ𹏍\f y$c[A-^lzVjGmv7DR稄r&D E(G pqg2nZ3hpa8]Zʆ|U꺣O-ꥒ&G%K.9}^4rJ]Jci6V3$!rIu#j>8Mq`lj B26<Cj"̧nV}cٯu $ d{˲sN*:At^N \!x)㍎(_Li[So# @yP`PlrFx|qS'x(VX)=4]70Mi>VJT)jd!sH9_ӎQ7 b"w#Caυ|`t17Qs5zHtg)= M1H>H_"TAeX*1 GĨh^j珄%Zm /s%XDHjSTR@lE>Hr[)I>b_6B>qirHˌZ\AX۝aN1,'t U VW=k3 ;֖p?~}mɯ=g??'o={ߙʃkk^G<} ׾?3O=3O=٧|~$Ƕ-!*o[_<-i#p[l=)1C*UCKJä6]A9.k[} 8qyt {cK`V%+{(>Ulg?=yܗۘ. :i߮])0'zEmxT=-TR<ɑ#AҧjS. .ǘyZM;3AU"*XaXRBrɥaCK]*Ix$Dk\Z ϟۍt2;;P ϣfClw7%d]">~P+_!"MXWܪNFB w ?4 <_eI-+>iPoYTe{Di?I YZAqm쀺6]$6tYR,͠,ONCX)@i(zk 8ίN)RKLR~M& 5C3rLs:_؟LF$Q*̞ؔ4;:8c|ijyf.T[afXjcI|~moUժXV5/H)C Ԟ4֞b`r+HGR Ȧ;+OV :`fs89ɎfYqZ:ZIz䕷ў0?srб J[WΓqv|^[;Yٺĝ3CitqFsEs J Kj+LE]x"}{^eI5qvXhN|bME\ic_b^81ý$)DCl6 .2d9)jRgwRb) (ώ){;TdT~ET?TVɊdz[,p ܸ#pؐ4z ok=ni  aK<’>ZwNwkjʳ?g)*E{" hY΅Z"K]t#X+6G2>Zߙ$H [ 0RMu+:~ u#\˃ -YX@R+U(+5(ho ~3uiU2"qoMS*=*9QIqk` hXֈX׏̑-l=r&l#>K lb v/_$>E(GB =X531a,!.@E@l׊5IDVsl<@@"ߛ+C1RZh6r{W,iV(~^dE=)N]<«XFPXqE:9X\.4f'X}EQc!b\ kd) (Xn njk}Բ؜9ɜ5  )E0cE4R`Ӱ4i\y=\ FYy8z`ř)8vb+\~5bٚ+/qA7RRV' PG1LŒRxImbP5uY88*kzf$VU2HO$E"6xE,c4crCMba#_.%uƆ> @q] ꬲ+dg̞䫫D1+DV 46U:DKF8;TMH4!1P<_ Ž Tw6б Hż%!ˮ-Tm(0.YbeFٰdмWDr+ZOVE [A\,H "*"!]&7;y/*J(!~Hz MCQij,n$^>oЍwz+J O5tW%Bu1 PרSY;$pg޵ܜt 0|ň+N4Hv^*=;>=U>;E& $jŜqsu-IМeA}[h1X=;f wîUrQ}p4&=F`?,Įu0>{m"-MiK8REm_'dmg?Wu%3rP9,)0(vsc;$ f˦C%k>z_Lr 4d:;{ 'z YrQvPm,j =Wk۾W}˒S 2fgVI[*CvY8RoA.r,_m(ip&uH;jՓSS/e?)~~?z9Gn8 r/r]~YIA-Em~TbQߩڎ'of*ɯqsR$/:崺sV7gr@Exw;D'p$T,( -:VkF\Ξ2YAR" YBd#ޓ~9K셁ԟk^?~dk,W3b>?̔ZI5ς#q )s#-s1L/7b'^cU]z:ՠJvE$hM~F2긦ه.^~JweC.:S:_2ovVPpΙ%J.@|R3 ",bq*ɺ:4}CtĤ(W'}eC>ۊ2VQ#V4BР% ud⢝m&$U:%K/OKՉN_u_jwy0ģ!RtՏj9o@5b`KDgEzSwꆇp^o=K8:L@n{YC]]U9ϝ$AD^Lg̚+"'qz,*ԓO?5A\{f:9F8JBbBu8Hs[^AN$aNY}r[b$ě)V<#a}ůª8MUL<s:k l&ChA`OsײLTuD3EO6'#$Q'6?o; |IcM[':TܞjFYE}qŎ‡7Dtr-ݺaѮ"94]yt7G?nyLZ٬wiFf- 9_?M'[IZZLQ9D!J$(,n/>:Ko`&, $d*iմᗕA# "n~]q. n1-Q1gۈsEzo]}&.ėkX7W/W%ͩ-R'0&A WT{UmٯY۷*RYD/ۏN4KA1?W݌5;"S?uo#r[vJ.N.GFbžBq?^f4r̳S[s8rcf0 bJ&fotijhQ)!Ebو5(@F@M $j6zgzކ_"H@L9.YʌUQ%mAh}7U|vIC)= Zq8ڶ0 IK*q3'J {M=b{كV1ĺ*Æ&u<ZpL,;t7\ڐFJ'V3 a ՝G錥WAH蕖 ]2%!84@q0܆[ ;"X;3T r2J⊶DkWHtD?[R=4x~,i\Cbf#.ưRmC]M5\c,6Ym*mg~EHlh`n4im8~! |mEjaNJ $;bFҿJ(=\ai@=i5Vժ,!~-#ĠÕiBy 7!JO&ҷQub0U F% '`BB}B%Î!lE\ `; ת!$r?vg>5B\uZd~Z$4xyFPOܷ0 i`pҪ>wty(}I4 e ljЀSJ ~шl5֤o©Z面BAa($"z$/ z^, ,GeVdɐ1e+Msɿ=iݖ ~hxL4%:0"&?W|ؗPڿo^.7e5NB. Yê~ףgg9g0zp=ٰ q]YQk~hWQmCUO?- 9;&xc~r9=i3tl_弒OX>[pL +ZoUH8 笲ͮA 0 ;LQvc!9"cV6͆ %y ͆ZZ*g85hC ^#$ZjZnRz6mX4]'[ÊN}/D}T@9[ |{x{5 yY . M@T5gZUjD$~z&"Ͱ^`uN'qREZfemކ(}jMw5\?ﮤ[_<@G0U8>T$''M[y*+>{2qD~WGq^up'n SSIA]m@PпM[n8Qyk X ˄Hq,]VgQ{5ؗ⩖?V8m)3͗gK2̓٪JaY";9{׽}Cǔ\Z֣D6N`g(8'{>_wWdi<'d+hgx"]|)B[3pyZ,K.B0 ?Ze,R÷./Y{O'jg 2T K]rE63,fk 'a78ax-O^Z4ۜtFr)7ŊeƳ4twSFLVA}2TeǸЪ]ؓ{h0ı^HVp)zj;Ifj$08Gu{7-ՎEReW ֈBA)ǃ4n*rYԝȫѡ6R Hh{9-w#" G rű]Q49WkZXGeWӑ+xWl-Kc,벺z C{}&nd,rju1bU0b!iIKL:IG`BCSJMX`oP#hK<rT җJbkL)^KC⚝k3ze٢?|X^XᔏQg>+J3\$=PUā%+jbH׵gmitVk0<ɇIϛhե,:n5QMi?d+b=3 eP27^69f.':M)h͛B-\ɭKRiKE&HU`Rx)Ig3}yҷY~K%b۩%lS}.[X3N6qwEA}|*,*D иPv1OAX%.OԵeB≙b][ҥm$ChC1W9b~g!93sKz_kǶ*Xg&uU|-i:b.S!VtUѭ.R\Sٓ*ҏȎ=UlAmZawt5"/ 9WьJu}GJJWrn)抲9[Fi4-tdTТґ[;{ UhPeJJ䪙aSCvܒ\@&D4"́C0AłG5d KgNH$f2T% #nbd*gZ8)I Wt; Nơ|\yũ^7F\dnm^G=3J2XukAH~"A).M)jȎt'5 kًj*ʴ/U:2Asz6*|GzmD5㐀GlɅvnJi\UNJp4zrO"2mNytb}ĉ'!g<ky}yؽbBMQZKST m !ފU<=ίҞ_8-&O/N(Zo6 *T~-qM!M9+iUMһxиF8rt= (D_ݺimsBiQDդ d8,cuKY9wa